зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1497977 p2 - Handle fxaccounts:password_changed push messages. r=nalexander
Depends on D8606 Differential Revision: https://phabricator.services.mozilla.com/D8607 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
98a90c55ba
Коммит
d2f39914ab
|
@ -96,11 +96,11 @@ public class FirefoxAccountsUtils {
|
|||
return true;
|
||||
}
|
||||
|
||||
private static void separateAccountAndShowNotification(final Context context, final AndroidFxAccount fxAccount) {
|
||||
public static void separateAccountAndShowNotification(final Context context, final AndroidFxAccount fxAccount) {
|
||||
final State currentState = fxAccount.getState();
|
||||
// Avoid work if we're already in the correct state.
|
||||
if (!(currentState instanceof Separated)) {
|
||||
fxAccount.setState(new Separated(fxAccount.getEmail(), currentState.uid, currentState.verified));
|
||||
fxAccount.setState(currentState.makeSeparatedState());
|
||||
}
|
||||
final FxAccountNotificationManager notificationManager = new FxAccountNotificationManager(
|
||||
FxAccountSyncAdapter.NOTIFICATION_ID);
|
||||
|
|
|
@ -3,7 +3,6 @@ package org.mozilla.gecko.fxa;
|
|||
import android.accounts.Account;
|
||||
import android.accounts.AccountManager;
|
||||
import android.content.Context;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
|
@ -19,6 +18,7 @@ public class FxAccountPushHandler {
|
|||
|
||||
private static final String COMMAND_DEVICE_DISCONNECTED = "fxaccounts:device_disconnected";
|
||||
private static final String COMMAND_PROFILE_UPDATED = "fxaccounts:profile_updated";
|
||||
private static final String COMMAND_PASSWORD_CHANGED = "fxaccounts:password_changed";
|
||||
private static final String COMMAND_COLLECTION_CHANGED = "sync:collection_changed";
|
||||
|
||||
private static final String CLIENTS_COLLECTION = "clients";
|
||||
|
@ -57,6 +57,9 @@ public class FxAccountPushHandler {
|
|||
case COMMAND_PROFILE_UPDATED:
|
||||
handleProfileUpdated(context);
|
||||
break;
|
||||
case COMMAND_PASSWORD_CHANGED:
|
||||
handlePasswordChanged(context);
|
||||
break;
|
||||
default:
|
||||
Log.d(LOG_TAG, "No handler defined for FxA Push command " + command);
|
||||
break;
|
||||
|
@ -121,4 +124,14 @@ public class FxAccountPushHandler {
|
|||
}
|
||||
AccountManager.get(context).removeAccount(account, null, null);
|
||||
}
|
||||
|
||||
private static void handlePasswordChanged(Context context) {
|
||||
final Account account = FirefoxAccounts.getFirefoxAccount(context);
|
||||
if (account == null) {
|
||||
Log.e(LOG_TAG, "The account does not exist anymore");
|
||||
return;
|
||||
}
|
||||
final AndroidFxAccount fxAccount = new AndroidFxAccount(context, account);
|
||||
FirefoxAccountsUtils.separateAccountAndShowNotification(context, fxAccount);
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче