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

Commit 22676d61 authored by vadimt's avatar vadimt
Browse files

Removing taking unrelated locks from holdLock

Test: running tests with the lock contention stress mode
Bug: 168630376
Change-Id: I5665eb7100d2fcbb93c7ade6cc30b0d8519246bb
parent 8c7bfcd5
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ package android.app {
    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void addHomeVisibilityListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.HomeVisibilityListener);
    method public void alwaysShowUnsupportedCompileSdkWarning(android.content.ComponentName);
    method public long getTotalRam();
    method @RequiresPermission(android.Manifest.permission.INJECT_EVENTS) public void holdLock(int);
    method public void holdLock(android.os.IBinder, int);
    method public static boolean isHighEndGfx();
    method @RequiresPermission(android.Manifest.permission.SET_ACTIVITY_WATCHER) public void removeHomeVisibilityListener(@NonNull android.app.HomeVisibilityListener);
    method @RequiresPermission(android.Manifest.permission.RESET_APP_ERRORS) public void resetAppErrors();
@@ -533,6 +533,7 @@ package android.content.pm {
  public abstract class PackageManager {
    method @Nullable public String getContentCaptureServicePackageName();
    method @Nullable public String getDefaultTextClassifierPackageName();
    method @RequiresPermission(android.Manifest.permission.INJECT_EVENTS) public android.os.IBinder getHoldLockToken();
    method public abstract int getInstallReason(@NonNull String, @NonNull android.os.UserHandle);
    method @NonNull public abstract java.util.List<android.content.pm.ApplicationInfo> getInstalledApplicationsAsUser(int, int);
    method @Nullable public abstract String[] getNamesForUids(int[]);
@@ -541,7 +542,7 @@ package android.content.pm {
    method @NonNull public abstract String getSharedSystemSharedLibraryPackageName();
    method @Nullable public String getSystemTextClassifierPackageName();
    method @Nullable public String getWellbeingPackageName();
    method @RequiresPermission(android.Manifest.permission.INJECT_EVENTS) public void holdLock(int);
    method public void holdLock(android.os.IBinder, int);
    field public static final String FEATURE_ADOPTABLE_STORAGE = "android.software.adoptable_storage";
    field public static final String FEATURE_FILE_BASED_ENCRYPTION = "android.software.file_based_encryption";
    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
@@ -2034,7 +2035,7 @@ package android.view {
  }

  public interface WindowManager extends android.view.ViewManager {
    method @RequiresPermission(android.Manifest.permission.INJECT_EVENTS) public default void holdLock(int);
    method public default void holdLock(android.os.IBinder, int);
    method public default void setShouldShowIme(int, boolean);
    method public default void setShouldShowSystemDecors(int, boolean);
    method public default void setShouldShowWithInsecureKeyguard(int, boolean);
+20 −6
Original line number Diff line number Diff line
@@ -539,6 +539,8 @@ InternalField: android.telephony.ims.ImsConferenceState#mParticipants:

KotlinOperator: android.os.WorkSource#get(int):
    
KotlinOperator: android.util.SparseArrayMap#get(int, K):
    
KotlinOperator: android.util.SparseArrayMap#get(int, String):
    

@@ -594,17 +596,17 @@ MinMaxConstant: android.view.autofill.AutofillManager#MAX_TEMP_AUGMENTED_SERVICE


MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setAttributeSet(android.util.AttributeSet):
    android.app.ActivityView does not declare a `getAttributeSet()` method matching method android.app.ActivityView.Builder.setAttributeSet(android.util.AttributeSet)
    
MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setDefaultStyle(int):
    android.app.ActivityView does not declare a `getDefaultStyle()` method matching method android.app.ActivityView.Builder.setDefaultStyle(int)
    
MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setDisableSurfaceViewBackgroundLayer(boolean):
    android.app.ActivityView does not declare a `isDisableSurfaceViewBackgroundLayer()` method matching method android.app.ActivityView.Builder.setDisableSurfaceViewBackgroundLayer(boolean)
    
MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setSingleInstance(boolean):
    android.app.ActivityView does not declare a `isSingleInstance()` method matching method android.app.ActivityView.Builder.setSingleInstance(boolean)
    
MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setUsePublicVirtualDisplay(boolean):
    android.app.ActivityView does not declare a `isUsePublicVirtualDisplay()` method matching method android.app.ActivityView.Builder.setUsePublicVirtualDisplay(boolean)
    
MissingGetterMatchingBuilder: android.app.ActivityView.Builder#setUseTrustedDisplay(boolean):
    android.app.ActivityView does not declare a `isUseTrustedDisplay()` method matching method android.app.ActivityView.Builder.setUseTrustedDisplay(boolean)
    
MissingGetterMatchingBuilder: android.app.AppOpsManager.HistoricalOpsRequest.Builder#setAttributionTag(String):
    
MissingGetterMatchingBuilder: android.app.AppOpsManager.HistoricalOpsRequest.Builder#setFlags(int):
@@ -751,6 +753,8 @@ MissingNullability: android.app.ActivityManager#forceStopPackage(String) paramet
    
MissingNullability: android.app.ActivityManager#getPackageImportance(String) parameter #0:
    
MissingNullability: android.app.ActivityManager#holdLock(android.os.IBinder, int) parameter #0:
    
MissingNullability: android.app.ActivityManager#removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener) parameter #0:
    
MissingNullability: android.app.ActivityManager#scheduleApplicationInfoChanged(java.util.List<java.lang.String>, int) parameter #0:
@@ -935,8 +939,12 @@ MissingNullability: android.content.pm.LauncherApps#LauncherApps(android.content
    
MissingNullability: android.content.pm.PackageInstaller.SessionParams#setGrantedRuntimePermissions(String[]) parameter #0:
    
MissingNullability: android.content.pm.PackageManager#getHoldLockToken():
    Missing nullability on method `BINDER` return
MissingNullability: android.content.pm.PackageManager#getNamesForUids(int[]) parameter #0:
    
MissingNullability: android.content.pm.PackageManager#holdLock(android.os.IBinder, int) parameter #0:
    
MissingNullability: android.content.pm.ShortcutManager#ShortcutManager(android.content.Context) parameter #0:
    
MissingNullability: android.content.res.AssetManager#getOverlayablesToString(String) parameter #0:
@@ -2313,6 +2321,8 @@ MissingNullability: android.view.ViewDebug#startRenderingCommandsCapture(android
    
MissingNullability: android.view.ViewDebug#startRenderingCommandsCapture(android.view.View, java.util.concurrent.Executor, java.util.function.Function<android.graphics.Picture,java.lang.Boolean>) parameter #2:
    
MissingNullability: android.view.WindowManager#holdLock(android.os.IBinder, int) parameter #0:
    
MissingNullability: android.view.WindowManager.LayoutParams#accessibilityTitle:
    
MissingNullability: android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener#onAccessibilityServicesStateChanged(android.view.accessibility.AccessibilityManager) parameter #0:
@@ -2893,6 +2903,10 @@ SetterReturnsThis: android.media.audiopolicy.AudioPolicy.Builder#setAudioPolicyS
    


StartWithLower: android.content.pm.PackageManager#BINDER():
    Method name must start with lowercase char: BINDER


StaticFinalBuilder: android.content.integrity.RuleSet.Builder:
    
StaticFinalBuilder: android.hardware.display.BrightnessConfiguration.Builder:
+4 −3
Original line number Diff line number Diff line
@@ -4812,13 +4812,14 @@ public class ActivityManager {
    /**
     * Holds the AM lock for the specified amount of milliseconds.
     * This is intended for use by the tests that need to imitate lock contention.
     * The token should be obtained by
     * {@link android.content.pm.PackageManager#getHoldLockToken()}.
     * @hide
     */
    @TestApi
    @RequiresPermission(android.Manifest.permission.INJECT_EVENTS)
    public void holdLock(int durationMs) {
    public void holdLock(IBinder token, int durationMs) {
        try {
            getService().holdLock(durationMs);
            getService().holdLock(token, durationMs);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
+3 −1
Original line number Diff line number Diff line
@@ -689,6 +689,8 @@ interface IActivityManager {
    /**
     * Holds the AM lock for the specified amount of milliseconds.
     * This is intended for use by the tests that need to imitate lock contention.
     * The token should be obtained by
     * {@link android.content.pm.PackageManager#getHoldLockToken()}.
     */
    void holdLock(in int durationMs);
    void holdLock(in IBinder token, in int durationMs);
}
+3 −1
Original line number Diff line number Diff line
@@ -794,5 +794,7 @@ interface IPackageManager {

    void grantImplicitAccess(int queryingUid, String visibleAuthority);

    void holdLock(in int durationMs);
    IBinder getHoldLockToken();

    void holdLock(in IBinder token, in int durationMs);
}
Loading