@Override public void setAutoLoginConfig(FriendAccountConfiguration config) { // Remove the old configuration, if there is one if (autoLoginConfig != null) { passwordManager.removePassword(autoLoginConfig.getUserInputLocalID()); SwingUiSettings.XMPP_AUTO_LOGIN.set(""); SwingUiSettings.USER_DEFINED_JABBER_SERVICENAME.set(""); autoLoginConfig = null; } // Store the new configuration, if there is one if (config != null) { try { if (config.storePassword()) { passwordManager.storePassword(config.getUserInputLocalID(), config.getPassword()); } SwingUiSettings.XMPP_AUTO_LOGIN.set(config.getLabel() + "," + config.getUserInputLocalID()); if (config.getLabel().equals("Jabber")) SwingUiSettings.USER_DEFINED_JABBER_SERVICENAME.set(config.getServiceName()); autoLoginConfig = config; } catch (IllegalArgumentException ignored) { // Empty username or password - no soup for you! } catch (IOException ignored) { // Error encrypting password - no more Soup Nazi jokes for you! } } }
private void loadAutoLoginAccount() { String autoLogin = SwingUiSettings.XMPP_AUTO_LOGIN.get(); if (!autoLogin.equals("")) { int comma = autoLogin.indexOf(','); try { String label = autoLogin.substring(0, comma); String username = autoLogin.substring(comma + 1); FriendAccountConfiguration config = configs.get(label); if (config != null) { config.setUsername(username); if (config.storePassword()) { String password = passwordManager.loadPassword(username); config.setPassword(password); } autoLoginConfig = config; } } catch (IndexOutOfBoundsException ignored) { // Malformed string - no soup for you! } catch (IllegalArgumentException ignored) { // Empty username - no soup for you! } catch (IOException ignored) { // Error decrypting password - no soup for you! } } }