diff --git a/res/values/functions.xml b/res/values/functions.xml
index fd9bae42f..b440dfe4c 100644
--- a/res/values/functions.xml
+++ b/res/values/functions.xml
@@ -394,6 +394,7 @@
Google documentation]]>
Google documentation]]>
Google documentation]]>
+ Google documentation]]>
Google documentation]]>
Google documentation]]>
Google documentation]]>
diff --git a/src/biz/bokhorst/xprivacy/Meta.java b/src/biz/bokhorst/xprivacy/Meta.java
index e40411e2b..c96334e1b 100644
--- a/src/biz/bokhorst/xprivacy/Meta.java
+++ b/src/biz/bokhorst/xprivacy/Meta.java
@@ -467,7 +467,8 @@ public static List get() {
mListHook.add(new Hook("system", "getInstalledProviders", "", 3, null, null).notAOSP(19).dangerous());
mListHook.add(new Hook("system", "getInstalledProvidersForProfile", "", 21, "3.5.6", null).notAOSP(21).dangerous());
- mListHook.add(new Hook("system", "Srv_getInstalledProviders", "", 3, "2.99", "getInstalledProviders").AOSP(19).dangerous());
+ mListHook.add(new Hook("system", "Srv_getInstalledProviders", "", 3, "2.99", "getInstalledProviders").AOSP(19).to(19).dangerous());
+ mListHook.add(new Hook("system", "Srv_getInstalledProvidersForProfile", "", 3, "3.6.6", null).AOSP(21).dangerous());
mListHook.add(new Hook("system", "getRecentTasks", "GET_TASKS", 1, null, null).notAOSP(19).dangerous());
mListHook.add(new Hook("system", "getRunningAppProcesses", "", 3, null, null).notAOSP(19).dangerous());
diff --git a/src/biz/bokhorst/xprivacy/XAppWidgetManager.java b/src/biz/bokhorst/xprivacy/XAppWidgetManager.java
index 9120f4044..70930c2fc 100644
--- a/src/biz/bokhorst/xprivacy/XAppWidgetManager.java
+++ b/src/biz/bokhorst/xprivacy/XAppWidgetManager.java
@@ -4,6 +4,7 @@
import java.util.List;
import android.appwidget.AppWidgetProviderInfo;
+import android.os.Build;
public class XAppWidgetManager extends XHook {
private Methods mMethod;
@@ -13,7 +14,10 @@ private XAppWidgetManager(Methods method, String restrictionName) {
super(restrictionName, method.name().replace("Srv_", ""), method.name());
mMethod = method;
if (method.name().startsWith("Srv_"))
- mClassName = "com.android.server.AppWidgetService";
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
+ mClassName = "com.android.server.appwidget.AppWidgetServiceImpl";
+ else
+ mClassName = "com.android.server.AppWidgetService";
else
mClassName = "android.appwidget.AppWidgetManager";
}
@@ -35,7 +39,7 @@ public String getClassName() {
// @formatter:on
private enum Methods {
- getInstalledProviders, getInstalledProvidersForProfile, Srv_getInstalledProviders
+ getInstalledProviders, getInstalledProvidersForProfile, Srv_getInstalledProviders, Srv_getInstalledProvidersForProfile
};
public static List getInstances() {
@@ -43,6 +47,7 @@ public static List getInstances() {
listHook.add(new XAppWidgetManager(Methods.getInstalledProviders, PrivacyManager.cSystem));
listHook.add(new XAppWidgetManager(Methods.getInstalledProvidersForProfile, PrivacyManager.cSystem));
listHook.add(new XAppWidgetManager(Methods.Srv_getInstalledProviders, PrivacyManager.cSystem));
+ listHook.add(new XAppWidgetManager(Methods.Srv_getInstalledProvidersForProfile, PrivacyManager.cSystem));
return listHook;
}
@@ -57,6 +62,7 @@ protected void after(XParam param) throws Throwable {
case getInstalledProviders:
case getInstalledProvidersForProfile:
case Srv_getInstalledProviders:
+ case Srv_getInstalledProvidersForProfile:
if (param.getResult() != null)
if (isRestricted(param))
param.setResult(new ArrayList());