Skip to content
Snippets Groups Projects
Commit 0cd23b3a authored by Eric Biggers's avatar Eric Biggers Committed by Gerrit Code Review
Browse files

Merge "Fix TrustManagerServiceTest failures due to PackageMonitor changes" into main

parents 05a86a07 de2bb969
No related branches found
No related tags found
No related merge requests found
...@@ -1940,7 +1940,8 @@ public class TrustManagerService extends SystemService { ...@@ -1940,7 +1940,8 @@ public class TrustManagerService extends SystemService {
}; };
} }
private final PackageMonitor mPackageMonitor = new PackageMonitor() { @VisibleForTesting
final PackageMonitor mPackageMonitor = new PackageMonitor() {
@Override @Override
public void onSomePackagesChanged() { public void onSomePackagesChanged() {
refreshAgentList(UserHandle.USER_ALL); refreshAgentList(UserHandle.USER_ALL);
......
...@@ -47,7 +47,6 @@ import android.content.pm.ResolveInfo; ...@@ -47,7 +47,6 @@ import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo; import android.content.pm.ServiceInfo;
import android.content.pm.UserInfo; import android.content.pm.UserInfo;
import android.hardware.biometrics.BiometricManager; import android.hardware.biometrics.BiometricManager;
import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.os.HandlerThread; import android.os.HandlerThread;
...@@ -280,7 +279,7 @@ public class TrustManagerServiceTest { ...@@ -280,7 +279,7 @@ public class TrustManagerServiceTest {
"com.android/.SystemTrustAgent"); "com.android/.SystemTrustAgent");
addTrustAgent(newAgentComponentName, /* isSystemApp= */ true); addTrustAgent(newAgentComponentName, /* isSystemApp= */ true);
mMockContext.sendPackageChangedBroadcast(newAgentComponentName); notifyPackageChanged(newAgentComponentName);
assertThat(mEnabledTrustAgents).containsExactly(newAgentComponentName); assertThat(mEnabledTrustAgents).containsExactly(newAgentComponentName);
assertThat(mKnownTrustAgents).containsExactly(newAgentComponentName); assertThat(mKnownTrustAgents).containsExactly(newAgentComponentName);
...@@ -299,7 +298,7 @@ public class TrustManagerServiceTest { ...@@ -299,7 +298,7 @@ public class TrustManagerServiceTest {
"com.android/.SystemTrustAgent"); "com.android/.SystemTrustAgent");
addTrustAgent(newAgentComponentName, /* isSystemApp= */ true); addTrustAgent(newAgentComponentName, /* isSystemApp= */ true);
mMockContext.sendPackageChangedBroadcast(newAgentComponentName); notifyPackageChanged(newAgentComponentName);
assertThat(mEnabledTrustAgents).containsExactly(defaultTrustAgent); assertThat(mEnabledTrustAgents).containsExactly(defaultTrustAgent);
assertThat(mKnownTrustAgents).containsExactly(defaultTrustAgent, newAgentComponentName); assertThat(mKnownTrustAgents).containsExactly(defaultTrustAgent, newAgentComponentName);
...@@ -312,7 +311,7 @@ public class TrustManagerServiceTest { ...@@ -312,7 +311,7 @@ public class TrustManagerServiceTest {
"com.user/.UserTrustAgent"); "com.user/.UserTrustAgent");
addTrustAgent(newAgentComponentName, /* isSystemApp= */ false); addTrustAgent(newAgentComponentName, /* isSystemApp= */ false);
mMockContext.sendPackageChangedBroadcast(newAgentComponentName); notifyPackageChanged(newAgentComponentName);
assertThat(mEnabledTrustAgents).isEmpty(); assertThat(mEnabledTrustAgents).isEmpty();
assertThat(mKnownTrustAgents).containsExactly(newAgentComponentName); assertThat(mKnownTrustAgents).containsExactly(newAgentComponentName);
...@@ -330,7 +329,7 @@ public class TrustManagerServiceTest { ...@@ -330,7 +329,7 @@ public class TrustManagerServiceTest {
// Simulate user turning off systemTrustAgent2 // Simulate user turning off systemTrustAgent2
mLockPatternUtils.setEnabledTrustAgents(List.of(systemTrustAgent1), TEST_USER_ID); mLockPatternUtils.setEnabledTrustAgents(List.of(systemTrustAgent1), TEST_USER_ID);
mMockContext.sendPackageChangedBroadcast(systemTrustAgent2); notifyPackageChanged(systemTrustAgent2);
assertThat(mEnabledTrustAgents).containsExactly(systemTrustAgent1); assertThat(mEnabledTrustAgents).containsExactly(systemTrustAgent1);
} }
...@@ -440,11 +439,16 @@ public class TrustManagerServiceTest { ...@@ -440,11 +439,16 @@ public class TrustManagerServiceTest {
permission, PackageManager.PERMISSION_GRANTED); permission, PackageManager.PERMISSION_GRANTED);
} }
private void notifyPackageChanged(ComponentName changedComponent) {
mService.mPackageMonitor.onPackageChanged(
changedComponent.getPackageName(),
UserHandle.of(TEST_USER_ID).getUid(1234),
new String[] { changedComponent.getClassName() });
}
/** A mock Context that allows the test process to send protected broadcasts. */ /** A mock Context that allows the test process to send protected broadcasts. */
private static final class MockContext extends TestableContext { private static final class MockContext extends TestableContext {
private final ArrayList<BroadcastReceiver> mPackageChangedBroadcastReceivers =
new ArrayList<>();
private final ArrayList<BroadcastReceiver> mUserStartedBroadcastReceivers = private final ArrayList<BroadcastReceiver> mUserStartedBroadcastReceivers =
new ArrayList<>(); new ArrayList<>();
...@@ -458,9 +462,6 @@ public class TrustManagerServiceTest { ...@@ -458,9 +462,6 @@ public class TrustManagerServiceTest {
UserHandle user, IntentFilter filter, @Nullable String broadcastPermission, UserHandle user, IntentFilter filter, @Nullable String broadcastPermission,
@Nullable Handler scheduler) { @Nullable Handler scheduler) {
if (filter.hasAction(Intent.ACTION_PACKAGE_CHANGED)) {
mPackageChangedBroadcastReceivers.add(receiver);
}
if (filter.hasAction(Intent.ACTION_USER_STARTED)) { if (filter.hasAction(Intent.ACTION_USER_STARTED)) {
mUserStartedBroadcastReceivers.add(receiver); mUserStartedBroadcastReceivers.add(receiver);
} }
...@@ -473,20 +474,6 @@ public class TrustManagerServiceTest { ...@@ -473,20 +474,6 @@ public class TrustManagerServiceTest {
@Nullable String receiverPermission, @Nullable Bundle options) { @Nullable String receiverPermission, @Nullable Bundle options) {
} }
void sendPackageChangedBroadcast(ComponentName changedComponent) {
Intent intent = new Intent(
Intent.ACTION_PACKAGE_CHANGED,
Uri.fromParts(URI_SCHEME_PACKAGE,
changedComponent.getPackageName(), /* fragment= */ null))
.putExtra(Intent.EXTRA_CHANGED_COMPONENT_NAME_LIST,
new String[]{changedComponent.getClassName()})
.putExtra(Intent.EXTRA_USER_HANDLE, TEST_USER_ID)
.putExtra(Intent.EXTRA_UID, UserHandle.of(TEST_USER_ID).getUid(1234));
for (BroadcastReceiver receiver : mPackageChangedBroadcastReceivers) {
receiver.onReceive(this, intent);
}
}
void sendUserStartedBroadcast() { void sendUserStartedBroadcast() {
Intent intent = new Intent(Intent.ACTION_USER_STARTED) Intent intent = new Intent(Intent.ACTION_USER_STARTED)
.putExtra(Intent.EXTRA_USER_HANDLE, TEST_USER_ID); .putExtra(Intent.EXTRA_USER_HANDLE, TEST_USER_ID);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment