diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index 58c274c13b..34aab4169d 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -70,6 +70,7 @@ import org.thoughtcrime.securesms.service.RotateSenderCertificateListener; import org.thoughtcrime.securesms.service.RotateSignedPreKeyListener; import org.thoughtcrime.securesms.service.UpdateApkRefreshListener; import org.thoughtcrime.securesms.storage.StorageSyncHelper; +import org.thoughtcrime.securesms.util.DynamicTheme; import org.thoughtcrime.securesms.util.FeatureFlags; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.Util; @@ -146,6 +147,9 @@ public class ApplicationContext extends MultiDexApplication implements DefaultLi } ApplicationDependencies.getJobManager().beginJobLoop(); + + DynamicTheme.setDefaultDayNightMode(this); + Log.d(TAG, "onCreate() took " + (System.currentTimeMillis() - startTime) + " ms"); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java b/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java index e8ac440acb..60b5368cf3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/ApplicationPreferencesActivity.java @@ -18,7 +18,6 @@ package org.thoughtcrime.securesms; import android.app.AlertDialog; -import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.PorterDuff; @@ -29,7 +28,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentTransaction; import androidx.preference.Preference; import org.thoughtcrime.securesms.help.HelpFragment; @@ -139,6 +137,7 @@ public class ApplicationPreferencesActivity extends PassphraseRequiredActivity @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (key.equals(TextSecurePreferences.THEME_PREF)) { + DynamicTheme.setDefaultDayNightMode(this); recreate(); } else if (key.equals(TextSecurePreferences.LANGUAGE_PREF)) { recreate(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/CachedInflater.java b/app/src/main/java/org/thoughtcrime/securesms/util/CachedInflater.java index d4f3c2973d..78505f71cb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/CachedInflater.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/CachedInflater.java @@ -11,7 +11,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.asynclayoutinflater.view.AsyncLayoutInflater; -import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.logging.Log; import java.util.Collections; @@ -51,7 +50,7 @@ public class CachedInflater { @MainThread @SuppressWarnings("unchecked") public V inflate(@LayoutRes int layoutRes, @Nullable ViewGroup parent, boolean attachToRoot) { - View cached = ViewCache.getInstance().pull(layoutRes); + View cached = ViewCache.getInstance().pull(layoutRes, ContextUtil.getNightModeConfiguration(context)); if (cached != null) { if (parent != null && attachToRoot) { parent.addView(cached); @@ -87,12 +86,20 @@ public class CachedInflater { private long lastClearTime; + private int nightModeConfiguration; + static ViewCache getInstance() { return INSTANCE; } @MainThread - void cacheUntilLimit(Context context, @LayoutRes int layoutRes, @Nullable ViewGroup parent, int limit) { + void cacheUntilLimit(@NonNull Context context, @LayoutRes int layoutRes, @Nullable ViewGroup parent, int limit) { + int currentNightModeConfiguration = ContextUtil.getNightModeConfiguration(context); + if (nightModeConfiguration != currentNightModeConfiguration) { + clear(); + nightModeConfiguration = currentNightModeConfiguration; + } + AsyncLayoutInflater inflater = new AsyncLayoutInflater(context); int existingCount = Util.getOrDefault(cache, layoutRes, Collections.emptyList()).size(); @@ -118,7 +125,12 @@ public class CachedInflater { } @MainThread - @Nullable View pull(@LayoutRes int layoutRes) { + @Nullable View pull(@LayoutRes int layoutRes, int nightModeConfiguration) { + if (this.nightModeConfiguration != nightModeConfiguration) { + clear(); + return null; + } + List views = cache.get(layoutRes); return views != null && !views.isEmpty() ? views.remove(0) : null; diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/ContextUtil.java b/app/src/main/java/org/thoughtcrime/securesms/util/ContextUtil.java index 3d7ce0e4ec..4277b50362 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/ContextUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/ContextUtil.java @@ -1,6 +1,7 @@ package org.thoughtcrime.securesms.util; import android.content.Context; +import android.content.res.Configuration; import android.graphics.drawable.Drawable; import androidx.annotation.DrawableRes; @@ -15,4 +16,8 @@ public final class ContextUtil { public static @NonNull Drawable requireDrawable(@NonNull Context context, @DrawableRes int drawable) { return Objects.requireNonNull(ContextCompat.getDrawable(context, drawable)); } + + public static int getNightModeConfiguration(@NonNull Context context) { + return context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; + } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicDarkActionBarTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicDarkActionBarTheme.java index 3c68c31c28..fbe77ba7da 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicDarkActionBarTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicDarkActionBarTheme.java @@ -6,11 +6,7 @@ import org.thoughtcrime.securesms.R; public class DynamicDarkActionBarTheme extends DynamicTheme { - protected @StyleRes int getLightThemeStyle() { - return R.style.TextSecure_LightTheme_Conversation; - } - - protected @StyleRes int getDarkThemeStyle() { - return R.style.TextSecure_DarkTheme_Conversation; + protected @StyleRes int getTheme() { + return R.style.Signal_DayNight_DarkActionBar; } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicDarkToolbarTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicDarkToolbarTheme.java index 213b58f219..b66255b2fe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicDarkToolbarTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicDarkToolbarTheme.java @@ -6,11 +6,7 @@ import org.thoughtcrime.securesms.R; public class DynamicDarkToolbarTheme extends DynamicTheme { - protected @StyleRes int getLightThemeStyle() { - return R.style.TextSecure_LightNoActionBar_DarkToolbar; - } - - protected @StyleRes int getDarkThemeStyle() { - return R.style.TextSecure_DarkNoActionBar_DarkToolbar; + protected @StyleRes int getTheme() { + return R.style.Signal_DayNight_DarkNoActionBar; } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicIntroTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicIntroTheme.java index 551e997a7b..889538ead8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicIntroTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicIntroTheme.java @@ -6,11 +6,7 @@ import org.thoughtcrime.securesms.R; public class DynamicIntroTheme extends DynamicTheme { - protected @StyleRes int getLightThemeStyle() { - return R.style.TextSecure_LightIntroTheme; - } - - protected @StyleRes int getDarkThemeStyle() { - return R.style.TextSecure_DarkIntroTheme; + protected @StyleRes int getTheme() { + return R.style.Signal_DayNight_IntroTheme; } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarInviteTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarInviteTheme.java index dd8227d151..c5999d5aad 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarInviteTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarInviteTheme.java @@ -6,11 +6,7 @@ import org.thoughtcrime.securesms.R; public class DynamicNoActionBarInviteTheme extends DynamicTheme { - protected @StyleRes int getLightThemeStyle() { - return R.style.Signal_Light_NoActionBar_Invite; - } - - protected @StyleRes int getDarkThemeStyle() { - return R.style.Signal_NoActionBar_Invite; + protected @StyleRes int getTheme() { + return R.style.Signal_DayNight_Invite; } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java index e4b56125e7..53e27e72a5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicNoActionBarTheme.java @@ -6,11 +6,7 @@ import org.thoughtcrime.securesms.R; public class DynamicNoActionBarTheme extends DynamicTheme { - protected @StyleRes int getLightThemeStyle() { - return R.style.TextSecure_LightNoActionBar; - } - - protected @StyleRes int getDarkThemeStyle() { - return R.style.TextSecure_DarkNoActionBar; + protected @StyleRes int getTheme() { + return R.style.Signal_DayNight_NoActionBar; } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java index 6425b7b6a2..f5d5f07b68 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicRegistrationTheme.java @@ -6,11 +6,7 @@ import org.thoughtcrime.securesms.R; public class DynamicRegistrationTheme extends DynamicTheme { - protected @StyleRes int getLightThemeStyle() { - return R.style.TextSecure_LightRegistrationTheme; - } - - protected @StyleRes int getDarkThemeStyle() { - return R.style.TextSecure_DarkRegistrationTheme; + protected @StyleRes int getTheme() { + return R.style.Signal_DayNight_Registration; } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java index 59cbbb0c8b..e9fdc7b789 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/DynamicTheme.java @@ -2,12 +2,12 @@ package org.thoughtcrime.securesms.util; import android.app.Activity; import android.content.Context; -import android.content.Intent; import android.content.res.Configuration; import android.os.Build; import androidx.annotation.NonNull; import androidx.annotation.StyleRes; +import androidx.appcompat.app.AppCompatDelegate; import org.thoughtcrime.securesms.R; @@ -17,54 +17,51 @@ public class DynamicTheme { public static final String LIGHT = "light"; public static final String SYSTEM = "system"; - private static boolean isDarkTheme; + private static int globalNightModeConfiguration; - private int currentTheme; + private int onCreateNightModeConfiguration; - public void onCreate(Activity activity) { - boolean wasDarkTheme = isDarkTheme; + public void onCreate(@NonNull Activity activity) { + int previousGlobalConfiguration = globalNightModeConfiguration; - currentTheme = getSelectedTheme(activity); - isDarkTheme = isDarkTheme(activity); + onCreateNightModeConfiguration = ContextUtil.getNightModeConfiguration(activity); + globalNightModeConfiguration = onCreateNightModeConfiguration; - activity.setTheme(currentTheme); + activity.setTheme(getTheme()); - if (isDarkTheme != wasDarkTheme) { + if (previousGlobalConfiguration != globalNightModeConfiguration) { CachedInflater.from(activity).clear(); } } - public void onResume(Activity activity) { - if (currentTheme != getSelectedTheme(activity)) { - Intent intent = activity.getIntent(); - activity.finish(); - OverridePendingTransition.invoke(activity); - activity.startActivity(intent); - OverridePendingTransition.invoke(activity); + public void onResume(@NonNull Activity activity) { + if (onCreateNightModeConfiguration != ContextUtil.getNightModeConfiguration(activity)) { CachedInflater.from(activity).clear(); } } - private @StyleRes int getSelectedTheme(Activity activity) { - if (isDarkTheme(activity)) { - return getDarkThemeStyle(); - } else { - return getLightThemeStyle(); - } - } - - protected @StyleRes int getLightThemeStyle() { - return R.style.TextSecure_LightTheme; - } - - protected @StyleRes int getDarkThemeStyle() { - return R.style.TextSecure_DarkTheme; + protected @StyleRes int getTheme() { + return R.style.Signal_DayNight; } public static boolean systemThemeAvailable() { return Build.VERSION.SDK_INT >= 29; } + public static void setDefaultDayNightMode(@NonNull Context context) { + String theme = TextSecurePreferences.getTheme(context); + + if (theme.equals(SYSTEM)) { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); + } else if (DynamicTheme.isDarkTheme(context)) { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); + } else { + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); + } + + CachedInflater.from(context).clear(); + } + /** * Takes the system theme into account. */ @@ -81,10 +78,4 @@ public class DynamicTheme { private static boolean isSystemInDarkTheme(@NonNull Context context) { return (context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES; } - - private static final class OverridePendingTransition { - static void invoke(Activity activity) { - activity.overridePendingTransition(0, 0); - } - } } diff --git a/app/src/main/res/drawable-hdpi/ic_add_white_24dp.webp b/app/src/main/res/drawable-hdpi/ic_add_white_24dp.webp deleted file mode 100644 index 544145e9fe..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_add_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_image_dark.webp b/app/src/main/res/drawable-hdpi/ic_image_dark.webp deleted file mode 100644 index 409bdd877e..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_image_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_image_light.webp b/app/src/main/res/drawable-hdpi/ic_image_light.webp deleted file mode 100644 index 3fe4d122ad..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_image_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_lock_white_18dp.webp b/app/src/main/res/drawable-hdpi/ic_lock_white_18dp.webp deleted file mode 100644 index 6a8f6ae66c..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_lock_white_18dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_movie_creation_dark.webp b/app/src/main/res/drawable-hdpi/ic_movie_creation_dark.webp deleted file mode 100644 index f1ea181140..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_movie_creation_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_movie_creation_light.webp b/app/src/main/res/drawable-hdpi/ic_movie_creation_light.webp deleted file mode 100644 index c013ff1a2f..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_movie_creation_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.webp b/app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.webp deleted file mode 100644 index e2a619291a..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_unlocked_white_24dp.webp b/app/src/main/res/drawable-hdpi/ic_unlocked_white_24dp.webp deleted file mode 100644 index b1b27900d1..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_unlocked_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_volume_up_dark.webp b/app/src/main/res/drawable-hdpi/ic_volume_up_dark.webp deleted file mode 100644 index b1c9c8d23f..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_volume_up_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/ic_volume_up_light.webp b/app/src/main/res/drawable-hdpi/ic_volume_up_light.webp deleted file mode 100644 index 408d41225f..0000000000 Binary files a/app/src/main/res/drawable-hdpi/ic_volume_up_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/lockscreen_watermark_dark.webp b/app/src/main/res/drawable-hdpi/lockscreen_watermark_dark.webp deleted file mode 100644 index a515c34fbf..0000000000 Binary files a/app/src/main/res/drawable-hdpi/lockscreen_watermark_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-hdpi/lockscreen_watermark_light.webp b/app/src/main/res/drawable-hdpi/lockscreen_watermark_light.webp deleted file mode 100644 index f6decc8f6b..0000000000 Binary files a/app/src/main/res/drawable-hdpi/lockscreen_watermark_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_add_white_24dp.webp b/app/src/main/res/drawable-mdpi/ic_add_white_24dp.webp deleted file mode 100644 index e675e02524..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_add_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_image_dark.webp b/app/src/main/res/drawable-mdpi/ic_image_dark.webp deleted file mode 100644 index c55b1da2af..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_image_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_image_light.webp b/app/src/main/res/drawable-mdpi/ic_image_light.webp deleted file mode 100644 index 01e5e478e4..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_image_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_lock_white_18dp.webp b/app/src/main/res/drawable-mdpi/ic_lock_white_18dp.webp deleted file mode 100644 index c25a04277b..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_lock_white_18dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_movie_creation_dark.webp b/app/src/main/res/drawable-mdpi/ic_movie_creation_dark.webp deleted file mode 100644 index 9985f13268..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_movie_creation_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_movie_creation_light.webp b/app/src/main/res/drawable-mdpi/ic_movie_creation_light.webp deleted file mode 100644 index 905ed61fd1..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_movie_creation_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.webp b/app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.webp deleted file mode 100644 index f0460d00dd..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_unlocked_white_24dp.webp b/app/src/main/res/drawable-mdpi/ic_unlocked_white_24dp.webp deleted file mode 100644 index 848e611609..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_unlocked_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_volume_up_dark.webp b/app/src/main/res/drawable-mdpi/ic_volume_up_dark.webp deleted file mode 100644 index 642f3f96f4..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_volume_up_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/ic_volume_up_light.webp b/app/src/main/res/drawable-mdpi/ic_volume_up_light.webp deleted file mode 100644 index 887a7f91d5..0000000000 Binary files a/app/src/main/res/drawable-mdpi/ic_volume_up_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/lockscreen_watermark_dark.webp b/app/src/main/res/drawable-mdpi/lockscreen_watermark_dark.webp deleted file mode 100644 index d56efd0ed0..0000000000 Binary files a/app/src/main/res/drawable-mdpi/lockscreen_watermark_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-mdpi/lockscreen_watermark_light.webp b/app/src/main/res/drawable-mdpi/lockscreen_watermark_light.webp deleted file mode 100644 index 9b184a4f96..0000000000 Binary files a/app/src/main/res/drawable-mdpi/lockscreen_watermark_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.webp b/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.webp deleted file mode 100644 index 891482b931..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_image_dark.webp b/app/src/main/res/drawable-xhdpi/ic_image_dark.webp deleted file mode 100644 index 8180bc3bfa..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_image_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_image_light.webp b/app/src/main/res/drawable-xhdpi/ic_image_light.webp deleted file mode 100644 index 35388357e8..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_image_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_lock_white_18dp.webp b/app/src/main/res/drawable-xhdpi/ic_lock_white_18dp.webp deleted file mode 100644 index 45623d6280..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_lock_white_18dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_movie_creation_dark.webp b/app/src/main/res/drawable-xhdpi/ic_movie_creation_dark.webp deleted file mode 100644 index 6ecda642ca..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_movie_creation_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_movie_creation_light.webp b/app/src/main/res/drawable-xhdpi/ic_movie_creation_light.webp deleted file mode 100644 index 617f16530d..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_movie_creation_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.webp b/app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.webp deleted file mode 100644 index 1f852c6af9..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_unlocked_white_24dp.webp b/app/src/main/res/drawable-xhdpi/ic_unlocked_white_24dp.webp deleted file mode 100644 index 186986f997..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_unlocked_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_volume_up_dark.webp b/app/src/main/res/drawable-xhdpi/ic_volume_up_dark.webp deleted file mode 100644 index 29e78839cc..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_volume_up_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/ic_volume_up_light.webp b/app/src/main/res/drawable-xhdpi/ic_volume_up_light.webp deleted file mode 100644 index 5747612dec..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/ic_volume_up_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/lockscreen_watermark_dark.webp b/app/src/main/res/drawable-xhdpi/lockscreen_watermark_dark.webp deleted file mode 100644 index a6c2c38006..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/lockscreen_watermark_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xhdpi/lockscreen_watermark_light.webp b/app/src/main/res/drawable-xhdpi/lockscreen_watermark_light.webp deleted file mode 100644 index cab573cc8f..0000000000 Binary files a/app/src/main/res/drawable-xhdpi/lockscreen_watermark_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.webp b/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.webp deleted file mode 100644 index 9b385a25e1..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_image_dark.webp b/app/src/main/res/drawable-xxhdpi/ic_image_dark.webp deleted file mode 100644 index 6f57efaac1..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_image_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_image_light.webp b/app/src/main/res/drawable-xxhdpi/ic_image_light.webp deleted file mode 100644 index 80ee612f46..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_image_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_lock_white_18dp.webp b/app/src/main/res/drawable-xxhdpi/ic_lock_white_18dp.webp deleted file mode 100644 index 1d3648e75b..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_lock_white_18dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_movie_creation_dark.webp b/app/src/main/res/drawable-xxhdpi/ic_movie_creation_dark.webp deleted file mode 100644 index 4f72b19249..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_movie_creation_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_movie_creation_light.webp b/app/src/main/res/drawable-xxhdpi/ic_movie_creation_light.webp deleted file mode 100644 index 1eb7b768c4..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_movie_creation_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.webp b/app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.webp deleted file mode 100644 index 92453fb617..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_unlocked_white_24dp.webp b/app/src/main/res/drawable-xxhdpi/ic_unlocked_white_24dp.webp deleted file mode 100644 index 7ce9331700..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_unlocked_white_24dp.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_volume_up_dark.webp b/app/src/main/res/drawable-xxhdpi/ic_volume_up_dark.webp deleted file mode 100644 index 712bb1cc91..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_volume_up_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_volume_up_light.webp b/app/src/main/res/drawable-xxhdpi/ic_volume_up_light.webp deleted file mode 100644 index c231717804..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_volume_up_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/lockscreen_watermark_dark.webp b/app/src/main/res/drawable-xxhdpi/lockscreen_watermark_dark.webp deleted file mode 100644 index a4e911c862..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/lockscreen_watermark_dark.webp and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/lockscreen_watermark_light.webp b/app/src/main/res/drawable-xxhdpi/lockscreen_watermark_light.webp deleted file mode 100644 index 040821ca00..0000000000 Binary files a/app/src/main/res/drawable-xxhdpi/lockscreen_watermark_light.webp and /dev/null differ diff --git a/app/src/main/res/drawable/clickable_card_dark.xml b/app/src/main/res/drawable/clickable_card_dark.xml deleted file mode 100644 index 5828c14065..0000000000 --- a/app/src/main/res/drawable/clickable_card_dark.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/clickable_card_light.xml b/app/src/main/res/drawable/clickable_card_light.xml deleted file mode 100644 index 38211ea6e2..0000000000 --- a/app/src/main/res/drawable/clickable_card_light.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/contact_list_divider_dark.xml b/app/src/main/res/drawable/contact_list_divider_dark.xml deleted file mode 100644 index 09a9f2470f..0000000000 --- a/app/src/main/res/drawable/contact_list_divider_dark.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/contact_list_divider_light.xml b/app/src/main/res/drawable/contact_list_divider_light.xml deleted file mode 100644 index 6157621fed..0000000000 --- a/app/src/main/res/drawable/contact_list_divider_light.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/conversation_item_sent_indicator_text_shape.xml b/app/src/main/res/drawable/conversation_item_sent_indicator_text_shape.xml deleted file mode 100644 index 59da5934aa..0000000000 --- a/app/src/main/res/drawable/conversation_item_sent_indicator_text_shape.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/conversation_item_sent_indicator_text_shape_dark.xml b/app/src/main/res/drawable/conversation_item_sent_indicator_text_shape_dark.xml deleted file mode 100644 index d02a391561..0000000000 --- a/app/src/main/res/drawable/conversation_item_sent_indicator_text_shape_dark.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/conversation_list_divider_shape.xml b/app/src/main/res/drawable/conversation_list_divider_shape.xml deleted file mode 100644 index 0581817d13..0000000000 --- a/app/src/main/res/drawable/conversation_list_divider_shape.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/app/src/main/res/drawable/conversation_list_divider_shape_dark.xml b/app/src/main/res/drawable/conversation_list_divider_shape_dark.xml deleted file mode 100644 index 425c926052..0000000000 --- a/app/src/main/res/drawable/conversation_list_divider_shape_dark.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/app/src/main/res/drawable/ic_keyboard_outline_contact_filter_24.xml b/app/src/main/res/drawable/ic_keyboard_outline_contact_filter_24.xml deleted file mode 100644 index 2f8defd764..0000000000 --- a/app/src/main/res/drawable/ic_keyboard_outline_contact_filter_24.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_keyboard_solid_contact_filter_24.xml b/app/src/main/res/drawable/ic_keyboard_solid_contact_filter_24.xml deleted file mode 100644 index 087b44f1b3..0000000000 --- a/app/src/main/res/drawable/ic_keyboard_solid_contact_filter_24.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_message_outline_tinted_24.xml b/app/src/main/res/drawable/ic_message_outline_tinted_24.xml deleted file mode 100644 index 5b9b175dfb..0000000000 --- a/app/src/main/res/drawable/ic_message_outline_tinted_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_message_solid_tinted_24.xml b/app/src/main/res/drawable/ic_message_solid_tinted_24.xml deleted file mode 100644 index 7aa9ae47be..0000000000 --- a/app/src/main/res/drawable/ic_message_solid_tinted_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_phone_right_outline_tinted_24.xml b/app/src/main/res/drawable/ic_phone_right_outline_tinted_24.xml deleted file mode 100644 index 6e3c562206..0000000000 --- a/app/src/main/res/drawable/ic_phone_right_outline_tinted_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_phone_right_solid_tinted_24.xml b/app/src/main/res/drawable/ic_phone_right_solid_tinted_24.xml deleted file mode 100644 index 956d34e4b1..0000000000 --- a/app/src/main/res/drawable/ic_phone_right_solid_tinted_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_safety_number_outline_24.xml b/app/src/main/res/drawable/ic_safety_number_outline_24.xml deleted file mode 100644 index efea29523e..0000000000 --- a/app/src/main/res/drawable/ic_safety_number_outline_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/ic_safety_number_solid_24.xml b/app/src/main/res/drawable/ic_safety_number_solid_24.xml deleted file mode 100644 index 35802774de..0000000000 --- a/app/src/main/res/drawable/ic_safety_number_solid_24.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/src/main/res/drawable/import_export_item_background_dark.xml b/app/src/main/res/drawable/import_export_item_background_dark.xml deleted file mode 100644 index e540e52ed9..0000000000 --- a/app/src/main/res/drawable/import_export_item_background_dark.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/import_export_item_background_light.xml b/app/src/main/res/drawable/import_export_item_background_light.xml deleted file mode 100644 index 87fa2dd8ed..0000000000 --- a/app/src/main/res/drawable/import_export_item_background_light.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/app/src/main/res/drawable/insight_modal_background.xml b/app/src/main/res/drawable/insight_modal_background.xml new file mode 100644 index 0000000000..689e96b8d1 --- /dev/null +++ b/app/src/main/res/drawable/insight_modal_background.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/megaphone_background_shadow.9.png b/app/src/main/res/drawable/megaphone_background_shadow.9.png deleted file mode 100644 index 8a9e4b4c10..0000000000 Binary files a/app/src/main/res/drawable/megaphone_background_shadow.9.png and /dev/null differ diff --git a/app/src/main/res/drawable/reactions_bottom_sheet_dialog_fragment_emoji_item_selected_dark.xml b/app/src/main/res/drawable/reactions_bottom_sheet_dialog_fragment_emoji_item_selected_dark.xml deleted file mode 100644 index 5c42bb319e..0000000000 --- a/app/src/main/res/drawable/reactions_bottom_sheet_dialog_fragment_emoji_item_selected_dark.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/reactions_bottom_sheet_dialog_fragment_emoji_item_selected_light.xml b/app/src/main/res/drawable/reactions_bottom_sheet_dialog_fragment_emoji_item_selected_light.xml deleted file mode 100644 index e9f36f9be2..0000000000 --- a/app/src/main/res/drawable/reactions_bottom_sheet_dialog_fragment_emoji_item_selected_light.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_backups.xml b/app/src/main/res/layout/fragment_backups.xml index ee2d424553..10770da0ec 100644 --- a/app/src/main/res/layout/fragment_backups.xml +++ b/app/src/main/res/layout/fragment_backups.xml @@ -163,7 +163,7 @@ + android:background="@color/signal_divider_major" /> + app:icon="@drawable/ic_open_20" /> + android:text="@string/ResearchMegaphoneDialog_no_thanks" /> + app:layout_constraintTop_toTopOf="parent" /> diff --git a/app/src/main/res/values-night/dark_colors.xml b/app/src/main/res/values-night/dark_colors.xml new file mode 100644 index 0000000000..0cdc1eb9cf --- /dev/null +++ b/app/src/main/res/values-night/dark_colors.xml @@ -0,0 +1,48 @@ + + + @color/core_ultramarine_light + @color/core_grey_95 + + @color/core_white + + @color/core_grey_95 + @color/core_grey_75 + @color/core_grey_90 + @color/core_grey_75 + + @color/core_grey_05 + @color/core_grey_60 + @color/core_grey_25 + + @color/core_grey_25 + @color/core_white + + @color/transparent_white_90 + @color/transparent_white_80 + + @color/core_grey_15 + @color/core_grey_25 + + @color/core_ultramarine_light + @color/core_white + @color/core_grey_25 + + @color/core_grey_75 + @color/core_grey_05 + + @color/core_grey_75 + @color/core_grey_60 + + @color/transparent_black + @color/transparent_black_20 + @color/transparent_black_40 + @color/transparent_black_60 + @color/transparent_black_80 + + @color/transparent + @color/transparent_white_15 + @color/transparent_white_20 + @color/transparent_white_40 + @color/transparent_white_60 + @color/transparent_white_80 + diff --git a/app/src/main/res/values-night/dark_themes.xml b/app/src/main/res/values-night/dark_themes.xml new file mode 100644 index 0000000000..69dba9a75c --- /dev/null +++ b/app/src/main/res/values-night/dark_themes.xml @@ -0,0 +1,18 @@ + + + - \ No newline at end of file diff --git a/app/src/main/res/values-v19/themes.xml b/app/src/main/res/values-v19/themes.xml deleted file mode 100644 index 1d73d342bf..0000000000 --- a/app/src/main/res/values-v19/themes.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 7b0139e6a7..7c3d1503fd 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -2,7 +2,6 @@ - @@ -17,7 +16,6 @@ - @@ -36,7 +34,6 @@ - @@ -56,40 +53,27 @@ - - - - - - - - - - - - - @@ -107,8 +91,6 @@ - - @@ -125,12 +107,10 @@ - - @@ -139,7 +119,6 @@ - @@ -154,14 +133,11 @@ - - - @@ -174,9 +150,6 @@ - - - @@ -188,8 +161,6 @@ - - @@ -197,14 +168,9 @@ - - - - - @@ -218,23 +184,14 @@ - - - - - - - - - @@ -254,7 +211,6 @@ - @@ -284,9 +240,7 @@ - - @@ -294,8 +248,6 @@ - - @@ -316,20 +268,16 @@ - - - - @@ -341,8 +289,6 @@ - - diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 4079514dd9..d387804d9c 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -5,11 +5,13 @@ #0D000000 #18000000 + #26000000 #33000000 #66000000 #99000000 #CC000000 + #26ffffff #33ffffff #4Dffffff #66ffffff @@ -25,13 +27,6 @@ #ffffffff #ff333333 - #ffeeeeee - #ff333333 - #ffd5d5d5 - #ff222222 - #400099cc - #40ffffff - @color/conversation_crimson @color/core_ultramarine diff --git a/app/src/main/res/values/light_colors.xml b/app/src/main/res/values/light_colors.xml new file mode 100644 index 0000000000..abc0298df8 --- /dev/null +++ b/app/src/main/res/values/light_colors.xml @@ -0,0 +1,48 @@ + + + @color/core_ultramarine + @color/core_white + + @color/core_black + + @color/core_white + @color/core_grey_05 + @color/core_grey_02 + @color/core_white + + @color/core_grey_90 + @color/core_grey_25 + @color/core_grey_65 + + @color/core_grey_60 + @color/core_black + + @color/core_white + @color/transparent_white_90 + + @color/core_grey_75 + @color/core_grey_60 + + @color/core_ultramarine + @color/core_white + @color/core_grey_25 + + @color/core_grey_05 + @color/core_ultramarine + + @color/core_grey_15 + @color/core_grey_25 + + @color/transparent + @color/transparent_white_20 + @color/transparent_white_40 + @color/transparent_white_60 + @color/transparent_white_80 + + @color/transparent_black + @color/transparent_black_15 + @color/transparent_black_20 + @color/transparent_black_40 + @color/transparent_black_60 + @color/transparent_black_80 + diff --git a/app/src/main/res/values/light_themes.xml b/app/src/main/res/values/light_themes.xml new file mode 100644 index 0000000000..d1b82f8fe8 --- /dev/null +++ b/app/src/main/res/values/light_themes.xml @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 192234cce8..d19fc5b9cd 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -19,18 +19,13 @@ @color/core_ultramarine @color/core_ultramarine - #d00000 - #66000000 #ff000000 #a0000000 - @color/core_ultramarine @color/white @color/core_grey_02 @color/core_grey_70 @color/core_grey_50 - @color/core_grey_90 - @color/core_grey_60 @drawable/ic_grid_outline_20 @drawable/ic_list_outline_20 @@ -58,18 +53,13 @@ @color/core_grey_95 @color/core_ultramarine_light - #d00000 - #66eeeeee #ffeeeeee #afeeeeee - #66eeeeee @color/black @color/core_grey_80 @color/white @color/core_grey_10 - @color/core_grey_05 - @color/core_grey_25 @drawable/ic_grid_solid_20 @drawable/ic_list_solid_20 @@ -97,9 +87,7 @@ @color/core_ultramarine #cc000000 - #55000000 @drawable/ic_arrow_forward_light - @drawable/lockscreen_watermark_light @color/white @drawable/ic_visibility_grey600_24dp @drawable/ic_visibility_off_grey600_24dp @@ -116,9 +104,7 @@ @color/core_ultramarine_light @color/white - @color/core_grey_25 @drawable/ic_arrow_forward_dark - @drawable/lockscreen_watermark_dark @color/core_grey_95 @drawable/ic_visibility_white_24dp @drawable/ic_visibility_off_white_24dp @@ -160,24 +146,21 @@