Loading core/api/current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -10589,6 +10589,7 @@ package android.content { field public static final String EXTRA_MIME_TYPES = "android.intent.extra.MIME_TYPES"; field public static final String EXTRA_NOT_UNKNOWN_SOURCE = "android.intent.extra.NOT_UNKNOWN_SOURCE"; field public static final String EXTRA_ORIGINATING_URI = "android.intent.extra.ORIGINATING_URI"; field public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES"; field public static final String EXTRA_PACKAGE_NAME = "android.intent.extra.PACKAGE_NAME"; field public static final String EXTRA_PERMISSION_GROUP_NAME = "android.intent.extra.PERMISSION_GROUP_NAME"; field public static final String EXTRA_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER"; Loading Loading @@ -11718,9 +11719,12 @@ package android.content.pm { method public void unregisterSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback); method public void updateSessionAppIcon(int, @Nullable android.graphics.Bitmap); method public void updateSessionAppLabel(int, @Nullable CharSequence); method public void waitForInstallConstraints(@NonNull java.util.List<java.lang.String>, @NonNull android.content.pm.PackageInstaller.InstallConstraints, @NonNull android.content.IntentSender, long); field public static final String ACTION_SESSION_COMMITTED = "android.content.pm.action.SESSION_COMMITTED"; field public static final String ACTION_SESSION_DETAILS = "android.content.pm.action.SESSION_DETAILS"; field public static final String ACTION_SESSION_UPDATED = "android.content.pm.action.SESSION_UPDATED"; field public static final String EXTRA_INSTALL_CONSTRAINTS = "android.content.pm.extra.INSTALL_CONSTRAINTS"; field public static final String EXTRA_INSTALL_CONSTRAINTS_RESULT = "android.content.pm.extra.INSTALL_CONSTRAINTS_RESULT"; field public static final String EXTRA_OTHER_PACKAGE_NAME = "android.content.pm.extra.OTHER_PACKAGE_NAME"; field public static final String EXTRA_PACKAGE_NAME = "android.content.pm.extra.PACKAGE_NAME"; field public static final String EXTRA_PRE_APPROVAL = "android.content.pm.extra.PRE_APPROVAL"; core/api/system-current.txt +0 −1 Original line number Diff line number Diff line Loading @@ -3319,7 +3319,6 @@ package android.content { field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN"; field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE"; field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID"; field public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES"; field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME"; field public static final String EXTRA_REASON = "android.intent.extra.REASON"; field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK"; core/java/android/content/Intent.java +1 −2 Original line number Diff line number Diff line Loading @@ -6117,9 +6117,8 @@ public class Intent implements Parcelable, Cloneable { public static final String EXTRA_UID = "android.intent.extra.UID"; /** * @hide String array of package names. * String array of package names. */ @SystemApi public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES"; /** Loading core/java/android/content/pm/IPackageInstaller.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -69,4 +69,7 @@ interface IPackageInstaller { void setSilentUpdatesThrottleTime(long throttleTimeInSeconds); void checkInstallConstraints(String installerPackageName, in List<String> packageNames, in PackageInstaller.InstallConstraints constraints, in RemoteCallback callback); void waitForInstallConstraints(String installerPackageName, in List<String> packageNames, in PackageInstaller.InstallConstraints constraints, in IntentSender callback, long timeout); } core/java/android/content/pm/PackageInstaller.java +83 −3 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import static android.content.pm.Checksum.TYPE_WHOLE_SHA512; import android.Manifest; import android.annotation.CallbackExecutor; import android.annotation.CurrentTimeMillisLong; import android.annotation.DurationMillisLong; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -248,6 +249,24 @@ public class PackageInstaller { */ public static final String EXTRA_STORAGE_PATH = "android.content.pm.extra.STORAGE_PATH"; /** * The {@link InstallConstraints} object. * * @see Intent#getParcelableExtra(String, Class) * @see #waitForInstallConstraints(List, InstallConstraints, IntentSender, long) */ public static final String EXTRA_INSTALL_CONSTRAINTS = "android.content.pm.extra.INSTALL_CONSTRAINTS"; /** * The {@link InstallConstraintsResult} object. * * @see Intent#getParcelableExtra(String, Class) * @see #waitForInstallConstraints(List, InstallConstraints, IntentSender, long) */ public static final String EXTRA_INSTALL_CONSTRAINTS_RESULT = "android.content.pm.extra.INSTALL_CONSTRAINTS_RESULT"; /** {@hide} */ @Deprecated public static final String EXTRA_PACKAGE_NAMES = "android.content.pm.extra.PACKAGE_NAMES"; Loading Loading @@ -884,6 +903,32 @@ public class PackageInstaller { } } /** * Similar to {@link #checkInstallConstraints(List, InstallConstraints, Executor, Consumer)}, * but the callback is invoked only when the constraints are satisfied or after timeout. * * @param callback Called when the constraints are satisfied or after timeout. * Intents sent to this callback contain: * {@link Intent#EXTRA_PACKAGES} for the input package names, * {@link #EXTRA_INSTALL_CONSTRAINTS} for the input constraints, * {@link #EXTRA_INSTALL_CONSTRAINTS_RESULT} for the result. * @param timeoutMillis The maximum time to wait, in milliseconds until the constraints are * satisfied. Valid range is from 0 to one week. {@code 0} means the * callback will be invoked immediately no matter constraints are * satisfied or not. */ public void waitForInstallConstraints(@NonNull List<String> packageNames, @NonNull InstallConstraints constraints, @NonNull IntentSender callback, @DurationMillisLong long timeoutMillis) { try { mInstaller.waitForInstallConstraints( mInstallerPackageName, packageNames, constraints, callback, timeoutMillis); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Events for observing session lifecycle. * <p> Loading Loading @@ -3807,7 +3852,7 @@ public class PackageInstaller { * Note the constraints are applied transitively. If app Foo is used by app Bar (via shared * library or bounded service), the constraints will also be applied to Bar. */ @DataClass(genParcelable = true, genHiddenConstructor = true) @DataClass(genParcelable = true, genHiddenConstructor = true, genEqualsHashCode=true) public static final class InstallConstraints implements Parcelable { /** * Preset constraints suitable for gentle update. Loading Loading @@ -3966,6 +4011,41 @@ public class PackageInstaller { return mRequireNotInCall; } @Override @DataClass.Generated.Member public boolean equals(@Nullable Object o) { // You can override field equality logic by defining either of the methods like: // boolean fieldNameEquals(InstallConstraints other) { ... } // boolean fieldNameEquals(FieldType otherValue) { ... } if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; @SuppressWarnings("unchecked") InstallConstraints that = (InstallConstraints) o; //noinspection PointlessBooleanExpression return true && mRequireDeviceIdle == that.mRequireDeviceIdle && mRequireAppNotForeground == that.mRequireAppNotForeground && mRequireAppNotInteracting == that.mRequireAppNotInteracting && mRequireAppNotTopVisible == that.mRequireAppNotTopVisible && mRequireNotInCall == that.mRequireNotInCall; } @Override @DataClass.Generated.Member public int hashCode() { // You can override field hashCode logic by defining methods like: // int fieldNameHashCode() { ... } int _hash = 1; _hash = 31 * _hash + Boolean.hashCode(mRequireDeviceIdle); _hash = 31 * _hash + Boolean.hashCode(mRequireAppNotForeground); _hash = 31 * _hash + Boolean.hashCode(mRequireAppNotInteracting); _hash = 31 * _hash + Boolean.hashCode(mRequireAppNotTopVisible); _hash = 31 * _hash + Boolean.hashCode(mRequireNotInCall); return _hash; } @Override @DataClass.Generated.Member public void writeToParcel(@NonNull Parcel dest, int flags) { Loading Loading @@ -4023,10 +4103,10 @@ public class PackageInstaller { }; @DataClass.Generated( time = 1668650523752L, time = 1670207178734L, codegenVersion = "1.0.23", sourceFile = "frameworks/base/core/java/android/content/pm/PackageInstaller.java", inputSignatures = "public static final @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints GENTLE_UPDATE\nprivate final boolean mRequireDeviceIdle\nprivate final boolean mRequireAppNotForeground\nprivate final boolean mRequireAppNotInteracting\nprivate final boolean mRequireAppNotTopVisible\nprivate final boolean mRequireNotInCall\nclass InstallConstraints extends java.lang.Object implements [android.os.Parcelable]\nprivate boolean mRequireDeviceIdle\nprivate boolean mRequireAppNotForeground\nprivate boolean mRequireAppNotInteracting\nprivate boolean mRequireAppNotTopVisible\nprivate boolean mRequireNotInCall\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireDeviceIdle()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotForeground()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotInteracting()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotTopVisible()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireNotInCall()\npublic @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints build()\nclass Builder extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genParcelable=true, genHiddenConstructor=true)") inputSignatures = "public static final @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints GENTLE_UPDATE\nprivate final boolean mRequireDeviceIdle\nprivate final boolean mRequireAppNotForeground\nprivate final boolean mRequireAppNotInteracting\nprivate final boolean mRequireAppNotTopVisible\nprivate final boolean mRequireNotInCall\nclass InstallConstraints extends java.lang.Object implements [android.os.Parcelable]\nprivate boolean mRequireDeviceIdle\nprivate boolean mRequireAppNotForeground\nprivate boolean mRequireAppNotInteracting\nprivate boolean mRequireAppNotTopVisible\nprivate boolean mRequireNotInCall\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireDeviceIdle()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotForeground()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotInteracting()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotTopVisible()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireNotInCall()\npublic @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints build()\nclass Builder extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genParcelable=true, genHiddenConstructor=true, genEqualsHashCode=true)") @Deprecated private void __metadata() {} Loading Loading
core/api/current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -10589,6 +10589,7 @@ package android.content { field public static final String EXTRA_MIME_TYPES = "android.intent.extra.MIME_TYPES"; field public static final String EXTRA_NOT_UNKNOWN_SOURCE = "android.intent.extra.NOT_UNKNOWN_SOURCE"; field public static final String EXTRA_ORIGINATING_URI = "android.intent.extra.ORIGINATING_URI"; field public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES"; field public static final String EXTRA_PACKAGE_NAME = "android.intent.extra.PACKAGE_NAME"; field public static final String EXTRA_PERMISSION_GROUP_NAME = "android.intent.extra.PERMISSION_GROUP_NAME"; field public static final String EXTRA_PHONE_NUMBER = "android.intent.extra.PHONE_NUMBER"; Loading Loading @@ -11718,9 +11719,12 @@ package android.content.pm { method public void unregisterSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback); method public void updateSessionAppIcon(int, @Nullable android.graphics.Bitmap); method public void updateSessionAppLabel(int, @Nullable CharSequence); method public void waitForInstallConstraints(@NonNull java.util.List<java.lang.String>, @NonNull android.content.pm.PackageInstaller.InstallConstraints, @NonNull android.content.IntentSender, long); field public static final String ACTION_SESSION_COMMITTED = "android.content.pm.action.SESSION_COMMITTED"; field public static final String ACTION_SESSION_DETAILS = "android.content.pm.action.SESSION_DETAILS"; field public static final String ACTION_SESSION_UPDATED = "android.content.pm.action.SESSION_UPDATED"; field public static final String EXTRA_INSTALL_CONSTRAINTS = "android.content.pm.extra.INSTALL_CONSTRAINTS"; field public static final String EXTRA_INSTALL_CONSTRAINTS_RESULT = "android.content.pm.extra.INSTALL_CONSTRAINTS_RESULT"; field public static final String EXTRA_OTHER_PACKAGE_NAME = "android.content.pm.extra.OTHER_PACKAGE_NAME"; field public static final String EXTRA_PACKAGE_NAME = "android.content.pm.extra.PACKAGE_NAME"; field public static final String EXTRA_PRE_APPROVAL = "android.content.pm.extra.PRE_APPROVAL";
core/api/system-current.txt +0 −1 Original line number Diff line number Diff line Loading @@ -3319,7 +3319,6 @@ package android.content { field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN"; field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE"; field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID"; field public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES"; field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME"; field public static final String EXTRA_REASON = "android.intent.extra.REASON"; field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
core/java/android/content/Intent.java +1 −2 Original line number Diff line number Diff line Loading @@ -6117,9 +6117,8 @@ public class Intent implements Parcelable, Cloneable { public static final String EXTRA_UID = "android.intent.extra.UID"; /** * @hide String array of package names. * String array of package names. */ @SystemApi public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES"; /** Loading
core/java/android/content/pm/IPackageInstaller.aidl +3 −0 Original line number Diff line number Diff line Loading @@ -69,4 +69,7 @@ interface IPackageInstaller { void setSilentUpdatesThrottleTime(long throttleTimeInSeconds); void checkInstallConstraints(String installerPackageName, in List<String> packageNames, in PackageInstaller.InstallConstraints constraints, in RemoteCallback callback); void waitForInstallConstraints(String installerPackageName, in List<String> packageNames, in PackageInstaller.InstallConstraints constraints, in IntentSender callback, long timeout); }
core/java/android/content/pm/PackageInstaller.java +83 −3 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import static android.content.pm.Checksum.TYPE_WHOLE_SHA512; import android.Manifest; import android.annotation.CallbackExecutor; import android.annotation.CurrentTimeMillisLong; import android.annotation.DurationMillisLong; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -248,6 +249,24 @@ public class PackageInstaller { */ public static final String EXTRA_STORAGE_PATH = "android.content.pm.extra.STORAGE_PATH"; /** * The {@link InstallConstraints} object. * * @see Intent#getParcelableExtra(String, Class) * @see #waitForInstallConstraints(List, InstallConstraints, IntentSender, long) */ public static final String EXTRA_INSTALL_CONSTRAINTS = "android.content.pm.extra.INSTALL_CONSTRAINTS"; /** * The {@link InstallConstraintsResult} object. * * @see Intent#getParcelableExtra(String, Class) * @see #waitForInstallConstraints(List, InstallConstraints, IntentSender, long) */ public static final String EXTRA_INSTALL_CONSTRAINTS_RESULT = "android.content.pm.extra.INSTALL_CONSTRAINTS_RESULT"; /** {@hide} */ @Deprecated public static final String EXTRA_PACKAGE_NAMES = "android.content.pm.extra.PACKAGE_NAMES"; Loading Loading @@ -884,6 +903,32 @@ public class PackageInstaller { } } /** * Similar to {@link #checkInstallConstraints(List, InstallConstraints, Executor, Consumer)}, * but the callback is invoked only when the constraints are satisfied or after timeout. * * @param callback Called when the constraints are satisfied or after timeout. * Intents sent to this callback contain: * {@link Intent#EXTRA_PACKAGES} for the input package names, * {@link #EXTRA_INSTALL_CONSTRAINTS} for the input constraints, * {@link #EXTRA_INSTALL_CONSTRAINTS_RESULT} for the result. * @param timeoutMillis The maximum time to wait, in milliseconds until the constraints are * satisfied. Valid range is from 0 to one week. {@code 0} means the * callback will be invoked immediately no matter constraints are * satisfied or not. */ public void waitForInstallConstraints(@NonNull List<String> packageNames, @NonNull InstallConstraints constraints, @NonNull IntentSender callback, @DurationMillisLong long timeoutMillis) { try { mInstaller.waitForInstallConstraints( mInstallerPackageName, packageNames, constraints, callback, timeoutMillis); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Events for observing session lifecycle. * <p> Loading Loading @@ -3807,7 +3852,7 @@ public class PackageInstaller { * Note the constraints are applied transitively. If app Foo is used by app Bar (via shared * library or bounded service), the constraints will also be applied to Bar. */ @DataClass(genParcelable = true, genHiddenConstructor = true) @DataClass(genParcelable = true, genHiddenConstructor = true, genEqualsHashCode=true) public static final class InstallConstraints implements Parcelable { /** * Preset constraints suitable for gentle update. Loading Loading @@ -3966,6 +4011,41 @@ public class PackageInstaller { return mRequireNotInCall; } @Override @DataClass.Generated.Member public boolean equals(@Nullable Object o) { // You can override field equality logic by defining either of the methods like: // boolean fieldNameEquals(InstallConstraints other) { ... } // boolean fieldNameEquals(FieldType otherValue) { ... } if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; @SuppressWarnings("unchecked") InstallConstraints that = (InstallConstraints) o; //noinspection PointlessBooleanExpression return true && mRequireDeviceIdle == that.mRequireDeviceIdle && mRequireAppNotForeground == that.mRequireAppNotForeground && mRequireAppNotInteracting == that.mRequireAppNotInteracting && mRequireAppNotTopVisible == that.mRequireAppNotTopVisible && mRequireNotInCall == that.mRequireNotInCall; } @Override @DataClass.Generated.Member public int hashCode() { // You can override field hashCode logic by defining methods like: // int fieldNameHashCode() { ... } int _hash = 1; _hash = 31 * _hash + Boolean.hashCode(mRequireDeviceIdle); _hash = 31 * _hash + Boolean.hashCode(mRequireAppNotForeground); _hash = 31 * _hash + Boolean.hashCode(mRequireAppNotInteracting); _hash = 31 * _hash + Boolean.hashCode(mRequireAppNotTopVisible); _hash = 31 * _hash + Boolean.hashCode(mRequireNotInCall); return _hash; } @Override @DataClass.Generated.Member public void writeToParcel(@NonNull Parcel dest, int flags) { Loading Loading @@ -4023,10 +4103,10 @@ public class PackageInstaller { }; @DataClass.Generated( time = 1668650523752L, time = 1670207178734L, codegenVersion = "1.0.23", sourceFile = "frameworks/base/core/java/android/content/pm/PackageInstaller.java", inputSignatures = "public static final @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints GENTLE_UPDATE\nprivate final boolean mRequireDeviceIdle\nprivate final boolean mRequireAppNotForeground\nprivate final boolean mRequireAppNotInteracting\nprivate final boolean mRequireAppNotTopVisible\nprivate final boolean mRequireNotInCall\nclass InstallConstraints extends java.lang.Object implements [android.os.Parcelable]\nprivate boolean mRequireDeviceIdle\nprivate boolean mRequireAppNotForeground\nprivate boolean mRequireAppNotInteracting\nprivate boolean mRequireAppNotTopVisible\nprivate boolean mRequireNotInCall\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireDeviceIdle()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotForeground()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotInteracting()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotTopVisible()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireNotInCall()\npublic @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints build()\nclass Builder extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genParcelable=true, genHiddenConstructor=true)") inputSignatures = "public static final @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints GENTLE_UPDATE\nprivate final boolean mRequireDeviceIdle\nprivate final boolean mRequireAppNotForeground\nprivate final boolean mRequireAppNotInteracting\nprivate final boolean mRequireAppNotTopVisible\nprivate final boolean mRequireNotInCall\nclass InstallConstraints extends java.lang.Object implements [android.os.Parcelable]\nprivate boolean mRequireDeviceIdle\nprivate boolean mRequireAppNotForeground\nprivate boolean mRequireAppNotInteracting\nprivate boolean mRequireAppNotTopVisible\nprivate boolean mRequireNotInCall\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireDeviceIdle()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotForeground()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotInteracting()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireAppNotTopVisible()\npublic @android.annotation.SuppressLint @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints.Builder requireNotInCall()\npublic @android.annotation.NonNull android.content.pm.PackageInstaller.InstallConstraints build()\nclass Builder extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genParcelable=true, genHiddenConstructor=true, genEqualsHashCode=true)") @Deprecated private void __metadata() {} Loading