From a761f4e7d0e46df23dfd0bf1aa302ddcb13ec58e Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Wed, 31 Jul 2019 16:58:37 -0500 Subject: [PATCH] Update theme application --- .../ThemedInjectingAppCompatActivity.java | 3 +-- .../tasks/location/LocationPickerActivity.java | 2 +- app/src/main/java/org/tasks/themes/Theme.java | 17 +++++++++-------- .../main/java/org/tasks/themes/ThemeAccent.java | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/tasks/injection/ThemedInjectingAppCompatActivity.java b/app/src/main/java/org/tasks/injection/ThemedInjectingAppCompatActivity.java index 67fbe0196..46dd801c2 100644 --- a/app/src/main/java/org/tasks/injection/ThemedInjectingAppCompatActivity.java +++ b/app/src/main/java/org/tasks/injection/ThemedInjectingAppCompatActivity.java @@ -22,9 +22,8 @@ public abstract class ThemedInjectingAppCompatActivity extends AppCompatActivity ((InjectingApplication) getApplication()).getComponent().plus(new ActivityModule(this)); inject(activityComponent); setTitle(null); + theme.applyThemeAndStatusBarColor(this, getDelegate()); super.onCreate(savedInstanceState); - theme.applyTheme(this); - theme.applyStatusBarColor(this); } @Override diff --git a/app/src/main/java/org/tasks/location/LocationPickerActivity.java b/app/src/main/java/org/tasks/location/LocationPickerActivity.java index ab700c1af..9034d2e39 100644 --- a/app/src/main/java/org/tasks/location/LocationPickerActivity.java +++ b/app/src/main/java/org/tasks/location/LocationPickerActivity.java @@ -127,7 +127,6 @@ public class LocationPickerActivity extends InjectingAppCompatActivity @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - theme.applyTheme(this); setContentView(R.layout.activity_location_picker); ButterKnife.bind(this); @@ -413,6 +412,7 @@ public class LocationPickerActivity extends InjectingAppCompatActivity @Override public void inject(ActivityComponent component) { component.inject(this); + theme.applyTheme(this); } @Override diff --git a/app/src/main/java/org/tasks/themes/Theme.java b/app/src/main/java/org/tasks/themes/Theme.java index 59bc36f4c..81b1a5aa3 100644 --- a/app/src/main/java/org/tasks/themes/Theme.java +++ b/app/src/main/java/org/tasks/themes/Theme.java @@ -6,6 +6,7 @@ import android.content.res.Resources; import android.graphics.PixelFormat; import android.view.ContextThemeWrapper; import android.view.LayoutInflater; +import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatDelegate; import javax.inject.Inject; import org.tasks.R; @@ -48,17 +49,17 @@ public class Theme { } public void applyThemeAndStatusBarColor(Activity activity, AppCompatDelegate delegate) { - delegate.applyDayNight(); - applyTheme(activity); - applyStatusBarColor(activity); - } - - public void applyStatusBarColor(Activity activity) { + applyTheme(activity, delegate); themeColor.applyToSystemBars(activity); themeColor.applyTaskDescription(activity, activity.getString(R.string.app_name)); } - public void applyTheme(Activity activity) { + public void applyTheme(AppCompatActivity activity) { + applyTheme(activity, activity.getDelegate()); + } + + private void applyTheme(Activity activity, AppCompatDelegate delegate) { + delegate.applyDayNight(); themeBase.set(activity); applyToContext(activity); activity.getWindow().setFormat(PixelFormat.RGBA_8888); @@ -67,7 +68,7 @@ public class Theme { public void applyToContext(Context context) { Resources.Theme theme = context.getTheme(); themeColor.applyStyle(theme); - themeAccent.apply(theme); + themeAccent.applyStyle(theme); } public Context wrap(Context context) { diff --git a/app/src/main/java/org/tasks/themes/ThemeAccent.java b/app/src/main/java/org/tasks/themes/ThemeAccent.java index 34fb8d8c7..174e29194 100644 --- a/app/src/main/java/org/tasks/themes/ThemeAccent.java +++ b/app/src/main/java/org/tasks/themes/ThemeAccent.java @@ -58,7 +58,7 @@ public class ThemeAccent implements ColorPickerDialog.Pickable { accentColor = source.readInt(); } - public void apply(Resources.Theme theme) { + void applyStyle(Resources.Theme theme) { theme.applyStyle(style, true); }