From ec330245898c107f9aef1debd98ffbb5849e5f51 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 18 Mar 2022 18:55:19 +0100 Subject: [PATCH] store portrait and landscape column count separately --- .../applauncher/activities/MainActivity.kt | 30 +++++++++++++++---- .../applauncher/adapters/LaunchersAdapter.kt | 13 ++++---- .../applauncher/helpers/Config.kt | 10 +++++-- .../applauncher/helpers/Constants.kt | 3 +- app/src/main/res/layout/activity_main.xml | 2 +- app/src/main/res/values-sw400dp/integers.xml | 3 +- app/src/main/res/values/integers.xml | 3 +- 7 files changed, 47 insertions(+), 17 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt index 67c5f90..cdf8629 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt @@ -77,9 +77,15 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.menu, menu) + val currentColumnCount = if (portrait) { + config.portraitColumnCnt + } else { + config.landscapeColumnCnt + } + menu.apply { - findItem(R.id.increase_column_count).isVisible = config.columnCnt < MAX_COLUMN_COUNT - findItem(R.id.reduce_column_count).isVisible = config.columnCnt > 1 + findItem(R.id.increase_column_count).isVisible = currentColumnCount < MAX_COLUMN_COUNT + findItem(R.id.reduce_column_count).isVisible = currentColumnCount > 1 updateMenuItemColors(menu) } return true @@ -162,12 +168,22 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { } private fun increaseColumnCount() { - config.columnCnt = ++(launchers_grid.layoutManager as MyGridLayoutManager).spanCount + val newColumnCount = ++(launchers_grid.layoutManager as MyGridLayoutManager).spanCount + if (portrait) { + config.portraitColumnCnt = newColumnCount + } else { + config.landscapeColumnCnt = newColumnCount + } columnCountChanged() } private fun reduceColumnCount() { - config.columnCnt = --(launchers_grid.layoutManager as MyGridLayoutManager).spanCount + val newColumnCount = --(launchers_grid.layoutManager as MyGridLayoutManager).spanCount + if (portrait) { + config.portraitColumnCnt = newColumnCount + } else { + config.landscapeColumnCnt = newColumnCount + } columnCountChanged() } @@ -181,7 +197,11 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { private fun setupGridLayoutManager() { val layoutManager = launchers_grid.layoutManager as MyGridLayoutManager - layoutManager.spanCount = config.columnCnt + if (portrait) { + layoutManager.spanCount = config.portraitColumnCnt + } else { + layoutManager.spanCount = config.landscapeColumnCnt + } } private fun initZoomListener() { diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/LaunchersAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/LaunchersAdapter.kt index 59cba05..4800af0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/LaunchersAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/LaunchersAdapter.kt @@ -15,10 +15,7 @@ import com.simplemobiletools.applauncher.extensions.dbHelper import com.simplemobiletools.applauncher.models.AppLauncher import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import com.simplemobiletools.commons.dialogs.ConfirmationDialog -import com.simplemobiletools.commons.extensions.applyColorFilter -import com.simplemobiletools.commons.extensions.beInvisibleIf -import com.simplemobiletools.commons.extensions.beVisibleIf -import com.simplemobiletools.commons.extensions.realScreenSize +import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.SORT_BY_CUSTOM import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.interfaces.ItemMoveCallback @@ -134,7 +131,13 @@ class LaunchersAdapter( } fun calculateIconWidth() { - val iconWidth = activity.realScreenSize.x / activity.config.columnCnt + val currentColumnCount = if (activity.portrait) { + activity.config.portraitColumnCnt + } else { + activity.config.landscapeColumnCnt + } + + val iconWidth = activity.realScreenSize.x / currentColumnCount iconPadding = (iconWidth * 0.1f).toInt() } diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/helpers/Config.kt index 306a156..8d7f0ab 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/helpers/Config.kt @@ -17,7 +17,11 @@ class Config(context: Context) : BaseConfig(context) { get() = prefs.getBoolean(CLOSE_APP, true) set(closeApp) = prefs.edit().putBoolean(CLOSE_APP, closeApp).apply() - var columnCnt: Int - get() = prefs.getInt(COLUMN_CNT, context.resources.getInteger(R.integer.column_count)) - set(columnCnt) = prefs.edit().putInt(COLUMN_CNT, columnCnt).apply() + var portraitColumnCnt: Int + get() = prefs.getInt(PORTRAIT_COLUMN_COUNT, context.resources.getInteger(R.integer.portrait_column_count)) + set(portraitColumnCnt) = prefs.edit().putInt(PORTRAIT_COLUMN_COUNT, portraitColumnCnt).apply() + + var landscapeColumnCnt: Int + get() = prefs.getInt(LANDSCAPE_COLUMN_COUNT, context.resources.getInteger(R.integer.landscape_column_count)) + set(landscapeColumnCnt) = prefs.edit().putInt(LANDSCAPE_COLUMN_COUNT, landscapeColumnCnt).apply() } diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/helpers/Constants.kt index 126cbc0..bb86f4f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/helpers/Constants.kt @@ -2,7 +2,8 @@ package com.simplemobiletools.applauncher.helpers const val WAS_REMOVE_INFO_SHOWN = "was_remove_info_shown" const val CLOSE_APP = "close_app" -const val COLUMN_CNT = "column_cnt" +const val PORTRAIT_COLUMN_COUNT = "portrait_column_count" +const val LANDSCAPE_COLUMN_COUNT = "landscape_column_count" val predefinedPackageNames = arrayListOf( "com.simplemobiletools.calculator", diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 5c6287f..6aab43a 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -21,7 +21,7 @@ android:layout_height="match_parent" android:clipToPadding="false" app:layoutManager="com.simplemobiletools.commons.views.MyGridLayoutManager" - app:spanCount="@integer/column_count" /> + app:spanCount="@integer/portrait_column_count" /> diff --git a/app/src/main/res/values-sw400dp/integers.xml b/app/src/main/res/values-sw400dp/integers.xml index 68eba31..0424721 100644 --- a/app/src/main/res/values-sw400dp/integers.xml +++ b/app/src/main/res/values-sw400dp/integers.xml @@ -1,3 +1,4 @@ - 6 + 6 + 10 diff --git a/app/src/main/res/values/integers.xml b/app/src/main/res/values/integers.xml index c31e99d..8bdfc9d 100644 --- a/app/src/main/res/values/integers.xml +++ b/app/src/main/res/values/integers.xml @@ -1,4 +1,5 @@ 2048 - 5 + 5 + 8