summaryrefslogtreecommitdiff
path: root/permissionse
diff options
context:
space:
mode:
authorGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2022-12-20 16:26:11 +0000
committerGuillaume Jacquart <guillaume.jacquart@hoodbrains.com>2022-12-20 16:26:11 +0000
commit6265efaf3155658bd9c2a6e009fb25dc438b5258 (patch)
tree153a4be153049e09762482c124695ec776f032ae /permissionse
parentcfa3e314f19b81d12694ca797f448b3966442958 (diff)
parent3e73c61bc85afdd4a6253d76344d5da581ba14f7 (diff)
Merge branch '5538-notifications_for_fake_loc_ipscrambling' into 'main'
5538 notifications for fake loc ipscrambling See merge request e/os/advanced-privacy!109
Diffstat (limited to 'permissionse')
-rw-r--r--permissionse/libs/hidden-apis-stub/src/main/java/android/app/NotificationChannel.java34
-rw-r--r--permissionse/src/main/java/foundation/e/privacymodules/permissions/PermissionsPrivacyModule.kt11
2 files changed, 45 insertions, 0 deletions
diff --git a/permissionse/libs/hidden-apis-stub/src/main/java/android/app/NotificationChannel.java b/permissionse/libs/hidden-apis-stub/src/main/java/android/app/NotificationChannel.java
new file mode 100644
index 0000000..9e8d65a
--- /dev/null
+++ b/permissionse/libs/hidden-apis-stub/src/main/java/android/app/NotificationChannel.java
@@ -0,0 +1,34 @@
+/*
+ * 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.app;
+
+import android.annotation.TargetApi;
+
+import androidx.annotation.DeprecatedSinceApi;
+
+public class NotificationChannel {
+
+ @TargetApi(29)
+ @DeprecatedSinceApi(api = 30, message = "Use setBlockable() instead.")
+ public void setBlockableSystem(boolean blockableSystem) {}
+
+ // Public in API 33.
+ @TargetApi(30)
+ public void setBlockable(boolean blockableSystem) {}
+
+}
diff --git a/permissionse/src/main/java/foundation/e/privacymodules/permissions/PermissionsPrivacyModule.kt b/permissionse/src/main/java/foundation/e/privacymodules/permissions/PermissionsPrivacyModule.kt
index 83711dd..c07f367 100644
--- a/permissionse/src/main/java/foundation/e/privacymodules/permissions/PermissionsPrivacyModule.kt
+++ b/permissionse/src/main/java/foundation/e/privacymodules/permissions/PermissionsPrivacyModule.kt
@@ -21,6 +21,7 @@ import android.annotation.TargetApi
import android.app.AppOpsManager
import android.app.AppOpsManager.OP_NONE
import android.app.AppOpsManager.strOpToOp
+import android.app.NotificationChannel
import android.content.Context
import android.net.IConnectivityManager
import android.net.VpnManager
@@ -191,4 +192,14 @@ class PermissionsPrivacyModule(context: Context) : APermissionsPrivacyModule(con
return null
}
}
+
+ override fun setBlockable(notificationChannel: NotificationChannel) {
+ when (Build.VERSION.SDK_INT) {
+ 29 -> notificationChannel.setBlockableSystem(true)
+ 30, 31, 32 -> notificationChannel.setBlockable(true)
+ else -> {
+ Log.e("Permissions-e", "Bad android sdk version")
+ }
+ }
+ }
}