Merge "Add the sync related permissions to LatinIme too"
diff --git a/tests/src/com/android/inputmethod/latin/accounts/AccountsChangedReceiverTests.java b/tests/src/com/android/inputmethod/latin/accounts/AccountsChangedReceiverTests.java
index 3319eec..00857e5 100644
--- a/tests/src/com/android/inputmethod/latin/accounts/AccountsChangedReceiverTests.java
+++ b/tests/src/com/android/inputmethod/latin/accounts/AccountsChangedReceiverTests.java
@@ -33,18 +33,21 @@
     private static final String ACCOUNT_2 = "account2@example.com";
 
     private SharedPreferences mPrefs;
+    private String mLastKnownAccount = null;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
         mPrefs = PreferenceManager.getDefaultSharedPreferences(getContext());
+        // Keep track of the current account so that we restore it when the test finishes.
+        mLastKnownAccount = mPrefs.getString(Settings.PREF_ACCOUNT_NAME, null);
     }
 
     @Override
     protected void tearDown() throws Exception {
         super.tearDown();
-        // Remove all preferences before the next test.
-        mPrefs.edit().clear();
+        // Restore the account that was present before running the test.
+        updateAccountName(mLastKnownAccount);
     }
 
     public void testUnknownIntent() {
@@ -95,9 +98,11 @@
     }
 
     private void updateAccountName(String accountName) {
-        mPrefs.edit()
-                .putString(Settings.PREF_ACCOUNT_NAME, accountName)
-                .commit();
+        if (accountName == null) {
+            mPrefs.edit().remove(Settings.PREF_ACCOUNT_NAME).apply();
+        } else {
+            mPrefs.edit().putString(Settings.PREF_ACCOUNT_NAME, accountName).apply();
+        }
     }
 
     private void assertAccountName(String expectedAccountName) {