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

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

Merge cherrypicks of ['googleplex-android-review.googlesource.com/30866016',...

Merge cherrypicks of ['googleplex-android-review.googlesource.com/30866016', 'googleplex-android-review.googlesource.com/30851555', 'googleplex-android-review.googlesource.com/30961573', 'googleplex-android-review.googlesource.com/30842512', 'googleplex-android-review.googlesource.com/28785016', 'googleplex-android-review.googlesource.com/31171245', 'googleplex-android-review.googlesource.com/31325670', 'googleplex-android-review.googlesource.com/31526440', 'googleplex-android-review.googlesource.com/31451948', 'googleplex-android-review.googlesource.com/31451077', 'googleplex-android-review.googlesource.com/31574310', 'googleplex-android-review.googlesource.com/31562674'] into security-aosp-24Q3-release.

Change-Id: Id7d6f22a2e44299d74464b5438671ddcc20e7391
parents ce249254 15472b00
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -41,5 +41,6 @@ interface ITrustManager {
    void unlockedByBiometricForUser(int userId, in BiometricSourceType source);
    void clearAllBiometricRecognized(in BiometricSourceType target, int unlockedUser);
    boolean isActiveUnlockRunning(int userId);
    @EnforcePermission("ACCESS_FINE_LOCATION")
    boolean isInSignificantPlace();
}
+1 −0
Original line number Diff line number Diff line
@@ -305,6 +305,7 @@ public class TrustManager {
     *
     * @hide
     */
    @RequiresPermission(Manifest.permission.ACCESS_FINE_LOCATION)
    public boolean isInSignificantPlace() {
        try {
            return mService.isInSignificantPlace();
+0 −4
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.app.Activity;
import android.app.ActivityOptions;
import android.app.LoadedApk;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.ComponentName;
import android.content.Context;
@@ -749,9 +748,6 @@ public class AppWidgetHostView extends FrameLayout implements AppWidgetHost.AppW
     */
    protected Context getRemoteContextEnsuringCorrectCachedApkPath() {
        try {
            ApplicationInfo expectedAppInfo = mInfo.providerInfo.applicationInfo;
            LoadedApk.checkAndUpdateApkPaths(expectedAppInfo);
            // Return if cloned successfully, otherwise default
            Context newContext = mContext.createApplicationContext(
                    mInfo.providerInfo.applicationInfo,
                    Context.CONTEXT_RESTRICTED);
+6 −6
Original line number Diff line number Diff line
@@ -638,17 +638,17 @@ public class BiometricPrompt implements BiometricAuthenticator, BiometricConstan
         * Set caller's component name for getting logo icon/description. This should only be used
         * by ConfirmDeviceCredentialActivity, see b/337082634 for more context.
         *
         * @param componentNameForConfirmDeviceCredentialActivity set the component name for
         * @param realCaller set the component name of real caller for
         *                   ConfirmDeviceCredentialActivity.
         * @return This builder.
         * @hide
         */
        @NonNull
        @RequiresPermission(anyOf = {TEST_BIOMETRIC, USE_BIOMETRIC_INTERNAL})
        public Builder setComponentNameForConfirmDeviceCredentialActivity(
                ComponentName componentNameForConfirmDeviceCredentialActivity) {
            mPromptInfo.setComponentNameForConfirmDeviceCredentialActivity(
                    componentNameForConfirmDeviceCredentialActivity);
        public Builder setRealCallerForConfirmDeviceCredentialActivity(ComponentName realCaller) {
            mPromptInfo.setRealCallerForConfirmDeviceCredentialActivity(realCaller);
            mPromptInfo.setClassNameIfItIsConfirmDeviceCredentialActivity(
                    mContext.getClass().getName());
            return this;
        }

+26 −10
Original line number Diff line number Diff line
@@ -57,7 +57,8 @@ public class PromptInfo implements Parcelable {
    private boolean mIsForLegacyFingerprintManager = false;
    private boolean mShowEmergencyCallButton = false;
    private boolean mUseParentProfileForDeviceCredential = false;
    private ComponentName mComponentNameForConfirmDeviceCredentialActivity = null;
    private ComponentName mRealCallerForConfirmDeviceCredentialActivity = null;
    private String mClassNameIfItIsConfirmDeviceCredentialActivity = null;

    public PromptInfo() {

@@ -89,8 +90,9 @@ public class PromptInfo implements Parcelable {
        mIsForLegacyFingerprintManager = in.readBoolean();
        mShowEmergencyCallButton = in.readBoolean();
        mUseParentProfileForDeviceCredential = in.readBoolean();
        mComponentNameForConfirmDeviceCredentialActivity = in.readParcelable(
        mRealCallerForConfirmDeviceCredentialActivity = in.readParcelable(
                ComponentName.class.getClassLoader(), ComponentName.class);
        mClassNameIfItIsConfirmDeviceCredentialActivity = in.readString();
    }

    public static final Creator<PromptInfo> CREATOR = new Creator<PromptInfo>() {
@@ -136,7 +138,8 @@ public class PromptInfo implements Parcelable {
        dest.writeBoolean(mIsForLegacyFingerprintManager);
        dest.writeBoolean(mShowEmergencyCallButton);
        dest.writeBoolean(mUseParentProfileForDeviceCredential);
        dest.writeParcelable(mComponentNameForConfirmDeviceCredentialActivity, 0);
        dest.writeParcelable(mRealCallerForConfirmDeviceCredentialActivity, 0);
        dest.writeString(mClassNameIfItIsConfirmDeviceCredentialActivity);
    }

    // LINT.IfChange
@@ -155,7 +158,7 @@ public class PromptInfo implements Parcelable {
            return true;
        } else if (mShowEmergencyCallButton) {
            return true;
        } else if (mComponentNameForConfirmDeviceCredentialActivity != null) {
        } else if (mRealCallerForConfirmDeviceCredentialActivity != null) {
            return true;
        }
        return false;
@@ -317,10 +320,8 @@ public class PromptInfo implements Parcelable {
        mShowEmergencyCallButton = showEmergencyCallButton;
    }

    public void setComponentNameForConfirmDeviceCredentialActivity(
            ComponentName componentNameForConfirmDeviceCredentialActivity) {
        mComponentNameForConfirmDeviceCredentialActivity =
                componentNameForConfirmDeviceCredentialActivity;
    public void setRealCallerForConfirmDeviceCredentialActivity(ComponentName realCaller) {
        mRealCallerForConfirmDeviceCredentialActivity = realCaller;
    }

    public void setUseParentProfileForDeviceCredential(
@@ -328,6 +329,14 @@ public class PromptInfo implements Parcelable {
        mUseParentProfileForDeviceCredential = useParentProfileForDeviceCredential;
    }

    /**
     * Set the class name of ConfirmDeviceCredentialActivity.
     */
    void setClassNameIfItIsConfirmDeviceCredentialActivity(String className) {
        mClassNameIfItIsConfirmDeviceCredentialActivity = className;
    }


    // Getters

    /**
@@ -451,8 +460,15 @@ public class PromptInfo implements Parcelable {
        return mShowEmergencyCallButton;
    }

    public ComponentName getComponentNameForConfirmDeviceCredentialActivity() {
        return mComponentNameForConfirmDeviceCredentialActivity;
    public ComponentName getRealCallerForConfirmDeviceCredentialActivity() {
        return mRealCallerForConfirmDeviceCredentialActivity;
    }

    /**
     * Get the class name of ConfirmDeviceCredentialActivity. Returns null if the direct caller is
     * not ConfirmDeviceCredentialActivity.
     */
    public String getClassNameIfItIsConfirmDeviceCredentialActivity() {
       return mClassNameIfItIsConfirmDeviceCredentialActivity;
    }
}
Loading