Merge "Add metrics for guest user" into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a1a19819d0
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user