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

Commit 2d53d9e8 authored by Miguel Aranda's avatar Miguel Aranda Committed by Automerger Merge Worker
Browse files

Merge "Enable StrictMode checks for explicit garbageCollection from T." am:...

Merge "Enable StrictMode checks for explicit garbageCollection from T." am: ace6c8c7 am: 0c6f9250 am: 54bbbedf am: 4856f619 am: d1729b65

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2051241



Change-Id: I82b066a8fdf8b740854e7f88971046d0ae67bd1b
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 436d55bb d1729b65
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -32172,6 +32172,7 @@ package android.os {
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectCustomSlowCalls();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectDiskReads();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectDiskWrites();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectExplicitGc();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectNetwork();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectResourceMismatches();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectUnbufferedIo();
@@ -32186,6 +32187,7 @@ package android.os {
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitCustomSlowCalls();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitDiskReads();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitDiskWrites();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitExplicitGc();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitNetwork();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitResourceMismatches();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitUnbufferedIo();
@@ -32767,6 +32769,9 @@ package android.os.strictmode {
  public final class DiskWriteViolation extends android.os.strictmode.Violation {
  }
  public final class ExplicitGcViolation extends android.os.strictmode.Violation {
  }
  public final class FileUriExposedViolation extends android.os.strictmode.Violation {
  }
+0 −11
Original line number Diff line number Diff line
@@ -1827,10 +1827,6 @@ package android.os {
    method public static void setViolationLogger(android.os.StrictMode.ViolationLogger);
  }

  public static final class StrictMode.ThreadPolicy.Builder {
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectExplicitGc();
  }

  public static final class StrictMode.ViolationInfo implements android.os.Parcelable {
    ctor public StrictMode.ViolationInfo(android.os.Parcel);
    ctor public StrictMode.ViolationInfo(android.os.Parcel, boolean);
@@ -2039,13 +2035,6 @@ package android.os.storage {

}

package android.os.strictmode {

  public final class ExplicitGcViolation extends android.os.strictmode.Violation {
  }

}

package android.os.vibrator {

  public final class PrebakedSegment extends android.os.vibrator.VibrationEffectSegment {
+16 −12
Original line number Diff line number Diff line
@@ -26,6 +26,9 @@ import android.annotation.TestApi;
import android.app.ActivityManager;
import android.app.ActivityThread;
import android.app.IActivityManager;
import android.app.compat.CompatChanges;
import android.compat.annotation.ChangeId;
import android.compat.annotation.EnabledSince;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.BroadcastReceiver;
import android.content.Context;
@@ -345,6 +348,13 @@ public final class StrictMode {
    /** {@hide} */
    public static final int NETWORK_POLICY_REJECT = 2;
  
    /**
     * Detect explicit calls to {@link Runtime#gc()}.
     */
    @ChangeId
    @EnabledSince(targetSdkVersion = Build.VERSION_CODES.UPSIDE_DOWN_CAKE)
    static final long DETECT_EXPLICIT_GC = 3400644L;

    // TODO: wrap in some ImmutableHashMap thing.
    // Note: must be before static initialization of sVmPolicy.
    private static final HashMap<Class, Integer> EMPTY_CLASS_LIMIT_MAP =
@@ -496,6 +506,7 @@ public final class StrictMode {
             * <p>As of the Gingerbread release this includes network and disk operations but will
             * likely expand in future releases.
             */
            @SuppressWarnings("AndroidFrameworkCompatChange")
            public @NonNull Builder detectAll() {
                detectDiskReads();
                detectDiskWrites();
@@ -511,6 +522,9 @@ public final class StrictMode {
                if (targetSdk >= Build.VERSION_CODES.O) {
                    detectUnbufferedIo();
                }
                if (CompatChanges.isChangeEnabled(DETECT_EXPLICIT_GC)) {
                    detectExplicitGc();
                }
                return this;
            }

@@ -591,26 +605,16 @@ public final class StrictMode {
            }

            /**
             * Detect explicit GC requests, i.e. calls to Runtime.gc().
             *
             * @hide
             * Detect calls to {@link Runtime#gc()}.
             */
            @TestApi
            public @NonNull Builder detectExplicitGc() {
                // TODO(b/3400644): Un-hide this for next API update
                // TODO(b/3400644): Un-hide ExplicitGcViolation for next API update
                // TODO(b/3400644): Make DETECT_EXPLICIT_GC a @TestApi for next API update
                // TODO(b/3400644): Call this from detectAll in next API update
                return enable(DETECT_THREAD_EXPLICIT_GC);
            }

            /**
             * Disable detection of explicit GC requests, i.e. calls to Runtime.gc().
             *
             * @hide
             * Disable detection of calls to {@link Runtime#gc()}.
             */
            public @NonNull Builder permitExplicitGc() {
                // TODO(b/3400644): Un-hide this for next API update
                return disable(DETECT_THREAD_EXPLICIT_GC);
            }

+0 −3
Original line number Diff line number Diff line
@@ -19,10 +19,7 @@ import android.annotation.TestApi;

/**
 * See #{@link android.os.StrictMode.ThreadPolicy.Builder#detectExplicitGc()}.
 *
 * @hide
 */
@TestApi
public final class ExplicitGcViolation extends Violation {
    /** @hide */
    public ExplicitGcViolation() {