aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/res
diff options
context:
space:
mode:
Diffstat (limited to 'OpenKeychain/src/main/res')
-rw-r--r--OpenKeychain/src/main/res/anim/fade_in_delayed.xml8
-rw-r--r--OpenKeychain/src/main/res/anim/fade_out_delayed.xml8
-rw-r--r--OpenKeychain/src/main/res/layout-land/backup_code_fragment.xml364
-rw-r--r--OpenKeychain/src/main/res/layout-land/qr_code_activity.xml39
-rw-r--r--OpenKeychain/src/main/res/layout-mdpi/backup_code_fragment.xml363
-rw-r--r--OpenKeychain/src/main/res/layout-xhdpi/backup_code_fragment.xml364
-rw-r--r--OpenKeychain/src/main/res/layout/backup_activity.xml26
-rw-r--r--OpenKeychain/src/main/res/layout/decrypt_list_entry.xml34
-rw-r--r--OpenKeychain/src/main/res/layout/drawer_backup_fragment.xml (renamed from OpenKeychain/src/main/res/layout/backup_fragment.xml)0
-rw-r--r--OpenKeychain/src/main/res/layout/import_keys_activity.xml29
-rw-r--r--OpenKeychain/src/main/res/menu/key_view.xml2
-rw-r--r--OpenKeychain/src/main/res/values/strings.xml22
12 files changed, 1188 insertions, 71 deletions
diff --git a/OpenKeychain/src/main/res/anim/fade_in_delayed.xml b/OpenKeychain/src/main/res/anim/fade_in_delayed.xml
new file mode 100644
index 000000000..3f2887b5e
--- /dev/null
+++ b/OpenKeychain/src/main/res/anim/fade_in_delayed.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+ <alpha android:fromAlpha="0.0" android:toAlpha="1.0"
+ android:interpolator="@android:anim/bounce_interpolator"
+ android:duration="700"
+ android:startOffset="400"
+ />
+</set>
diff --git a/OpenKeychain/src/main/res/anim/fade_out_delayed.xml b/OpenKeychain/src/main/res/anim/fade_out_delayed.xml
new file mode 100644
index 000000000..a895bdedd
--- /dev/null
+++ b/OpenKeychain/src/main/res/anim/fade_out_delayed.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+ <alpha android:fromAlpha="1.0" android:toAlpha="0.0"
+ android:interpolator="@android:anim/accelerate_interpolator"
+ android:duration="300"
+ android:startOffset="400"
+ />
+</set>
diff --git a/OpenKeychain/src/main/res/layout-land/backup_code_fragment.xml b/OpenKeychain/src/main/res/layout-land/backup_code_fragment.xml
new file mode 100644
index 000000000..fd8cd21f0
--- /dev/null
+++ b/OpenKeychain/src/main/res/layout-land/backup_code_fragment.xml
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:custom="http://schemas.android.com/apk/res-auto"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingTop="20dp">
+
+ <org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/title_animator"
+ android:inAnimation="@anim/fade_in"
+ android:outAnimation="@anim/fade_out"
+ custom:initialView="0">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="10dp"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_explanation"
+ style="?android:textAppearanceMedium"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="10dp"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_enter"
+ style="?android:textAppearanceMedium"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="10dp"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_ok"
+ style="?android:textAppearanceMedium"
+ />
+
+ </org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator>
+
+ <org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/code_animator"
+ android:inAnimation="@anim/fade_in"
+ android:outAnimation="@anim/fade_out"
+ android:layout_marginTop="15dp"
+ android:layout_marginBottom="15dp"
+ custom:initialView="1">
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ >
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_1"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="ABCDEF"
+ tools:ignore="SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_2"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="GHIJKL"
+ tools:ignore="SpUsage" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_3"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="MNOPQR"
+ tools:ignore="SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_4"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:singleLine="true"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="STUVWX"
+ tools:ignore="SpUsage"
+ />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ >
+
+ <!--
+ The most reliable way to correctly size these I found was to put a transparent hint on them.
+ Theoretically, this should be what the android:ems attribute is for - didn't work for me.
+ -->
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_1"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="______"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_2"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="______"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_3"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="______"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_4"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="______"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ </LinearLayout>
+
+ </org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator>
+
+ <org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/status_animator"
+ android:inAnimation="@anim/fade_in_delayed"
+ android:outAnimation="@anim/fade_out"
+ custom:initialView="2">
+
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:layout_margin="10dp"
+ android:text="@string/btn_code_wrotedown"
+ android:drawableLeft="@drawable/ic_mode_edit_grey_24dp"
+ android:drawablePadding="8dp"
+ android:padding="12dp"
+ android:id="@+id/button_backup_input"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ <Space
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_wrong"
+ style="?android:textAppearanceMedium"
+ />
+
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="10dp"
+ android:layout_gravity="center_horizontal"
+ android:padding="12dp"
+ android:text="@string/btn_backup_back"
+ android:drawableLeft="@drawable/ic_repeat_grey_24dp"
+ android:drawablePadding="8dp"
+ android:id="@+id/button_backup_back"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ style="?android:buttonBarStyle">
+
+ <Button
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_margin="10dp"
+ android:padding="12dp"
+ android:text="@string/btn_backup_share"
+ android:drawableLeft="@drawable/ic_share_grey_24dp"
+ android:drawablePadding="8dp"
+ android:id="@+id/button_backup_share"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ <Button
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_margin="10dp"
+ android:padding="12dp"
+ android:text="@string/btn_backup_save"
+ android:drawableLeft="@drawable/ic_save_grey_24dp"
+ android:drawablePadding="8dp"
+ android:id="@+id/button_backup_save"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ </LinearLayout>
+
+ </org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator>
+
+
+</LinearLayout>
diff --git a/OpenKeychain/src/main/res/layout-land/qr_code_activity.xml b/OpenKeychain/src/main/res/layout-land/qr_code_activity.xml
deleted file mode 100644
index 59a733e89..000000000
--- a/OpenKeychain/src/main/res/layout-land/qr_code_activity.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
-
- <include
- android:id="@+id/toolbar_include"
- layout="@layout/toolbar_standalone" />
-
- <LinearLayout
- android:layout_below="@id/toolbar_include"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
-
- <android.support.v7.widget.CardView
- android:id="@+id/qr_code_image_layout"
- android:transitionName="qr_code"
- android:layout_gravity="center_horizontal"
- android:layout_margin="32dp"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- android:clickable="true"
- android:foreground="?android:attr/selectableItemBackground"
- app:cardBackgroundColor="@android:color/white"
- app:cardUseCompatPadding="true"
- app:cardCornerRadius="4dp">
-
- <org.sufficientlysecure.keychain.ui.widget.AspectRatioImageView
- android:id="@+id/qr_code_image"
- android:layout_width="wrap_content"
- android:layout_height="match_parent"
- app:dominantMeasurement="height"
- app:aspectRatioEnabled="true" />
- </android.support.v7.widget.CardView>
-
- </LinearLayout>
-</RelativeLayout> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/layout-mdpi/backup_code_fragment.xml b/OpenKeychain/src/main/res/layout-mdpi/backup_code_fragment.xml
new file mode 100644
index 000000000..4c7cb7374
--- /dev/null
+++ b/OpenKeychain/src/main/res/layout-mdpi/backup_code_fragment.xml
@@ -0,0 +1,363 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:custom="http://schemas.android.com/apk/res-auto"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingTop="50dp">
+
+ <org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/title_animator"
+ android:inAnimation="@anim/fade_in"
+ android:outAnimation="@anim/fade_out"
+ custom:initialView="0">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="10dp"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_explanation"
+ style="?android:textAppearanceMedium"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="10dp"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_enter"
+ style="?android:textAppearanceMedium"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="10dp"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_ok"
+ style="?android:textAppearanceMedium"
+ />
+
+ </org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator>
+
+ <org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/code_animator"
+ android:inAnimation="@anim/fade_in"
+ android:outAnimation="@anim/fade_out"
+ android:layout_marginTop="15dp"
+ android:layout_marginBottom="15dp"
+ custom:initialView="0">
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ >
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_1"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="ABCDEF"
+ tools:ignore="SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_2"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="GHIJKL"
+ tools:ignore="SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_3"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="MNOPQR"
+ tools:ignore="SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_4"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:singleLine="true"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="STUVWX"
+ tools:ignore="SpUsage"
+ />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ >
+
+ <!--
+ The most reliable way to correctly size these I found was to put a transparent hint on them.
+ Theoretically, this should be what the android:ems attribute is for - didn't work for me.
+ -->
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_1"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="ABCDEF"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_2"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="ABCDEF"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_3"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="ABCDEF"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_4"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="16dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="ABCDEF"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ </LinearLayout>
+
+ </org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator>
+
+ <org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/status_animator"
+ android:inAnimation="@anim/fade_in_delayed"
+ android:outAnimation="@anim/fade_out"
+ custom:initialView="2">
+
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:layout_margin="10dp"
+ android:text="@string/btn_code_wrotedown"
+ android:padding="12dp"
+ android:id="@+id/button_backup_input"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ <Space
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:orientation="vertical">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_wrong"
+ style="?android:textAppearanceMedium"
+ />
+
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="10dp"
+ android:layout_gravity="center_horizontal"
+ android:padding="12dp"
+ android:text="@string/btn_backup_back"
+ android:drawableLeft="@drawable/ic_repeat_grey_24dp"
+ android:drawablePadding="8dp"
+ android:id="@+id/button_backup_back"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ style="?android:buttonBarStyle">
+
+ <Button
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_margin="10dp"
+ android:padding="12dp"
+ android:text="@string/btn_backup_share"
+ android:drawableLeft="@drawable/ic_share_grey_24dp"
+ android:drawablePadding="8dp"
+ android:id="@+id/button_backup_share"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ <Button
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_margin="10dp"
+ android:padding="12dp"
+ android:text="@string/btn_backup_save"
+ android:drawableLeft="@drawable/ic_save_grey_24dp"
+ android:drawablePadding="8dp"
+ android:id="@+id/button_backup_save"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ </LinearLayout>
+
+ </org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator>
+
+
+</LinearLayout>
diff --git a/OpenKeychain/src/main/res/layout-xhdpi/backup_code_fragment.xml b/OpenKeychain/src/main/res/layout-xhdpi/backup_code_fragment.xml
new file mode 100644
index 000000000..1ea976656
--- /dev/null
+++ b/OpenKeychain/src/main/res/layout-xhdpi/backup_code_fragment.xml
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ xmlns:custom="http://schemas.android.com/apk/res-auto"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:paddingTop="50dp">
+
+ <org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/title_animator"
+ android:inAnimation="@anim/fade_in"
+ android:outAnimation="@anim/fade_out"
+ custom:initialView="0">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="10dp"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_explanation"
+ style="?android:textAppearanceMedium"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="10dp"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_enter"
+ style="?android:textAppearanceMedium"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="10dp"
+ android:layout_gravity="center_horizontal"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_ok"
+ style="?android:textAppearanceMedium"
+ />
+
+ </org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator>
+
+ <org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/code_animator"
+ android:inAnimation="@anim/fade_in"
+ android:outAnimation="@anim/fade_out"
+ android:layout_marginTop="15dp"
+ android:layout_marginBottom="15dp"
+ custom:initialView="0">
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ >
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_1"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="ABCDEF"
+ tools:ignore="SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_2"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="GHIJKL"
+ tools:ignore="SpUsage" />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_3"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="MNOPQR"
+ tools:ignore="SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_display_4"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:singleLine="true"
+ style="@android:style/Widget.EditText"
+ android:clickable="false"
+ android:focusable="false"
+ tools:text="STUVWX"
+ tools:ignore="SpUsage"
+ />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ >
+
+ <!--
+ The most reliable way to correctly size these I found was to put a transparent hint on them.
+ Theoretically, this should be what the android:ems attribute is for - didn't work for me.
+ -->
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_1"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="ABCDEF"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_2"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="ABCDEF"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_3"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="ABCDEF"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:text="-"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ <EditText
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/backup_code_4"
+ android:textStyle="bold"
+ android:typeface="monospace"
+ android:textSize="18dp"
+ android:singleLine="true"
+ android:inputType="textNoSuggestions|textCapCharacters"
+ android:hint="ABCDEF"
+ android:textColorHint="@android:color/transparent"
+ android:maxLength="6"
+ tools:ignore="HardcodedText,SpUsage"
+ />
+
+ </LinearLayout>
+
+ </org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator>
+
+ <org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator
+ android:layout_height="wrap_content"
+ android:layout_width="match_parent"
+ android:layout_gravity="center_horizontal"
+ android:id="@+id/status_animator"
+ android:inAnimation="@anim/fade_in_delayed"
+ android:outAnimation="@anim/fade_out"
+ custom:initialView="2">
+
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:layout_margin="10dp"
+ android:text="@string/btn_code_wrotedown"
+ android:drawableLeft="@drawable/ic_mode_edit_grey_24dp"
+ android:drawablePadding="8dp"
+ android:padding="12dp"
+ android:id="@+id/button_backup_input"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ <Space
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ android:orientation="vertical">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:gravity="center_horizontal"
+ android:text="@string/backup_code_wrong"
+ style="?android:textAppearanceMedium"
+ />
+
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_margin="10dp"
+ android:layout_gravity="center_horizontal"
+ android:padding="12dp"
+ android:text="@string/btn_backup_back"
+ android:drawableLeft="@drawable/ic_repeat_grey_24dp"
+ android:drawablePadding="8dp"
+ android:id="@+id/button_backup_back"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_horizontal"
+ style="?android:buttonBarStyle">
+
+ <Button
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_margin="10dp"
+ android:padding="12dp"
+ android:text="@string/btn_backup_share"
+ android:drawableLeft="@drawable/ic_share_grey_24dp"
+ android:drawablePadding="8dp"
+ android:id="@+id/button_backup_share"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ <Button
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_margin="10dp"
+ android:padding="12dp"
+ android:text="@string/btn_backup_save"
+ android:drawableLeft="@drawable/ic_save_grey_24dp"
+ android:drawablePadding="8dp"
+ android:id="@+id/button_backup_save"
+ style="?android:buttonBarButtonStyle"
+ />
+
+ </LinearLayout>
+
+ </org.sufficientlysecure.keychain.ui.widget.ToolableViewAnimator>
+
+
+</LinearLayout>
diff --git a/OpenKeychain/src/main/res/layout/backup_activity.xml b/OpenKeychain/src/main/res/layout/backup_activity.xml
new file mode 100644
index 000000000..59ab6cbf2
--- /dev/null
+++ b/OpenKeychain/src/main/res/layout/backup_activity.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <include
+ android:id="@+id/toolbar_include"
+ layout="@layout/toolbar_standalone_white" />
+
+ <LinearLayout
+ android:layout_below="@id/toolbar_include"
+ android:orientation="vertical"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <include layout="@layout/notify_area" />
+
+ <FrameLayout
+ android:id="@+id/content_frame"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+ </FrameLayout>
+
+ </LinearLayout>
+</RelativeLayout> \ No newline at end of file
diff --git a/OpenKeychain/src/main/res/layout/decrypt_list_entry.xml b/OpenKeychain/src/main/res/layout/decrypt_list_entry.xml
index 7869b9a8a..4a79f0ccd 100644
--- a/OpenKeychain/src/main/res/layout/decrypt_list_entry.xml
+++ b/OpenKeychain/src/main/res/layout/decrypt_list_entry.xml
@@ -65,34 +65,35 @@
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingRight="4dp"
- android:paddingLeft="4dp"
+ android:layout_marginTop="4dp"
+ android:layout_marginBottom="4dp"
+ android:gravity="center_vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/result_encryption_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:padding="4dp"
android:src="@drawable/status_lock_open_24dp"
- android:layout_gravity="center_vertical" />
+ />
<TextView
android:id="@+id/result_encryption_text"
android:layout_width="0dp"
- android:layout_height="wrap_content"
android:layout_weight="1"
+ android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_marginLeft="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginBottom="8dp"
+ android:layout_marginLeft="6dp"
android:text=""
tools:text="Encryption status text" />
<ImageView
android:id="@+id/context_menu"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="4dp"
android:scaleType="center"
- android:layout_width="36dip"
- android:layout_height="48dip"
android:clickable="true"
android:background="?attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_more_vert_black_24dp" />
@@ -103,25 +104,25 @@
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingRight="4dp"
- android:paddingLeft="4dp"
+ android:layout_marginTop="4dp"
+ android:layout_marginBottom="4dp"
+ android:gravity="center_vertical"
tools:ignore="UseCompoundDrawables">
<ImageView
android:id="@+id/result_signature_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:padding="4dp"
android:src="@drawable/status_signature_unverified_cutout_24dp"
- android:layout_gravity="center_vertical" />
+ />
<TextView
android:id="@+id/result_signature_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
- android:layout_marginLeft="8dp"
- android:layout_marginTop="8dp"
- android:layout_marginBottom="8dp"
+ android:layout_marginLeft="6dp"
android:text=""
tools:text="Signature status text" />
</LinearLayout>
@@ -130,10 +131,11 @@
android:id="@+id/result_signature_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginTop="2dp"
+ android:layout_marginBottom="2dp"
android:clickable="true"
android:background="?android:selectableItemBackground"
android:orientation="horizontal"
- style="?listPreferredItemHeight"
>
<LinearLayout
diff --git a/OpenKeychain/src/main/res/layout/backup_fragment.xml b/OpenKeychain/src/main/res/layout/drawer_backup_fragment.xml
index 96fba954b..96fba954b 100644
--- a/OpenKeychain/src/main/res/layout/backup_fragment.xml
+++ b/OpenKeychain/src/main/res/layout/drawer_backup_fragment.xml
diff --git a/OpenKeychain/src/main/res/layout/import_keys_activity.xml b/OpenKeychain/src/main/res/layout/import_keys_activity.xml
index 28bb8a0b8..6602c4b8f 100644
--- a/OpenKeychain/src/main/res/layout/import_keys_activity.xml
+++ b/OpenKeychain/src/main/res/layout/import_keys_activity.xml
@@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ xmlns:tools="http://schemas.android.com/tools">
<include
android:id="@+id/toolbar_include"
@@ -21,16 +22,26 @@
<include layout="@layout/notify_area" />
- <FrameLayout
- android:id="@+id/import_keys_top_container"
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="64dp"
- android:orientation="vertical" />
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:id="@+id/import_keys_top_layout"
+ android:visibility="gone"
+ tools:visibility="visible">
- <View
- android:layout_width="match_parent"
- android:layout_height="1dip"
- android:background="?android:attr/listDivider" />
+ <FrameLayout
+ android:id="@+id/import_keys_top_container"
+ android:layout_width="match_parent"
+ android:layout_height="64dp"
+ android:orientation="vertical" />
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="1dip"
+ android:background="?android:attr/listDivider" />
+
+ </LinearLayout>
<FrameLayout
android:id="@+id/import_keys_list_container"
diff --git a/OpenKeychain/src/main/res/menu/key_view.xml b/OpenKeychain/src/main/res/menu/key_view.xml
index 1bda1463a..c0adfcd6f 100644
--- a/OpenKeychain/src/main/res/menu/key_view.xml
+++ b/OpenKeychain/src/main/res/menu/key_view.xml
@@ -16,7 +16,7 @@
android:title="@string/key_view_action_update" />
<item
- android:id="@+id/menu_key_view_export_file"
+ android:id="@+id/menu_key_view_backup"
app:showAsAction="never"
android:title="@string/menu_export_key" />
diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml
index 03493d697..8f86d5976 100644
--- a/OpenKeychain/src/main/res/values/strings.xml
+++ b/OpenKeychain/src/main/res/values/strings.xml
@@ -30,6 +30,7 @@
<string name="title_export_keys">"Backup Keys"</string>
<string name="title_key_not_found">"Key Not Found"</string>
<string name="title_send_key">"Upload to Keyserver"</string>
+ <string name="title_backup">"Backup Key"</string>
<string name="title_certify_key">"Confirm Key"</string>
<string name="title_key_details">"Key Details"</string>
<string name="title_help">"Help"</string>
@@ -107,7 +108,7 @@
<!-- menu -->
<string name="menu_preferences">"Settings"</string>
<string name="menu_help">"Help"</string>
- <string name="menu_export_key">"Backup to file"</string>
+ <string name="menu_export_key">"Backup key"</string>
<string name="menu_delete_key">"Delete key"</string>
<string name="menu_manage_keys">"Manage my keys"</string>
<string name="menu_search">"Search"</string>
@@ -1295,16 +1296,11 @@
<item quantity="one">"Exporting one key"</item>
<item quantity="other">"Exporting %d keys"</item>
</plurals>
- <string name="msg_export_file_name">"Filename: %s"</string>
<string name="msg_export_all">"Exporting all keys"</string>
<string name="msg_export_public">"Exporting public key %s"</string>
<string name="msg_export_upload_public">"Uploading public key %s"</string>
<string name="msg_export_secret">"Exporting secret key %s"</string>
- <string name="msg_export_error_no_file">"No filename specified!"</string>
- <string name="msg_export_error_fopen">"Error opening file!"</string>
- <string name="msg_export_error_no_uri">"No URI specified!"</string>
<string name="msg_export_error_uri_open">"Error opening URI stream!"</string>
- <string name="msg_export_error_storage">"Storage is not ready for writing!"</string>
<string name="msg_export_error_db">"Database error!"</string>
<string name="msg_export_error_io">"Input/output error!"</string>
<string name="msg_export_error_key">"Error preprocessing key data!"</string>
@@ -1555,6 +1551,7 @@
<string name="error_reading_k9">"Received incomplete data, try pressing 'Download complete message' in K-9 Mail!"</string>
<string name="filename_unknown">Unknown filename (click to open)</string>
<string name="filename_unknown_text">Text (click to show)</string>
+ <string name="filename_keys">"Key Backup (click to import)"</string>
<string name="intent_show">Show Signed/Encrypted Content</string>
<string name="intent_share">Share Signed/Encrypted Content</string>
<string name="view_internal">"View in OpenKeychain"</string>
@@ -1645,6 +1642,19 @@
<string name="linked_error_http">"Communication error: %s"</string>
<string name="linked_webview_title_github">"GitHub Authorization"</string>
<string name="linked_gist_description">"OpenKeychain API Tests"</string>
+ <string name="snack_btn_overwrite">"Overwrite"</string>
+ <string name="backup_code_explanation">"The backup will be secured with a backup code. Write it down before you proceed!"</string>
+ <string name="backup_code_enter">"Please enter the backup code:"</string>
+ <string name="backup_code_ok">"Code accepted!"</string>
+ <string name="btn_code_wrotedown">"OK, I wrote it down!"</string>
+ <string name="backup_code_wrong">"The backup code you entered is wrong!\nDid you write it down correctly?"</string>
+ <string name="btn_backup_share">"Share backup"</string>
+ <string name="btn_backup_save">"Save backup"</string>
+ <string name="snack_backup_error_saving">"Error saving backup!"</string>
+ <string name="snack_backup_saved">"Backup saved"</string>
+ <string name="snack_backup_exists">"Backup already exists!"</string>
+ <string name="snack_backup_saved_dir">"Saved to OpenKeychain directory"</string>
+ <string name="btn_backup_back">Go back to check</string>
<string name="share_log_dialog_title">"Share log?"</string>
<string name="share_log_dialog_message">"While logs can be super helpful for developers to find bugs in OpenKeychain, they can contain potential sensitive information such as data about the updated keys. Please make sure you are okay with sharing this information."</string>