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

Commit d1729b65 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

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



Change-Id: I39a28d6edf551807a52ad8c593768350812b197d
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 430e5706 4856f619
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line 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 detectCustomSlowCalls();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectDiskReads();
    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 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 detectNetwork();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectResourceMismatches();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectResourceMismatches();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder detectUnbufferedIo();
    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 permitCustomSlowCalls();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitDiskReads();
    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 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 permitNetwork();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitResourceMismatches();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitResourceMismatches();
    method @NonNull public android.os.StrictMode.ThreadPolicy.Builder permitUnbufferedIo();
    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 DiskWriteViolation extends android.os.strictmode.Violation {
  }
  }
  public final class ExplicitGcViolation extends android.os.strictmode.Violation {
  }
  public final class FileUriExposedViolation extends android.os.strictmode.Violation {
  public final class FileUriExposedViolation extends android.os.strictmode.Violation {
  }
  }
+0 −11
Original line number Original line Diff line number Diff line
@@ -1813,10 +1813,6 @@ package android.os {
    method public static void setViolationLogger(android.os.StrictMode.ViolationLogger);
    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 {
  public static final class StrictMode.ViolationInfo implements android.os.Parcelable {
    ctor public StrictMode.ViolationInfo(android.os.Parcel);
    ctor public StrictMode.ViolationInfo(android.os.Parcel);
    ctor public StrictMode.ViolationInfo(android.os.Parcel, boolean);
    ctor public StrictMode.ViolationInfo(android.os.Parcel, boolean);
@@ -2052,13 +2048,6 @@ package android.os.storage {


}
}


package android.os.strictmode {

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

}

package android.os.vibrator {
package android.os.vibrator {


  public final class PrebakedSegment extends android.os.vibrator.VibrationEffectSegment {
  public final class PrebakedSegment extends android.os.vibrator.VibrationEffectSegment {
+16 −12
Original line number Original line Diff line number Diff line
@@ -26,6 +26,9 @@ import android.annotation.TestApi;
import android.app.ActivityManager;
import android.app.ActivityManager;
import android.app.ActivityThread;
import android.app.ActivityThread;
import android.app.IActivityManager;
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.compat.annotation.UnsupportedAppUsage;
import android.content.BroadcastReceiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Context;
@@ -345,6 +348,13 @@ public final class StrictMode {
    /** {@hide} */
    /** {@hide} */
    public static final int NETWORK_POLICY_REJECT = 2;
    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.
    // TODO: wrap in some ImmutableHashMap thing.
    // Note: must be before static initialization of sVmPolicy.
    // Note: must be before static initialization of sVmPolicy.
    private static final HashMap<Class, Integer> EMPTY_CLASS_LIMIT_MAP =
    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
             * <p>As of the Gingerbread release this includes network and disk operations but will
             * likely expand in future releases.
             * likely expand in future releases.
             */
             */
            @SuppressWarnings("AndroidFrameworkCompatChange")
            public @NonNull Builder detectAll() {
            public @NonNull Builder detectAll() {
                detectDiskReads();
                detectDiskReads();
                detectDiskWrites();
                detectDiskWrites();
@@ -511,6 +522,9 @@ public final class StrictMode {
                if (targetSdk >= Build.VERSION_CODES.O) {
                if (targetSdk >= Build.VERSION_CODES.O) {
                    detectUnbufferedIo();
                    detectUnbufferedIo();
                }
                }
                if (CompatChanges.isChangeEnabled(DETECT_EXPLICIT_GC)) {
                    detectExplicitGc();
                }
                return this;
                return this;
            }
            }


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


            /**
            /**
             * Detect explicit GC requests, i.e. calls to Runtime.gc().
             * Detect calls to {@link Runtime#gc()}.
             *
             * @hide
             */
             */
            @TestApi
            public @NonNull Builder detectExplicitGc() {
            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);
                return enable(DETECT_THREAD_EXPLICIT_GC);
            }
            }


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


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


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