package io.scal.secureshareui.model; import timber.log.Timber; import android.content.Context; import android.content.SharedPreferences; import io.scal.secureshareui.controller.ArchiveSiteController; import io.scal.secureshareui.controller.FacebookSiteController; import io.scal.secureshareui.controller.FlickrSiteController; import io.scal.secureshareui.controller.SSHSiteController; import io.scal.secureshareui.controller.SoundCloudSiteController; import io.scal.secureshareui.controller.YoutubeSiteController; import io.scal.secureshareui.controller.ZTSiteController; import io.scal.secureshareui.lib.Util; public class Account { private int id; private String name; private String site; private String userName; private String credentials; private String data; private boolean isConnected; private boolean areCredentialsValid; public static final String[] CONTROLLER_SITE_NAMES = { ArchiveSiteController.SITE_NAME, FacebookSiteController.SITE_NAME, YoutubeSiteController.SITE_NAME, SoundCloudSiteController.SITE_NAME, FlickrSiteController.SITE_NAME, SSHSiteController.SITE_NAME }; public static final String[] CONTROLLER_SITE_KEYS = { ArchiveSiteController.SITE_KEY, FacebookSiteController.SITE_KEY, YoutubeSiteController.SITE_KEY, SoundCloudSiteController.SITE_KEY, FlickrSiteController.SITE_KEY, SSHSiteController.SITE_KEY }; public Account(int id, String name, String site, String userName, String credentials, String data, boolean isConnected, boolean areCredentialsValid) { this.id = id; this.setName(name); this.setSite(site); this.setUserName(userName); this.setCredentials(credentials); this.setData(data); this.setIsConnected(isConnected); this.setAreCredentialsValid(areCredentialsValid); } // FIXME move this into a clearly named static method, this is just confusing public Account(Context context, String prefsName) { if (Util.isEmpty(prefsName)) { prefsName = "secureshare_auth"; } SharedPreferences settings = context.getSharedPreferences(prefsName, 0); id = settings.getInt("id", 0); name = settings.getString("name", null); credentials = settings.getString("credentials", null); isConnected = settings.getBoolean("is_connected", false); data = settings.getString("data", null); userName = settings.getString("user_name", null); } public void saveToSharedPrefs(Context context, String prefsName) { if (Util.isEmpty(prefsName)) { prefsName = "secureshare_auth"; } SharedPreferences settings = context.getSharedPreferences(prefsName, 0); SharedPreferences.Editor editor = settings.edit(); editor.putInt("id", id); editor.putString("name", name); editor.putString("credentials", credentials); editor.putBoolean("is_connected", isConnected); editor.putString("data", data); editor.putString("user_name", userName); editor.commit(); } public static void clearSharedPreferences(Context context, String prefsName) { if (Util.isEmpty(prefsName)) { prefsName = "secureshare_auth"; } SharedPreferences settings = context.getSharedPreferences(prefsName, 0); SharedPreferences.Editor editor = settings.edit(); editor.clear(); editor.commit(); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSite() { return site; } public void setSite(String site) { this.site = site; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getCredentials() { return credentials; } public void setCredentials(String credentials) { this.credentials = credentials; } public String getData() { return data; } public void setData(String data) { this.data = data; } public boolean getIsConnected() { return isConnected; } public void setIsConnected(boolean isConnected) { this.isConnected = isConnected; } public boolean getAreCredentialsValid() { return areCredentialsValid; } public void setAreCredentialsValid(boolean areCredentialsValid) { this.areCredentialsValid = areCredentialsValid; } }