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

Commit a1a19819 authored by Peter Kalauskas's avatar Peter Kalauskas Committed by Android (Google) Code Review
Browse files

Merge "Add metrics for guest user" into sc-dev

parents f2dca815 d60f6d05
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -32,7 +32,9 @@ import android.provider.Settings;
import android.util.Log;
import android.view.WindowManagerGlobal;

import com.android.internal.logging.UiEventLogger;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.qs.QSUserSwitcherEvent;
import com.android.systemui.statusbar.phone.SystemUIDialog;

/**
@@ -45,6 +47,11 @@ public class GuestResumeSessionReceiver extends BroadcastReceiver {
    private static final String SETTING_GUEST_HAS_LOGGED_IN = "systemui.guest_has_logged_in";

    private Dialog mNewSessionDialog;
    private final UiEventLogger mUiEventLogger;

    public GuestResumeSessionReceiver(UiEventLogger uiEventLogger) {
        mUiEventLogger = uiEventLogger;
    }

    /**
     * Register this receiver with the {@link BroadcastDispatcher}
@@ -83,7 +90,7 @@ public class GuestResumeSessionReceiver extends BroadcastReceiver {
            int notFirstLogin = Settings.System.getIntForUser(
                    cr, SETTING_GUEST_HAS_LOGGED_IN, 0, userId);
            if (notFirstLogin != 0) {
                mNewSessionDialog = new ResetSessionDialog(context, userId);
                mNewSessionDialog = new ResetSessionDialog(context, mUiEventLogger, userId);
                mNewSessionDialog.show();
            } else {
                Settings.System.putIntForUser(
@@ -153,9 +160,10 @@ public class GuestResumeSessionReceiver extends BroadcastReceiver {
        private static final int BUTTON_WIPE = BUTTON_NEGATIVE;
        private static final int BUTTON_DONTWIPE = BUTTON_POSITIVE;

        private final UiEventLogger mUiEventLogger;
        private final int mUserId;

        public ResetSessionDialog(Context context, int userId) {
        ResetSessionDialog(Context context, UiEventLogger uiEventLogger, int userId) {
            super(context);

            setTitle(context.getString(R.string.guest_wipe_session_title));
@@ -167,15 +175,18 @@ public class GuestResumeSessionReceiver extends BroadcastReceiver {
            setButton(BUTTON_DONTWIPE,
                    context.getString(R.string.guest_wipe_session_dontwipe), this);

            mUiEventLogger = uiEventLogger;
            mUserId = userId;
        }

        @Override
        public void onClick(DialogInterface dialog, int which) {
            if (which == BUTTON_WIPE) {
                mUiEventLogger.log(QSUserSwitcherEvent.QS_USER_GUEST_WIPE);
                wipeGuestSession(getContext(), mUserId);
                dismiss();
            } else if (which == BUTTON_DONTWIPE) {
                mUiEventLogger.log(QSUserSwitcherEvent.QS_USER_GUEST_CONTINUE);
                cancel();
            }
        }
+13 −1
Original line number Diff line number Diff line
@@ -118,7 +118,19 @@ enum class QSUserSwitcherEvent(private val _id: Int) : UiEventLogger.UiEventEnum
    QS_USER_DETAIL_CLOSE(426),

    @UiEvent(doc = "User switcher QS detail panel more settings pressed")
    QS_USER_MORE_SETTINGS(427);
    QS_USER_MORE_SETTINGS(427),

    @UiEvent(doc = "The user has added a guest in the detail panel")
    QS_USER_GUEST_ADD(754),

    @UiEvent(doc = "The user selected 'Start over' after switching to the existing Guest user")
    QS_USER_GUEST_WIPE(755),

    @UiEvent(doc = "The user selected 'Yes, continue' after switching to the existing Guest user")
    QS_USER_GUEST_CONTINUE(756),

    @UiEvent(doc = "The user has pressed 'Remove guest' in the detail panel")
    QS_USER_GUEST_REMOVE(757);

    override fun getId() = _id
}
 No newline at end of file
+4 −2
Original line number Diff line number Diff line
@@ -99,8 +99,7 @@ public class UserSwitcherController implements Dumpable {
    protected final Context mContext;
    protected final UserManager mUserManager;
    private final ArrayList<WeakReference<BaseUserAdapter>> mAdapters = new ArrayList<>();
    private final GuestResumeSessionReceiver mGuestResumeSessionReceiver
            = new GuestResumeSessionReceiver();
    private final GuestResumeSessionReceiver mGuestResumeSessionReceiver;
    private final KeyguardStateController mKeyguardStateController;
    protected final Handler mHandler;
    private final ActivityStarter mActivityStarter;
@@ -132,6 +131,7 @@ public class UserSwitcherController implements Dumpable {
        mBroadcastDispatcher = broadcastDispatcher;
        mActivityTaskManager = activityTaskManager;
        mUiEventLogger = uiEventLogger;
        mGuestResumeSessionReceiver = new GuestResumeSessionReceiver(mUiEventLogger);
        mUserDetailAdapter = new UserDetailAdapter(this, mContext, mUiEventLogger);
        if (!UserManager.isGuestUserEphemeral()) {
            mGuestResumeSessionReceiver.register(mBroadcastDispatcher);
@@ -388,6 +388,7 @@ public class UserSwitcherController implements Dumpable {
                // haven't reloaded the user list yet.
                return;
            }
            mUiEventLogger.log(QSUserSwitcherEvent.QS_USER_GUEST_ADD);
            id = guest.id;
        } else if (record.isAddUser) {
            showAddUserDialog();
@@ -891,6 +892,7 @@ public class UserSwitcherController implements Dumpable {
            if (which == BUTTON_NEGATIVE) {
                cancel();
            } else {
                mUiEventLogger.log(QSUserSwitcherEvent.QS_USER_GUEST_REMOVE);
                dismiss();
                exitGuest(mGuestId, mTargetId);
            }