diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9ef28d619..95dbb9cc3 100755 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -144,7 +144,7 @@ android:name="com.hippo.ehviewer.ui.SettingsActivity" android:configChanges="screenSize|uiMode" android:label="@string/settings" - android:theme="@style/AppTheme.Settings" /> + android:theme="@style/AppTheme.Toolbar"/> = Build.VERSION_CODES.N ? configuration.getLocales().get(0) : configuration.locale; } - if (locale != null) { - newBase = ContextLocalWrapper.wrap(newBase, locale); - } + newBase = ContextLocalWrapper.wrap(newBase, locale); super.attachBaseContext(newBase); } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java index 90636c758..671e9cb19 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java @@ -62,6 +62,7 @@ public class FilterActivity extends ToolbarActivity { protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_filter); + setTitle(R.string.filter); setNavigationIcon(R.drawable.v_arrow_left_dark_x24); mFilterList = new FilterList(); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/HostsActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/HostsActivity.java index 8343c1dc4..580d43bf8 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/HostsActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/HostsActivity.java @@ -75,6 +75,7 @@ public class HostsActivity extends ToolbarActivity data = hosts.getAll(); setContentView(R.layout.activity_hosts); + setTitle(R.string.hosts); setNavigationIcon(R.drawable.v_arrow_left_dark_x24); recyclerView = findViewById(R.id.recycler_view); tip = findViewById(R.id.tip); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java index ec653fc5f..a33ce2925 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/MainActivity.java @@ -564,14 +564,6 @@ public final class MainActivity extends StageActivity } } - public boolean isDrawersVisible() { - if (mDrawerLayout != null) { - return mDrawerLayout.isDrawerVisible(mDrawerLayout); - } else { - return false; - } - } - public void setNavCheckedItem(@IdRes int resId) { mNavCheckedItem = resId; if (mNavView != null) { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/MyTagsActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/MyTagsActivity.java index a825f72d1..c6717db28 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/MyTagsActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/MyTagsActivity.java @@ -62,6 +62,7 @@ public class MyTagsActivity extends ToolbarActivity { } setContentView(R.layout.activity_my_tags); + setTitle(R.string.my_tags); setNavigationIcon(R.drawable.v_arrow_left_dark_x24); WebView webView = findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/SetSecurityActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/SetSecurityActivity.java index 712db5f14..547bd55af 100755 --- a/app/src/main/java/com/hippo/ehviewer/ui/SetSecurityActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/SetSecurityActivity.java @@ -46,6 +46,7 @@ public class SetSecurityActivity extends ToolbarActivity implements View.OnClick protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_set_security); + setTitle(R.string.set_pattern_protection); setNavigationIcon(R.drawable.v_arrow_left_dark_x24); mPatternView = (LockPatternView) ViewUtils.$$(this, R.id.pattern_view); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java index 78c5db195..665495f92 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java @@ -20,38 +20,32 @@ import android.os.Bundle; import android.view.MenuItem; import androidx.annotation.StringRes; -import androidx.appcompat.app.ActionBar; import com.google.android.material.snackbar.Snackbar; import com.hippo.ehviewer.R; import com.hippo.ehviewer.ui.fragment.SettingsFragment; import com.hippo.ehviewer.ui.scene.BaseScene; -public final class SettingsActivity extends EhActivity { +public final class SettingsActivity extends ToolbarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_preference); + setTitle(R.string.settings); + setNavigationIcon(R.drawable.v_arrow_left_dark_x24); if (savedInstanceState == null) { getSupportFragmentManager() .beginTransaction() .replace(R.id.fragment, new SettingsFragment()) .commitAllowingStateLoss(); } - ActionBar bar = getSupportActionBar(); - if (bar != null) { - bar.setDisplayHomeAsUpEnabled(true); - } } public void showTip(@StringRes int id, int length) { showTip(getString(id), length); } - /** - * If activity is running, show snack bar, otherwise show toast - */ public void showTip(CharSequence message, int length) { Snackbar.make(findViewById(R.id.snackbar), message, length == BaseScene.LENGTH_LONG ? Snackbar.LENGTH_LONG : Snackbar.LENGTH_SHORT).show(); @@ -59,12 +53,10 @@ public final class SettingsActivity extends EhActivity { @Override public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case android.R.id.home: - onBackPressed(); - return true; - default: - return super.onOptionsItemSelected(item); + if (item.getItemId() == android.R.id.home) { + onBackPressed(); + return true; } + return super.onOptionsItemSelected(item); } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/ToolbarActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/ToolbarActivity.java index 593bc4988..a87196323 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/ToolbarActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/ToolbarActivity.java @@ -23,6 +23,8 @@ import android.view.ViewGroup; import androidx.annotation.DrawableRes; import androidx.annotation.LayoutRes; import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.appcompat.app.ActionBar; import androidx.appcompat.widget.Toolbar; import com.hippo.ehviewer.R; @@ -63,4 +65,11 @@ public abstract class ToolbarActivity extends EhActivity { ((Toolbar) toolbar).setNavigationIcon(icon); } } + + public void setTitle(@StringRes int string) { + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setTitle(string); + } + } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/UConfigActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/UConfigActivity.java index c8a1b9a1a..ef50079e9 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/UConfigActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/UConfigActivity.java @@ -70,6 +70,7 @@ public class UConfigActivity extends ToolbarActivity { } setContentView(R.layout.activity_u_config); + setTitle(R.string.u_config); setNavigationIcon(R.drawable.v_arrow_left_dark_x24); webView = findViewById(R.id.webview); webView.getSettings().setJavaScriptEnabled(true); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/AboutFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/AboutFragment.java index 453e0813b..75cc7ff45 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/AboutFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/AboutFragment.java @@ -27,13 +27,11 @@ import com.hippo.ehviewer.EhApplication; import com.hippo.ehviewer.R; import com.hippo.util.AppHelper; import com.microsoft.appcenter.distribute.Distribute; -import com.takisoft.preferencex.PreferenceFragmentCompat; -public class AboutFragment extends PreferenceFragmentCompat - implements Preference.OnPreferenceClickListener { +public class AboutFragment extends BaseSettingsFragment { private static final String KEY_AUTHOR = "author"; - private static final String KEY_DONATE = "donate"; + //private static final String KEY_DONATE = "donate"; private static final String KEY_CHECK_FOR_UPDATES = "check_for_updates"; @Override @@ -64,4 +62,10 @@ public class AboutFragment extends PreferenceFragmentCompat } return true; } + + @Override + public void onResume() { + super.onResume(); + setTitle(R.string.settings_about); + } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java index 52c7383f5..7c47cae9a 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/AdvancedFragment.java @@ -36,10 +36,8 @@ import com.hippo.ehviewer.ui.SettingsActivity; import com.hippo.ehviewer.ui.scene.BaseScene; import com.hippo.util.LogCat; import com.hippo.util.ReadableTime; -import com.takisoft.preferencex.PreferenceFragmentCompat; -public class AdvancedFragment extends PreferenceFragmentCompat - implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener { +public class AdvancedFragment extends BaseSettingsFragment { private static final int REQUEST_CODE_EXPORT = 1; private static final int REQUEST_CODE_IMPORT = 2; @@ -69,11 +67,6 @@ public class AdvancedFragment extends PreferenceFragmentCompat appLanguage.setOnPreferenceChangeListener(this); } - @Override - public void onResume() { - super.onResume(); - } - @Override public boolean onPreferenceClick(Preference preference) { String key = preference.getKey(); @@ -196,4 +189,10 @@ public class AdvancedFragment extends PreferenceFragmentCompat } return false; } + + @Override + public void onResume() { + super.onResume(); + setTitle(R.string.settings_advanced); + } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/BaseSettingsFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/BaseSettingsFragment.java new file mode 100644 index 000000000..5d4bb9d9f --- /dev/null +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/BaseSettingsFragment.java @@ -0,0 +1,31 @@ +package com.hippo.ehviewer.ui.fragment; + +import android.os.Bundle; + +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.preference.Preference; + +import com.takisoft.preferencex.PreferenceFragmentCompat; + +public class BaseSettingsFragment extends PreferenceFragmentCompat + implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + return false; + } + + @Override + public boolean onPreferenceClick(Preference preference) { + return false; + } + + @Override + public void onCreatePreferencesFix(@Nullable Bundle savedInstanceState, String rootKey) { + + } + + public void setTitle(@StringRes int string) { + requireActivity().setTitle(string); + } +} diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java index 6b8f61576..974e36ec7 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/DownloadFragment.java @@ -31,11 +31,8 @@ import com.hippo.ehviewer.ui.SettingsActivity; import com.hippo.ehviewer.ui.scene.BaseScene; import com.hippo.unifile.UniFile; import com.hippo.util.ExceptionUtils; -import com.takisoft.preferencex.PreferenceFragmentCompat; -public class DownloadFragment extends PreferenceFragmentCompat implements - Preference.OnPreferenceChangeListener, - Preference.OnPreferenceClickListener { +public class DownloadFragment extends BaseSettingsFragment { public static final int REQUEST_CODE_PICK_IMAGE_DIR_L = 1; @@ -148,4 +145,10 @@ public class DownloadFragment extends PreferenceFragmentCompat implements } return false; } + + @Override + public void onResume() { + super.onResume(); + setTitle(R.string.settings_download); + } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java index fa57772e7..253a376d1 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/EhFragment.java @@ -28,10 +28,8 @@ import com.hippo.ehviewer.EhApplication; import com.hippo.ehviewer.R; import com.hippo.ehviewer.Settings; import com.hippo.ehviewer.client.EhTagDatabase; -import com.takisoft.preferencex.PreferenceFragmentCompat; -public class EhFragment extends PreferenceFragmentCompat - implements Preference.OnPreferenceChangeListener { +public class EhFragment extends BaseSettingsFragment { @Override public void onCreatePreferencesFix(@Nullable Bundle savedInstanceState, String rootKey) { @@ -89,4 +87,10 @@ public class EhFragment extends PreferenceFragmentCompat } return true; } + + @Override + public void onResume() { + super.onResume(); + setTitle(R.string.settings_eh); + } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/PrivacyFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/PrivacyFragment.java index b0fda6577..82fe19e2c 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/PrivacyFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/PrivacyFragment.java @@ -9,13 +9,12 @@ import androidx.preference.Preference; import com.hippo.ehviewer.Analytics; import com.hippo.ehviewer.R; import com.hippo.ehviewer.Settings; -import com.takisoft.preferencex.PreferenceFragmentCompat; /** * Created by Mo10 on 2018/2/10. */ -public class PrivacyFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceChangeListener { +public class PrivacyFragment extends BaseSettingsFragment { private static final String KEY_PATTERN_PROTECTION = "pattern_protection"; @Override @@ -29,6 +28,7 @@ public class PrivacyFragment extends PreferenceFragmentCompat implements Prefere @Override public void onResume() { super.onResume(); + setTitle(R.string.settings_privacy); Preference patternProtection = findPreference(KEY_PATTERN_PROTECTION); patternProtection.setSummary(TextUtils.isEmpty(Settings.getSecurity()) ? R.string.settings_privacy_pattern_protection_not_set : diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/ReadFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/ReadFragment.java index ea512337c..61db05c0c 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/ReadFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/ReadFragment.java @@ -21,12 +21,17 @@ import android.os.Bundle; import androidx.annotation.Nullable; import com.hippo.ehviewer.R; -import com.takisoft.preferencex.PreferenceFragmentCompat; -public class ReadFragment extends PreferenceFragmentCompat { +public class ReadFragment extends BaseSettingsFragment { @Override public void onCreatePreferencesFix(@Nullable Bundle savedInstanceState, String rootKey) { addPreferencesFromResource(R.xml.read_settings); } + + @Override + public void onResume() { + super.onResume(); + setTitle(R.string.settings_read); + } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/SettingsFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/SettingsFragment.java index dfec2405e..5a87e5961 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/SettingsFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/SettingsFragment.java @@ -5,12 +5,16 @@ import android.os.Bundle; import androidx.annotation.Nullable; import com.hippo.ehviewer.R; -import com.takisoft.preferencex.PreferenceFragmentCompat; -public class SettingsFragment extends PreferenceFragmentCompat { +public class SettingsFragment extends BaseSettingsFragment { @Override public void onCreatePreferencesFix(@Nullable Bundle savedInstanceState, String rootKey) { - addPreferencesFromResource(R.xml.settings_headers); } + + @Override + public void onResume() { + super.onResume(); + setTitle(R.string.settings); + } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java index ec7188ea6..c143cf278 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseScene.java @@ -42,6 +42,7 @@ import com.hippo.android.resource.AttrResources; import com.hippo.ehviewer.Analytics; import com.hippo.ehviewer.R; import com.hippo.ehviewer.ui.MainActivity; +import com.hippo.ehviewer.widget.EhDrawerLayout; import com.hippo.scene.SceneFragment; import com.hippo.util.AppHelper; @@ -118,15 +119,6 @@ public abstract class BaseScene extends SceneFragment { } } - public boolean isDrawersVisible() { - FragmentActivity activity = getActivity(); - if (activity instanceof MainActivity) { - return ((MainActivity) activity).isDrawersVisible(); - } else { - return false; - } - } - public void showTip(CharSequence message, int length) { FragmentActivity activity = getActivity(); if (activity instanceof MainActivity) { @@ -202,9 +194,9 @@ public abstract class BaseScene extends SceneFragment { flags &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR; } decorView.setSystemUiVisibility(flags); - ((DrawerLayout) requireActivity().findViewById(R.id.draw_view)).setStatusBarBackgroundColor(set ? Color.TRANSPARENT : AttrResources.getAttrColor(requireContext(), R.attr.colorPrimaryDark)); + ((EhDrawerLayout) requireActivity().findViewById(R.id.draw_view)).setStatusBarBackgroundColor(set ? Color.TRANSPARENT : AttrResources.getAttrColor(requireContext(), R.attr.colorPrimaryDark)); } else { - ((DrawerLayout) requireActivity().findViewById(R.id.draw_view)).setStatusBarBackgroundColor(AttrResources.getAttrColor(requireContext(), R.attr.colorPrimaryDark)); + ((EhDrawerLayout) requireActivity().findViewById(R.id.draw_view)).setStatusBarBackgroundColor(AttrResources.getAttrColor(requireContext(), R.attr.colorPrimaryDark)); } } diff --git a/app/src/main/res/layout/drawer_list.xml b/app/src/main/res/layout/drawer_list.xml deleted file mode 100644 index 0e5d398ad..000000000 --- a/app/src/main/res/layout/drawer_list.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - diff --git a/app/src/main/res/layout/drawer_list_rv.xml b/app/src/main/res/layout/drawer_list_rv.xml index afd264e52..96ac8b253 100644 --- a/app/src/main/res/layout/drawer_list_rv.xml +++ b/app/src/main/res/layout/drawer_list_rv.xml @@ -27,7 +27,7 @@ android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/toolbarColor" - android:elevation="8dp" + android:elevation="4dp" android:saveEnabled="false" android:theme="@style/ThemeOverlay.MaterialComponents.Dark.ActionBar" app:popupTheme="?attr/toolbarPopupTheme" /> diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 28c0da409..a8a5c9988 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -139,8 +139,6 @@ @color/gallery_slider_background_dark -