diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java index ec12217c77a8..636af6dc3853 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java +++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoAppShell.java @@ -37,6 +37,7 @@ import org.mozilla.gecko.util.ProxySelector; import org.mozilla.gecko.util.StrictModeContext; import org.mozilla.gecko.util.ThreadUtils; import org.mozilla.geckoview.BuildConfig; +import org.mozilla.geckoview.R; import android.annotation.SuppressLint; import android.app.ActivityManager; @@ -74,6 +75,7 @@ import android.os.PowerManager; import android.os.Vibrator; import android.provider.Settings; import android.support.annotation.Nullable; +import android.support.v4.content.res.ResourcesCompat; import android.support.v4.util.SimpleArrayMap; import android.telephony.TelephonyManager; import android.text.TextUtils; @@ -1428,11 +1430,11 @@ public class GeckoAppShell { PackageManager pm = getApplicationContext().getPackageManager(); Drawable icon = getDrawableForExtension(pm, resolvedExt); if (icon == null) { - // Use a generic icon - icon = pm.getDefaultActivityIcon(); + // Use a generic icon. + icon = ResourcesCompat.getDrawable(getApplicationContext().getResources(), R.drawable.ic_generic_file, getApplicationContext().getTheme()); } - Bitmap bitmap = ((BitmapDrawable)icon).getBitmap(); + Bitmap bitmap = BitmapUtils.getBitmapFromDrawable(icon); if (bitmap.getWidth() != resolvedIconSize || bitmap.getHeight() != resolvedIconSize) { bitmap = Bitmap.createScaledBitmap(bitmap, resolvedIconSize, resolvedIconSize, true); } diff --git a/mobile/android/geckoview/src/main/res/drawable/ic_generic_file.xml b/mobile/android/geckoview/src/main/res/drawable/ic_generic_file.xml new file mode 100644 index 000000000000..53389fcc281e --- /dev/null +++ b/mobile/android/geckoview/src/main/res/drawable/ic_generic_file.xml @@ -0,0 +1,7 @@ + + + + + +