summaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/app/olauncher/MainActivity.kt6
-rw-r--r--app/src/main/java/app/olauncher/MainFragment.kt44
-rw-r--r--app/src/main/java/app/olauncher/MainViewModel.kt7
-rw-r--r--app/src/main/java/app/olauncher/Prefs.kt5
-rw-r--r--app/src/main/java/app/olauncher/Utils.kt4
5 files changed, 31 insertions, 35 deletions
diff --git a/app/src/main/java/app/olauncher/MainActivity.kt b/app/src/main/java/app/olauncher/MainActivity.kt
index e3583c4..f4f35c1 100644
--- a/app/src/main/java/app/olauncher/MainActivity.kt
+++ b/app/src/main/java/app/olauncher/MainActivity.kt
@@ -25,15 +25,9 @@ class MainActivity : AppCompatActivity() {
if (prefs.firstOpen) {
prefs.firstOpen = false
navController.navigate(R.id.action_mainFragment_to_welcomeFragment)
- checkIfLauncherReset(prefs)
}
}
- private fun checkIfLauncherReset(prefs: Prefs) {
- val defaultLauncher = getDefaultLauncherPackage(this)
- prefs.launcherReset = !defaultLauncher.contains(".")
- }
-
override fun onUserLeaveHint() {
backToHomeScreen()
super.onUserLeaveHint()
diff --git a/app/src/main/java/app/olauncher/MainFragment.kt b/app/src/main/java/app/olauncher/MainFragment.kt
index df53d5b..2a60d8f 100644
--- a/app/src/main/java/app/olauncher/MainFragment.kt
+++ b/app/src/main/java/app/olauncher/MainFragment.kt
@@ -12,7 +12,6 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
-import android.widget.Toast
import androidx.core.os.bundleOf
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
@@ -111,6 +110,9 @@ class MainFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
if (it) setDefaultLauncher.visibility = View.GONE
else setDefaultLauncher.visibility = View.VISIBLE
})
+ viewModel.launcherResetSuccessful.observe(viewLifecycleOwner, Observer<Boolean> {
+ showLauncherAppChooser(it)
+ })
}
override fun onClick(view: View) {
@@ -129,10 +131,26 @@ class MainFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
R.id.clock -> openAlarmApp()
R.id.date -> openCalendar()
- R.id.setDefaultLauncher -> showLauncherAppChooser()
+ R.id.setDefaultLauncher -> viewModel.resetDefaultLauncherApp(requireContext())
}
}
+ private fun showLauncherAppChooser(resetSuccessful: Boolean) {
+ val intent: Intent
+ if (resetSuccessful) {
+ intent = Intent(Intent.ACTION_MAIN, null)
+ intent.addCategory(Intent.CATEGORY_HOME)
+ } else {
+ intent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
+ Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS) else {
+ showToastLong(requireContext(), "Search for launcher or home app")
+ Intent(Settings.ACTION_SETTINGS)
+ }
+ }
+ startActivity(intent)
+ }
+
+
override fun onLongClick(view: View): Boolean {
when (view.id) {
R.id.homeApp1 -> showAppList(Constants.FLAG_SET_HOME_APP_1)
@@ -206,28 +224,6 @@ class MainFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
}
}
- private fun showLauncherAppChooser() {
- if (prefs.launcherReset) {
- resetDefaultLauncher(requireContext())
- val intent = Intent(Intent.ACTION_MAIN, null)
- intent.addCategory(Intent.CATEGORY_HOME)
- startActivity(intent)
- return
- }
- // Open settings because default launcher cannot be reset programmatically
- val intent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS)
- } else {
- Toast.makeText(
- requireContext(),
- "Search for launcher or home app",
- Toast.LENGTH_LONG
- ).show()
- Intent(Settings.ACTION_SETTINGS)
- }
- startActivity(intent)
- }
-
private fun getSwipeGestureListener(context: Context): View.OnTouchListener {
return object : OnSwipeTouchListener(context) {
override fun onSwipeLeft() {
diff --git a/app/src/main/java/app/olauncher/MainViewModel.kt b/app/src/main/java/app/olauncher/MainViewModel.kt
index 6d21648..ab1495e 100644
--- a/app/src/main/java/app/olauncher/MainViewModel.kt
+++ b/app/src/main/java/app/olauncher/MainViewModel.kt
@@ -1,6 +1,7 @@
package app.olauncher
import android.app.Application
+import android.content.Context
import android.content.Intent
import androidx.lifecycle.AndroidViewModel
import androidx.lifecycle.MutableLiveData
@@ -15,6 +16,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
val refreshHome = MutableLiveData<Any>()
val appList = MutableLiveData<List<AppModel>>()
val isOlauncherDefault = MutableLiveData<Boolean>()
+ val launcherResetSuccessful = MutableLiveData<Boolean>()
fun selectedApp(appModel: AppModel, flag: Int) {
when (flag) {
@@ -68,6 +70,11 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
fun isOlauncherDefault() {
isOlauncherDefault.value = isOlauncherDefault(appContext)
}
+
+ fun resetDefaultLauncherApp(context: Context) {
+ resetDefaultLauncher(context)
+ launcherResetSuccessful.value = !getDefaultLauncherPackage(appContext).contains(".")
+ }
}
data class AppModelWithFlag(
diff --git a/app/src/main/java/app/olauncher/Prefs.kt b/app/src/main/java/app/olauncher/Prefs.kt
index e927ec5..e9a7bf7 100644
--- a/app/src/main/java/app/olauncher/Prefs.kt
+++ b/app/src/main/java/app/olauncher/Prefs.kt
@@ -7,7 +7,6 @@ class Prefs(context: Context) {
private val PREFS_FILENAME = "app.olauncher"
private val FIRST_OPEN = "FIRST_OPEN"
- private val LAUNCHER_RESET = "LAUNCHER_RESET"
private val APP_NAME_1 = "APP_NAME_1"
private val APP_NAME_2 = "APP_NAME_2"
@@ -24,10 +23,6 @@ class Prefs(context: Context) {
get() = prefs.getBoolean(FIRST_OPEN, true)
set(value) = prefs.edit().putBoolean(FIRST_OPEN, value).apply()
- var launcherReset: Boolean
- get() = prefs.getBoolean(LAUNCHER_RESET, false)
- set(value) = prefs.edit().putBoolean(LAUNCHER_RESET, value).apply()
-
var appName1: String
get() = prefs.getString(APP_NAME_1, "").toString()
set(value) = prefs.edit().putString(APP_NAME_1, value).apply()
diff --git a/app/src/main/java/app/olauncher/Utils.kt b/app/src/main/java/app/olauncher/Utils.kt
index 880cfc5..66aedd1 100644
--- a/app/src/main/java/app/olauncher/Utils.kt
+++ b/app/src/main/java/app/olauncher/Utils.kt
@@ -8,10 +8,14 @@ import android.content.pm.PackageManager
import android.graphics.Bitmap
import android.net.Uri
import android.provider.Settings
+import android.widget.Toast
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import java.util.*
+fun showToastLong(context: Context, message: String) {
+ Toast.makeText(context, message, Toast.LENGTH_LONG).show()
+}
suspend fun getAppsList(context: Context): MutableList<AppModel> {
return withContext(Dispatchers.IO) {