diff --git a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/login/MagnatuneAccountManager.java b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/login/MagnatuneAccountManager.java index 54f5b6f472330500c9ec5423398594a3e056b641..50ef072cc347ef02626c3ebb9ff9ad8c2dfe8457 100644 --- a/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/login/MagnatuneAccountManager.java +++ b/app/src/main/java/com/magnatune/eyecreate/companionformagnatune/login/MagnatuneAccountManager.java @@ -1,22 +1,52 @@ package com.magnatune.eyecreate.companionformagnatune.login; import android.content.Context; +import android.content.SharedPreferences; import com.magnatune.eyecreate.companionformagnatune.MagnatuneCompainionApplication; import com.magnatune.eyecreate.companionformagnatune.R; public class MagnatuneAccountManager { + private static final String UNSECURE_STORAGE = "unsecurestorage"; private static final String SECURE_STORAGE = "securestorage"; private static final String SP_KEY_USERNAME = "username"; private static final String SP_KEY_PASSWORD = "password"; + private static final String SP_KEY_LOGGED_IN = "loggedin"; public static String getMagnatuneName() { ObscuredSharedPreferences securedPrefs = ObscuredSharedPreferences.getPrefs(MagnatuneCompainionApplication.getApplication(), SECURE_STORAGE, Context.MODE_PRIVATE); - return securedPrefs.getString(SP_KEY_USERNAME,MagnatuneCompainionApplication.getApplication().getString(R.string.anon_user)); + String username = securedPrefs.getString(SP_KEY_USERNAME,MagnatuneCompainionApplication.getApplication().getString(R.string.anon_user)); + if(MagnatuneCompainionApplication.getApplication().getString(R.string.anon_user).equals(username) && isLoggedIn()) { + username = MagnatuneCompainionApplication.getApplication().getString(R.string.invalid); + } + return username; + } + + public static String getMagnatunePassword() { + ObscuredSharedPreferences securedPrefs = ObscuredSharedPreferences.getPrefs(MagnatuneCompainionApplication.getApplication(), SECURE_STORAGE, Context.MODE_PRIVATE); + String password = securedPrefs.getString(SP_KEY_PASSWORD,""); + return password; } public static boolean isLoggedIn() { - return false; + SharedPreferences unsecuredPrefs = MagnatuneCompainionApplication.getApplication().getSharedPreferences(UNSECURE_STORAGE, Context.MODE_PRIVATE); + return unsecuredPrefs.getBoolean(SP_KEY_LOGGED_IN,false); + } + + public static void login(String username,String password) { + //TODO:check for validity here + ObscuredSharedPreferences securedPrefs = ObscuredSharedPreferences.getPrefs(MagnatuneCompainionApplication.getApplication(), SECURE_STORAGE, Context.MODE_PRIVATE); + SharedPreferences unsecuredPrefs = MagnatuneCompainionApplication.getApplication().getSharedPreferences(UNSECURE_STORAGE, Context.MODE_PRIVATE); + securedPrefs.edit().putString(SP_KEY_USERNAME,username).apply(); + securedPrefs.edit().putString(SP_KEY_PASSWORD,password).apply(); + unsecuredPrefs.edit().putBoolean(SP_KEY_LOGGED_IN,true).apply(); + } + + public static void logout() { + ObscuredSharedPreferences securedPrefs = ObscuredSharedPreferences.getPrefs(MagnatuneCompainionApplication.getApplication(), SECURE_STORAGE, Context.MODE_PRIVATE); + SharedPreferences unsecuredPrefs = MagnatuneCompainionApplication.getApplication().getSharedPreferences(UNSECURE_STORAGE, Context.MODE_PRIVATE); + securedPrefs.edit().remove(SP_KEY_USERNAME).remove(SP_KEY_PASSWORD).apply(); + unsecuredPrefs.edit().remove(SP_KEY_LOGGED_IN).apply(); } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index db0a3a479426ba272d48bbc3cc9c882520775bc9..c78ee4d5fc755924d4d960d29975ed7f803cf924 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3,4 +3,5 @@ Click to Login Click to Logout Anonymous + Invalid