Fix AccountManagerServiceTest
Unregister AccountManagerInternal before creating a new instance of
AccountManagerService, otherwise it will cause:
java.lang.IllegalStateException: Overriding service registration
Also overrode MockPm.addOnPermissionsChangeListener to be a noop and
not throw an exception.
Bug: 31071079
Change-Id: I0d24232eba655a68bf3fb38d7aa9edb92d469cea
diff --git a/services/tests/servicestests/src/com/android/server/accounts/AccountManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/accounts/AccountManagerServiceTest.java
index 404c142..a3d0afa 100644
--- a/services/tests/servicestests/src/com/android/server/accounts/AccountManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/accounts/AccountManagerServiceTest.java
@@ -21,6 +21,7 @@
import static org.mockito.Mockito.when;
import android.accounts.Account;
+import android.accounts.AccountManagerInternal;
import android.accounts.AuthenticatorDescription;
import android.app.AppOpsManager;
import android.app.Notification;
@@ -44,6 +45,8 @@
import android.test.mock.MockPackageManager;
import android.util.Log;
+import com.android.server.LocalServices;
+
import java.io.File;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -73,6 +76,7 @@
SQLiteDatabase.deleteDatabase(new File(mAms.getCeDatabaseName(UserHandle.USER_SYSTEM)));
SQLiteDatabase.deleteDatabase(new File(mAms.getDeDatabaseName(UserHandle.USER_SYSTEM)));
SQLiteDatabase.deleteDatabase(new File(mAms.getPreNDatabaseName(UserHandle.USER_SYSTEM)));
+ LocalServices.removeServiceForTest(AccountManagerInternal.class);
super.tearDown();
}
@@ -282,6 +286,7 @@
private AccountManagerService createAccountManagerService(Context mockContext,
Context realContext) {
+ LocalServices.removeServiceForTest(AccountManagerInternal.class);
return new MyAccountManagerService(mockContext,
new MyMockPackageManager(), new MockAccountAuthenticatorCache(), realContext);
}
@@ -420,6 +425,11 @@
public int checkSignatures(final int uid1, final int uid2) {
return PackageManager.SIGNATURE_MATCH;
}
+
+ @Override
+ public void addOnPermissionsChangeListener(
+ OnPermissionsChangedListener listener) {
+ }
}
static public class MyAccountManagerService extends AccountManagerService {