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 style="@style/PermissionGrantDialogMaterial3"> 42 43 <LinearLayout 44 android:id="@+id/content_container" 45 style="@style/PermissionGrantContent"> 46 47 <LinearLayout 48 style="@style/PermissionGrantDescription"> 49 50 <ImageView 51 android:id="@+id/permission_icon" 52 style="@style/PermissionGrantTitleIconMaterial3" /> 53 54 <TextView 55 android:id="@+id/permission_message" 56 android:accessibilityHeading="true" 57 style="@style/PermissionGrantTitleMessage" /> 58 59 </LinearLayout> 60 61 <TextView 62 android:id="@+id/detail_message" 63 style="@style/PermissionGrantDetailMessage" /> 64 65 </LinearLayout> 66 67 <!-- permission rationale --> 68 <LinearLayout 69 android:id="@+id/permission_rationale_container" 70 style="@style/PermissionGrantPermissionRationaleContent"> 71 72 <ImageView 73 android:id="@+id/permission_rationale_icon" 74 android:importantForAccessibility="no" 75 android:src="@drawable/ic_shield_exclamation_outline" 76 style="@style/PermissionGrantPermissionRationaleIcon" /> 77 78 <TextView 79 android:id="@+id/permission_rationale_message" 80 style="@style/PermissionGrantPermissionRationaleMessage" /> 81 82 <ImageView 83 android:id="@+id/permission_rationale_more_info_icon" 84 android:importantForAccessibility="no" 85 android:src="@drawable/ic_more_info_arrow" 86 style="@style/PermissionGrantPermissionRationaleMoreInfoIcon" /> 87 88 </LinearLayout> 89 90 <!-- location (precise/approximate) animations --> 91 <LinearLayout 92 android:layout_width="match_parent" 93 android:layout_height="wrap_content" 94 android:id="@+id/permission_location_accuracy"> 95 96 <RadioGroup 97 android:id="@+id/permission_location_accuracy_radio_group" 98 style="@style/PermissionLocationAccuracyRadioGroupMaterial3"> 99 100 <RadioButton 101 android:id="@+id/permission_location_accuracy_radio_fine" 102 android:text="@string/permgrouprequest_finelocation_imagetext" 103 style="@style/PermissionLocationAccuracyRadioFine"/> 104 105 <RadioButton 106 android:id="@+id/permission_location_accuracy_radio_coarse" 107 android:text="@string/permgrouprequest_coarselocation_imagetext" 108 style="@style/PermissionLocationAccuracyRadioCoarse" /> 109 </RadioGroup> 110 111 <ImageView 112 android:id="@+id/permission_location_accuracy_fine_only" 113 android:contentDescription="@string/precise_image_description" 114 style="@style/PermissionLocationAccuracyFineImageViewMaterial3" /> 115 116 <ImageView 117 android:id="@+id/permission_location_accuracy_coarse_only" 118 android:contentDescription="@string/approximate_image_description" 119 style="@style/PermissionLocationAccuracyCoarseImageViewMaterial3" /> 120 121 </LinearLayout> 122 123 <!-- Buttons on bottom of dialog --> 124 <LinearLayout 125 style="@style/PermissionGrantButtonListMaterial3"> 126 127 <Space 128 style="@style/PermissionGrantButtonBarSpace"/> 129 130 <com.android.permissioncontroller.permission.ui.widget.SecureButton 131 android:id="@+id/permission_allow_button" 132 android:text="@string/grant_dialog_button_allow" 133 style="@style/PermissionGrantButtonAllowMaterial3" /> 134 135 <com.android.permissioncontroller.permission.ui.widget.SecureButton 136 android:id="@+id/permission_allow_foreground_only_button" 137 android:text="@string/grant_dialog_button_allow_foreground" 138 style="@style/PermissionGrantButtonAllowForegroundMaterial3" /> 139 140 <com.android.permissioncontroller.permission.ui.widget.SecureButton 141 android:id="@+id/permission_allow_one_time_button" 142 android:text="@string/grant_dialog_button_allow_one_time" 143 style="@style/PermissionGrantButtonAllowOneTimeMaterial3" /> 144 145 <com.android.permissioncontroller.permission.ui.widget.SecureButton 146 android:id="@+id/permission_allow_selected_button" 147 android:text="@string/grant_dialog_button_allow_selected_photos" 148 style="@style/PermissionGrantButtonAllowSelectedMaterial3" /> 149 150 <com.android.permissioncontroller.permission.ui.widget.SecureButton 151 android:id="@+id/permission_allow_all_button" 152 android:text="@string/grant_dialog_button_allow_all" 153 style="@style/PermissionGrantButtonAllowAllMaterial3" /> 154 155 <com.android.permissioncontroller.permission.ui.widget.SecureButton 156 android:id="@+id/permission_deny_button" 157 android:text="@string/grant_dialog_button_deny" 158 style="@style/PermissionGrantButtonDenyMaterial3" /> 159 160 <com.android.permissioncontroller.permission.ui.widget.SecureButton 161 android:id="@+id/permission_deny_and_dont_ask_again_button" 162 android:text="@string/grant_dialog_button_deny" 163 style="@style/PermissionGrantButtonDenyMaterial3" /> 164 165 <com.android.permissioncontroller.permission.ui.widget.SecureButton 166 android:id="@+id/permission_no_upgrade_button" 167 android:text="@string/grant_dialog_button_no_upgrade" 168 style="@style/PermissionGrantButtonNoUpgradeMaterial3" /> 169 170 <com.android.permissioncontroller.permission.ui.widget.SecureButton 171 android:id="@+id/permission_no_upgrade_and_dont_ask_again_button" 172 android:text="@string/grant_dialog_button_no_upgrade" 173 style="@style/PermissionGrantButtonNoUpgradeMaterial3" /> 174 175 <com.android.permissioncontroller.permission.ui.widget.SecureButton 176 android:id="@+id/permission_no_upgrade_one_time_button" 177 android:text="@string/grant_dialog_button_no_upgrade_one_time" 178 style="@style/PermissionGrantButtonNoUpgradeMaterial3" /> 179 180 <com.android.permissioncontroller.permission.ui.widget.SecureButton 181 android:id="@+id/permission_no_upgrade_one_time_and_dont_ask_again_button" 182 android:text="@string/grant_dialog_button_no_upgrade_one_time" 183 style="@style/PermissionGrantButtonNoUpgradeMaterial3" /> 184 185 <com.android.permissioncontroller.permission.ui.widget.SecureButton 186 android:id="@+id/permission_dont_allow_more_selected_button" 187 android:text="@string/grant_dialog_button_dont_select_more" 188 style="@style/PermissionGrantButtonDontAllowMoreMaterial3" /> 189 190 </LinearLayout> 191 192 <com.android.permissioncontroller.permission.ui.v33.widget.SafetyProtectionSectionView 193 android:layout_width="wrap_content" 194 android:layout_height="wrap_content" 195 android:layout_marginTop="0dp" 196 android:layout_marginBottom="20dp" 197 android:layout_gravity="center" /> 198 </LinearLayout> 199 </LinearLayout> 200</ScrollView> 201