Add priv-app allow-listing for unbundled chooser.

These two permissions are required for the most basic
ChooserActivity flows (as determined by runtime exceptions
during prototyping). Without this allow-listing, the
unbundled chooser's intent resolvers fail to register at
startup, and the device boot-loops.

Among the privileges that might require allow-listing,
these two in particular were sufficient for showing a
basic Chooser UI and launching the user-selected target.
More complex Chooser flows may turn out to require
additional permissions later on.

Test: manual testing as described above, but requires
several local-only changes to exercise the flow, and
this CL has to be the first to go in (but has no
side-effects of its own).

Change-Id: I6a24a46a91199e8b3fb643f047a9b9412b19eb8d
This commit is contained in:
Joshua Trask
2021-11-16 14:16:36 -05:00
parent d1e534430f
commit 2660514eea
2 changed files with 29 additions and 1 deletions

View File

@@ -12,7 +12,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
// Sysconfig files
package {
@@ -118,6 +117,13 @@ prebuilt_etc {
filename_from_src: true,
}
prebuilt_etc {
name: "privapp_whitelist_com.android.intentresolver",
sub_dir: "permissions",
src: "com.android.intentresolver.xml",
filename_from_src: true,
}
prebuilt_etc {
name: "privapp_whitelist_com.android.launcher3",
system_ext_specific: true,

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright (C) 2021 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
-->
<permissions>
<privapp-permissions package="com.android.intentresolver">
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
<permission name="android.permission.MANAGE_USERS"/>
</privapp-permissions>
</permissions>