| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.components.signin; | 5 package org.chromium.components.signin; |
| 6 | 6 |
| 7 import android.accounts.Account; | 7 import android.accounts.Account; |
| 8 import android.content.Context; | |
| 9 | 8 |
| 10 import org.chromium.base.ContextUtils; | 9 import org.chromium.base.ContextUtils; |
| 11 | 10 |
| 12 /** | 11 /** |
| 13 * Caches the signed-in username in the app prefs. | 12 * Caches the signed-in username in the app prefs. |
| 14 */ | 13 */ |
| 15 public class ChromeSigninController { | 14 public class ChromeSigninController { |
| 16 public static final String TAG = "ChromeSigninController"; | 15 public static final String TAG = "ChromeSigninController"; |
| 17 | 16 |
| 18 // Used by ChromeBackupAgent and for testing. | 17 // Used by ChromeBackupAgent and for testing. |
| 19 public static final String SIGNED_IN_ACCOUNT_KEY = "google.services.username
"; | 18 public static final String SIGNED_IN_ACCOUNT_KEY = "google.services.username
"; |
| 20 | 19 |
| 21 private static final Object LOCK = new Object(); | 20 private static final Object LOCK = new Object(); |
| 22 | 21 |
| 23 private static ChromeSigninController sChromeSigninController; | 22 private static ChromeSigninController sChromeSigninController; |
| 24 | 23 |
| 25 private final Context mApplicationContext; | 24 private ChromeSigninController() {} |
| 26 | |
| 27 private ChromeSigninController(Context context) { | |
| 28 mApplicationContext = context.getApplicationContext(); | |
| 29 } | |
| 30 | 25 |
| 31 /** | 26 /** |
| 32 * A factory method for the ChromeSigninController. | 27 * A factory method for the ChromeSigninController. |
| 33 * | 28 * |
| 34 * @param context the ApplicationContext is retrieved from the context used
as an argument. | |
| 35 * @return a singleton instance of the ChromeSigninController | 29 * @return a singleton instance of the ChromeSigninController |
| 36 */ | 30 */ |
| 37 public static ChromeSigninController get(Context context) { | 31 public static ChromeSigninController get() { |
| 38 synchronized (LOCK) { | 32 synchronized (LOCK) { |
| 39 if (sChromeSigninController == null) { | 33 if (sChromeSigninController == null) { |
| 40 sChromeSigninController = new ChromeSigninController(context); | 34 sChromeSigninController = new ChromeSigninController(); |
| 41 } | 35 } |
| 42 } | 36 } |
| 43 return sChromeSigninController; | 37 return sChromeSigninController; |
| 44 } | 38 } |
| 45 | 39 |
| 46 public Account getSignedInUser() { | 40 public Account getSignedInUser() { |
| 47 String syncAccountName = getSignedInAccountName(); | 41 String syncAccountName = getSignedInAccountName(); |
| 48 if (syncAccountName == null) { | 42 if (syncAccountName == null) { |
| 49 return null; | 43 return null; |
| 50 } | 44 } |
| 51 return AccountManagerHelper.createAccountFromName(syncAccountName); | 45 return AccountManagerHelper.createAccountFromName(syncAccountName); |
| 52 } | 46 } |
| 53 | 47 |
| 54 public boolean isSignedIn() { | 48 public boolean isSignedIn() { |
| 55 return getSignedInAccountName() != null; | 49 return getSignedInAccountName() != null; |
| 56 } | 50 } |
| 57 | 51 |
| 58 public void setSignedInAccountName(String accountName) { | 52 public void setSignedInAccountName(String accountName) { |
| 59 ContextUtils.getAppSharedPreferences() | 53 ContextUtils.getAppSharedPreferences() |
| 60 .edit() | 54 .edit() |
| 61 .putString(SIGNED_IN_ACCOUNT_KEY, accountName) | 55 .putString(SIGNED_IN_ACCOUNT_KEY, accountName) |
| 62 .apply(); | 56 .apply(); |
| 63 } | 57 } |
| 64 | 58 |
| 65 public String getSignedInAccountName() { | 59 public String getSignedInAccountName() { |
| 66 return ContextUtils.getAppSharedPreferences().getString(SIGNED_IN_ACCOUN
T_KEY, null); | 60 return ContextUtils.getAppSharedPreferences().getString(SIGNED_IN_ACCOUN
T_KEY, null); |
| 67 } | 61 } |
| 68 } | 62 } |
| OLD | NEW |