From 432eee0f839ae789401833e63b4175a4326c29bf Mon Sep 17 00:00:00 2001 From: Peter Serwylo Date: Fri, 7 Apr 2017 11:49:47 +1000 Subject: [PATCH] Force the build tools to generate .pngs for each vector. This results in a slightly larger apk (e.g. 500KiB), but it reduces the scope for bugs greatly. We still get all the benefits of only having to maintain a single density-independent vector (rather than several density dependent PNGs and all the work that involves). The class of bugs that it solves is that there are several places where vectors cannot be used, and you wont notice when developing on a device newer than 5.0. For example, notification icons, `TextView` and its `android:drawableStart` attribute. Fixes #913. --- app/build.gradle | 1 - app/src/main/java/org/fdroid/fdroid/FDroidApp.java | 5 ----- app/src/main/java/org/fdroid/fdroid/NotificationHelper.java | 3 +-- app/src/main/res/layout/activity_app_list.xml | 4 ++-- app/src/main/res/layout/donate_bitcoin.xml | 2 +- app/src/main/res/layout/donate_flattr.xml | 2 +- app/src/main/res/layout/donate_litecoin.xml | 2 +- app/src/main/res/layout/main_tab_swap.xml | 2 +- app/src/main/res/layout/share_header_item.xml | 2 +- app/src/main/res/layout/updateable_app_status_item.xml | 2 +- app/src/main/res/layout/updates_header.xml | 2 +- 11 files changed, 10 insertions(+), 17 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index b8aef3755..4bd235691 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -211,7 +211,6 @@ android { versionCode 103001 versionName getVersionName() testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - vectorDrawables.useSupportLibrary = true } testOptions { diff --git a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java index 49674fba3..4d78f0af9 100644 --- a/app/src/main/java/org/fdroid/fdroid/FDroidApp.java +++ b/app/src/main/java/org/fdroid/fdroid/FDroidApp.java @@ -37,7 +37,6 @@ import android.os.Build; import android.os.Environment; import android.os.StrictMode; import android.preference.PreferenceManager; -import android.support.v7.app.AppCompatDelegate; import android.text.TextUtils; import android.util.Log; import android.widget.Toast; @@ -79,10 +78,6 @@ import sun.net.www.protocol.bluetooth.Handler; ) public class FDroidApp extends Application { - static { - AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); - } - private static final String TAG = "FDroidApp"; public static final String SYSTEM_DIR_NAME = Environment.getRootDirectory().getAbsolutePath(); diff --git a/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java b/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java index 298f2e65d..59313f8eb 100644 --- a/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java +++ b/app/src/main/java/org/fdroid/fdroid/NotificationHelper.java @@ -12,7 +12,6 @@ import android.graphics.Point; import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.os.Build; -import android.support.graphics.drawable.VectorDrawableCompat; import android.support.v4.app.NotificationCompat; import android.support.v4.app.NotificationManagerCompat; import android.support.v4.content.ContextCompat; @@ -526,7 +525,7 @@ class NotificationHelper { if (entry.status == AppUpdateStatusManager.Status.Downloading || entry.status == AppUpdateStatusManager.Status.Installing) { Bitmap bitmap = Bitmap.createBitmap(largeIconSize.x, largeIconSize.y, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); - Drawable downloadIcon = VectorDrawableCompat.create(context.getResources(), R.drawable.ic_notification_download, context.getTheme()); + Drawable downloadIcon = ContextCompat.getDrawable(context, R.drawable.ic_notification_download); if (downloadIcon != null) { downloadIcon.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); downloadIcon.draw(canvas); diff --git a/app/src/main/res/layout/activity_app_list.xml b/app/src/main/res/layout/activity_app_list.xml index 0e3f2969b..8a4b5f53f 100644 --- a/app/src/main/res/layout/activity_app_list.xml +++ b/app/src/main/res/layout/activity_app_list.xml @@ -27,7 +27,7 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" - app:srcCompat="@drawable/ic_back_black_24dp" /> + android:src="@drawable/ic_back_black_24dp" /> + android:src="@drawable/ic_close_black_24dp" /> diff --git a/app/src/main/res/layout/donate_bitcoin.xml b/app/src/main/res/layout/donate_bitcoin.xml index 9e538fb8e..9beef29cb 100644 --- a/app/src/main/res/layout/donate_bitcoin.xml +++ b/app/src/main/res/layout/donate_bitcoin.xml @@ -8,5 +8,5 @@ android:layout_marginStart="12dp" android:layout_marginEnd="12dp" android:layout_marginRight="12dp" - app:srcCompat="@drawable/donation_option_bitcoin" + android:src="@drawable/donation_option_bitcoin" android:contentDescription="@string/menu_bitcoin" /> \ No newline at end of file diff --git a/app/src/main/res/layout/donate_flattr.xml b/app/src/main/res/layout/donate_flattr.xml index ad9092e77..aaf3631b9 100644 --- a/app/src/main/res/layout/donate_flattr.xml +++ b/app/src/main/res/layout/donate_flattr.xml @@ -8,5 +8,5 @@ android:layout_marginStart="12dp" android:layout_marginEnd="12dp" android:layout_marginRight="12dp" - app:srcCompat="@drawable/donation_option_flattr" + android:src="@drawable/donation_option_flattr" android:contentDescription="@string/menu_flattr" /> \ No newline at end of file diff --git a/app/src/main/res/layout/donate_litecoin.xml b/app/src/main/res/layout/donate_litecoin.xml index 7a84eb367..e9bba5956 100644 --- a/app/src/main/res/layout/donate_litecoin.xml +++ b/app/src/main/res/layout/donate_litecoin.xml @@ -4,5 +4,5 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="80dp" android:layout_height="20dp" - app:srcCompat="@drawable/donation_option_litecoin" + android:src="@drawable/donation_option_litecoin" android:contentDescription="@string/menu_litecoin" /> \ No newline at end of file diff --git a/app/src/main/res/layout/main_tab_swap.xml b/app/src/main/res/layout/main_tab_swap.xml index adc254e3e..616736ae2 100644 --- a/app/src/main/res/layout/main_tab_swap.xml +++ b/app/src/main/res/layout/main_tab_swap.xml @@ -56,7 +56,7 @@ android:id="@+id/image" android:layout_width="0dp" android:layout_height="0dp" - app:srcCompat="@drawable/nearby_splash" + android:src="@drawable/nearby_splash" android:importantForAccessibility="no" app:layout_constraintRight_toRightOf="parent" app:layout_constraintLeft_toLeftOf="parent" diff --git a/app/src/main/res/layout/share_header_item.xml b/app/src/main/res/layout/share_header_item.xml index daa2d000d..5ec578b95 100644 --- a/app/src/main/res/layout/share_header_item.xml +++ b/app/src/main/res/layout/share_header_item.xml @@ -19,7 +19,7 @@ android:layout_alignParentTop="true" android:scaleType="centerCrop" android:layout_gravity="center_horizontal" - app:srcCompat="@drawable/ic_nearby_share" + android:src="@drawable/ic_nearby_share" android:layout_marginRight="10dp" android:layout_marginEnd="10dp" /> diff --git a/app/src/main/res/layout/updateable_app_status_item.xml b/app/src/main/res/layout/updateable_app_status_item.xml index fa72957c3..2b2251e43 100644 --- a/app/src/main/res/layout/updateable_app_status_item.xml +++ b/app/src/main/res/layout/updateable_app_status_item.xml @@ -60,7 +60,7 @@ android:contentDescription="@string/cancel" android:layout_width="wrap_content" android:layout_height="wrap_content" - app:srcCompat="@drawable/ic_cancel" + android:src="@drawable/ic_cancel" android:background="@android:color/transparent" android:layout_marginEnd="16dp" android:layout_marginRight="16dp" diff --git a/app/src/main/res/layout/updates_header.xml b/app/src/main/res/layout/updates_header.xml index 35a871a4e..4cff7123f 100644 --- a/app/src/main/res/layout/updates_header.xml +++ b/app/src/main/res/layout/updates_header.xml @@ -24,7 +24,7 @@ android:id="@+id/button_download_all" android:layout_width="48dp" android:layout_height="48dp" - app:srcCompat="@drawable/ic_download_progress_0" + android:src="@drawable/ic_download_progress_0" android:layout_marginEnd="8dp" android:layout_marginRight="8dp" android:contentDescription="@string/updates__tts__download_updates_for_all_apps"