summaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorTanuj M <thetanuj@hotmail.com>2020-10-09 01:28:53 +0530
committerTanuj M <thetanuj@hotmail.com>2020-10-09 01:28:53 +0530
commit2edfdd46dfd8aaf3c22223b7bdbd3b258d8fb4e2 (patch)
treec700fedfb050e41db532184a74780cdb4d0bba72 /app/src/main/java
parent12dc38722806d2e488d0b21e3b52a0ec5b1ee709 (diff)
downloadSidePhOnelauncher-2edfdd46dfd8aaf3c22223b7bdbd3b258d8fb4e2.tar.gz
SidePhOnelauncher-2edfdd46dfd8aaf3c22223b7bdbd3b258d8fb4e2.tar.bz2
SidePhOnelauncher-2edfdd46dfd8aaf3c22223b7bdbd3b258d8fb4e2.zip
Implmented double tap lock workaround for Android 10+ devices
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/app/olauncher/MainActivity.kt19
-rw-r--r--app/src/main/java/app/olauncher/data/Constants.kt1
-rw-r--r--app/src/main/java/app/olauncher/ui/HomeFragment.kt38
-rw-r--r--app/src/main/java/app/olauncher/ui/SettingsFragment.kt11
4 files changed, 57 insertions, 12 deletions
diff --git a/app/src/main/java/app/olauncher/MainActivity.kt b/app/src/main/java/app/olauncher/MainActivity.kt
index a513112..e7c9016 100644
--- a/app/src/main/java/app/olauncher/MainActivity.kt
+++ b/app/src/main/java/app/olauncher/MainActivity.kt
@@ -46,7 +46,7 @@ class MainActivity : AppCompatActivity() {
window.addFlags(FLAG_LAYOUT_NO_LIMITS)
okGotIt.setOnClickListener {
- lockEnabledLayout.visibility = View.GONE
+ messageLayout.visibility = View.GONE
showToastLong(
this,
"Double tap to lock. Please disable this before uninstalling Olauncher."
@@ -103,6 +103,11 @@ class MainActivity : AppCompatActivity() {
}
}
+ private fun showMessage(message: String) {
+ messageTextView.text = message
+ messageLayout.visibility = View.VISIBLE
+ }
+
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
@@ -110,20 +115,18 @@ class MainActivity : AppCompatActivity() {
if (resultCode == Activity.RESULT_OK) {
Prefs(this).lockModeOn = true
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P)
- lockEnabledLayout.visibility = View.VISIBLE
+ showMessage(getString(R.string.double_tap_lock_is_enabled_message))
else
showToastLong(
this,
"Double tap to lock. Please disable this before uninstalling Olauncher."
)
}
- return
+ }
+
+ Constants.REQUEST_CODE_EDIT_SETTINGS -> {
+ showMessage(getString(R.string.triple_tap_lock_message))
}
}
-// if (!Settings.System.canWrite(this)) {
-// val intent = Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS)
-// intent.data = Uri.parse("package:$packageName")
-// startActivityForResult(intent, 123123)
-// }
}
} \ No newline at end of file
diff --git a/app/src/main/java/app/olauncher/data/Constants.kt b/app/src/main/java/app/olauncher/data/Constants.kt
index 4823dea..9820f2a 100644
--- a/app/src/main/java/app/olauncher/data/Constants.kt
+++ b/app/src/main/java/app/olauncher/data/Constants.kt
@@ -16,6 +16,7 @@ object Constants {
const val FLAG_SET_SWIPE_RIGHT_APP = 12
const val REQUEST_CODE_ENABLE_ADMIN = 666
+ const val REQUEST_CODE_EDIT_SETTINGS = 777
const val URL_OLAUNCHER_PRIVACY = "https://olauncher.flycricket.io/privacy.html"
const val URL_OLAUNCHER_PLAY_STORE = "https://play.google.com/store/apps/details?id=app.olauncher"
diff --git a/app/src/main/java/app/olauncher/ui/HomeFragment.kt b/app/src/main/java/app/olauncher/ui/HomeFragment.kt
index 6ac4513..101ae08 100644
--- a/app/src/main/java/app/olauncher/ui/HomeFragment.kt
+++ b/app/src/main/java/app/olauncher/ui/HomeFragment.kt
@@ -5,13 +5,13 @@ import android.app.admin.DevicePolicyManager
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
+import android.os.Build
import android.os.Bundle
import android.provider.AlarmClock
import android.provider.MediaStore
+import android.provider.Settings
import android.util.Log
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
+import android.view.*
import android.widget.TextView
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
@@ -54,12 +54,27 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
setHomeAlignment(prefs.homeAlignment)
initSwipeTouchListener()
initClickListeners()
+ blackOverlay.setOnClickListener {
+
+ }
}
override fun onResume() {
super.onResume()
+ blackOverlay.visibility = View.GONE
populateHomeApps(false)
viewModel.isOlauncherDefault()
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+ requireActivity().window.insetsController?.show(WindowInsets.Type.navigationBars())
+ } else {
+ @Suppress("DEPRECATION")
+ requireActivity().window.addFlags(
+ WindowManager.LayoutParams.FLAG_FULLSCREEN
+ )
+ }
+
+ if (Settings.System.canWrite(requireContext()))
+ Settings.System.putInt(requireContext().contentResolver, Settings.System.SCREEN_OFF_TIMEOUT, 30000);
}
override fun onClick(view: View) {
@@ -377,7 +392,22 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
override fun onDoubleClick() {
super.onDoubleClick()
- if (prefs.lockModeOn) lockPhone()
+ if (prefs.lockModeOn) {
+ if (Settings.System.canWrite(requireContext())) {
+ blackOverlay.visibility = View.VISIBLE
+ Settings.System.putInt(requireContext().contentResolver, Settings.System.SCREEN_OFF_TIMEOUT, 5000);
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+ requireActivity().window.insetsController?.hide(WindowInsets.Type.navigationBars())
+ } else {
+ @Suppress("DEPRECATION")
+ requireActivity().window.decorView.apply {
+ systemUiVisibility = View.SYSTEM_UI_FLAG_IMMERSIVE or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+ }
+ }
+ } else {
+ lockPhone()
+ }
+ }
}
}
}
diff --git a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
index 94fe505..4b2d97a 100644
--- a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
+++ b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
@@ -6,6 +6,7 @@ import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
+import android.provider.Settings
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
@@ -71,6 +72,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
R.id.appInfo -> openAppInfo(requireContext(), BuildConfig.APPLICATION_ID)
R.id.setLauncher -> viewModel.resetDefaultLauncherApp(requireContext())
R.id.toggleOnOff -> toggleLockMode()
+ R.id.experimental -> openEditSettingsPermission()
R.id.homeAppsNum -> appsNumSelectLayout.visibility = View.VISIBLE
R.id.dailyWallpaperUrl -> openUrl(prefs.dailyWallpaperUrl)
R.id.dailyWallpaper -> toggleDailyWallpaperUpdate()
@@ -114,6 +116,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
appInfo.setOnClickListener(this)
setLauncher.setOnClickListener(this)
toggleOnOff.setOnClickListener(this)
+ experimental.setOnClickListener(this)
homeAppsNum.setOnClickListener(this)
dailyWallpaperUrl.setOnClickListener(this)
dailyWallpaper.setOnClickListener(this)
@@ -281,4 +284,12 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
bundleOf("flag" to flag)
)
}
+
+ private fun openEditSettingsPermission() {
+ // if (!Settings.System.canWrite(this)) {
+ val intent = Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS)
+ intent.data = Uri.parse("package:" + BuildConfig.APPLICATION_ID)
+ startActivityForResult(intent, Constants.REQUEST_CODE_EDIT_SETTINGS)
+// }
+ }
} \ No newline at end of file