Fix: Android 15: Fixed the set default launcher.

Signed-off-by: HeCodes2Much <wayne6324@gmail.com>
This commit is contained in:
HeCodes2Much
2024-07-25 19:23:27 +01:00
parent 9b7d6822d2
commit 3fd3dc49d9
5 changed files with 8 additions and 73 deletions

View File

@@ -13,19 +13,20 @@ plugins {
android { android {
namespace = "com.github.droidworksstudio.launcher" namespace = "com.github.droidworksstudio.launcher"
compileSdk = 34 compileSdk = 35
defaultConfig { defaultConfig {
applicationId = "app.easy.launcher" applicationId = "app.easy.launcher"
minSdk = 24 minSdk = 24
targetSdk = 34 targetSdk = 35
versionCode = 21 versionCode = 21
versionName = "0.2.1" versionName = "0.2.1"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
manifestPlaceholders["internetPermission"] = "android.permission.INTERNET" manifestPlaceholders["internetPermission"] = "android.permission.INTERNET"
manifestPlaceholders["fineLocationPermission"] = "android.permission.ACCESS_FINE_LOCATION" manifestPlaceholders["fineLocationPermission"] = "android.permission.ACCESS_FINE_LOCATION"
manifestPlaceholders["coarseLocationPermission"] = "android.permission.ACCESS_COARSE_LOCATION" manifestPlaceholders["coarseLocationPermission"] =
"android.permission.ACCESS_COARSE_LOCATION"
} }
buildTypes { buildTypes {
@@ -73,8 +74,10 @@ android {
create("withInternet") { create("withInternet") {
dimension = "internet" dimension = "internet"
manifestPlaceholders["internetPermission"] = "android.permission.INTERNET" manifestPlaceholders["internetPermission"] = "android.permission.INTERNET"
manifestPlaceholders["fineLocationPermission"] = "android.permission.ACCESS_FINE_LOCATION" manifestPlaceholders["fineLocationPermission"] =
manifestPlaceholders["coarseLocationPermission"] = "android.permission.ACCESS_COARSE_LOCATION" "android.permission.ACCESS_FINE_LOCATION"
manifestPlaceholders["coarseLocationPermission"] =
"android.permission.ACCESS_COARSE_LOCATION"
val weatherFile = project.rootProject.file("weather.properties") val weatherFile = project.rootProject.file("weather.properties")
val properties = Properties() val properties = Properties()
properties.load(weatherFile.inputStream()) properties.load(weatherFile.inputStream())

View File

@@ -69,20 +69,6 @@
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity
android:name=".ui.activities.FakeHomeActivity"
android:enabled="false"
android:launchMode="singleTask"
android:windowSoftInputMode="stateHidden"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver <receiver
android:name=".listener.DeviceAdmin" android:name=".listener.DeviceAdmin"

View File

@@ -3,7 +3,6 @@ package com.github.droidworksstudio.common
import android.Manifest import android.Manifest
import android.app.SearchManager import android.app.SearchManager
import android.content.ActivityNotFoundException import android.content.ActivityNotFoundException
import android.content.ComponentName
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.LauncherApps import android.content.pm.LauncherApps
@@ -37,7 +36,6 @@ import androidx.lifecycle.LifecycleOwner
import com.github.droidworksstudio.launcher.utils.Constants import com.github.droidworksstudio.launcher.utils.Constants
import com.github.droidworksstudio.launcher.data.entities.AppInfo import com.github.droidworksstudio.launcher.data.entities.AppInfo
import com.github.droidworksstudio.launcher.helper.PreferenceHelper import com.github.droidworksstudio.launcher.helper.PreferenceHelper
import com.github.droidworksstudio.launcher.ui.activities.FakeHomeActivity
import java.util.Calendar import java.util.Calendar
import java.util.Date import java.util.Date
import kotlin.math.pow import kotlin.math.pow
@@ -153,39 +151,6 @@ fun Context.openUrl(url: String) {
} }
fun Context.resetDefaultLauncher() { fun Context.resetDefaultLauncher() {
val manufacturer = Build.MANUFACTURER.lowercase()
when (manufacturer) {
"google", "essential" -> runningStockAndroid()
else -> notRunningStockAndroid()
}
}
fun Context.runningStockAndroid() {
try {
val packageManager = this.packageManager
val componentName = ComponentName(this, FakeHomeActivity::class.java)
packageManager.setComponentEnabledSetting(
componentName,
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
PackageManager.DONT_KILL_APP
)
val selector = Intent(Intent.ACTION_MAIN)
selector.addCategory(Intent.CATEGORY_HOME)
this.startActivity(selector)
packageManager.setComponentEnabledSetting(
componentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP
)
} catch (e: Exception) {
e.printStackTrace()
}
}
fun Context.notRunningStockAndroid() {
try { try {
val intent = Intent("android.settings.HOME_SETTINGS") val intent = Intent("android.settings.HOME_SETTINGS")
this.startActivity(intent) this.startActivity(intent)

View File

@@ -1,12 +0,0 @@
package com.github.droidworksstudio.launcher.ui.activities
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.github.droidworksstudio.launcher.R
class FakeHomeActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_fake_home)
}
}

View File

@@ -1,7 +0,0 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.activities.FakeHomeActivity">
</merge>