Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 165156c8 authored by Yisroel Forta's avatar Yisroel Forta
Browse files

ApplicationStartInfo API Gating

Adds gating to new AppStartInfo APIs

Test: presubmit
Bug: 247814855
Change-Id: I3b8c027dc3cba0f264ea6b9733791b80699b210f
parent 1559d46a
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ aconfig_srcjars = [
    ":hwui_flags_java_lib{.generated_srcjars}",
    ":display_flags_lib{.generated_srcjars}",
    ":android.multiuser.flags-aconfig-java{.generated_srcjars}",
    ":android.app.flags-aconfig-java{.generated_srcjars}",
]

filegroup {
@@ -327,3 +328,16 @@ java_aconfig_library {
    aconfig_declarations: "android.multiuser.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Activity Manager
aconfig_declarations {
    name: "android.app.flags-aconfig",
    package: "android.app",
    srcs: ["core/java/android/app/activity_manager.aconfig"],
}

java_aconfig_library {
    name: "android.app.flags-aconfig-java",
    aconfig_declarations: "android.app.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}
+5 −5
Original line number Diff line number Diff line
@@ -4616,9 +4616,9 @@ package android.app {
  public class ActivityManager {
    method public int addAppTask(@NonNull android.app.Activity, @NonNull android.content.Intent, @Nullable android.app.ActivityManager.TaskDescription, @NonNull android.graphics.Bitmap);
    method public void addStartInfoTimestamp(@IntRange(from=android.app.ApplicationStartInfo.START_TIMESTAMP_RESERVED_RANGE_DEVELOPER_START, to=android.app.ApplicationStartInfo.START_TIMESTAMP_RESERVED_RANGE_DEVELOPER) int, long);
    method @FlaggedApi("android.app.app_start_info") public void addStartInfoTimestamp(@IntRange(from=android.app.ApplicationStartInfo.START_TIMESTAMP_RESERVED_RANGE_DEVELOPER_START, to=android.app.ApplicationStartInfo.START_TIMESTAMP_RESERVED_RANGE_DEVELOPER) int, long);
    method public void appNotResponding(@NonNull String);
    method public void clearApplicationStartInfoCompletionListener();
    method @FlaggedApi("android.app.app_start_info") public void clearApplicationStartInfoCompletionListener();
    method public boolean clearApplicationUserData();
    method public void clearWatchHeapLimit();
    method @RequiresPermission(android.Manifest.permission.DUMP) public void dumpPackageState(java.io.FileDescriptor, String);
@@ -4626,7 +4626,7 @@ package android.app {
    method public java.util.List<android.app.ActivityManager.AppTask> getAppTasks();
    method public android.content.pm.ConfigurationInfo getDeviceConfigurationInfo();
    method @NonNull public java.util.List<android.app.ApplicationExitInfo> getHistoricalProcessExitReasons(@Nullable String, @IntRange(from=0) int, @IntRange(from=0) int);
    method @NonNull public java.util.List<android.app.ApplicationStartInfo> getHistoricalProcessStartReasons(@IntRange(from=0) int);
    method @FlaggedApi("android.app.app_start_info") @NonNull public java.util.List<android.app.ApplicationStartInfo> getHistoricalProcessStartReasons(@IntRange(from=0) int);
    method public int getLargeMemoryClass();
    method public int getLauncherLargeIconDensity();
    method public int getLauncherLargeIconSize();
@@ -4653,7 +4653,7 @@ package android.app {
    method @RequiresPermission(android.Manifest.permission.REORDER_TASKS) public void moveTaskToFront(int, int);
    method @RequiresPermission(android.Manifest.permission.REORDER_TASKS) public void moveTaskToFront(int, int, android.os.Bundle);
    method @Deprecated public void restartPackage(String);
    method public void setApplicationStartInfoCompletionListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.ApplicationStartInfo>);
    method @FlaggedApi("android.app.app_start_info") public void setApplicationStartInfoCompletionListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.ApplicationStartInfo>);
    method public void setProcessStateSummary(@Nullable byte[]);
    method public static void setVrThread(int);
    method public void setWatchHeapLimit(long);
@@ -5234,7 +5234,7 @@ package android.app {
    field public static final int REASON_USER_STOPPED = 11; // 0xb
  }
  public final class ApplicationStartInfo implements android.os.Parcelable {
  @FlaggedApi("android.app.app_start_info") public final class ApplicationStartInfo implements android.os.Parcelable {
    method public int describeContents();
    method public int getDefiningUid();
    method @Nullable public android.content.Intent getIntent();
+1 −1
Original line number Diff line number Diff line
@@ -540,7 +540,7 @@ package android.app {
    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
    method @NonNull @RequiresPermission(android.Manifest.permission.DUMP) public java.util.List<android.app.ApplicationStartInfo> getExternalHistoricalProcessStartReasons(@NonNull String, @IntRange(from=0) int);
    method @FlaggedApi(Flags.FLAG_APP_START_INFO) @NonNull @RequiresPermission(android.Manifest.permission.DUMP) public java.util.List<android.app.ApplicationStartInfo> getExternalHistoricalProcessStartReasons(@NonNull String, @IntRange(from=0) int);
    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
+6 −0
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE;
import android.Manifest;
import android.annotation.ColorInt;
import android.annotation.DrawableRes;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.NonNull;
@@ -3982,6 +3983,7 @@ public class ActivityManager {
     *         the order from most recent to least recent.
     */
    @NonNull
    @FlaggedApi(Flags.FLAG_APP_START_INFO)
    public List<ApplicationStartInfo> getHistoricalProcessStartReasons(
            @IntRange(from = 0) int maxNum) {
        try {
@@ -4012,6 +4014,7 @@ public class ActivityManager {
     */
    @NonNull
    @SystemApi
    @FlaggedApi(Flags.FLAG_APP_START_INFO)
    @RequiresPermission(Manifest.permission.DUMP)
    public List<ApplicationStartInfo> getExternalHistoricalProcessStartReasons(
            @NonNull String packageName, @IntRange(from = 0) int maxNum) {
@@ -4044,6 +4047,7 @@ public class ActivityManager {
     *
     * @throws IllegalArgumentException if executor or listener are null.
     */
    @FlaggedApi(Flags.FLAG_APP_START_INFO)
    public void setApplicationStartInfoCompletionListener(@NonNull final Executor executor,
            @NonNull final Consumer<ApplicationStartInfo> listener) {
        Preconditions.checkNotNull(executor, "executor cannot be null");
@@ -4065,6 +4069,7 @@ public class ActivityManager {
    /**
     * Removes the callback set by {@link #setApplicationStartInfoCompletionListener} if there is one.
     */
    @FlaggedApi(Flags.FLAG_APP_START_INFO)
    public void clearApplicationStartInfoCompletionListener() {
        try {
            getService().clearApplicationStartInfoCompleteListener(mContext.getUserId());
@@ -4089,6 +4094,7 @@ public class ActivityManager {
     *                    Will thow {@link java.lang.IllegalArgumentException} if not in range.
     * @param timestampNs Clock monotonic time in nanoseconds of event to be recorded.
     */
    @FlaggedApi(Flags.FLAG_APP_START_INFO)
    public void addStartInfoTimestamp(@IntRange(
            from = ApplicationStartInfo.START_TIMESTAMP_RESERVED_RANGE_DEVELOPER_START,
            to = ApplicationStartInfo.START_TIMESTAMP_RESERVED_RANGE_DEVELOPER) int key,
+2 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package android.app;

import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -37,6 +38,7 @@ import java.util.Set;
/**
 * Provide information related to a processes startup.
 */
@FlaggedApi(Flags.FLAG_APP_START_INFO)
public final class ApplicationStartInfo implements Parcelable {

    /**
Loading