From 59b59ab69d823c18983f957986f34af789561f06 Mon Sep 17 00:00:00 2001 From: Howard Wu <40033067+Howard20181@users.noreply.github.com> Date: Mon, 8 Nov 2021 03:26:08 +0800 Subject: [PATCH] Fix #1369 (#1370) --- .../org/lsposed/lspd/service/LSPManagerService.java | 13 ++++++++----- .../main/java/android/content/IContentProvider.java | 5 +++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java b/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java index d8a87d7c..2ac1e784 100644 --- a/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java +++ b/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java @@ -675,15 +675,18 @@ public class LSPManagerService extends ILSPManagerService.Stub { try { var contentProvider = ActivityManagerService.getContentProvider("settings", 0); if (contentProvider != null) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { - try { + try { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { contentProvider.call(new AttributionSource.Builder(1000).setPackageName("android").build(), "settings", "PUT_global", "show_hidden_icon_apps_enabled", args); - return; - } catch (NoSuchMethodError ignored) { + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { + contentProvider.call("android", null, "settings", "PUT_global", "show_hidden_icon_apps_enabled", args); + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + contentProvider.call("android", "settings", "PUT_global", "show_hidden_icon_apps_enabled", args); } + } catch (NoSuchMethodError e) { + Log.w(TAG, "setHiddenIcon: ", e); } - contentProvider.call("android", null, "settings", "PUT_global", "show_hidden_icon_apps_enabled", args); } } catch (Throwable e) { Log.w(TAG, "setHiddenIcon: ", e); diff --git a/hiddenapi-stubs/src/main/java/android/content/IContentProvider.java b/hiddenapi-stubs/src/main/java/android/content/IContentProvider.java index 53f4b577..f3aba638 100644 --- a/hiddenapi-stubs/src/main/java/android/content/IContentProvider.java +++ b/hiddenapi-stubs/src/main/java/android/content/IContentProvider.java @@ -7,6 +7,11 @@ import android.os.RemoteException; import androidx.annotation.RequiresApi; public interface IContentProvider extends IInterface { + @RequiresApi(29) + Bundle call(String callingPkg, String authority, String method, + String arg, Bundle extras) throws RemoteException; + + @RequiresApi(30) Bundle call(String callingPkg, String attributionTag, String authority, String method, String arg, Bundle extras) throws RemoteException;