Default custom tab when custom icon is already selected

This commit is contained in:
J-Jamet
2021-03-05 20:34:15 +01:00
parent 29a2e60e05
commit e0aab6cfbf
2 changed files with 31 additions and 1 deletions

View File

@@ -101,7 +101,13 @@ class IconPickerActivity : LockingActivity() {
if (savedInstanceState == null) {
supportFragmentManager.commit {
setReorderingAllowed(true)
add(R.id.icon_picker_fragment, IconPickerFragment(), ICON_PICKER_FRAGMENT_TAG)
add(R.id.icon_picker_fragment, IconPickerFragment.getInstance(
// Default selection tab
if (!mIconImage.custom.isUnknown)
IconPickerFragment.IconTab.CUSTOM
else
IconPickerFragment.IconTab.STANDARD
), ICON_PICKER_FRAGMENT_TAG)
}
} else {
mIconImage = savedInstanceState.getParcelable(EXTRA_ICON) ?: mIconImage

View File

@@ -46,8 +46,32 @@ class IconPickerFragment : StylishFragment() {
}
}.attach()
arguments?.apply {
if (containsKey(ICON_TAB_ARG)) {
viewPager.currentItem = getInt(ICON_TAB_ARG)
}
remove(ICON_TAB_ARG)
}
iconPickerViewModel.iconCustomAdded.observe(viewLifecycleOwner) { _ ->
viewPager.currentItem = 1
}
}
enum class IconTab {
STANDARD, CUSTOM
}
companion object {
private const val ICON_TAB_ARG = "ICON_TAB_ARG"
fun getInstance(iconTab: IconTab): IconPickerFragment {
val fragment = IconPickerFragment()
fragment.arguments = Bundle().apply {
putInt(ICON_TAB_ARG, iconTab.ordinal)
}
return fragment
}
}
}