diff --git a/src/main/java/com/afwsamples/testdpc/common/ManageAppFragment.java b/src/main/java/com/afwsamples/testdpc/common/ManageAppFragment.java index 36c42255..d31f51da 100644 --- a/src/main/java/com/afwsamples/testdpc/common/ManageAppFragment.java +++ b/src/main/java/com/afwsamples/testdpc/common/ManageAppFragment.java @@ -17,6 +17,9 @@ package com.afwsamples.testdpc.common; import android.content.pm.ApplicationInfo; +import android.content.Context; +import android.content.RestrictionEntry; +import android.content.RestrictionsManager; import android.widget.SpinnerAdapter; import com.afwsamples.testdpc.R; import java.util.ArrayList; @@ -62,6 +65,21 @@ private List getInstalledOrLaunchableApps() { filteredAppList.add(applicationInfo); } } + // Adding system apps with Restrictions and without LaunchIntentForPackage + if (!filteredAppList.contains(applicationInfo) && + filterApp(applicationInfo)) { + try { + List manifestRestrictions = null; + RestrictionsManager mRestrictionsManager = + (RestrictionsManager) getActivity().getSystemService(Context.RESTRICTIONS_SERVICE); + manifestRestrictions = mRestrictionsManager.getManifestRestrictions(applicationInfo.packageName); + if (manifestRestrictions != null && !manifestRestrictions.isEmpty()) { + filteredAppList.add(applicationInfo); + } + } catch (NullPointerException e) { + // This means no default restrictions. + } + } } return filteredAppList; }