package mirror.android.app;
import android.app.*;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ProviderInfo;
import android.os.Binder;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.os.IInterface;
import java.lang.ref.WeakReference;
import java.util.List;
import java.util.Map;
import mirror.RefClass;
import mirror.RefConstructor;
import mirror.RefObject;
import mirror.RefMethod;
import mirror.MethodParams;
import mirror.MethodReflectParams;
import mirror.RefStaticObject;
import mirror.RefStaticInt;
import mirror.RefStaticMethod;
public class ActivityThread {
public static Class<?> TYPE = RefClass.load(ActivityThread.class, "android.app.ActivityThread");
public static RefStaticMethod currentActivityThread;
public static RefMethod<String> getProcessName;
public static RefMethod<Handler> getHandler;
public static RefMethod<Object> installProvider;
public static RefObject<Object> mBoundApplication;
public static RefObject<Handler> mH;
public static RefObject<Application> mInitialApplication;
public static RefObject<Instrumentation> mInstrumentation;
public static RefObject<Map<String, WeakReference<?>>> mPackages;
public static RefObject<Map> mProviderMap;
@MethodParams({IBinder.class, List.class})
public static RefMethod<Void> performNewIntents;
public static RefStaticObject<IInterface> sPackageManager;
@MethodParams({IBinder.class, String.class, int.class, int.class, Intent.class})
public static RefMethod<Void> sendActivityResult;
public static RefMethod<Binder> getApplicationThread;
public static Object installProvider(Object mainThread, Context context, ProviderInfo providerInfo, Object holder) {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
return installProvider.call(mainThread, context, holder, providerInfo, false, true);
}
return installProvider.call(mainThread, context, holder, providerInfo, false, true, true);
}
public static class ActivityClientRecord {
public static Class<?> TYPE = RefClass.load(ActivityClientRecord.class, "android.app.ActivityThread$ActivityClientRecord");
public static RefObject<Activity> activity;
public static RefObject<ActivityInfo> activityInfo;
public static RefObject<Intent> intent;
public static RefObject<IBinder> token;
}
public static class ProviderClientRecord {
public static Class<?> TYPE = RefClass.load(ProviderClientRecord.class, "android.app.ActivityThread$ProviderClientRecord");
@MethodReflectParams({"android.app.ActivityThread", "java.lang.String", "android.content.IContentProvider", "android.content.ContentProvider"})
public static RefConstructor<?> ctor;
public static RefObject<String> mName;
public static RefObject<IInterface> mProvider;
}
public static class ProviderClientRecordJB {
public static Class<?> TYPE = RefClass.load(ProviderClientRecordJB.class, "android.app.ActivityThread$ProviderClientRecord");
public static RefObject<Object> mHolder;
public static RefObject<IInterface> mProvider;
}
public static class ProviderKeyJBMR1 {
public static Class<?> TYPE = RefClass.load(ProviderKeyJBMR1.class, "android.app.ActivityThread$ProviderKey");
@MethodParams({String.class, int.class})
public static RefConstructor<?> ctor;
}
public static class AppBindData {
public static Class<?> TYPE = RefClass.load(AppBindData.class, "android.app.ActivityThread$AppBindData");
public static RefObject<ApplicationInfo> appInfo;
public static RefObject<Object> info;
public static RefObject<String> processName;
public static RefObject<ComponentName> instrumentationName;
public static RefObject<List<ProviderInfo>> providers;
}
public static class H {
public static Class<?> TYPE = RefClass.load(H.class, "android.app.ActivityThread$H");
public static RefStaticInt LAUNCH_ACTIVITY;
public static RefStaticInt CREATE_SERVICE;
public static RefStaticInt SCHEDULE_CRASH;
}
}