From 3bd67e20984661f31825567211930f47dbb5823a Mon Sep 17 00:00:00 2001 From: Koitharu Date: Fri, 11 Feb 2022 20:13:43 +0200 Subject: [PATCH] Move LeakCanary to settings --- app/src/debug/res/menu/opt_settings.xml | 11 +++++++++ app/src/debug/res/values/bools.xml | 4 ++++ .../kotatsu/settings/MainSettingsFragment.kt | 24 +++++++++++++++++++ app/src/main/res/menu/opt_settings.xml | 2 ++ app/src/main/res/values/ids.xml | 1 + 5 files changed, 42 insertions(+) create mode 100644 app/src/debug/res/menu/opt_settings.xml create mode 100644 app/src/debug/res/values/bools.xml create mode 100644 app/src/main/res/menu/opt_settings.xml diff --git a/app/src/debug/res/menu/opt_settings.xml b/app/src/debug/res/menu/opt_settings.xml new file mode 100644 index 000000000..f54e09cc0 --- /dev/null +++ b/app/src/debug/res/menu/opt_settings.xml @@ -0,0 +1,11 @@ + + + + + + \ No newline at end of file diff --git a/app/src/debug/res/values/bools.xml b/app/src/debug/res/values/bools.xml new file mode 100644 index 000000000..fc8a7be3d --- /dev/null +++ b/app/src/debug/res/values/bools.xml @@ -0,0 +1,4 @@ + + + false + \ No newline at end of file diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/MainSettingsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/settings/MainSettingsFragment.kt index e35b505b5..557c291c7 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/MainSettingsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/MainSettingsFragment.kt @@ -3,9 +3,13 @@ package org.koitharu.kotatsu.settings import android.content.Intent import android.content.SharedPreferences import android.os.Bundle +import android.view.Menu +import android.view.MenuInflater +import android.view.MenuItem import android.view.View import androidx.appcompat.app.AppCompatDelegate import androidx.preference.* +import leakcanary.LeakCanary import org.koitharu.kotatsu.R import org.koitharu.kotatsu.base.ui.BasePreferenceFragment import org.koitharu.kotatsu.base.ui.dialog.StorageSelectDialog @@ -24,6 +28,11 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), SharedPreferences.OnSharedPreferenceChangeListener, StorageSelectDialog.OnStorageSelectListener { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setHasOptionsMenu(true) + } + override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { addPreferencesFromResource(R.xml.pref_main) findPreference(AppSettings.KEY_GRID_SIZE)?.run { @@ -66,6 +75,21 @@ class MainSettingsFragment : BasePreferenceFragment(R.string.settings), settings.subscribe(this) } + override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { + super.onCreateOptionsMenu(menu, inflater) + inflater.inflate(R.menu.opt_settings, menu) + } + + override fun onOptionsItemSelected(item: MenuItem): Boolean { + return when (item.itemId) { + R.id.action_leaks -> { + startActivity(LeakCanary.newLeakDisplayActivityIntent()) + true + } + else -> super.onOptionsItemSelected(item) + } + } + override fun onDestroyView() { settings.unsubscribe(this) super.onDestroyView() diff --git a/app/src/main/res/menu/opt_settings.xml b/app/src/main/res/menu/opt_settings.xml new file mode 100644 index 000000000..1fe7aa6d4 --- /dev/null +++ b/app/src/main/res/menu/opt_settings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml index cb7044761..a1c761db4 100644 --- a/app/src/main/res/values/ids.xml +++ b/app/src/main/res/values/ids.xml @@ -2,4 +2,5 @@ + \ No newline at end of file