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

Unverified Commit f42ac3ac authored by Kevin F. Haggerty's avatar Kevin F. Haggerty
Browse files

Merge tag 'android-security-15.0.0_r6' into staging/lineage-22.1_android-security-15.0.0_r6

Android Security 15.0.0 Release 6 (12895207)

* tag 'android-security-15.0.0_r6':
  RESTRICT AUTOMERGE Remove flag check to sanitise keyboard shortcuts provided by apps.
  RESTRICT AUTOMERGE [PM] Fix the profile issue in UninstallerActivity
  Check account type returned by AbstractAccountAuthenticator.
  Resolve cross account user icon validation.
  Prevent showing overlays when unarchiving
  Make onBeforeUserSwitching calls synchronous.
  Move onBeforeUserSwitching call to the beginning of the user switch.
  Revert "Move showing keyguard after the UserSwitchObservers."
  For the wallet card & icon, only allow the drawable be loaded from bitmap.
  RESTRICT AUTOMERGE Use getLaunchedFromPackage instead of getCallingPackage
  Remove excess parameter from EnqueueNotificationRunnable constructor call
  Validate originating process for transferTouchGesture API
  [CDM] Check for system calling UID when backing up and restoring data
  [RESTRICT AUTOMERGE] Check permission of Autofill icon URIs
  Prevent activity token leaked to another process
  Remove flag fixAvatarCrossUserLeak
  Fix vulnerability by explicitly set the class name of avatar picker.
  Always show all approved apps
  [CDM] Check if it's system UID for hidden Perm Sync APIs
  Pass SafeActivityOptions with actual caller for startActivityInTF
  Enforce hard limits on hosts per package and widgets per host.
  Update checkKeyIntent
  Inline SECURE_ALLOWLIST_TOKEN
  Ensure group summary (and any notifications added directly by NMS) have the correct token
  enforce limits for VisualVoicemailSmsFilterSettings properties
  Limit the size of vibration effects stored on a NotificationChannel
  Allow uninstalling DMRH when not used for management
  Properly handle onNullBinding() in appwidget service.
  Restrict access to directories
  Disallow device admin package and protected packages to be reinstalled as instant.
  Set no data transfer on function switch timeout for accessory mode
  Remove visitPersonUri flagged code
  Remove authenticator data if it was disabled.
  Check whether installerPackageName contains only valid characters
  Update AccountManagerService checkKeyIntent.

Conflicts:
	core/java/android/app/NotificationChannel.java
	core/tests/coretests/src/android/app/NotificationChannelTest.java
	core/tests/vibrator/src/android/os/VibrationEffectTest.java
	packages/SettingsLib/src/com/android/settingslib/users/EditUserPhotoController.java
	packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java
	packages/SystemUI/src/com/android/systemui/statusbar/KeyboardShortcutListSearch.java
	packages/SystemUI/src/com/android/systemui/statusbar/KeyboardShortcuts.java
	services/appwidget/java/com/android/server/appwidget/AppWidgetServiceImpl.java
	services/autofill/java/com/android/server/autofill/Helper.java
	services/autofill/java/com/android/server/autofill/ui/RemoteInlineSuggestionViewConnector.java
	services/core/java/com/android/server/wm/TaskFragmentOrganizerController.java
	services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java

Change-Id: I4d7a39915fba1efb1b9ad94ce00266c1be0deeaa
parents a9664e0f ce249254
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.packageinstaller;
import static android.Manifest.permission;
import static android.content.pm.PackageManager.GET_PERMISSIONS;
import static android.content.pm.PackageManager.MATCH_ARCHIVED_PACKAGES;
import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;

import android.app.Activity;
import android.app.DialogFragment;
@@ -53,6 +54,8 @@ public class UnarchiveActivity extends Activity {

    @Override
    public void onCreate(Bundle icicle) {
        getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);

        super.onCreate(null);

        int callingUid = getLaunchedFromUid();
+30 −1
Original line number Diff line number Diff line
@@ -21,10 +21,14 @@ import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.os.Bundle;
import android.widget.Button;

public class UnarchiveFragment extends DialogFragment implements
        DialogInterface.OnClickListener {

    private Dialog mDialog;
    private Button mRestoreButton;

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        String appTitle = getArguments().getString(UnarchiveActivity.APP_TITLE);
@@ -40,7 +44,32 @@ public class UnarchiveFragment extends DialogFragment implements
        dialogBuilder.setPositiveButton(R.string.restore, this);
        dialogBuilder.setNegativeButton(android.R.string.cancel, this);

        return dialogBuilder.create();
        mDialog = dialogBuilder.create();
        return mDialog;
    }

    @Override
    public void onStart() {
        super.onStart();
        if (mDialog != null) {
            mRestoreButton = ((AlertDialog) mDialog).getButton(DialogInterface.BUTTON_POSITIVE);
        }
    }

    @Override
    public void onPause() {
        super.onPause();
        if (mRestoreButton != null) {
            mRestoreButton.setEnabled(false);
        }
    }

    @Override
    public void onResume() {
        super.onResume();
        if (mRestoreButton != null) {
            mRestoreButton.setEnabled(true);
        }
    }

    @Override
+13 −10
Original line number Diff line number Diff line
@@ -47,19 +47,19 @@ import android.os.Process;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.Log;

import androidx.annotation.NonNull;
import androidx.annotation.StringRes;

import com.android.packageinstaller.common.EventResultPersister;
import com.android.packageinstaller.common.UninstallEventReceiver;
import com.android.packageinstaller.handheld.ErrorDialogFragment;
import com.android.packageinstaller.handheld.UninstallAlertDialogFragment;
import com.android.packageinstaller.television.ErrorFragment;
import com.android.packageinstaller.television.UninstallAlertFragment;
import com.android.packageinstaller.television.UninstallAppProgress;
import com.android.packageinstaller.common.EventResultPersister;
import com.android.packageinstaller.common.UninstallEventReceiver;
import com.android.packageinstaller.v2.ui.UninstallLaunch;

import java.util.List;

/*
 * This activity presents UI to uninstall an application. Usually launched with intent
 * Intent.ACTION_UNINSTALL_PKG_COMMAND and attribute
@@ -181,14 +181,17 @@ public class UninstallerActivity extends Activity {
        if (mDialogInfo.user == null) {
            mDialogInfo.user = Process.myUserHandle();
        } else {
            List<UserHandle> profiles = userManager.getUserProfiles();
            if (!profiles.contains(mDialogInfo.user)) {
            if (!mDialogInfo.user.equals(Process.myUserHandle())) {
                final boolean isCurrentUserProfileOwner = Process.myUserHandle().equals(
                        userManager.getProfileParent(mDialogInfo.user));
                if (!isCurrentUserProfileOwner) {
                    Log.e(TAG, "User " + Process.myUserHandle() + " can't request uninstall "
                            + "for user " + mDialogInfo.user);
                    showUserIsNotAllowed();
                    return;
                }
            }
        }

        mDialogInfo.callback = intent.getParcelableExtra(PackageInstaller.EXTRA_CALLBACK,
                                            PackageManager.UninstallCompleteCallback.class);
+545 −0

File added.

Preview size limit exceeded, changes collapsed.

+5 −5

File changed.

Preview size limit exceeded, changes collapsed.

Loading