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

Commit 9b5b9ecb authored by Jason Monk's avatar Jason Monk Committed by Android Git Automerger
Browse files

am 9c632f16: am 7eec31af: Don\'t show guest when user switcher is simple

* commit '9c632f164ee0e03844177199e0ccc13e5b78974d':
  Don't show guest when user switcher is simple
parents ae8f14f2 abc52fa3
Loading
Loading
Loading
Loading
+1 −4
Original line number Original line Diff line number Diff line
@@ -36,8 +36,6 @@ public class KeyguardUserSwitcher {


    private static final String TAG = "KeyguardUserSwitcher";
    private static final String TAG = "KeyguardUserSwitcher";
    private static final boolean ALWAYS_ON = false;
    private static final boolean ALWAYS_ON = false;
    private static final String SIMPLE_USER_SWITCHER_GLOBAL_SETTING =
            "lockscreenSimpleUserSwitcher";


    private final ViewGroup mUserSwitcher;
    private final ViewGroup mUserSwitcher;
    private final KeyguardStatusBarView mStatusBarView;
    private final KeyguardStatusBarView mStatusBarView;
@@ -52,8 +50,7 @@ public class KeyguardUserSwitcher {
            mStatusBarView.setKeyguardUserSwitcher(this);
            mStatusBarView.setKeyguardUserSwitcher(this);
            mAdapter = new Adapter(context, userSwitcherController);
            mAdapter = new Adapter(context, userSwitcherController);
            mAdapter.registerDataSetObserver(mDataSetObserver);
            mAdapter.registerDataSetObserver(mDataSetObserver);
            mSimpleUserSwitcher = Settings.Global.getInt(context.getContentResolver(),
            mSimpleUserSwitcher = userSwitcherController.isSimpleUserSwitcher();
                    SIMPLE_USER_SWITCHER_GLOBAL_SETTING, 0) != 0;
        } else {
        } else {
            mUserSwitcher = null;
            mUserSwitcher = null;
            mStatusBarView = null;
            mStatusBarView = null;
+32 −5
Original line number Original line Diff line number Diff line
@@ -32,11 +32,14 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.IntentFilter;
import android.content.pm.UserInfo;
import android.content.pm.UserInfo;
import android.database.ContentObserver;
import android.graphics.Bitmap;
import android.graphics.Bitmap;
import android.os.AsyncTask;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.RemoteException;
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.UserManager;
import android.provider.Settings;
import android.util.Log;
import android.util.Log;
import android.util.SparseArray;
import android.util.SparseArray;
import android.view.View;
import android.view.View;
@@ -57,12 +60,15 @@ public class UserSwitcherController {


    private static final String TAG = "UserSwitcherController";
    private static final String TAG = "UserSwitcherController";
    private static final boolean DEBUG = false;
    private static final boolean DEBUG = false;
    private static final String SIMPLE_USER_SWITCHER_GLOBAL_SETTING =
            "lockscreenSimpleUserSwitcher";


    private final Context mContext;
    private final Context mContext;
    private final UserManager mUserManager;
    private final UserManager mUserManager;
    private final ArrayList<WeakReference<BaseUserAdapter>> mAdapters = new ArrayList<>();
    private final ArrayList<WeakReference<BaseUserAdapter>> mAdapters = new ArrayList<>();
    private final GuestResumeSessionReceiver mGuestResumeSessionReceiver
    private final GuestResumeSessionReceiver mGuestResumeSessionReceiver
            = new GuestResumeSessionReceiver();
            = new GuestResumeSessionReceiver();
    private boolean mSimpleUserSwitcher;


    private ArrayList<UserRecord> mUsers = new ArrayList<>();
    private ArrayList<UserRecord> mUsers = new ArrayList<>();
    private Dialog mExitGuestDialog;
    private Dialog mExitGuestDialog;
@@ -80,6 +86,13 @@ public class UserSwitcherController {
        filter.addAction(Intent.ACTION_USER_STOPPING);
        filter.addAction(Intent.ACTION_USER_STOPPING);
        mContext.registerReceiverAsUser(mReceiver, UserHandle.OWNER, filter,
        mContext.registerReceiverAsUser(mReceiver, UserHandle.OWNER, filter,
                null /* permission */, null /* scheduler */);
                null /* permission */, null /* scheduler */);

        mSimpleUserSwitcher = Settings.Global.getInt(context.getContentResolver(),
                SIMPLE_USER_SWITCHER_GLOBAL_SETTING, 0) != 0;
        mContext.getContentResolver().registerContentObserver(
                Settings.Global.getUriFor(SIMPLE_USER_SWITCHER_GLOBAL_SETTING), true,
                mSimpleUserSwitcherObserver);

        refreshUsers(UserHandle.USER_NULL);
        refreshUsers(UserHandle.USER_NULL);
    }
    }


@@ -136,12 +149,14 @@ public class UserSwitcherController {
                    }
                    }
                }
                }


                if (!mSimpleUserSwitcher) {
                    if (guestRecord == null) {
                    if (guestRecord == null) {
                        records.add(new UserRecord(null /* info */, null /* picture */,
                        records.add(new UserRecord(null /* info */, null /* picture */,
                                true /* isGuest */, false /* isCurrent */));
                                true /* isGuest */, false /* isCurrent */));
                    } else {
                    } else {
                        records.add(guestRecord);
                        records.add(guestRecord);
                    }
                    }
                }


                return records;
                return records;
            }
            }
@@ -167,6 +182,10 @@ public class UserSwitcherController {
        }
        }
    }
    }


    public boolean isSimpleUserSwitcher() {
        return mSimpleUserSwitcher;
    }

    public void switchTo(UserRecord record) {
    public void switchTo(UserRecord record) {
        int id;
        int id;
        if (record.isGuest && record.info == null) {
        if (record.isGuest && record.info == null) {
@@ -253,6 +272,14 @@ public class UserSwitcherController {
        }
        }
    };
    };


    private final ContentObserver mSimpleUserSwitcherObserver = new ContentObserver(new Handler()) {
        public void onChange(boolean selfChange) {
            mSimpleUserSwitcher = Settings.Global.getInt(mContext.getContentResolver(),
                    SIMPLE_USER_SWITCHER_GLOBAL_SETTING, 0) != 0;
            refreshUsers(UserHandle.USER_NULL);
        };
    };

    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
        pw.println("UserSwitcherController state:");
        pw.println("UserSwitcherController state:");
        pw.println("  mLastNonGuestUser=" + mLastNonGuestUser);
        pw.println("  mLastNonGuestUser=" + mLastNonGuestUser);