OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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.chrome.browser.childaccounts; | 5 package org.chromium.chrome.browser.childaccounts; |
6 | 6 |
7 import android.accounts.Account; | 7 import android.accounts.Account; |
8 import android.app.Activity; | 8 import android.app.Activity; |
9 import android.content.Context; | 9 import android.content.Context; |
10 | 10 |
11 import org.chromium.base.Callback; | 11 import org.chromium.base.Callback; |
12 import org.chromium.base.ContextUtils; | |
13 import org.chromium.base.ThreadUtils; | 12 import org.chromium.base.ThreadUtils; |
14 import org.chromium.base.annotations.CalledByNative; | 13 import org.chromium.base.annotations.CalledByNative; |
15 import org.chromium.components.signin.AccountManagerHelper; | 14 import org.chromium.components.signin.AccountManagerHelper; |
16 import org.chromium.ui.base.WindowAndroid; | 15 import org.chromium.ui.base.WindowAndroid; |
17 | 16 |
18 /** | 17 /** |
19 * This class serves as a simple interface for querying the child account inform
ation. It has two | 18 * This class serves as a simple interface for querying the child account inform
ation. It has two |
20 * methods for querying the child account information; checkHasChildAccount(...)
which is | 19 * methods for querying the child account information; checkHasChildAccount(...)
which is |
21 * asynchronous and queries the system directly for the information and the sync
hronous | 20 * asynchronous and queries the system directly for the information and the sync
hronous |
22 * isChildAccount() which asks the native side assuming it has been set correctl
y already. | 21 * isChildAccount() which asks the native side assuming it has been set correctl
y already. |
(...skipping 12 matching lines...) Expand all Loading... |
35 // Only for static usage. | 34 // Only for static usage. |
36 } | 35 } |
37 | 36 |
38 /** | 37 /** |
39 * Checks for the presence of child accounts on the device. | 38 * Checks for the presence of child accounts on the device. |
40 * | 39 * |
41 * @param callback A callback which will be called with the result. | 40 * @param callback A callback which will be called with the result. |
42 */ | 41 */ |
43 public static void checkHasChildAccount(Context context, final Callback<Bool
ean> callback) { | 42 public static void checkHasChildAccount(Context context, final Callback<Bool
ean> callback) { |
44 ThreadUtils.assertOnUiThread(); | 43 ThreadUtils.assertOnUiThread(); |
45 final AccountManagerHelper helper = AccountManagerHelper.get(context); | 44 final AccountManagerHelper helper = AccountManagerHelper.get(); |
46 helper.getGoogleAccounts(new Callback<Account[]>() { | 45 helper.getGoogleAccounts(new Callback<Account[]>() { |
47 @Override | 46 @Override |
48 public void onResult(Account[] accounts) { | 47 public void onResult(Account[] accounts) { |
49 if (accounts.length != 1) { | 48 if (accounts.length != 1) { |
50 callback.onResult(false); | 49 callback.onResult(false); |
51 } else { | 50 } else { |
52 helper.checkChildAccount(accounts[0], callback); | 51 helper.checkChildAccount(accounts[0], callback); |
53 } | 52 } |
54 } | 53 } |
55 }); | 54 }); |
(...skipping 27 matching lines...) Expand all Loading... |
83 ThreadUtils.postOnUiThread(new Runnable() { | 82 ThreadUtils.postOnUiThread(new Runnable() { |
84 @Override | 83 @Override |
85 public void run() { | 84 public void run() { |
86 nativeOnReauthenticationResult(nativeCallback, false); | 85 nativeOnReauthenticationResult(nativeCallback, false); |
87 } | 86 } |
88 }); | 87 }); |
89 return; | 88 return; |
90 } | 89 } |
91 | 90 |
92 Account account = AccountManagerHelper.createAccountFromName(accountName
); | 91 Account account = AccountManagerHelper.createAccountFromName(accountName
); |
93 AccountManagerHelper.get(ContextUtils.getApplicationContext()) | 92 AccountManagerHelper.get().updateCredentials(account, activity, new Call
back<Boolean>() { |
94 .updateCredentials(account, activity, new Callback<Boolean>() { | 93 @Override |
95 @Override | 94 public void onResult(Boolean result) { |
96 public void onResult(Boolean result) { | 95 nativeOnReauthenticationResult(nativeCallback, result); |
97 nativeOnReauthenticationResult(nativeCallback, result); | 96 } |
98 } | 97 }); |
99 }); | |
100 } | 98 } |
101 | 99 |
102 private static native boolean nativeIsChildAccount(); | 100 private static native boolean nativeIsChildAccount(); |
103 | 101 |
104 private static native void nativeListenForChildStatusReceived(Callback<Boole
an> callback); | 102 private static native void nativeListenForChildStatusReceived(Callback<Boole
an> callback); |
105 | 103 |
106 private static native void nativeOnReauthenticationResult( | 104 private static native void nativeOnReauthenticationResult( |
107 long callbackPtr, boolean reauthSuccessful); | 105 long callbackPtr, boolean reauthSuccessful); |
108 } | 106 } |
OLD | NEW |