airbnb / airbnb/DeepLinkDispatch
Migration to androidX
- 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
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