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

Commit 2caf5b7d authored by Jovana Knezevic's avatar Jovana Knezevic Committed by Android (Google) Code Review
Browse files

Merge "Migrates full screen user switcher to use CarUserManagerHelper instead...

Merge "Migrates full screen user switcher to use CarUserManagerHelper instead of deprecated UserManagerHelper."
parents c253fdae 78cacc42
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.systemui.statusbar.car;

import android.app.ActivityManager;
import android.app.ActivityTaskManager;
import android.car.user.CarUserManagerHelper;
import android.graphics.PixelFormat;
import android.graphics.drawable.Drawable;
import android.util.Log;
@@ -28,7 +29,6 @@ import android.view.ViewGroup.LayoutParams;
import android.view.WindowManager;

import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.settingslib.users.UserManagerHelper;
import com.android.systemui.BatteryMeterView;
import com.android.systemui.Dependency;
import com.android.systemui.Prefs;
@@ -506,7 +506,7 @@ public class CarStatusBar extends StatusBar implements
    @Override
    public void updateKeyguardState(boolean goingToFullShade, boolean fromShadeLocked) {
        super.updateKeyguardState(goingToFullShade, fromShadeLocked);
        UserManagerHelper helper = new UserManagerHelper(mContext);
        CarUserManagerHelper helper = new CarUserManagerHelper(mContext);
        if (!helper.isHeadlessSystemUser()) {
            showUserSwitcher();
        }
+6 −8
Original line number Diff line number Diff line
@@ -18,15 +18,13 @@ package com.android.systemui.statusbar.car;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.car.user.CarUserManagerHelper;
import android.content.Context;
import android.content.pm.UserInfo;
import android.util.Log;
import android.view.View;
import android.view.ViewStub;

import androidx.recyclerview.widget.GridLayoutManager;

import com.android.settingslib.users.UserManagerHelper;
import com.android.systemui.R;
import com.android.systemui.statusbar.phone.StatusBar;

@@ -39,7 +37,7 @@ public class FullscreenUserSwitcher {
    private final UserGridRecyclerView mUserGridView;
    private final int mShortAnimDuration;
    private final StatusBar mStatusBar;
    private final UserManagerHelper mUserManagerHelper;
    private final CarUserManagerHelper mCarUserManagerHelper;
    private boolean mShowing;

    public FullscreenUserSwitcher(StatusBar statusBar, ViewStub containerStub, Context context) {
@@ -53,14 +51,14 @@ public class FullscreenUserSwitcher {
        mUserGridView.buildAdapter();
        mUserGridView.setUserSelectionListener(this::onUserSelected);

        mUserManagerHelper = new UserManagerHelper(context);
        mCarUserManagerHelper = new CarUserManagerHelper(context);

        mShortAnimDuration = mContainer.getResources()
            .getInteger(android.R.integer.config_shortAnimTime);
    }

    public void show() {
        if (mUserManagerHelper.isHeadlessSystemUser()) {
        if (mCarUserManagerHelper.isHeadlessSystemUser()) {
            showUserGrid();
        }
        if (mShowing) {
@@ -81,12 +79,12 @@ public class FullscreenUserSwitcher {
    }

    private void onUserSelected(UserGridRecyclerView.UserRecord record) {
        if (mUserManagerHelper.isHeadlessSystemUser()) {
        if (mCarUserManagerHelper.isHeadlessSystemUser()) {
            hideUserGrid();
        }

        if (record.mIsForeground || (record.mIsStartGuestSession
                && mUserManagerHelper.foregroundUserIsGuestUser())) {
                && mCarUserManagerHelper.isForegroundUserGuest())) {
            dismissKeyguard();
            return;
        }
+18 −16
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static android.content.DialogInterface.BUTTON_POSITIVE;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.car.user.CarUserManagerHelper;
import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.UserInfo;
@@ -42,7 +43,6 @@ import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
import androidx.recyclerview.widget.RecyclerView;

import com.android.internal.util.UserIcons;
import com.android.settingslib.users.UserManagerHelper;
import com.android.systemui.R;

import com.android.systemui.statusbar.phone.SystemUIDialog;
@@ -54,16 +54,16 @@ import java.util.List;
 * One of the uses of this is for the lock screen in auto.
 */
public class UserGridRecyclerView extends PagedListView implements
        UserManagerHelper.OnUsersUpdateListener {
        CarUserManagerHelper.OnUsersUpdateListener {
    private UserSelectionListener mUserSelectionListener;
    private UserAdapter mAdapter;
    private UserManagerHelper mUserManagerHelper;
    private CarUserManagerHelper mCarUserManagerHelper;
    private Context mContext;

    public UserGridRecyclerView(Context context, AttributeSet attrs) {
        super(context, attrs);
        mContext = context;
        mUserManagerHelper = new UserManagerHelper(mContext);
        mCarUserManagerHelper = new CarUserManagerHelper(mContext);
    }

    /**
@@ -72,7 +72,7 @@ public class UserGridRecyclerView extends PagedListView implements
    @Override
    public void onFinishInflate() {
        super.onFinishInflate();
        mUserManagerHelper.registerOnUsersUpdateListener(this);
        mCarUserManagerHelper.registerOnUsersUpdateListener(this);
    }

    /**
@@ -81,7 +81,7 @@ public class UserGridRecyclerView extends PagedListView implements
    @Override
    public void onDetachedFromWindow() {
        super.onDetachedFromWindow();
        mUserManagerHelper.unregisterOnUsersUpdateListener();
        mCarUserManagerHelper.unregisterOnUsersUpdateListener(this);
    }

    /**
@@ -90,7 +90,7 @@ public class UserGridRecyclerView extends PagedListView implements
     * @return the adapter
     */
    public void buildAdapter() {
        List<UserRecord> userRecords = createUserRecords(mUserManagerHelper
        List<UserRecord> userRecords = createUserRecords(mCarUserManagerHelper
                .getAllUsers());
        mAdapter = new UserAdapter(mContext, userRecords);
        super.setAdapter(mAdapter);
@@ -103,7 +103,9 @@ public class UserGridRecyclerView extends PagedListView implements
                // Don't display guests in the switcher.
                continue;
            }
            boolean isForeground = mUserManagerHelper.getForegroundUserId() == userInfo.id;

            boolean isForeground =
                    mCarUserManagerHelper.getCurrentForegroundUserId() == userInfo.id;
            UserRecord record = new UserRecord(userInfo, false /* isStartGuestSession */,
                    false /* isAddUser */, isForeground);
            userRecords.add(record);
@@ -113,7 +115,7 @@ public class UserGridRecyclerView extends PagedListView implements
        userRecords.add(createStartGuestUserRecord());

        // Add add user record if the foreground user can add users
        if (mUserManagerHelper.foregroundUserCanAddUsers()) {
        if (mCarUserManagerHelper.canForegroundUserAddUsers()) {
            userRecords.add(createAddUserRecord());
        }

@@ -147,7 +149,7 @@ public class UserGridRecyclerView extends PagedListView implements
    @Override
    public void onUsersUpdate() {
        mAdapter.clearUsers();
        mAdapter.updateUsers(createUserRecords(mUserManagerHelper.getAllUsers()));
        mAdapter.updateUsers(createUserRecords(mCarUserManagerHelper.getAllUsers()));
        mAdapter.notifyDataSetChanged();
    }

@@ -210,7 +212,7 @@ public class UserGridRecyclerView extends PagedListView implements

                if (userRecord.mIsStartGuestSession) {
                    notifyUserSelected(userRecord);
                    mUserManagerHelper.startNewGuestSession(mGuestName);
                    mCarUserManagerHelper.startNewGuestSession(mGuestName);
                    return;
                }

@@ -240,7 +242,7 @@ public class UserGridRecyclerView extends PagedListView implements
                }
                // If the user doesn't want to be a guest or add a user, switch to the user selected
                notifyUserSelected(userRecord);
                mUserManagerHelper.switchToUser(userRecord.mInfo);
                mCarUserManagerHelper.switchToUser(userRecord.mInfo);
            });

        }
@@ -254,7 +256,7 @@ public class UserGridRecyclerView extends PagedListView implements

        private Bitmap getUserRecordIcon(UserRecord userRecord) {
            if (userRecord.mIsStartGuestSession) {
                return mUserManagerHelper.getGuestDefaultIcon();
                return mCarUserManagerHelper.getGuestDefaultIcon();
            }

            if (userRecord.mIsAddUser) {
@@ -262,7 +264,7 @@ public class UserGridRecyclerView extends PagedListView implements
                    .getDrawable(R.drawable.car_add_circle_round));
            }

            return mUserManagerHelper.getUserIcon(userRecord.mInfo);
            return mCarUserManagerHelper.getUserIcon(userRecord.mInfo);
        }

        @Override
@@ -290,7 +292,7 @@ public class UserGridRecyclerView extends PagedListView implements

            @Override
            protected UserInfo doInBackground(String... userNames) {
                return mUserManagerHelper.createNewUser(userNames[0]);
                return mCarUserManagerHelper.createNewNonAdminUser(userNames[0]);
            }

            @Override
@@ -300,7 +302,7 @@ public class UserGridRecyclerView extends PagedListView implements
            @Override
            protected void onPostExecute(UserInfo user) {
                if (user != null) {
                    mUserManagerHelper.switchToUser(user);
                    mCarUserManagerHelper.switchToUser(user);
                }
            }
        }