diff options
| author | Tanuj M <thetanuj@hotmail.com> | 2020-12-08 15:00:49 +0530 |
|---|---|---|
| committer | Tanuj M <thetanuj@hotmail.com> | 2020-12-08 15:00:49 +0530 |
| commit | cd5984bb8e93d040bd8c8d57124ec3d8ca0ea1c6 (patch) | |
| tree | 2998f649fa4fb21e2f4919865c103ae03e091937 /app/src/main/java | |
| parent | bf91e4681c8c30d1742b889669ca74f2cb64ac97 (diff) | |
| download | SidePhOnelauncher-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.kt | 5 | ||||
| -rw-r--r-- | app/src/main/java/app/olauncher/ui/HomeFragment.kt | 29 | ||||
| -rw-r--r-- | app/src/main/java/app/olauncher/ui/SettingsFragment.kt | 44 |
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") |
