Remove dependency on useless getSystemContext from librootjava
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
@file:JvmName("Utils")
|
||||
|
||||
package be.mygod.librootkotlinx
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.os.Parcel
|
||||
import android.os.Parcelable
|
||||
import android.util.*
|
||||
@@ -8,6 +11,12 @@ import kotlinx.android.parcel.Parcelize
|
||||
|
||||
class NoShellException(cause: Throwable) : Exception("Root missing", cause)
|
||||
|
||||
val systemContext by lazy {
|
||||
val classActivityThread = Class.forName("android.app.ActivityThread")
|
||||
val activityThread = classActivityThread.getMethod("systemMain").invoke(null)
|
||||
classActivityThread.getMethod("getSystemContext").invoke(activityThread) as Context
|
||||
}
|
||||
|
||||
@Parcelize
|
||||
data class ParcelableByte(val value: Byte) : Parcelable
|
||||
|
||||
|
||||
@@ -13,7 +13,6 @@ import be.mygod.vpnhotspot.net.wifi.WifiP2pManagerHelper.requestDeviceAddress
|
||||
import be.mygod.vpnhotspot.net.wifi.WifiP2pManagerHelper.requestPersistentGroupInfo
|
||||
import be.mygod.vpnhotspot.net.wifi.WifiP2pManagerHelper.setWifiP2pChannels
|
||||
import be.mygod.vpnhotspot.util.Services
|
||||
import eu.chainfire.librootjava.RootJava
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
@@ -99,7 +98,7 @@ object RepeaterCommands {
|
||||
if (target == channel) channel = null
|
||||
}
|
||||
}
|
||||
return initialize(RootJava.getSystemContext(), Looper.getMainLooper(), uninitializer).also {
|
||||
return initialize(systemContext, Looper.getMainLooper(), uninitializer).also {
|
||||
uninitializer.target = it
|
||||
channel = it // cache the instance until invalidated
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ import android.util.Log
|
||||
import be.mygod.librootkotlinx.RootCommandNoResult
|
||||
import be.mygod.librootkotlinx.RootServer
|
||||
import be.mygod.librootkotlinx.RootSession
|
||||
import be.mygod.librootkotlinx.systemContext
|
||||
import be.mygod.vpnhotspot.App.Companion.app
|
||||
import be.mygod.vpnhotspot.BuildConfig
|
||||
import be.mygod.vpnhotspot.util.Services
|
||||
import eu.chainfire.librootjava.RootJava
|
||||
import kotlinx.android.parcel.Parcelize
|
||||
import timber.log.Timber
|
||||
|
||||
@@ -29,7 +29,7 @@ object RootManager : RootSession() {
|
||||
}
|
||||
}
|
||||
})
|
||||
Services.init(RootJava.getSystemContext())
|
||||
Services.init(systemContext)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user