summaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorTanuj M <thetanuj@hotmail.com>2020-12-08 15:00:49 +0530
committerTanuj M <thetanuj@hotmail.com>2020-12-08 15:00:49 +0530
commitcd5984bb8e93d040bd8c8d57124ec3d8ca0ea1c6 (patch)
tree2998f649fa4fb21e2f4919865c103ae03e091937 /app/src/main/java
parentbf91e4681c8c30d1742b889669ca74f2cb64ac97 (diff)
downloadSidePhOnelauncher-cd5984bb8e93d040bd8c8d57124ec3d8ca0ea1c6.tar.gz
SidePhOnelauncher-cd5984bb8e93d040bd8c8d57124ec3d8ca0ea1c6.tar.bz2
SidePhOnelauncher-cd5984bb8e93d040bd8c8d57124ec3d8ca0ea1c6.zip
Added show hide status bar option
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/app/olauncher/data/Prefs.kt5
-rw-r--r--app/src/main/java/app/olauncher/ui/HomeFragment.kt29
-rw-r--r--app/src/main/java/app/olauncher/ui/SettingsFragment.kt44
3 files changed, 70 insertions, 8 deletions
diff --git a/app/src/main/java/app/olauncher/data/Prefs.kt b/app/src/main/java/app/olauncher/data/Prefs.kt
index ba45446..572f01f 100644
--- a/app/src/main/java/app/olauncher/data/Prefs.kt
+++ b/app/src/main/java/app/olauncher/data/Prefs.kt
@@ -17,6 +17,7 @@ class Prefs(context: Context) {
private val WALLPAPER_UPDATED_DAY = "WALLPAPER_UPDATED_DAY"
private val HOME_ALIGNMENT = "HOME_ALIGNMENT"
private val APP_LABEL_ALIGNMENT = "APP_LABEL_ALIGNMENT"
+ private val STATUS_BAR = "STATUS_BAR"
private val SWIPE_LEFT_ENABLED = "SWIPE_LEFT_ENABLED"
private val SWIPE_RIGHT_ENABLED = "SWIPE_RIGHT_ENABLED"
private val SCREEN_TIMEOUT = "SCREEN_TIMEOUT"
@@ -98,6 +99,10 @@ class Prefs(context: Context) {
get() = prefs.getInt(APP_LABEL_ALIGNMENT, Gravity.START)
set(value) = prefs.edit().putInt(APP_LABEL_ALIGNMENT, value).apply()
+ var showStatusBar: Boolean
+ get() = prefs.getBoolean(STATUS_BAR, false)
+ set(value) = prefs.edit().putBoolean(STATUS_BAR, value).apply()
+
var swipeLeftEnabled: Boolean
get() = prefs.getBoolean(SWIPE_LEFT_ENABLED, true)
set(value) = prefs.edit().putBoolean(SWIPE_LEFT_ENABLED, value).apply()
diff --git a/app/src/main/java/app/olauncher/ui/HomeFragment.kt b/app/src/main/java/app/olauncher/ui/HomeFragment.kt
index 2eef893..cfabf36 100644
--- a/app/src/main/java/app/olauncher/ui/HomeFragment.kt
+++ b/app/src/main/java/app/olauncher/ui/HomeFragment.kt
@@ -371,14 +371,14 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
if (Settings.System.canWrite(requireContext()))
Settings.System.putInt(requireContext().contentResolver, Settings.System.SCREEN_OFF_TIMEOUT, prefs.screenTimeout);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
- requireActivity().window.insetsController?.show(WindowInsets.Type.statusBars())
requireActivity().window.insetsController?.show(WindowInsets.Type.navigationBars())
} else
requireActivity().window.decorView.apply {
- systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
- or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
- or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
+ systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
}
+ // populate status bar
+ if (prefs.showStatusBar) showStatusBar()
+ else hideStatusBar()
}
private fun hideNavBar() {
@@ -394,6 +394,27 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
}
}
+ private fun showStatusBar() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
+ requireActivity().window.insetsController?.show(WindowInsets.Type.statusBars())
+ else
+ @Suppress("DEPRECATION")
+ requireActivity().window.decorView.apply {
+ systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+ }
+ }
+
+ private fun hideStatusBar() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
+ requireActivity().window.insetsController?.hide(WindowInsets.Type.statusBars())
+ else {
+ @Suppress("DEPRECATION")
+ requireActivity().window.decorView.apply {
+ systemUiVisibility = View.SYSTEM_UI_FLAG_IMMERSIVE or View.SYSTEM_UI_FLAG_FULLSCREEN
+ }
+ }
+ }
+
private fun setScreenTimeout() {
// Save the existing screen off timeout
val screenTimeoutInSettings =
diff --git a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
index 973f29e..f40367c 100644
--- a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
+++ b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
@@ -8,10 +8,7 @@ import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.Settings
-import android.view.Gravity
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
+import android.view.*
import android.widget.Toast
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
@@ -66,6 +63,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
populateLockSettings()
populateWallpaperText()
populateAlignment()
+ populateStatusBar()
populateSwipeApps()
populateActionHints()
initClickListeners()
@@ -86,6 +84,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
R.id.dailyWallpaperUrl -> openUrl(prefs.dailyWallpaperUrl)
R.id.dailyWallpaper -> toggleDailyWallpaperUpdate()
R.id.alignment -> viewModel.updateHomeAlignment()
+ R.id.statusBar -> toggleStatusBar()
R.id.maxApps0 -> updateHomeAppsNum(0)
R.id.maxApps1 -> updateHomeAppsNum(1)
@@ -155,6 +154,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
dailyWallpaperUrl.setOnClickListener(this)
dailyWallpaper.setOnClickListener(this)
alignment.setOnClickListener(this)
+ statusBar.setOnClickListener(this)
swipeLeftApp.setOnClickListener(this)
swipeRightApp.setOnClickListener(this)
@@ -194,6 +194,42 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
})
}
+ private fun toggleStatusBar() {
+ prefs.showStatusBar = !prefs.showStatusBar
+ populateStatusBar()
+ }
+
+ private fun populateStatusBar() {
+ if (prefs.showStatusBar) {
+ showStatusBar()
+ statusBar.text = getString(R.string.hide)
+ } else {
+ hideStatusBar()
+ statusBar.text = getString(R.string.show)
+ }
+ }
+
+ private fun showStatusBar() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
+ requireActivity().window.insetsController?.show(WindowInsets.Type.statusBars())
+ else
+ @Suppress("DEPRECATION")
+ requireActivity().window.decorView.apply {
+ systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
+ }
+ }
+
+ private fun hideStatusBar() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
+ requireActivity().window.insetsController?.hide(WindowInsets.Type.statusBars())
+ else {
+ @Suppress("DEPRECATION")
+ requireActivity().window.decorView.apply {
+ systemUiVisibility = View.SYSTEM_UI_FLAG_IMMERSIVE or View.SYSTEM_UI_FLAG_FULLSCREEN
+ }
+ }
+ }
+
private fun showHiddenApps() {
if (prefs.hiddenApps.isEmpty()) {
showToastShort(requireContext(), "No hidden apps")