Drop SignInRequiredPreference

This commit is contained in:
FooIbar authored and tarsin committed 2023-02-11 07:54:11 +08:00
1 parent 8a2cb42546
commit 453df64f69
4 files changed
+31 -85

No files matched your search

@@ -46,6 +46,8 @@ public class Settings {
public static final String KEY_ACCOUNT = "account";
public static final String KEY_IMAGE_LIMITS = "image_limits";
public static final String KEY_U_CONFIG = "uconfig";
public static final String KEY_MY_TAGS = "mytags";
public static final String KEY_BLACK_DARK_THEME = "black_dark_theme";
public static final int THEME_SYSTEM = -1;
public static final String KEY_GALLERY_SITE = "gallery_site";
@@ -53,11 +55,24 @@ public class Settings {
public static final String KEY_DETAIL_SIZE = "detail_size";
public static final String KEY_THUMB_SIZE = "thumb_size_";
public static final String KEY_THUMB_RESOLUTION = "thumb_resolution";
public static final String KEY_SHOW_JPN_TITLE = "show_jpn_title";
public static final String KEY_SHOW_TAG_TRANSLATIONS = "show_tag_translations";
public static final String KEY_TAG_TRANSLATIONS_SOURCE = "tag_translations_source";
public static final String KEY_DEFAULT_CATEGORIES = "default_categories";
public static final int DEFAULT_DEFAULT_CATEGORIES = EhConfig.ALL_CATEGORY;
public static final String KEY_EXCLUDED_TAG_NAMESPACES = "excluded_tag_namespaces";
public static final String KEY_EXCLUDED_LANGUAGES = "excluded_languages";
public static final String KEY_REQUEST_NEWS = "request_news";
public static final String KEY_HIDE_HV_EVENTS = "hide_hv_events";
public static final String[] SIGN_IN_REQUIRED = {
KEY_IMAGE_LIMITS,
KEY_GALLERY_SITE,
KEY_U_CONFIG,
KEY_MY_TAGS,
KEY_SHOW_JPN_TITLE,
KEY_REQUEST_NEWS,
KEY_HIDE_HV_EVENTS
};
/********************
****** Privacy and Security
********************/
@@ -88,7 +103,6 @@ public class Settings {
public static final String KEY_DOMAIN_FRONTING = "domain_fronting";
public static final String KEY_BYPASS_VPN = "bypass_vpn";
public static final String KEY_LIST_THUMB_SIZE = "list_tile_size";
private static final String KEY_HIDE_HV_EVENTS = "hide_hv_events";
private static final boolean DEFAULT_HIDE_HV_EVENTS = true;
private static final String KEY_SHOW_COMMENTS = "show_gallery_comments";
private static final boolean DEFAULT_SHOW_COMMENTS = true;
@@ -111,7 +125,6 @@ public class Settings {
private static final int DEFAULT_DETAIL_SIZE = 0;
private static final int DEFAULT_THUMB_SIZE = 120;
private static final int DEFAULT_THUMB_RESOLUTION = 0;
private static final String KEY_SHOW_JPN_TITLE = "show_jpn_title";
private static final boolean DEFAULT_SHOW_JPN_TITLE = false;
private static final String KEY_SHOW_GALLERY_PAGES = "show_gallery_pages";
private static final boolean DEFAULT_SHOW_GALLERY_PAGES = false;
@@ -192,7 +205,6 @@ public class Settings {
private static final int DEFAULT_CLIPBOARD_TEXT_HASH_CODE = 0;
private static final String KEY_DOWNLOAD_DELAY = "download_delay";
private static final int DEFAULT_DOWNLOAD_DELAY = 0;
private static final String KEY_REQUEST_NEWS = "request_news";
private static final boolean DEFAULT_REQUEST_NEWS = true;
private static final String KEY_ARCHIVE_PASSWDS = "archive_passwds";
private static final String KEY_QS_SAVE_PROGRESS = "qs_save_progress";
@@ -1,75 +0,0 @@
/*
* Copyright 2019 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.
*/
package com.hippo.ehviewer.preference;
import android.annotation.SuppressLint;
import android.content.Context;
import android.util.AttributeSet;
import androidx.preference.Preference;
import com.hippo.ehviewer.EhApplication;
import com.hippo.ehviewer.R;
import com.hippo.ehviewer.client.EhCookieStore;
import com.hippo.ehviewer.client.EhUrl;
import com.hippo.ehviewer.ui.SettingsActivity;
import com.hippo.ehviewer.ui.scene.BaseScene;
import okhttp3.HttpUrl;
public class SignInRequiredPreference extends Preference implements Preference.OnPreferenceClickListener {
@SuppressLint("StaticFieldLeak")
private SettingsActivity mActivity;
public SignInRequiredPreference(Context context) {
super(context);
init(context);
}
public SignInRequiredPreference(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public SignInRequiredPreference(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context);
}
private void init(Context context) {
mActivity = (SettingsActivity) context;
setOnPreferenceClickListener(this);
}
@Override
public boolean onPreferenceClick(Preference preference) {
EhCookieStore store = EhApplication.getEhCookieStore();
HttpUrl e = HttpUrl.get(EhUrl.HOST_E);
HttpUrl ex = HttpUrl.get(EhUrl.HOST_EX);
if (store.contains(e, EhCookieStore.KEY_IPB_MEMBER_ID) ||
store.contains(e, EhCookieStore.KEY_IPB_PASS_HASH) ||
store.contains(ex, EhCookieStore.KEY_IPB_MEMBER_ID) ||
store.contains(ex, EhCookieStore.KEY_IPB_PASS_HASH)) {
return false;
} else {
mActivity.showTip(R.string.error_please_login_first, BaseScene.LENGTH_SHORT);
return true;
}
}
}
@@ -20,6 +20,7 @@ import android.content.res.Configuration
import android.os.Bundle
import androidx.annotation.StringRes
import androidx.appcompat.app.AppCompatDelegate
import androidx.lifecycle.lifecycleScope
import androidx.preference.ListPreference
import androidx.preference.Preference
import com.hippo.ehviewer.EhApplication
@@ -28,13 +29,12 @@ import com.hippo.ehviewer.Settings
import com.hippo.ehviewer.client.EhCookieStore
import com.hippo.ehviewer.client.EhEngine
import com.hippo.ehviewer.client.EhTagDatabase
import eu.kanade.tachiyomi.util.lang.launchIO
import eu.kanade.tachiyomi.util.lang.launchNonCancellable
class EhFragment : BasePreferenceFragment() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
addPreferencesFromResource(R.xml.eh_settings)
val account = findPreference<Preference>(Settings.KEY_ACCOUNT)
val imageLimits = findPreference<Preference>(Settings.KEY_IMAGE_LIMITS)
val theme = findPreference<Preference>(Settings.KEY_THEME)
val blackDarkTheme = findPreference<Preference>(Settings.KEY_BLACK_DARK_THEME)
val gallerySite = findPreference<Preference>(Settings.KEY_GALLERY_SITE)
@@ -44,7 +44,7 @@ class EhFragment : BasePreferenceFragment() {
val thumbSize = findPreference<Preference>(Settings.KEY_THUMB_SIZE)
val thumbResolution = findPreference<Preference>(Settings.KEY_THUMB_RESOLUTION)
val showTagTranslations = findPreference<Preference>(Settings.KEY_SHOW_TAG_TRANSLATIONS)
val tagTranslationsSource = findPreference<Preference>("tag_translations_source")
val tagTranslationsSource = findPreference<Preference>(Settings.KEY_TAG_TRANSLATIONS_SOURCE)
Settings.getDisplayName()?.let { account?.summary = it }
theme!!.onPreferenceChangeListener = this
gallerySite!!.onPreferenceChangeListener = this
@@ -62,7 +62,10 @@ class EhFragment : BasePreferenceFragment() {
preferenceScreen.removePreference(tagTranslationsSource!!)
}
if (!EhCookieStore.hasSignedIn()) {
preferenceScreen.removePreference(imageLimits!!)
Settings.SIGN_IN_REQUIRED.forEach {
val preference = findPreference<Preference>(it)
preferenceScreen.removePreference(preference!!)
}
}
}
@@ -74,7 +77,13 @@ class EhFragment : BasePreferenceFragment() {
return true
} else if (Settings.KEY_GALLERY_SITE == key) {
requireActivity().setResult(Activity.RESULT_OK)
launchIO { runCatching { EhEngine.getUConfig() } }
lifecycleScope.launchNonCancellable {
runCatching {
EhEngine.getUConfig()
}.onFailure {
it.printStackTrace()
}
}
return true
} else if (Settings.KEY_LIST_MODE == key) {
requireActivity().setResult(Activity.RESULT_OK)
+2 -2
View File
@@ -40,13 +40,13 @@
app:iconSpaceReserved="false"
app:useSimpleSummaryProvider="true" />
<com.hippo.ehviewer.preference.SignInRequiredPreference
<Preference
android:key="uconfig"
android:summary="@string/settings_u_config_summary"
android:title="@string/settings_u_config"
app:iconSpaceReserved="false" />
<com.hippo.ehviewer.preference.SignInRequiredPreference
<Preference
android:key="mytags"
android:summary="@string/settings_my_tags_summary"
android:title="@string/settings_my_tags"