Merge "Public self targeting API"
diff --git a/core/api/current.txt b/core/api/current.txt
index ed119c8..5b2b37f 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -10033,6 +10033,7 @@
field public static final String NFC_SERVICE = "nfc";
field public static final String NOTIFICATION_SERVICE = "notification";
field public static final String NSD_SERVICE = "servicediscovery";
+ field public static final String OVERLAY_SERVICE = "overlay";
field public static final String PEOPLE_SERVICE = "people";
field public static final String PERFORMANCE_HINT_SERVICE = "performance_hint";
field public static final String POWER_SERVICE = "power";
@@ -11201,6 +11202,49 @@
}
+package android.content.om {
+
+ public class FabricatedOverlay {
+ ctor public FabricatedOverlay(@NonNull String, @NonNull String);
+ method @NonNull public android.content.om.OverlayIdentifier getIdentifier();
+ method @NonNull public void setResourceValue(@NonNull String, @IntRange(from=android.util.TypedValue.TYPE_FIRST_INT, to=android.util.TypedValue.TYPE_LAST_INT) int, int, @Nullable String);
+ method @NonNull public void setResourceValue(@NonNull String, int, @NonNull String, @Nullable String);
+ method @NonNull public void setResourceValue(@NonNull String, @NonNull android.os.ParcelFileDescriptor, @Nullable String);
+ method public void setTargetOverlayable(@Nullable String);
+ }
+
+ public final class OverlayIdentifier implements android.os.Parcelable {
+ method public int describeContents();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayIdentifier> CREATOR;
+ }
+
+ public final class OverlayInfo implements android.os.Parcelable {
+ method public int describeContents();
+ method @NonNull public android.content.om.OverlayIdentifier getOverlayIdentifier();
+ method @Nullable public String getOverlayName();
+ method @Nullable public String getTargetOverlayableName();
+ method @NonNull public String getTargetPackageName();
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayInfo> CREATOR;
+ }
+
+ public class OverlayManager {
+ method @NonNull @NonUiContext public java.util.List<android.content.om.OverlayInfo> getOverlayInfosForTarget(@NonNull String);
+ }
+
+ public final class OverlayManagerTransaction implements android.os.Parcelable {
+ ctor public OverlayManagerTransaction(@NonNull android.content.om.OverlayManager);
+ method @NonUiContext public void commit() throws java.io.IOException, android.content.pm.PackageManager.NameNotFoundException;
+ method public int describeContents();
+ method @NonNull public void registerFabricatedOverlay(@NonNull android.content.om.FabricatedOverlay);
+ method @NonNull public void unregisterFabricatedOverlay(@NonNull android.content.om.OverlayIdentifier);
+ method public void writeToParcel(@NonNull android.os.Parcel, int);
+ field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayManagerTransaction> CREATOR;
+ }
+
+}
+
package android.content.pm {
public class ActivityInfo extends android.content.pm.ComponentInfo implements android.os.Parcelable {
@@ -13107,6 +13151,7 @@
method @NonNull public static android.content.res.loader.ResourcesProvider loadFromDirectory(@NonNull String, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
method @NonNull public static android.content.res.loader.ResourcesProvider loadFromSplit(@NonNull android.content.Context, @NonNull String) throws java.io.IOException;
method @NonNull public static android.content.res.loader.ResourcesProvider loadFromTable(@NonNull android.os.ParcelFileDescriptor, @Nullable android.content.res.loader.AssetsProvider) throws java.io.IOException;
+ method @NonNull public static android.content.res.loader.ResourcesProvider loadOverlay(@NonNull android.content.om.OverlayInfo) throws java.io.IOException;
}
}
diff --git a/core/api/system-current.txt b/core/api/system-current.txt
index 97b9a51..bd64f4d 100644
--- a/core/api/system-current.txt
+++ b/core/api/system-current.txt
@@ -3429,15 +3429,10 @@
package android.content.om {
public final class OverlayInfo implements android.os.Parcelable {
- method public int describeContents();
method @Nullable public String getCategory();
method @NonNull public String getPackageName();
- method @Nullable public String getTargetOverlayableName();
- method @NonNull public String getTargetPackageName();
method public int getUserId();
method public boolean isEnabled();
- method public void writeToParcel(@NonNull android.os.Parcel, int);
- field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayInfo> CREATOR;
}
public class OverlayManager {
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index 708a02d..9c25c32 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -5784,7 +5784,6 @@
*
* @see #getSystemService(String)
* @see android.content.om.OverlayManager
- * @hide
*/
public static final String OVERLAY_SERVICE = "overlay";
diff --git a/core/java/android/content/om/FabricatedOverlay.java b/core/java/android/content/om/FabricatedOverlay.java
index e4936bc..7e787c9 100644
--- a/core/java/android/content/om/FabricatedOverlay.java
+++ b/core/java/android/content/om/FabricatedOverlay.java
@@ -78,16 +78,14 @@
*
* @see OverlayManager
* @see OverlayManagerTransaction
- * @hide
*/
public class FabricatedOverlay {
/**
* Retrieves the identifier for this fabricated overlay.
* @return the overlay identifier
- *
- * @hide
*/
+ @NonNull
public OverlayIdentifier getIdentifier() {
return new OverlayIdentifier(
mOverlay.packageName, TextUtils.nullIfEmpty(mOverlay.overlayName));
@@ -325,7 +323,6 @@
* @param overlayName a name used to uniquely identify the fabricated overlay owned by the
* caller itself.
* @param targetPackage the name of the package to be overlaid
- * @hide
*/
public FabricatedOverlay(@NonNull String overlayName, @NonNull String targetPackage) {
this(generateFabricatedOverlayInternal(
@@ -344,7 +341,6 @@
* should specify which overlayable to be overlaid.
*
* @param targetOverlayable the overlayable name defined in target package.
- * @hide
*/
public void setTargetOverlayable(@Nullable String targetOverlayable) {
mOverlay.targetOverlayable = TextUtils.emptyIfNull(targetOverlayable);
@@ -438,7 +434,6 @@
* @param value the integer representing the new value
* @param configuration The string representation of the config this overlay is enabled for
* @see android.util.TypedValue#TYPE_INT_COLOR_ARGB8 android.util.TypedValue#type
- * @hide
*/
@NonNull
public void setResourceValue(
@@ -470,7 +465,6 @@
* @param value the string representing the new value
* @param configuration The string representation of the config this overlay is enabled for
* @see android.util.TypedValue#TYPE_STRING android.util.TypedValue#type
- * @hide
*/
@NonNull
public void setResourceValue(
@@ -491,7 +485,6 @@
* [package]:type/entry)
* @param value the file descriptor whose contents are the value of the frro
* @param configuration The string representation of the config this overlay is enabled for
- * @hide
*/
@NonNull
public void setResourceValue(
diff --git a/core/java/android/content/om/OverlayIdentifier.java b/core/java/android/content/om/OverlayIdentifier.java
index a43091e..f256372 100644
--- a/core/java/android/content/om/OverlayIdentifier.java
+++ b/core/java/android/content/om/OverlayIdentifier.java
@@ -41,7 +41,6 @@
* @see OverlayInfo#getOverlayIdentifier()
* @see OverlayManagerTransaction.Builder#unregisterFabricatedOverlay(OverlayIdentifier)
*/
-/** @hide */
@DataClass(genConstructor = false, genBuilder = false, genHiddenBuilder = false,
genEqualsHashCode = true, genToString = false)
public final class OverlayIdentifier implements Parcelable {
@@ -176,7 +175,6 @@
/**
* {@inheritDoc}
- * @hide
*/
@Override
@DataClass.Generated.Member
@@ -194,7 +192,6 @@
/**
* {@inheritDoc}
- * @hide
*/
@Override
@DataClass.Generated.Member
diff --git a/core/java/android/content/om/OverlayInfo.java b/core/java/android/content/om/OverlayInfo.java
index a81d16ab..ff1c088 100644
--- a/core/java/android/content/om/OverlayInfo.java
+++ b/core/java/android/content/om/OverlayInfo.java
@@ -46,9 +46,7 @@
* -->
*
* @see OverlayManager#getOverlayInfosForTarget(String)
- * @hide
*/
-@SystemApi
public final class OverlayInfo implements CriticalOverlayInfo, Parcelable {
/** @hide */
@@ -59,7 +57,6 @@
STATE_DISABLED,
STATE_ENABLED,
STATE_ENABLED_IMMUTABLE,
- // @Deprecated STATE_TARGET_IS_BEING_REPLACED,
STATE_OVERLAY_IS_BEING_REPLACED,
STATE_SYSTEM_UPDATE_UNINSTALL,
})
@@ -312,7 +309,6 @@
* Get the overlay name from the registered fabricated overlay.
*
* @return the overlay name
- * @hide
*/
@Override
@Nullable
@@ -324,10 +320,8 @@
* Returns the name of the target overlaid package.
*
* @return the target package name
- * @hide
*/
@Override
- @SystemApi
@NonNull
public String getTargetPackageName() {
return targetPackageName;
@@ -359,9 +353,7 @@
* Return the target overlayable name.
*
* @return the name of the target overlayable resources set
- * @hide
*/
- @SystemApi
@Override
@Nullable
public String getTargetOverlayableName() {
@@ -394,7 +386,6 @@
*
* @return an identifier representing the current overlay.
* @see OverlayManagerTransaction.Builder#unregisterFabricatedOverlay(OverlayIdentifier)
- * @hide
*/
@Override
@NonNull
diff --git a/core/java/android/content/om/OverlayManager.java b/core/java/android/content/om/OverlayManager.java
index 7803cb8..96b7603 100644
--- a/core/java/android/content/om/OverlayManager.java
+++ b/core/java/android/content/om/OverlayManager.java
@@ -54,9 +54,7 @@
* </ul>
*
* @see OverlayManagerTransaction
- * @hide
*/
-@SystemApi
@SystemService(Context.OVERLAY_SERVICE)
public class OverlayManager {
@@ -392,7 +390,6 @@
*
* @param targetPackageName the target package name
* @return a list of overlay information
- * @hide
*/
@NonNull
@NonUiContext
diff --git a/core/java/android/content/om/OverlayManagerTransaction.java b/core/java/android/content/om/OverlayManagerTransaction.java
index c7c605d..5fd695b 100644
--- a/core/java/android/content/om/OverlayManagerTransaction.java
+++ b/core/java/android/content/om/OverlayManagerTransaction.java
@@ -58,7 +58,6 @@
*
* @see OverlayManager
* @see FabricatedOverlay
- * @hide
*/
public final class OverlayManagerTransaction implements Parcelable {
// TODO: remove @hide from this class when OverlayManager is added to the
@@ -92,8 +91,6 @@
/**
* Get an overlay manager transaction with the specified handler.
* @param overlayManager handles this transaction.
- *
- * @hide
*/
public OverlayManagerTransaction(@NonNull OverlayManager overlayManager) {
this(new ArrayList<>(), Objects.requireNonNull(overlayManager));
@@ -291,8 +288,6 @@
/**
* {@inheritDoc}
- *
- * @hide
*/
@Override
public int describeContents() {
@@ -301,8 +296,6 @@
/**
* {@inheritDoc}
- *
- * @hide
*/
@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
@@ -340,7 +333,6 @@
*
* @throws IOException if there is a file operation error.
* @throws PackageManager.NameNotFoundException if the package name is not found.
- * @hide
*/
@NonUiContext
public void commit() throws PackageManager.NameNotFoundException, IOException {
@@ -374,8 +366,6 @@
* package or target overlayable is changed.
*
* @param overlay the overlay to register with the overlay manager
- *
- * @hide
*/
@NonNull
public void registerFabricatedOverlay(@NonNull FabricatedOverlay overlay) {
@@ -389,7 +379,6 @@
*
* @see OverlayManager#getOverlayInfosForTarget(String)
* @see OverlayInfo#getOverlayIdentifier()
- * @hide
*/
@NonNull
public void unregisterFabricatedOverlay(@NonNull OverlayIdentifier overlay) {
diff --git a/core/java/android/content/res/loader/ResourcesProvider.java b/core/java/android/content/res/loader/ResourcesProvider.java
index a5a1fa689..b097bc0 100644
--- a/core/java/android/content/res/loader/ResourcesProvider.java
+++ b/core/java/android/content/res/loader/ResourcesProvider.java
@@ -83,7 +83,6 @@
* @return the resources provider instance for the {@code overlayInfo}
* @throws IOException when the files can't be loaded.
* @see OverlayManager#getOverlayInfosForTarget(String) to get the list of overlay info.
- * @hide
*/
@SuppressLint("WrongConstant") // TODO(b/238713267): ApkAssets blocks PROPERTY_LOADER
@NonNull