From 36c9db71b8513c91a56b5a836e85791b4e472800 Mon Sep 17 00:00:00 2001 From: Kevin Whitaker Date: Tue, 17 Nov 2015 23:33:46 -0500 Subject: [PATCH] Embellish on account manager. --- .../login/MagnatuneAccountManager.java | 34 +++++++++++++++++-- app/src/main/res/values/strings.xml | 1 + 2 files changed, 33 insertions(+), 2 deletions(-) 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 54f5b6f..50ef072 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 db0a3a4..c78ee4d 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 -- GitLab