diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/AccountPostsActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/AccountPostsActivity.java
index 6a8aa025..29b49d24 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/AccountPostsActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/AccountPostsActivity.java
@@ -157,7 +157,7 @@ public class AccountPostsActivity extends BaseActivity implements SortTypeSelect
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
}
private void getCurrentAccountAndInitializeFragment() {
@@ -187,6 +187,7 @@ public class AccountPostsActivity extends BaseActivity implements SortTypeSelect
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.account_posts_activity, menu);
+ applyMenuItemTheme(menu);
mMenu = menu;
MenuItem lazyModeItem = mMenu.findItem(R.id.action_lazy_mode_account_posts_activity);
if (isInLazyMode) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/AccountSavedThingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/AccountSavedThingActivity.java
index a89a451a..d95a1735 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/AccountSavedThingActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/AccountSavedThingActivity.java
@@ -156,7 +156,7 @@ public class AccountSavedThingActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
applyTabLayoutTheme(tabLayout);
}
@@ -205,6 +205,7 @@ public class AccountSavedThingActivity extends BaseActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.account_saved_thing_activity, menu);
+ applyMenuItemTheme(menu);
mMenu = menu;
MenuItem lazyModeItem = mMenu.findItem(R.id.action_lazy_mode_account_saved_thing_activity);
if (isInLazyMode) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/BaseActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/BaseActivity.java
index 61beaee0..60abf067 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/BaseActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/BaseActivity.java
@@ -1,5 +1,6 @@
package ml.docilealligator.infinityforreddit.Activity;
+import android.annotation.SuppressLint;
import android.content.SharedPreferences;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
@@ -9,6 +10,8 @@ import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
+import android.view.Menu;
+import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
@@ -16,7 +19,9 @@ import android.view.Window;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
+import androidx.appcompat.view.menu.MenuItemImpl;
import androidx.appcompat.widget.Toolbar;
+import androidx.core.graphics.drawable.DrawableCompat;
import com.google.android.material.appbar.AppBarLayout;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
@@ -38,9 +43,10 @@ import static androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES;
public abstract class BaseActivity extends AppCompatActivity {
private boolean immersiveInterface;
- private boolean changeStatusBarIconColor = true;
+ private boolean changeStatusBarIconColor;
private boolean transparentStatusBarAfterToolbarCollapsed;
private boolean hasDrawerLayout = false;
+ private boolean isImmersiveInterfaceApplicable = true;
private int systemVisibilityToolbarExpanded = 0;
private int systemVisibilityToolbarCollapsed = 0;
private CustomThemeWrapper customThemeWrapper;
@@ -48,30 +54,28 @@ public abstract class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ customThemeWrapper = getCustomThemeWrapper();
SharedPreferences mSharedPreferences = getSharedPreferences();
boolean systemDefault = Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q;
int systemThemeType = Integer.parseInt(mSharedPreferences.getString(SharedPreferencesUtils.THEME_KEY, "2"));
immersiveInterface = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O &&
mSharedPreferences.getBoolean(SharedPreferencesUtils.IMMERSIVE_INTERFACE_KEY, true);
- customThemeWrapper = getCustomThemeWrapper();
switch (systemThemeType) {
case 0:
AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_NO);
- getTheme().applyStyle(R.style.Theme_Purple, true);
- changeStatusBarIconColor = immersiveInterface;
+ getTheme().applyStyle(R.style.Theme_Normal, true);
customThemeWrapper.setThemeType(CustomThemeSharedPreferencesUtils.NORMAL);
break;
case 1:
AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_YES);
if(mSharedPreferences.getBoolean(SharedPreferencesUtils.AMOLED_DARK_KEY, false)) {
- getTheme().applyStyle(R.style.Theme_Default_AmoledDark, true);
+ getTheme().applyStyle(R.style.Theme_Normal_AmoledDark, true);
customThemeWrapper.setThemeType(CustomThemeSharedPreferencesUtils.AMOLED_DARK);
} else {
- getTheme().applyStyle(R.style.Theme_Default_NormalDark, true);
+ getTheme().applyStyle(R.style.Theme_Normal_NormalDark, true);
customThemeWrapper.setThemeType(CustomThemeSharedPreferencesUtils.DARK);
}
- changeStatusBarIconColor = false;
break;
case 2:
if (systemDefault) {
@@ -80,21 +84,27 @@ public abstract class BaseActivity extends AppCompatActivity {
AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_AUTO_BATTERY);
}
if((getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_NO) {
- getTheme().applyStyle(R.style.Theme_Purple, true);
- changeStatusBarIconColor = immersiveInterface;
+ getTheme().applyStyle(R.style.Theme_Normal, true);
customThemeWrapper.setThemeType(CustomThemeSharedPreferencesUtils.NORMAL);
} else {
if(mSharedPreferences.getBoolean(SharedPreferencesUtils.AMOLED_DARK_KEY, false)) {
- getTheme().applyStyle(R.style.Theme_Default_AmoledDark, true);
+ getTheme().applyStyle(R.style.Theme_Normal_AmoledDark, true);
customThemeWrapper.setThemeType(CustomThemeSharedPreferencesUtils.AMOLED_DARK);
} else {
- getTheme().applyStyle(R.style.Theme_Default_NormalDark, true);
+ getTheme().applyStyle(R.style.Theme_Normal_NormalDark, true);
customThemeWrapper.setThemeType(CustomThemeSharedPreferencesUtils.DARK);
}
- changeStatusBarIconColor = false;
}
}
+ boolean userDefinedChangeSatusBarIconColorInImmersiveInterface =
+ customThemeWrapper.isChangeStatusBarIconColorAfterToolbarCollapsedInImmersiveInterface();
+ if (immersiveInterface && isImmersiveInterfaceApplicable) {
+ changeStatusBarIconColor = userDefinedChangeSatusBarIconColorInImmersiveInterface;
+ } else {
+ changeStatusBarIconColor = false;
+ }
+
getTheme().applyStyle(FontStyle.valueOf(mSharedPreferences
.getString(SharedPreferencesUtils.FONT_SIZE_KEY, FontStyle.Normal.name())).getResId(), true);
@@ -215,8 +225,37 @@ public abstract class BaseActivity extends AppCompatActivity {
hasDrawerLayout = true;
}
- protected void applyToolbarTheme(Toolbar toolbar) {
+ public void setImmersiveModeNotApplicable() {
+ isImmersiveInterfaceApplicable = false;
+ }
+
+ protected void applyAppBarLayoutAndToolbarTheme(AppBarLayout appBarLayout, Toolbar toolbar) {
+ appBarLayout.setBackgroundColor(customThemeWrapper.getToolbarAndTabBackgroundColor());
toolbar.setTitleTextColor(customThemeWrapper.getToolbarPrimaryTextAndIconColor());
+ if (toolbar.getNavigationIcon() != null) {
+ toolbar.getNavigationIcon().setColorFilter(customThemeWrapper.getToolbarPrimaryTextAndIconColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ }
+ if (toolbar.getOverflowIcon() != null) {
+ toolbar.getOverflowIcon().setColorFilter(customThemeWrapper.getToolbarPrimaryTextAndIconColor(), android.graphics.PorterDuff.Mode.SRC_IN);
+ }
+ }
+
+ @SuppressLint("RestrictedApi")
+ protected boolean applyMenuItemTheme(Menu menu) {
+ if (customThemeWrapper != null) {
+ int size = Math.min(menu.size(), 2);
+ for (int i = 0; i < size; i++) {
+ MenuItem item = menu.getItem(i);
+ if (((MenuItemImpl) item).requestsActionButton()) {
+ Drawable drawable = item.getIcon();
+ if (drawable != null) {
+ DrawableCompat.setTint(drawable, customThemeWrapper.getToolbarPrimaryTextAndIconColor());
+ item.setIcon(drawable);
+ }
+ }
+ }
+ }
+ return true;
}
protected void applyTabLayoutTheme(TabLayout tabLayout) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentActivity.java
index 515fe2b3..072b5163 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CommentActivity.java
@@ -233,7 +233,7 @@ public class CommentActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
commentParentMarkwonView.setTextColor(mCustomThemeWrapper.getCommentColor());
divider.setBackgroundColor(mCustomThemeWrapper.getDividerColor());
commentEditText.setTextColor(mCustomThemeWrapper.getCommentColor());
@@ -262,6 +262,7 @@ public class CommentActivity extends BaseActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.comment_activity, menu);
+ applyMenuItemTheme(menu);
return true;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CreateMultiRedditActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CreateMultiRedditActivity.java
index 1f5f39a4..3ce4ce2f 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CreateMultiRedditActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/CreateMultiRedditActivity.java
@@ -148,6 +148,7 @@ public class CreateMultiRedditActivity extends BaseActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.create_multi_reddit_activity, menu);
+ applyMenuItemTheme(menu);
return true;
}
@@ -244,7 +245,7 @@ public class CreateMultiRedditActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
int primaryTextColor = mCustomThemeWrapper.getPrimaryTextColor();
nameEditText.setTextColor(primaryTextColor);
int dividerColor = mCustomThemeWrapper.getDividerColor();
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditCommentActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditCommentActivity.java
index abcc5382..fac5af22 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditCommentActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditCommentActivity.java
@@ -119,7 +119,7 @@ public class EditCommentActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
contentEditText.setTextColor(mCustomThemeWrapper.getCommentColor());
}
@@ -135,6 +135,7 @@ public class EditCommentActivity extends BaseActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.edit_comment_activity, menu);
+ applyMenuItemTheme(menu);
return true;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditPostActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditPostActivity.java
index a86d72ff..bdc92af4 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditPostActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/EditPostActivity.java
@@ -122,7 +122,7 @@ public class EditPostActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
titleTextView.setTextColor(mCustomThemeWrapper.getPostTitleColor());
divider.setBackgroundColor(mCustomThemeWrapper.getPostTitleColor());
contentEditText.setTextColor(mCustomThemeWrapper.getPostContentColor());
@@ -140,6 +140,7 @@ public class EditPostActivity extends BaseActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.edit_post_activity, menu);
+ applyMenuItemTheme(menu);
return true;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/FilteredThingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/FilteredThingActivity.java
index 995a3227..545bce1d 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/FilteredThingActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/FilteredThingActivity.java
@@ -176,7 +176,7 @@ public class FilteredThingActivity extends BaseActivity implements SortTypeSelec
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
}
private void getCurrentAccountAndBindView(int filter) {
@@ -295,6 +295,7 @@ public class FilteredThingActivity extends BaseActivity implements SortTypeSelec
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.filtered_posts_activity, menu);
+ applyMenuItemTheme(menu);
mMenu = menu;
MenuItem lazyModeItem = mMenu.findItem(R.id.action_lazy_mode_filtered_thing_activity);
if (isInLazyMode) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/LoginActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/LoginActivity.java
index e750359d..78e67281 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/LoginActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/LoginActivity.java
@@ -223,7 +223,7 @@ public class LoginActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
}
@Override
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MainActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MainActivity.java
index 315b81ed..b03e04d6 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MainActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MainActivity.java
@@ -245,6 +245,7 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
drawer = findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
+ toggle.getDrawerArrowDrawable().setColor(mCustomThemeWrapper.getToolbarPrimaryTextAndIconColor());
drawer.addDrawerListener(toggle);
toggle.syncState();
@@ -296,7 +297,7 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
drawer.setBackgroundColor(backgroundColor);
drawer.setStatusBarBackgroundColor(mCustomThemeWrapper.getColorPrimaryDark());
navigationView.setBackgroundColor(backgroundColor);
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
applyTabLayoutTheme(tabLayout);
bottomNavigationView.setBackgroundTint(ColorStateList.valueOf(backgroundColor));
applyFABTheme(fab, R.drawable.ic_add_bottom_app_bar_24dp);
@@ -489,17 +490,14 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
case R.string.light_theme:
mSharedPreferences.edit().putString(SharedPreferencesUtils.THEME_KEY, "0").apply();
AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_NO);
- getTheme().applyStyle(R.style.Theme_Default, true);
mCustomThemeWrapper.setThemeType(CustomThemeSharedPreferencesUtils.NORMAL);
break;
case R.string.dark_theme:
mSharedPreferences.edit().putString(SharedPreferencesUtils.THEME_KEY, "1").apply();
AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_YES);
if (mSharedPreferences.getBoolean(SharedPreferencesUtils.AMOLED_DARK_KEY, false)) {
- getTheme().applyStyle(R.style.Theme_Default_AmoledDark, true);
mCustomThemeWrapper.setThemeType(CustomThemeSharedPreferencesUtils.AMOLED_DARK);
} else {
- getTheme().applyStyle(R.style.Theme_Default_NormalDark, true);
mCustomThemeWrapper.setThemeType(CustomThemeSharedPreferencesUtils.DARK);
}
break;
@@ -707,6 +705,7 @@ public class MainActivity extends BaseActivity implements SortTypeSelectionCallb
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_activity, menu);
+ applyMenuItemTheme(menu);
mMenu = menu;
MenuItem lazyModeItem = mMenu.findItem(R.id.action_lazy_mode_main_activity);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MultiRedditListingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MultiRedditListingActivity.java
index 8d5ce877..e5069e16 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MultiRedditListingActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/MultiRedditListingActivity.java
@@ -254,7 +254,7 @@ public class MultiRedditListingActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
mCoordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- mAppBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(mAppBarLayout, mToolbar);
mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
mSwipeRefreshLayout.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
mErrorTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostImageActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostImageActivity.java
index ebb0760f..043b5875 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostImageActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostImageActivity.java
@@ -163,6 +163,8 @@ public class PostImageActivity extends BaseActivity implements FlairBottomSheetF
protected void onCreate(Bundle savedInstanceState) {
((Infinity) getApplication()).getAppComponent().inject(this);
+ setImmersiveModeNotApplicable();
+
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_post_image);
@@ -375,7 +377,7 @@ public class PostImageActivity extends BaseActivity implements FlairBottomSheetF
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
rulesButton.setTextColor(mCustomThemeWrapper.getButtonTextColor());
rulesButton.setBackgroundTintList(ColorStateList.valueOf(mCustomThemeWrapper.getColorPrimaryLightTheme()));
int dividerColor = mCustomThemeWrapper.getDividerColor();
@@ -448,6 +450,7 @@ public class PostImageActivity extends BaseActivity implements FlairBottomSheetF
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.post_image_activity, menu);
+ applyMenuItemTheme(menu);
mMemu = menu;
if (isPosting) {
mMemu.findItem(R.id.action_send_post_image_activity).setEnabled(false);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostLinkActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostLinkActivity.java
index 91586388..eafc4a67 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostLinkActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostLinkActivity.java
@@ -138,6 +138,8 @@ public class PostLinkActivity extends BaseActivity implements FlairBottomSheetFr
protected void onCreate(Bundle savedInstanceState) {
((Infinity) getApplication()).getAppComponent().inject(this);
+ setImmersiveModeNotApplicable();
+
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_post_link);
@@ -314,7 +316,7 @@ public class PostLinkActivity extends BaseActivity implements FlairBottomSheetFr
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
rulesButton.setTextColor(mCustomThemeWrapper.getButtonTextColor());
rulesButton.setBackgroundTintList(ColorStateList.valueOf(mCustomThemeWrapper.getColorPrimaryLightTheme()));
int dividerColor = mCustomThemeWrapper.getDividerColor();
@@ -376,6 +378,7 @@ public class PostLinkActivity extends BaseActivity implements FlairBottomSheetFr
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.post_link_activity, menu);
+ applyMenuItemTheme(menu);
mMemu = menu;
if (isPosting) {
mMemu.findItem(R.id.action_send_post_link_activity).setEnabled(false);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostTextActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostTextActivity.java
index 121cecb0..1ff0a84c 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostTextActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostTextActivity.java
@@ -138,6 +138,8 @@ public class PostTextActivity extends BaseActivity implements FlairBottomSheetFr
protected void onCreate(Bundle savedInstanceState) {
((Infinity) getApplication()).getAppComponent().inject(this);
+ setImmersiveModeNotApplicable();
+
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_post_text);
@@ -318,7 +320,7 @@ public class PostTextActivity extends BaseActivity implements FlairBottomSheetFr
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
rulesButton.setTextColor(mCustomThemeWrapper.getButtonTextColor());
rulesButton.setBackgroundTintList(ColorStateList.valueOf(mCustomThemeWrapper.getColorPrimaryLightTheme()));
int dividerColor = mCustomThemeWrapper.getDividerColor();
@@ -381,6 +383,7 @@ public class PostTextActivity extends BaseActivity implements FlairBottomSheetFr
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.post_text_activity, menu);
+ applyMenuItemTheme(menu);
mMemu = menu;
if (isPosting) {
mMemu.findItem(R.id.action_send_post_text_activity).setEnabled(false);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostVideoActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostVideoActivity.java
index 173ce21e..5088576c 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostVideoActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/PostVideoActivity.java
@@ -171,6 +171,8 @@ public class PostVideoActivity extends BaseActivity implements FlairBottomSheetF
protected void onCreate(Bundle savedInstanceState) {
((Infinity) getApplication()).getAppComponent().inject(this);
+ setImmersiveModeNotApplicable();
+
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_post_video);
@@ -380,7 +382,7 @@ public class PostVideoActivity extends BaseActivity implements FlairBottomSheetF
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
rulesButton.setTextColor(mCustomThemeWrapper.getButtonTextColor());
rulesButton.setBackgroundTintList(ColorStateList.valueOf(mCustomThemeWrapper.getColorPrimaryLightTheme()));
int dividerColor = mCustomThemeWrapper.getDividerColor();
@@ -454,6 +456,7 @@ public class PostVideoActivity extends BaseActivity implements FlairBottomSheetF
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.post_video_activity, menu);
+ applyMenuItemTheme(menu);
mMemu = menu;
if (isPosting) {
mMemu.findItem(R.id.action_send_post_video_activity).setEnabled(false);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/RulesActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/RulesActivity.java
index 2fa2bff3..99027e23 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/RulesActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/RulesActivity.java
@@ -130,7 +130,7 @@ public class RulesActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
errorTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchActivity.java
index 9c4e77e2..2fab7727 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchActivity.java
@@ -190,7 +190,7 @@ public class SearchActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
simpleSearchView.setSearchBackground(new ColorDrawable(mCustomThemeWrapper.getColorPrimary()));
searchInTextView.setTextColor(mCustomThemeWrapper.getColorAccent());
subredditNameTextView.setTextColor(mCustomThemeWrapper.getPrimaryTextColor());
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchResultActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchResultActivity.java
index 9edddbca..359d408b 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchResultActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchResultActivity.java
@@ -172,7 +172,7 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
applyTabLayoutTheme(tabLayout);
}
@@ -198,6 +198,7 @@ public class SearchResultActivity extends BaseActivity implements SortTypeSelect
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.search_result_activity, menu);
+ applyMenuItemTheme(menu);
return true;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchSubredditsResultActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchSubredditsResultActivity.java
index 95cfc840..1548362c 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchSubredditsResultActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SearchSubredditsResultActivity.java
@@ -121,7 +121,7 @@ public class SearchSubredditsResultActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
}
private void getCurrentAccountAndInitializeFragment(String query) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SettingsActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SettingsActivity.java
index 035b746c..1a678afe 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SettingsActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SettingsActivity.java
@@ -48,6 +48,8 @@ public class SettingsActivity extends BaseActivity implements
protected void onCreate(Bundle savedInstanceState) {
((Infinity) getApplication()).getAppComponent().inject(this);
+ setImmersiveModeNotApplicable();
+
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
@@ -95,7 +97,7 @@ public class SettingsActivity extends BaseActivity implements
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
}
@Override
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubredditMultiselectionActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubredditMultiselectionActivity.java
index b3438e56..800a8320 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubredditMultiselectionActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubredditMultiselectionActivity.java
@@ -188,6 +188,7 @@ public class SubredditMultiselectionActivity extends BaseActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.subreddit_multiselection_activity, menu);
+ applyMenuItemTheme(menu);
return true;
}
@@ -252,7 +253,7 @@ public class SubredditMultiselectionActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
mCoordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- mAppBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(mAppBarLayout, mToolbar);
mErrorTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubredditSelectionActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubredditSelectionActivity.java
index 73314489..efc50700 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubredditSelectionActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubredditSelectionActivity.java
@@ -143,7 +143,7 @@ public class SubredditSelectionActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
}
private void getCurrentAccountAndBindView() {
@@ -207,6 +207,7 @@ public class SubredditSelectionActivity extends BaseActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.subreddit_selection_activity, menu);
+ applyMenuItemTheme(menu);
return true;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java
index fb80bd2f..48568085 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/SubscribedThingListingActivity.java
@@ -137,7 +137,7 @@ public class SubscribedThingListingActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
applyTabLayoutTheme(tabLayout);
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewGIFActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewGIFActivity.java
index 72cef5a5..a2efbda0 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewGIFActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewGIFActivity.java
@@ -94,7 +94,7 @@ public class ViewGIFActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
((Infinity) getApplication()).getAppComponent().inject(this);
- getTheme().applyStyle(R.style.Theme_Default, true);
+ getTheme().applyStyle(R.style.Theme_Normal, true);
getTheme().applyStyle(FontStyle.valueOf(mSharedPreferences
.getString(SharedPreferencesUtils.FONT_SIZE_KEY, FontStyle.Normal.name())).getResId(), true);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageActivity.java
index 0697c5e1..40ffb2eb 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewImageActivity.java
@@ -99,7 +99,7 @@ public class ViewImageActivity extends AppCompatActivity {
((Infinity) getApplication()).getAppComponent().inject(this);
- getTheme().applyStyle(R.style.Theme_Default, true);
+ getTheme().applyStyle(R.style.Theme_Normal, true);
getTheme().applyStyle(FontStyle.valueOf(mSharedPreferences
.getString(SharedPreferencesUtils.FONT_SIZE_KEY, FontStyle.Normal.name())).getResId(), true);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewMessageActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewMessageActivity.java
index 64b60fd4..e8fe5334 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewMessageActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewMessageActivity.java
@@ -63,7 +63,7 @@ public class ViewMessageActivity extends BaseActivity {
@BindView(R.id.appbar_layout_view_message_activity)
AppBarLayout mAppBarLayout;
@BindView(R.id.toolbar_view_message_activity)
- Toolbar toolbar;
+ Toolbar mToolbar;
@BindView(R.id.swipe_refresh_layout_view_message_activity)
SwipeRefreshLayout mSwipeRefreshLayout;
@BindView(R.id.recycler_view_view_message_activity)
@@ -116,7 +116,7 @@ public class ViewMessageActivity extends BaseActivity {
if (isImmersiveInterface()) {
window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
- adjustToolbar(toolbar);
+ adjustToolbar(mToolbar);
int navBarHeight = getNavBarHeight();
if (navBarHeight > 0) {
@@ -125,8 +125,8 @@ public class ViewMessageActivity extends BaseActivity {
}
}
- toolbar.setTitle(R.string.inbox);
- setSupportActionBar(toolbar);
+ mToolbar.setTitle(R.string.inbox);
+ setSupportActionBar(mToolbar);
if (savedInstanceState != null) {
mNullAccessToken = savedInstanceState.getBoolean(NULL_ACCESS_TOKEN_STATE);
@@ -157,7 +157,7 @@ public class ViewMessageActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
mCoordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- mAppBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(mAppBarLayout, mToolbar);
mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
mSwipeRefreshLayout.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
mFetchMessageInfoTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
@@ -255,6 +255,7 @@ public class ViewMessageActivity extends BaseActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.view_message_activity, menu);
+ applyMenuItemTheme(menu);
return true;
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewMultiRedditDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewMultiRedditDetailActivity.java
index b38611db..9e7e7039 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewMultiRedditDetailActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewMultiRedditDetailActivity.java
@@ -183,6 +183,7 @@ public class ViewMultiRedditDetailActivity extends BaseActivity implements SortT
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.view_multi_reddit_detail_activity, menu);
+ applyMenuItemTheme(menu);
mMenu = menu;
MenuItem lazyModeItem = mMenu.findItem(R.id.action_lazy_mode_view_multi_reddit_detail_activity);
if (isInLazyMode) {
@@ -324,6 +325,6 @@ public class ViewMultiRedditDetailActivity extends BaseActivity implements SortT
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
}
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewPostDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewPostDetailActivity.java
index a56a534f..152b71ad 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewPostDetailActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewPostDetailActivity.java
@@ -2,6 +2,7 @@ package ml.docilealligator.infinityforreddit.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
import android.view.KeyEvent;
@@ -19,6 +20,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
+import androidx.core.graphics.drawable.DrawableCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.LinearSmoothScroller;
import androidx.recyclerview.widget.RecyclerView;
@@ -132,7 +134,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
@BindView(R.id.appbar_layout_view_post_detail_activity)
AppBarLayout mAppBarLayout;
@BindView(R.id.toolbar_view_post_detail_activity)
- Toolbar toolbar;
+ Toolbar mToolbar;
@BindView(R.id.swipe_refresh_layout_view_post_detail_activity)
SwipeRefreshLayout mSwipeRefreshLayout;
@BindView(R.id.recycler_view_view_post_detail)
@@ -182,6 +184,8 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
private RecyclerView.SmoothScroller mSmoothScroller;
private PostCommentSortTypeBottomSheetFragment mPostCommentSortTypeBottomSheetFragment;
private SlidrInterface mSlidrInterface;
+ private Drawable mSavedIcon;
+ private Drawable mUnsavedIcon;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -199,6 +203,9 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
applyCustomTheme();
+ mSavedIcon = getMenuItemIcon(R.drawable.ic_bookmark_toolbar_24dp);
+ mUnsavedIcon = getMenuItemIcon(R.drawable.ic_bookmark_border_toolbar_24dp);
+
if (mSharedPreferences.getBoolean(SharedPreferencesUtils.SWIPE_RIGHT_TO_GO_BACK_FROM_POST_DETAIL, true)) {
mSlidrInterface = Slidr.attach(this);
}
@@ -212,7 +219,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
if (isImmersiveInterface()) {
window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
- adjustToolbar(toolbar);
+ adjustToolbar(mToolbar);
int navBarHeight = getNavBarHeight();
if (navBarHeight > 0) {
@@ -225,8 +232,8 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
}
}
- toolbar.setTitle("");
- setSupportActionBar(toolbar);
+ mToolbar.setTitle("");
+ setSupportActionBar(mToolbar);
mNeedBlurNsfw = mSharedPreferences.getBoolean(SharedPreferencesUtils.BLUR_NSFW_KEY, true);
mNeedBlurSpoiler = mSharedPreferences.getBoolean(SharedPreferencesUtils.BLUR_SPOILER_KEY, false);
@@ -369,7 +376,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
@Override
protected void applyCustomTheme() {
mCoordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- mAppBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(mAppBarLayout, mToolbar);
mSwipeRefreshLayout.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
mSwipeRefreshLayout.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
mFetchPostInfoTextView.setTextColor(mCustomThemeWrapper.getSecondaryTextColor());
@@ -444,10 +451,10 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
if (mAccessToken != null) {
if (mPost.isSaved()) {
saveItem.setVisible(true);
- saveItem.setIcon(R.drawable.ic_bookmark_toolbar_24dp);
+ saveItem.setIcon(mSavedIcon);
} else {
saveItem.setVisible(true);
- saveItem.setIcon(R.drawable.ic_bookmark_border_toolbar_24dp);
+ saveItem.setIcon(mUnsavedIcon);
}
if (mPost.isHidden()) {
@@ -537,6 +544,14 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
fab.setOnClickListener(view -> scrollToNextParentComment());
}
+ private Drawable getMenuItemIcon(int drawableId) {
+ Drawable icon = getDrawable(drawableId);
+ if (icon != null) {
+ DrawableCompat.setTint(icon, mCustomThemeWrapper.getToolbarPrimaryTextAndIconColor());
+ }
+
+ return icon;
+ }
private void fetchPostAndCommentsById(String subredditId) {
mFetchPostInfoLinearLayout.setVisibility(View.GONE);
@@ -585,10 +600,10 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
if (mAccessToken != null) {
if (post.isSaved()) {
saveItem.setVisible(true);
- saveItem.setIcon(R.drawable.ic_bookmark_toolbar_24dp);
+ saveItem.setIcon(mSavedIcon);
} else {
saveItem.setVisible(true);
- saveItem.setIcon(R.drawable.ic_bookmark_border_toolbar_24dp);
+ saveItem.setIcon(mUnsavedIcon);
}
if (post.isHidden()) {
@@ -895,10 +910,10 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
if (mAccessToken != null) {
if (post.isSaved()) {
saveItem.setVisible(true);
- saveItem.setIcon(R.drawable.ic_bookmark_toolbar_24dp);
+ saveItem.setIcon(mSavedIcon);
} else {
saveItem.setVisible(true);
- saveItem.setIcon(R.drawable.ic_bookmark_border_toolbar_24dp);
+ saveItem.setIcon(mUnsavedIcon);
}
if (post.isHidden()) {
@@ -1164,11 +1179,9 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
mPost.setSaved(event.post.isSaved());
if (mMenu != null) {
if (event.post.isSaved()) {
- mMenu.findItem(R.id.action_save_view_post_detail_activity).setIcon(getResources()
- .getDrawable(R.drawable.ic_bookmark_toolbar_24dp));
+ mMenu.findItem(R.id.action_save_view_post_detail_activity).setIcon(mSavedIcon);
} else {
- mMenu.findItem(R.id.action_save_view_post_detail_activity).setIcon(getResources()
- .getDrawable(R.drawable.ic_bookmark_border_toolbar_24dp));
+ mMenu.findItem(R.id.action_save_view_post_detail_activity).setIcon(mUnsavedIcon);
}
}
mAdapter.updatePost(mPost);
@@ -1214,6 +1227,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.view_post_detail_activity, menu);
+ applyMenuItemTheme(menu);
mMenu = menu;
if (mPost != null) {
MenuItem saveItem = mMenu.findItem(R.id.action_save_view_post_detail_activity);
@@ -1225,10 +1239,10 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
if (mAccessToken != null) {
if (mPost.isSaved()) {
saveItem.setVisible(true);
- saveItem.setIcon(R.drawable.ic_bookmark_toolbar_24dp);
+ saveItem.setIcon(mSavedIcon);
} else {
saveItem.setVisible(true);
- saveItem.setIcon(R.drawable.ic_bookmark_border_toolbar_24dp);
+ saveItem.setIcon(mUnsavedIcon);
}
if (mPost.isHidden()) {
@@ -1308,13 +1322,13 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
case R.id.action_save_view_post_detail_activity:
if (mPost != null && mAccessToken != null) {
if (mPost.isSaved()) {
- item.setIcon(R.drawable.ic_bookmark_border_toolbar_24dp);
+ item.setIcon(mUnsavedIcon);
SaveThing.unsaveThing(mOauthRetrofit, mAccessToken, mPost.getFullName(),
new SaveThing.SaveThingListener() {
@Override
public void success() {
mPost.setSaved(false);
- item.setIcon(R.drawable.ic_bookmark_border_toolbar_24dp);
+ item.setIcon(mUnsavedIcon);
showMessage(R.string.post_unsaved_success);
EventBus.getDefault().post(new PostUpdateEventToPostList(mPost, postListPosition));
}
@@ -1322,19 +1336,19 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
@Override
public void failed() {
mPost.setSaved(true);
- item.setIcon(R.drawable.ic_bookmark_toolbar_24dp);
+ item.setIcon(mSavedIcon);
showMessage(R.string.post_unsaved_failed);
EventBus.getDefault().post(new PostUpdateEventToPostList(mPost, postListPosition));
}
});
} else {
- item.setIcon(R.drawable.ic_bookmark_toolbar_24dp);
+ item.setIcon(mSavedIcon);
SaveThing.saveThing(mOauthRetrofit, mAccessToken, mPost.getFullName(),
new SaveThing.SaveThingListener() {
@Override
public void success() {
mPost.setSaved(true);
- item.setIcon(R.drawable.ic_bookmark_toolbar_24dp);
+ item.setIcon(mSavedIcon);
showMessage(R.string.post_saved_success);
EventBus.getDefault().post(new PostUpdateEventToPostList(mPost, postListPosition));
}
@@ -1342,7 +1356,7 @@ public class ViewPostDetailActivity extends BaseActivity implements FlairBottomS
@Override
public void failed() {
mPost.setSaved(false);
- item.setIcon(R.drawable.ic_bookmark_border_toolbar_24dp);
+ item.setIcon(mUnsavedIcon);
showMessage(R.string.post_saved_failed);
EventBus.getDefault().post(new PostUpdateEventToPostList(mPost, postListPosition));
}
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSidebarActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSidebarActivity.java
index 364b257b..6568cd2e 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSidebarActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSidebarActivity.java
@@ -199,6 +199,7 @@ public class ViewSidebarActivity extends BaseActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.view_sidebar_activity, menu);
+ applyMenuItemTheme(menu);
return true;
}
@@ -229,7 +230,7 @@ public class ViewSidebarActivity extends BaseActivity {
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
swipeRefreshLayout.setProgressBackgroundColorSchemeColor(mCustomThemeWrapper.getCircularProgressBarBackground());
swipeRefreshLayout.setColorSchemeColors(mCustomThemeWrapper.getColorAccent());
markdownColor = mCustomThemeWrapper.getSecondaryTextColor();
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSubredditDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSubredditDetailActivity.java
index 412c4e60..039c07dd 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSubredditDetailActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewSubredditDetailActivity.java
@@ -346,7 +346,7 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
protected void applyCustomTheme() {
int backgroundColor = mCustomThemeWrapper.getBackgroundColor();
coordinatorLayout.setBackgroundColor(backgroundColor);
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
linearLayout.setBackgroundColor(backgroundColor);
subredditNameTextView.setTextColor(mCustomThemeWrapper.getSubreddit());
subscribeSubredditChip.setTextColor(mCustomThemeWrapper.getChipTextColor());
@@ -547,6 +547,7 @@ public class ViewSubredditDetailActivity extends BaseActivity implements SortTyp
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.view_subreddit_detail_activity, menu);
+ applyMenuItemTheme(menu);
mMenu = menu;
MenuItem lazyModeItem = mMenu.findItem(R.id.action_lazy_mode_view_subreddit_detail_activity);
if (isInLazyMode) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewUserDetailActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewUserDetailActivity.java
index 253c38ec..8e90f20b 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewUserDetailActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewUserDetailActivity.java
@@ -410,7 +410,7 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
@Override
protected void applyCustomTheme() {
coordinatorLayout.setBackgroundColor(mCustomThemeWrapper.getBackgroundColor());
- appBarLayout.setBackgroundColor(mCustomThemeWrapper.getToolbarAndTabBackgroundColor());
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
expandedTabTextColor = mCustomThemeWrapper.getTabLayoutWithExpandedCollapsingToolbarTextColor();
expandedTabIndicatorColor = mCustomThemeWrapper.getTabLayoutWithExpandedCollapsingToolbarTabIndicator();
expandedTabBackgroundColor = mCustomThemeWrapper.getTabLayoutWithExpandedCollapsingToolbarTabBackground();
@@ -546,6 +546,7 @@ public class ViewUserDetailActivity extends BaseActivity implements SortTypeSele
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.view_user_detail_activity, menu);
+ applyAppBarLayoutAndToolbarTheme(appBarLayout, toolbar);
mMenu = menu;
MenuItem lazyModeItem = mMenu.findItem(R.id.action_lazy_mode_view_user_detail_activity);
if (isInLazyMode) {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java
index 7e873010..a3694352 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Activity/ViewVideoActivity.java
@@ -98,7 +98,7 @@ public class ViewVideoActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- getTheme().applyStyle(R.style.Theme_Default, true);
+ getTheme().applyStyle(R.style.Theme_Normal, true);
setContentView(R.layout.activity_view_video);
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/CustomTheme/CustomThemeWrapper.java b/app/src/main/java/ml/docilealligator/infinityforreddit/CustomTheme/CustomThemeWrapper.java
index 853ea446..835a7db2 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/CustomTheme/CustomThemeWrapper.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/CustomTheme/CustomThemeWrapper.java
@@ -39,6 +39,12 @@ public class CustomThemeWrapper {
return themeSharedPreferences.getBoolean(CustomThemeSharedPreferencesUtils.LIGHT_NAV_BAR, false);
}
+ public boolean isChangeStatusBarIconColorAfterToolbarCollapsedInImmersiveInterface() {
+ return themeSharedPreferences.getBoolean(
+ CustomThemeSharedPreferencesUtils.CHANGE_STATUS_BAR_ICON_COLOR_AFTER_TOOLBAR_COLLAPSED_IN_IMMERSIVE_INTERFACE,
+ true);
+ }
+
public int getColorPrimary() {
return themeSharedPreferences.getInt(CustomThemeSharedPreferencesUtils.COLOR_PRIMARY,
getDefaultColor("#1565C0", "#242424", "#000000"));
@@ -106,7 +112,7 @@ public class CustomThemeWrapper {
public int getToolbarPrimaryTextAndIconColor() {
return themeSharedPreferences.getInt(CustomThemeSharedPreferencesUtils.TOOLBAR_PRIMARY_TEXT_AND_ICON_COLOR,
- getDefaultColor("#FFFFFF", "#FFFFFF", "#FFFFFF"));
+ getDefaultColor("#000000", "#FFFFFF", "#FFFFFF"));
}
public int getToolbarAndTabBackgroundColor() {
diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/CustomThemeSharedPreferencesUtils.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/CustomThemeSharedPreferencesUtils.java
index 2bed1bb6..a3f3695a 100644
--- a/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/CustomThemeSharedPreferencesUtils.java
+++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/CustomThemeSharedPreferencesUtils.java
@@ -7,6 +7,7 @@ public class CustomThemeSharedPreferencesUtils {
public static final String THEME_SHARED_PREFERENCES_FILE = "ml.docilealligator.infinityforreddit.theme";
public static final String LIGHT_STATUS_BAR = "lightStatusBar";
public static final String LIGHT_NAV_BAR = "lightNavBar";
+ public static final String CHANGE_STATUS_BAR_ICON_COLOR_AFTER_TOOLBAR_COLLAPSED_IN_IMMERSIVE_INTERFACE = "changeStatusBarIconColorImmersive";
public static final String COLOR_PRIMARY = "colorPrimary";
public static final String COLOR_PRIMARY_DARK = "colorPrimaryDark";
public static final String COLOR_ACCENT = "colorAccent";
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 053435ec..64c35c47 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -222,7 +222,7 @@
-
-
-
-
-