diff options
| author | Tanuj M <thetanuj@hotmail.com> | 2020-10-09 01:28:53 +0530 |
|---|---|---|
| committer | Tanuj M <thetanuj@hotmail.com> | 2020-10-09 01:28:53 +0530 |
| commit | 2edfdd46dfd8aaf3c22223b7bdbd3b258d8fb4e2 (patch) | |
| tree | c700fedfb050e41db532184a74780cdb4d0bba72 /app/src/main/java | |
| parent | 12dc38722806d2e488d0b21e3b52a0ec5b1ee709 (diff) | |
| download | SidePhOnelauncher-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.kt | 19 | ||||
| -rw-r--r-- | app/src/main/java/app/olauncher/data/Constants.kt | 1 | ||||
| -rw-r--r-- | app/src/main/java/app/olauncher/ui/HomeFragment.kt | 38 | ||||
| -rw-r--r-- | app/src/main/java/app/olauncher/ui/SettingsFragment.kt | 11 |
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 |
