Improved message in PasswordActivity

Fixed Android 2.3 bug
This commit is contained in:
Philipp Crocoll
2013-11-30 14:44:03 +01:00
parent f4f105757b
commit 4c4d466771
9 changed files with 330 additions and 205 deletions

View File

@@ -2,7 +2,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Dieser Code wurde von einem Tool generiert. // Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.18051 // Laufzeitversion:4.0.30319.34003
// //
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird. // der Code erneut generiert wird.

View File

@@ -4,7 +4,7 @@
<classpathentry kind="src" path="gen"/> <classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="con" path="com.google.gdt.eclipse.managedapis.MANAGED_API_CONTAINER/drive-v2r102lv1.16.0-rc"/> <classpathentry kind="con" path="com.google.gdt.eclipse.managedapis.MANAGED_API_CONTAINER/drive-v2r102lv1.16.0-rc"/>
<classpathentry exported="true" kind="lib" path="C:/Users/Philipp/AppData/Local/Android/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar"/> <classpathentry exported="true" kind="lib" path="C:/Users/Philipp/AppData/Local/Android/android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar"/>
<classpathentry kind="output" path="bin/classes"/> <classpathentry kind="output" path="bin/classes"/>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/> <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/> <classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="output" path="bin/classes"/> <classpathentry kind="output" path="bin/classes"/>
</classpath> </classpath>

View File

@@ -4,6 +4,6 @@
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/> <classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/> <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry kind="output" path="bin/classes"/> <classpathentry kind="output" path="bin/classes"/>
</classpath> </classpath>

View File

@@ -285,7 +285,9 @@ namespace keepass2android
{ {
if (_otpInfo == null) if (_otpInfo == null)
{ {
Toast.MakeText(this, GetString(Resource.String.CouldntLoadOtpAuxFile), ToastLength.Long).Show(); Toast.MakeText(this,
GetString(Resource.String.CouldntLoadOtpAuxFile) + " " + GetString(Resource.String.CouldntLoadOtpAuxFile_Hint)
, ToastLength.Long).Show();
return; return;
} }

View File

@@ -2,7 +2,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Dieser Code wurde von einem Tool generiert. // Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.18051 // Laufzeitversion:4.0.30319.34003
// //
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird. // der Code erneut generiert wird.
@@ -2343,8 +2343,8 @@ namespace keepass2android
// aapt resource value: 0x7f070039 // aapt resource value: 0x7f070039
public const int edit_query = 2131165241; public const int edit_query = 2131165241;
// aapt resource value: 0x7f0700fa // aapt resource value: 0x7f07010c
public const int enable_quickunlock = 2131165434; public const int enable_quickunlock = 2131165452;
// aapt resource value: 0x7f070016 // aapt resource value: 0x7f070016
public const int end = 2131165206; public const int end = 2131165206;
@@ -2565,8 +2565,8 @@ namespace keepass2android
// aapt resource value: 0x7f07008c // aapt resource value: 0x7f07008c
public const int imgoktfest = 2131165324; public const int imgoktfest = 2131165324;
// aapt resource value: 0x7f070100 // aapt resource value: 0x7f0700fd
public const int init_otp = 2131165440; public const int init_otp = 2131165437;
// aapt resource value: 0x7f0700e6 // aapt resource value: 0x7f0700e6
public const int insert_element = 2131165414; public const int insert_element = 2131165414;
@@ -2574,8 +2574,8 @@ namespace keepass2android
// aapt resource value: 0x7f0700f1 // aapt resource value: 0x7f0700f1
public const int keyboard = 2131165425; public const int keyboard = 2131165425;
// aapt resource value: 0x7f0700fd // aapt resource value: 0x7f0700f9
public const int keyfileLine = 2131165437; public const int keyfileLine = 2131165433;
// aapt resource value: 0x7f070087 // aapt resource value: 0x7f070087
public const int keyfile_filename = 2131165319; public const int keyfile_filename = 2131165319;
@@ -2583,8 +2583,8 @@ namespace keepass2android
// aapt resource value: 0x7f070085 // aapt resource value: 0x7f070085
public const int keyfile_title = 2131165317; public const int keyfile_title = 2131165317;
// aapt resource value: 0x7f0700f9 // aapt resource value: 0x7f07010b
public const int kill_app = 2131165433; public const int kill_app = 2131165451;
// aapt resource value: 0x7f0700cb // aapt resource value: 0x7f0700cb
public const int label_app_name = 2131165387; public const int label_app_name = 2131165387;
@@ -2694,56 +2694,56 @@ namespace keepass2android
// aapt resource value: 0x7f0700c6 // aapt resource value: 0x7f0700c6
public const int open = 2131165382; public const int open = 2131165382;
// aapt resource value: 0x7f070104 // aapt resource value: 0x7f070101
public const int otp1 = 2131165444; public const int otp1 = 2131165441;
// aapt resource value: 0x7f070105
public const int otp2 = 2131165445;
// aapt resource value: 0x7f070106
public const int otp3 = 2131165446;
// aapt resource value: 0x7f070107
public const int otp4 = 2131165447;
// aapt resource value: 0x7f070108
public const int otp5 = 2131165448;
// aapt resource value: 0x7f070109
public const int otp6 = 2131165449;
// aapt resource value: 0x7f070102 // aapt resource value: 0x7f070102
public const int otpEntry = 2131165442; public const int otp2 = 2131165442;
// aapt resource value: 0x7f0700ff
public const int otpInitView = 2131165439;
// aapt resource value: 0x7f07010a
public const int otpSecretLine = 2131165450;
// aapt resource value: 0x7f0700fe
public const int otpView = 2131165438;
// aapt resource value: 0x7f070103 // aapt resource value: 0x7f070103
public const int otp_expl = 2131165443; public const int otp3 = 2131165443;
// aapt resource value: 0x7f070101 // aapt resource value: 0x7f070104
public const int otps_pending = 2131165441; public const int otp4 = 2131165444;
// aapt resource value: 0x7f07010c // aapt resource value: 0x7f070105
public const int otpsecret_format_spinner = 2131165452; public const int otp5 = 2131165445;
// aapt resource value: 0x7f070106
public const int otp6 = 2131165446;
// aapt resource value: 0x7f0700ff
public const int otpEntry = 2131165439;
// aapt resource value: 0x7f0700fc
public const int otpInitView = 2131165436;
// aapt resource value: 0x7f070107
public const int otpSecretLine = 2131165447;
// aapt resource value: 0x7f0700fb
public const int otpView = 2131165435;
// aapt resource value: 0x7f070100
public const int otp_expl = 2131165440;
// aapt resource value: 0x7f0700fe
public const int otps_pending = 2131165438;
// aapt resource value: 0x7f070109
public const int otpsecret_format_spinner = 2131165449;
// aapt resource value: 0x7f070126 // aapt resource value: 0x7f070126
public const int pass_conf_password = 2131165478; public const int pass_conf_password = 2131165478;
// aapt resource value: 0x7f0700f7 // aapt resource value: 0x7f0700fa
public const int pass_keyfile = 2131165431; public const int pass_keyfile = 2131165434;
// aapt resource value: 0x7f0700f8 // aapt resource value: 0x7f07010a
public const int pass_ok = 2131165432; public const int pass_ok = 2131165450;
// aapt resource value: 0x7f07010b // aapt resource value: 0x7f070108
public const int pass_otpsecret = 2131165451; public const int pass_otpsecret = 2131165448;
// aapt resource value: 0x7f070125 // aapt resource value: 0x7f070125
public const int pass_password = 2131165477; public const int pass_password = 2131165477;
@@ -2751,14 +2751,14 @@ namespace keepass2android
// aapt resource value: 0x7f0700d3 // aapt resource value: 0x7f0700d3
public const int password = 2131165395; public const int password = 2131165395;
// aapt resource value: 0x7f0700fc // aapt resource value: 0x7f0700f8
public const int passwordLine = 2131165436; public const int passwordLine = 2131165432;
// aapt resource value: 0x7f0700f6 // aapt resource value: 0x7f0700f6
public const int password_label = 2131165430; public const int password_label = 2131165430;
// aapt resource value: 0x7f0700fb // aapt resource value: 0x7f0700f7
public const int password_mode_spinner = 2131165435; public const int password_mode_spinner = 2131165431;
// aapt resource value: 0x7f070080 // aapt resource value: 0x7f070080
public const int password_title = 2131165312; public const int password_title = 2131165312;
@@ -3338,47 +3338,47 @@ namespace keepass2android
// aapt resource value: 0x7f0801cb // aapt resource value: 0x7f0801cb
public const int CannotMoveGroupHere = 2131231179; public const int CannotMoveGroupHere = 2131231179;
// aapt resource value: 0x7f080205
public const int ChangeLog = 2131231237;
// aapt resource value: 0x7f080204 // aapt resource value: 0x7f080204
public const int ChangeLog = 2131231236; public const int ChangeLog_0_7 = 2131231236;
// aapt resource value: 0x7f080203
public const int ChangeLog_0_7 = 2131231235;
// aapt resource value: 0x7f080201
public const int ChangeLog_0_8 = 2131231233;
// aapt resource value: 0x7f080200
public const int ChangeLog_0_8_1 = 2131231232;
// aapt resource value: 0x7f0801ff
public const int ChangeLog_0_8_2 = 2131231231;
// aapt resource value: 0x7f0801fe
public const int ChangeLog_0_8_3 = 2131231230;
// aapt resource value: 0x7f0801fd
public const int ChangeLog_0_8_4 = 2131231229;
// aapt resource value: 0x7f0801fc
public const int ChangeLog_0_8_5 = 2131231228;
// aapt resource value: 0x7f0801fb
public const int ChangeLog_0_8_6 = 2131231227;
// aapt resource value: 0x7f0801fa
public const int ChangeLog_0_9 = 2131231226;
// aapt resource value: 0x7f0801f9
public const int ChangeLog_0_9_1 = 2131231225;
// aapt resource value: 0x7f0801f8
public const int ChangeLog_0_9_2 = 2131231224;
// aapt resource value: 0x7f080202 // aapt resource value: 0x7f080202
public const int ChangeLog_keptDonate = 2131231234; public const int ChangeLog_0_8 = 2131231234;
// aapt resource value: 0x7f0801f7 // aapt resource value: 0x7f080201
public const int ChangeLog_title = 2131231223; public const int ChangeLog_0_8_1 = 2131231233;
// aapt resource value: 0x7f080200
public const int ChangeLog_0_8_2 = 2131231232;
// aapt resource value: 0x7f0801ff
public const int ChangeLog_0_8_3 = 2131231231;
// aapt resource value: 0x7f0801fe
public const int ChangeLog_0_8_4 = 2131231230;
// aapt resource value: 0x7f0801fd
public const int ChangeLog_0_8_5 = 2131231229;
// aapt resource value: 0x7f0801fc
public const int ChangeLog_0_8_6 = 2131231228;
// aapt resource value: 0x7f0801fb
public const int ChangeLog_0_9 = 2131231227;
// aapt resource value: 0x7f0801fa
public const int ChangeLog_0_9_1 = 2131231226;
// aapt resource value: 0x7f0801f9
public const int ChangeLog_0_9_2 = 2131231225;
// aapt resource value: 0x7f080203
public const int ChangeLog_keptDonate = 2131231235;
// aapt resource value: 0x7f0801f8
public const int ChangeLog_title = 2131231224;
// aapt resource value: 0x7f080093 // aapt resource value: 0x7f080093
public const int CheckForFileChangesOnSave_key = 2131230867; public const int CheckForFileChangesOnSave_key = 2131230867;
@@ -3416,8 +3416,11 @@ namespace keepass2android
// aapt resource value: 0x7f0801ec // aapt resource value: 0x7f0801ec
public const int CouldntLoadOtpAuxFile = 2131231212; public const int CouldntLoadOtpAuxFile = 2131231212;
// aapt resource value: 0x7f0801f2 // aapt resource value: 0x7f0801ed
public const int CouldntParseOtpSecret = 2131231218; public const int CouldntLoadOtpAuxFile_Hint = 2131231213;
// aapt resource value: 0x7f0801f3
public const int CouldntParseOtpSecret = 2131231219;
// aapt resource value: 0x7f0800a1 // aapt resource value: 0x7f0800a1
public const int CreditsText = 2131230881; public const int CreditsText = 2131230881;
@@ -3437,8 +3440,8 @@ namespace keepass2android
// aapt resource value: 0x7f0801c9 // aapt resource value: 0x7f0801c9
public const int ErrorOcurred = 2131231177; public const int ErrorOcurred = 2131231177;
// aapt resource value: 0x7f0801f4 // aapt resource value: 0x7f0801f5
public const int ErrorUpdatingOtpAuxFile = 2131231220; public const int ErrorUpdatingOtpAuxFile = 2131231221;
// aapt resource value: 0x7f0800b9 // aapt resource value: 0x7f0800b9
public const int FileHandling_prefs = 2131230905; public const int FileHandling_prefs = 2131230905;
@@ -3494,8 +3497,8 @@ namespace keepass2android
// aapt resource value: 0x7f080191 // aapt resource value: 0x7f080191
public const int OpenKp2aKeyboardAutomatically_title = 2131231121; public const int OpenKp2aKeyboardAutomatically_title = 2131231121;
// aapt resource value: 0x7f0801f3 // aapt resource value: 0x7f0801f4
public const int OtpKeyError = 2131231219; public const int OtpKeyError = 2131231220;
// aapt resource value: 0x7f0801af // aapt resource value: 0x7f0801af
public const int ParsingDatabase = 2131231151; public const int ParsingDatabase = 2131231151;
@@ -3599,8 +3602,8 @@ namespace keepass2android
// aapt resource value: 0x7f080176 // aapt resource value: 0x7f080176
public const int SaveAttachment_doneMessage = 2131231094; public const int SaveAttachment_doneMessage = 2131231094;
// aapt resource value: 0x7f0801f5 // aapt resource value: 0x7f0801f6
public const int SavingOtpAuxFile = 2131231221; public const int SavingOtpAuxFile = 2131231222;
// aapt resource value: 0x7f0801ab // aapt resource value: 0x7f0801ab
public const int SettingPassword = 2131231147; public const int SettingPassword = 2131231147;
@@ -4490,8 +4493,8 @@ namespace keepass2android
// aapt resource value: 0x7f080105 // aapt resource value: 0x7f080105
public const int list_size_title = 2131230981; public const int list_size_title = 2131230981;
// aapt resource value: 0x7f0801f6 // aapt resource value: 0x7f0801f7
public const int loading = 2131231222; public const int loading = 2131231223;
// aapt resource value: 0x7f080107 // aapt resource value: 0x7f080107
public const int loading_database = 2131230983; public const int loading_database = 2131230983;
@@ -4625,14 +4628,14 @@ namespace keepass2android
// aapt resource value: 0x7f0801c8 // aapt resource value: 0x7f0801c8
public const int otp_aux_file = 2131231176; public const int otp_aux_file = 2131231176;
// aapt resource value: 0x7f0801ef // aapt resource value: 0x7f0801f0
public const int otp_discarded_because_db_open = 2131231215; public const int otp_discarded_because_db_open = 2131231216;
// aapt resource value: 0x7f0801ed
public const int otp_discarded_because_no_db = 2131231213;
// aapt resource value: 0x7f0801ee // aapt resource value: 0x7f0801ee
public const int otp_discarded_no_space = 2131231214; public const int otp_discarded_because_no_db = 2131231214;
// aapt resource value: 0x7f0801ef
public const int otp_discarded_no_space = 2131231215;
// aapt resource value: 0x7f0801ea // aapt resource value: 0x7f0801ea
public const int otp_explanation = 2131231210; public const int otp_explanation = 2131231210;
@@ -4640,11 +4643,11 @@ namespace keepass2android
// aapt resource value: 0x7f0801eb // aapt resource value: 0x7f0801eb
public const int otp_hint = 2131231211; public const int otp_hint = 2131231211;
// aapt resource value: 0x7f0801f0
public const int otps_pending = 2131231216;
// aapt resource value: 0x7f0801f1 // aapt resource value: 0x7f0801f1
public const int otpsecret_hint = 2131231217; public const int otps_pending = 2131231217;
// aapt resource value: 0x7f0801f2
public const int otpsecret_hint = 2131231218;
// aapt resource value: 0x7f080129 // aapt resource value: 0x7f080129
public const int pass_filename = 2131231017; public const int pass_filename = 2131231017;

View File

@@ -1,7 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView 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"
>
<LinearLayout
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent"> android:layout_height="match_parent"
android:layout_marginLeft="12dip"
android:layout_marginRight="12dip"
android:layout_marginBottom="12dip"
android:orientation="vertical"
>
<RelativeLayout <RelativeLayout
android:id="@+id/filename_group" android:id="@+id/filename_group"
android:layout_width="fill_parent" android:layout_width="fill_parent"
@@ -10,6 +20,7 @@
android:id="@+id/filename_label" android:id="@+id/filename_label"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
style="@style/TextAppearance_SmallHeading"
android:text="@string/pass_filename" /> android:text="@string/pass_filename" />
<ImageView <ImageView
android:id="@+id/divider1" android:id="@+id/divider1"
@@ -45,55 +56,163 @@
android:id="@+id/password_label" android:id="@+id/password_label"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/filename_group" android:layout_marginTop="20dip"
android:text="" /> android:text="@string/master_key_type" />
<Spinner
android:id="@+id/password_mode_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:entries="@array/password_modes"
/>
<LinearLayout
android:id="@+id/passwordLine"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:orientation="horizontal">
<EditText
android:id="@+id/password"
android:layout_width="0px"
android:layout_height="wrap_content"
android:singleLine="true"
android:inputType="textPassword"
android:layout_weight="1"
android:layout_gravity="bottom"
android:hint="@string/hint_login_pass" />
<ImageButton <ImageButton
android:id="@+id/toggle_password" android:id="@+id/toggle_password"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/ic_menu_view" android:src="@drawable/ic_menu_view" />
android:layout_below="@id/password_label" </LinearLayout>
android:layout_alignParentRight="true" /> <LinearLayout
<EditText android:id="@+id/keyfileLine"
android:id="@+id/password"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/password_label" android:baselineAligned="false"
android:orientation="horizontal">
<EditText
android:id="@+id/pass_keyfile"
android:layout_width="0px"
android:layout_height="wrap_content"
android:singleLine="true" android:singleLine="true"
android:inputType="textPassword" android:layout_weight="1"
android:layout_toLeftOf="@id/toggle_password" android:layout_gravity="bottom"
android:hint="@string/hint_login_pass" /> android:hint="@string/entry_keyfile" />
<ImageButton <ImageButton
android:id="@+id/browse_button" android:id="@+id/browse_button"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/ic_launcher_folder_small" android:src="@drawable/ic_launcher_folder_small" />
android:layout_below="@id/password" </LinearLayout>
android:layout_alignParentRight="true" /> <LinearLayout
<EditText android:id="@+id/otpView"
android:id="@+id/pass_keyfile" android:layout_marginLeft="12dip"
android:layout_marginRight="12dip"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/password" android:orientation="vertical"
android:layout_toLeftOf="@id/browse_button" >
<LinearLayout
android:id="@+id/otpInitView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<Button
android:id="@+id/init_otp"
android:text="@string/init_otp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/otps_pending"
android:text="@string/otps_pending"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:id="@+id/otpEntry"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone"
android:orientation="vertical"
>
<TextView
android:id="@+id/otp_expl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/otp_explanation" />
<EditText
android:id="@+id/otp1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="93317749"
android:singleLine="true" />
<EditText
android:id="@+id/otp2"
android:text="54719327"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true" />
<EditText
android:id="@+id/otp3"
android:text="49844651"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true" />
<EditText
android:id="@+id/otp4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true" />
<EditText
android:id="@+id/otp5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true" />
<EditText
android:id="@+id/otp6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/otpSecretLine"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/pass_otpsecret"
android:layout_width="0px"
android:layout_height="wrap_content"
android:singleLine="true" android:singleLine="true"
android:hint="@string/entry_keyfile" /> android:layout_weight="1"
android:hint="@string/otpsecret_hint" />
<Spinner
android:id="@+id/otpsecret_format_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<Button <Button
android:id="@+id/pass_ok" android:id="@+id/pass_ok"
android:text="@android:string/ok" android:text="@android:string/ok"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"/>
android:layout_below="@id/pass_keyfile" />
<Button <Button
android:id="@+id/kill_app" android:id="@+id/kill_app"
android:text="@string/kill_app_label" android:text="@string/kill_app_label"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content" />
android:layout_below="@id/pass_ok" />
<CheckBox <CheckBox
android:id="@+id/enable_quickunlock" android:id="@+id/enable_quickunlock"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_below="@id/kill_app"
android:text="@string/enable_quickunlock" /> android:text="@string/enable_quickunlock" />
</RelativeLayout> </LinearLayout>
</ScrollView>

View File

@@ -360,6 +360,7 @@
<string name="otp_explanation">Enter the next One-time-passwords (OTPs). Swipe your Yubikey NEO at the back of your device to enter via NFC.</string> <string name="otp_explanation">Enter the next One-time-passwords (OTPs). Swipe your Yubikey NEO at the back of your device to enter via NFC.</string>
<string name="otp_hint">OTP %1$d</string> <string name="otp_hint">OTP %1$d</string>
<string name="CouldntLoadOtpAuxFile">Could not load auxiliary OTP file!</string> <string name="CouldntLoadOtpAuxFile">Could not load auxiliary OTP file!</string>
<string name="CouldntLoadOtpAuxFile_Hint">Please use the OtpKeyProv plugin in KeePass 2.x (PC) to configure your database for use with OTPs!</string>
<string name="otp_discarded_because_no_db">Please select database first. OTP is discarded for security reasons.</string> <string name="otp_discarded_because_no_db">Please select database first. OTP is discarded for security reasons.</string>
<string name="otp_discarded_no_space">OTP discarded: All OTPs already entered!</string> <string name="otp_discarded_no_space">OTP discarded: All OTPs already entered!</string>
<string name="otp_discarded_because_db_open">Please close database first. OTP is discarded.</string> <string name="otp_discarded_because_db_open">Please close database first. OTP is discarded.</string>