From 24463720b113f7d5ec19b29ee07ba8d5059cee61 Mon Sep 17 00:00:00 2001 From: Koitharu Date: Mon, 9 Jan 2023 14:32:02 +0200 Subject: [PATCH] Update tools fragment layout --- .../kotatsu/main/ui/MainNavigationDelegate.kt | 9 ++ .../kotatsu/settings/tools/ToolsFragment.kt | 13 ++- .../main/res/layout-w600dp/fragment_tools.xml | 100 ++++++++++++++++++ app/src/main/res/layout/layout_app_update.xml | 41 ++++--- 4 files changed, 141 insertions(+), 22 deletions(-) create mode 100644 app/src/main/res/layout-w600dp/fragment_tools.xml diff --git a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainNavigationDelegate.kt b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainNavigationDelegate.kt index 755df3550..c7db45a81 100644 --- a/app/src/main/java/org/koitharu/kotatsu/main/ui/MainNavigationDelegate.kt +++ b/app/src/main/java/org/koitharu/kotatsu/main/ui/MainNavigationDelegate.kt @@ -46,6 +46,7 @@ class MainNavigationDelegate( fun onCreate(savedInstanceState: Bundle?) { primaryFragment?.let { onFragmentChanged(it, fromUser = false) + navBar.selectedItemId = getItemId(it) } ?: onNavigationItemSelected(navBar.selectedItemId) } @@ -92,6 +93,14 @@ class MainNavigationDelegate( return true } + private fun getItemId(fragment: Fragment) = when (fragment) { + is ShelfFragment -> R.id.nav_shelf + is ExploreFragment -> R.id.nav_explore + is FeedFragment -> R.id.nav_feed + is ToolsFragment -> R.id.nav_tools + else -> 0 + } + private fun setPrimaryFragment(fragment: Fragment) { fragmentManager.beginTransaction() .setReorderingAllowed(true) diff --git a/app/src/main/java/org/koitharu/kotatsu/settings/tools/ToolsFragment.kt b/app/src/main/java/org/koitharu/kotatsu/settings/tools/ToolsFragment.kt index 69fc6b732..f09583d75 100644 --- a/app/src/main/java/org/koitharu/kotatsu/settings/tools/ToolsFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/settings/tools/ToolsFragment.kt @@ -16,7 +16,6 @@ import androidx.core.view.isVisible import androidx.core.view.updatePadding import androidx.core.widget.TextViewCompat import androidx.fragment.app.viewModels -import com.google.android.material.R as materialR import com.google.android.material.color.MaterialColors import dagger.hilt.android.AndroidEntryPoint import org.koitharu.kotatsu.R @@ -30,6 +29,7 @@ import org.koitharu.kotatsu.settings.about.AppUpdateDialog import org.koitharu.kotatsu.settings.tools.model.StorageUsage import org.koitharu.kotatsu.utils.FileSize import org.koitharu.kotatsu.utils.ext.getThemeColor +import com.google.android.material.R as materialR @AndroidEntryPoint class ToolsFragment : @@ -48,6 +48,7 @@ class ToolsFragment : binding.buttonSettings.setOnClickListener(this) binding.buttonDownloads.setOnClickListener(this) binding.cardUpdate.root.setOnClickListener(this) + binding.cardUpdate.buttonChangelog.setOnClickListener(this) binding.cardUpdate.buttonDownload.setOnClickListener(this) binding.switchIncognito.setOnCheckedChangeListener(this) @@ -69,10 +70,13 @@ class ToolsFragment : intent.data = url.toUri() startActivity(Intent.createChooser(intent, getString(R.string.open_in_browser))) } + R.id.card_update -> { val version = viewModel.appUpdate.value ?: return AppUpdateDialog(v.context).show(version) } + + R.id.button_changelog -> showChangelog() } } @@ -141,6 +145,13 @@ class ToolsFragment : return MaterialColors.harmonize(color, backgroundColor) } + private fun showChangelog() { + TransitionManager.beginDelayedTransition(binding.cardUpdate.root) + binding.cardUpdate.buttonChangelog.isVisible = false + binding.cardUpdate.textSecondary.isVisible = true + binding.cardUpdate.textChangelog.isVisible = true + } + companion object { fun newInstance() = ToolsFragment() diff --git a/app/src/main/res/layout-w600dp/fragment_tools.xml b/app/src/main/res/layout-w600dp/fragment_tools.xml new file mode 100644 index 000000000..011d289af --- /dev/null +++ b/app/src/main/res/layout-w600dp/fragment_tools.xml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/layout_app_update.xml b/app/src/main/res/layout/layout_app_update.xml index 5e2a13b1e..965287876 100644 --- a/app/src/main/res/layout/layout_app_update.xml +++ b/app/src/main/res/layout/layout_app_update.xml @@ -13,18 +13,6 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - - - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/textPrimary" + tools:visibility="visible" /> + tools:text="- Fixes\n- Improvements" + tools:visibility="visible" /> + +