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

Commit f807338b authored by Yasin Kilicdere's avatar Yasin Kilicdere Committed by Android Build Coastguard Worker
Browse files

Remove the fallback AddSupervisedUserActivity.

Rollback the changes done in ag/16388725 and ag/16709333

Bug: 209659998
Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.UserSettingsTest"

Change-Id: I75b85df50a3caff55375ad261a97225377644a38
(cherry picked from commit 86f35004)
Fixes: 249057848
(cherry picked from commit ee476cab)
Merged-In: I75b85df50a3caff55375ad261a97225377644a38
parent c0e887d8
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -3026,13 +3026,6 @@
                       android:value="true" />
        </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"
+0 −32
Original line number Diff line number Diff line
<?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
+0 −3
Original line number Diff line number Diff line
@@ -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] -->
+0 −94
Original line number Diff line number Diff line
/*
 * 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();
            }
        });
    }
}
+0 −7
Original line number Diff line number Diff line
@@ -518,13 +518,6 @@ public class UserSettings extends SettingsPreferenceFragment
                .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);
    }