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

Commit 54bbbedf 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

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



Change-Id: Ie9b17a88e0664585fc1d2c1fce17263accb8392a
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 8ff4861b 0c6f9250
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -32083,6 +32083,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();
@@ -32097,6 +32098,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();
@@ -32650,6 +32652,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
@@ -1815,10 +1815,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);
@@ -2055,13 +2051,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() {