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