Merge "Use Mockito 4.6.1 API" into tm-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a8e0390..e32d129 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3027,13 +3027,6 @@
</activity>
<activity
- android:name=".users.AddSupervisedUserActivity"
- android:label="@*android:string/supervised_user_creation_label"
- android:icon="@drawable/ic_settings_multiuser"
- android:exported="true">
- </activity>
-
- <activity
android:name="Settings$PaymentSettingsActivity"
android:label="@string/nfc_payment_settings_title"
android:exported="true"
diff --git a/res/layout/add_supervised_user.xml b/res/layout/add_supervised_user.xml
deleted file mode 100644
index 33032bd..0000000
--- a/res/layout/add_supervised_user.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (C) 2021 The Android Open Source Project
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:layout_margin="16dp"
- android:orientation="vertical">
- <Button
- android:id="@+id/createSupervisedUser"
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:text="@*android:string/supervised_user_creation_label" />
- <TextView
- android:layout_height="wrap_content"
- android:layout_width="wrap_content"
- android:text="@string/placeholder_activity" />
-</LinearLayout>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8f7c1c2..03666c7 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -14128,9 +14128,6 @@
<!-- Text on the dialog button to reboot the device later [CHAR LIMIT=50] -->
<string name="reboot_dialog_reboot_later">Reboot later</string>
- <!-- Text to explain an activity is a temporary placeholder [CHAR LIMIT=none] -->
- <string name="placeholder_activity" translatable="false">*This is a temporary placeholder fallback activity.</string>
-
<!-- The title of the spatial audio [CHAR LIMIT=none] -->
<string name="bluetooth_details_spatial_audio_title">Spatial Audio</string>
<!-- The summary of the spatial audio [CHAR LIMIT=none] -->
diff --git a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
index 18cb4b3..54455d4 100755
--- a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
+++ b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
@@ -408,7 +408,13 @@
return;
}
super.onPrepareOptionsMenu(menu);
- menu.findItem(UNINSTALL_ALL_USERS_MENU).setVisible(shouldShowUninstallForAll(mAppEntry));
+ final MenuItem uninstallAllUsersItem = menu.findItem(UNINSTALL_ALL_USERS_MENU);
+ uninstallAllUsersItem.setVisible(
+ shouldShowUninstallForAll(mAppEntry) && !mAppsControlDisallowedBySystem);
+ if (uninstallAllUsersItem.isVisible()) {
+ RestrictedLockUtilsInternal.setMenuItemAsDisabledByAdmin(getActivity(),
+ uninstallAllUsersItem, mAppsControlDisallowedAdmin);
+ }
menu.findItem(ACCESS_RESTRICTED_SETTINGS).setVisible(shouldShowAccessRestrictedSettings());
mUpdatedSysApp = (mAppEntry.info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0;
final MenuItem uninstallUpdatesItem = menu.findItem(UNINSTALL_UPDATES);
diff --git a/src/com/android/settings/notification/MediaVolumePreferenceController.java b/src/com/android/settings/notification/MediaVolumePreferenceController.java
index 05c8e03..ccde937 100644
--- a/src/com/android/settings/notification/MediaVolumePreferenceController.java
+++ b/src/com/android/settings/notification/MediaVolumePreferenceController.java
@@ -120,7 +120,7 @@
getWorker().getActiveLocalMediaController().getPackageName());
pi = PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
- PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
+ PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
} else {
final CachedBluetoothDevice bluetoothDevice =
((BluetoothMediaDevice) mMediaDevice).getCachedDevice();
@@ -135,7 +135,7 @@
bluetoothDevice.getAddress());
pi = PendingIntent.getActivity(context, 0 /* requestCode */, intent,
- PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
+ PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
}
final IconCompat icon = getBroadcastIcon(context);
diff --git a/src/com/android/settings/users/AddSupervisedUserActivity.java b/src/com/android/settings/users/AddSupervisedUserActivity.java
deleted file mode 100644
index 8a3221d..0000000
--- a/src/com/android/settings/users/AddSupervisedUserActivity.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.users;
-
-import android.app.Activity;
-import android.app.ActivityManager;
-import android.app.AlertDialog;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.Looper;
-import android.os.NewUserRequest;
-import android.os.NewUserResponse;
-import android.os.UserManager;
-
-import androidx.annotation.Nullable;
-
-import com.android.settings.R;
-
-import java.util.Objects;
-import java.util.concurrent.Executors;
-import java.util.function.Consumer;
-
-/**
- * Fallback activity for supervised user creation.
- * Built to test {@link UserManager#createUser(NewUserRequest)} API.
- */
-// TODO(b/209659998): [to-be-removed] fallback activity for supervised user creation.
-public class AddSupervisedUserActivity extends Activity {
-
- private UserManager mUserManager;
- private ActivityManager mActivityManager;
-
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mUserManager = getSystemService(UserManager.class);
- mActivityManager = getSystemService(ActivityManager.class);
- setContentView(R.layout.add_supervised_user);
- findViewById(R.id.createSupervisedUser).setOnClickListener(v -> createUser());
- }
-
- private void createUserAsync(final NewUserRequest request,
- final Consumer<NewUserResponse> onResponse) {
- Objects.requireNonNull(onResponse);
-
- final Handler mMainThread = new Handler(Looper.getMainLooper());
- Executors.newSingleThreadExecutor().execute(() -> {
- final NewUserResponse response = mUserManager.createUser(request);
- mMainThread.post(() -> onResponse.accept(response));
- });
- }
-
- private void createUser() {
- final NewUserRequest request = new NewUserRequest.Builder()
- .setName(getString(R.string.user_new_user_name))
- .build();
-
- final AlertDialog pleaseWaitDialog = new AlertDialog.Builder(this)
- .setMessage(getString(R.string.creating_new_user_dialog_message))
- .setCancelable(false)
- .create();
-
- pleaseWaitDialog.show();
- createUserAsync(request, response -> {
- pleaseWaitDialog.dismiss();
-
- if (response.isSuccessful()) {
- mActivityManager.switchUser(response.getUser());
- finish();
- } else {
- new AlertDialog.Builder(this)
- .setTitle(getString(R.string.add_user_failed))
- .setMessage(UserManager.UserOperationResult.class.getName()
- + " = " + response.getOperationResult())
- .setNeutralButton(getString(R.string.okay), null)
- .show();
- }
- });
- }
-}
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index 358b87b..5ee95dd 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -518,13 +518,6 @@
.setPackage(mConfigSupervisedUserCreationPackage)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- // TODO(b/209659998): [to-be-removed] fallback activity for supervised user creation.
- if (getActivity().getPackageManager().resolveActivity(intent, 0) == null) {
- intent
- .setClass(getContext(), AddSupervisedUserActivity.class)
- .setPackage(null);
- }
-
startActivity(intent);
}