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

Commit 78cacc42 authored by jovanak's avatar jovanak
Browse files

Migrates full screen user switcher to use CarUserManagerHelper instead of

deprecated UserManagerHelper.

Change-Id: I2b9702bf2f2a19c4f0927dc80544fa804ae7d4cb
Fixes: 80150596
Test: emulator
parent 2c1bf635
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);
                }
            }
        }