Commit 6092d7ca authored by topjohnwu's avatar topjohnwu

Minor cleanups

parent 66cad101
...@@ -12,12 +12,6 @@ ...@@ -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>
package a;
import com.topjohnwu.magisk.FileProvider;
public class p extends FileProvider {
/* Stub */
}
...@@ -8,7 +8,6 @@ import android.database.Cursor; ...@@ -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 { ...@@ -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 { ...@@ -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 {
......
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 @@ ...@@ -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 @@ ...@@ -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 { ...@@ -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 ...@@ -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() { ...@@ -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 { ...@@ -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
) )
......
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 ...@@ -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 ...@@ -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 ...@@ -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 @@ ...@@ -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>
package a;
import com.topjohnwu.magisk.MainActivity;
public class a extends MainActivity {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment