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 <Jason@zx2c4.com>
This commit is contained in:
parent
ed802336e6
commit
2d6a45f824
@ -18,37 +18,6 @@ import com.wireguard.android.Application;
|
|||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
|
|
||||||
public abstract class ThemeChangeAwareActivity extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
|
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
|
@Override
|
||||||
@ -66,12 +35,10 @@ public abstract class ThemeChangeAwareActivity extends AppCompatActivity impleme
|
|||||||
@Override
|
@Override
|
||||||
public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key) {
|
public void onSharedPreferenceChanged(final SharedPreferences sharedPreferences, final String key) {
|
||||||
if ("dark_theme".equals(key)) {
|
if ("dark_theme".equals(key)) {
|
||||||
final boolean darkMode = sharedPreferences.getBoolean(key, false);
|
|
||||||
AppCompatDelegate.setDefaultNightMode(
|
AppCompatDelegate.setDefaultNightMode(
|
||||||
sharedPreferences.getBoolean(key, false) ?
|
sharedPreferences.getBoolean(key, false) ?
|
||||||
AppCompatDelegate.MODE_NIGHT_YES :
|
AppCompatDelegate.MODE_NIGHT_YES :
|
||||||
AppCompatDelegate.MODE_NIGHT_NO);
|
AppCompatDelegate.MODE_NIGHT_NO);
|
||||||
invalidateDrawableCache(getResources(), darkMode);
|
|
||||||
recreate();
|
recreate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -112,7 +112,7 @@ public class FloatingActionsMenu extends ViewGroup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void createAddButton(final Context context) {
|
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;
|
mRotatingDrawable = rotatingDrawable;
|
||||||
|
|
||||||
final TimeInterpolator interpolator = new OvershootInterpolator();
|
final TimeInterpolator interpolator = new OvershootInterpolator();
|
||||||
|
@ -4,6 +4,6 @@
|
|||||||
android:viewportHeight="24.0"
|
android:viewportHeight="24.0"
|
||||||
android:viewportWidth="24.0">
|
android:viewportWidth="24.0">
|
||||||
<path
|
<path
|
||||||
android:fillColor="?android:attr/colorBackground"
|
android:fillColor="#ffffff"
|
||||||
android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
|
android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
|
||||||
</vector>
|
</vector>
|
@ -4,6 +4,6 @@
|
|||||||
android:viewportHeight="24"
|
android:viewportHeight="24"
|
||||||
android:viewportWidth="24">
|
android:viewportWidth="24">
|
||||||
<path
|
<path
|
||||||
android:fillColor="?android:attr/colorBackground"
|
android:fillColor="#ffffff"
|
||||||
android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z" />
|
android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z" />
|
||||||
</vector>
|
</vector>
|
@ -4,6 +4,6 @@
|
|||||||
android:viewportHeight="24"
|
android:viewportHeight="24"
|
||||||
android:viewportWidth="24">
|
android:viewportWidth="24">
|
||||||
<path
|
<path
|
||||||
android:fillColor="?android:attr/colorBackground"
|
android:fillColor="#ffffff"
|
||||||
android:pathData="M6,2c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2L18,22c1.1,0 2,-0.9 2,-2L20,8l-6,-6L6,2zM13,9L13,3.5L18.5,9L13,9z" />
|
android:pathData="M6,2c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2L18,22c1.1,0 2,-0.9 2,-2L20,8l-6,-6L6,2zM13,9L13,3.5L18.5,9L13,9z" />
|
||||||
</vector>
|
</vector>
|
@ -54,7 +54,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:onClick="@{fragment::onRequestCreateConfig}"
|
android:onClick="@{fragment::onRequestCreateConfig}"
|
||||||
app:fabSize="mini"
|
app:fabSize="mini"
|
||||||
app:srcCompat="@drawable/ic_action_edit_inverse"
|
app:srcCompat="@drawable/ic_action_edit_white"
|
||||||
app:fab_title="@string/create_empty" />
|
app:fab_title="@string/create_empty" />
|
||||||
|
|
||||||
<com.wireguard.android.widget.fab.LabeledFloatingActionButton
|
<com.wireguard.android.widget.fab.LabeledFloatingActionButton
|
||||||
@ -62,7 +62,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:onClick="@{fragment::onRequestImportConfig}"
|
android:onClick="@{fragment::onRequestImportConfig}"
|
||||||
app:srcCompat="@drawable/ic_action_open_inverse"
|
app:srcCompat="@drawable/ic_action_open_white"
|
||||||
app:fabSize="mini"
|
app:fabSize="mini"
|
||||||
app:fab_title="@string/create_from_file" />
|
app:fab_title="@string/create_from_file" />
|
||||||
</com.wireguard.android.widget.fab.FloatingActionsMenu>
|
</com.wireguard.android.widget.fab.FloatingActionsMenu>
|
||||||
|
Loading…
Reference in New Issue
Block a user