diff options
author | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2023-11-06 08:14:27 +0000 |
---|---|---|
committer | Guillaume Jacquart <guillaume.jacquart@hoodbrains.com> | 2023-11-06 08:14:27 +0000 |
commit | 9d55978063947d5865bb3fa4e0c2ebef78f78812 (patch) | |
tree | 49a07707f82375dc9d5d1048a07bbdf866bffe67 /permissionseos/libs/hidden-apis-stub/src/main/java/android/content | |
parent | 0312ce64f85b5530a00bdc72eb310ba9dc1de05b (diff) | |
download | advanced-privacy-9d55978063947d5865bb3fa4e0c2ebef78f78812.tar.gz |
epic18: Manage VPN services for Tor or Tracker control
Diffstat (limited to 'permissionseos/libs/hidden-apis-stub/src/main/java/android/content')
-rw-r--r-- | permissionseos/libs/hidden-apis-stub/src/main/java/android/content/pm/PackageManager.java | 104 | ||||
-rw-r--r-- | permissionseos/libs/hidden-apis-stub/src/main/java/android/content/pm/UserInfo.java | 36 |
2 files changed, 140 insertions, 0 deletions
diff --git a/permissionseos/libs/hidden-apis-stub/src/main/java/android/content/pm/PackageManager.java b/permissionseos/libs/hidden-apis-stub/src/main/java/android/content/pm/PackageManager.java new file mode 100644 index 0000000..c6232ce --- /dev/null +++ b/permissionseos/libs/hidden-apis-stub/src/main/java/android/content/pm/PackageManager.java @@ -0,0 +1,104 @@ +/* + * Copyright (C) 2022 MURENA SAS + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +package android.content.pm; + +import android.annotation.TargetApi; +import android.graphics.drawable.Drawable; +import android.os.UserHandle; + +import androidx.annotation.DeprecatedSinceApi; +import androidx.annotation.NonNull; +import androidx.annotation.RequiresPermission; + +import java.util.List; +import android.util.AndroidException; + +// Stub based on: +// https://gitlab.e.foundation/e/os/android_frameworks_base/-/blob/[SDK_VERSION]/core/java/android/content/pm/PackageManager.java +public abstract class PackageManager { + + @TargetApi(29) + @DeprecatedSinceApi( + api = 34, + message = "Check availability in SDK34" + ) + public static class NameNotFoundException extends AndroidException { + public NameNotFoundException() { + } + + public NameNotFoundException(String name) { + super(name); + } + } + + + @TargetApi(29) + @DeprecatedSinceApi( + api = 34, + message = "Check disponibility in SDK34" + ) + @RequiresPermission("android.permission.GRANT_RUNTIME_PERMISSIONS") + public abstract void grantRuntimePermission( + @NonNull String packageName, + @NonNull String permissionName, + @NonNull UserHandle user + ); + + @TargetApi(29) + @DeprecatedSinceApi( + api = 34, + message = "Check disponibility in SDK34" + ) + @RequiresPermission("android.permission.REVOKE_RUNTIME_PERMISSIONS") + public abstract void revokeRuntimePermission( + @NonNull String packageName, + @NonNull String permissionName, + @NonNull UserHandle user + ); + + @TargetApi(29) + @DeprecatedSinceApi( + api = 33, + message = "@deprecated Use {@link #getApplicationInfoAsUser(String, ApplicationInfoFlags, int)} instead." + ) + public abstract ApplicationInfo getApplicationInfoAsUser( + @NonNull String packageName, + int flags, + int userId + ) throws NameNotFoundException; + + + @TargetApi(29) + @DeprecatedSinceApi( + api = 34, + message = "Check disponibility in SDK34" + ) + @RequiresPermission("android.permission.INTERACT_ACROSS_USERS_FULL") + public abstract List<PackageInfo> getInstalledPackagesAsUser(int flags, int userId); + + // Public + public abstract List<PackageInfo> getInstalledPackages(int flags); + + @NonNull + public abstract Drawable getUserBadgedIcon( + @NonNull Drawable drawable, + @NonNull UserHandle user + ); + + public static final int GET_PERMISSIONS = 0x00001000; +} diff --git a/permissionseos/libs/hidden-apis-stub/src/main/java/android/content/pm/UserInfo.java b/permissionseos/libs/hidden-apis-stub/src/main/java/android/content/pm/UserInfo.java new file mode 100644 index 0000000..28a3732 --- /dev/null +++ b/permissionseos/libs/hidden-apis-stub/src/main/java/android/content/pm/UserInfo.java @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2022 MURENA SAS + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <https://www.gnu.org/licenses/>. + */ + +package android.content.pm; + +import android.annotation.TargetApi; +import android.os.UserHandle; + +import androidx.annotation.DeprecatedSinceApi; + +public class UserInfo { + public int id; + + @TargetApi(29) + @DeprecatedSinceApi( + api = 34, + message = "Check availability in SDK34" + ) + public UserHandle getUserHandle() { + return null; + } +} |