diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 30baf2c..ec99e9b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,6 +8,11 @@
tools:ignore="QueryAllPackagesPermission" />
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/de/jrpie/android/launcher/Functions.kt b/app/src/main/java/de/jrpie/android/launcher/Functions.kt
index 72f2075..c40ab9b 100644
--- a/app/src/main/java/de/jrpie/android/launcher/Functions.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/Functions.kt
@@ -2,10 +2,12 @@ package de.jrpie.android.launcher
import android.app.Activity
import android.app.AlertDialog
+import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.content.SharedPreferences
import android.content.pm.PackageManager
+import android.content.pm.ResolveInfo
import android.graphics.BlendMode
import android.graphics.BlendModeColorFilter
import android.graphics.ColorMatrix
@@ -19,6 +21,7 @@ import android.os.Bundle
import android.os.SystemClock
import android.provider.Settings
import android.util.DisplayMetrics
+import android.util.Log
import android.view.KeyEvent
import android.view.View
import android.view.Window
@@ -101,6 +104,20 @@ fun getPreferences(context: Context): SharedPreferences{
)
}
+fun setDefaultHomeScreen(context: Context, checkDefault: Boolean = false) {
+ if(checkDefault) {
+ val testIntent = Intent(Intent.ACTION_MAIN)
+ testIntent.addCategory(Intent.CATEGORY_HOME)
+ val defaultHome = testIntent.resolveActivity(context.packageManager)?.packageName
+ if(defaultHome == context.packageName){
+ // Launcher is already the default home app
+ return
+ }
+ }
+ val intent = Intent(Settings.ACTION_HOME_SETTINGS)
+ context.startActivity(intent)
+}
+
/* Activity related */
fun isInstalled(uri: String, context: Context): Boolean {
diff --git a/app/src/main/java/de/jrpie/android/launcher/list/apps/ListFragmentApps.kt b/app/src/main/java/de/jrpie/android/launcher/list/apps/ListFragmentApps.kt
index af39045..183dc00 100644
--- a/app/src/main/java/de/jrpie/android/launcher/list/apps/ListFragmentApps.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/list/apps/ListFragmentApps.kt
@@ -7,9 +7,8 @@ import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import de.jrpie.android.launcher.PREF_SEARCH_AUTO_KEYBOARD
-import de.jrpie.android.launcher.R
-import de.jrpie.android.launcher.databinding.ListAppsBinding
import de.jrpie.android.launcher.UIObject
+import de.jrpie.android.launcher.databinding.ListAppsBinding
import de.jrpie.android.launcher.getPreferences
import de.jrpie.android.launcher.list.ListActivity
import de.jrpie.android.launcher.list.forGesture
diff --git a/app/src/main/java/de/jrpie/android/launcher/settings/launcher/SettingsFragmentLauncher.kt b/app/src/main/java/de/jrpie/android/launcher/settings/launcher/SettingsFragmentLauncher.kt
index 7382ae9..9ca2fe3 100644
--- a/app/src/main/java/de/jrpie/android/launcher/settings/launcher/SettingsFragmentLauncher.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/settings/launcher/SettingsFragmentLauncher.kt
@@ -31,6 +31,7 @@ import de.jrpie.android.launcher.setWindowFlags
import de.jrpie.android.launcher.settings.intendedSettingsPause
import de.jrpie.android.launcher.vibrantColor
import de.jrpie.android.launcher.databinding.SettingsLauncherBinding
+import de.jrpie.android.launcher.setDefaultHomeScreen
/**
@@ -57,6 +58,7 @@ class SettingsFragmentLauncher : Fragment(), UIObject {
override fun applyTheme() {
+ setButtonColor(binding.settingsLauncherButtonChooseHomescreen, vibrantColor)
setSwitchColor(binding.settingsLauncherSwitchScreenTimeout, vibrantColor)
setSwitchColor(binding.settingsLauncherSwitchScreenFull, vibrantColor)
setSwitchColor(binding.settingsLauncherSwitchAutoLaunch, vibrantColor)
@@ -83,6 +85,10 @@ class SettingsFragmentLauncher : Fragment(), UIObject {
}
}
+ binding.settingsLauncherButtonChooseHomescreen.setOnClickListener {
+ setDefaultHomeScreen(requireContext(), checkDefault = false)
+ }
+
binding.settingsLauncherButtonChooseWallpaper.setOnClickListener {
// https://github.com/LineageOS/android_packages_apps_Trebuchet/blob/6caab89b21b2b91f0a439e1fd8c4510dcb255819/src/com/android/launcher3/views/OptionsPopupView.java#L271
val intent = Intent(Intent.ACTION_SET_WALLPAPER)
diff --git a/app/src/main/java/de/jrpie/android/launcher/tutorial/tabs/TutorialFragmentFinish.kt b/app/src/main/java/de/jrpie/android/launcher/tutorial/tabs/TutorialFragmentFinish.kt
index ae3e723..36f4be3 100644
--- a/app/src/main/java/de/jrpie/android/launcher/tutorial/tabs/TutorialFragmentFinish.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/tutorial/tabs/TutorialFragmentFinish.kt
@@ -54,6 +54,8 @@ class TutorialFragmentFinish : Fragment(), UIObject {
.apply()
}
}
+ context?.let { setDefaultHomeScreen(it, checkDefault = true) }
+
activity?.finish()
}
}
diff --git a/app/src/main/res/layout/settings_launcher.xml b/app/src/main/res/layout/settings_launcher.xml
index 9c582bc..2a63467 100644
--- a/app/src/main/res/layout/settings_launcher.xml
+++ b/app/src/main/res/layout/settings_launcher.xml
@@ -16,6 +16,21 @@
android:paddingRight="32sp"
tools:context=".settings.meta.SettingsFragmentMeta">
+
+
+
+
+
+
Choose a wallpaper
Change wallpaper
+ Set μLauncher as home screen
+
Display
Keep screen on