Minor cleanups
This commit is contained in:
parent
66cad101c0
commit
6092d7ca88
@ -12,12 +12,6 @@
|
|||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
android:theme="@android:style/Theme.Translucent.NoTitleBar"
|
||||||
tools:ignore="UnusedAttribute">
|
tools:ignore="UnusedAttribute">
|
||||||
|
|
||||||
<provider
|
|
||||||
android:name="a.p"
|
|
||||||
android:authorities="${applicationId}.provider"
|
|
||||||
android:exported="false"
|
|
||||||
android:grantUriPermissions="true">
|
|
||||||
</provider>
|
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
package a;
|
|
||||||
|
|
||||||
import com.topjohnwu.magisk.FileProvider;
|
|
||||||
|
|
||||||
public class p extends FileProvider {
|
|
||||||
/* Stub */
|
|
||||||
}
|
|
@ -8,7 +8,6 @@ import android.database.Cursor;
|
|||||||
import android.database.MatrixCursor;
|
import android.database.MatrixCursor;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.os.ParcelFileDescriptor;
|
import android.os.ParcelFileDescriptor;
|
||||||
import android.provider.OpenableColumns;
|
import android.provider.OpenableColumns;
|
||||||
@ -34,8 +33,6 @@ public class FileProvider extends ContentProvider {
|
|||||||
|
|
||||||
private PathStrategy mStrategy;
|
private PathStrategy mStrategy;
|
||||||
|
|
||||||
public static ProviderCallHandler callHandler;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreate() {
|
public boolean onCreate() {
|
||||||
return true;
|
return true;
|
||||||
@ -131,13 +128,6 @@ public class FileProvider extends ContentProvider {
|
|||||||
return file.delete() ? 1 : 0;
|
return file.delete() ? 1 : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Bundle call(String method, String arg, Bundle extras) {
|
|
||||||
if (callHandler != null)
|
|
||||||
return callHandler.call(getContext(), method, arg, extras);
|
|
||||||
return Bundle.EMPTY;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ParcelFileDescriptor openFile(Uri uri, String mode)
|
public ParcelFileDescriptor openFile(Uri uri, String mode)
|
||||||
throws FileNotFoundException {
|
throws FileNotFoundException {
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
package com.topjohnwu.magisk;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Bundle;
|
|
||||||
|
|
||||||
public interface ProviderCallHandler {
|
|
||||||
Bundle call(Context context, String method, String arg, Bundle extras);
|
|
||||||
}
|
|
@ -65,6 +65,14 @@
|
|||||||
<!-- DownloadService -->
|
<!-- DownloadService -->
|
||||||
<service android:name="a.j" />
|
<service android:name="a.j" />
|
||||||
|
|
||||||
|
<!-- FileProvider -->
|
||||||
|
<provider
|
||||||
|
android:name="a.p"
|
||||||
|
android:authorities="${applicationId}.provider"
|
||||||
|
android:exported="false"
|
||||||
|
android:grantUriPermissions="true">
|
||||||
|
</provider>
|
||||||
|
|
||||||
<!-- Hardcode GMS version -->
|
<!-- Hardcode GMS version -->
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="com.google.android.gms.version"
|
android:name="com.google.android.gms.version"
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
package a
|
package a
|
||||||
|
|
||||||
import com.topjohnwu.magisk.core.App
|
import com.topjohnwu.magisk.core.App
|
||||||
import com.topjohnwu.magisk.core.GeneralReceiver
|
import com.topjohnwu.magisk.core.Provider
|
||||||
|
import com.topjohnwu.magisk.core.Receiver
|
||||||
import com.topjohnwu.magisk.core.SplashActivity
|
import com.topjohnwu.magisk.core.SplashActivity
|
||||||
import com.topjohnwu.magisk.core.download.DownloadService
|
import com.topjohnwu.magisk.core.download.DownloadService
|
||||||
import com.topjohnwu.magisk.ui.MainActivity
|
import com.topjohnwu.magisk.ui.MainActivity
|
||||||
@ -22,8 +23,10 @@ class e : App {
|
|||||||
constructor(o: Any) : super(o)
|
constructor(o: Any) : super(o)
|
||||||
}
|
}
|
||||||
|
|
||||||
class h : GeneralReceiver()
|
class h : Receiver()
|
||||||
|
|
||||||
class j : DownloadService()
|
class j : DownloadService()
|
||||||
|
|
||||||
class m : SuRequestActivity()
|
class m : SuRequestActivity()
|
||||||
|
|
||||||
|
class p : Provider()
|
||||||
|
@ -10,8 +10,6 @@ import androidx.multidex.MultiDex
|
|||||||
import androidx.work.WorkManager
|
import androidx.work.WorkManager
|
||||||
import com.topjohnwu.magisk.BuildConfig
|
import com.topjohnwu.magisk.BuildConfig
|
||||||
import com.topjohnwu.magisk.DynAPK
|
import com.topjohnwu.magisk.DynAPK
|
||||||
import com.topjohnwu.magisk.FileProvider
|
|
||||||
import com.topjohnwu.magisk.core.su.SuCallbackHandler
|
|
||||||
import com.topjohnwu.magisk.core.utils.IODispatcherExecutor
|
import com.topjohnwu.magisk.core.utils.IODispatcherExecutor
|
||||||
import com.topjohnwu.magisk.core.utils.RootInit
|
import com.topjohnwu.magisk.core.utils.RootInit
|
||||||
import com.topjohnwu.magisk.core.utils.updateConfig
|
import com.topjohnwu.magisk.core.utils.updateConfig
|
||||||
@ -36,7 +34,6 @@ open class App() : Application() {
|
|||||||
.setInitializers(RootInit::class.java)
|
.setInitializers(RootInit::class.java)
|
||||||
.setTimeout(2))
|
.setTimeout(2))
|
||||||
Shell.EXECUTOR = IODispatcherExecutor()
|
Shell.EXECUTOR = IODispatcherExecutor()
|
||||||
FileProvider.callHandler = SuCallbackHandler
|
|
||||||
|
|
||||||
// Always log full stack trace with Timber
|
// Always log full stack trace with Timber
|
||||||
Timber.plant(Timber.DebugTree())
|
Timber.plant(Timber.DebugTree())
|
||||||
|
@ -149,7 +149,7 @@ private object ClassMap {
|
|||||||
App::class.java to a.e::class.java,
|
App::class.java to a.e::class.java,
|
||||||
MainActivity::class.java to a.b::class.java,
|
MainActivity::class.java to a.b::class.java,
|
||||||
SplashActivity::class.java to a.c::class.java,
|
SplashActivity::class.java to a.c::class.java,
|
||||||
GeneralReceiver::class.java to a.h::class.java,
|
Receiver::class.java to a.h::class.java,
|
||||||
DownloadService::class.java to a.j::class.java,
|
DownloadService::class.java to a.j::class.java,
|
||||||
SuRequestActivity::class.java to a.m::class.java
|
SuRequestActivity::class.java to a.m::class.java
|
||||||
)
|
)
|
||||||
|
19
app/src/main/java/com/topjohnwu/magisk/core/Provider.kt
Normal file
19
app/src/main/java/com/topjohnwu/magisk/core/Provider.kt
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
package com.topjohnwu.magisk.core
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.pm.ProviderInfo
|
||||||
|
import android.os.Bundle
|
||||||
|
import com.topjohnwu.magisk.FileProvider
|
||||||
|
import com.topjohnwu.magisk.core.su.SuCallbackHandler
|
||||||
|
|
||||||
|
open class Provider : FileProvider() {
|
||||||
|
|
||||||
|
override fun attachInfo(context: Context, info: ProviderInfo?) {
|
||||||
|
super.attachInfo(context.wrap(), info)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun call(method: String, arg: String?, extras: Bundle?): Bundle? {
|
||||||
|
SuCallbackHandler(context!!, method, extras)
|
||||||
|
return Bundle.EMPTY
|
||||||
|
}
|
||||||
|
}
|
@ -11,7 +11,7 @@ import kotlinx.coroutines.GlobalScope
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import org.koin.core.inject
|
import org.koin.core.inject
|
||||||
|
|
||||||
open class GeneralReceiver : BaseReceiver() {
|
open class Receiver : BaseReceiver() {
|
||||||
|
|
||||||
private val policyDB: PolicyDao by inject()
|
private val policyDB: PolicyDao by inject()
|
||||||
|
|
@ -7,14 +7,12 @@ import android.os.Bundle
|
|||||||
import android.os.Process
|
import android.os.Process
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import com.topjohnwu.magisk.BuildConfig
|
import com.topjohnwu.magisk.BuildConfig
|
||||||
import com.topjohnwu.magisk.ProviderCallHandler
|
|
||||||
import com.topjohnwu.magisk.R
|
import com.topjohnwu.magisk.R
|
||||||
import com.topjohnwu.magisk.core.Config
|
import com.topjohnwu.magisk.core.Config
|
||||||
import com.topjohnwu.magisk.core.intent
|
import com.topjohnwu.magisk.core.intent
|
||||||
import com.topjohnwu.magisk.core.model.su.SuPolicy
|
import com.topjohnwu.magisk.core.model.su.SuPolicy
|
||||||
import com.topjohnwu.magisk.core.model.su.toLog
|
import com.topjohnwu.magisk.core.model.su.toLog
|
||||||
import com.topjohnwu.magisk.core.model.su.toPolicy
|
import com.topjohnwu.magisk.core.model.su.toPolicy
|
||||||
import com.topjohnwu.magisk.core.wrap
|
|
||||||
import com.topjohnwu.magisk.data.repository.LogRepository
|
import com.topjohnwu.magisk.data.repository.LogRepository
|
||||||
import com.topjohnwu.magisk.ktx.get
|
import com.topjohnwu.magisk.ktx.get
|
||||||
import com.topjohnwu.magisk.ktx.startActivity
|
import com.topjohnwu.magisk.ktx.startActivity
|
||||||
@ -26,18 +24,13 @@ import kotlinx.coroutines.GlobalScope
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
object SuCallbackHandler : ProviderCallHandler {
|
object SuCallbackHandler {
|
||||||
|
|
||||||
const val REQUEST = "request"
|
const val REQUEST = "request"
|
||||||
const val LOG = "log"
|
const val LOG = "log"
|
||||||
const val NOTIFY = "notify"
|
const val NOTIFY = "notify"
|
||||||
const val TEST = "test"
|
const val TEST = "test"
|
||||||
|
|
||||||
override fun call(context: Context, method: String, arg: String?, extras: Bundle?): Bundle? {
|
|
||||||
invoke(context.wrap(), method, extras)
|
|
||||||
return Bundle.EMPTY
|
|
||||||
}
|
|
||||||
|
|
||||||
operator fun invoke(context: Context, action: String?, data: Bundle?) {
|
operator fun invoke(context: Context, action: String?, data: Bundle?) {
|
||||||
data ?: return
|
data ?: return
|
||||||
|
|
||||||
|
@ -10,13 +10,20 @@
|
|||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
tools:ignore="AllowBackup">
|
tools:ignore="AllowBackup">
|
||||||
|
|
||||||
<activity android:name="a.a">
|
<activity android:name=".MainActivity">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<provider
|
||||||
|
android:name=".FileProvider"
|
||||||
|
android:authorities="${applicationId}.provider"
|
||||||
|
android:exported="false"
|
||||||
|
android:grantUriPermissions="true">
|
||||||
|
</provider>
|
||||||
|
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
package a;
|
|
||||||
|
|
||||||
import com.topjohnwu.magisk.MainActivity;
|
|
||||||
|
|
||||||
public class a extends MainActivity {
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user