@Override @Nullable public CredentialedUser getActiveUser() { return users.getActiveUser(); }
/** Logs out all signed in users without popping up logout confirmation message. */ private void logOutAllUsers() { for (CredentialedUser user : users.getAllUsers().values()) { user.getGoogleLoginState().logOut(false /* showPrompt */); } users.removeAllUsers(); }
@Override public boolean isLoggedIn() { return users.isActiveUserAvailable(); }
@Test public void testIsActiveUserAvailable() { Assert.assertFalse(users.isActiveUserAvailable()); users.addUser(user1); Assert.assertTrue(users.isActiveUserAvailable()); users.addUser(user2); users.addUser(user3); Assert.assertTrue(users.isActiveUserAvailable()); users.removeUser(user2.getEmail()); Assert.assertEquals(user3.getEmail(), users.getActiveUser().getEmail()); users.removeUser(users.getActiveUser().getEmail()); Assert.assertNull(users.getActiveUser()); users.setActiveUser(user1.getEmail()); Assert.assertTrue(user1.isActive()); }
users.addUser(new CredentialedUser(user)); users.removeUser(user); continue; users.addUser(new CredentialedUser(delegate, null /*loginCompletedCallback*/)); users.removeActiveUser(); } else { try { users.setActiveUser(activeUserString); } catch (IllegalArgumentException ex) { LOG.warn("Error while initiating users", ex); users.removeActiveUser();
@Test public void testRemoveAllUsers() { Assert.assertEquals(0, users.numberOfUsers()); users.addUser(user1); users.removeAllUsers(); Assert.assertEquals(0, users.numberOfUsers()); Assert.assertEquals(null, users.getActiveUser()); users.addUser(user1); users.addUser(user2); users.addUser(user3); users.removeAllUsers(); Assert.assertEquals(0, users.numberOfUsers()); Assert.assertEquals(null, users.getActiveUser()); } }
@Test public void testRemoveUser() { Assert.assertFalse(users.removeUser(user1.getEmail())); users.addUser(user1); users.addUser(user2); Assert.assertEquals(user2.getEmail(), users.getActiveUser().getEmail()); Assert.assertTrue(users.removeUser(user2.getEmail())); Assert.assertEquals(1, users.numberOfUsers()); Assert.assertNull(users.getActiveUser()); }
@Test public void testAddUser() { Assert.assertEquals(0, users.numberOfUsers()); users.addUser(user1); Assert.assertEquals(user1.getEmail(), users.getActiveUser().getEmail()); users.addUser(user2); Assert.assertEquals(user2.getEmail(), users.getActiveUser().getEmail()); Assert.assertTrue(user2.isActive()); Assert.assertFalse(user1.isActive()); Map<String, CredentialedUser> allUsers = users.getAllUsers(); Assert.assertEquals(2, allUsers.size()); Assert.assertNotNull(allUsers.get(user1.getEmail())); Assert.assertNotNull(allUsers.get(user2.getEmail())); }
@Test public void testGetAllUsers() { Assert.assertEquals(0, users.getAllUsers().size()); users.addUser(user1); Assert.assertEquals(1, users.getAllUsers().size()); users.addUser(user2); users.addUser(user3); Assert.assertEquals(3, users.getAllUsers().size()); users.addUser(user3); Assert.assertTrue(users.removeUser(user1.getEmail())); Assert.assertEquals(2, users.getAllUsers().size()); }
@Test public void testRemoveActiveUser() { Assert.assertNull(users.getActiveUser()); users.addUser(user1); Assert.assertEquals(user1.getEmail(), users.getActiveUser().getEmail()); users.removeActiveUser(); Assert.assertNull(users.getActiveUser()); Assert.assertFalse(user1.isActive()); users.addUser(user2); users.addUser(user3); Assert.assertEquals(user3.getEmail(), users.getActiveUser().getEmail()); users.removeActiveUser(); Assert.assertNull(users.getActiveUser()); Assert.assertFalse(user3.isActive()); }
@Test public void testSetActiveUser() { users.addUser(user1); users.addUser(user2); users.addUser(user3); Assert.assertEquals(user3.getEmail(), users.getActiveUser().getEmail()); users.setActiveUser(user1.getEmail()); Assert.assertEquals(user1.getEmail(), users.getActiveUser().getEmail()); boolean exceptionThrown = false; try { users.setActiveUser("noUser"); } catch (IllegalArgumentException ex) { exceptionThrown = true; } Assert.assertTrue(exceptionThrown); Assert.assertTrue(user1.isActive()); }
@Test public void testNumberOfUsers() { Assert.assertEquals(0, users.numberOfUsers()); users.addUser(user1); Assert.assertEquals(1, users.numberOfUsers()); users.removeUser(user1.getEmail()); Assert.assertEquals(0, users.numberOfUsers()); users.addUser(user1); users.addUser(user2); Assert.assertEquals(2, users.numberOfUsers()); }
@Test public void testSetAllUsers() { users.addUser(user1); Map<String, CredentialedUser> newUsers = new HashMap<String, CredentialedUser>(); newUsers.put(user2.getEmail(), user2); newUsers.put(user3.getEmail(), user3); users.setAllUsers(newUsers); Map<String, CredentialedUser> setUsers = users.getAllUsers(); Assert.assertEquals(2, setUsers.size()); Assert.assertFalse(setUsers.containsKey(user1.getEmail())); Assert.assertTrue(setUsers.containsKey(user2.getEmail())); Assert.assertTrue(setUsers.containsKey(user3.getEmail())); }
UsageTrackerService.getInstance().trackEvent(LoginTracking.LOGIN_START).ping(); final CredentialedUser lastActiveUser = users.getActiveUser(); users.removeActiveUser();
@Override public void setActiveUser(String userEmail) throws IllegalArgumentException { users.setActiveUser(userEmail); }
private IntegratedIntellijGoogleLoginService() { this.clientInfo = getClientInfo(); this.uiFacade = new AndroidUiFacade(); this.users = new CredentialedUserRoster(); this.dataStore = new AndroidPreferencesOAuthDataStore(); }
@Override public Map<String, CredentialedUser> getAllUsers() { return users.getAllUsers(); }
private void notifyOnComplete() { // TODO: add user preference to chose to use pop-up copy and paste dialog if (loggedIn) { users.addUser( new CredentialedUser( state, () -> { if (loginCompletedCallback != null) { loginCompletedCallback.onLoginCompleted(); } })); } else { // Login failed (or aborted), so restore the last active user, if any restoreLastActiveUser(); if (loginCompletedCallback != null) { loginCompletedCallback.onLoginCompleted(); } } }
/** Removes all logged in users. There is no active user after this. */ public void removeAllUsers() { synchronized (this) { allUsers.clear(); activeUser = null; GoogleLoginPrefs.removeAllUsers(); notifyLoginStatusChange(); } }
@Test public void testGetActiveUser() { Assert.assertNull(users.getActiveUser()); users.addUser(user1); Assert.assertNotNull(users.getActiveUser()); Assert.assertEquals(user1.getEmail(), users.getActiveUser().getEmail()); users.addUser(user2); Assert.assertEquals(user2.getEmail(), users.getActiveUser().getEmail()); users.addUser(user3); Assert.assertEquals(user3.getEmail(), users.getActiveUser().getEmail()); users.removeUser(user2.getEmail()); Assert.assertEquals("user3", users.getActiveUser().getEmail()); users.removeUser(users.getActiveUser().getEmail()); Assert.assertNull(users.getActiveUser()); boolean exceptionThrown = false; try { users.setActiveUser(user2.getEmail()); } catch (IllegalArgumentException ex) { exceptionThrown = true; } Assert.assertTrue(exceptionThrown); users.setActiveUser(user1.getEmail()); Assert.assertTrue(user1.isActive()); }