private IntegratedIntellijGoogleLoginService() { this.clientInfo = getClientInfo(); this.uiFacade = new AndroidUiFacade(); this.users = new CredentialedUserRoster(); this.dataStore = new AndroidPreferencesOAuthDataStore(); }
/** If there is an active user, makes the active use no longer active. */ public void removeActiveUser() { synchronized (this) { if (activeUser != null) { activeUser.setActive(false); activeUser = null; GoogleLoginPrefs.removeActiveUser(); notifyLoginStatusChange(); } } }
private static String getCustomUserKey(String key) { CredentialedUser activeUser = Services.getLoginService().getActiveUser(); if (activeUser == null) { return key; } return key + "_" + activeUser.getEmail(); }
/** Clears the persistently stored {@link OAuthData} object for the active user, if any. */ public static void clearStoredOAuthData() { CredentialedUser activeUser = Services.getLoginService().getActiveUser(); if (activeUser == null) { return; } Preferences prefs = getPrefs(); prefs.remove(getCustomUserKey(OAUTH_DATA_REFRESH_TOKEN_KEY)); prefs.remove(getCustomUserKey(OAUTH_DATA_EMAIL_KEY)); prefs.remove(getCustomUserKey(OAUTH_SCOPES_KEY)); removeUser(prefs, activeUser.getEmail()); flushPrefs(prefs); }
@Override public void actionPerformed(ActionEvent event) { Services.getLoginService().logIn(); } });
@Override public void actionPerformed(ActionEvent event) { Services.getLoginService().logOut(true); } });
/** * Adds a user to the list of current users. If the user already exists, the user will be updated. * The <code>user</code> becomes the active user. */ public void addUser(CredentialedUser user) { synchronized (this) { allUsers.put(user.getEmail(), user); setActiveUser(user.getEmail()); } }
private void restoreLastActiveUser() { if (lastActiveUser != null) { setActiveUser(lastActiveUser.getEmail()); } } }.queue();
@Before public void setUp() { users = new CredentialedUserRoster(); user1 = new CredentialedUser("user1"); user2 = new CredentialedUser("user2"); user3 = new CredentialedUser("user3"); }
@Override public void logInIfNot() { if (!isLoggedIn()) { logIn(); } }
@Override public void setActiveUser(String userEmail) throws IllegalArgumentException { users.setActiveUser(userEmail); }
@Override public boolean isLoggedIn() { return users.isActiveUserAvailable(); }
/** Removes all logged in users. There is no active user after this. */ public void removeAllUsers() { synchronized (this) { allUsers.clear(); activeUser = null; GoogleLoginPrefs.removeAllUsers(); notifyLoginStatusChange(); } }
@Override public void onSuccess() { notifyOnComplete(); }
@Override public void logIn() { logIn(null, null); }
@Override public void clearStoredOAuthData() { GoogleLoginPrefs.clearStoredOAuthData(); }
/** Builds the {@link LocalServerReceiver}. */ public CancellableServerReceiver build() { return new CancellableServerReceiver(host, port); }
@Override public void actionPerformed(ActionEvent e) { Services.getLoginService().logIn(); } }
@Override public void onCancel() { notifyOnComplete(); }
protected void doLogin() { Services.getLoginService().logIn(); }