Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d9543578 authored by Fyodor Kupolov's avatar Fyodor Kupolov
Browse files

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
parent 5d146ccd
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static org.mockito.Mockito.mock;
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.MockContext;
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 @@ public class AccountManagerServiceTest extends AndroidTestCase {
        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 @@ public class AccountManagerServiceTest extends AndroidTestCase {

    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 class AccountManagerServiceTest extends AndroidTestCase {
        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 {