mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-12-19 22:47:40 +00:00
Remove usage of ProcessLifecycle
This commit is contained in:
parent
c5778f398b
commit
24615afda1
@ -60,5 +60,4 @@ dependencies {
|
|||||||
implementation(libs.activity)
|
implementation(libs.activity)
|
||||||
implementation(libs.collection.ktx)
|
implementation(libs.collection.ktx)
|
||||||
implementation(libs.profileinstaller)
|
implementation(libs.profileinstaller)
|
||||||
implementation(libs.lifecycle.process)
|
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,6 @@ import com.topjohnwu.magisk.StubApk
|
|||||||
import com.topjohnwu.magisk.core.base.UntrackedActivity
|
import com.topjohnwu.magisk.core.base.UntrackedActivity
|
||||||
import com.topjohnwu.magisk.core.utils.LocaleSetting
|
import com.topjohnwu.magisk.core.utils.LocaleSetting
|
||||||
import com.topjohnwu.magisk.core.utils.NetworkObserver
|
import com.topjohnwu.magisk.core.utils.NetworkObserver
|
||||||
import com.topjohnwu.magisk.core.utils.ProcessLifecycle
|
|
||||||
import com.topjohnwu.magisk.core.utils.RootUtils
|
import com.topjohnwu.magisk.core.utils.RootUtils
|
||||||
import com.topjohnwu.magisk.core.utils.ShellInit
|
import com.topjohnwu.magisk.core.utils.ShellInit
|
||||||
import com.topjohnwu.superuser.Shell
|
import com.topjohnwu.superuser.Shell
|
||||||
@ -40,6 +39,7 @@ object AppContext : ContextWrapper(null),
|
|||||||
|
|
||||||
private var ref = WeakReference<Activity>(null)
|
private var ref = WeakReference<Activity>(null)
|
||||||
private lateinit var application: Application
|
private lateinit var application: Application
|
||||||
|
private lateinit var networkObserver: NetworkObserver
|
||||||
|
|
||||||
init {
|
init {
|
||||||
// Always log full stack trace with Timber
|
// Always log full stack trace with Timber
|
||||||
@ -56,6 +56,10 @@ object AppContext : ContextWrapper(null),
|
|||||||
LocaleSetting.instance.updateResource(resources)
|
LocaleSetting.instance.updateResource(resources)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onActivityStarted(activity: Activity) {
|
||||||
|
networkObserver.postCurrentState()
|
||||||
|
}
|
||||||
|
|
||||||
override fun onActivityResumed(activity: Activity) {
|
override fun onActivityResumed(activity: Activity) {
|
||||||
if (activity is UntrackedActivity) return
|
if (activity is UntrackedActivity) return
|
||||||
ref = WeakReference(activity)
|
ref = WeakReference(activity)
|
||||||
@ -102,8 +106,7 @@ object AppContext : ContextWrapper(null),
|
|||||||
val lm = getSystemService(LocaleManager::class.java)
|
val lm = getSystemService(LocaleManager::class.java)
|
||||||
lm.overrideLocaleConfig = LocaleSetting.localeConfig
|
lm.overrideLocaleConfig = LocaleSetting.localeConfig
|
||||||
}
|
}
|
||||||
ProcessLifecycle.init(this)
|
networkObserver = NetworkObserver.init(this)
|
||||||
NetworkObserver.init(this)
|
|
||||||
if (!BuildConfig.DEBUG && !isRunningAsStub) {
|
if (!BuildConfig.DEBUG && !isRunningAsStub) {
|
||||||
GlobalScope.launch(Dispatchers.IO) {
|
GlobalScope.launch(Dispatchers.IO) {
|
||||||
ProfileInstaller.writeProfile(this@AppContext)
|
ProfileInstaller.writeProfile(this@AppContext)
|
||||||
@ -120,7 +123,6 @@ object AppContext : ContextWrapper(null),
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onActivityCreated(activity: Activity, bundle: Bundle?) {}
|
override fun onActivityCreated(activity: Activity, bundle: Bundle?) {}
|
||||||
override fun onActivityStarted(activity: Activity) {}
|
|
||||||
override fun onActivityStopped(activity: Activity) {}
|
override fun onActivityStopped(activity: Activity) {}
|
||||||
override fun onActivitySaveInstanceState(activity: Activity, bundle: Bundle) {}
|
override fun onActivitySaveInstanceState(activity: Activity, bundle: Bundle) {}
|
||||||
override fun onActivityDestroyed(activity: Activity) {}
|
override fun onActivityDestroyed(activity: Activity) {}
|
||||||
|
@ -11,13 +11,10 @@ import android.net.NetworkRequest
|
|||||||
import android.os.PowerManager
|
import android.os.PowerManager
|
||||||
import androidx.collection.ArraySet
|
import androidx.collection.ArraySet
|
||||||
import androidx.core.content.getSystemService
|
import androidx.core.content.getSystemService
|
||||||
import androidx.lifecycle.DefaultLifecycleObserver
|
|
||||||
import androidx.lifecycle.LifecycleOwner
|
|
||||||
import androidx.lifecycle.ProcessLifecycleOwner
|
|
||||||
import com.topjohnwu.magisk.core.Info
|
import com.topjohnwu.magisk.core.Info
|
||||||
import com.topjohnwu.magisk.core.ktx.registerRuntimeReceiver
|
import com.topjohnwu.magisk.core.ktx.registerRuntimeReceiver
|
||||||
|
|
||||||
class NetworkObserver(context: Context): DefaultLifecycleObserver {
|
class NetworkObserver(context: Context) {
|
||||||
private val manager = context.getSystemService<ConnectivityManager>()!!
|
private val manager = context.getSystemService<ConnectivityManager>()!!
|
||||||
|
|
||||||
private val networkCallback = object : ConnectivityManager.NetworkCallback() {
|
private val networkCallback = object : ConnectivityManager.NetworkCallback() {
|
||||||
@ -55,16 +52,13 @@ class NetworkObserver(context: Context): DefaultLifecycleObserver {
|
|||||||
manager.registerNetworkCallback(request, networkCallback)
|
manager.registerNetworkCallback(request, networkCallback)
|
||||||
val filter = IntentFilter(PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED)
|
val filter = IntentFilter(PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGED)
|
||||||
context.applicationContext.registerRuntimeReceiver(receiver, filter)
|
context.applicationContext.registerRuntimeReceiver(receiver, filter)
|
||||||
ProcessLifecycleOwner.get().lifecycle.addObserver(this)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStart(owner: LifecycleOwner) {
|
fun postCurrentState() {
|
||||||
postCurrentState()
|
postValue(
|
||||||
}
|
manager.getNetworkCapabilities(manager.activeNetwork)
|
||||||
|
?.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED) == true
|
||||||
private fun postCurrentState() {
|
)
|
||||||
postValue(manager.getNetworkCapabilities(manager.activeNetwork)
|
|
||||||
?.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED) ?: false)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun postValue(b: Boolean) {
|
private fun postValue(b: Boolean) {
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
package com.topjohnwu.magisk.core.utils;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.lifecycle.LifecycleDispatcher;
|
|
||||||
import androidx.lifecycle.ProcessLifecycleOwner;
|
|
||||||
|
|
||||||
// Use Java to bypass Kotlin internal visibility modifier
|
|
||||||
public class ProcessLifecycle {
|
|
||||||
public static void init(@NonNull Context context) {
|
|
||||||
LifecycleDispatcher.init(context);
|
|
||||||
ProcessLifecycleOwner.init$lifecycle_process_release(context);
|
|
||||||
}
|
|
||||||
}
|
|
@ -42,7 +42,6 @@ room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
|
|||||||
swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version = "1.1.0" }
|
swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version = "1.1.0" }
|
||||||
transition = { module = "androidx.transition:transition", version = "1.5.1" }
|
transition = { module = "androidx.transition:transition", version = "1.5.1" }
|
||||||
collection-ktx = { module = "androidx.collection:collection-ktx", version = "1.4.5" }
|
collection-ktx = { module = "androidx.collection:collection-ktx", version = "1.4.5" }
|
||||||
lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version = "2.8.7" }
|
|
||||||
material = { module = "com.google.android.material:material", version = "1.12.0" }
|
material = { module = "com.google.android.material:material", version = "1.12.0" }
|
||||||
jdk-libs = { module = "com.android.tools:desugar_jdk_libs_nio", version = "2.1.3" }
|
jdk-libs = { module = "com.android.tools:desugar_jdk_libs_nio", version = "2.1.3" }
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user