Update account tester
- update Theme to use default one - AccountManager.getAuthTokenByFeatures() can be called thru a button - code refactoring and cleaning Change-Id: I1b4cfb340d9ed1506541fb9faf349f50d05df472
This commit is contained in:
@@ -46,6 +46,8 @@ public class AccountsTester extends Activity implements OnAccountsUpdateListener
|
||||
private static final int INVALIDATE_AUTH_TOKEN_DIALOG_ID = 3;
|
||||
private static final int TEST_HAS_FEATURES_DIALOG_ID = 4;
|
||||
private static final int MESSAGE_DIALOG_ID = 5;
|
||||
private static final int GET_AUTH_TOKEN_BY_TYPE_AND_FEATURE_DIALOG_ID = 6;
|
||||
|
||||
private EditText mDesiredAuthTokenTypeEditText;
|
||||
private EditText mDesiredFeaturesEditText;
|
||||
private volatile CharSequence mDialogMessage;
|
||||
@@ -66,6 +68,8 @@ public class AccountsTester extends Activity implements OnAccountsUpdateListener
|
||||
buttonClickListener);
|
||||
findViewById(R.id.accounts_tester_add_account).setOnClickListener(buttonClickListener);
|
||||
findViewById(R.id.accounts_tester_edit_properties).setOnClickListener(buttonClickListener);
|
||||
findViewById(R.id.accounts_tester_get_auth_token_by_type_and_feature).setOnClickListener(
|
||||
buttonClickListener);
|
||||
mDesiredAuthTokenTypeEditText =
|
||||
(EditText) findViewById(R.id.accounts_tester_desired_authtokentype);
|
||||
mDesiredFeaturesEditText = (EditText) findViewById(R.id.accounts_tester_desired_features);
|
||||
@@ -119,8 +123,10 @@ public class AccountsTester extends Activity implements OnAccountsUpdateListener
|
||||
if (desc.type.equals(account.type)) {
|
||||
final String packageName = desc.packageName;
|
||||
try {
|
||||
final Context authContext = getContext().createPackageContext(packageName, 0);
|
||||
holder.icon.setImageDrawable(authContext.getResources().getDrawable(desc.iconId));
|
||||
final Context authContext = getContext().createPackageContext(packageName,
|
||||
0);
|
||||
holder.icon.setImageDrawable(authContext.getResources().getDrawable(
|
||||
desc.iconId));
|
||||
holder.icon.setVisibility(View.VISIBLE);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.d(TAG, "error getting the Package Context for " + packageName, e);
|
||||
@@ -197,6 +203,8 @@ public class AccountsTester extends Activity implements OnAccountsUpdateListener
|
||||
AccountsTester.this,
|
||||
new CallbackToDialog(AccountsTester.this, "edit properties"),
|
||||
null /* handler */);
|
||||
} else if (R.id.accounts_tester_get_auth_token_by_type_and_feature == v.getId()) {
|
||||
showDialog(GET_AUTH_TOKEN_BY_TYPE_AND_FEATURE_DIALOG_ID);
|
||||
} else {
|
||||
// unknown button
|
||||
}
|
||||
@@ -265,48 +273,92 @@ public class AccountsTester extends Activity implements OnAccountsUpdateListener
|
||||
|
||||
@Override
|
||||
protected Dialog onCreateDialog(final int id) {
|
||||
if (id == GET_AUTH_TOKEN_DIALOG_ID || id == INVALIDATE_AUTH_TOKEN_DIALOG_ID
|
||||
|| id == UPDATE_CREDENTIALS_DIALOG_ID || id == TEST_HAS_FEATURES_DIALOG_ID) {
|
||||
final View view = LayoutInflater.from(this).inflate(R.layout.get_auth_token_view, null);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setPositiveButton(R.string.accounts_tester_do_get_auth_token,
|
||||
new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
EditText value = (EditText) view.findViewById(
|
||||
R.id.accounts_tester_auth_token_type);
|
||||
switch (id) {
|
||||
case GET_AUTH_TOKEN_DIALOG_ID:
|
||||
case INVALIDATE_AUTH_TOKEN_DIALOG_ID:
|
||||
case UPDATE_CREDENTIALS_DIALOG_ID:
|
||||
case TEST_HAS_FEATURES_DIALOG_ID: {
|
||||
final View view = LayoutInflater.from(this).inflate(R.layout.get_auth_token_view,
|
||||
null);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setPositiveButton(R.string.accounts_tester_ok_button,
|
||||
new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
EditText value = (EditText) view.findViewById(
|
||||
R.id.accounts_tester_auth_token_type);
|
||||
|
||||
String authTokenType = value.getText().toString();
|
||||
final Account account = mLongPressedAccount;
|
||||
if (id == GET_AUTH_TOKEN_DIALOG_ID) {
|
||||
mAccountManager.getAuthToken(account, authTokenType,
|
||||
null /* loginOptions */, AccountsTester.this,
|
||||
new CallbackToDialog(AccountsTester.this, "get auth token"),
|
||||
null /* handler */);
|
||||
} else if (id == INVALIDATE_AUTH_TOKEN_DIALOG_ID) {
|
||||
mAccountManager.getAuthToken(account, authTokenType, false,
|
||||
new GetAndInvalidateAuthTokenCallback(account), null);
|
||||
} else if (id == TEST_HAS_FEATURES_DIALOG_ID) {
|
||||
String[] features = TextUtils.split(authTokenType, ",");
|
||||
mAccountManager.hasFeatures(account, features,
|
||||
new TestHasFeaturesCallback(), null);
|
||||
} else {
|
||||
mAccountManager.updateCredentials(
|
||||
account,
|
||||
authTokenType, null /* loginOptions */,
|
||||
String authTokenType = value.getText().toString();
|
||||
final Account account = mLongPressedAccount;
|
||||
if (id == GET_AUTH_TOKEN_DIALOG_ID) {
|
||||
mAccountManager.getAuthToken(account,
|
||||
authTokenType,
|
||||
null /* loginOptions */,
|
||||
AccountsTester.this,
|
||||
new CallbackToDialog(AccountsTester.this,
|
||||
"get auth token"),
|
||||
null /* handler */);
|
||||
} else if (id == INVALIDATE_AUTH_TOKEN_DIALOG_ID) {
|
||||
mAccountManager.getAuthToken(account, authTokenType, false,
|
||||
new GetAndInvalidateAuthTokenCallback(account), null);
|
||||
} else if (id == TEST_HAS_FEATURES_DIALOG_ID) {
|
||||
String[] features = TextUtils.split(authTokenType, ",");
|
||||
mAccountManager.hasFeatures(account, features,
|
||||
new TestHasFeaturesCallback(), null);
|
||||
} else {
|
||||
mAccountManager.updateCredentials(
|
||||
account,
|
||||
authTokenType, null /* loginOptions */,
|
||||
AccountsTester.this,
|
||||
new CallbackToDialog(AccountsTester.this, "update"),
|
||||
null /* handler */);
|
||||
}
|
||||
}
|
||||
});
|
||||
builder.setView(view);
|
||||
return builder.create();
|
||||
}
|
||||
|
||||
case GET_AUTH_TOKEN_BY_TYPE_AND_FEATURE_DIALOG_ID: {
|
||||
final View view = LayoutInflater.from(this).inflate(R.layout.get_features_view,
|
||||
null);
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setPositiveButton(R.string.accounts_tester_ok_button,
|
||||
new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
EditText value = (EditText) view.findViewById(
|
||||
R.id.accounts_tester_auth_token_type);
|
||||
|
||||
String authTokenType = value.getText().toString();
|
||||
|
||||
value = (EditText) view.findViewById(
|
||||
R.id.accounts_tester_features);
|
||||
|
||||
String features = value.getText().toString();
|
||||
|
||||
final Account account = mLongPressedAccount;
|
||||
mAccountManager.getAuthTokenByFeatures(
|
||||
getSelectedAuthenticator().type,
|
||||
authTokenType,
|
||||
TextUtils.isEmpty(features) ? null : features.split(" "),
|
||||
AccountsTester.this,
|
||||
new CallbackToDialog(AccountsTester.this, "update"),
|
||||
null /* addAccountOptions */,
|
||||
null /* getAuthTokenOptions */,
|
||||
new CallbackToDialog(AccountsTester.this,
|
||||
"get auth token by features"),
|
||||
null /* handler */);
|
||||
}
|
||||
}
|
||||
});
|
||||
builder.setView(view);
|
||||
return builder.create();
|
||||
}
|
||||
if (id == MESSAGE_DIALOG_ID) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setMessage(mDialogMessage);
|
||||
return builder.create();
|
||||
});
|
||||
builder.setView(view);
|
||||
return builder.create();
|
||||
}
|
||||
|
||||
case MESSAGE_DIALOG_ID: {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setMessage(mDialogMessage);
|
||||
return builder.create();
|
||||
}
|
||||
}
|
||||
|
||||
return super.onCreateDialog(id);
|
||||
}
|
||||
|
||||
@@ -344,7 +396,8 @@ public class AccountsTester extends Activity implements OnAccountsUpdateListener
|
||||
}
|
||||
}
|
||||
|
||||
AccountManagerCallback<Bundle> newAuthTokensCallback(String type, String authTokenType, String[] features) {
|
||||
AccountManagerCallback<Bundle> newAuthTokensCallback(String type, String authTokenType,
|
||||
String[] features) {
|
||||
return new GetAuthTokenCallback(type, authTokenType, features);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user