Don't restart activity if night mode is not enabled

This commit is contained in:
NekoInverter committed 2020-03-23 21:11:44 +08:00
1 parent b96fbddcce
commit 47f5cc5de1
3 files changed
+14 -71

No files matched your search

@@ -17,7 +17,7 @@
package com.hippo.ehviewer.ui.fragment;
import android.app.Activity;
import android.os.Build;
import android.content.res.Configuration;
import android.os.Bundle;
import androidx.annotation.Nullable;
@@ -54,7 +54,7 @@ public class EhFragment extends PreferenceFragmentCompat
showTagTranslations.setOnPreferenceChangeListener(this);
blackDarkTheme.setOnPreferenceChangeListener(this);
if (!EhTagDatabase.isPossible(getActivity())) {
if (!EhTagDatabase.isPossible(requireActivity())) {
getPreferenceScreen().removePreference(showTagTranslations);
getPreferenceScreen().removePreference(tagTranslationsSource);
}
@@ -65,24 +65,26 @@ public class EhFragment extends PreferenceFragmentCompat
String key = preference.getKey();
if (Settings.KEY_THEME.equals(key)) {
AppCompatDelegate.setDefaultNightMode(Integer.parseInt((String) newValue));
((EhApplication) getActivity().getApplication()).recreate();
((EhApplication) requireActivity().getApplication()).recreate();
return true;
} else if (Settings.KEY_GALLERY_SITE.equals(key)) {
getActivity().setResult(Activity.RESULT_OK);
requireActivity().setResult(Activity.RESULT_OK);
return true;
} else if (Settings.KEY_LIST_MODE.equals(key)) {
getActivity().setResult(Activity.RESULT_OK);
requireActivity().setResult(Activity.RESULT_OK);
return true;
} else if (Settings.KEY_DETAIL_SIZE.equals(key)) {
getActivity().setResult(Activity.RESULT_OK);
requireActivity().setResult(Activity.RESULT_OK);
} else if (Settings.KEY_THUMB_SIZE.equals(key)) {
getActivity().setResult(Activity.RESULT_OK);
requireActivity().setResult(Activity.RESULT_OK);
} else if (Settings.KEY_SHOW_TAG_TRANSLATIONS.equals(key)) {
if (Boolean.TRUE.equals(newValue)) {
EhTagDatabase.update(getActivity());
EhTagDatabase.update(requireActivity());
}
} else if (Settings.KEY_BLACK_DARK_THEME.equals(key)) {
((EhApplication) getActivity().getApplication()).recreate();
if ((requireActivity().getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_YES) > 0) {
((EhApplication) requireActivity().getApplication()).recreate();
}
return true;
}
return true;
@@ -1,62 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright 2016 Hippo Seven
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="@dimen/keyline_margin">
<TextView
android:id="@+id/path"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:ellipsize="start"
android:singleLine="true"
android:textColor="?android:attr/textColorPrimary"
android:textSize="@dimen/text_little_small" />
<com.hippo.widget.DirExplorer
android:id="@+id/dir_explorer"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/preset"
style="?attr/buttonBarButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:text="@string/preset"
android:textColor="?attr/colorAccent" />
<TextView
android:id="@+id/ok"
style="?attr/buttonBarButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@android:string/ok"
android:textColor="?attr/colorPrimary" />
</FrameLayout>
</LinearLayout>
@@ -711,4 +711,7 @@
<string name="download_service">下载服务</string>
<string name="favorite_name">收藏画廊</string>
<string name="follow_system">跟随系统</string>
<string name="black_dark_theme">纯黑深色主题</string>
</resources>