1<?xml version="1.0" encoding="utf-8"?> 2<!-- 3 ~ Copyright (C) 2021 The Android Open Source Project 4 ~ 5 ~ Licensed under the Apache License, Version 2.0 (the "License"); 6 ~ you may not use this file except in compliance with the License. 7 ~ You may obtain a copy of the License at 8 ~ 9 ~ http://www.apache.org/licenses/LICENSE-2.0 10 ~ 11 ~ Unless required by applicable law or agreed to in writing, software 12 ~ distributed under the License is distributed on an "AS IS" BASIS, 13 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 ~ See the License for the specific language governing permissions and 15 ~ limitations under the License. 16 --> 17 18<!-- 19 ~ A lot of content in this file is identical to grant_permissions.xml 20 ~ Be sure to update both files when making changes. 21 --> 22 23<!-- In (hopefully very rare) case dialog is too high: allow scrolling --> 24<ScrollView 25 xmlns:android="http://schemas.android.com/apk/res/android" 26 android:layout_width="match_parent" 27 android:layout_height="match_parent" 28 style="@style/PermissionGrantScrollView"> 29 30 <LinearLayout 31 android:id="@+id/grant_singleton" 32 android:importantForAccessibility="no" 33 android:focusable="false" 34 style="@style/PermissionGrantSingleton"> 35 36 <!-- The dialog --> 37 <LinearLayout 38 android:id="@+id/grant_dialog" 39 android:theme="@style/Theme.PermissionGrantDialog" 40 android:importantForAccessibility="no" 41 android:focusable="false" 42 style="@style/PermissionGrantDialogMaterial3"> 43 44 <LinearLayout 45 android:id="@+id/content_container" 46 style="@style/PermissionGrantContent"> 47 48 <LinearLayout 49 style="@style/PermissionGrantDescription"> 50 51 <ImageView 52 android:id="@+id/permission_icon" 53 style="@style/PermissionGrantTitleIconMaterial3" /> 54 55 <TextView 56 android:id="@+id/permission_message" 57 android:accessibilityHeading="true" 58 style="@style/PermissionGrantTitleMessage" /> 59 60 </LinearLayout> 61 62 <TextView 63 android:id="@+id/detail_message" 64 style="@style/PermissionGrantDetailMessage" /> 65 66 </LinearLayout> 67 68 <!-- permission rationale --> 69 <LinearLayout 70 android:id="@+id/permission_rationale_container" 71 style="@style/PermissionGrantPermissionRationaleContent"> 72 73 <ImageView 74 android:id="@+id/permission_rationale_icon" 75 android:importantForAccessibility="no" 76 android:src="@drawable/ic_shield_exclamation_outline" 77 style="@style/PermissionGrantPermissionRationaleIcon" /> 78 79 <TextView 80 android:id="@+id/permission_rationale_message" 81 style="@style/PermissionGrantPermissionRationaleMessage" /> 82 83 <ImageView 84 android:id="@+id/permission_rationale_more_info_icon" 85 android:importantForAccessibility="no" 86 android:src="@drawable/ic_more_info_arrow" 87 style="@style/PermissionGrantPermissionRationaleMoreInfoIcon" /> 88 89 </LinearLayout> 90 91 <!-- location (precise/approximate) animations --> 92 <LinearLayout 93 android:layout_width="match_parent" 94 android:layout_height="wrap_content" 95 android:id="@+id/permission_location_accuracy"> 96 97 <RadioGroup 98 android:id="@+id/permission_location_accuracy_radio_group" 99 style="@style/PermissionLocationAccuracyRadioGroupMaterial3"> 100 101 <RadioButton 102 android:id="@+id/permission_location_accuracy_radio_fine" 103 android:text="@string/permgrouprequest_finelocation_imagetext" 104 style="@style/PermissionLocationAccuracyRadioFine"/> 105 106 <RadioButton 107 android:id="@+id/permission_location_accuracy_radio_coarse" 108 android:text="@string/permgrouprequest_coarselocation_imagetext" 109 style="@style/PermissionLocationAccuracyRadioCoarse" /> 110 </RadioGroup> 111 112 <ImageView 113 android:id="@+id/permission_location_accuracy_fine_only" 114 android:contentDescription="@string/precise_image_description" 115 style="@style/PermissionLocationAccuracyFineImageViewMaterial3" /> 116 117 <ImageView 118 android:id="@+id/permission_location_accuracy_coarse_only" 119 android:contentDescription="@string/approximate_image_description" 120 style="@style/PermissionLocationAccuracyCoarseImageViewMaterial3" /> 121 122 </LinearLayout> 123 124 <!-- Buttons on bottom of dialog --> 125 <LinearLayout 126 style="@style/PermissionGrantButtonListMaterial3"> 127 128 <Space 129 style="@style/PermissionGrantButtonBarSpace"/> 130 131 <com.android.permissioncontroller.permission.ui.widget.SecureButton 132 android:id="@+id/permission_allow_button" 133 android:text="@string/grant_dialog_button_allow" 134 style="@style/PermissionGrantButtonAllowMaterial3" /> 135 136 <com.android.permissioncontroller.permission.ui.widget.SecureButton 137 android:id="@+id/permission_allow_foreground_only_button" 138 android:text="@string/grant_dialog_button_allow_foreground" 139 style="@style/PermissionGrantButtonAllowForegroundMaterial3" /> 140 141 <com.android.permissioncontroller.permission.ui.widget.SecureButton 142 android:id="@+id/permission_allow_one_time_button" 143 android:text="@string/grant_dialog_button_allow_one_time" 144 style="@style/PermissionGrantButtonAllowOneTimeMaterial3" /> 145 146 <com.android.permissioncontroller.permission.ui.widget.SecureButton 147 android:id="@+id/permission_allow_selected_button" 148 android:text="@string/grant_dialog_button_allow_limited_access" 149 style="@style/PermissionGrantButtonAllowSelectedMaterial3" /> 150 151 <com.android.permissioncontroller.permission.ui.widget.SecureButton 152 android:id="@+id/permission_allow_all_button" 153 android:text="@string/grant_dialog_button_allow_all" 154 style="@style/PermissionGrantButtonAllowAllMaterial3" /> 155 156 <com.android.permissioncontroller.permission.ui.widget.SecureButton 157 android:id="@+id/permission_deny_button" 158 android:text="@string/grant_dialog_button_deny" 159 style="@style/PermissionGrantButtonDenyMaterial3" /> 160 161 <com.android.permissioncontroller.permission.ui.widget.SecureButton 162 android:id="@+id/permission_deny_and_dont_ask_again_button" 163 android:text="@string/grant_dialog_button_deny" 164 style="@style/PermissionGrantButtonDenyMaterial3" /> 165 166 <com.android.permissioncontroller.permission.ui.widget.SecureButton 167 android:id="@+id/permission_no_upgrade_button" 168 android:text="@string/grant_dialog_button_no_upgrade" 169 style="@style/PermissionGrantButtonNoUpgradeMaterial3" /> 170 171 <com.android.permissioncontroller.permission.ui.widget.SecureButton 172 android:id="@+id/permission_no_upgrade_and_dont_ask_again_button" 173 android:text="@string/grant_dialog_button_no_upgrade" 174 style="@style/PermissionGrantButtonNoUpgradeMaterial3" /> 175 176 <com.android.permissioncontroller.permission.ui.widget.SecureButton 177 android:id="@+id/permission_no_upgrade_one_time_button" 178 android:text="@string/grant_dialog_button_no_upgrade_one_time" 179 style="@style/PermissionGrantButtonNoUpgradeMaterial3" /> 180 181 <com.android.permissioncontroller.permission.ui.widget.SecureButton 182 android:id="@+id/permission_no_upgrade_one_time_and_dont_ask_again_button" 183 android:text="@string/grant_dialog_button_no_upgrade_one_time" 184 style="@style/PermissionGrantButtonNoUpgradeMaterial3" /> 185 186 <com.android.permissioncontroller.permission.ui.widget.SecureButton 187 android:id="@+id/permission_dont_allow_more_selected_button" 188 android:text="@string/grant_dialog_button_dont_select_more" 189 style="@style/PermissionGrantButtonDontAllowMoreMaterial3" /> 190 191 </LinearLayout> 192 193 <com.android.permissioncontroller.permission.ui.v33.widget.SafetyProtectionSectionView 194 android:layout_width="wrap_content" 195 android:layout_height="wrap_content" 196 android:layout_marginTop="0dp" 197 android:layout_marginBottom="20dp" 198 android:layout_gravity="center" /> 199 </LinearLayout> 200 </LinearLayout> 201</ScrollView> 202