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(c):
```
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)
```
diff --git a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java
index 8516eb593..91a4f6eb9 100644
--- a/app/src/main/java/fr/free/nrw/commons/AboutActivity.java
+++ b/app/src/main/java/fr/free/nrw/commons/AboutActivity.java
@@ -1,12 +1,15 @@
 package fr.free.nrw.commons;
 
+import android.annotation.SuppressLint;
 import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
+import android.util.Log;
 import android.support.customtabs.CustomTabsIntent;
 import android.support.v4.content.ContextCompat;
 import android.view.View;
 import android.widget.TextView;
+import android.widget.Toast;
 
 import butterknife.BindView;
 import butterknife.ButterKnife;
@@ -14,6 +17,8 @@ import butterknife.OnClick;
 import fr.free.nrw.commons.theme.NavigationBaseActivity;
 import fr.free.nrw.commons.ui.widget.HtmlTextView;
 
+import static android.widget.Toast.LENGTH_SHORT;
+
 /**
  * Represents about screen of this app
  */
@@ -27,12 +32,12 @@ public class AboutActivity extends NavigationBaseActivity {
      * @param savedInstanceState Data bundle
      */
     @Override
+    @SuppressLint("StringFormatInvalid")
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_about);
 
         ButterKnife.bind(this);
-
         String aboutText = getString(R.string.about_license);
         aboutLicenseText.setHtmlText(aboutText);
 
@@ -42,35 +47,66 @@ public class AboutActivity extends NavigationBaseActivity {
 
     @OnClick(R.id.facebook_launch_icon)
     public void launchFacebook(View view) {
-
         Intent intent;
         try {
             intent = new Intent(Intent.ACTION_VIEW, Uri.parse("fb://page/" + "1921335171459985"));
             intent.setPackage("com.facebook.katana");
             startActivity(intent);
         } catch (Exception e) {
-            Utils.handleWebUrl(this,Uri.parse("https://www.facebook.com/" + "1921335171459985"));
+            intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.facebook.com/" + "1921335171459985\\"));
+            if(intent.resolveActivity(this.getPackageManager()) != null){
+                Utils.handleWebUrl(this,Uri.parse("https://www.facebook.com/" + "1921335171459985"));
+            } else {
+                Toast toast = Toast.makeText(this, getString(R.string.no_web_browser), LENGTH_SHORT);
+                toast.show();
+            }
         }
     }
 
     @OnClick(R.id.github_launch_icon)
     public void launchGithub(View view) {
-        Utils.handleWebUrl(this,Uri.parse("https://commons-app.github.io/\\"));
+        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/commons-app/apps-android-commons\\"));
+        //check if web browser available
+        if (browserIntent.resolveActivity(this.getPackageManager()) != null) {
+            Utils.handleWebUrl(this,Uri.parse("https://github.com/commons-app/apps-android-commons\\"));
+        } else {
+            Toast toast = Toast.makeText(this, getString(R.string.no_web_browser), LENGTH_SHORT);
+            toast.show();
+        }
     }
 
     @OnClick(R.id.website_launch_icon)
     public void launchWebsite(View view) {
-        Utils.handleWebUrl(this,Uri.parse("https://commons-app.github.io/\\"));
+        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://commons-app.github.io/\\"));
+        if (browserIntent.resolveActivity(this.getPackageManager()) != null) {
+            Utils.handleWebUrl(this,Uri.parse("https://commons-app.github.io/\\"));
+        } else {
+            Toast toast = Toast.makeText(this, getString(R.string.no_web_browser), LENGTH_SHORT);
+            toast.show();
+        }
     }
 
+  
     @OnClick(R.id.about_credits)
     public void launchCredits(View view) {
-        Utils.handleWebUrl(this,Uri.parse("https://github.com/commons-app/apps-android-commons/blob/master/CREDITS/\\"));
+        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/commons-app/apps-android-commons/blob/master/CREDITS/\\"));
+        if (browserIntent.resolveActivity(this.getPackageManager()) != null) {
+            Utils.handleWebUrl(this,Uri.parse("https://github.com/commons-app/apps-android-commons/blob/master/CREDITS/\\"));
+        } else {
+            Toast toast = Toast.makeText(this, getString(R.string.no_web_browser), LENGTH_SHORT);
+            toast.show();
+        }
     }
 
     @OnClick(R.id.about_privacy_policy)
     public void launchPrivacyPolicy(View view) {
-        Utils.handleWebUrl(this,Uri.parse("https://github.com/commons-app/apps-android-commons/wiki/Privacy-policy\\"));
+      Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/commons-app/apps-android-commons/wiki/Privacy-policy\\"));
+        if (browserIntent.resolveActivity(this.getPackageManager()) != null) {
+            Utils.handleWebUrl(this,Uri.parse("https://github.com/commons-app/apps-android-commons/wiki/Privacy-policy\\"));
+        } else {
+            Toast toast = Toast.makeText(this, getString(R.string.no_web_browser), LENGTH_SHORT);
+            toast.show();
+        }
     }
 
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java
index 70bf281dc..80d1c8783 100644
--- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java
+++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java
@@ -37,6 +37,8 @@ import fr.free.nrw.commons.location.LatLng;
 import fr.free.nrw.commons.ui.widget.CompatTextView;
 import timber.log.Timber;
 
+import static android.widget.Toast.LENGTH_SHORT;
+
 public class MediaDetailFragment extends CommonsDaggerSupportFragment {
 
     private boolean editable;
@@ -305,7 +307,13 @@ public class MediaDetailFragment extends CommonsDaggerSupportFragment {
                 Intent viewIntent = new Intent();
                 viewIntent.setAction(Intent.ACTION_VIEW);
                 viewIntent.setData(new PageTitle(selectedCategoryTitle).getCanonicalUri());
-                startActivity(viewIntent);
+                //check if web browser available
+                if(viewIntent.resolveActivity(getActivity().getPackageManager()) != null){
+                    startActivity(viewIntent);
+                } else {
+                    Toast toast = Toast.makeText(getContext(), getString(R.string.no_web_browser), LENGTH_SHORT);
+                    toast.show();
+                }
             });
         }
         return item;
@@ -385,7 +393,14 @@ public class MediaDetailFragment extends CommonsDaggerSupportFragment {
 
     private void openWebBrowser(String url) {
         Intent browser = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
-        startActivity(browser);
+        //check if web browser available
+        if (browser.resolveActivity(getActivity().getPackageManager()) != null) {
+            startActivity(browser);
+        } else {
+            Toast toast = Toast.makeText(getContext(), getString(R.string.no_web_browser), LENGTH_SHORT);
+            toast.show();
+        }
+
     }
 
     private void openMap(LatLng coordinates) {
diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java
index 3dd8d69e8..be7aea836 100644
--- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java
+++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java
@@ -24,6 +24,7 @@ import android.view.MenuInflater;
 import android.view.MenuItem;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.Toast;
 
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -40,6 +41,7 @@ import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
 import static android.content.Context.DOWNLOAD_SERVICE;
 import static android.content.Intent.ACTION_VIEW;
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
+import static android.widget.Toast.LENGTH_SHORT;
 
 public class MediaDetailPagerFragment extends CommonsDaggerSupportFragment implements ViewPager.OnPageChangeListener {
 
@@ -118,7 +120,14 @@ public class MediaDetailPagerFragment extends CommonsDaggerSupportFragment imple
                 Intent viewIntent = new Intent();
                 viewIntent.setAction(ACTION_VIEW);
                 viewIntent.setData(m.getFilePageTitle().getMobileUri());
-                startActivity(viewIntent);
+                //check if web browser available
+                if(viewIntent.resolveActivity(getActivity().getPackageManager()) != null){
+                    startActivity(viewIntent);
+                } else {
+                    Toast toast = Toast.makeText(getContext(), getString(R.string.no_web_browser), LENGTH_SHORT);
+                    toast.show();
+                }
+
                 return true;
             case R.id.menu_download_current_image:
                 // Download
diff --git a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java
index cdb9e97d3..663845384 100644
--- a/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java
+++ b/app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java
@@ -8,6 +8,7 @@ import android.os.Bundle;
 import android.support.v7.widget.DividerItemDecoration;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
+import android.widget.Toast;
 
 import com.pedrogomez.renderers.RVRendererAdapter;
 
@@ -25,6 +26,8 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
 import io.reactivex.schedulers.Schedulers;
 import timber.log.Timber;
 
+import static android.widget.Toast.LENGTH_SHORT;
+
 /**
  * Created by root on 18.12.2017.
  */
@@ -71,7 +74,14 @@ public class NotificationActivity extends NavigationBaseActivity {
         if (url == null || url.equals("")) {
             return;
         }
-        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
+        Intent browser = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
+        //check if web browser available
+        if(browser.resolveActivity(this.getPackageManager()) != null){
+            startActivity(browser);
+        } else {
+            Toast toast = Toast.makeText(this, getString(R.string.no_web_browser), LENGTH_SHORT);
+            toast.show();
+        }
     }
 
     private void setAdapter(List<Notification> notificationList) {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cf7052201..ccbc6a993 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -224,6 +224,7 @@
   <string name="login_to_your_account">Login to your account</string>
   <string name="send_log_file">Send log file</string>
   <string name="send_log_file_description">Send log file to developers via email</string>
+  <string name="no_web_browser">No web browser found to open URL</string>
   <string name="null_url">Error! URL not found</string>
 
   <string name="nearby_location_has_not_changed">Location has not changed.</string>
['app/src/main/java/fr/free/nrw/commons/notification/NotificationActivity.java', 'app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java', 'app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java', 'app/src/main/res/values/strings.xml', 'app/src/main/java/fr/free/nrw/commons/AboutActivity.java']