From bed942b19fea5aa334009005ad8d4c32ab3323cf Mon Sep 17 00:00:00 2001 From: Tyler Nijmeh Date: Wed, 31 Mar 2021 11:59:08 -0700 Subject: Add import and export Signed-off-by: Tyler Nijmeh --- .../draco/buoy/fragments/MainPreferenceFragment.kt | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'app/src/main/java/com') diff --git a/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt b/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt index 8292988..fc699ef 100644 --- a/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt +++ b/app/src/main/java/com/draco/buoy/fragments/MainPreferenceFragment.kt @@ -38,6 +38,14 @@ class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnS override fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) loadSettings() + + findPreference(getString(R.string.pref_key_import))?.let { + it.setOnPreferenceChangeListener { _, newValue -> + batterySaverManager.setConstantsString(newValue as String) + loadSettings() + return@setOnPreferenceChangeListener true + } + } } override fun onPreferenceTreeClick(preference: Preference): Boolean { @@ -48,6 +56,9 @@ class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnS getString(R.string.pref_profile_key_high) -> applyProfile(BatterySaverConstantsConfigProfiles.HIGH) getString(R.string.pref_profile_key_extreme) -> applyProfile(BatterySaverConstantsConfigProfiles.EXTREME) + getString(R.string.pref_key_export) -> exportSettings() + getString(R.string.pref_key_import) -> (preference as EditTextPreference).text = batterySaverManager.getConstantsString() + getString(R.string.pref_developer_key) -> openURL(getString(R.string.developer_url)) getString(R.string.pref_source_key) -> openURL(getString(R.string.source_url)) getString(R.string.pref_contact_key) -> openURL(getString(R.string.contact_url)) @@ -60,6 +71,15 @@ class MainPreferenceFragment : PreferenceFragmentCompat(), SharedPreferences.OnS return true } + private fun exportSettings() { + val intent = Intent() + .setAction(Intent.ACTION_SEND) + .putExtra(Intent.EXTRA_TEXT, batterySaverManager.getConstantsString()) + .setType("text/plain") + val chooser = Intent.createChooser(intent, getString(R.string.export_share_title)) + startActivity(chooser) + } + private fun loadSettings() { val currentProfileString = batterySaverManager.getConstantsString() val currentProfile = BatterySaverConstantsConfig().also { -- cgit v1.2.3