aboutsummaryrefslogtreecommitdiff
path: root/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java')
-rw-r--r--shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java
index ae8dfb894..4084825f5 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowApplicationPackageManager.java
@@ -68,6 +68,7 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageItemInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.ApplicationInfoFlags;
+import android.content.pm.PackageManager.ComponentEnabledSetting;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.PackageManager.OnPermissionsChangedListener;
import android.content.pm.PackageManager.PackageInfoFlags;
@@ -97,6 +98,7 @@ import android.telecom.TelecomManager;
import android.util.Log;
import android.util.Pair;
import com.google.common.base.Function;
+import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import com.google.common.collect.Sets;
import java.io.File;
@@ -1005,7 +1007,7 @@ public class ShadowApplicationPackageManager extends ShadowPackageManager {
@Implementation(minSdk = TIRAMISU)
protected List<ApplicationInfo> getInstalledApplications(Object flags) {
- return getInstalledApplications(((ApplicationInfoFlags) flags).getValue());
+ return getInstalledApplications(((PackageManager.ApplicationInfoFlags) flags).getValue());
}
private List<ApplicationInfo> getInstalledApplications(long flags) {
@@ -1393,6 +1395,14 @@ public class ShadowApplicationPackageManager extends ShadowPackageManager {
return packageInfo.applicationInfo;
}
+ @Implementation(minSdk = TIRAMISU)
+ protected ApplicationInfo getApplicationInfo(Object packageName, Object flagsObject)
+ throws NameNotFoundException {
+ Preconditions.checkArgument(flagsObject instanceof PackageManager.ApplicationInfoFlags);
+ PackageManager.ApplicationInfoFlags flags = (PackageManager.ApplicationInfoFlags) flagsObject;
+ return getApplicationInfo((String) packageName, (int) (flags).getValue());
+ }
+
private void applyFlagsToApplicationInfo(@Nullable ApplicationInfo appInfo, long flags)
throws NameNotFoundException {
if (appInfo == null) {