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