Merge "Remove the fallback AddSupervisedUserActivity." into tm-dev am: 15a89a60ac

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20665167

Change-Id: Ie2670823d5820f75d101fc6236c8154869db88d1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
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/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);
     }