/** * Accessor interface for * `android.app.SystemServiceRegistry.StaticOuterContextServiceFetcher`'s internals (for M). */ @ForType(className = STATIC_CONTEXT_SERVICE_FETCHER_CLASS_NAME_M) public interface _ServiceFetcherM_ extends _ServiceFetcher_ { @Accessor("mCachedInstance") void setCachedInstance(Object o); }
private static <T> Class<?> determineTargetClass(Class<T> iClass) { ForType forType = iClass.getAnnotation(ForType.class); if (forType == null) { throw new IllegalArgumentException("no @ForType annotation found for " + iClass); } Class<?> targetClass = forType.value(); if (targetClass.equals(void.class)) { String forClassName = forType.className(); if (forClassName.isEmpty()) { throw new IllegalArgumentException( "no value or className given for @ForType for " + iClass); } try { targetClass = Class.forName(forClassName, false, iClass.getClassLoader()); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("failed to resolve @ForType class for " + iClass, e); } } return targetClass; }
private static <T> Class<?> determineTargetClass(Class<T> iClass) { ForType forType = iClass.getAnnotation(ForType.class); if (forType == null) { throw new IllegalArgumentException("no @ForType annotation found for " + iClass); } Class<?> targetClass = forType.value(); if (targetClass.equals(void.class)) { String forClassName = forType.className(); if (forClassName.isEmpty()) { throw new IllegalArgumentException( "no value or className given for @ForType for " + iClass); } try { targetClass = Class.forName(forClassName, false, iClass.getClassLoader()); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("failed to resolve @ForType class for " + iClass, e); } } return targetClass; }
/** * Accessor interface for * {@link android.app.SystemServiceRegistry.StaticApplicationContextServiceFetcher}'s * internals (for N+). */ @ForType(className = STATIC_CONTEXT_SERVICE_FETCHER_CLASS_NAME_N) public interface _ServiceFetcherN_ extends _ServiceFetcher_ { @Accessor("mCachedInstance") void setCachedInstance(Object o); }
/** Accessor interface for {@link AssetManager}'s internals. */ @ForType(AssetManager.class) interface _AssetManager_ { @Static @Accessor("sSystem") AssetManager getSystem(); @Static @Accessor("sSystem") void setSystem(AssetManager o); }
/** Accessor interface for {@link ActivityThread}'s internals. */ @ForType(ActivityThread.class) public interface _ActivityThread_ { @Accessor("mBoundApplication") void setBoundApplication(Object data); @Accessor("mCompatConfiguration") void setCompatConfiguration(Configuration configuration); @Accessor("mInitialApplication") void setInitialApplication(Application application); @Accessor("mInstrumentation") void setInstrumentation(Instrumentation instrumentation); }
/** Accessor interface for {@link View}'s internals. */ @ForType(View.class) private interface _View_ { @Accessor("mAttachInfo") Object getAttachInfo(); void onAttachedToWindow(); void onDetachedFromWindow(); }
/** Accessor interface for {@link android.app.ContextImpl}'s internals. */ @ForType(className = CLASS_NAME) public interface _ContextImpl_ { @Static Context createSystemContext(ActivityThread activityThread); @Static Context createAppContext(ActivityThread activityThread, LoadedApk loadedApk); void setOuterContext(Context context); } }
/** Accessor interface for Cleaner's internals. */ @ForType(className = CLEANABLE_CLASS_NAME) interface _Cleanable_ { void clean(); } }
/** Accessor interface for {@link MessageQueue}'s internals. */ @ForType(MessageQueue.class) interface _MessageQueue_ { @Accessor("mMessages") void setMessages(Message msg); } }
/** Accessor interface for {@link Build.VERSION}. */ @ForType(Build.VERSION.class) private interface _VERSION_ { @Static void __staticInitializer__(); }
/** Accessor interface for android.app.Activity.NonConfigurationInstances's internals. */ @ForType(className = "android.app.Activity$NonConfigurationInstances") interface _NonConfigurationInstances_ { @Accessor("activity") Object getActivity(); } }
/** Accessor interface for {@link Display}'s internals. */ @ForType(Display.class) interface _Display_ { @Accessor("mFlags") void setFlags(int flags); } }
/** Accessor interface for {@link UsbManager}'s internals. */ @ForType(UsbManager.class) public interface _UsbManager_ { UsbPort[] getPorts(); UsbPortStatus getPortStatus(UsbPort port); void setPortRoles(UsbPort port, int powerRole, int dataRole); } }
/** Accessor interface for Cleaner's internals. */ @ForType(className = CLEANER_CLASS_NAME) interface _Cleaner_ { @Static Object create(); Object register(Object obj, Runnable action); }
/** Accessor interface for {@link ActivityThread.AppBindData}'s internals. */ @ForType(className = "android.app.ActivityThread$AppBindData") public interface _AppBindData_ { @Accessor("appInfo") void setAppInfo(ApplicationInfo applicationInfo); @Accessor("processName") void setProcessName(String name); } }
/** Accessor interface for {@link Build}. */ @ForType(Build.class) private interface _Build_ { @Static void __staticInitializer__(); }
/** Accessor interface for {@link Package}'s internals. */ @ForType(Package.class) public interface _Package_ { @Accessor("mPath") String getPath(); } }
/** Accessor interface for {@link BackgroundThread}'s internals. */ @ForType(BackgroundThread.class) interface _BackgroundThread_ { @Static @Accessor("sHandler") void setHandler(Handler o); @Static @Accessor("sInstance") void setInstance(BackgroundThread o); @Static @Accessor("sInstance") BackgroundThread getInstance(); } }
/** Accessor interface for {@link LoadedApk}'s internals. */ @ForType(LoadedApk.class) public interface _LoadedApk_ { @Accessor("mApplication") void setApplication(Application application); @Accessor("mResources") void setResources(Resources resources); } }