Minor cleanups

This commit is contained in:
topjohnwu 2020-10-11 05:10:02 -07:00
parent 66cad101c0
commit 6092d7ca88
13 changed files with 44 additions and 54 deletions

View File

@ -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>

View File

@ -1,7 +0,0 @@
package a;
import com.topjohnwu.magisk.FileProvider;
public class p extends FileProvider {
/* Stub */
}

View File

@ -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 {

View File

@ -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);
}

View File

@ -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"

View File

@ -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()

View File

@ -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())

View File

@ -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
) )

View 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
}
}

View File

@ -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()

View File

@ -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

View File

@ -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>

View File

@ -1,6 +0,0 @@
package a;
import com.topjohnwu.magisk.MainActivity;
public class a extends MainActivity {
}