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

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

Snap for 12667701 from 72ddf9b3 to 25Q1-release

Change-Id: Iba03267f06828ce38a7b4d5d0aeed024967eab05
parents f39495a7 72ddf9b3
Loading
Loading
Loading
Loading
+86 −0
Original line number Diff line number Diff line
@@ -6235,6 +6235,7 @@ package android.app {
  }
  public class KeyguardManager {
    method @FlaggedApi("android.app.device_unlock_listener") @RequiresPermission(android.Manifest.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE) public void addDeviceLockedStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.KeyguardManager.DeviceLockedStateListener);
    method @RequiresPermission(android.Manifest.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE) public void addKeyguardLockedStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.KeyguardManager.KeyguardLockedStateListener);
    method @Deprecated public android.content.Intent createConfirmDeviceCredentialIntent(CharSequence, CharSequence);
    method @Deprecated @RequiresPermission(android.Manifest.permission.DISABLE_KEYGUARD) public void exitKeyguardSecurely(android.app.KeyguardManager.OnKeyguardExitResult);
@@ -6244,10 +6245,15 @@ package android.app {
    method public boolean isKeyguardLocked();
    method public boolean isKeyguardSecure();
    method @Deprecated public android.app.KeyguardManager.KeyguardLock newKeyguardLock(String);
    method @FlaggedApi("android.app.device_unlock_listener") @RequiresPermission(android.Manifest.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE) public void removeDeviceLockedStateListener(@NonNull android.app.KeyguardManager.DeviceLockedStateListener);
    method @RequiresPermission(android.Manifest.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE) public void removeKeyguardLockedStateListener(@NonNull android.app.KeyguardManager.KeyguardLockedStateListener);
    method public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
  }
  @FlaggedApi("android.app.device_unlock_listener") @java.lang.FunctionalInterface public static interface KeyguardManager.DeviceLockedStateListener {
    method public void onDeviceLockedStateChanged(boolean);
  }
  public abstract static class KeyguardManager.KeyguardDismissCallback {
    ctor public KeyguardManager.KeyguardDismissCallback();
    method public void onDismissCancelled();
@@ -27049,6 +27055,86 @@ package android.media.projection {
}
package android.media.quality {
  @FlaggedApi("android.media.tv.flags.media_quality_fw") public class MediaQualityContract {
  }
  public static final class MediaQualityContract.PictureQuality {
    field public static final String PARAMETER_BRIGHTNESS = "brightness";
    field public static final String PARAMETER_CONTRAST = "contrast";
    field public static final String PARAMETER_SATURATION = "saturation";
    field public static final String PARAMETER_SHARPNESS = "sharpness";
  }
  @FlaggedApi("android.media.tv.flags.media_quality_fw") public final class MediaQualityManager {
    method public void createPictureProfile(@NonNull android.media.quality.PictureProfile);
    method @NonNull public java.util.List<android.media.quality.PictureProfile> getAvailablePictureProfiles();
    method @NonNull public java.util.List<android.media.quality.ParamCapability> getParamCapabilities(@NonNull java.util.List<java.lang.String>);
    method @Nullable public android.media.quality.PictureProfile getPictureProfile(int, @NonNull String);
    method public boolean isAutoPictureQualityEnabled();
    method public boolean isSuperResolutionEnabled();
    method public void registerPictureProfileCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.quality.MediaQualityManager.PictureProfileCallback);
    method public void removePictureProfile(@NonNull String);
    method public void unregisterPictureProfileCallback(@NonNull android.media.quality.MediaQualityManager.PictureProfileCallback);
    method public void updatePictureProfile(@NonNull String, @NonNull android.media.quality.PictureProfile);
  }
  public abstract static class MediaQualityManager.PictureProfileCallback {
    ctor public MediaQualityManager.PictureProfileCallback();
    method public void onError(int);
    method public void onParamCapabilitiesChanged(@Nullable String, @NonNull java.util.List<android.media.quality.ParamCapability>);
    method public void onPictureProfileAdded(@NonNull String, @NonNull android.media.quality.PictureProfile);
    method public void onPictureProfileRemoved(@NonNull String, @NonNull android.media.quality.PictureProfile);
    method public void onPictureProfileUpdated(@NonNull String, @NonNull android.media.quality.PictureProfile);
  }
  @FlaggedApi("android.media.tv.flags.media_quality_fw") public final class ParamCapability implements android.os.Parcelable {
    method public int describeContents();
    method @NonNull public android.os.Bundle getCapabilities();
    method @NonNull public String getParamName();
    method public int getParamType();
    method public boolean isSupported();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field public static final String CAPABILITY_DEFAULT = "default";
    field public static final String CAPABILITY_ENUM = "enum";
    field public static final String CAPABILITY_MAX = "max";
    field public static final String CAPABILITY_MIN = "min";
    field @NonNull public static final android.os.Parcelable.Creator<android.media.quality.ParamCapability> CREATOR;
    field public static final int TYPE_DOUBLE = 3; // 0x3
    field public static final int TYPE_INT = 1; // 0x1
    field public static final int TYPE_LONG = 2; // 0x2
    field public static final int TYPE_STRING = 4; // 0x4
  }
  @FlaggedApi("android.media.tv.flags.media_quality_fw") public final class PictureProfile implements android.os.Parcelable {
    method public int describeContents();
    method @Nullable public String getInputId();
    method @NonNull public String getName();
    method @Nullable public String getPackageName();
    method @NonNull public android.os.PersistableBundle getParameters();
    method @Nullable public String getProfileId();
    method public int getProfileType();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.media.quality.PictureProfile> CREATOR;
    field public static final int ERROR_DUPLICATE = 2; // 0x2
    field public static final int ERROR_INVALID_ARGUMENT = 3; // 0x3
    field public static final int ERROR_NOT_ALLOWLISTED = 4; // 0x4
    field public static final int ERROR_NO_PERMISSION = 1; // 0x1
    field public static final int ERROR_UNKNOWN = 0; // 0x0
    field public static final int TYPE_APPLICATION = 2; // 0x2
    field public static final int TYPE_SYSTEM = 1; // 0x1
  }
  public static final class PictureProfile.Builder {
    ctor public PictureProfile.Builder(@NonNull String);
    ctor public PictureProfile.Builder(@NonNull android.media.quality.PictureProfile);
    method @NonNull public android.media.quality.PictureProfile build();
    method @NonNull public android.media.quality.PictureProfile.Builder setParameters(@NonNull android.os.PersistableBundle);
  }
}
package android.media.session {
  public final class MediaController {
+241 −2

File changed.

Preview size limit exceeded, changes collapsed.

+8 −0
Original line number Diff line number Diff line
@@ -3398,6 +3398,10 @@ package android.telephony {
    ctor public BarringInfo.BarringServiceInfo(int, boolean, int, int);
  }

  @FlaggedApi("com.android.internal.telephony.flags.cellular_identifier_disclosure_indications") public final class CellularIdentifierDisclosure implements android.os.Parcelable {
    ctor public CellularIdentifierDisclosure(int, int, @NonNull String, boolean);
  }

  public class MbmsDownloadSession implements java.lang.AutoCloseable {
    field public static final String MBMS_DOWNLOAD_SERVICE_OVERRIDE_METADATA = "mbms-download-service-override";
  }
@@ -3425,6 +3429,10 @@ package android.telephony {
    ctor @Deprecated public PreciseDataConnectionState(int, int, int, @NonNull String, @Nullable android.net.LinkProperties, int);
  }

  @FlaggedApi("com.android.internal.telephony.flags.security_algorithms_update_indications") public final class SecurityAlgorithmUpdate implements android.os.Parcelable {
    ctor public SecurityAlgorithmUpdate(int, int, int, boolean);
  }

  public class ServiceState implements android.os.Parcelable {
    method public void addNetworkRegistrationInfo(android.telephony.NetworkRegistrationInfo);
    method public int getDataNetworkType();
+96 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package android.app;

import android.Manifest;
import android.annotation.CallbackExecutor;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -52,7 +53,9 @@ import android.view.IOnKeyguardExitResult;
import android.view.IWindowManager;
import android.view.WindowManagerGlobal;

import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.policy.IDeviceLockedStateListener;
import com.android.internal.policy.IKeyguardDismissCallback;
import com.android.internal.policy.IKeyguardLockedStateListener;
import com.android.internal.util.Preconditions;
@@ -253,6 +256,26 @@ public class KeyguardManager {
    private final ArrayMap<KeyguardLockedStateListener, Executor>
            mKeyguardLockedStateListeners = new ArrayMap<>();

    private final IDeviceLockedStateListener mIDeviceLockedStateListener =
            new IDeviceLockedStateListener.Stub() {
                @Override
                public void onDeviceLockedStateChanged(boolean isDeviceLocked) {
                    if (!Flags.deviceUnlockListener()) {
                        return;
                    }
                    synchronized (mDeviceLockedStateListeners) {
                        mDeviceLockedStateListeners.forEach((listener, executor) -> {
                            executor.execute(
                                    () -> listener.onDeviceLockedStateChanged(isDeviceLocked));
                        });
                    }
                }
            };

    @GuardedBy("mDeviceLockedStateListeners")
    private final ArrayMap<DeviceLockedStateListener, Executor>
            mDeviceLockedStateListeners = new ArrayMap<>();

    /**
     * Get an intent to prompt the user to confirm credentials (pin, pattern, password or biometrics
     * if enrolled) for the current user of the device. The caller is expected to launch this
@@ -1370,4 +1393,77 @@ public class KeyguardManager {
            }
        }
    }


    /**
     * Listener for device locked state changes.
     */
    @FunctionalInterface
    @FlaggedApi(Flags.FLAG_DEVICE_UNLOCK_LISTENER)
    public interface DeviceLockedStateListener {
        /**
         * Callback function that executes when the device locked state changes.
         */
        void onDeviceLockedStateChanged(boolean isDeviceLocked);
    }


    /**
     * Registers a listener to execute when the device locked state changes.
     *
     * @param executor The {@link Executor} where the {@code listener} will be invoked
     * @param listener The listener to add to receive device locked state changes.
     *
     * @see #isDeviceLocked()
     * @see #removeDeviceLockedStateListener(DeviceLockedStateListener)
     */
    @RequiresPermission(Manifest.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE)
    @FlaggedApi(Flags.FLAG_DEVICE_UNLOCK_LISTENER)
    public void addDeviceLockedStateListener(@NonNull @CallbackExecutor Executor executor,
            @NonNull DeviceLockedStateListener listener) {
        if (!Flags.deviceUnlockListener()) {
            return;
        }

        synchronized (mDeviceLockedStateListeners) {
            mDeviceLockedStateListeners.put(listener, executor);
            if (mDeviceLockedStateListeners.size() > 1) {
                return;
            }
            try {
                mTrustManager.registerDeviceLockedStateListener(mIDeviceLockedStateListener,
                        mContext.getDeviceId());
            } catch (RemoteException re) {
                Log.d(TAG, "TrustManager service died", re);
            }
        }
    }

    /**
     * Unregisters a listener that executes when the device locked state changes.
     *
     * @param listener The listener to remove.
     *
     * @see #isDeviceLocked()
     * @see #addDeviceLockedStateListener(Executor, DeviceLockedStateListener)
     */
    @RequiresPermission(Manifest.permission.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE)
    @FlaggedApi(Flags.FLAG_DEVICE_UNLOCK_LISTENER)
    public void removeDeviceLockedStateListener(@NonNull DeviceLockedStateListener listener) {
        if (!Flags.deviceUnlockListener()) {
            return;
        }

        synchronized (mDeviceLockedStateListeners) {
            mDeviceLockedStateListeners.remove(listener);
            if (!mDeviceLockedStateListeners.isEmpty()) {
                return;
            }
            try {
                mTrustManager.unregisterDeviceLockedStateListener(mIDeviceLockedStateListener);
            } catch (RemoteException re) {
                Log.d(TAG, "TrustManager service died", re);
            }
        }
    }
}
+0 −1
Original line number Diff line number Diff line
@@ -9520,7 +9520,6 @@ public class Notification implements Parcelable
                contentView.setViewVisibility(R.id.icon, View.GONE);
                contentView.setViewVisibility(R.id.conversation_face_pile, View.GONE);
                contentView.setViewVisibility(R.id.conversation_icon, View.VISIBLE);
                contentView.setBoolean(R.id.conversation_icon, "setApplyCircularCrop", true);
                contentView.setImageViewIcon(R.id.conversation_icon, conversationIcon);
            } else if (mIsGroupConversation) {
                contentView.setViewVisibility(R.id.icon, View.GONE);
Loading