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 {