1<?xml version="1.0" encoding="utf-8"?><!-- 2 ~ Copyright 2025 The Android Open Source Project 3 ~ 4 ~ Licensed under the Apache License, Version 2.0 (the "License"); 5 ~ you may not use this file except in compliance with the License. 6 ~ You may obtain a copy of the License at 7 ~ 8 ~ https://www.apache.org/licenses/LICENSE-2.0 9 ~ 10 ~ Unless required by applicable law or agreed to in writing, software 11 ~ distributed under the License is distributed on an "AS IS" BASIS, 12 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 ~ See the License for the specific language governing permissions and 14 ~ limitations under the License. 15 ~ 16 ~ 17 --> 18 19<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 20 android:layout_width="match_parent" 21 android:layout_height="wrap_content"> 22 23 <LinearLayout 24 android:id="@+id/exercise_routes_permission_dialog" 25 android:layout_width="match_parent" 26 android:layout_height="wrap_content" 27 android:orientation="vertical" 28 android:gravity="start" 29 android:paddingHorizontal="@dimen/spacing_large" 30 android:paddingVertical="@dimen/spacing_large"> 31 32 <TextView 33 android:id="@+id/dialog_title" 34 android:layout_width="wrap_content" 35 android:layout_height="wrap_content" 36 android:maxLines="4" 37 android:paddingBottom="@dimen/spacing_small" 38 android:singleLine="false" 39 android:text="@string/route_permissions_label" 40 android:textAppearance="?attr/textAppearanceExpressiveDialogTitle" /> 41 42 <TextView 43 android:id="@+id/dialog_message" 44 android:layout_width="wrap_content" 45 android:layout_height="wrap_content" 46 android:paddingVertical="@dimen/spacing_normal" 47 android:textAppearance="?attr/textAppearanceExpressiveDialogMessage" /> 48 49 <RadioGroup 50 android:id="@+id/radio_group_route_permission" 51 android:layout_width="match_parent" 52 android:layout_height="wrap_content"> 53 54 <RadioButton 55 android:id="@+id/radio_button_always_allow" 56 android:layout_width="match_parent" 57 android:layout_height="wrap_content" 58 android:minHeight="@dimen/button_size" 59 android:paddingStart="?android:attr/listPreferredItemPaddingStart" 60 android:paddingEnd="0dp" 61 android:text="@string/route_permissions_always_allow" 62 android:textAppearance="?attr/textAppearanceExpressiveRadioButton" /> 63 64 <RadioButton 65 android:id="@+id/radio_button_ask" 66 android:layout_width="match_parent" 67 android:layout_height="wrap_content" 68 android:minHeight="@dimen/button_size" 69 android:paddingStart="?android:attr/listPreferredItemPaddingStart" 70 android:paddingEnd="0dp" 71 android:text="@string/route_permissions_ask" 72 android:textAppearance="?attr/textAppearanceExpressiveRadioButton" /> 73 74 <RadioButton 75 android:id="@+id/radio_button_revoke" 76 android:layout_width="match_parent" 77 android:layout_height="wrap_content" 78 android:minHeight="@dimen/button_size" 79 android:paddingStart="?android:attr/listPreferredItemPaddingStart" 80 android:paddingEnd="0dp" 81 android:text="@string/route_permissions_deny" 82 android:textAppearance="?attr/textAppearanceExpressiveRadioButton" /> 83 84 </RadioGroup> 85 </LinearLayout> 86 87</ScrollView>