Fix auth modes not displaying properly (#1271)

* res: fix auth modes not displaying properly

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>

* res: wrap onboarding flow screens inside ScrollView

Signed-off-by: Aditya Wasan <adityawasan55@gmail.com>
This commit is contained in:
Aditya Wasan 2021-01-08 03:38:45 +05:30 committed by GitHub
parent 5713c719a5
commit 534269c8fc
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 212 additions and 167 deletions

View file

@ -33,7 +33,8 @@
android:id="@+id/label_server_url" android:id="@+id/label_server_url"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="8dp" android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:hint="@string/server_url" android:hint="@string/server_url"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -53,7 +54,8 @@
android:id="@+id/label_server_branch" android:id="@+id/label_server_branch"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="8dp" android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:hint="@string/server_branch" android:hint="@string/server_branch"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -83,9 +85,11 @@
<com.google.android.material.button.MaterialButtonToggleGroup <com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/auth_mode_group" android:id="@+id/auth_mode_group"
style="@style/TextAppearance.MaterialComponents.Headline1" style="@style/TextAppearance.MaterialComponents.Headline1"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="8dp" android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/label_auth_mode" app:layout_constraintTop_toBottomOf="@id/label_auth_mode"
app:singleSelection="true"> app:singleSelection="true">
@ -95,21 +99,33 @@
style="?attr/materialButtonOutlinedStyle" style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/connection_mode_ssh_key" /> android:layout_weight="1"
android:minWidth="0dp"
android:padding="8dp"
android:text="@string/connection_mode_ssh_key"
android:textSize="@dimen/toggle_group_text_size" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/auth_mode_password" android:id="@+id/auth_mode_password"
style="?attr/materialButtonOutlinedStyle" style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/connection_mode_basic_authentication" /> android:layout_weight="1"
android:minWidth="0dp"
android:padding="8dp"
android:text="@string/connection_mode_basic_authentication"
android:textSize="@dimen/toggle_group_text_size" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/auth_mode_open_keychain" android:id="@+id/auth_mode_open_keychain"
style="?attr/materialButtonOutlinedStyle" style="?attr/materialButtonOutlinedStyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/connection_mode_openkeychain" /> android:layout_weight="1"
android:minWidth="0dp"
android:padding="8dp"
android:text="@string/connection_mode_openkeychain"
android:textSize="@dimen/toggle_group_text_size" />
</com.google.android.material.button.MaterialButtonToggleGroup> </com.google.android.material.button.MaterialButtonToggleGroup>
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton

View file

@ -1,86 +1,94 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="?attr/colorPrimary" android:background="?attr/colorPrimary">
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/app_icon" android:layout_width="match_parent"
android:layout_width="64dp" android:layout_height="wrap_content">
android:layout_height="64dp"
android:layout_marginStart="32dp"
android:layout_marginTop="100dp"
android:contentDescription="@string/app_icon_hint"
android:src="@mipmap/ic_launcher"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/app_name" android:id="@+id/app_icon"
android:layout_width="wrap_content" android:layout_width="64dp"
android:layout_height="wrap_content" android:layout_height="64dp"
android:layout_centerHorizontal="true" android:layout_marginStart="32dp"
android:layout_marginStart="16dp" android:layout_marginTop="@dimen/onboarding_icon_margin_top"
android:text="@string/app_name" android:contentDescription="@string/app_icon_hint"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5" android:src="@mipmap/ic_launcher"
android:textColor="@color/color_control_normal" app:layout_constraintStart_toStartOf="parent"
android:textStyle="bold" app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintBottom_toBottomOf="@id/app_icon"
app:layout_constraintStart_toEndOf="@id/app_icon"
app:layout_constraintTop_toTopOf="@+id/app_icon" />
<TextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/repo_type" android:id="@+id/app_name"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="48dp" android:layout_centerHorizontal="true"
android:text="@string/select_n_repository_type" android:layout_marginStart="@dimen/fab_compat_margin"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline4" android:layout_marginEnd="@dimen/fab_compat_margin"
android:textColor="@color/color_control_normal" android:text="@string/app_name"
android:textStyle="bold" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
app:layout_constraintEnd_toEndOf="parent" android:textColor="@color/color_control_normal"
app:layout_constraintHorizontal_bias="0" android:textStyle="bold"
app:layout_constraintStart_toStartOf="@id/app_icon" app:layout_constraintBottom_toBottomOf="@id/app_icon"
app:layout_constraintTop_toBottomOf="@id/app_icon" /> app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/app_icon"
app:layout_constraintTop_toTopOf="@+id/app_icon" />
<TextView <TextView
android:id="@+id/tv_repo_type_text" android:id="@+id/repo_type"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="48dp" android:layout_marginTop="48dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="@dimen/fab_compat_margin"
android:text="@string/select_repo_type_text" android:text="@string/select_n_repository_type"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline4"
android:textColor="@color/color_control_normal" android:textColor="@color/color_control_normal"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/repo_type" app:layout_constraintHorizontal_bias="0"
app:layout_constraintTop_toBottomOf="@id/repo_type" /> app:layout_constraintStart_toStartOf="@id/app_icon"
app:layout_constraintTop_toBottomOf="@id/app_icon" />
<com.google.android.material.button.MaterialButton <TextView
android:id="@+id/clone_remote" android:id="@+id/tv_repo_type_text"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginTop="@dimen/onboarding_desc_margin_top"
android:layout_marginEnd="16dp" android:layout_marginEnd="@dimen/fab_compat_margin"
android:maxWidth="300dp" android:text="@string/select_repo_type_text"
android:minWidth="100dp" android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle2"
android:text="@string/clone_remote_repo" android:textColor="@color/color_control_normal"
app:layout_constraintBottom_toTopOf="@id/create_local" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="@id/repo_type"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintTop_toBottomOf="@id/repo_type" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/create_local" android:id="@+id/clone_remote"
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="128dp" android:layout_marginStart="16dp"
android:maxWidth="300dp" android:layout_marginTop="@dimen/onboarding_button_margin_top"
android:minWidth="100dp" android:layout_marginEnd="16dp"
android:text="@string/create_local_repo" android:maxWidth="300dp"
app:layout_constraintBottom_toBottomOf="parent" android:minWidth="100dp"
app:layout_constraintEnd_toEndOf="@id/clone_remote" android:text="@string/clone_remote_repo"
app:layout_constraintStart_toStartOf="@id/clone_remote" /> app:layout_constraintBottom_toTopOf="@id/create_local"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_repo_type_text" />
</androidx.constraintlayout.widget.ConstraintLayout> <com.google.android.material.button.MaterialButton
android:id="@+id/create_local"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="128dp"
android:maxWidth="300dp"
android:minWidth="100dp"
android:text="@string/create_local_repo"
app:layout_constraintEnd_toEndOf="@id/clone_remote"
app:layout_constraintStart_toStartOf="@id/clone_remote"
app:layout_constraintTop_toBottomOf="@id/clone_remote" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

View file

@ -15,7 +15,7 @@
android:layout_width="64dp" android:layout_width="64dp"
android:layout_height="64dp" android:layout_height="64dp"
android:layout_marginStart="32dp" android:layout_marginStart="32dp"
android:layout_marginTop="100dp" android:layout_marginTop="@dimen/onboarding_icon_margin_top"
android:contentDescription="@string/app_icon_hint" android:contentDescription="@string/app_icon_hint"
android:src="@mipmap/ic_launcher" android:src="@mipmap/ic_launcher"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -23,23 +23,26 @@
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/app_name" android:id="@+id/app_name"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginStart="16dp" android:layout_marginStart="@dimen/fab_compat_margin"
android:layout_marginEnd="@dimen/fab_compat_margin"
android:text="@string/app_name" android:text="@string/app_name"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
android:textColor="@color/color_control_normal" android:textColor="@color/color_control_normal"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/app_icon" app:layout_constraintBottom_toBottomOf="@id/app_icon"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/app_icon" app:layout_constraintStart_toEndOf="@id/app_icon"
app:layout_constraintTop_toTopOf="@+id/app_icon" /> app:layout_constraintTop_toTopOf="@+id/app_icon" />
<TextView <TextView
android:id="@+id/gpg_key" android:id="@+id/gpg_key"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="48dp" android:layout_marginTop="48dp"
android:layout_marginEnd="@dimen/fab_compat_margin"
android:text="@string/select_gpg_key_title" android:text="@string/select_gpg_key_title"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline4" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline4"
android:textColor="@color/color_control_normal" android:textColor="@color/color_control_normal"
@ -53,12 +56,11 @@
android:id="@+id/gpg_key_text" android:id="@+id/gpg_key_text"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="48dp" android:layout_marginTop="@dimen/onboarding_desc_margin_top"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:text="@string/select_gpg_key_message" android:text="@string/select_gpg_key_message"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle2"
android:textColor="@color/color_control_normal" android:textColor="@color/color_control_normal"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/gpg_key" app:layout_constraintStart_toStartOf="@id/gpg_key"
app:layout_constraintTop_toBottomOf="@id/gpg_key" /> app:layout_constraintTop_toBottomOf="@id/gpg_key" />

View file

@ -1,86 +1,94 @@
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="?attr/colorPrimary" android:background="?attr/colorPrimary">
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/app_icon" android:layout_width="match_parent"
android:layout_width="64dp" android:layout_height="wrap_content">
android:layout_height="64dp"
android:layout_marginStart="32dp"
android:layout_marginTop="100dp"
android:contentDescription="@string/app_icon_hint"
android:src="@mipmap/ic_launcher"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/app_name" android:id="@+id/app_icon"
android:layout_width="wrap_content" android:layout_width="64dp"
android:layout_height="wrap_content" android:layout_height="64dp"
android:layout_centerHorizontal="true" android:layout_marginStart="32dp"
android:layout_marginStart="16dp" android:layout_marginTop="@dimen/onboarding_icon_margin_top"
android:text="@string/app_name" android:contentDescription="@string/app_icon_hint"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5" android:src="@mipmap/ic_launcher"
android:textColor="@color/color_control_normal" app:layout_constraintStart_toStartOf="parent"
android:textStyle="bold" app:layout_constraintTop_toTopOf="parent" />
app:layout_constraintBottom_toBottomOf="@id/app_icon"
app:layout_constraintStart_toEndOf="@id/app_icon"
app:layout_constraintTop_toTopOf="@+id/app_icon" />
<TextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/repo_location" android:id="@+id/app_name"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="48dp" android:layout_centerHorizontal="true"
android:text="@string/repository_n_location" android:layout_marginStart="@dimen/fab_compat_margin"
android:textAppearance="@style/TextAppearance.MaterialComponents.Headline4" android:layout_marginEnd="@dimen/fab_compat_margin"
android:textColor="@color/color_control_normal" android:text="@string/app_name"
android:textStyle="bold" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline5"
app:layout_constraintEnd_toEndOf="parent" android:textColor="@color/color_control_normal"
app:layout_constraintHorizontal_bias="0" android:textStyle="bold"
app:layout_constraintStart_toStartOf="@id/app_icon" app:layout_constraintBottom_toBottomOf="@id/app_icon"
app:layout_constraintTop_toBottomOf="@id/app_icon" /> app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/app_icon"
app:layout_constraintTop_toTopOf="@+id/app_icon" />
<TextView <TextView
android:id="@+id/repo_location_text" android:id="@+id/repo_location"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="48dp" android:layout_marginTop="48dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="@dimen/fab_compat_margin"
android:text="@string/location_dialog_create_text" android:text="@string/repository_n_location"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1" android:textAppearance="@style/TextAppearance.MaterialComponents.Headline4"
android:textColor="@color/color_control_normal" android:textColor="@color/color_control_normal"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@id/repo_location" app:layout_constraintStart_toStartOf="@id/app_icon"
app:layout_constraintTop_toBottomOf="@id/repo_location" /> app:layout_constraintTop_toBottomOf="@id/app_icon" />
<com.google.android.material.button.MaterialButton <TextView
android:id="@+id/hidden" android:id="@+id/repo_location_text"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginTop="@dimen/onboarding_desc_margin_top"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:maxWidth="300dp" android:text="@string/location_dialog_create_text"
android:minWidth="100dp" android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle2"
android:text="@string/location_hidden" android:textColor="@color/color_control_normal"
app:layout_constraintBottom_toTopOf="@id/sdcard" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="@id/repo_location"
app:layout_constraintStart_toStartOf="parent" /> app:layout_constraintTop_toBottomOf="@id/repo_location" />
<com.google.android.material.button.MaterialButton <com.google.android.material.button.MaterialButton
android:id="@+id/sdcard" android:id="@+id/hidden"
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="128dp" android:layout_marginStart="16dp"
android:maxWidth="300dp" android:layout_marginTop="@dimen/onboarding_button_margin_top"
android:minWidth="100dp" android:layout_marginEnd="16dp"
android:text="@string/location_sdcard" android:maxWidth="300dp"
app:layout_constraintBottom_toBottomOf="parent" android:minWidth="100dp"
app:layout_constraintEnd_toEndOf="@id/hidden" android:text="@string/location_hidden"
app:layout_constraintStart_toStartOf="@id/hidden" /> app:layout_constraintBottom_toTopOf="@id/sdcard"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/repo_location_text" />
<com.google.android.material.button.MaterialButton
android:id="@+id/sdcard"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="128dp"
android:maxWidth="300dp"
android:minWidth="100dp"
android:text="@string/location_sdcard"
app:layout_constraintEnd_toEndOf="@id/hidden"
app:layout_constraintStart_toStartOf="@id/hidden"
app:layout_constraintTop_toBottomOf="@id/hidden" />
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="toggle_group_text_size">12sp</dimen>
<dimen name="onboarding_icon_margin_top">50dp</dimen>
<dimen name="onboarding_button_margin_top">70dp</dimen>
<dimen name="onboarding_desc_margin_top">48dp</dimen>
</resources>

View file

@ -10,4 +10,8 @@
<dimen name="fab_compat_margin">16dp</dimen> <dimen name="fab_compat_margin">16dp</dimen>
<dimen name="normal_margin">8dp</dimen> <dimen name="normal_margin">8dp</dimen>
<dimen name="bottom_sheet_item_height">56dp</dimen> <dimen name="bottom_sheet_item_height">56dp</dimen>
<dimen name="toggle_group_text_size">14sp</dimen>
<dimen name="onboarding_icon_margin_top">100dp</dimen>
<dimen name="onboarding_button_margin_top">140dp</dimen>
<dimen name="onboarding_desc_margin_top">48dp</dimen>
</resources> </resources>

View file

@ -376,7 +376,7 @@
<string name="select_repo_type_text">Select if you want to create a local repo or clone a remote repo.</string> <string name="select_repo_type_text">Select if you want to create a local repo or clone a remote repo.</string>
<string name="clone_remote_repo">Clone Remote Repo</string> <string name="clone_remote_repo">Clone Remote Repo</string>
<string name="create_local_repo">Create Local Repo</string> <string name="create_local_repo">Create Local Repo</string>
<string name="select_gpg_key_title">Select\nGPG\nKey</string> <string name="select_gpg_key_title">Select\nGPG Key</string>
<string name="select_gpg_key_message">Select a GPG key to initialize your store with</string> <string name="select_gpg_key_message">Select a GPG key to initialize your store with</string>
<string name="gpg_key_select">Select key</string> <string name="gpg_key_select">Select key</string>