apps-android-commons: Crashes in v2.6.7
New contributors welcome - please mention the specific issue you are fixing (e.g. 1130(a)) in your pull request.
- 1130(a):
java.lang.SecurityException:
at android.os.Parcel.readException (Parcel.java:1599)
at android.os.Parcel.readException (Parcel.java:1552)
at android.app.ActivityManagerProxy.getContentProvider (ActivityManagerNative.java:3735)
at android.app.ActivityThread.acquireProvider (ActivityThread.java:5062)
at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider (ContextImpl.java:2023)
at android.content.ContentResolver.acquireUnstableProvider (ContentResolver.java:1517)
at android.content.ContentResolver.openTypedAssetFileDescriptor (ContentResolver.java:1121)
at android.content.ContentResolver.openAssetFileDescriptor (ContentResolver.java:958)
at android.content.ContentResolver.openInputStream (ContentResolver.java:678)
at fr.free.nrw.commons.upload.UploadService.uploadContribution (UploadService.java:188)
at fr.free.nrw.commons.upload.UploadService.handle (UploadService.java:131)
at fr.free.nrw.commons.upload.UploadService.handle (UploadService.java:41)
at fr.free.nrw.commons.HandlerService$ServiceHandler.handleMessage (HandlerService.java:26)
at android.os.Handler.dispatchMessage (Handler.java:111)
at android.os.Looper.loop (Looper.java:207)
at android.os.HandlerThread.run (HandlerThread.java:61)
- 1130(b):
java.lang.NullPointerException:
at android.net.Uri$StringUri.<init> (Uri.java:489)
at android.net.Uri$StringUri.<init> (Uri.java)
at android.net.Uri.parse (Uri.java:451)
at fr.free.nrw.commons.media.MediaDetailFragment.openWebBrowser (MediaDetailFragment.java:379)
at fr.free.nrw.commons.media.MediaDetailFragment.lambda$setOnClickListeners$0$MediaDetailFragment (MediaDetailFragment.java:275)
at fr.free.nrw.commons.media.MediaDetailFragment$$Lambda$1.onClick (Unknown Source)
at android.view.View.performClick (View.java:5612)
at android.view.View$PerformClick.run (View.java:22288)
at android.os.Handler.handleCallback (Handler.java:751)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6123)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:757)
- 1130©:
java.lang.SecurityException:
at android.os.Parcel.readException (Parcel.java:1942)
at android.os.Parcel.readException (Parcel.java:1888)
at android.app.IActivityManager$Stub$Proxy.getContentProvider (IActivityManager.java:5023)
at android.app.ActivityThread.acquireProvider (ActivityThread.java:6142)
at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider (ContextImpl.java:2546)
at android.content.ContentResolver.acquireUnstableProvider (ContentResolver.java:1909)
at android.content.ContentResolver.openTypedAssetFileDescriptor (ContentResolver.java:1433)
at android.content.ContentResolver.openAssetFileDescriptor (ContentResolver.java:1286)
at android.content.ContentResolver.openInputStream (ContentResolver.java:1006)
at fr.free.nrw.commons.upload.UploadService.uploadContribution (UploadService.java:188)
at fr.free.nrw.commons.upload.UploadService.handle (UploadService.java:131)
at fr.free.nrw.commons.upload.UploadService.handle (UploadService.java:41)
at fr.free.nrw.commons.HandlerService$ServiceHandler.handleMessage (HandlerService.java:26)
at android.os.Handler.dispatchMessage (Handler.java:105)
at android.os.Looper.loop (Looper.java:164)
at android.os.HandlerThread.run (HandlerThread.java:65)
- 1130(d):
java.lang.NullPointerException:
at fr.free.nrw.commons.upload.SingleUploadFragment.titleInfo (SingleUploadFragment.java:212)
at fr.free.nrw.commons.upload.SingleUploadFragment_ViewBinding$1.onTouch (SingleUploadFragment_ViewBinding.java:46)
at android.view.View.dispatchTouchEvent (View.java:9987)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent (PhoneWindow.java:2831)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1863)
at android.app.Activity.dispatchTouchEvent (Activity.java:3046)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:68)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:68)
at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent (PhoneWindow.java:2792)
at android.view.View.dispatchPointerEvent (View.java:10228)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:5344)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:5180)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4620)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4673)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4639)
at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:4781)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4647)
at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:4838)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4620)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4673)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4639)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4647)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4620)
at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:7306)
at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:7184)
at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:7145)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:7416)
at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce (Native Method)
at android.os.MessageQueue.next (MessageQueue.java:323)
at android.os.Looper.loop (Looper.java:143)
at android.app.ActivityThread.main (ActivityThread.java:7229)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)
- 1130(e):
java.lang.SecurityException:
at android.os.Parcel.readException (Parcel.java:1942)
at android.database.DatabaseUtils.readExceptionFromParcel (DatabaseUtils.java:183)
at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel (DatabaseUtils.java:146)
at android.content.ContentProviderProxy.openTypedAssetFile (ContentProviderNative.java:698)
at android.content.ContentResolver.openTypedAssetFileDescriptor (ContentResolver.java:1449)
at android.content.ContentResolver.openAssetFileDescriptor (ContentResolver.java:1286)
at android.content.ContentResolver.openInputStream (ContentResolver.java:1006)
at fr.free.nrw.commons.upload.UploadService.uploadContribution (UploadService.java:188)
at fr.free.nrw.commons.upload.UploadService.handle (UploadService.java:131)
at fr.free.nrw.commons.upload.UploadService.handle (UploadService.java:41)
at fr.free.nrw.commons.HandlerService$ServiceHandler.handleMessage (HandlerService.java:26)
at android.os.Handler.dispatchMessage (Handler.java:105)
at android.os.Looper.loop (Looper.java:164)
at android.os.HandlerThread.run (HandlerThread.java:65)
- 1130(f):
java.lang.NullPointerException:
at fr.free.nrw.commons.upload.SingleUploadFragment.descriptionInfo (SingleUploadFragment.java:229)
at fr.free.nrw.commons.upload.SingleUploadFragment_ViewBinding$2.onTouch (SingleUploadFragment_ViewBinding.java:55)
at android.view.View.dispatchTouchEvent (View.java:9987)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at android.view.ViewGroup.dispatchTransformedTouchEvent (ViewGroup.java:2839)
at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:2456)
at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent (PhoneWindow.java:2831)
at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent (PhoneWindow.java:1863)
at android.app.Activity.dispatchTouchEvent (Activity.java:3046)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:68)
at android.support.v7.view.WindowCallbackWrapper.dispatchTouchEvent (WindowCallbackWrapper.java:68)
at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent (PhoneWindow.java:2792)
at android.view.View.dispatchPointerEvent (View.java:10228)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent (ViewRootImpl.java:5344)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess (ViewRootImpl.java:5180)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4620)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4673)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4639)
at android.view.ViewRootImpl$AsyncInputStage.forward (ViewRootImpl.java:4781)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4647)
at android.view.ViewRootImpl$AsyncInputStage.apply (ViewRootImpl.java:4838)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4620)
at android.view.ViewRootImpl$InputStage.onDeliverToNext (ViewRootImpl.java:4673)
at android.view.ViewRootImpl$InputStage.forward (ViewRootImpl.java:4639)
at android.view.ViewRootImpl$InputStage.apply (ViewRootImpl.java:4647)
at android.view.ViewRootImpl$InputStage.deliver (ViewRootImpl.java:4620)
at android.view.ViewRootImpl.deliverInputEvent (ViewRootImpl.java:7306)
at android.view.ViewRootImpl.doProcessInputEvents (ViewRootImpl.java:7184)
at android.view.ViewRootImpl.enqueueInputEvent (ViewRootImpl.java:7145)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent (ViewRootImpl.java:7416)
at android.view.InputEventReceiver.dispatchInputEvent (InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce (Native Method)
at android.os.MessageQueue.next (MessageQueue.java:323)
at android.os.Looper.loop (Looper.java:143)
at android.app.ActivityThread.main (ActivityThread.java:7229)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)
- 1130(g):
java.lang.NumberFormatException:
at java.lang.Integer.parseInt (Integer.java:533)
at java.lang.Integer.parseInt (Integer.java:556)
at fr.free.nrw.commons.settings.SettingsFragment.lambda$onCreate$3$SettingsFragment (SettingsFragment.java:74)
at fr.free.nrw.commons.settings.SettingsFragment$$Lambda$2.onPreferenceChange (Unknown Source)
at android.preference.Preference.callChangeListener (Preference.java:949)
at android.preference.EditTextPreference.onDialogClosed (EditTextPreference.java:152)
at android.preference.DialogPreference.onDismiss (DialogPreference.java:414)
at android.app.Dialog$ListenersHandler.handleMessage (Dialog.java:1399)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6351)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:896)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:786)
- 1130(h):
java.lang.IllegalStateException:
at android.support.v4.view.ViewPager.populate (ViewPager.java:1135)
at android.support.v4.view.ViewPager.populate (ViewPager.java:1084)
at android.support.v4.view.ViewPager.onMeasure (ViewPager.java:1614)
at android.view.View.measure (View.java:20236)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6427)
at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical (LinearLayout.java:747)
at android.widget.LinearLayout.onMeasure (LinearLayout.java:629)
at android.view.View.measure (View.java:20236)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6427)
at android.widget.FrameLayout.onMeasure (FrameLayout.java:194)
at android.view.View.measure (View.java:20236)
at android.widget.RelativeLayout.measureChildHorizontal (RelativeLayout.java:716)
at android.widget.RelativeLayout.onMeasure (RelativeLayout.java:462)
at android.view.View.measure (View.java:20236)
at android.support.v4.widget.DrawerLayout.onMeasure (DrawerLayout.java:1060)
at android.view.View.measure (View.java:20236)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6427)
at android.widget.FrameLayout.onMeasure (FrameLayout.java:194)
at android.support.v7.widget.ContentFrameLayout.onMeasure (ContentFrameLayout.java:139)
at android.view.View.measure (View.java:20236)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6427)
at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical (LinearLayout.java:747)
at android.widget.LinearLayout.onMeasure (LinearLayout.java:629)
at android.view.View.measure (View.java:20236)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6427)
at android.widget.FrameLayout.onMeasure (FrameLayout.java:194)
at android.view.View.measure (View.java:20236)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6427)
at android.widget.LinearLayout.measureChildBeforeLayout (LinearLayout.java:1464)
at android.widget.LinearLayout.measureVertical (LinearLayout.java:747)
at android.widget.LinearLayout.onMeasure (LinearLayout.java:629)
at android.view.View.measure (View.java:20236)
at android.view.ViewGroup.measureChildWithMargins (ViewGroup.java:6427)
at android.widget.FrameLayout.onMeasure (FrameLayout.java:194)
at com.android.internal.policy.PhoneWindow$DecorView.onMeasure (PhoneWindow.java:3140)
at android.view.View.measure (View.java:20236)
at android.view.ViewRootImpl.performMeasure (ViewRootImpl.java:2712)
at android.view.ViewRootImpl.measureHierarchy (ViewRootImpl.java:1656)
at android.view.ViewRootImpl.performTraversals (ViewRootImpl.java:1948)
at android.view.ViewRootImpl.doTraversal (ViewRootImpl.java:1544)
at android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:7616)
at android.view.Choreographer$CallbackRecord.run (Choreographer.java:911)
at android.view.Choreographer.doCallbacks (Choreographer.java:686)
at android.view.Choreographer.doFrame (Choreographer.java:622)
at android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:897)
at android.os.Handler.handleCallback (Handler.java:739)
at android.os.Handler.dispatchMessage (Handler.java:95)
at android.os.Looper.loop (Looper.java:148)
at android.app.ActivityThread.main (ActivityThread.java:7406)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1120)
- 1130(i):
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2724)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2789)
at android.app.ActivityThread.-wrap12 (ActivityThread.java)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1527)
at android.os.Handler.dispatchMessage (Handler.java:110)
at android.os.Looper.loop (Looper.java:203)
at android.app.ActivityThread.main (ActivityThread.java:6251)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1075)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:936)
Caused by: android.os.BadParcelableException:
at android.os.Parcel.readParcelableCreator (Parcel.java:2535)
at android.os.Parcel.readParcelable (Parcel.java:2461)
at fr.free.nrw.commons.contributions.Contribution.<init> (Contribution.java:75)
at fr.free.nrw.commons.contributions.Contribution$1.createFromParcel (Contribution.java:21)
at fr.free.nrw.commons.contributions.Contribution$1.createFromParcel (Contribution.java:18)
at android.os.Parcel.readParcelable (Parcel.java:2470)
at android.os.Parcel.readValue (Parcel.java:2364)
at android.os.Parcel.readArrayMapInternal (Parcel.java:2717)
at android.os.BaseBundle.unparcel (BaseBundle.java:269)
at android.os.BaseBundle.getBoolean (BaseBundle.java:731)
at android.app.Activity.restoreHasCurrentPermissionRequest (Activity.java:6907)
at android.app.Activity.performCreate (Activity.java:6665)
at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2677)
- 1130(j):
android.view.WindowManager$BadTokenException:
at android.view.ViewRootImpl.setView (ViewRootImpl.java:690)
at android.view.WindowManagerGlobal.addView (WindowManagerGlobal.java:342)
at android.view.WindowManagerImpl.addView (WindowManagerImpl.java:93)
at android.app.Dialog.show (Dialog.java:316)
at fr.free.nrw.commons.upload.ExistingFileAsync.onPostExecute (ExistingFileAsync.java:84)
at fr.free.nrw.commons.upload.ExistingFileAsync.onPostExecute (ExistingFileAsync.java:19)
at android.os.AsyncTask.finish (AsyncTask.java:660)
at android.os.AsyncTask.-wrap1 (AsyncTask.java)
at android.os.AsyncTask$InternalHandler.handleMessage (AsyncTask.java:677)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6123)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:867)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:757)
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 23 (15 by maintainers)
Commits related to this issue
- issue #1130 (b) — committed to hismaeel/apps-android-commons by hismaeel 6 years ago
- issue #1130 (b) — committed to hismaeel/apps-android-commons by hismaeel 6 years ago
- issue #1130 (b) — committed to hismaeel/apps-android-commons by hismaeel 6 years ago
- issue #1130 (b) — committed to hismaeel/apps-android-commons by hismaeel 6 years ago
- issue #1130 -(j). bad Token Exception from showDialog() in ExistingFileAsync — committed to hismaeel/apps-android-commons by hismaeel 6 years ago
- Merge pull request #1174 from hismaeel/1130(b) issue #1130 (b) — committed to commons-app/apps-android-commons by neslihanturan 6 years ago
- Merge pull request #1209 from hismaeel/1130(j) issue #1130 -(j). bad Token Exception from showDialog() in ExistingFi… — committed to commons-app/apps-android-commons by neslihanturan 6 years ago
@misaochan @nicolas-raoul This is somewhat funny; I had disabled my web browser because I was using it a lot at bedtime. That’s why I was getting a “No Activity Found” exception because there was no browser to open the URL. The documentation for Intent actually reads this
> Caution: If there are no apps on the device that can receive the implicit intent, your app will crash when it calls startActivity()
Handling this is standard and good practice; check for null activity using the code in my previous reply. Throw a toast message that reads, “no app found to open URL”. Also, I toured the app and this crash is now in the links in Tutorial page, clicking Categories, clicking “view in browser”, some clicks in notification settings, etc. I’ve created a separate issue and have started working on it 😃
@nicolas-raoul As for the issue above 1130(b), for some mysterious reason that user did get a null URL. Also, can’t know where that click originates from, as trace says “unknown source”. Now that we know it’s not the issue I had, the only choice left is to check for a null URL as well in openWebBrowser(url). I think it’ll be good practice. If null, we can throw a toast, “error, no URL found”.
Thanks for the advice, @psh ! I wonder if we should split this up into individual tasks (probably no need to create separate issues, we can just add headers e.g. 1130(a), 1130(b) etc) and make this beginner-friendly? Fixing these could be good microtasks for potential GSoC/Outreachy applicants.
The number format exception in Settings Fragment stems from
My guess is that we have an empty string as our “new value” and it’s blowing up.
A couple of lines above we as for a value and default to 100 if no value was present in shared preferences. I believe a try/catch around the number parsing, and cleaning up line 88 which could use the local variable rather than parsing a second time, would address things.