From 600524d548105aa026c0d1900d503bab34c38ce4 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Mon, 26 Jun 2017 15:43:32 -0700 Subject: Add back press helper --- docs/Changelog.md | 6 ++++++ gradle.properties | 4 ++-- .../main/kotlin/ca/allanwang/kau/searchview/SearchView.kt | 14 ++++++++++++++ .../main/kotlin/ca/allanwang/kau/sample/MainActivity.kt | 11 ++++++++++- sample/src/main/res/xml/changelog.xml | 13 ++++++++++--- 5 files changed, 42 insertions(+), 6 deletions(-) diff --git a/docs/Changelog.md b/docs/Changelog.md index 042f94d..a7037b4 100644 --- a/docs/Changelog.md +++ b/docs/Changelog.md @@ -1,5 +1,11 @@ # Changelog +## v1.3 +* Added kpref subitems +* Added DSL markers +* Added transition utils and other utils +* Added custom searchview with binders + ## v1.2 * Fix title attribute in changelog * Update support libs diff --git a/gradle.properties b/gradle.properties index aa9e621..3f64bcf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -20,8 +20,8 @@ APP_GROUP=ca.allanwang MIN_SDK=21 TARGET_SDK=26 BUILD_TOOLS=26.0.0 -VERSION_CODE=2 -VERSION_NAME=1.1 +VERSION_CODE=4 +VERSION_NAME=1.3 ANDROID_SUPPORT_LIBS=26.0.0-beta2 MATERIAL_DIALOG=0.9.4.3 diff --git a/library/src/main/kotlin/ca/allanwang/kau/searchview/SearchView.kt b/library/src/main/kotlin/ca/allanwang/kau/searchview/SearchView.kt index bfeed52..d7ff634 100644 --- a/library/src/main/kotlin/ca/allanwang/kau/searchview/SearchView.kt +++ b/library/src/main/kotlin/ca/allanwang/kau/searchview/SearchView.kt @@ -179,6 +179,7 @@ class SearchView @JvmOverloads constructor( init { View.inflate(context, R.layout.kau_search_view, this) + z = 99f iconNav.setSearchIcon(configs.navIcon) iconClear.setSearchIcon(configs.clearIcon).setOnClickListener { editText.text.clear() @@ -186,6 +187,7 @@ class SearchView @JvmOverloads constructor( tintForeground(configs.foregroundColor) tintBackground(configs.backgroundColor) with(recycler) { + isNestedScrollingEnabled = false layoutManager = LinearLayoutManager(context) addOnScrollListener(object : RecyclerView.OnScrollListener() { override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) { @@ -263,6 +265,18 @@ class SearchView @JvmOverloads constructor( }) } + /** + * Handle a back press event + * Returns true if back press is consumed, false otherwise + */ + fun onBackPressed(): Boolean { + if (isOpen && menuItem != null) { + revealClose() + return true + } + return false + } + /** * Tint foreground attributes * This can be done publicly through [configs], which will also save the color diff --git a/sample/src/main/kotlin/ca/allanwang/kau/sample/MainActivity.kt b/sample/src/main/kotlin/ca/allanwang/kau/sample/MainActivity.kt index 51010c0..83523fa 100644 --- a/sample/src/main/kotlin/ca/allanwang/kau/sample/MainActivity.kt +++ b/sample/src/main/kotlin/ca/allanwang/kau/sample/MainActivity.kt @@ -9,6 +9,7 @@ import ca.allanwang.kau.kpref.KPrefActivity import ca.allanwang.kau.kpref.KPrefAdapterBuilder import ca.allanwang.kau.logging.KL import ca.allanwang.kau.searchview.SearchItem +import ca.allanwang.kau.searchview.SearchView import ca.allanwang.kau.searchview.bindSearchView import ca.allanwang.kau.utils.materialDialog import ca.allanwang.kau.utils.navigationBarColor @@ -20,6 +21,8 @@ import com.mikepenz.google_material_typeface_library.GoogleMaterial class MainActivity : KPrefActivity() { + lateinit var searchView: SearchView + override fun kPrefCoreAttributes(): CoreAttributeContract.() -> Unit = { textColor = { KPrefSample.textColor } accentColor = { KPrefSample.accentColor } @@ -95,6 +98,9 @@ class MainActivity : KPrefActivity() { subItems(R.string.sub_item, subPrefs()) { descRes = R.string.sub_item_desc } + + plainText(R.string.kau_lorem_ipsum) + } fun subPrefs(): KPrefAdapterBuilder.() -> Unit = { @@ -125,7 +131,7 @@ class MainActivity : KPrefActivity() { override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.menu_main, menu) - container.bindSearchView(menu, R.id.action_search) { + searchView = container.bindSearchView(menu, R.id.action_search) { textObserver = { observable, searchView -> observable.subscribe { @@ -155,4 +161,7 @@ class MainActivity : KPrefActivity() { return true } + override fun onBackPressed() { + if (!searchView.onBackPressed()) super.onBackPressed() + } } diff --git a/sample/src/main/res/xml/changelog.xml b/sample/src/main/res/xml/changelog.xml index 76d2563..55ddd34 100644 --- a/sample/src/main/res/xml/changelog.xml +++ b/sample/src/main/res/xml/changelog.xml @@ -6,14 +6,21 @@ --> + + + + + + + + + + - - - -- cgit v1.2.3