IntentResolver: prepare IntentResolver-core for client usage

- Creates "lib" AndroidManifest.xml containing the required permissions
- Adds proguard configuration file

Bug: 265905535
Change-Id: Ie24cd32c1816d349a3ba59ff206d9fc210f54a21
diff --git a/Android.bp b/Android.bp
index 219a79e..245d122 100644
--- a/Android.bp
+++ b/Android.bp
@@ -63,7 +63,7 @@
         "java/res",
     ],
 
-    manifest: "AndroidManifest.xml",
+    manifest: "AndroidManifest-lib.xml",
 
     static_libs: [
         "androidx.annotation_annotation",
@@ -90,6 +90,10 @@
     lint: {
         strict_updatability_linting: false,
     },
+
+    optimize: {
+        proguard_flags_files: ["proguard.flags"],
+    },
 }
 
 android_app {
@@ -97,6 +101,7 @@
     min_sdk_version: "current",
     certificate: "platform",
     privileged: true,
+    manifest: "AndroidManifest-app.xml",
     required: [
         "privapp_whitelist_com.android.intentresolver",
     ],
diff --git a/AndroidManifest.xml b/AndroidManifest-app.xml
similarity index 71%
rename from AndroidManifest.xml
rename to AndroidManifest-app.xml
index f9bdc69..d542e62 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest-app.xml
@@ -23,22 +23,6 @@
     android:versionName="2021-11"
     coreApp="true">
 
-
-    <uses-permission android:name="android.permission.ACCESS_SHORTCUTS" />
-    <uses-permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE" />
-    <uses-permission android:name="android.permission.GET_ANY_PROVIDER_TYPE" />
-    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
-    <uses-permission android:name="android.permission.MANAGE_APP_PREDICTIONS" />
-    <uses-permission android:name="android.permission.MANAGE_USERS" />
-    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
-    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
-    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
-    <uses-permission android:name="android.permission.SET_CLIP_SOURCE" />
-    <uses-permission android:name="android.permission.START_ACTIVITY_AS_CALLER" />
-    <uses-permission android:name="android.permission.UNLIMITED_SHORTCUTS_API_CALLS" />
-    <uses-permission android:name="android.permission.QUERY_CLONED_APPS" />
-    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
-
     <application
         android:name=".IntentResolverApplication"
         android:hardwareAccelerated="true"
diff --git a/AndroidManifest-lib.xml b/AndroidManifest-lib.xml
new file mode 100644
index 0000000..509d46a
--- /dev/null
+++ b/AndroidManifest-lib.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2023 The Android Open Source 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.
+  -->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.intentresolver" >
+    <uses-permission android:name="android.permission.ACCESS_SHORTCUTS" />
+    <uses-permission android:name="android.permission.BIND_RESOLVER_RANKER_SERVICE" />
+    <uses-permission android:name="android.permission.GET_ANY_PROVIDER_TYPE" />
+    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
+    <uses-permission android:name="android.permission.MANAGE_APP_PREDICTIONS" />
+    <uses-permission android:name="android.permission.MANAGE_USERS" />
+    <uses-permission android:name="android.permission.PACKAGE_USAGE_STATS" />
+    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
+    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
+    <uses-permission android:name="android.permission.SET_CLIP_SOURCE" />
+    <uses-permission android:name="android.permission.START_ACTIVITY_AS_CALLER" />
+    <uses-permission android:name="android.permission.UNLIMITED_SHORTCUTS_API_CALLS" />
+    <uses-permission android:name="android.permission.QUERY_CLONED_APPS" />
+    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
+</manifest>
diff --git a/proguard.flags b/proguard.flags
new file mode 100644
index 0000000..5541c3f
--- /dev/null
+++ b/proguard.flags
@@ -0,0 +1,2 @@
+# Class referenced from xml drawable
+-keep class com.android.intentresolver.SimpleIconFactory$FixedScaleDrawable