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

Commit 8441703d authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6425864 from 4dd2f709 to mainline-release

Change-Id: I75b66a8bd5baa4ab818020433bec74043b10f065
parents 8376ff2d 4dd2f709
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -97,9 +97,6 @@ stubs_defaults {
droidstubs {
    name: "api-stubs-docs",
    defaults: ["metalava-full-api-stubs-default"],
    api_filename: "public_api.txt",
    private_api_filename: "private.txt",
    removed_api_filename: "removed.txt",
    removed_dex_api_filename: "removed-dex.txt",
    arg_files: [
        "core/res/AndroidManifest.xml",
@@ -142,10 +139,6 @@ module_libs = " " +
droidstubs {
    name: "system-api-stubs-docs",
    defaults: ["metalava-full-api-stubs-default"],
    api_tag_name: "SYSTEM",
    api_filename: "system-api.txt",
    private_api_filename: "system-private.txt",
    removed_api_filename: "system-removed.txt",
    removed_dex_api_filename: "system-removed-dex.txt",
    arg_files: [
        "core/res/AndroidManifest.xml",
@@ -178,9 +171,6 @@ droidstubs {
droidstubs {
    name: "test-api-stubs-docs",
    defaults: ["metalava-full-api-stubs-default"],
    api_tag_name: "TEST",
    api_filename: "test-api.txt",
    removed_api_filename: "test-removed.txt",
    arg_files: [
        "core/res/AndroidManifest.xml",
    ],
@@ -216,7 +206,6 @@ droidstubs {
droidstubs {
    name: "module-lib-api",
    defaults: ["metalava-full-api-stubs-default"],
    api_tag_name: "MODULE_LIB",
    arg_files: ["core/res/AndroidManifest.xml"],
    args: metalava_framework_docs_args + module_libs,
    check_api: {
+31 −2
Original line number Diff line number Diff line
@@ -1863,6 +1863,9 @@ public final class QuotaController extends StateController {
        /** The next time the alarm is set to go off, in the elapsed realtime timebase. */
        @GuardedBy("mLock")
        private long mTriggerTimeElapsed = 0;
        /** The minimum amount of time between quota check alarms. */
        @GuardedBy("mLock")
        private long mMinQuotaCheckDelayMs = QcConstants.DEFAULT_MIN_QUOTA_CHECK_DELAY_MS;

        @GuardedBy("mLock")
        void addAlarmLocked(int userId, @NonNull String pkgName, long inQuotaTimeElapsed) {
@@ -1872,6 +1875,11 @@ public final class QuotaController extends StateController {
            setNextAlarmLocked();
        }

        @GuardedBy("mLock")
        void setMinQuotaCheckDelayMs(long minDelayMs) {
            mMinQuotaCheckDelayMs = minDelayMs;
        }

        @GuardedBy("mLock")
        void removeAlarmLocked(@NonNull Package pkg) {
            if (mAlarmQueue.remove(pkg)) {
@@ -1902,8 +1910,14 @@ public final class QuotaController extends StateController {

        @GuardedBy("mLock")
        private void setNextAlarmLocked() {
            setNextAlarmLocked(sElapsedRealtimeClock.millis());
        }

        @GuardedBy("mLock")
        private void setNextAlarmLocked(long earliestTriggerElapsed) {
            if (mAlarmQueue.size() > 0) {
                final long nextTriggerTimeElapsed = mAlarmQueue.peek().second;
                final long nextTriggerTimeElapsed = Math.max(earliestTriggerElapsed,
                        mAlarmQueue.peek().second);
                // Only schedule the alarm if one of the following is true:
                // 1. There isn't one currently scheduled
                // 2. The new alarm is significantly earlier than the previous alarm. If it's
@@ -1939,7 +1953,7 @@ public final class QuotaController extends StateController {
                        break;
                    }
                }
                setNextAlarmLocked();
                setNextAlarmLocked(sElapsedRealtimeClock.millis() + mMinQuotaCheckDelayMs);
            }
        }

@@ -2022,6 +2036,7 @@ public final class QuotaController extends StateController {
                "max_session_count_per_rate_limiting_window";
        private static final String KEY_TIMING_SESSION_COALESCING_DURATION_MS =
                "timing_session_coalescing_duration_ms";
        private static final String KEY_MIN_QUOTA_CHECK_DELAY_MS = "min_quota_check_delay_ms";

        private static final long DEFAULT_ALLOWED_TIME_PER_PERIOD_MS =
                10 * 60 * 1000L; // 10 minutes
@@ -2062,6 +2077,7 @@ public final class QuotaController extends StateController {
        private static final int DEFAULT_MAX_SESSION_COUNT_RESTRICTED = 1; // 1/day
        private static final int DEFAULT_MAX_SESSION_COUNT_PER_RATE_LIMITING_WINDOW = 20;
        private static final long DEFAULT_TIMING_SESSION_COALESCING_DURATION_MS = 5000; // 5 seconds
        private static final long DEFAULT_MIN_QUOTA_CHECK_DELAY_MS = MINUTE_IN_MILLIS;

        /** How much time each app will have to run jobs within their standby bucket window. */
        public long ALLOWED_TIME_PER_PERIOD_MS = DEFAULT_ALLOWED_TIME_PER_PERIOD_MS;
@@ -2195,6 +2211,9 @@ public final class QuotaController extends StateController {
        public long TIMING_SESSION_COALESCING_DURATION_MS =
                DEFAULT_TIMING_SESSION_COALESCING_DURATION_MS;

        /** The minimum amount of time between quota check alarms. */
        public long MIN_QUOTA_CHECK_DELAY_MS = DEFAULT_MIN_QUOTA_CHECK_DELAY_MS;

        // Safeguards

        /** The minimum number of jobs that any bucket will be allowed to run within its window. */
@@ -2288,6 +2307,8 @@ public final class QuotaController extends StateController {
            TIMING_SESSION_COALESCING_DURATION_MS = mParser.getLong(
                    KEY_TIMING_SESSION_COALESCING_DURATION_MS,
                    DEFAULT_TIMING_SESSION_COALESCING_DURATION_MS);
            MIN_QUOTA_CHECK_DELAY_MS = mParser.getDurationMillis(KEY_MIN_QUOTA_CHECK_DELAY_MS,
                    DEFAULT_MIN_QUOTA_CHECK_DELAY_MS);

            updateConstants();
        }
@@ -2433,6 +2454,11 @@ public final class QuotaController extends StateController {
                    mTimingSessionCoalescingDurationMs = newSessionCoalescingDurationMs;
                    changed = true;
                }
                // Don't set changed to true for this one since we don't need to re-evaluate
                // execution stats or constraint status. Limit the delay to the range [0, 15]
                // minutes.
                mInQuotaAlarmListener.setMinQuotaCheckDelayMs(
                        Math.min(15 * MINUTE_IN_MILLIS, Math.max(0, MIN_QUOTA_CHECK_DELAY_MS)));

                if (changed) {
                    // Update job bookkeeping out of band.
@@ -2475,6 +2501,7 @@ public final class QuotaController extends StateController {
                    MAX_SESSION_COUNT_PER_RATE_LIMITING_WINDOW).println();
            pw.printPair(KEY_TIMING_SESSION_COALESCING_DURATION_MS,
                    TIMING_SESSION_COALESCING_DURATION_MS).println();
            pw.printPair(KEY_MIN_QUOTA_CHECK_DELAY_MS, MIN_QUOTA_CHECK_DELAY_MS).println();
            pw.decreaseIndent();
        }

@@ -2520,6 +2547,8 @@ public final class QuotaController extends StateController {
                    MAX_SESSION_COUNT_PER_RATE_LIMITING_WINDOW);
            proto.write(ConstantsProto.QuotaController.TIMING_SESSION_COALESCING_DURATION_MS,
                    TIMING_SESSION_COALESCING_DURATION_MS);
            proto.write(ConstantsProto.QuotaController.MIN_QUOTA_CHECK_DELAY_MS,
                    MIN_QUOTA_CHECK_DELAY_MS);
            proto.end(qcToken);
        }
    }
+2 −0
Original line number Diff line number Diff line
service derive_sdk /apex/com.android.sdkext/bin/derive_sdk
    user nobody
    group nobody
    oneshot
    disabled
+1 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ android_test {
        ],
    test_suites: [
        "device-tests",
        "mts",
    ],
    platform_apis: true,
    privileged: true,
+13 −2
Original line number Diff line number Diff line
@@ -3087,6 +3087,7 @@ package android.provider {
    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
    field public static final String NFC_PAYMENT_DEFAULT_COMPONENT = "nfc_payment_default_component";
    field public static final String NOTIFICATION_BADGING = "notification_badging";
    field public static final String POWER_MENU_LOCKED_SHOW_CONTENT = "power_menu_locked_show_content";
    field @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static final String SYNC_PARENT_SOUNDS = "sync_parent_sounds";
    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
    field public static final String VOICE_INTERACTION_SERVICE = "voice_interaction_service";
@@ -5260,10 +5261,20 @@ package android.widget {

package android.window {

  public final class DisplayAreaInfo implements android.os.Parcelable {
    ctor public DisplayAreaInfo(@NonNull android.window.WindowContainerToken, int);
    method public int describeContents();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.window.DisplayAreaInfo> CREATOR;
    field @NonNull public final android.content.res.Configuration configuration;
    field public final int displayId;
    field @NonNull public final android.window.WindowContainerToken token;
  }

  public class DisplayAreaOrganizer extends android.window.WindowOrganizer {
    ctor public DisplayAreaOrganizer();
    method public void onDisplayAreaAppeared(@NonNull android.window.WindowContainerToken);
    method public void onDisplayAreaVanished(@NonNull android.window.WindowContainerToken);
    method public void onDisplayAreaAppeared(@NonNull android.window.DisplayAreaInfo);
    method public void onDisplayAreaVanished(@NonNull android.window.DisplayAreaInfo);
    method @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void registerOrganizer(int);
    field public static final int FEATURE_DEFAULT_TASK_CONTAINER = 1; // 0x1
    field public static final int FEATURE_ROOT = 0; // 0x0
Loading