diff --git a/app/build.gradle b/app/build.gradle index 729aa6684..211b8ddb6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -76,11 +76,12 @@ tasks.withType(JavaCompile) { dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') - implementation 'androidx.appcompat:appcompat:1.2.0' + implementation "androidx.activity:activity:1.2.0-rc01" + implementation 'androidx.appcompat:appcompat:1.3.0-alpha02' implementation 'androidx.biometric:biometric:1.0.1' implementation "androidx.browser:browser:1.3.0" implementation 'androidx.cardview:cardview:1.0.0' - implementation "androidx.fragment:fragment:1.2.5" + implementation "androidx.fragment:fragment:1.3.0-rc01" implementation "androidx.preference:preference:1.1.1" implementation 'com.google.android.gms:play-services-oss-licenses:17.0.0' implementation 'com.google.android.material:material:1.3.0-beta01' 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 6206d237c..8b4f6a4ec 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 @@ -64,8 +64,7 @@ public class AboutFragment extends BasePreferenceFragment { } @Override - public void onResume() { - super.onResume(); - setTitle(R.string.settings_about); + public int getFragmentTitle() { + return 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 6c10a69ac..a18944e89 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 @@ -298,8 +298,7 @@ public class AdvancedFragment extends BasePreferenceFragment { } @Override - public void onResume() { - super.onResume(); - setTitle(R.string.settings_advanced); + public int getFragmentTitle() { + return R.string.settings_advanced; } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/BaseFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/BaseFragment.java index 4e4f78a3c..a45e36a0a 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/BaseFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/BaseFragment.java @@ -6,8 +6,18 @@ import androidx.fragment.app.Fragment; import com.hippo.ehviewer.ui.SettingsActivity; public class BaseFragment extends Fragment { + @Override + public void onStart() { + super.onStart(); + setTitle(getFragmentTitle()); + } - public void setTitle(@StringRes int string) { + @StringRes + public int getFragmentTitle() { + return -1; + } + + private void setTitle(@StringRes int string) { requireActivity().setTitle(string); } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java index 5a945866c..152b646e5 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java @@ -11,6 +11,17 @@ import com.takisoft.preferencex.PreferenceFragmentCompat; public class BasePreferenceFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener { + @Override + public void onStart() { + super.onStart(); + setTitle(getFragmentTitle()); + } + + @StringRes + public int getFragmentTitle() { + return -1; + } + @Override public boolean onPreferenceChange(Preference preference, Object newValue) { return false; @@ -26,7 +37,7 @@ public class BasePreferenceFragment extends PreferenceFragmentCompat } - public void setTitle(@StringRes int string) { + private 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 02c02c782..5efde7b47 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 @@ -148,8 +148,7 @@ public class DownloadFragment extends BasePreferenceFragment { } @Override - public void onResume() { - super.onResume(); - setTitle(R.string.settings_download); + public int getFragmentTitle() { + return 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 7df6576d1..7472d56c2 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 @@ -89,8 +89,7 @@ public class EhFragment extends BasePreferenceFragment { } @Override - public void onResume() { - super.onResume(); - setTitle(R.string.settings_eh); + public int getFragmentTitle() { + return R.string.settings_eh; } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/FilterFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/FilterFragment.java index b63790b6c..012b88b65 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/FilterFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/FilterFragment.java @@ -58,7 +58,6 @@ public class FilterFragment extends BaseFragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_filter, container, false); - setTitle(R.string.filter); mFilterList = new FilterList(); @@ -450,4 +449,8 @@ public class FilterFragment extends BaseFragment { } } + @Override + public int getFragmentTitle() { + return R.string.filter; + } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/HostsFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/HostsFragment.java index fd9d6fb15..9055cbed0 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/HostsFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/HostsFragment.java @@ -58,7 +58,6 @@ public class HostsFragment extends BaseFragment @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_hosts, container, false); - setTitle(R.string.hosts); RecyclerView recyclerView = view.findViewById(R.id.recycler_view); TextView tip = (TextView) ViewUtils.$$(view, R.id.tip); mViewTransition = new ViewTransition(recyclerView, tip); @@ -272,4 +271,8 @@ public class HostsFragment extends BaseFragment } } + @Override + public int getFragmentTitle() { + return R.string.hosts; + } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/MyTagsFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/MyTagsFragment.java index 80498d552..28efe3655 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/MyTagsFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/MyTagsFragment.java @@ -35,7 +35,6 @@ public class MyTagsFragment extends BaseFragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_webview, container, false); - setTitle(R.string.my_tags); webView = view.findViewById(R.id.webview); webView.setBackgroundColor(AttrResources.getAttrColor(requireActivity(), android.R.attr.colorBackground)); webView.getSettings().setBuiltInZoomControls(true); @@ -90,4 +89,9 @@ public class MyTagsFragment extends BaseFragment { progress.setVisibility(View.GONE); } } + + @Override + public int getFragmentTitle() { + return R.string.my_tags; + } } 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 cfffd7dc7..e4d2f246e 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 @@ -26,9 +26,8 @@ public class PrivacyFragment extends BasePreferenceFragment { } @Override - public void onResume() { - super.onResume(); - setTitle(R.string.settings_privacy); + public void onStart() { + super.onStart(); Preference patternProtection = findPreference(KEY_PATTERN_PROTECTION); patternProtection.setSummary(TextUtils.isEmpty(Settings.getSecurity()) ? R.string.settings_privacy_pattern_protection_not_set : @@ -45,4 +44,9 @@ public class PrivacyFragment extends BasePreferenceFragment { } return true; } + + @Override + public int getFragmentTitle() { + return R.string.settings_privacy; + } } 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 03e1bad3c..5cb9c9113 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 @@ -30,8 +30,7 @@ public class ReadFragment extends BasePreferenceFragment { } @Override - public void onResume() { - super.onResume(); - setTitle(R.string.settings_read); + public int getFragmentTitle() { + return R.string.settings_read; } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/SetSecurityFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/SetSecurityFragment.java index e571750ed..caaa29dcf 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/SetSecurityFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/SetSecurityFragment.java @@ -32,7 +32,6 @@ public class SetSecurityFragment extends BaseFragment implements View.OnClickLis @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_set_security, container, false); - setTitle(R.string.set_pattern_protection); mPatternView = (LockPatternView) ViewUtils.$$(view, R.id.pattern_view); mCancel = ViewUtils.$$(view, R.id.cancel); @@ -80,4 +79,9 @@ public class SetSecurityFragment extends BaseFragment implements View.OnClickLis requireActivity().onBackPressed(); } } + + @Override + public int getFragmentTitle() { + return R.string.set_pattern_protection; + } } 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 d137aed52..534c73999 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 @@ -13,8 +13,7 @@ public class SettingsFragment extends BasePreferenceFragment { } @Override - public void onResume() { - super.onResume(); - setTitle(R.string.settings); + public int getFragmentTitle() { + return R.string.settings; } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/UConfigFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/UConfigFragment.java index fb8a86c71..174f4a667 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/UConfigFragment.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/UConfigFragment.java @@ -40,7 +40,6 @@ public class UConfigFragment extends BaseFragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.activity_webview, container, false); - setTitle(R.string.u_config); webView = view.findViewById(R.id.webview); webView.setBackgroundColor(AttrResources.getAttrColor(requireActivity(), android.R.attr.colorBackground)); webView.getSettings().setBuiltInZoomControls(true); @@ -167,4 +166,9 @@ public class UConfigFragment extends BaseFragment { loaded = true; } } + + @Override + public int getFragmentTitle() { + return R.string.u_config; + } }