From 2d6a45f82456de88c3ee0b10815c62963c5016d7 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Fri, 20 Jul 2018 03:35:15 +0200 Subject: [PATCH] fab: make icons always white With the new shade of blue, perhaps this simply looks better. I don't like hard coding the color away from the theme, however. Signed-off-by: Jason A. Donenfeld --- .../activity/ThemeChangeAwareActivity.java | 33 ------------------- .../widget/fab/FloatingActionsMenu.java | 2 +- ...dd_inverse.xml => ic_action_add_white.xml} | 2 +- ...t_inverse.xml => ic_action_edit_white.xml} | 2 +- ...n_inverse.xml => ic_action_open_white.xml} | 2 +- .../main/res/layout/tunnel_list_fragment.xml | 4 +-- 6 files changed, 6 insertions(+), 39 deletions(-) rename app/src/main/res/drawable/{ic_action_add_inverse.xml => ic_action_add_white.xml} (82%) rename app/src/main/res/drawable/{ic_action_edit_inverse.xml => ic_action_edit_white.xml} (87%) rename app/src/main/res/drawable/{ic_action_open_inverse.xml => ic_action_open_white.xml} (85%) diff --git a/app/src/main/java/com/wireguard/android/activity/ThemeChangeAwareActivity.java b/app/src/main/java/com/wireguard/android/activity/ThemeChangeAwareActivity.java index d85a0170..de8020f1 100644 --- a/app/src/main/java/com/wireguard/android/activity/ThemeChangeAwareActivity.java +++ b/app/src/main/java/com/wireguard/android/activity/ThemeChangeAwareActivity.java @@ -18,37 +18,6 @@ import com.wireguard.android.Application; import java.lang.reflect.Field; public abstract class ThemeChangeAwareActivity extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener { - private static final String TAG = "WireGuard/" + ThemeChangeAwareActivity.class.getSimpleName(); - - @Nullable private static Resources lastResources; - private static boolean lastDarkMode; - private static synchronized void invalidateDrawableCache(final Resources resources, final boolean darkMode) { - if (resources == lastResources && darkMode == lastDarkMode) - return; - - try { - Field f; - Object o = resources; - try { - f = o.getClass().getDeclaredField("mResourcesImpl"); - f.setAccessible(true); - o = f.get(o); - } catch (final Exception ignored) { } - f = o.getClass().getDeclaredField("mDrawableCache"); - f.setAccessible(true); - o = f.get(o); - try { - o.getClass().getMethod("onConfigurationChange", int.class).invoke(o, -1); - } catch (final Exception ignored) { - o.getClass().getMethod("clear").invoke(o); - } - } catch (final Exception e) { - Log.e(TAG, "Failed to flush drawable cache", e); - } - - lastResources = resources; - lastDarkMode = darkMode; - } @Override @@ -66,12 +35,10 @@ public abstract class ThemeChangeAwareActivity extends AppCompatActivity impleme @Override public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key) { if ("dark_theme".equals(key)) { - final boolean darkMode = sharedPreferences.getBoolean(key, false); AppCompatDelegate.setDefaultNightMode( sharedPreferences.getBoolean(key, false) ? AppCompatDelegate.MODE_NIGHT_YES : AppCompatDelegate.MODE_NIGHT_NO); - invalidateDrawableCache(getResources(), darkMode); recreate(); } } diff --git a/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java b/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java index 7ca6d976..e0a335d4 100644 --- a/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java +++ b/app/src/main/java/com/wireguard/android/widget/fab/FloatingActionsMenu.java @@ -112,7 +112,7 @@ public class FloatingActionsMenu extends ViewGroup { } private void createAddButton(final Context context) { - final RotatingDrawable rotatingDrawable = new RotatingDrawable(ResourcesCompat.getDrawable(context.getResources(), R.drawable.ic_action_add_inverse, context.getTheme())); + final RotatingDrawable rotatingDrawable = new RotatingDrawable(ResourcesCompat.getDrawable(context.getResources(), R.drawable.ic_action_add_white, context.getTheme())); mRotatingDrawable = rotatingDrawable; final TimeInterpolator interpolator = new OvershootInterpolator(); diff --git a/app/src/main/res/drawable/ic_action_add_inverse.xml b/app/src/main/res/drawable/ic_action_add_white.xml similarity index 82% rename from app/src/main/res/drawable/ic_action_add_inverse.xml rename to app/src/main/res/drawable/ic_action_add_white.xml index 571e70e7..0706462e 100644 --- a/app/src/main/res/drawable/ic_action_add_inverse.xml +++ b/app/src/main/res/drawable/ic_action_add_white.xml @@ -4,6 +4,6 @@ android:viewportHeight="24.0" android:viewportWidth="24.0"> diff --git a/app/src/main/res/drawable/ic_action_edit_inverse.xml b/app/src/main/res/drawable/ic_action_edit_white.xml similarity index 87% rename from app/src/main/res/drawable/ic_action_edit_inverse.xml rename to app/src/main/res/drawable/ic_action_edit_white.xml index f1324ffb..c1ce5043 100644 --- a/app/src/main/res/drawable/ic_action_edit_inverse.xml +++ b/app/src/main/res/drawable/ic_action_edit_white.xml @@ -4,6 +4,6 @@ android:viewportHeight="24" android:viewportWidth="24"> diff --git a/app/src/main/res/drawable/ic_action_open_inverse.xml b/app/src/main/res/drawable/ic_action_open_white.xml similarity index 85% rename from app/src/main/res/drawable/ic_action_open_inverse.xml rename to app/src/main/res/drawable/ic_action_open_white.xml index 9836107c..74648d14 100644 --- a/app/src/main/res/drawable/ic_action_open_inverse.xml +++ b/app/src/main/res/drawable/ic_action_open_white.xml @@ -4,6 +4,6 @@ android:viewportHeight="24" android:viewportWidth="24"> diff --git a/app/src/main/res/layout/tunnel_list_fragment.xml b/app/src/main/res/layout/tunnel_list_fragment.xml index 96b13b37..9de4e4d1 100644 --- a/app/src/main/res/layout/tunnel_list_fragment.xml +++ b/app/src/main/res/layout/tunnel_list_fragment.xml @@ -54,7 +54,7 @@ android:layout_height="wrap_content" android:onClick="@{fragment::onRequestCreateConfig}" app:fabSize="mini" - app:srcCompat="@drawable/ic_action_edit_inverse" + app:srcCompat="@drawable/ic_action_edit_white" app:fab_title="@string/create_empty" />