@Override public List<ResolveInfo> queryIntentServices(final Intent intent, final int flags) { check(intent); final List<ResolveInfo> resolves = new ArrayList<>(); if (mTestingBackgroundUid) { final ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); Assume.assumeTrue(am != null); final List<ActivityManager.RunningServiceInfo> services = am.getRunningServices(32); if (services != null) for (final ActivityManager.RunningServiceInfo service : services) { if (service.pid == 0 || service.uid == android.os.Process.myUid()) continue; resolves.add(buildResolveInfo(DISALLOWED_PACKAGE, true, 7777777)); // Simulate a background UID. resolves.add(buildResolveInfo("non.bg.service", true, service.uid)); break; } } resolves.add(buildResolveInfo(ALLOWED_PACKAGE, true, android.os.Process.myUid())); resolves.add(buildResolveInfo(DISALLOWED_PACKAGE, true, android.os.Process.myUid())); return resolves; }
@Override public List<ResolveInfo> queryIntentServices(final Intent intent, final int flags) { check(intent); final List<ResolveInfo> resolves = new ArrayList<>(); if (mTestingBackgroundUid) { final ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE); final List<ActivityManager.RunningServiceInfo> services = am.getRunningServices(32); if (services != null) for (final ActivityManager.RunningServiceInfo service : services) { if (service.uid == android.os.Process.myUid()) continue; resolves.add(buildResolveInfo(DISALLOWED_PACKAGE, true, 7777777)); // Simulate a background UID. resolves.add(buildResolveInfo("non.bg.service", true, service.uid)); break; } } resolves.add(buildResolveInfo(ALLOWED_PACKAGE, true, android.os.Process.myUid())); resolves.add(buildResolveInfo(DISALLOWED_PACKAGE, true, android.os.Process.myUid())); return resolves; }
@Override public ResolveInfo resolveService(final Intent intent, final int flags) { check(intent); return buildResolveInfo(DISALLOWED_PACKAGE, true, 7777777); // Must be consistent with the first entry from queryIntentServices(). }
@Override public List<ResolveInfo> queryBroadcastReceivers(final Intent intent, final int flags) { check(intent); final List<ResolveInfo> resolves = new ArrayList<>(); resolves.add(buildResolveInfo(ALLOWED_PACKAGE, false, android.os.Process.myUid())); resolves.add(buildResolveInfo(DISALLOWED_PACKAGE, false, android.os.Process.myUid())); return resolves; }
@Override public ResolveInfo resolveService(final Intent intent, final int flags) { check(intent); return buildResolveInfo(DISALLOWED_PACKAGE, true, 7777777); // Must be consistent with the first entry from queryIntentServices(). }
@Override public List<ResolveInfo> queryBroadcastReceivers(final Intent intent, final int flags) { check(intent); final List<ResolveInfo> resolves = new ArrayList<>(); resolves.add(buildResolveInfo(ALLOWED_PACKAGE, false, android.os.Process.myUid())); resolves.add(buildResolveInfo(DISALLOWED_PACKAGE, false, android.os.Process.myUid())); return resolves; }