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>