diff --git a/app/src/main/java/a/b.kt b/app/src/main/java/a/b.kt deleted file mode 100644 index 918eeeadf..000000000 --- a/app/src/main/java/a/b.kt +++ /dev/null @@ -1,5 +0,0 @@ -package a - -import com.topjohnwu.magisk.ui.MainActivity - -class b : MainActivity() diff --git a/app/src/main/java/a/c.java b/app/src/main/java/a/c.java deleted file mode 100644 index bc0ad4546..000000000 --- a/app/src/main/java/a/c.java +++ /dev/null @@ -1,7 +0,0 @@ -package a; - -import com.topjohnwu.magisk.core.SplashActivity; - -public class c extends SplashActivity { - /* stub */ -} diff --git a/app/src/main/java/a/e.java b/app/src/main/java/a/e.java deleted file mode 100644 index 773d1dead..000000000 --- a/app/src/main/java/a/e.java +++ /dev/null @@ -1,13 +0,0 @@ -package a; - -import com.topjohnwu.magisk.core.App; - -public class e extends App { - public e() { - super(); - } - - public e(Object o) { - super(o); - } -} diff --git a/app/src/main/java/a/f.java b/app/src/main/java/a/f.java deleted file mode 100644 index 204920535..000000000 --- a/app/src/main/java/a/f.java +++ /dev/null @@ -1,7 +0,0 @@ -package a; - -import com.topjohnwu.magisk.legacy.flash.FlashActivity; - -public class f extends FlashActivity { - /* stub */ -} diff --git a/app/src/main/java/a/h.java b/app/src/main/java/a/h.java deleted file mode 100644 index dbf7751ea..000000000 --- a/app/src/main/java/a/h.java +++ /dev/null @@ -1,7 +0,0 @@ -package a; - -import com.topjohnwu.magisk.core.GeneralReceiver; - -public class h extends GeneralReceiver { - /* stub */ -} diff --git a/app/src/main/java/a/j.java b/app/src/main/java/a/j.java deleted file mode 100644 index 8b3f9830f..000000000 --- a/app/src/main/java/a/j.java +++ /dev/null @@ -1,7 +0,0 @@ -package a; - -import com.topjohnwu.magisk.core.download.DownloadService; - -public class j extends DownloadService { - /* stub */ -} diff --git a/app/src/main/java/a/m.java b/app/src/main/java/a/m.java deleted file mode 100644 index 195a6127c..000000000 --- a/app/src/main/java/a/m.java +++ /dev/null @@ -1,7 +0,0 @@ -package a; - -import com.topjohnwu.magisk.legacy.surequest.SuRequestActivity; - -public class m extends SuRequestActivity { - /* stub */ -} diff --git a/app/src/main/java/a/stubs.kt b/app/src/main/java/a/stubs.kt new file mode 100644 index 000000000..91dffbeb4 --- /dev/null +++ b/app/src/main/java/a/stubs.kt @@ -0,0 +1,55 @@ +package a + +import android.content.Context +import androidx.work.Worker +import androidx.work.WorkerParameters +import com.topjohnwu.magisk.core.App +import com.topjohnwu.magisk.core.GeneralReceiver +import com.topjohnwu.magisk.core.SplashActivity +import com.topjohnwu.magisk.core.base.BaseWorkerWrapper +import com.topjohnwu.magisk.core.download.DownloadService +import com.topjohnwu.magisk.legacy.flash.FlashActivity +import com.topjohnwu.magisk.legacy.surequest.SuRequestActivity +import com.topjohnwu.magisk.ui.MainActivity +import java.lang.reflect.ParameterizedType + +class b : MainActivity() + +class c : SplashActivity() + +class e : App { + constructor() : super() + constructor(o: Any) : super(o) +} + +class f : FlashActivity() + +class h : GeneralReceiver() + +class j : DownloadService() + +class m : SuRequestActivity() + +/** + * Wrapper class to workaround Proguard rule : + * -keep class * extends Worker + * */ +abstract class w( + context: Context, + workerParams: WorkerParameters +) : Worker(context, workerParams) { + + private var base: T? = null + + override fun doWork() = base?.doWork() ?: Result.failure() + + override fun onStopped() = base?.onStopped() ?: Unit + + init { + try { + base = ((javaClass.genericSuperclass as ParameterizedType) + .actualTypeArguments[0] as Class).newInstance() + base?.attachWorker(this) + } catch (e : java.lang.Exception) {} + } +} diff --git a/app/src/main/java/a/w.java b/app/src/main/java/a/w.java deleted file mode 100644 index 076926e7e..000000000 --- a/app/src/main/java/a/w.java +++ /dev/null @@ -1,42 +0,0 @@ -package a; - -import android.content.Context; - -import androidx.annotation.NonNull; -import androidx.work.Worker; -import androidx.work.WorkerParameters; - -import com.topjohnwu.magisk.core.base.BaseWorkerWrapper; - -import java.lang.reflect.ParameterizedType; - -public abstract class w extends Worker { - - /* Wrapper class to workaround Proguard -keep class * extends Worker */ - - private T base; - - @SuppressWarnings("unchecked") - w(@NonNull Context context, @NonNull WorkerParameters workerParams) { - super(context, workerParams); - try { - base = ((Class) ((ParameterizedType) getClass().getGenericSuperclass()) - .getActualTypeArguments()[0]).newInstance(); - base.attachWorker(this); - } catch (Exception ignored) {} - } - - @NonNull - @Override - public Result doWork() { - if (base == null) - return Result.failure(); - return base.doWork(); - } - - @Override - public void onStopped() { - if (base != null) - base.onStopped(); - } -}