Changes to UI to fix new problems with 2.3.
96
src/keepass2android/AttachmentContentProvider.cs
Normal file
@ -0,0 +1,96 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
using Android.App;
|
||||
using Android.Content;
|
||||
using Android.OS;
|
||||
using Android.Runtime;
|
||||
using Android.Views;
|
||||
using Android.Widget;
|
||||
using Android.Util;
|
||||
using Java.IO;
|
||||
using Android.Net;
|
||||
|
||||
namespace keepass2android
|
||||
{
|
||||
[ContentProvider(new string[]{"keepass2android.provider"})]
|
||||
public class AttachmentContentProvider : ContentProvider {
|
||||
|
||||
private const String CLASS_NAME = "AttachmentContentProvider";
|
||||
|
||||
// The authority is the symbolic name for the provider class
|
||||
public const String AUTHORITY = "keepass2android.provider";
|
||||
|
||||
|
||||
public override bool OnCreate() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public override ParcelFileDescriptor OpenFile(Android.Net.Uri uri, String mode)
|
||||
{
|
||||
|
||||
String LOG_TAG = CLASS_NAME + " - openFile";
|
||||
|
||||
Log.Verbose(LOG_TAG,
|
||||
"Called with uri: '" + uri + "'." + uri.LastPathSegment);
|
||||
|
||||
if (uri.ToString().StartsWith("content://" + AUTHORITY))
|
||||
{
|
||||
// The desired file name is specified by the last segment of the
|
||||
// path
|
||||
// E.g.
|
||||
// 'content://keepass2android.provider/Test.txt'
|
||||
// Take this and build the path to the file
|
||||
String fileLocation = Context.CacheDir + File.Separator
|
||||
+ uri.LastPathSegment;
|
||||
|
||||
// Create & return a ParcelFileDescriptor pointing to the file
|
||||
// Note: I don't care what mode they ask for - they're only getting
|
||||
// read only
|
||||
ParcelFileDescriptor pfd = ParcelFileDescriptor.Open(new File(
|
||||
fileLocation), ParcelFileMode.ReadOnly);
|
||||
return pfd;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
Log.Verbose(LOG_TAG, "Unsupported uri: '" + uri + "'.");
|
||||
throw new FileNotFoundException("Unsupported uri: "
|
||||
+ uri.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
// //////////////////////////////////////////////////////////////
|
||||
// Not supported / used / required for this example
|
||||
// //////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
public override int Update(Android.Net.Uri uri, ContentValues contentvalues, String s,
|
||||
String[] strings) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public override int Delete(Android.Net.Uri uri, String s, String[] strings) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
public override Android.Net.Uri Insert(Android.Net.Uri uri, ContentValues contentvalues) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public override String GetType(Android.Net.Uri uri) {
|
||||
return null;
|
||||
}
|
||||
|
||||
public override Android.Database.ICursor Query(Android.Net.Uri uri, string[] projection, string selection, string[] selectionArgs, string sortOrder)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -39,6 +39,7 @@ using KeePassLib.Security;
|
||||
using keepass2android.view;
|
||||
using Android.Webkit;
|
||||
using Android.Graphics;
|
||||
using Java.IO;
|
||||
|
||||
namespace keepass2android
|
||||
{
|
||||
@ -233,20 +234,26 @@ namespace keepass2android
|
||||
if (value != null)
|
||||
valueView.Text = value;
|
||||
valueView.Typeface = Typeface.Monospace;
|
||||
valueView.SetTextIsSelectable(true);
|
||||
|
||||
if ((int)Android.OS.Build.VERSION.SdkInt >= 11)
|
||||
valueView.SetTextIsSelectable(true);
|
||||
layout.AddView(valueView);
|
||||
return layout;
|
||||
}
|
||||
|
||||
string writeBinaryToFile(string key)
|
||||
Android.Net.Uri writeBinaryToFile(string key, bool writeToCacheDirectory)
|
||||
{
|
||||
ProtectedBinary pb = mEntry.Binaries.Get(key);
|
||||
System.Diagnostics.Debug.Assert(pb != null); if(pb == null) throw new ArgumentException();
|
||||
System.Diagnostics.Debug.Assert(pb != null);
|
||||
if (pb == null)
|
||||
throw new ArgumentException();
|
||||
|
||||
ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(this);
|
||||
string binaryDirectory = prefs.GetString(GetString(Resource.String.BinaryDirectory_key),GetString(Resource.String.BinaryDirectory_default));
|
||||
string binaryDirectory = prefs.GetString(GetString(Resource.String.BinaryDirectory_key), GetString(Resource.String.BinaryDirectory_default));
|
||||
if (writeToCacheDirectory)
|
||||
binaryDirectory = CacheDir.Path;
|
||||
|
||||
var targetFile = new Java.IO.File(binaryDirectory,key);
|
||||
var targetFile = new Java.IO.File(binaryDirectory, key);
|
||||
|
||||
Java.IO.File parent = targetFile.ParentFile;
|
||||
|
||||
@ -260,7 +267,7 @@ namespace keepass2android
|
||||
|
||||
if (! parent.Exists())
|
||||
{
|
||||
// Create parent dircetory
|
||||
// Create parent directory
|
||||
if (! parent.Mkdirs())
|
||||
{
|
||||
Toast.MakeText(this,
|
||||
@ -271,32 +278,42 @@ namespace keepass2android
|
||||
}
|
||||
}
|
||||
string filename = targetFile.AbsolutePath;
|
||||
Android.Net.Uri fileUri = Android.Net.Uri.FromFile(targetFile);
|
||||
|
||||
byte[] pbData = pb.ReadData();
|
||||
try { System.IO.File.WriteAllBytes(filename, pbData); }
|
||||
catch(Exception exWrite)
|
||||
try
|
||||
{
|
||||
System.IO.File.WriteAllBytes(filename, pbData);
|
||||
} catch (Exception exWrite)
|
||||
{
|
||||
Toast.MakeText(this, GetString(Resource.String.SaveAttachment_Failed, new Java.Lang.Object[]{ filename})
|
||||
+exWrite.Message,ToastLength.Long).Show();
|
||||
+ exWrite.Message, ToastLength.Long).Show();
|
||||
return null;
|
||||
}
|
||||
finally
|
||||
} finally
|
||||
{
|
||||
MemUtil.ZeroByteArray(pbData);
|
||||
}
|
||||
|
||||
return filename;
|
||||
Toast.MakeText(this, GetString(Resource.String.SaveAttachment_doneMessage, new Java.Lang.Object[]{filename}), ToastLength.Short).Show();
|
||||
if (writeToCacheDirectory)
|
||||
{
|
||||
return Android.Net.Uri.Parse("content://" + AttachmentContentProvider.AUTHORITY + "/"
|
||||
+ filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
return fileUri;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void openBinaryFile(string filename)
|
||||
void openBinaryFile(Android.Net.Uri uri)
|
||||
{
|
||||
String theMIMEType = getMimeType(filename);
|
||||
String theMIMEType = getMimeType(uri.Path);
|
||||
if (theMIMEType != null)
|
||||
{
|
||||
Intent theIntent = new Intent(Intent.ActionView);
|
||||
theIntent.AddFlags(ActivityFlags.NewTask | ActivityFlags.ExcludeFromRecents);
|
||||
theIntent.SetDataAndType(Android.Net.Uri.FromFile(new Java.IO.File(filename)), theMIMEType);
|
||||
theIntent.SetDataAndType(uri, theMIMEType);
|
||||
try
|
||||
{
|
||||
StartActivity(theIntent);
|
||||
@ -326,13 +343,29 @@ namespace keepass2android
|
||||
binaryButton.Click += (object sender, EventArgs e) =>
|
||||
{
|
||||
Button btnSender = (Button)(sender);
|
||||
string newFilename = writeBinaryToFile(btnSender.Text);
|
||||
|
||||
if (newFilename != null)
|
||||
{
|
||||
Toast.MakeText(this, GetString(Resource.String.SaveAttachment_doneMessage, new Java.Lang.Object[]{newFilename}), ToastLength.Short).Show();
|
||||
openBinaryFile(newFilename);
|
||||
}
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.SetTitle(GetString(Resource.String.SaveAttachmentDialog_title));
|
||||
|
||||
builder.SetMessage(GetString(Resource.String.SaveAttachmentDialog_text));
|
||||
|
||||
builder.SetPositiveButton(GetString(Resource.String.SaveAttachmentDialog_save), new EventHandler<DialogClickEventArgs>((dlgSender, dlgEvt) =>
|
||||
{
|
||||
writeBinaryToFile(btnSender.Text, false);
|
||||
}));
|
||||
|
||||
builder.SetNegativeButton(GetString(Resource.String.SaveAttachmentDialog_open), new EventHandler<DialogClickEventArgs>((dlgSender, dlgEvt) =>
|
||||
{
|
||||
Android.Net.Uri newUri = writeBinaryToFile(btnSender.Text, true);
|
||||
if (newUri != null)
|
||||
{
|
||||
openBinaryFile(newUri);
|
||||
}
|
||||
}));
|
||||
|
||||
Dialog dialog = builder.Create();
|
||||
dialog.Show();
|
||||
|
||||
|
||||
};
|
||||
binariesGroup.AddView(binaryButton,layoutParams);
|
||||
@ -370,7 +403,7 @@ namespace keepass2android
|
||||
button.Click += (object sender, EventArgs e) => {
|
||||
Finish(); };
|
||||
}
|
||||
if (ActionBar != null)
|
||||
if (Util.HasActionBar(this))
|
||||
{
|
||||
ActionBar.Title = mEntry.Strings.ReadSafe(PwDefs.TitleField);
|
||||
ActionBar.SetDisplayHomeAsUpEnabled(true);
|
||||
@ -497,7 +530,38 @@ namespace keepass2android
|
||||
password.TransformationMethod = PasswordTransformationMethod.Instance;
|
||||
}
|
||||
}
|
||||
protected override void OnResume()
|
||||
{
|
||||
ClearCache();
|
||||
base.OnResume();
|
||||
}
|
||||
|
||||
public void ClearCache() {
|
||||
try {
|
||||
File dir = CacheDir;
|
||||
if (dir != null && dir.IsDirectory) {
|
||||
deleteDir(dir);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public static bool deleteDir(File dir) {
|
||||
if (dir != null && dir.IsDirectory) {
|
||||
String[] children = dir.List();
|
||||
for (int i = 0; i < children.Length; i++) {
|
||||
bool success = deleteDir(new File(dir, children[i]));
|
||||
if (!success) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// The directory is now empty so delete it
|
||||
return dir.Delete();
|
||||
}
|
||||
|
||||
public override bool OnOptionsItemSelected(IMenuItem item) {
|
||||
switch ( item.ItemId ) {
|
||||
case Resource.Id.menu_donate:
|
||||
|
@ -221,7 +221,7 @@ namespace keepass2android
|
||||
View save = FindViewById(Resource.Id.entry_save);
|
||||
if (save == null)
|
||||
{
|
||||
|
||||
//save is not part of layout for API >= 14 -> use action bar
|
||||
ActionBar.SetCustomView(Resource.Layout.SaveButton);
|
||||
ActionBar.SetDisplayShowCustomEnabled(true);
|
||||
ActionBar.SetDisplayShowTitleEnabled(false);
|
||||
@ -434,16 +434,11 @@ namespace keepass2android
|
||||
TextView valueView = (TextView)view.FindViewById(Resource.Id.value);
|
||||
String value = valueView.Text;
|
||||
|
||||
CheckBox cb = (CheckBox)view.FindViewById(Resource.Id.protection);
|
||||
|
||||
|
||||
bool protect = true;
|
||||
ProtectedString initialString = State.mEntryInDatabase.Strings.Get(key);
|
||||
if (initialString != null)
|
||||
protect = initialString.IsProtected;
|
||||
if (cb != null) //Checkbox removed for ICS (for clarity)
|
||||
{
|
||||
protect = cb.Checked;
|
||||
}
|
||||
entry.Strings.Set(key, new ProtectedString(protect, value));
|
||||
}
|
||||
|
||||
@ -787,15 +782,6 @@ namespace keepass2android
|
||||
((TextView)ees.FindViewById(Resource.Id.value)).Text = pair.Value.ReadString();
|
||||
((TextView)ees.FindViewById(Resource.Id.value)).TextChanged += (sender, e) => State.mEntryModified = true;
|
||||
ees.FindViewById(Resource.Id.delete).Click += (sender, e) => deleteAdvancedString((View)sender);
|
||||
CheckBox cb = (CheckBox)ees.FindViewById(Resource.Id.protection);
|
||||
if (cb != null)
|
||||
{
|
||||
cb.Checked = pair.Value.IsProtected;
|
||||
cb.CheckedChange += (sender, e) =>
|
||||
{
|
||||
State.mEntryModified = true;
|
||||
};
|
||||
}
|
||||
return ees;
|
||||
}
|
||||
|
||||
|
@ -149,7 +149,7 @@ namespace keepass2android
|
||||
}
|
||||
}
|
||||
//ICS?
|
||||
if (ActionBar != null)
|
||||
if (Util.HasActionBar(this))
|
||||
{
|
||||
ActionBar.Title = titleText;
|
||||
if (clickable)
|
||||
@ -164,7 +164,7 @@ namespace keepass2android
|
||||
ImageView iv = (ImageView) FindViewById(Resource.Id.icon);
|
||||
if (iv != null)
|
||||
iv.SetImageDrawable(drawable);
|
||||
if (ActionBar != null)
|
||||
if (Util.HasActionBar(this))
|
||||
ActionBar.SetIcon(drawable);
|
||||
}
|
||||
}
|
||||
|
@ -87,6 +87,7 @@ namespace keepass2android
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.SetTitle(GetString(Resource.String.ChangeLog_title));
|
||||
String[] changeLog = {
|
||||
GetString(Resource.String.ChangeLog_0_8),
|
||||
GetString(Resource.String.ChangeLog_0_7),
|
||||
GetString(Resource.String.ChangeLog)
|
||||
};
|
||||
|
691
src/keepass2android/Resources/Resource.designer.cs
generated
@ -492,26 +492,26 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c000a
|
||||
public const int Credit = 2131492874;
|
||||
|
||||
// aapt resource value: 0x7f0c0071
|
||||
public const int IconGridView = 2131492977;
|
||||
|
||||
// aapt resource value: 0x7f0c0081
|
||||
public const int QuickUnlock_button = 2131492993;
|
||||
|
||||
// aapt resource value: 0x7f0c0082
|
||||
public const int QuickUnlock_buttonLock = 2131492994;
|
||||
// aapt resource value: 0x7f0c006f
|
||||
public const int IconGridView = 2131492975;
|
||||
|
||||
// aapt resource value: 0x7f0c007f
|
||||
public const int QuickUnlock_label = 2131492991;
|
||||
public const int QuickUnlock_button = 2131492991;
|
||||
|
||||
// aapt resource value: 0x7f0c0080
|
||||
public const int QuickUnlock_password = 2131492992;
|
||||
public const int QuickUnlock_buttonLock = 2131492992;
|
||||
|
||||
// aapt resource value: 0x7f0c0055
|
||||
public const int RelativeLayout = 2131492949;
|
||||
// aapt resource value: 0x7f0c007d
|
||||
public const int QuickUnlock_label = 2131492989;
|
||||
|
||||
// aapt resource value: 0x7f0c0054
|
||||
public const int ScrollView = 2131492948;
|
||||
// aapt resource value: 0x7f0c007e
|
||||
public const int QuickUnlock_password = 2131492990;
|
||||
|
||||
// aapt resource value: 0x7f0c0053
|
||||
public const int RelativeLayout = 2131492947;
|
||||
|
||||
// aapt resource value: 0x7f0c0052
|
||||
public const int ScrollView = 2131492946;
|
||||
|
||||
// aapt resource value: 0x7f0c0009
|
||||
public const int about_button = 2131492873;
|
||||
@ -519,17 +519,17 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c0000
|
||||
public const int about_title = 2131492864;
|
||||
|
||||
// aapt resource value: 0x7f0c0052
|
||||
public const int accept_button = 2131492946;
|
||||
// aapt resource value: 0x7f0c0050
|
||||
public const int accept_button = 2131492944;
|
||||
|
||||
// aapt resource value: 0x7f0c0024
|
||||
public const int add_advanced = 2131492900;
|
||||
|
||||
// aapt resource value: 0x7f0c0067
|
||||
public const int add_entry = 2131492967;
|
||||
|
||||
// aapt resource value: 0x7f0c0066
|
||||
public const int add_group = 2131492966;
|
||||
public const int add_entry = 2131492966;
|
||||
|
||||
// aapt resource value: 0x7f0c0065
|
||||
public const int add_group = 2131492965;
|
||||
|
||||
// aapt resource value: 0x7f0c0023
|
||||
public const int advanced_container = 2131492899;
|
||||
@ -537,104 +537,104 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c0026
|
||||
public const int binaries = 2131492902;
|
||||
|
||||
// aapt resource value: 0x7f0c0036
|
||||
public const int bottom_bar = 2131492918;
|
||||
// aapt resource value: 0x7f0c0034
|
||||
public const int bottom_bar = 2131492916;
|
||||
|
||||
// aapt resource value: 0x7f0c0050
|
||||
public const int bottom_layout = 2131492944;
|
||||
// aapt resource value: 0x7f0c004e
|
||||
public const int bottom_layout = 2131492942;
|
||||
|
||||
// aapt resource value: 0x7f0c004b
|
||||
public const int browse_button = 2131492939;
|
||||
// aapt resource value: 0x7f0c0049
|
||||
public const int browse_button = 2131492937;
|
||||
|
||||
// aapt resource value: 0x7f0c0058
|
||||
public const int btn_length12 = 2131492952;
|
||||
|
||||
// aapt resource value: 0x7f0c0057
|
||||
public const int btn_length16 = 2131492951;
|
||||
|
||||
// aapt resource value: 0x7f0c005a
|
||||
public const int btn_length12 = 2131492954;
|
||||
public const int btn_length6 = 2131492954;
|
||||
|
||||
// aapt resource value: 0x7f0c0059
|
||||
public const int btn_length16 = 2131492953;
|
||||
|
||||
// aapt resource value: 0x7f0c005c
|
||||
public const int btn_length6 = 2131492956;
|
||||
|
||||
// aapt resource value: 0x7f0c005b
|
||||
public const int btn_length8 = 2131492955;
|
||||
public const int btn_length8 = 2131492953;
|
||||
|
||||
// aapt resource value: 0x7f0c000e
|
||||
public const int cancel = 2131492878;
|
||||
|
||||
// aapt resource value: 0x7f0c0053
|
||||
public const int cancel_button = 2131492947;
|
||||
|
||||
// aapt resource value: 0x7f0c0092
|
||||
public const int cbCaseSensitive = 2131493010;
|
||||
|
||||
// aapt resource value: 0x7f0c0093
|
||||
public const int cbExcludeExpiredEntries = 2131493011;
|
||||
|
||||
// aapt resource value: 0x7f0c0088
|
||||
public const int cbRegEx = 2131493000;
|
||||
|
||||
// aapt resource value: 0x7f0c0091
|
||||
public const int cbSearchInGroupName = 2131493009;
|
||||
|
||||
// aapt resource value: 0x7f0c008e
|
||||
public const int cbSearchInNotes = 2131493006;
|
||||
|
||||
// aapt resource value: 0x7f0c008f
|
||||
public const int cbSearchInOtherStrings = 2131493007;
|
||||
|
||||
// aapt resource value: 0x7f0c008d
|
||||
public const int cbSearchInPassword = 2131493005;
|
||||
// aapt resource value: 0x7f0c0051
|
||||
public const int cancel_button = 2131492945;
|
||||
|
||||
// aapt resource value: 0x7f0c0090
|
||||
public const int cbSearchInTags = 2131493008;
|
||||
public const int cbCaseSensitive = 2131493008;
|
||||
|
||||
// aapt resource value: 0x7f0c008a
|
||||
public const int cbSearchInTitle = 2131493002;
|
||||
// aapt resource value: 0x7f0c0091
|
||||
public const int cbExcludeExpiredEntries = 2131493009;
|
||||
|
||||
// aapt resource value: 0x7f0c008b
|
||||
public const int cbSearchInUrl = 2131493003;
|
||||
// aapt resource value: 0x7f0c0086
|
||||
public const int cbRegEx = 2131492998;
|
||||
|
||||
// aapt resource value: 0x7f0c008f
|
||||
public const int cbSearchInGroupName = 2131493007;
|
||||
|
||||
// aapt resource value: 0x7f0c008c
|
||||
public const int cbSearchInUsername = 2131493004;
|
||||
public const int cbSearchInNotes = 2131493004;
|
||||
|
||||
// aapt resource value: 0x7f0c0065
|
||||
public const int cb_brackets = 2131492965;
|
||||
// aapt resource value: 0x7f0c008d
|
||||
public const int cbSearchInOtherStrings = 2131493005;
|
||||
|
||||
// aapt resource value: 0x7f0c0060
|
||||
public const int cb_digits = 2131492960;
|
||||
// aapt resource value: 0x7f0c008b
|
||||
public const int cbSearchInPassword = 2131493003;
|
||||
|
||||
// aapt resource value: 0x7f0c005f
|
||||
public const int cb_lowercase = 2131492959;
|
||||
// aapt resource value: 0x7f0c008e
|
||||
public const int cbSearchInTags = 2131493006;
|
||||
|
||||
// aapt resource value: 0x7f0c0061
|
||||
public const int cb_minus = 2131492961;
|
||||
// aapt resource value: 0x7f0c0088
|
||||
public const int cbSearchInTitle = 2131493000;
|
||||
|
||||
// aapt resource value: 0x7f0c0089
|
||||
public const int cbSearchInUrl = 2131493001;
|
||||
|
||||
// aapt resource value: 0x7f0c008a
|
||||
public const int cbSearchInUsername = 2131493002;
|
||||
|
||||
// aapt resource value: 0x7f0c0063
|
||||
public const int cb_space = 2131492963;
|
||||
|
||||
// aapt resource value: 0x7f0c0064
|
||||
public const int cb_specials = 2131492964;
|
||||
|
||||
// aapt resource value: 0x7f0c0062
|
||||
public const int cb_underline = 2131492962;
|
||||
public const int cb_brackets = 2131492963;
|
||||
|
||||
// aapt resource value: 0x7f0c005e
|
||||
public const int cb_uppercase = 2131492958;
|
||||
public const int cb_digits = 2131492958;
|
||||
|
||||
// aapt resource value: 0x7f0c004e
|
||||
public const int create = 2131492942;
|
||||
// aapt resource value: 0x7f0c005d
|
||||
public const int cb_lowercase = 2131492957;
|
||||
|
||||
// aapt resource value: 0x7f0c0098
|
||||
public const int cred_password = 2131493016;
|
||||
// aapt resource value: 0x7f0c005f
|
||||
public const int cb_minus = 2131492959;
|
||||
|
||||
// aapt resource value: 0x7f0c0099
|
||||
public const int cred_remember_mode = 2131493017;
|
||||
// aapt resource value: 0x7f0c0061
|
||||
public const int cb_space = 2131492961;
|
||||
|
||||
// aapt resource value: 0x7f0c0062
|
||||
public const int cb_specials = 2131492962;
|
||||
|
||||
// aapt resource value: 0x7f0c0060
|
||||
public const int cb_underline = 2131492960;
|
||||
|
||||
// aapt resource value: 0x7f0c005c
|
||||
public const int cb_uppercase = 2131492956;
|
||||
|
||||
// aapt resource value: 0x7f0c004c
|
||||
public const int create = 2131492940;
|
||||
|
||||
// aapt resource value: 0x7f0c0096
|
||||
public const int cred_password = 2131493014;
|
||||
|
||||
// aapt resource value: 0x7f0c0097
|
||||
public const int cred_username = 2131493015;
|
||||
public const int cred_remember_mode = 2131493015;
|
||||
|
||||
// aapt resource value: 0x7f0c007a
|
||||
public const int default_database = 2131492986;
|
||||
// aapt resource value: 0x7f0c0095
|
||||
public const int cred_username = 2131493013;
|
||||
|
||||
// aapt resource value: 0x7f0c0078
|
||||
public const int default_database = 2131492984;
|
||||
|
||||
// aapt resource value: 0x7f0c0030
|
||||
public const int delete = 2131492912;
|
||||
@ -651,17 +651,14 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c0007
|
||||
public const int divider3 = 2131492871;
|
||||
|
||||
// aapt resource value: 0x7f0c0032
|
||||
public const int divider_comment = 2131492914;
|
||||
// aapt resource value: 0x7f0c0079
|
||||
public const int enable_quickunlock = 2131492985;
|
||||
|
||||
// aapt resource value: 0x7f0c007b
|
||||
public const int enable_quickunlock = 2131492987;
|
||||
// aapt resource value: 0x7f0c0040
|
||||
public const int entry_accessed = 2131492928;
|
||||
|
||||
// aapt resource value: 0x7f0c0042
|
||||
public const int entry_accessed = 2131492930;
|
||||
|
||||
// aapt resource value: 0x7f0c0041
|
||||
public const int entry_accessed_label = 2131492929;
|
||||
// aapt resource value: 0x7f0c003f
|
||||
public const int entry_accessed_label = 2131492927;
|
||||
|
||||
// aapt resource value: 0x7f0c0025
|
||||
public const int entry_binaries_label = 2131492901;
|
||||
@ -678,20 +675,20 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c001e
|
||||
public const int entry_confpassword_label = 2131492894;
|
||||
|
||||
// aapt resource value: 0x7f0c0039
|
||||
public const int entry_contents = 2131492921;
|
||||
|
||||
// aapt resource value: 0x7f0c003e
|
||||
public const int entry_created = 2131492926;
|
||||
|
||||
// aapt resource value: 0x7f0c003d
|
||||
public const int entry_created_label = 2131492925;
|
||||
|
||||
// aapt resource value: 0x7f0c0038
|
||||
public const int entry_divider2 = 2131492920;
|
||||
|
||||
// aapt resource value: 0x7f0c0037
|
||||
public const int entry_edit = 2131492919;
|
||||
public const int entry_contents = 2131492919;
|
||||
|
||||
// aapt resource value: 0x7f0c003c
|
||||
public const int entry_created = 2131492924;
|
||||
|
||||
// aapt resource value: 0x7f0c003b
|
||||
public const int entry_created_label = 2131492923;
|
||||
|
||||
// aapt resource value: 0x7f0c0036
|
||||
public const int entry_divider2 = 2131492918;
|
||||
|
||||
// aapt resource value: 0x7f0c0035
|
||||
public const int entry_edit = 2131492917;
|
||||
|
||||
// aapt resource value: 0x7f0c002d
|
||||
public const int entry_expires = 2131492909;
|
||||
@ -705,14 +702,14 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c0022
|
||||
public const int entry_extra_strings_label = 2131492898;
|
||||
|
||||
// aapt resource value: 0x7f0c0033
|
||||
public const int entry_icon = 2131492915;
|
||||
// aapt resource value: 0x7f0c0031
|
||||
public const int entry_icon = 2131492913;
|
||||
|
||||
// aapt resource value: 0x7f0c0040
|
||||
public const int entry_modified = 2131492928;
|
||||
// aapt resource value: 0x7f0c003e
|
||||
public const int entry_modified = 2131492926;
|
||||
|
||||
// aapt resource value: 0x7f0c003f
|
||||
public const int entry_modified_label = 2131492927;
|
||||
// aapt resource value: 0x7f0c003d
|
||||
public const int entry_modified_label = 2131492925;
|
||||
|
||||
// aapt resource value: 0x7f0c002a
|
||||
public const int entry_override_url = 2131492906;
|
||||
@ -735,8 +732,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c0013
|
||||
public const int entry_scroll = 2131492883;
|
||||
|
||||
// aapt resource value: 0x7f0c003b
|
||||
public const int entry_table = 2131492923;
|
||||
// aapt resource value: 0x7f0c0039
|
||||
public const int entry_table = 2131492921;
|
||||
|
||||
// aapt resource value: 0x7f0c0028
|
||||
public const int entry_tags = 2131492904;
|
||||
@ -744,8 +741,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c0027
|
||||
public const int entry_tags_label = 2131492903;
|
||||
|
||||
// aapt resource value: 0x7f0c0034
|
||||
public const int entry_text = 2131492916;
|
||||
// aapt resource value: 0x7f0c0032
|
||||
public const int entry_text = 2131492914;
|
||||
|
||||
// aapt resource value: 0x7f0c0016
|
||||
public const int entry_title = 2131492886;
|
||||
@ -765,71 +762,71 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c0017
|
||||
public const int entry_user_name_label = 2131492887;
|
||||
|
||||
// aapt resource value: 0x7f0c003c
|
||||
public const int extra_strings = 2131492924;
|
||||
// aapt resource value: 0x7f0c003a
|
||||
public const int extra_strings = 2131492922;
|
||||
|
||||
// aapt resource value: 0x7f0c0006
|
||||
public const int feedback = 2131492870;
|
||||
|
||||
// aapt resource value: 0x7f0c0043
|
||||
public const int file_filename = 2131492931;
|
||||
// aapt resource value: 0x7f0c0041
|
||||
public const int file_filename = 2131492929;
|
||||
|
||||
// aapt resource value: 0x7f0c0044
|
||||
public const int file_listtop = 2131492932;
|
||||
|
||||
// aapt resource value: 0x7f0c0051
|
||||
public const int file_select = 2131492945;
|
||||
|
||||
// aapt resource value: 0x7f0c0075
|
||||
public const int filename = 2131492981;
|
||||
|
||||
// aapt resource value: 0x7f0c0049
|
||||
public const int filename_form = 2131492937;
|
||||
|
||||
// aapt resource value: 0x7f0c0073
|
||||
public const int filename_label = 2131492979;
|
||||
|
||||
// aapt resource value: 0x7f0c0074
|
||||
public const int filenamescroll = 2131492980;
|
||||
// aapt resource value: 0x7f0c0042
|
||||
public const int file_listtop = 2131492930;
|
||||
|
||||
// aapt resource value: 0x7f0c004f
|
||||
public const int fnv_cancel = 2131492943;
|
||||
public const int file_select = 2131492943;
|
||||
|
||||
// aapt resource value: 0x7f0c0073
|
||||
public const int filename = 2131492979;
|
||||
|
||||
// aapt resource value: 0x7f0c0047
|
||||
public const int filename_form = 2131492935;
|
||||
|
||||
// aapt resource value: 0x7f0c0071
|
||||
public const int filename_label = 2131492977;
|
||||
|
||||
// aapt resource value: 0x7f0c0072
|
||||
public const int filenamescroll = 2131492978;
|
||||
|
||||
// aapt resource value: 0x7f0c004d
|
||||
public const int fnv_cancel = 2131492941;
|
||||
|
||||
// aapt resource value: 0x7f0c001c
|
||||
public const int generate_button = 2131492892;
|
||||
|
||||
// aapt resource value: 0x7f0c0057
|
||||
public const int generate_password_button = 2131492951;
|
||||
// aapt resource value: 0x7f0c0055
|
||||
public const int generate_password_button = 2131492949;
|
||||
|
||||
// aapt resource value: 0x7f0c0064
|
||||
public const int group_header = 2131492964;
|
||||
|
||||
// aapt resource value: 0x7f0c006a
|
||||
public const int group_header = 2131492970;
|
||||
public const int group_icon = 2131492970;
|
||||
|
||||
// aapt resource value: 0x7f0c006c
|
||||
public const int group_icon = 2131492972;
|
||||
public const int group_label = 2131492972;
|
||||
|
||||
// aapt resource value: 0x7f0c006e
|
||||
public const int group_label = 2131492974;
|
||||
// aapt resource value: 0x7f0c0067
|
||||
public const int group_name = 2131492967;
|
||||
|
||||
// aapt resource value: 0x7f0c0068
|
||||
public const int group_name = 2131492968;
|
||||
|
||||
// aapt resource value: 0x7f0c006d
|
||||
public const int group_text = 2131492973;
|
||||
// aapt resource value: 0x7f0c006b
|
||||
public const int group_text = 2131492971;
|
||||
|
||||
// aapt resource value: 0x7f0c0005
|
||||
public const int homepage = 2131492869;
|
||||
|
||||
// aapt resource value: 0x7f0c006b
|
||||
public const int icon = 2131492971;
|
||||
// aapt resource value: 0x7f0c0069
|
||||
public const int icon = 2131492969;
|
||||
|
||||
// aapt resource value: 0x7f0c0015
|
||||
public const int icon_button = 2131492885;
|
||||
|
||||
// aapt resource value: 0x7f0c006f
|
||||
public const int icon_image = 2131492975;
|
||||
// aapt resource value: 0x7f0c006d
|
||||
public const int icon_image = 2131492973;
|
||||
|
||||
// aapt resource value: 0x7f0c0070
|
||||
public const int icon_text = 2131492976;
|
||||
// aapt resource value: 0x7f0c006e
|
||||
public const int icon_text = 2131492974;
|
||||
|
||||
// aapt resource value: 0x7f0c000c
|
||||
public const int install_market = 2131492876;
|
||||
@ -837,101 +834,98 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c000d
|
||||
public const int install_web = 2131492877;
|
||||
|
||||
// aapt resource value: 0x7f0c0072
|
||||
public const int keyboard = 2131492978;
|
||||
// aapt resource value: 0x7f0c0070
|
||||
public const int keyboard = 2131492976;
|
||||
|
||||
// aapt resource value: 0x7f0c007d
|
||||
public const int keyfileLine = 2131492989;
|
||||
// aapt resource value: 0x7f0c007b
|
||||
public const int keyfileLine = 2131492987;
|
||||
|
||||
// aapt resource value: 0x7f0c0048
|
||||
public const int label_open_by_filename = 2131492936;
|
||||
|
||||
// aapt resource value: 0x7f0c004a
|
||||
public const int label_open_by_filename = 2131492938;
|
||||
public const int label_open_by_filename_details = 2131492938;
|
||||
|
||||
// aapt resource value: 0x7f0c004c
|
||||
public const int label_open_by_filename_details = 2131492940;
|
||||
// aapt resource value: 0x7f0c0043
|
||||
public const int label_warning = 2131492931;
|
||||
|
||||
// aapt resource value: 0x7f0c0045
|
||||
public const int label_warning = 2131492933;
|
||||
|
||||
// aapt resource value: 0x7f0c005d
|
||||
public const int length = 2131492957;
|
||||
|
||||
// aapt resource value: 0x7f0c0058
|
||||
public const int length_label = 2131492952;
|
||||
|
||||
// aapt resource value: 0x7f0c0087
|
||||
public const int linearLayout1 = 2131492999;
|
||||
|
||||
// aapt resource value: 0x7f0c00a3
|
||||
public const int menu_about = 2131493027;
|
||||
|
||||
// aapt resource value: 0x7f0c00a2
|
||||
public const int menu_app_settings = 2131493026;
|
||||
|
||||
// aapt resource value: 0x7f0c00a1
|
||||
public const int menu_cancel_edit = 2131493025;
|
||||
|
||||
// aapt resource value: 0x7f0c00a5
|
||||
public const int menu_change_master_key = 2131493029;
|
||||
|
||||
// aapt resource value: 0x7f0c009a
|
||||
public const int menu_donate = 2131493018;
|
||||
|
||||
// aapt resource value: 0x7f0c009c
|
||||
public const int menu_goto_url = 2131493020;
|
||||
|
||||
// aapt resource value: 0x7f0c009d
|
||||
public const int menu_lock = 2131493021;
|
||||
|
||||
// aapt resource value: 0x7f0c009f
|
||||
public const int menu_rate = 2131493023;
|
||||
|
||||
// aapt resource value: 0x7f0c00a4
|
||||
public const int menu_search = 2131493028;
|
||||
|
||||
// aapt resource value: 0x7f0c00a6
|
||||
public const int menu_sort = 2131493030;
|
||||
|
||||
// aapt resource value: 0x7f0c009e
|
||||
public const int menu_suggest_improvements = 2131493022;
|
||||
|
||||
// aapt resource value: 0x7f0c009b
|
||||
public const int menu_toggle_pass = 2131493019;
|
||||
|
||||
// aapt resource value: 0x7f0c00a0
|
||||
public const int menu_translate = 2131493024;
|
||||
|
||||
// aapt resource value: 0x7f0c0069
|
||||
public const int ok = 2131492969;
|
||||
|
||||
// aapt resource value: 0x7f0c004d
|
||||
public const int open = 2131492941;
|
||||
|
||||
// aapt resource value: 0x7f0c0095
|
||||
public const int pass_conf_password = 2131493013;
|
||||
|
||||
// aapt resource value: 0x7f0c0078
|
||||
public const int pass_keyfile = 2131492984;
|
||||
|
||||
// aapt resource value: 0x7f0c0079
|
||||
public const int pass_ok = 2131492985;
|
||||
|
||||
// aapt resource value: 0x7f0c0094
|
||||
public const int pass_password = 2131493012;
|
||||
// aapt resource value: 0x7f0c005b
|
||||
public const int length = 2131492955;
|
||||
|
||||
// aapt resource value: 0x7f0c0056
|
||||
public const int password = 2131492950;
|
||||
public const int length_label = 2131492950;
|
||||
|
||||
// aapt resource value: 0x7f0c007c
|
||||
public const int passwordLine = 2131492988;
|
||||
// aapt resource value: 0x7f0c0085
|
||||
public const int linearLayout1 = 2131492997;
|
||||
|
||||
// aapt resource value: 0x7f0c00a1
|
||||
public const int menu_about = 2131493025;
|
||||
|
||||
// aapt resource value: 0x7f0c00a0
|
||||
public const int menu_app_settings = 2131493024;
|
||||
|
||||
// aapt resource value: 0x7f0c009f
|
||||
public const int menu_cancel_edit = 2131493023;
|
||||
|
||||
// aapt resource value: 0x7f0c00a3
|
||||
public const int menu_change_master_key = 2131493027;
|
||||
|
||||
// aapt resource value: 0x7f0c0098
|
||||
public const int menu_donate = 2131493016;
|
||||
|
||||
// aapt resource value: 0x7f0c009a
|
||||
public const int menu_goto_url = 2131493018;
|
||||
|
||||
// aapt resource value: 0x7f0c009b
|
||||
public const int menu_lock = 2131493019;
|
||||
|
||||
// aapt resource value: 0x7f0c009d
|
||||
public const int menu_rate = 2131493021;
|
||||
|
||||
// aapt resource value: 0x7f0c00a2
|
||||
public const int menu_search = 2131493026;
|
||||
|
||||
// aapt resource value: 0x7f0c00a4
|
||||
public const int menu_sort = 2131493028;
|
||||
|
||||
// aapt resource value: 0x7f0c009c
|
||||
public const int menu_suggest_improvements = 2131493020;
|
||||
|
||||
// aapt resource value: 0x7f0c0099
|
||||
public const int menu_toggle_pass = 2131493017;
|
||||
|
||||
// aapt resource value: 0x7f0c009e
|
||||
public const int menu_translate = 2131493022;
|
||||
|
||||
// aapt resource value: 0x7f0c0068
|
||||
public const int ok = 2131492968;
|
||||
|
||||
// aapt resource value: 0x7f0c004b
|
||||
public const int open = 2131492939;
|
||||
|
||||
// aapt resource value: 0x7f0c0093
|
||||
public const int pass_conf_password = 2131493011;
|
||||
|
||||
// aapt resource value: 0x7f0c0076
|
||||
public const int password_label = 2131492982;
|
||||
public const int pass_keyfile = 2131492982;
|
||||
|
||||
// aapt resource value: 0x7f0c002f
|
||||
public const int protection = 2131492911;
|
||||
// aapt resource value: 0x7f0c0077
|
||||
public const int pass_ok = 2131492983;
|
||||
|
||||
// aapt resource value: 0x7f0c007e
|
||||
public const int qu_filename = 2131492990;
|
||||
// aapt resource value: 0x7f0c0092
|
||||
public const int pass_password = 2131493010;
|
||||
|
||||
// aapt resource value: 0x7f0c0054
|
||||
public const int password = 2131492948;
|
||||
|
||||
// aapt resource value: 0x7f0c007a
|
||||
public const int passwordLine = 2131492986;
|
||||
|
||||
// aapt resource value: 0x7f0c0074
|
||||
public const int password_label = 2131492980;
|
||||
|
||||
// aapt resource value: 0x7f0c007c
|
||||
public const int qu_filename = 2131492988;
|
||||
|
||||
// aapt resource value: 0x7f0c000f
|
||||
public const int rounds = 2131492879;
|
||||
@ -939,32 +933,32 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c0010
|
||||
public const int rounds_explaination = 2131492880;
|
||||
|
||||
// aapt resource value: 0x7f0c0086
|
||||
public const int scrollView1 = 2131492998;
|
||||
|
||||
// aapt resource value: 0x7f0c0085
|
||||
public const int searchEditText = 2131492997;
|
||||
|
||||
// aapt resource value: 0x7f0c0084
|
||||
public const int search_button = 2131492996;
|
||||
|
||||
// aapt resource value: 0x7f0c0089
|
||||
public const int search_in_label = 2131493001;
|
||||
public const int scrollView1 = 2131492996;
|
||||
|
||||
// aapt resource value: 0x7f0c0083
|
||||
public const int search_label = 2131492995;
|
||||
public const int searchEditText = 2131492995;
|
||||
|
||||
// aapt resource value: 0x7f0c0048
|
||||
public const int start_create = 2131492936;
|
||||
// aapt resource value: 0x7f0c0082
|
||||
public const int search_button = 2131492994;
|
||||
|
||||
// aapt resource value: 0x7f0c0096
|
||||
public const int start_create_import = 2131493014;
|
||||
// aapt resource value: 0x7f0c0087
|
||||
public const int search_in_label = 2131492999;
|
||||
|
||||
// aapt resource value: 0x7f0c0081
|
||||
public const int search_label = 2131492993;
|
||||
|
||||
// aapt resource value: 0x7f0c0046
|
||||
public const int start_open_file = 2131492934;
|
||||
public const int start_create = 2131492934;
|
||||
|
||||
// aapt resource value: 0x7f0c0047
|
||||
public const int start_open_url = 2131492935;
|
||||
// aapt resource value: 0x7f0c0094
|
||||
public const int start_create_import = 2131493012;
|
||||
|
||||
// aapt resource value: 0x7f0c0044
|
||||
public const int start_open_file = 2131492932;
|
||||
|
||||
// aapt resource value: 0x7f0c0045
|
||||
public const int start_open_url = 2131492933;
|
||||
|
||||
// aapt resource value: 0x7f0c000b
|
||||
public const int text = 2131492875;
|
||||
@ -972,17 +966,17 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0c002e
|
||||
public const int title = 2131492910;
|
||||
|
||||
// aapt resource value: 0x7f0c0035
|
||||
public const int title_block = 2131492917;
|
||||
// aapt resource value: 0x7f0c0033
|
||||
public const int title_block = 2131492915;
|
||||
|
||||
// aapt resource value: 0x7f0c0077
|
||||
public const int toggle_password = 2131492983;
|
||||
// aapt resource value: 0x7f0c0075
|
||||
public const int toggle_password = 2131492981;
|
||||
|
||||
// aapt resource value: 0x7f0c003a
|
||||
public const int top = 2131492922;
|
||||
// aapt resource value: 0x7f0c0038
|
||||
public const int top = 2131492920;
|
||||
|
||||
// aapt resource value: 0x7f0c0031
|
||||
public const int value = 2131492913;
|
||||
// aapt resource value: 0x7f0c002f
|
||||
public const int value = 2131492911;
|
||||
|
||||
// aapt resource value: 0x7f0c0003
|
||||
public const int version = 2131492867;
|
||||
@ -1137,41 +1131,41 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f070030
|
||||
public const int AboutText = 2131165232;
|
||||
|
||||
// aapt resource value: 0x7f070106
|
||||
public const int AskDeletePermanentlyEntry = 2131165446;
|
||||
|
||||
// aapt resource value: 0x7f070107
|
||||
public const int AskDeletePermanentlyGroup = 2131165447;
|
||||
|
||||
// aapt resource value: 0x7f070108
|
||||
public const int AskDeletePermanently_title = 2131165448;
|
||||
// aapt resource value: 0x7f07010a
|
||||
public const int AskDeletePermanentlyEntry = 2131165450;
|
||||
|
||||
// aapt resource value: 0x7f07010b
|
||||
public const int AskDiscardChanges = 2131165451;
|
||||
public const int AskDeletePermanentlyGroup = 2131165451;
|
||||
|
||||
// aapt resource value: 0x7f07010c
|
||||
public const int AskDiscardChanges_title = 2131165452;
|
||||
public const int AskDeletePermanently_title = 2131165452;
|
||||
|
||||
// aapt resource value: 0x7f070100
|
||||
public const int AskOverwriteBinary = 2131165440;
|
||||
// aapt resource value: 0x7f07010f
|
||||
public const int AskDiscardChanges = 2131165455;
|
||||
|
||||
// aapt resource value: 0x7f070103
|
||||
public const int AskOverwriteBinary_no = 2131165443;
|
||||
|
||||
// aapt resource value: 0x7f070101
|
||||
public const int AskOverwriteBinary_title = 2131165441;
|
||||
|
||||
// aapt resource value: 0x7f070102
|
||||
public const int AskOverwriteBinary_yes = 2131165442;
|
||||
|
||||
// aapt resource value: 0x7f07010a
|
||||
public const int AskReloadFile = 2131165450;
|
||||
|
||||
// aapt resource value: 0x7f070109
|
||||
public const int AskReloadFile_title = 2131165449;
|
||||
// aapt resource value: 0x7f070110
|
||||
public const int AskDiscardChanges_title = 2131165456;
|
||||
|
||||
// aapt resource value: 0x7f070104
|
||||
public const int AttachFailed = 2131165444;
|
||||
public const int AskOverwriteBinary = 2131165444;
|
||||
|
||||
// aapt resource value: 0x7f070107
|
||||
public const int AskOverwriteBinary_no = 2131165447;
|
||||
|
||||
// aapt resource value: 0x7f070105
|
||||
public const int AskOverwriteBinary_title = 2131165445;
|
||||
|
||||
// aapt resource value: 0x7f070106
|
||||
public const int AskOverwriteBinary_yes = 2131165446;
|
||||
|
||||
// aapt resource value: 0x7f07010e
|
||||
public const int AskReloadFile = 2131165454;
|
||||
|
||||
// aapt resource value: 0x7f07010d
|
||||
public const int AskReloadFile_title = 2131165453;
|
||||
|
||||
// aapt resource value: 0x7f070108
|
||||
public const int AttachFailed = 2131165448;
|
||||
|
||||
// aapt resource value: 0x7f070020
|
||||
public const int BinaryDirectory_default = 2131165216;
|
||||
@ -1185,14 +1179,17 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0700ed
|
||||
public const int BinaryDirectory_title = 2131165421;
|
||||
|
||||
// aapt resource value: 0x7f070112
|
||||
public const int ChangeLog = 2131165458;
|
||||
// aapt resource value: 0x7f070117
|
||||
public const int ChangeLog = 2131165463;
|
||||
|
||||
// aapt resource value: 0x7f070111
|
||||
public const int ChangeLog_0_7 = 2131165457;
|
||||
// aapt resource value: 0x7f070116
|
||||
public const int ChangeLog_0_7 = 2131165462;
|
||||
|
||||
// aapt resource value: 0x7f070110
|
||||
public const int ChangeLog_title = 2131165456;
|
||||
// aapt resource value: 0x7f070115
|
||||
public const int ChangeLog_0_8 = 2131165461;
|
||||
|
||||
// aapt resource value: 0x7f070114
|
||||
public const int ChangeLog_title = 2131165460;
|
||||
|
||||
// aapt resource value: 0x7f070044
|
||||
public const int ClearClipboard = 2131165252;
|
||||
@ -1251,26 +1248,38 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0700e7
|
||||
public const int QuickUnlock_lockButton = 2131165415;
|
||||
|
||||
// aapt resource value: 0x7f070105
|
||||
public const int RecycleBin = 2131165445;
|
||||
// aapt resource value: 0x7f070109
|
||||
public const int RecycleBin = 2131165449;
|
||||
|
||||
// aapt resource value: 0x7f0700f2
|
||||
public const int SaveAttachmentDialog_open = 2131165426;
|
||||
|
||||
// aapt resource value: 0x7f0700f1
|
||||
public const int SaveAttachmentDialog_save = 2131165425;
|
||||
|
||||
// aapt resource value: 0x7f0700f0
|
||||
public const int SaveAttachment_Failed = 2131165424;
|
||||
public const int SaveAttachmentDialog_text = 2131165424;
|
||||
|
||||
// aapt resource value: 0x7f0700ef
|
||||
public const int SaveAttachment_doneMessage = 2131165423;
|
||||
public const int SaveAttachmentDialog_title = 2131165423;
|
||||
|
||||
// aapt resource value: 0x7f0700fd
|
||||
public const int ShowCopyToClipboardNotification_summary = 2131165437;
|
||||
// aapt resource value: 0x7f0700f4
|
||||
public const int SaveAttachment_Failed = 2131165428;
|
||||
|
||||
// aapt resource value: 0x7f0700fc
|
||||
public const int ShowCopyToClipboardNotification_title = 2131165436;
|
||||
// aapt resource value: 0x7f0700f3
|
||||
public const int SaveAttachment_doneMessage = 2131165427;
|
||||
|
||||
// aapt resource value: 0x7f0700ff
|
||||
public const int ShowKp2aKeyboardNotification_summary = 2131165439;
|
||||
// aapt resource value: 0x7f070101
|
||||
public const int ShowCopyToClipboardNotification_summary = 2131165441;
|
||||
|
||||
// aapt resource value: 0x7f0700fe
|
||||
public const int ShowKp2aKeyboardNotification_title = 2131165438;
|
||||
// aapt resource value: 0x7f070100
|
||||
public const int ShowCopyToClipboardNotification_title = 2131165440;
|
||||
|
||||
// aapt resource value: 0x7f070103
|
||||
public const int ShowKp2aKeyboardNotification_summary = 2131165443;
|
||||
|
||||
// aapt resource value: 0x7f070102
|
||||
public const int ShowKp2aKeyboardNotification_title = 2131165442;
|
||||
|
||||
// aapt resource value: 0x7f070028
|
||||
public const int SuggestionsURL = 2131165224;
|
||||
@ -1293,11 +1302,11 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f070026
|
||||
public const int UseFileTransactions_key = 2131165222;
|
||||
|
||||
// aapt resource value: 0x7f0700fb
|
||||
public const int UseFileTransactions_summary = 2131165435;
|
||||
// aapt resource value: 0x7f0700ff
|
||||
public const int UseFileTransactions_summary = 2131165439;
|
||||
|
||||
// aapt resource value: 0x7f0700fa
|
||||
public const int UseFileTransactions_title = 2131165434;
|
||||
// aapt resource value: 0x7f0700fe
|
||||
public const int UseFileTransactions_title = 2131165438;
|
||||
|
||||
// aapt resource value: 0x7f07002b
|
||||
public const int UseKp2aKeyboard_key = 2131165227;
|
||||
@ -1311,14 +1320,14 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f070032
|
||||
public const int accept = 2131165234;
|
||||
|
||||
// aapt resource value: 0x7f0700f6
|
||||
public const int add_binary = 2131165430;
|
||||
// aapt resource value: 0x7f0700fa
|
||||
public const int add_binary = 2131165434;
|
||||
|
||||
// aapt resource value: 0x7f070033
|
||||
public const int add_entry = 2131165235;
|
||||
|
||||
// aapt resource value: 0x7f0700f7
|
||||
public const int add_extra_string = 2131165431;
|
||||
// aapt resource value: 0x7f0700fb
|
||||
public const int add_extra_string = 2131165435;
|
||||
|
||||
// aapt resource value: 0x7f070034
|
||||
public const int add_group = 2131165236;
|
||||
@ -1401,8 +1410,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f07004c
|
||||
public const int creating_db_key = 2131165260;
|
||||
|
||||
// aapt resource value: 0x7f0700f9
|
||||
public const int credentials_dialog_title = 2131165433;
|
||||
// aapt resource value: 0x7f0700fd
|
||||
public const int credentials_dialog_title = 2131165437;
|
||||
|
||||
// aapt resource value: 0x7f07004d
|
||||
public const int current_group = 2131165261;
|
||||
@ -1413,8 +1422,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f07004f
|
||||
public const int database = 2131165263;
|
||||
|
||||
// aapt resource value: 0x7f0700f8
|
||||
public const int database_loaded_quickunlock_enabled = 2131165432;
|
||||
// aapt resource value: 0x7f0700fc
|
||||
public const int database_loaded_quickunlock_enabled = 2131165436;
|
||||
|
||||
// aapt resource value: 0x7f0700c4
|
||||
public const int database_name = 2131165380;
|
||||
@ -1551,8 +1560,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f070072
|
||||
public const int error_invalid_db = 2131165298;
|
||||
|
||||
// aapt resource value: 0x7f0700f1
|
||||
public const int error_invalid_expiry_date = 2131165425;
|
||||
// aapt resource value: 0x7f0700f5
|
||||
public const int error_invalid_expiry_date = 2131165429;
|
||||
|
||||
// aapt resource value: 0x7f070073
|
||||
public const int error_invalid_path = 2131165299;
|
||||
@ -1578,8 +1587,8 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f07007a
|
||||
public const int error_rounds_too_large = 2131165306;
|
||||
|
||||
// aapt resource value: 0x7f0700f2
|
||||
public const int error_string_key = 2131165426;
|
||||
// aapt resource value: 0x7f0700f6
|
||||
public const int error_string_key = 2131165430;
|
||||
|
||||
// aapt resource value: 0x7f07007b
|
||||
public const int error_title_required = 2131165307;
|
||||
@ -1590,11 +1599,11 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0700db
|
||||
public const int excludeExpiredEntries = 2131165403;
|
||||
|
||||
// aapt resource value: 0x7f0700f3
|
||||
public const int field_name = 2131165427;
|
||||
// aapt resource value: 0x7f0700f7
|
||||
public const int field_name = 2131165431;
|
||||
|
||||
// aapt resource value: 0x7f0700f4
|
||||
public const int field_value = 2131165428;
|
||||
// aapt resource value: 0x7f0700f8
|
||||
public const int field_value = 2131165432;
|
||||
|
||||
// aapt resource value: 0x7f07007e
|
||||
public const int file_browser = 2131165310;
|
||||
@ -1833,11 +1842,11 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0700bb
|
||||
public const int progress_title = 2131165371;
|
||||
|
||||
// aapt resource value: 0x7f0700f5
|
||||
public const int protection = 2131165429;
|
||||
// aapt resource value: 0x7f0700f9
|
||||
public const int protection = 2131165433;
|
||||
|
||||
// aapt resource value: 0x7f07010e
|
||||
public const int rate_app = 2131165454;
|
||||
// aapt resource value: 0x7f070112
|
||||
public const int rate_app = 2131165458;
|
||||
|
||||
// aapt resource value: 0x7f0700d7
|
||||
public const int regular_expression = 2131165399;
|
||||
@ -1923,14 +1932,14 @@ namespace keepass2android
|
||||
// aapt resource value: 0x7f0700e0
|
||||
public const int start_open_url = 2131165408;
|
||||
|
||||
// aapt resource value: 0x7f07010d
|
||||
public const int suggest_improvements = 2131165453;
|
||||
// aapt resource value: 0x7f070111
|
||||
public const int suggest_improvements = 2131165457;
|
||||
|
||||
// aapt resource value: 0x7f07001b
|
||||
public const int timeout_key = 2131165211;
|
||||
|
||||
// aapt resource value: 0x7f07010f
|
||||
public const int translate_app = 2131165455;
|
||||
// aapt resource value: 0x7f070113
|
||||
public const int translate_app = 2131165459;
|
||||
|
||||
// aapt resource value: 0x7f0700d0
|
||||
public const int twofish = 2131165392;
|
||||
|
BIN
src/keepass2android/Resources/drawable-v11/ic_launcher_gray.png
Normal file
After Width: | Height: | Size: 959 B |
Before Width: | Height: | Size: 785 B After Width: | Height: | Size: 877 B |
Before Width: | Height: | Size: 846 B After Width: | Height: | Size: 713 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 959 B After Width: | Height: | Size: 1.0 KiB |
@ -6,14 +6,12 @@
|
||||
android:text="@string/start_open_file"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/GreenButton"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:id="@+id/start_open_file" />
|
||||
<Button
|
||||
android:text="@string/start_open_url"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/BlueButton"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_below="@id/start_open_file"
|
||||
android:id="@+id/start_open_url" />
|
||||
@ -21,7 +19,6 @@
|
||||
android:text="@string/start_create"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/YellowButton"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_below="@id/start_open_url"
|
||||
android:id="@+id/start_create" />
|
||||
@ -29,7 +26,6 @@
|
||||
android:text="@string/start_create_import"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/RedButton"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_below="@id/start_create"
|
||||
android:id="@+id/start_create_import" />
|
||||
|
@ -1,40 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:paddingTop="1dip"
|
||||
android:gravity="center_vertical"
|
||||
android:layout_height="wrap_content">
|
||||
<EditText
|
||||
android:id="@+id/title"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:inputType="text"
|
||||
android:hint="@string/field_name" />
|
||||
<CheckBox
|
||||
android:id="@+id/protection"
|
||||
android:layout_width="wrap_content"
|
||||
android:hint="@string/field_name"
|
||||
style="@style/TextAppearance_EditEntry_Value"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/title"
|
||||
android:text="@string/protection" />
|
||||
<ImageButton
|
||||
android:id="@+id/delete"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_below="@id/title"
|
||||
android:src="@android:drawable/ic_delete"
|
||||
android:scaleType="centerCrop" />
|
||||
android:layout_weight="2"
|
||||
android:gravity="top|left"
|
||||
android:layout_marginRight="0dip" />
|
||||
<EditText
|
||||
android:id="@+id/value"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/delete"
|
||||
android:hint="@string/field_value"
|
||||
android:inputType="textMultiLine"
|
||||
android:hint="@string/field_value" />
|
||||
<ImageView
|
||||
android:id="@+id/divider_comment"
|
||||
android:layout_width="fill_parent"
|
||||
style="@style/TextAppearance_EditEntry_Value"
|
||||
android:layout_width="0dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/value"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@android:drawable/divider_horizontal_dark" />
|
||||
android:layout_weight="3"
|
||||
android:gravity="top|left"
|
||||
android:layout_marginRight="0dip" />
|
||||
<ImageButton
|
||||
android:id="@+id/delete"
|
||||
style="@style/MinusButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical" />
|
||||
</LinearLayout>
|
@ -45,7 +45,6 @@
|
||||
android:text="@string/menu_edit"
|
||||
android:layout_width="fill_parent"
|
||||
android:drawableLeft="@android:drawable/ic_menu_edit"
|
||||
android:background="@drawable/GreenButton"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentBottom="true" />
|
||||
|
@ -2,6 +2,10 @@
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent">
|
||||
<keepass2android.view.GroupHeaderView
|
||||
android:id="@+id/group_header"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
<LinearLayout
|
||||
android:id="@+id/bottom_bar"
|
||||
android:layout_alignParentBottom="true"
|
||||
@ -16,8 +20,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:text="@string/add_group"
|
||||
android:drawableLeft="@drawable/btn_new_group_dark"
|
||||
android:background="@drawable/GreenButton" />
|
||||
android:drawableLeft="@drawable/btn_new_group"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/add_entry"
|
||||
android:layout_width="0px"
|
||||
@ -26,8 +30,8 @@
|
||||
android:layout_toRightOf="@id/add_group"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:text="@string/add_entry"
|
||||
android:drawableLeft="@drawable/device_access_new_account_dark"
|
||||
android:background="@drawable/GreenButton" />
|
||||
android:drawableLeft="@drawable/device_access_new_account"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<ImageView
|
||||
android:id="@+id/divider2"
|
||||
@ -41,5 +45,6 @@
|
||||
android:id="@android:id/list"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_above="@id/divider2" />
|
||||
android:layout_above="@id/divider2"
|
||||
android:layout_below="@id/group_header" />
|
||||
</RelativeLayout>
|
@ -76,10 +76,9 @@
|
||||
<Button
|
||||
android:id="@+id/pass_ok"
|
||||
android:text="@android:string/ok"
|
||||
android:layout_width="100sp"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/pass_keyfile"
|
||||
android:background="@drawable/GreenButton" />
|
||||
android:layout_below="@id/pass_keyfile" />
|
||||
<CheckBox
|
||||
android:id="@+id/default_database"
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -27,5 +27,6 @@
|
||||
<color name="emphasis">#31b6e7</color>
|
||||
<color name="emphasis2">#4f7a8a</color>
|
||||
<color name="bg_gray">#cecbce</color>
|
||||
<color name="light_gray">#a8a8a8</color>
|
||||
|
||||
</resources>
|
||||
|
@ -194,6 +194,11 @@
|
||||
<string name="QuickUnlock_fail">QuickUnlock failed: incorrect password!</string>
|
||||
<string name="BinaryDirectory_title">File attachments directory</string>
|
||||
<string name="BinaryDirectory_summary">Directory where file attachments are saved to.</string>
|
||||
<string name="SaveAttachmentDialog_title">Save attachment</string>
|
||||
<string name="SaveAttachmentDialog_text">Please select where to save the attachment.</string>
|
||||
<string name="SaveAttachmentDialog_save">Save to SD card</string>
|
||||
<string name="SaveAttachmentDialog_open">Save to cache and open</string>
|
||||
|
||||
<string name="SaveAttachment_doneMessage">Saved file to %1$s.</string>
|
||||
<string name="SaveAttachment_Failed">Could not save attachment to %1$s.</string>
|
||||
<string name="error_invalid_expiry_date">Invalid date/time format for expiry date!</string>
|
||||
@ -229,7 +234,14 @@
|
||||
<string name="rate_app">Rate this app</string>
|
||||
<string name="translate_app">Translate KP2A</string>
|
||||
<string name="ChangeLog_title">Change log</string>
|
||||
<string name="ChangeLog_0_7"><b>Version 0.7</b>\n
|
||||
<string name="ChangeLog_0_8"><b>Version 0.8</b>\n
|
||||
* Improved user interface especially for Android 4.x devices\n
|
||||
* Allow using deliberate file managers for selecting existing files\n
|
||||
* Added safer way for opening attachments (through cache directory)\n
|
||||
* fixed bugs in Edit activity\n
|
||||
* probably introduced new bugs :-)
|
||||
</string>
|
||||
<string name="ChangeLog_0_7"><b>Version 0.7</b>\n
|
||||
* Increased loading speed: key transformations now 10x faster!\n
|
||||
* Added Keepass2Android soft-keyboard: Switch to this keyboard for entering credentials. Shields you from clipboard-based password sniffers (disable old clipboard notifications in the options)\n
|
||||
* Added option to donate a beer or something else (see menu)</string>
|
||||
|
@ -22,42 +22,82 @@
|
||||
<style name="NoTitleBar" parent="android:Theme.NoTitleBar"></style>
|
||||
<style name="Dialog" parent="android:Theme.Dialog"></style>
|
||||
<style name="GroupTextSmall" parent="android:Theme">
|
||||
<item name="@android:textColor">@color/group</item>
|
||||
<item name="@android:textSize">15sp</item>
|
||||
</style>
|
||||
<style name="GroupText" parent="android:Theme">
|
||||
<item name="@android:textColor">@color/group</item>
|
||||
<item name="@android:textSize">20sp</item>
|
||||
</style>
|
||||
<style name="GroupTextLarge" parent="android:Theme">
|
||||
|
||||
<item name="@android:textColor">@color/group</item>
|
||||
<item name="@android:textSize">28sp</item>
|
||||
</style>
|
||||
<style name="ElementTextSmall">
|
||||
<item name="@android:textSize">15sp</item>
|
||||
</style>
|
||||
<style name="ElementText">
|
||||
<item name="@android:textSize">20sp</item>
|
||||
</style>
|
||||
<style name="ElementTextLarge">
|
||||
<item name="@android:textSize">28sp</item>
|
||||
</style>
|
||||
<style name="GroupLabel">
|
||||
<item name="@android:textSize">20sp</item>
|
||||
</style>
|
||||
<style name="WhiteOnBlack">
|
||||
<item name="@android:background">#666666</item>
|
||||
<item name="@android:textColor">@android:color/primary_text_dark</item>
|
||||
<item name="@android:textSize">20sp</item>
|
||||
</style>
|
||||
<style name="GroupAndEntryHeader">
|
||||
<item name="@android:background">#202020</item>
|
||||
<item name="@android:textColor">#ffffff</item>
|
||||
<item name="@android:textSize">20sp</item>
|
||||
</style>
|
||||
<style name="WhiteOnBlackSmall" parent="WhiteOnBlack">
|
||||
<item name="@android:textSize">12sp</item>
|
||||
</style>
|
||||
<style name="WhiteOnDarkSmall" parent="WhiteOnBlack">
|
||||
<item name="@android:textSize">12sp</item>
|
||||
<item name="@android:background">#222222</item>
|
||||
</style>
|
||||
<style name="EntryFieldHeader" parent="WhiteOnDarkSmall">
|
||||
<item name="@android:textSize">12sp</item>
|
||||
</style>
|
||||
<style name="ElementTextTitle" parent="WhiteOnBlack">
|
||||
<item name="@android:textColor">@color/group</item>
|
||||
<item name="@android:background">@android:color/transparent</item>
|
||||
</style>
|
||||
<style name="EntryItem">
|
||||
<item name="@android:padding">5sp</item>
|
||||
</style>
|
||||
<style name="EditEntryButton">
|
||||
</style>
|
||||
|
||||
<style name="EntryFieldHeader">
|
||||
<item name="android:drawableBottom">@drawable/section_header</item>
|
||||
<item name="android:drawablePadding">1dp</item>
|
||||
<item name="android:layout_marginBottom">3dp</item>
|
||||
<item name="android:layout_marginTop">8dp</item>
|
||||
<item name="android:paddingLeft">4dp</item>
|
||||
<item name="android:textAllCaps">true</item>
|
||||
<item name="android:textColor">@color/emphasis</item>
|
||||
<item name="android:textSize">14sp</item>
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="@android:background">@android:color/transparent</item>
|
||||
</style>
|
||||
|
||||
<style name="EditEntryButton">
|
||||
</style>
|
||||
|
||||
<style name="ExtraFieldHeader">
|
||||
|
||||
<item name="android:drawablePadding">1dp</item>
|
||||
<item name="android:layout_marginBottom">3dp</item>
|
||||
<item name="android:layout_marginTop">8dp</item>
|
||||
<item name="android:paddingLeft">4dp</item>
|
||||
<item name="android:textAllCaps">true</item>
|
||||
<item name="android:textColor">@color/emphasis2</item>
|
||||
<item name="android:textSize">14sp</item>
|
||||
<item name="android:textStyle">bold</item>
|
||||
<item name="@android:background">@android:color/transparent</item>
|
||||
</style>
|
||||
</resources>
|
@ -128,6 +128,11 @@ namespace keepass2android
|
||||
}
|
||||
|
||||
|
||||
public static bool HasActionBar(Activity activity)
|
||||
{
|
||||
//Actionbar is available since 11, but the layout has its own "pseudo actionbar" until 13
|
||||
return ((int)Android.OS.Build.VERSION.SdkInt >= 14) && (activity.ActionBar != null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -106,8 +106,8 @@ namespace keepass2android
|
||||
|
||||
// Create button
|
||||
createButton.Click += (sender, evt) => {
|
||||
String filename = Util.getEditText(this,
|
||||
Resource.Id.file_filename);
|
||||
String filename = ((EditText)dialog.FindViewById(Resource.Id.file_filename)).Text;
|
||||
|
||||
|
||||
//TODO: allow non-local files?
|
||||
|
||||
|
@ -159,6 +159,7 @@
|
||||
<Compile Include="database\edit\DeleteRunnable.cs" />
|
||||
<Compile Include="views\FileSelectButtons.cs" />
|
||||
<Compile Include="EntryEditActivityState.cs" />
|
||||
<Compile Include="AttachmentContentProvider.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\AboutResources.txt" />
|
||||
@ -636,6 +637,7 @@
|
||||
<AndroidResource Include="Resources\layout\entry_view_test.xml" />
|
||||
<AndroidResource Include="Resources\layout\entry_extrastring_title.xml" />
|
||||
<AndroidResource Include="Resources\layout\entry_extrastring_value.xml" />
|
||||
<AndroidResource Include="Resources\drawable-v11\ic_launcher_gray.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildExtensionsPath)\Novell\Novell.MonoDroid.CSharp.targets" />
|
||||
<ItemGroup>
|
||||
|
@ -63,15 +63,7 @@ namespace keepass2android.view
|
||||
setText(Resource.Id.title, title);
|
||||
setText(Resource.Id.value, value.ReadString());
|
||||
|
||||
CheckBox cb = (CheckBox)FindViewById(Resource.Id.protection);
|
||||
if (cb != null)
|
||||
{
|
||||
cb.Checked = value.IsProtected;
|
||||
cb.CheckedChange += (sender, e) => {
|
||||
if (ContentChanged != null)
|
||||
ContentChanged(this, new EventArgs());
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public ImageButton getDeleteButton()
|
||||
|
@ -63,7 +63,8 @@ namespace keepass2android.view
|
||||
setText(Resource.Id.value, value);
|
||||
//TODO: this seems to cause a bug when rotating the device (and the activity gets destroyed)
|
||||
//After recreating the activity, the value fields all have the same content.
|
||||
FindViewById<TextView>(Resource.Id.value).SetTextIsSelectable(true);
|
||||
if ((int)Android.OS.Build.VERSION.SdkInt >= 11)
|
||||
FindViewById<TextView>(Resource.Id.value).SetTextIsSelectable(true);
|
||||
}
|
||||
|
||||
private void setText(int resId, String str) {
|
||||
|