diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 2aa7d50e..a6fab302 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -178,7 +178,7 @@ afterEvaluate { } dependencies { - val navVersion = "2.3.5" + val navVersion = "2.8.9" val roomVersion = "2.6.1" implementation("androidx.navigation:navigation-fragment-ktx:$navVersion") diff --git a/app/src/main/java/com/philkes/notallyx/presentation/activity/main/MainActivity.kt b/app/src/main/java/com/philkes/notallyx/presentation/activity/main/MainActivity.kt index 4109a1eb..cc7b7926 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/activity/main/MainActivity.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/activity/main/MainActivity.kt @@ -31,8 +31,6 @@ import com.philkes.notallyx.R import com.philkes.notallyx.data.NotallyDatabase import com.philkes.notallyx.data.model.BaseNote import com.philkes.notallyx.data.model.Folder -import com.philkes.notallyx.data.model.Type -import com.philkes.notallyx.data.model.toText import com.philkes.notallyx.databinding.ActivityMainBinding import com.philkes.notallyx.presentation.activity.LockedActivity import com.philkes.notallyx.presentation.activity.main.fragment.DisplayLabelFragment.Companion.EXTRA_DISPLAYED_LABEL @@ -40,7 +38,6 @@ import com.philkes.notallyx.presentation.activity.main.fragment.NotallyFragment import com.philkes.notallyx.presentation.activity.note.EditListActivity import com.philkes.notallyx.presentation.activity.note.EditNoteActivity import com.philkes.notallyx.presentation.add -import com.philkes.notallyx.presentation.applySpans import com.philkes.notallyx.presentation.getQuantityString import com.philkes.notallyx.presentation.movedToResId import com.philkes.notallyx.presentation.setCancelButton @@ -78,7 +75,7 @@ class MainActivity : LockedActivity() { var getCurrentFragmentNotes: (() -> Collection?)? = null override fun onSupportNavigateUp(): Boolean { - return navController.navigateUp(configuration) + return navController.navigateUp(configuration) || super.onSupportNavigateUp() } override fun onCreate(savedInstanceState: Bundle?) { @@ -489,7 +486,7 @@ class MainActivity : LockedActivity() { popExit = androidx.navigation.ui.R.anim.nav_default_pop_exit_anim popEnter = androidx.navigation.ui.R.anim.nav_default_pop_enter_anim } - popUpTo(navController.graph.startDestination) { inclusive = false } + popUpTo(navController.graph.startDestinationId) { inclusive = false } } navController.navigate(id, null, options) } diff --git a/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt b/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt index badb86b9..15ffdcf8 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/activity/main/fragment/NotallyFragment.kt @@ -208,16 +208,6 @@ abstract class NotallyFragment : Fragment(), ItemListener { navController.navigate(R.id.Search, bundle) } } - setOnFocusChangeListener { v, hasFocus -> - if (hasFocus && navController.currentDestination?.id != R.id.Search) { - val bundle = - Bundle().apply { - putSerializable(EXTRA_INITIAL_FOLDER, model.folder.value) - putSerializable(EXTRA_INITIAL_LABEL, model.currentLabel) - } - navController.navigate(R.id.Search, bundle) - } - } } } diff --git a/app/src/main/java/com/philkes/notallyx/presentation/view/misc/EditTextWithWatcher.kt b/app/src/main/java/com/philkes/notallyx/presentation/view/misc/EditTextWithWatcher.kt index 0e8f7abc..061f3f3a 100644 --- a/app/src/main/java/com/philkes/notallyx/presentation/view/misc/EditTextWithWatcher.kt +++ b/app/src/main/java/com/philkes/notallyx/presentation/view/misc/EditTextWithWatcher.kt @@ -49,28 +49,30 @@ open class EditTextWithWatcher(context: Context, attrs: AttributeSet) : replaceWith = ReplaceWith("changeText/applyWithoutTextWatcher/..."), ) override fun getText(): Editable? { - return super.getText() + return getTextSafe() } fun getTextClone(): Editable { - return super.getText()!!.clone() + return getTextSafe().clone() } fun applyWithoutTextWatcher( callback: EditTextWithWatcher.() -> Unit ): Pair { - val textBefore = super.getText()!!.clone() + val textBefore = getTextClone() val editTextWatcher = textWatcher editTextWatcher?.let { removeTextChangedListener(it) } callback() editTextWatcher?.let { addTextChangedListener(it) } - return Pair(textBefore, super.getText()!!.clone()) + return Pair(textBefore, getTextClone()) } fun changeText(callback: (text: Editable) -> Unit): Pair { - return applyWithoutTextWatcher { callback(super.getText()!!) } + return applyWithoutTextWatcher { callback(getTextSafe()!!) } } + private fun getTextSafe() = super.getText() ?: Editable.Factory.getInstance().newEditable("") + fun focusAndSelect( start: Int = selectionStart, end: Int = selectionEnd,