Updater: Add POST_NOTIFICATIONS permission & pre-grant it
Without the permission, Updater can't spawn notifications on
downloads/install
Reference: https://developer.android.com/develop/ui/views/notifications/notification-permission
Test: boot, download an update via updater, check notification drawer
Co-authored-by: Michael Bestas <mkbestas@lineageos.org>
Change-Id: I131c62ae5033f56f8915426f68f7aea76dba78dd
diff --git a/Android.bp b/Android.bp
index b4c6611..da2137f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -41,15 +41,24 @@
proguard_flags_files: ["proguard.flags"],
},
- required: ["privapp_whitelist_org.lineageos.updater.xml"],
-
+ required: [
+ "privapp_whitelist_org.lineageos.updater",
+ "default-permissions_org.lineageos.updater"
+ ],
}
prebuilt_etc {
- name: "privapp_whitelist_org.lineageos.updater.xml",
-
+ name: "privapp_whitelist_org.lineageos.updater",
system_ext_specific: true,
- src: "privapp_whitelist_org.lineageos.updater.xml",
sub_dir: "permissions",
+ src: "privapp_whitelist_org.lineageos.updater.xml",
+ filename_from_src: true,
+}
+prebuilt_etc {
+ name: "default-permissions_org.lineageos.updater",
+ system_ext_specific: true,
+ sub_dir: "default-permissions",
+ src: "default-permissions_org.lineageos.updater.xml",
+ filename_from_src: true,
}
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 693ded4..cc485f7 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -6,6 +6,7 @@
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.REBOOT" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECOVERY" />
diff --git a/default-permissions_org.lineageos.updater.xml b/default-permissions_org.lineageos.updater.xml
new file mode 100644
index 0000000..027d455
--- /dev/null
+++ b/default-permissions_org.lineageos.updater.xml
@@ -0,0 +1,22 @@
+<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
+<!--
+ Copyright (C) 2022 The LineageOS Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<exceptions>
+ <exception package="org.lineageos.updater">
+ <!-- Notifications -->
+ <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
+ </exception>
+</exceptions>