airbnb / airbnb/DeepLinkDispatch

Migration to androidX

Open
#302 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
4.4k
Forks
414
PR merge metrics
No merged PRs in 30d

Description

Previous situation, all the deeplinks working
Deeplink Version: 3.1.1
My project using Android Support : v7

After upgrading my entire project to androidX sometimes crashed, see below:
Deeplink Version: 5.2.0
My project now using androidX

Started to throw this crashes:

Exception: java.lang.IllegalArgumentException
android.os.Parcel.nativeAppendFrom (Parcel.java)
android.content.Intent.getExtras (Intent.java:5387)
com.airbnb.deeplinkdispatch.BaseDeepLinkDelegate.createResult (BaseDeepLinkDelegate.java:170)
com.airbnb.deeplinkdispatch.BaseDeepLinkDelegate.dispatchFrom (BaseDeepLinkDelegate.java:121)
com.airbnb.deeplinkdispatch.BaseDeepLinkDelegate.dispatchFrom (BaseDeepLinkDelegate.java:102)

```java
@DeepLinkHandler(AppDeepLinkModule.class)
public class HandlerDeepLinkActivity extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try{
DeepLinkDelegate deepLinkDelegate = new DeepLinkDelegate(new AppDeepLinkModuleRegistry());
deepLinkDelegate.dispatchFrom(this);
finish();
}catch (Exception e){
FirebaseCrashlytics.getInstance().recordException(e);
sendFailedAnswer();
}

}

**AndroidManifest.xml**
``






Contributor guide

Open the contributing guide

Research direction

Start at BaseDeepLinkDelegate.createResult and dispatchFrom, using HandlerDeepLinkActivity and its AndroidManifest.xml intent filter as the entry points. Reproduce the reported AndroidX migration crash with the shown deep link and inspect the Intent extras path; done means deep-link dispatch no longer throws the reported IllegalArgumentException.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.