Files
Magisk/stub/src/main/java/com/topjohnwu/magisk/DelegateApplication.java
T
2021-12-13 04:05:42 -08:00

44 lines
1.2 KiB
Java

package com.topjohnwu.magisk;
import android.app.Application;
import android.content.Context;
import android.content.ContextWrapper;
import android.content.res.Configuration;
import java.lang.reflect.Method;
import io.michaelrocks.paranoid.Obfuscate;
@Obfuscate
public class DelegateApplication extends Application {
private Application receiver;
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
receiver = DynLoad.setup(this);
if (receiver != null) try {
// Call attachBaseContext without ContextImpl to show it is being wrapped
Method m = ContextWrapper.class.getDeclaredMethod("attachBaseContext", Context.class);
m.setAccessible(true);
m.invoke(receiver, this);
} catch (Exception ignored) { /* Impossible */ }
}
@Override
public void onCreate() {
super.onCreate();
if (receiver != null)
receiver.onCreate();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (receiver != null)
receiver.onConfigurationChanged(newConfig);
}
}