Loading app/k9mail/proguard-rules.pro +4 −0 Original line number Diff line number Diff line Loading @@ -23,3 +23,7 @@ -dontnote com.fsck.k9.view.** -keep public class org.openintents.openpgp.** -keepclassmembers class * extends android.support.v7.widget.SearchView { public <init>(android.content.Context); } app/ui/build.gradle +0 −2 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ dependencies { implementation project(':plugins:openpgp-api-lib:openpgp-api') implementation "com.android.support:appcompat-v7:${versions.supportLibrary}" implementation "com.android.support:preference-v14:${versions.supportLibrary}" implementation "com.android.support:cardview-v7:${versions.supportLibrary}" implementation "com.takisoft.fix:preference-v7:${versions.preferencesFix}" implementation "com.takisoft.fix:preference-v7-datetimepicker:${versions.preferencesFix}" implementation "com.takisoft.fix:preference-v7-colorpicker:${versions.preferencesFix}" Loading app/ui/src/main/java/com/fsck/k9/ui/ThemeExtensions.kt 0 → 100644 +15 −0 Original line number Diff line number Diff line package com.fsck.k9.ui import android.content.res.Resources.Theme import android.util.TypedValue fun Theme.resolveAttribute(resId: Int): Int { val typedValue = TypedValue() val found = resolveAttribute(resId, typedValue, true) if (!found) { throw IllegalStateException("Couldn't resolve attribute ($resId)") } return typedValue.data } app/ui/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsActivity.kt +31 −24 Original line number Diff line number Diff line Loading @@ -7,7 +7,6 @@ import android.os.Handler import android.support.v7.preference.PreferenceFragmentCompat import android.support.v7.preference.PreferenceFragmentCompat.OnPreferenceStartScreenCallback import android.support.v7.preference.PreferenceScreen import android.util.Log import android.view.Menu import android.view.MenuItem import com.bytehamster.lib.preferencesearch.SearchPreferenceActionView Loading @@ -18,6 +17,7 @@ import com.fsck.k9.activity.setup.FontSizeSettings import com.fsck.k9.ui.R import com.fsck.k9.ui.fragmentTransaction import com.fsck.k9.ui.fragmentTransactionWithBackStack import com.fsck.k9.ui.resolveAttribute class GeneralSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback, SearchPreferenceResultListener { private lateinit var searchPreferenceActionView: SearchPreferenceActionView Loading @@ -41,6 +41,18 @@ class GeneralSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback, S } } private fun initializeActionBar() { val actionBar = supportActionBar ?: throw RuntimeException("getSupportActionBar() == null") actionBar.setDisplayHomeAsUpEnabled(true) } override fun onSaveInstanceState(outState: Bundle) { outState.putString(KEY_SEARCH_QUERY, searchPreferenceActionView.query.toString()) outState.putBoolean(KEY_SEARCH_ENABLED, !searchPreferenceActionView.isIconified) searchPreferenceActionView.onBackPressed() super.onSaveInstanceState(outState) } override fun onSearchResultClicked(result: SearchPreferenceResult) { searchPreferenceActionView.close() searchPreferenceMenuItem.collapseActionView() Loading @@ -54,30 +66,32 @@ class GeneralSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback, S replace(R.id.generalSettingsContainer, fragment) } result.highlight(fragment as PreferenceFragmentCompat?, 0x009688) // Default material accent color val accentColor = theme.resolveAttribute(R.attr.colorAccent) result.highlight(fragment as PreferenceFragmentCompat, accentColor) } } private fun initializeActionBar() { val actionBar = supportActionBar ?: throw RuntimeException("getSupportActionBar() == null") actionBar.setDisplayHomeAsUpEnabled(true) } override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.general_settings_option, menu) searchPreferenceMenuItem = menu.findItem(R.id.search) searchPreferenceActionView = searchPreferenceMenuItem.actionView as SearchPreferenceActionView searchPreferenceActionView.setActivity(this) val config = searchPreferenceActionView.searchConfiguration config.setFragmentContainerViewId(R.id.generalSettingsContainer) config.setBreadcrumbsEnabled(true) config.setFuzzySearchEnabled(true) config.index().addFile(R.xml.general_settings) config.index().addBreadcrumb(R.string.general_settings_title) .addBreadcrumb(R.string.display_preferences) .addBreadcrumb(R.string.global_preferences) .addBreadcrumb(R.string.font_size_settings_title) .addFile(R.xml.font_preferences) with(searchPreferenceActionView.searchConfiguration) { setFragmentContainerViewId(R.id.generalSettingsContainer) setBreadcrumbsEnabled(true) setFuzzySearchEnabled(true) with(index()) { addFile(R.xml.general_settings) addBreadcrumb(R.string.general_settings_title) addBreadcrumb(R.string.display_preferences) addBreadcrumb(R.string.global_preferences) addBreadcrumb(R.string.font_size_settings_title) addFile(R.xml.font_preferences) } } searchPreferenceMenuItem.setOnActionExpandListener(object : MenuItem.OnActionExpandListener { override fun onMenuItemActionCollapse(item: MenuItem): Boolean { Loading Loading @@ -135,11 +149,4 @@ class GeneralSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback, S context.startActivity(intent) } } override fun onSaveInstanceState(outState: Bundle) { outState.putString(KEY_SEARCH_QUERY, searchPreferenceActionView.query.toString()) outState.putBoolean(KEY_SEARCH_ENABLED, !searchPreferenceActionView.isIconified) searchPreferenceActionView.onBackPressed() super.onSaveInstanceState(outState) } } build.gradle +2 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,8 @@ subprojects { force "com.android.support:support-annotations:${versions.supportLibrary}" force "com.android.support:design:${versions.supportLibrary}" force "com.android.support:support-fragment:${versions.supportLibrary}" force "com.android.support:preference-v14:${versions.supportLibrary}" force "com.android.support:cardview-v7:${versions.supportLibrary}" } } } Loading
app/k9mail/proguard-rules.pro +4 −0 Original line number Diff line number Diff line Loading @@ -23,3 +23,7 @@ -dontnote com.fsck.k9.view.** -keep public class org.openintents.openpgp.** -keepclassmembers class * extends android.support.v7.widget.SearchView { public <init>(android.content.Context); }
app/ui/build.gradle +0 −2 Original line number Diff line number Diff line Loading @@ -19,8 +19,6 @@ dependencies { implementation project(':plugins:openpgp-api-lib:openpgp-api') implementation "com.android.support:appcompat-v7:${versions.supportLibrary}" implementation "com.android.support:preference-v14:${versions.supportLibrary}" implementation "com.android.support:cardview-v7:${versions.supportLibrary}" implementation "com.takisoft.fix:preference-v7:${versions.preferencesFix}" implementation "com.takisoft.fix:preference-v7-datetimepicker:${versions.preferencesFix}" implementation "com.takisoft.fix:preference-v7-colorpicker:${versions.preferencesFix}" Loading
app/ui/src/main/java/com/fsck/k9/ui/ThemeExtensions.kt 0 → 100644 +15 −0 Original line number Diff line number Diff line package com.fsck.k9.ui import android.content.res.Resources.Theme import android.util.TypedValue fun Theme.resolveAttribute(resId: Int): Int { val typedValue = TypedValue() val found = resolveAttribute(resId, typedValue, true) if (!found) { throw IllegalStateException("Couldn't resolve attribute ($resId)") } return typedValue.data }
app/ui/src/main/java/com/fsck/k9/ui/settings/general/GeneralSettingsActivity.kt +31 −24 Original line number Diff line number Diff line Loading @@ -7,7 +7,6 @@ import android.os.Handler import android.support.v7.preference.PreferenceFragmentCompat import android.support.v7.preference.PreferenceFragmentCompat.OnPreferenceStartScreenCallback import android.support.v7.preference.PreferenceScreen import android.util.Log import android.view.Menu import android.view.MenuItem import com.bytehamster.lib.preferencesearch.SearchPreferenceActionView Loading @@ -18,6 +17,7 @@ import com.fsck.k9.activity.setup.FontSizeSettings import com.fsck.k9.ui.R import com.fsck.k9.ui.fragmentTransaction import com.fsck.k9.ui.fragmentTransactionWithBackStack import com.fsck.k9.ui.resolveAttribute class GeneralSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback, SearchPreferenceResultListener { private lateinit var searchPreferenceActionView: SearchPreferenceActionView Loading @@ -41,6 +41,18 @@ class GeneralSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback, S } } private fun initializeActionBar() { val actionBar = supportActionBar ?: throw RuntimeException("getSupportActionBar() == null") actionBar.setDisplayHomeAsUpEnabled(true) } override fun onSaveInstanceState(outState: Bundle) { outState.putString(KEY_SEARCH_QUERY, searchPreferenceActionView.query.toString()) outState.putBoolean(KEY_SEARCH_ENABLED, !searchPreferenceActionView.isIconified) searchPreferenceActionView.onBackPressed() super.onSaveInstanceState(outState) } override fun onSearchResultClicked(result: SearchPreferenceResult) { searchPreferenceActionView.close() searchPreferenceMenuItem.collapseActionView() Loading @@ -54,30 +66,32 @@ class GeneralSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback, S replace(R.id.generalSettingsContainer, fragment) } result.highlight(fragment as PreferenceFragmentCompat?, 0x009688) // Default material accent color val accentColor = theme.resolveAttribute(R.attr.colorAccent) result.highlight(fragment as PreferenceFragmentCompat, accentColor) } } private fun initializeActionBar() { val actionBar = supportActionBar ?: throw RuntimeException("getSupportActionBar() == null") actionBar.setDisplayHomeAsUpEnabled(true) } override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.general_settings_option, menu) searchPreferenceMenuItem = menu.findItem(R.id.search) searchPreferenceActionView = searchPreferenceMenuItem.actionView as SearchPreferenceActionView searchPreferenceActionView.setActivity(this) val config = searchPreferenceActionView.searchConfiguration config.setFragmentContainerViewId(R.id.generalSettingsContainer) config.setBreadcrumbsEnabled(true) config.setFuzzySearchEnabled(true) config.index().addFile(R.xml.general_settings) config.index().addBreadcrumb(R.string.general_settings_title) .addBreadcrumb(R.string.display_preferences) .addBreadcrumb(R.string.global_preferences) .addBreadcrumb(R.string.font_size_settings_title) .addFile(R.xml.font_preferences) with(searchPreferenceActionView.searchConfiguration) { setFragmentContainerViewId(R.id.generalSettingsContainer) setBreadcrumbsEnabled(true) setFuzzySearchEnabled(true) with(index()) { addFile(R.xml.general_settings) addBreadcrumb(R.string.general_settings_title) addBreadcrumb(R.string.display_preferences) addBreadcrumb(R.string.global_preferences) addBreadcrumb(R.string.font_size_settings_title) addFile(R.xml.font_preferences) } } searchPreferenceMenuItem.setOnActionExpandListener(object : MenuItem.OnActionExpandListener { override fun onMenuItemActionCollapse(item: MenuItem): Boolean { Loading Loading @@ -135,11 +149,4 @@ class GeneralSettingsActivity : K9Activity(), OnPreferenceStartScreenCallback, S context.startActivity(intent) } } override fun onSaveInstanceState(outState: Bundle) { outState.putString(KEY_SEARCH_QUERY, searchPreferenceActionView.query.toString()) outState.putBoolean(KEY_SEARCH_ENABLED, !searchPreferenceActionView.isIconified) searchPreferenceActionView.onBackPressed() super.onSaveInstanceState(outState) } }
build.gradle +2 −0 Original line number Diff line number Diff line Loading @@ -56,6 +56,8 @@ subprojects { force "com.android.support:support-annotations:${versions.supportLibrary}" force "com.android.support:design:${versions.supportLibrary}" force "com.android.support:support-fragment:${versions.supportLibrary}" force "com.android.support:preference-v14:${versions.supportLibrary}" force "com.android.support:cardview-v7:${versions.supportLibrary}" } } }