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

Commit 4e380aaa authored by Android Build Coastguard Worker's avatar Android Build Coastguard Worker
Browse files

Snap for 10196304 from 5f2cfdc2 to udc-release

Change-Id: Ia994c64bf769be343872bc07e9bcd2aa0444b64e
parents 5c8deea0 5f2cfdc2
Loading
Loading
Loading
Loading
+0 −28
Original line number Original line Diff line number Diff line
@@ -65,11 +65,9 @@ import android.os.UserManager;
import android.provider.DeviceConfig;
import android.provider.DeviceConfig;
import android.util.ArrayMap;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.ArraySet;
import android.util.Log;
import android.util.LongSparseArray;
import android.util.LongSparseArray;
import android.util.LongSparseLongArray;
import android.util.LongSparseLongArray;
import android.util.Pools;
import android.util.Pools;
import android.util.Slog;
import android.util.SparseArray;
import android.util.SparseArray;


import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.GuardedBy;
@@ -182,8 +180,6 @@ import java.util.function.Supplier;
 */
 */
@SystemService(Context.APP_OPS_SERVICE)
@SystemService(Context.APP_OPS_SERVICE)
public class AppOpsManager {
public class AppOpsManager {
    private static final String LOG_TAG = "AppOpsManager";

    /**
    /**
     * This is a subtle behavior change to {@link #startWatchingMode}.
     * This is a subtle behavior change to {@link #startWatchingMode}.
     *
     *
@@ -7542,7 +7538,6 @@ public class AppOpsManager {
     */
     */
    @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES)
    @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES)
    public void setUidMode(int code, int uid, @Mode int mode) {
    public void setUidMode(int code, int uid, @Mode int mode) {
        logAnySeriousModeChanges(code, uid, null, mode);
        try {
        try {
            mService.setUidMode(code, uid, mode);
            mService.setUidMode(code, uid, mode);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
@@ -7563,7 +7558,6 @@ public class AppOpsManager {
    @SystemApi
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES)
    @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES)
    public void setUidMode(@NonNull String appOp, int uid, @Mode int mode) {
    public void setUidMode(@NonNull String appOp, int uid, @Mode int mode) {
        logAnySeriousModeChanges(strOpToOp(appOp), uid, null, mode);
        try {
        try {
            mService.setUidMode(AppOpsManager.strOpToOp(appOp), uid, mode);
            mService.setUidMode(AppOpsManager.strOpToOp(appOp), uid, mode);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
@@ -7599,32 +7593,11 @@ public class AppOpsManager {
        }
        }
    }
    }


    private void logAnySeriousModeChanges(int code, int uid, String packageName, @Mode int mode) {
        // TODO (b/280869337): Remove this once we have the required data.
        if (code != OP_RUN_ANY_IN_BACKGROUND || mode == MODE_ALLOWED) {
            return;
        }
        final StringBuilder log = new StringBuilder("Attempt to change RUN_ANY_IN_BACKGROUND to ")
                .append(modeToName(mode))
                .append(" for uid: ")
                .append(UserHandle.formatUid(uid))
                .append(" package: ")
                .append(packageName)
                .append(" by: ")
                .append(mContext.getOpPackageName());
        if (Process.myUid() == Process.SYSTEM_UID) {
            Slog.wtfStack(LOG_TAG, log.toString());
        } else {
            Log.w(LOG_TAG, log.toString());
        }
    }

    /** @hide */
    /** @hide */
    @UnsupportedAppUsage
    @UnsupportedAppUsage
    @TestApi
    @TestApi
    @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES)
    @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES)
    public void setMode(int code, int uid, String packageName, @Mode int mode) {
    public void setMode(int code, int uid, String packageName, @Mode int mode) {
        logAnySeriousModeChanges(code, uid, packageName, mode);
        try {
        try {
            mService.setMode(code, uid, packageName, mode);
            mService.setMode(code, uid, packageName, mode);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
@@ -7647,7 +7620,6 @@ public class AppOpsManager {
    @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES)
    @RequiresPermission(android.Manifest.permission.MANAGE_APP_OPS_MODES)
    public void setMode(@NonNull String op, int uid, @Nullable String packageName,
    public void setMode(@NonNull String op, int uid, @Nullable String packageName,
            @Mode int mode) {
            @Mode int mode) {
        logAnySeriousModeChanges(strOpToOp(op), uid, packageName, mode);
        try {
        try {
            mService.setMode(strOpToOp(op), uid, packageName, mode);
            mService.setMode(strOpToOp(op), uid, packageName, mode);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
+4 −0
Original line number Original line Diff line number Diff line
@@ -2840,6 +2840,10 @@ public class Notification implements Parcelable
     * @hide
     * @hide
     */
     */
    public void visitUris(@NonNull Consumer<Uri> visitor) {
    public void visitUris(@NonNull Consumer<Uri> visitor) {
        if (publicVersion != null) {
            publicVersion.visitUris(visitor);
        }
        visitor.accept(sound);
        visitor.accept(sound);
        if (tickerView != null) tickerView.visitUris(visitor);
        if (tickerView != null) tickerView.visitUris(visitor);
+3 −1
Original line number Original line Diff line number Diff line
@@ -1066,7 +1066,9 @@ public class VoiceInteractionService extends Service {
        synchronized (mLock) {
        synchronized (mLock) {
            mActiveDetectors.forEach(detector -> {
            mActiveDetectors.forEach(detector -> {
                try {
                try {
                    if (detector != mActiveVisualQueryDetector.getInitializationDelegate()
                    // Skip destroying VisualQueryDetector if HotwordDetectors are created
                    if (!(mActiveVisualQueryDetector != null
                            && detector == mActiveVisualQueryDetector.getInitializationDelegate())
                            || shouldShutDownVisualQueryDetector) {
                            || shouldShutDownVisualQueryDetector) {
                        detector.destroy();
                        detector.destroy();
                    }
                    }
+11 −1
Original line number Original line Diff line number Diff line
@@ -658,6 +658,9 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
    /** Set of inset types which cannot be controlled by the user animation */
    /** Set of inset types which cannot be controlled by the user animation */
    private @InsetsType int mDisabledUserAnimationInsetsTypes;
    private @InsetsType int mDisabledUserAnimationInsetsTypes;


    /** Set of inset types which are existing */
    private @InsetsType int mExistingTypes = 0;

    /** Set of inset types which are visible */
    /** Set of inset types which are visible */
    private @InsetsType int mVisibleTypes = WindowInsets.Type.defaultVisible();
    private @InsetsType int mVisibleTypes = WindowInsets.Type.defaultVisible();


@@ -906,6 +909,12 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
            }
            }
            mVisibleTypes = visibleTypes;
            mVisibleTypes = visibleTypes;
        }
        }
        if (mExistingTypes != existingTypes) {
            if (WindowInsets.Type.hasCompatSystemBars(mExistingTypes ^ existingTypes)) {
                mCompatSysUiVisibilityStaled = true;
            }
            mExistingTypes = existingTypes;
        }
        InsetsState.traverse(mState, newState, mRemoveGoneSources);
        InsetsState.traverse(mState, newState, mRemoveGoneSources);


        updateDisabledUserAnimationTypes(disabledUserAnimationTypes);
        updateDisabledUserAnimationTypes(disabledUserAnimationTypes);
@@ -1662,7 +1671,8 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
        if (mCompatSysUiVisibilityStaled) {
        if (mCompatSysUiVisibilityStaled) {
            mCompatSysUiVisibilityStaled = false;
            mCompatSysUiVisibilityStaled = false;
            mHost.updateCompatSysUiVisibility(
            mHost.updateCompatSysUiVisibility(
                    mVisibleTypes, mRequestedVisibleTypes, mControllableTypes);
                    // Treat non-existing types as controllable types for compatibility.
                    mVisibleTypes, mRequestedVisibleTypes, mControllableTypes | ~mExistingTypes);
        }
        }
    }
    }


+5 −0
Original line number Original line Diff line number Diff line
@@ -726,6 +726,11 @@ public class RemoteViews implements Parcelable, Filter {
                mActions.get(i).visitUris(visitor);
                mActions.get(i).visitUris(visitor);
            }
            }
        }
        }
        if (mSizedRemoteViews != null) {
            for (int i = 0; i < mSizedRemoteViews.size(); i++) {
                mSizedRemoteViews.get(i).visitUris(visitor);
            }
        }
        if (mLandscape != null) {
        if (mLandscape != null) {
            mLandscape.visitUris(visitor);
            mLandscape.visitUris(visitor);
        }
        }
Loading