Loading core/java/android/app/LocaleConfig.java +6 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ import android.content.res.XmlResourceParser; import android.os.LocaleList; import android.os.Parcel; import android.os.Parcelable; import android.ravenwood.annotation.RavenwoodKeepWholeClass; import android.ravenwood.annotation.RavenwoodThrow; import android.util.AttributeSet; import android.util.Slog; import android.util.Xml; Loading Loading @@ -64,6 +66,7 @@ import java.util.Set; // Add following to last Note: when guide is written: // For more information about the LocaleConfig overridden by the application, see TODO(b/261528306): // add link to guide @RavenwoodKeepWholeClass public class LocaleConfig implements Parcelable { private static final String TAG = "LocaleConfig"; public static final String TAG_LOCALE_CONFIG = "locale-config"; Loading Loading @@ -104,6 +107,7 @@ public class LocaleConfig implements Parcelable { * * @see Context#createPackageContext(String, int). */ @RavenwoodThrow(blockedBy = LocaleManager.class) public LocaleConfig(@NonNull Context context) { this(context, true); } Loading @@ -117,10 +121,12 @@ public class LocaleConfig implements Parcelable { * @see Context#createPackageContext(String, int). */ @NonNull @RavenwoodThrow(blockedBy = LocaleManager.class) public static LocaleConfig fromContextIgnoringOverride(@NonNull Context context) { return new LocaleConfig(context, false); } @RavenwoodThrow(blockedBy = LocaleManager.class) private LocaleConfig(@NonNull Context context, boolean allowOverride) { if (allowOverride) { LocaleManager localeManager = context.getSystemService(LocaleManager.class); Loading core/java/android/app/ResourcesManager.java +6 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ import android.os.IBinder; import android.os.LocaleList; import android.os.Process; import android.os.Trace; import android.ravenwood.annotation.RavenwoodKeepWholeClass; import android.ravenwood.annotation.RavenwoodThrow; import android.util.ArrayMap; import android.util.ArraySet; import android.util.DisplayMetrics; Loading Loading @@ -70,6 +72,7 @@ import java.util.WeakHashMap; import java.util.function.Function; /** @hide */ @RavenwoodKeepWholeClass public class ResourcesManager { static final String TAG = "ResourcesManager"; private static final boolean DEBUG = false; Loading Loading @@ -149,6 +152,7 @@ public class ResourcesManager { * This will collect the package resources' paths from its ApplicationInfo and add them to all * existing and future contexts while the application is running. */ @RavenwoodThrow(reason = "FLAG_REGISTER_RESOURCE_PATHS is unsupported") public void registerResourcePaths(@NonNull String uniqueId, @NonNull ApplicationInfo appInfo) { if (!Flags.registerResourcePaths()) { return; Loading Loading @@ -1877,6 +1881,7 @@ public class ResourcesManager { * instance uses. */ @Override @RavenwoodThrow(blockedBy = ResourcesLoader.class) public void onLoadersChanged(@NonNull Resources resources, @NonNull List<ResourcesLoader> newLoader) { synchronized (mLock) { Loading Loading @@ -1906,6 +1911,7 @@ public class ResourcesManager { * {@code loader} to apply any changes of the set of {@link ApkAssets}. **/ @Override @RavenwoodThrow(blockedBy = ResourcesLoader.class) public void onLoaderUpdated(@NonNull ResourcesLoader loader) { synchronized (mLock) { final ArrayMap<ResourcesImpl, ResourcesKey> updatedResourceImplKeys = Loading core/java/android/app/WindowConfiguration.java +2 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.content.res.Configuration; import android.graphics.Rect; import android.os.Parcel; import android.os.Parcelable; import android.ravenwood.annotation.RavenwoodKeepWholeClass; import android.util.proto.ProtoInputStream; import android.util.proto.ProtoOutputStream; import android.util.proto.WireTypeMismatchException; Loading @@ -55,6 +56,7 @@ import java.util.Objects; * @hide */ @TestApi @RavenwoodKeepWholeClass public class WindowConfiguration implements Parcelable, Comparable<WindowConfiguration> { /** * bounds that can differ from app bounds, which may include things such as insets. Loading core/java/android/content/Context.java +12 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,8 @@ import android.os.UserManager; import android.os.storage.StorageManager; import android.provider.E2eeContactKeysManager; import android.provider.MediaStore; import android.ravenwood.annotation.RavenwoodKeep; import android.ravenwood.annotation.RavenwoodKeepPartialClass; import android.telephony.TelephonyRegistryManager; import android.util.AttributeSet; import android.view.Display; Loading Loading @@ -128,6 +130,7 @@ import java.util.function.IntConsumer; * up-calls for application-level operations such as launching activities, * broadcasting and receiving intents, etc. */ @RavenwoodKeepPartialClass public abstract class Context { /** * After {@link Build.VERSION_CODES#TIRAMISU}, Loading Loading @@ -931,6 +934,7 @@ public abstract class Context { * @param resId Resource id for the CharSequence text */ @NonNull @RavenwoodKeep public final CharSequence getText(@StringRes int resId) { return getResources().getText(resId); } Loading @@ -944,6 +948,7 @@ public abstract class Context { * text information. */ @NonNull @RavenwoodKeep public final String getString(@StringRes int resId) { return getResources().getString(resId); } Loading @@ -960,6 +965,7 @@ public abstract class Context { * stripped of styled text information. */ @NonNull @RavenwoodKeep public final String getString(@StringRes int resId, Object... formatArgs) { return getResources().getString(resId, formatArgs); } Loading @@ -976,6 +982,7 @@ public abstract class Context { * does not exist. */ @ColorInt @RavenwoodKeep public final int getColor(@ColorRes int id) { return getResources().getColor(id, getTheme()); } Loading Loading @@ -1043,6 +1050,7 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(int[]) */ @NonNull @RavenwoodKeep public final TypedArray obtainStyledAttributes(@NonNull @StyleableRes int[] attrs) { return getTheme().obtainStyledAttributes(attrs); } Loading @@ -1055,6 +1063,7 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(int, int[]) */ @NonNull @RavenwoodKeep public final TypedArray obtainStyledAttributes(@StyleRes int resid, @NonNull @StyleableRes int[] attrs) throws Resources.NotFoundException { return getTheme().obtainStyledAttributes(resid, attrs); Loading @@ -1068,6 +1077,7 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(AttributeSet, int[], int, int) */ @NonNull @RavenwoodKeep public final TypedArray obtainStyledAttributes( @Nullable AttributeSet set, @NonNull @StyleableRes int[] attrs) { return getTheme().obtainStyledAttributes(set, attrs, 0, 0); Loading @@ -1081,6 +1091,7 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(AttributeSet, int[], int, int) */ @NonNull @RavenwoodKeep public final TypedArray obtainStyledAttributes(@Nullable AttributeSet set, @NonNull @StyleableRes int[] attrs, @AttrRes int defStyleAttr, @StyleRes int defStyleRes) { Loading Loading @@ -4530,6 +4541,7 @@ public abstract class Context { * <b>never</b> throw a {@link RuntimeException} if the name is not supported. */ @SuppressWarnings("unchecked") @RavenwoodKeep // TODO(b/347269120): Re-add @Nullable public final <T> T getSystemService(@NonNull Class<T> serviceClass) { // Because subclasses may override getSystemService(String) we cannot Loading core/java/android/content/res/ApkAssets.java +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import android.compat.annotation.UnsupportedAppUsage; import android.content.om.OverlayableInfo; import android.content.res.loader.AssetsProvider; import android.content.res.loader.ResourcesProvider; import android.ravenwood.annotation.RavenwoodClassLoadHook; import android.ravenwood.annotation.RavenwoodKeepWholeClass; import android.text.TextUtils; import com.android.internal.annotations.GuardedBy; Loading @@ -45,6 +47,8 @@ import java.util.Objects; * making the creation of AssetManagers very cheap. * @hide */ @RavenwoodKeepWholeClass @RavenwoodClassLoadHook(RavenwoodClassLoadHook.LIBANDROID_LOADING_HOOK) public final class ApkAssets { /** Loading Loading
core/java/android/app/LocaleConfig.java +6 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,8 @@ import android.content.res.XmlResourceParser; import android.os.LocaleList; import android.os.Parcel; import android.os.Parcelable; import android.ravenwood.annotation.RavenwoodKeepWholeClass; import android.ravenwood.annotation.RavenwoodThrow; import android.util.AttributeSet; import android.util.Slog; import android.util.Xml; Loading Loading @@ -64,6 +66,7 @@ import java.util.Set; // Add following to last Note: when guide is written: // For more information about the LocaleConfig overridden by the application, see TODO(b/261528306): // add link to guide @RavenwoodKeepWholeClass public class LocaleConfig implements Parcelable { private static final String TAG = "LocaleConfig"; public static final String TAG_LOCALE_CONFIG = "locale-config"; Loading Loading @@ -104,6 +107,7 @@ public class LocaleConfig implements Parcelable { * * @see Context#createPackageContext(String, int). */ @RavenwoodThrow(blockedBy = LocaleManager.class) public LocaleConfig(@NonNull Context context) { this(context, true); } Loading @@ -117,10 +121,12 @@ public class LocaleConfig implements Parcelable { * @see Context#createPackageContext(String, int). */ @NonNull @RavenwoodThrow(blockedBy = LocaleManager.class) public static LocaleConfig fromContextIgnoringOverride(@NonNull Context context) { return new LocaleConfig(context, false); } @RavenwoodThrow(blockedBy = LocaleManager.class) private LocaleConfig(@NonNull Context context, boolean allowOverride) { if (allowOverride) { LocaleManager localeManager = context.getSystemService(LocaleManager.class); Loading
core/java/android/app/ResourcesManager.java +6 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ import android.os.IBinder; import android.os.LocaleList; import android.os.Process; import android.os.Trace; import android.ravenwood.annotation.RavenwoodKeepWholeClass; import android.ravenwood.annotation.RavenwoodThrow; import android.util.ArrayMap; import android.util.ArraySet; import android.util.DisplayMetrics; Loading Loading @@ -70,6 +72,7 @@ import java.util.WeakHashMap; import java.util.function.Function; /** @hide */ @RavenwoodKeepWholeClass public class ResourcesManager { static final String TAG = "ResourcesManager"; private static final boolean DEBUG = false; Loading Loading @@ -149,6 +152,7 @@ public class ResourcesManager { * This will collect the package resources' paths from its ApplicationInfo and add them to all * existing and future contexts while the application is running. */ @RavenwoodThrow(reason = "FLAG_REGISTER_RESOURCE_PATHS is unsupported") public void registerResourcePaths(@NonNull String uniqueId, @NonNull ApplicationInfo appInfo) { if (!Flags.registerResourcePaths()) { return; Loading Loading @@ -1877,6 +1881,7 @@ public class ResourcesManager { * instance uses. */ @Override @RavenwoodThrow(blockedBy = ResourcesLoader.class) public void onLoadersChanged(@NonNull Resources resources, @NonNull List<ResourcesLoader> newLoader) { synchronized (mLock) { Loading Loading @@ -1906,6 +1911,7 @@ public class ResourcesManager { * {@code loader} to apply any changes of the set of {@link ApkAssets}. **/ @Override @RavenwoodThrow(blockedBy = ResourcesLoader.class) public void onLoaderUpdated(@NonNull ResourcesLoader loader) { synchronized (mLock) { final ArrayMap<ResourcesImpl, ResourcesKey> updatedResourceImplKeys = Loading
core/java/android/app/WindowConfiguration.java +2 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ import android.content.res.Configuration; import android.graphics.Rect; import android.os.Parcel; import android.os.Parcelable; import android.ravenwood.annotation.RavenwoodKeepWholeClass; import android.util.proto.ProtoInputStream; import android.util.proto.ProtoOutputStream; import android.util.proto.WireTypeMismatchException; Loading @@ -55,6 +56,7 @@ import java.util.Objects; * @hide */ @TestApi @RavenwoodKeepWholeClass public class WindowConfiguration implements Parcelable, Comparable<WindowConfiguration> { /** * bounds that can differ from app bounds, which may include things such as insets. Loading
core/java/android/content/Context.java +12 −0 Original line number Diff line number Diff line Loading @@ -87,6 +87,8 @@ import android.os.UserManager; import android.os.storage.StorageManager; import android.provider.E2eeContactKeysManager; import android.provider.MediaStore; import android.ravenwood.annotation.RavenwoodKeep; import android.ravenwood.annotation.RavenwoodKeepPartialClass; import android.telephony.TelephonyRegistryManager; import android.util.AttributeSet; import android.view.Display; Loading Loading @@ -128,6 +130,7 @@ import java.util.function.IntConsumer; * up-calls for application-level operations such as launching activities, * broadcasting and receiving intents, etc. */ @RavenwoodKeepPartialClass public abstract class Context { /** * After {@link Build.VERSION_CODES#TIRAMISU}, Loading Loading @@ -931,6 +934,7 @@ public abstract class Context { * @param resId Resource id for the CharSequence text */ @NonNull @RavenwoodKeep public final CharSequence getText(@StringRes int resId) { return getResources().getText(resId); } Loading @@ -944,6 +948,7 @@ public abstract class Context { * text information. */ @NonNull @RavenwoodKeep public final String getString(@StringRes int resId) { return getResources().getString(resId); } Loading @@ -960,6 +965,7 @@ public abstract class Context { * stripped of styled text information. */ @NonNull @RavenwoodKeep public final String getString(@StringRes int resId, Object... formatArgs) { return getResources().getString(resId, formatArgs); } Loading @@ -976,6 +982,7 @@ public abstract class Context { * does not exist. */ @ColorInt @RavenwoodKeep public final int getColor(@ColorRes int id) { return getResources().getColor(id, getTheme()); } Loading Loading @@ -1043,6 +1050,7 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(int[]) */ @NonNull @RavenwoodKeep public final TypedArray obtainStyledAttributes(@NonNull @StyleableRes int[] attrs) { return getTheme().obtainStyledAttributes(attrs); } Loading @@ -1055,6 +1063,7 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(int, int[]) */ @NonNull @RavenwoodKeep public final TypedArray obtainStyledAttributes(@StyleRes int resid, @NonNull @StyleableRes int[] attrs) throws Resources.NotFoundException { return getTheme().obtainStyledAttributes(resid, attrs); Loading @@ -1068,6 +1077,7 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(AttributeSet, int[], int, int) */ @NonNull @RavenwoodKeep public final TypedArray obtainStyledAttributes( @Nullable AttributeSet set, @NonNull @StyleableRes int[] attrs) { return getTheme().obtainStyledAttributes(set, attrs, 0, 0); Loading @@ -1081,6 +1091,7 @@ public abstract class Context { * @see android.content.res.Resources.Theme#obtainStyledAttributes(AttributeSet, int[], int, int) */ @NonNull @RavenwoodKeep public final TypedArray obtainStyledAttributes(@Nullable AttributeSet set, @NonNull @StyleableRes int[] attrs, @AttrRes int defStyleAttr, @StyleRes int defStyleRes) { Loading Loading @@ -4530,6 +4541,7 @@ public abstract class Context { * <b>never</b> throw a {@link RuntimeException} if the name is not supported. */ @SuppressWarnings("unchecked") @RavenwoodKeep // TODO(b/347269120): Re-add @Nullable public final <T> T getSystemService(@NonNull Class<T> serviceClass) { // Because subclasses may override getSystemService(String) we cannot Loading
core/java/android/content/res/ApkAssets.java +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import android.compat.annotation.UnsupportedAppUsage; import android.content.om.OverlayableInfo; import android.content.res.loader.AssetsProvider; import android.content.res.loader.ResourcesProvider; import android.ravenwood.annotation.RavenwoodClassLoadHook; import android.ravenwood.annotation.RavenwoodKeepWholeClass; import android.text.TextUtils; import com.android.internal.annotations.GuardedBy; Loading @@ -45,6 +47,8 @@ import java.util.Objects; * making the creation of AssetManagers very cheap. * @hide */ @RavenwoodKeepWholeClass @RavenwoodClassLoadHook(RavenwoodClassLoadHook.LIBANDROID_LOADING_HOOK) public final class ApkAssets { /** Loading