From b3c825339f1c11f142a70e7200b2c4c3fe08df2b Mon Sep 17 00:00:00 2001 From: kyori19 Date: Sun, 3 Jan 2021 14:42:50 +0900 Subject: [PATCH] Fix broken preferences --- .../com/keylesspalace/tusky/MainActivity.kt | 2 +- .../preference/PreferencesFragment.kt | 26 +++++++++---------- .../yuito/CustomUncaughtExceptionHandler.java | 8 ++++-- app/src/main/res/values-ja/strings.xml | 3 +-- app/src/main/res/values/strings.xml | 1 - 5 files changed, 21 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt b/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt index 335364379..d1f99c56c 100644 --- a/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt +++ b/app/src/main/java/com/keylesspalace/tusky/MainActivity.kt @@ -233,7 +233,7 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje .getBoolean("enableSwipeForTabs", true) viewPager.isUserInputEnabled = uswSwipeForTabs - if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean("viewPagerOffScreenLimit", false)) { + if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(PrefKeys.VIEW_PAGER_OFF_SCREEN_LIMIT, false)) { viewPager.offscreenPageLimit = 9 } diff --git a/app/src/main/java/com/keylesspalace/tusky/components/preference/PreferencesFragment.kt b/app/src/main/java/com/keylesspalace/tusky/components/preference/PreferencesFragment.kt index 10785ca86..609966161 100644 --- a/app/src/main/java/com/keylesspalace/tusky/components/preference/PreferencesFragment.kt +++ b/app/src/main/java/com/keylesspalace/tusky/components/preference/PreferencesFragment.kt @@ -20,10 +20,10 @@ import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import androidx.preference.SwitchPreference import com.keylesspalace.tusky.R -import com.keylesspalace.tusky.db.AccountManager -import com.keylesspalace.tusky.di.Injectable import com.keylesspalace.tusky.components.compose.ComposeActivity import com.keylesspalace.tusky.components.compose.ComposeActivity.ComposeOptions +import com.keylesspalace.tusky.db.AccountManager +import com.keylesspalace.tusky.di.Injectable import com.keylesspalace.tusky.entity.Notification import com.keylesspalace.tusky.settings.* import com.keylesspalace.tusky.util.ThemeUtils @@ -128,7 +128,6 @@ class PreferencesFragment : PreferenceFragmentCompat(), Injectable { setTitle(R.string.pref_title_bot_overlay) isSingleLineTitle = false setIcon(R.drawable.ic_bot_24dp) - } switchPreference { @@ -157,14 +156,6 @@ class PreferencesFragment : PreferenceFragmentCompat(), Injectable { key = PrefKeys.SHOW_NOTIFICATIONS_FILTER setTitle(R.string.pref_title_show_notifications_filter) isSingleLineTitle = false - setOnPreferenceClickListener { - activity?.let { activity -> - val intent = PreferencesActivity.newIntent(activity, PreferencesActivity.TAB_FILTER_PREFERENCES) - activity.startActivity(intent) - activity.overridePendingTransition(R.anim.slide_from_right, R.anim.slide_to_left) - } - true - } } switchPreference { @@ -285,8 +276,16 @@ class PreferencesFragment : PreferenceFragmentCompat(), Injectable { } } + preferenceCategory(R.string.pref_title_experimental) { + switchPreference { + title = getString(R.string.pref_title_experimental_viewpager_offscreen) + setDefaultValue(false) + key = PrefKeys.VIEW_PAGER_OFF_SCREEN_LIMIT + } + } + preferenceManager.sharedPreferences.let { prefs -> - prefs.getString("stack_trace", null)?.let { stackTrace -> + prefs.getString(PrefKeys.STACK_TRACE, null)?.let { stackTrace -> preferenceCategory(R.string.pref_title_stacktrace) { preference { setTitle(R.string.pref_title_stacktrace_send) @@ -298,11 +297,12 @@ class PreferencesFragment : PreferenceFragmentCompat(), Injectable { )) activity.startActivity(intent) prefs.edit() - .remove("stack_trace") + .remove(PrefKeys.STACK_TRACE) .apply() } true } + key = PrefKeys.SEND_CRASH_REPORT } preference { diff --git a/app/src/main/java/net/accelf/yuito/CustomUncaughtExceptionHandler.java b/app/src/main/java/net/accelf/yuito/CustomUncaughtExceptionHandler.java index 4a67cb2f9..39e97db7b 100644 --- a/app/src/main/java/net/accelf/yuito/CustomUncaughtExceptionHandler.java +++ b/app/src/main/java/net/accelf/yuito/CustomUncaughtExceptionHandler.java @@ -4,6 +4,10 @@ import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; +import androidx.annotation.NonNull; + +import com.keylesspalace.tusky.settings.PrefKeys; + import java.io.PrintWriter; import java.io.StringWriter; @@ -20,13 +24,13 @@ public class CustomUncaughtExceptionHandler implements Thread.UncaughtExceptionH } @Override - public void uncaughtException(Thread thread, Throwable e) { + public void uncaughtException(@NonNull Thread thread, Throwable e) { StringWriter stringWriter = new StringWriter(); e.printStackTrace(new PrintWriter(stringWriter)); String stackTrace = stringWriter.toString(); SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - preferences.edit().putString("stack_trace", stackTrace).apply(); + preferences.edit().putString(PrefKeys.STACK_TRACE, stackTrace).apply(); mDefaultUncaughtExceptionHandler.uncaughtException(thread, e); } diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 31e7412d2..4f1ace36d 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -172,7 +172,6 @@ モバイルネットワークでのみ有効 トゥート後のタイムラインの自動更新をしない ViewPagerのoffscreenPageLimitを増やす - HTLのストリーミングを利用する ダーク ライト ブラック @@ -467,4 +466,4 @@ %s人 Mastodonにおける予約までの最小間隔は5分です。 - \ No newline at end of file + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 47e58f5ff..00e6d22fe 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -252,7 +252,6 @@ Reduce timeline auto reload after toot Experimental Settings Increase offscreenPageLimit of ViewPager - Use home timeline streaming Stacktrace Send crash report to developer