diff --git a/src/MaterialTest2/Resources/drawable-xhdpi/ic_dashboard.png b/src/MaterialTest2/Resources/drawable-xhdpi/ic_dashboard.png
new file mode 100644
index 00000000..cc100a64
Binary files /dev/null and b/src/MaterialTest2/Resources/drawable-xhdpi/ic_dashboard.png differ
diff --git a/src/MaterialTest2/Resources/drawable-xhdpi/ic_discuss.png b/src/MaterialTest2/Resources/drawable-xhdpi/ic_discuss.png
new file mode 100644
index 00000000..8eedc8a3
Binary files /dev/null and b/src/MaterialTest2/Resources/drawable-xhdpi/ic_discuss.png differ
diff --git a/src/MaterialTest2/Resources/drawable-xhdpi/ic_done.png b/src/MaterialTest2/Resources/drawable-xhdpi/ic_done.png
new file mode 100644
index 00000000..1f4846cb
Binary files /dev/null and b/src/MaterialTest2/Resources/drawable-xhdpi/ic_done.png differ
diff --git a/src/MaterialTest2/Resources/drawable-xhdpi/ic_event.png b/src/MaterialTest2/Resources/drawable-xhdpi/ic_event.png
new file mode 100644
index 00000000..348a8058
Binary files /dev/null and b/src/MaterialTest2/Resources/drawable-xhdpi/ic_event.png differ
diff --git a/src/MaterialTest2/Resources/drawable-xhdpi/ic_forum.png b/src/MaterialTest2/Resources/drawable-xhdpi/ic_forum.png
new file mode 100644
index 00000000..28759b6e
Binary files /dev/null and b/src/MaterialTest2/Resources/drawable-xhdpi/ic_forum.png differ
diff --git a/src/MaterialTest2/Resources/drawable-xhdpi/ic_headset.png b/src/MaterialTest2/Resources/drawable-xhdpi/ic_headset.png
new file mode 100644
index 00000000..a09aa7a1
Binary files /dev/null and b/src/MaterialTest2/Resources/drawable-xhdpi/ic_headset.png differ
diff --git a/src/MaterialTest2/Resources/drawable-xhdpi/ic_menu.png b/src/MaterialTest2/Resources/drawable-xhdpi/ic_menu.png
new file mode 100644
index 00000000..36859f09
Binary files /dev/null and b/src/MaterialTest2/Resources/drawable-xhdpi/ic_menu.png differ
diff --git a/src/MaterialTest2/Resources/layout/Mainold.axml b/src/MaterialTest2/Resources/layout/Mainold.axml
new file mode 100644
index 00000000..092259b5
--- /dev/null
+++ b/src/MaterialTest2/Resources/layout/Mainold.axml
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/MaterialTest2/Resources/layout/nav_header.xml b/src/MaterialTest2/Resources/layout/nav_header.xml
new file mode 100644
index 00000000..33d38300
--- /dev/null
+++ b/src/MaterialTest2/Resources/layout/nav_header.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/MaterialTest2/Resources/values/dimens.xml b/src/MaterialTest2/Resources/values/dimens.xml
new file mode 100644
index 00000000..6bca483c
--- /dev/null
+++ b/src/MaterialTest2/Resources/values/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 200dp
+ 16dp
+
\ No newline at end of file
diff --git a/src/keepass2android/AboutActivity.cs b/src/keepass2android/AboutActivity.cs
index 3b3926a7..dc8ddb3b 100644
--- a/src/keepass2android/AboutActivity.cs
+++ b/src/keepass2android/AboutActivity.cs
@@ -10,7 +10,7 @@ namespace keepass2android
{
[Activity(Label = "@string/app_name",
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden,
- Theme = "@style/Base")]
+ Theme = "@style/MyTheme_ActionBar")]
[IntentFilter(new[] { "keepass2android.AboutActivity" }, Categories = new[] { Intent.CategoryDefault })]
public class AboutActivity: Activity, IDialogInterfaceOnDismissListener
{
diff --git a/src/keepass2android/CreateDatabaseActivity.cs b/src/keepass2android/CreateDatabaseActivity.cs
index 6e19fe25..3b2ba821 100644
--- a/src/keepass2android/CreateDatabaseActivity.cs
+++ b/src/keepass2android/CreateDatabaseActivity.cs
@@ -19,7 +19,7 @@ namespace keepass2android
{
[Activity(Label = "@string/app_name",
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden,
- Theme = "@style/Base")]
+ Theme = "@style/MyTheme_ActionBar")]
public class CreateDatabaseActivity : Activity
{
private IOConnectionInfo _ioc;
diff --git a/src/keepass2android/DonateReminder.cs b/src/keepass2android/DonateReminder.cs
index 531e009c..b00037f2 100644
--- a/src/keepass2android/DonateReminder.cs
+++ b/src/keepass2android/DonateReminder.cs
@@ -14,7 +14,7 @@ using KeePassLib.Utility;
namespace keepass2android
{
- [Activity(Label = AppNames.AppName, Theme = "@style/Base")]
+ [Activity(Label = AppNames.AppName, Theme = "@style/MyTheme_ActionBar")]
public class DonateReminder : Activity
{
class Reminder
diff --git a/src/keepass2android/EntryActivity.cs b/src/keepass2android/EntryActivity.cs
index 0c298155..5576a795 100644
--- a/src/keepass2android/EntryActivity.cs
+++ b/src/keepass2android/EntryActivity.cs
@@ -44,7 +44,8 @@ using Uri = Android.Net.Uri;
namespace keepass2android
{
- [Activity (Label = "@string/app_name", ConfigurationChanges=ConfigChanges.Orientation|ConfigChanges.KeyboardHidden, Theme="@style/NoTitleBar")]
+ [Activity (Label = "@string/app_name", ConfigurationChanges=ConfigChanges.Orientation|ConfigChanges.KeyboardHidden,
+ Theme = "@style/MyTheme_ActionBar")]
public class EntryActivity : LockCloseActivity
{
public const String KeyEntry = "entry";
@@ -125,29 +126,7 @@ namespace keepass2android
}
- protected void SetupMoveButtons() {
- View moveView = FindViewById(Resource.Id.entry_move);
- /* Disabled for simpler UI. Wait if users demand that button.
- if (App.Kp2a.GetDb().CanWrite)
- {
- moveView.Visibility = ViewStates.Visible;
- moveView.Click += (sender, e) =>
- {
- NavigateToFolderAndLaunchMoveElementTask navMoveTask =
- new NavigateToFolderAndLaunchMoveElementTask(Entry.ParentGroup,Entry.Uuid, false);
- navMoveTask.SetActivityResult(this, KeePass.ExitNormal );
- Finish();
-
- };
- }
- else*/
- {
- moveView.Visibility = ViewStates.Gone;
- }
-
- }
-
-
+
private class PluginActionReceiver : BroadcastReceiver
{
private readonly EntryActivity _activity;
@@ -328,9 +307,10 @@ namespace keepass2android
_showPassword =
!prefs.GetBoolean(GetString(Resource.String.maskpass_key), Resources.GetBoolean(Resource.Boolean.maskpass_default));
-
+
+ RequestWindowFeature(WindowFeatures.IndeterminateProgress);
base.OnCreate(savedInstanceState);
- RequestWindowFeature(WindowFeatures.IndeterminateProgress);
+
new ActivityDesign(this).ApplyTheme();
@@ -375,8 +355,7 @@ namespace keepass2android
FillData();
SetupEditButtons();
- SetupMoveButtons ();
-
+
App.Kp2a.GetDb().LastOpenedEntry = new PwEntryOutput(Entry, App.Kp2a.GetDb().KpDatabase);
_pluginActionReceiver = new PluginActionReceiver(this);
@@ -455,12 +434,14 @@ namespace keepass2android
private void PopulateExtraStrings()
{
ViewGroup extraGroup = (ViewGroup) FindViewById(Resource.Id.extra_strings);
+ bool hasExtras = false;
foreach (var pair in Entry.Strings.Where(pair => !PwDefs.IsStandardField(pair.Key)).OrderBy(pair => pair.Key))
{
+ hasExtras = true;
var stringView = CreateExtraSection(pair.Key, pair.Value.ReadString(), pair.Value.IsProtected);
extraGroup.AddView(stringView.View);
}
-
+ FindViewById(Resource.Id.extra_strings_container).Visibility = hasExtras ? ViewStates.Visible : ViewStates.Gone;
}
private ExtraStringView CreateExtraSection(string key, string value, bool isProtected)
@@ -690,7 +671,7 @@ namespace keepass2android
protected void FillData()
{
_protectedTextViews = new List();
- ImageView iv = (ImageView) FindViewById(Resource.Id.entry_icon);
+ ImageView iv = (ImageView) FindViewById(Resource.Id.icon);
if (iv != null)
{
iv.SetImageDrawable(Resources.GetDrawable(Resource.Drawable.ic00));
@@ -698,8 +679,9 @@ namespace keepass2android
- ActionBar.Title = Entry.Strings.ReadSafe(PwDefs.TitleField);
- ActionBar.SetDisplayHomeAsUpEnabled(true);
+ SupportActionBar.Title = Entry.Strings.ReadSafe(PwDefs.TitleField);
+ SupportActionBar.SetDisplayHomeAsUpEnabled(true);
+ SupportActionBar.SetHomeButtonEnabled(true);
PopulateGroupText (Resource.Id.entry_group_name, Resource.Id.entryfield_group_container, KeyGroupFullPath);
@@ -912,6 +894,8 @@ namespace keepass2android
return base.OnPrepareOptionsMenu(menu);
}
+
+
private void UpdateTogglePasswordMenu()
diff --git a/src/keepass2android/EntryEditActivity.cs b/src/keepass2android/EntryEditActivity.cs
index f3b4e956..412a5d2d 100644
--- a/src/keepass2android/EntryEditActivity.cs
+++ b/src/keepass2android/EntryEditActivity.cs
@@ -33,12 +33,13 @@ using KeePassLib.Security;
using Android.Content.PM;
using System.IO;
using System.Globalization;
+using Android.Util;
using File = System.IO.File;
using Uri = Android.Net.Uri;
namespace keepass2android
{
- [Activity (Label = "@string/app_name", ConfigurationChanges=ConfigChanges.Orientation|ConfigChanges.KeyboardHidden, Theme="@style/NoTitleBar")]
+ [Activity(Label = "@string/app_name", ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden, Theme = "@style/MyTheme_ActionBar")]
public class EntryEditActivity : LockCloseActivity {
public const String KeyEntry = "entry";
public const String KeyParent = "parent";
@@ -128,7 +129,7 @@ namespace keepass2android
{
String groupId = i.GetStringExtra(KeyParent);
State.ParentGroup = db.KpDatabase.RootGroup.FindGroup(new PwUuid(MemUtil.HexStringToByteArray(groupId)), true);
-
+
State.EntryInDatabase = new PwEntry(true, true);
State.EntryInDatabase.Strings.Set(PwDefs.UserNameField, new ProtectedString(
db.KpDatabase.MemoryProtection.ProtectUserName, db.KpDatabase.DefaultUserName));
@@ -215,8 +216,8 @@ namespace keepass2android
// Generate password button
- Button generatePassword = (Button)FindViewById(Resource.Id.generate_button);
- generatePassword.Click += (sender, e) => {
+ FindViewById(Resource.Id.generate_button).Click += (sender, e) =>
+ {
UpdateEntryFromUi(State.Entry);
GeneratePasswordActivity.Launch(this);
};
@@ -225,21 +226,20 @@ namespace keepass2android
// Save button
- ActionBar.SetCustomView(Resource.Layout.SaveButton);
- ActionBar.SetDisplayShowCustomEnabled(true);
- ActionBar.SetDisplayShowTitleEnabled(false);
- ActionBar.SetDisplayUseLogoEnabled(false);
- ActionBar.SetDisplayShowHomeEnabled(false);
- ActionBar.SetDisplayOptions(ActionBarDisplayOptions.ShowCustom,
- ActionBarDisplayOptions.ShowCustom);
- var save = FindViewById(Resource.Id.entry_save);
- save.Click += (sender, e) =>
- {
- SaveEntry();
- };
+ //SupportActionBar.SetCustomView(Resource.Layout.SaveButton);
+
+ if (State.IsNew)
+ {
+ SupportActionBar.Title = GetString(Resource.String.add_entry);
+ }
+ else
+ {
+ SupportActionBar.Title = GetString(Resource.String.edit_entry);
+ }
+
+ SupportActionBar.SetDisplayHomeAsUpEnabled(true);
+ SupportActionBar.SetHomeButtonEnabled(true);
- FindViewById(Resource.Id.entry_save_cancel).Click += (sender, args) => Finish();
-
// Respect mask password setting
MakePasswordVisibleOrHidden();
@@ -258,7 +258,7 @@ namespace keepass2android
LinearLayout container = (LinearLayout) FindViewById(Resource.Id.advanced_container);
KeyValuePair pair = new KeyValuePair("" , new ProtectedString(true, ""));
- LinearLayout ees = CreateExtraStringView(pair);
+ View ees = CreateExtraStringView(pair);
container.AddView(ees);
State.EntryModified = true;
@@ -745,9 +745,11 @@ namespace keepass2android
{
label = "";
}
- Button binaryButton = new Button(this) {Text = label};
+ //Button binaryButton = new Button(this, null, Resource.Style.EditEntryButton) {Text = label};
+ Button binaryButton = (Button)LayoutInflater.Inflate(Resource.Layout.EntryEditButtonDelete, null);
+ binaryButton.Text = label;
- binaryButton.SetCompoundDrawablesWithIntrinsicBounds( Resources.GetDrawable(Android.Resource.Drawable.IcMenuDelete),null, null, null);
+ //binaryButton.SetCompoundDrawablesWithIntrinsicBounds( Resources.GetDrawable(Android.Resource.Drawable.IcMenuDelete),null, null, null);
binaryButton.Click += (sender, e) =>
{
State.EntryModified = true;
@@ -759,10 +761,14 @@ namespace keepass2android
}
+
+ //Button addBinaryButton = new Button(this, null, Resource.Style.EditEntryButton ) {Text = GetString(Resource.String.add_binary)};
+ //addBinaryButton.SetCompoundDrawablesWithIntrinsicBounds( Resources.GetDrawable(Android.Resource.Drawable.IcMenuAdd) , null, null, null);
+ Button addBinaryButton = (Button)LayoutInflater.Inflate(Resource.Layout.EntryEditButtonAdd, null);
+ addBinaryButton.Text = GetString(Resource.String.add_binary);
- Button addBinaryButton = new Button(this) {Text = GetString(Resource.String.add_binary)};
- addBinaryButton.SetCompoundDrawablesWithIntrinsicBounds( Resources.GetDrawable(Android.Resource.Drawable.IcMenuAdd) , null, null, null);
addBinaryButton.Enabled = true;
+
if (!App.Kp2a.GetDb().DatabaseFormat.CanHaveMultipleAttachments)
addBinaryButton.Enabled = !State.Entry.Binaries.Any();
addBinaryButton.Click += (sender, e) =>
@@ -795,13 +801,18 @@ namespace keepass2android
public override bool OnOptionsItemSelected(IMenuItem item) {
switch ( item.ItemId ) {
- case Resource.Id.menu_donate:
- return Util.GotoDonateUrl(this);
+ case Resource.Id.menu_save:
+ SaveEntry();
+ return true;
+ case Resource.Id.menu_cancel:
+ Finish();
+ return true;
+ case Android.Resource.Id.Home:
+ Finish();
+ return true;
+ default:
+ return base.OnOptionsItemSelected(item);
}
-
-
-
- return base.OnOptionsItemSelected(item);
}
@@ -819,15 +830,18 @@ namespace keepass2android
FindViewById(Resource.Id.entry_expires).Enabled = State.Entry.Expires;
}
- public override Java.Lang.Object OnRetainNonConfigurationInstance()
+ /*
+ * TODO required??
+ *
+ * public override Java.Lang.Object OnRetainNonConfigurationInstance()
{
UpdateEntryFromUi(State.Entry);
return this;
- }
+ }*/
- LinearLayout CreateExtraStringView(KeyValuePair pair)
+ RelativeLayout CreateExtraStringView(KeyValuePair pair)
{
- LinearLayout ees = (LinearLayout)LayoutInflater.Inflate(Resource.Layout.entry_edit_section, null);
+ RelativeLayout ees = (RelativeLayout)LayoutInflater.Inflate(Resource.Layout.entry_edit_section, null);
((TextView)ees.FindViewById(Resource.Id.title)).Text = pair.Key;
((TextView)ees.FindViewById(Resource.Id.title)).TextChanged += (sender, e) => State.EntryModified = true;
((TextView)ees.FindViewById(Resource.Id.value)).Text = pair.Value.ReadString();
@@ -928,8 +942,7 @@ namespace keepass2android
}
else
{
- FindViewById(Resource.Id.entry_override_url_label).Visibility = ViewStates.Gone;
- FindViewById(Resource.Id.entry_override_url).Visibility = ViewStates.Gone;
+ FindViewById(Resource.Id.entry_override_url_container).Visibility = ViewStates.Gone;
}
if (App.Kp2a.GetDb().DatabaseFormat.SupportsTags)
@@ -1016,6 +1029,11 @@ namespace keepass2android
private void PopulateText(int viewId, String text) {
TextView tv = (TextView) FindViewById(viewId);
+ if (tv == null)
+ {
+ Kp2aLog.Log("Invalid viewId " + viewId);
+ return;
+ }
tv.Text = text;
tv.TextChanged += (sender, e) => {State.EntryModified = true;};
}
diff --git a/src/keepass2android/ExportDatabaseActivity.cs b/src/keepass2android/ExportDatabaseActivity.cs
index 481e423f..b62e96f6 100644
--- a/src/keepass2android/ExportDatabaseActivity.cs
+++ b/src/keepass2android/ExportDatabaseActivity.cs
@@ -16,7 +16,7 @@ namespace keepass2android
[Activity(Label = "@string/app_name",
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden,
- Theme = "@style/Base")]
+ Theme = "@style/MyTheme_ActionBar")]
[IntentFilter(new[] {"keepass2android.ExportDatabaseActivity"}, Categories = new[] {Intent.CategoryDefault})]
public class ExportDatabaseActivity : LockCloseActivity
{
diff --git a/src/keepass2android/FileStorageSelectionActivity.cs b/src/keepass2android/FileStorageSelectionActivity.cs
index adf2dac2..c1006395 100644
--- a/src/keepass2android/FileStorageSelectionActivity.cs
+++ b/src/keepass2android/FileStorageSelectionActivity.cs
@@ -1,18 +1,27 @@
+using System;
using System.Collections.Generic;
using Android.App;
using Android.Content;
using Android.Content.PM;
+using Android.Content.Res;
+using Android.Graphics;
+using Android.Graphics.Drawables;
using Android.OS;
+using Android.Support.V4.Content;
+using Android.Support.V7.App;
+using Android.Text;
+using Android.Util;
using Android.Views;
using Android.Widget;
using keepass2android.Io;
using keepass2android.view;
+using AlertDialog = Android.App.AlertDialog;
using Object = Java.Lang.Object;
namespace keepass2android
{
- [Activity (Label = "@string/app_name", ConfigurationChanges=ConfigChanges.Orientation|ConfigChanges.KeyboardHidden , Theme="@style/NoTitleBar")]
- public class FileStorageSelectionActivity : ListActivity
+ [Activity(Label = "@string/app_name", ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden, Theme = "@style/MyTheme")]
+ public class FileStorageSelectionActivity : AppCompatActivity
{
private readonly ActivityDesign _design;
@@ -78,8 +87,53 @@ namespace keepass2android
return position;
}
+
+
+ public static float convertDpToPixel(float dp, Context context)
+ {
+ Resources resources = context.Resources;
+ DisplayMetrics metrics = resources.DisplayMetrics;
+ float px = dp * metrics.Density;
+ return px;
+ }
+
+
public override View GetView(int position, View convertView, ViewGroup parent)
{
+
+ Button btn;
+
+ if (convertView == null)
+ { // if it's not recycled, initialize some attributes
+
+ btn = new Button(_context);
+ btn.LayoutParameters = new GridView.LayoutParams((int)convertDpToPixel(80, _context), (int)convertDpToPixel(100, _context));
+ btn.SetBackgroundResource(Resource.Drawable.storagetype_button_bg);
+ btn.SetPadding(8, 8, 8, 8);
+ btn.SetTextSize(ComplexUnitType.Sp, 12);
+ btn.SetTextColor(new Color(115, 115, 115));
+ btn.SetSingleLine(false);
+ btn.Click += (sender, args) => _context.OnItemSelected( (string) ((Button)sender).Tag);
+ }
+ else
+ {
+ btn = (Button)convertView;
+ }
+
+ var protocolId = _protocolIds[position];
+ btn.Tag = protocolId;
+ Drawable drawable = App.Kp2a.GetResourceDrawable("ic_storage_" + protocolId);
+
+ String title = App.Kp2a.GetResourceString("filestoragename_" + protocolId);
+ var str = new SpannableString(title);
+
+ btn.TextFormatted = str;
+ //var drawable = ContextCompat.GetDrawable(context, Resource.Drawable.Icon);
+ btn.SetCompoundDrawablesWithIntrinsicBounds(null, drawable, null, null);
+
+ //TODO kp2a
+ return btn;
+ /*
if (_protocolIds[position] == "kp2a")
{
return new FileStorageViewKp2a(_context);
@@ -89,7 +143,7 @@ namespace keepass2android
var view = new FileStorageView(_context, _protocolIds[position], position);
return view;
}
-
+ */
}
@@ -145,16 +199,32 @@ namespace keepass2android
SetContentView(Resource.Layout.filestorage_selection);
- _fileStorageAdapter = new FileStorageAdapter(this);
- ListAdapter = _fileStorageAdapter;
+ var toolbar = FindViewById(Resource.Id.toolbar);
+
+ SetSupportActionBar(toolbar);
- ListView listView = FindViewById(Android.Resource.Id.List);
- listView.ItemClick +=
+ SupportActionBar.Title = RemoveTrailingColon(GetString(Resource.String.select_storage_type));
+
+ SupportActionBar.SetDisplayHomeAsUpEnabled(true);
+ SupportActionBar.SetDisplayShowHomeEnabled(true);
+ toolbar.NavigationClick += (sender, args) => OnBackPressed();
+
+ _fileStorageAdapter = new FileStorageAdapter(this);
+ var gridView = FindViewById(Resource.Id.gridview);
+ gridView.ItemClick +=
(sender, args) => OnItemSelected((string)_fileStorageAdapter.GetItem(args.Position));
- //listView.ItemsCanFocus = true;
+ gridView.Adapter = _fileStorageAdapter;
+
}
- protected override void OnResume()
+ private string RemoveTrailingColon(string str)
+ {
+ if (str.EndsWith(":"))
+ return str.Substring(0, str.Length - 1);
+ return str;
+ }
+
+ protected override void OnResume()
{
base.OnResume();
_design.ReapplyTheme();
diff --git a/src/keepass2android/GeneratePasswordActivity.cs b/src/keepass2android/GeneratePasswordActivity.cs
index 6c0ae4d1..7bdfe6b9 100644
--- a/src/keepass2android/GeneratePasswordActivity.cs
+++ b/src/keepass2android/GeneratePasswordActivity.cs
@@ -26,7 +26,7 @@ using Android.Widget;
namespace keepass2android
{
- [Activity (Label = "@string/app_name", Theme="@style/NoTitleBar")]
+ [Activity(Label = "@string/app_name", Theme = "@style/MyTheme_ActionBar")]
public class GeneratePasswordActivity : LockCloseActivity {
private readonly int[] _buttonIds = new[] {Resource.Id.btn_length6, Resource.Id.btn_length8, Resource.Id.btn_length12, Resource.Id.btn_length16};
diff --git a/src/keepass2android/GroupActivity.cs b/src/keepass2android/GroupActivity.cs
index 753494e0..ed6db2bb 100644
--- a/src/keepass2android/GroupActivity.cs
+++ b/src/keepass2android/GroupActivity.cs
@@ -29,7 +29,7 @@ using Android.Content.PM;
namespace keepass2android
{
- [Activity (Label = "@string/app_name", ConfigurationChanges=ConfigChanges.Orientation|ConfigChanges.KeyboardHidden , Theme="@style/NoTitleBar")]
+ [Activity(Label = "@string/app_name", ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden, Theme = "@style/MyTheme_ActionBar")]
[MetaData("android.app.default_searchable",Value="keepass2android.search.SearchResults")]
public class GroupActivity : GroupBaseActivity {
@@ -75,15 +75,10 @@ namespace keepass2android
public override void SetupNormalButtons()
{
- GroupView.SetNormalButtonVisibility(AddGroupEnabled, AddEntryEnabled);
- GroupView.Invalidate();
+ SetNormalButtonVisibility(AddGroupEnabled, AddEntryEnabled);
}
- private bool AddGroupEnabled
- {
- get { return App.Kp2a.GetDb().CanWrite; }
- }
- private bool AddEntryEnabled
+ protected override bool AddEntryEnabled
{
get { return App.Kp2a.GetDb().CanWrite && ((this.Group.ParentGroup != null) || App.Kp2a.GetDb().DatabaseFormat.CanHaveEntriesInRootGroup); }
}
@@ -121,26 +116,25 @@ namespace keepass2android
if (AddGroupEnabled) {
// Add Group button
- View addGroup = FindViewById (Resource.Id.add_group);
+ View addGroup = FindViewById (Resource.Id.fabAddNewGroup);
addGroup.Click += (sender, e) => {
GroupEditActivity.Launch (this, Group);
};
}
- if (AddEntryEnabled) {
- // Add Entry button
- View addEntry = FindViewById (Resource.Id.add_entry);
- addEntry.Click += (sender, e) => {
- EntryEditActivity.Launch (this, Group, AppTask);
-
- };
+
+ if (AddEntryEnabled)
+ {
+ View addEntry = FindViewById (Resource.Id.fabAddNewEntry);
+ addEntry.Click += (sender, e) => { EntryEditActivity.Launch (this, Group, AppTask); };
+
}
SetGroupTitle();
SetGroupIcon();
- ListAdapter = new PwGroupListAdapter(this, Group);
- RegisterForContextMenu(ListView);
+ FragmentManager.FindFragmentById(Resource.Id.list_fragment).ListAdapter = new PwGroupListAdapter(this, Group);
+ /*TODO RegisterForContextMenu(ListView);*/
Log.Warn(Tag, "Finished creating group");
}
diff --git a/src/keepass2android/GroupBaseActivity.cs b/src/keepass2android/GroupBaseActivity.cs
index f4e697a3..c81047a5 100644
--- a/src/keepass2android/GroupBaseActivity.cs
+++ b/src/keepass2android/GroupBaseActivity.cs
@@ -33,11 +33,14 @@ using keepass2android.Io;
using keepass2android.database.edit;
using keepass2android.view;
using Android.Graphics.Drawables;
+using Android.Support.V4.View;
+using CursorAdapter = Android.Support.V4.Widget.CursorAdapter;
+using Object = Java.Lang.Object;
namespace keepass2android
{
- public abstract class GroupBaseActivity : LockCloseListActivity {
+ public abstract class GroupBaseActivity : LockCloseActivity {
public const String KeyEntry = "entry";
public const String KeyMode = "mode";
@@ -65,8 +68,60 @@ namespace keepass2android
public virtual void SetupNormalButtons()
{
- GroupView.SetNormalButtonVisibility(App.Kp2a.GetDb().CanWrite, App.Kp2a.GetDb().CanWrite);
+ SetNormalButtonVisibility(AddGroupEnabled, AddEntryEnabled);
}
+
+
+ protected virtual bool AddGroupEnabled
+ {
+ get { return App.Kp2a.GetDb().CanWrite; }
+ }
+ protected virtual bool AddEntryEnabled
+ {
+ get { return App.Kp2a.GetDb().CanWrite; }
+ }
+
+ public void SetNormalButtonVisibility(bool showAddGroup, bool showAddEntry)
+ {
+ FindViewById(Resource.Id.bottom_bar).Visibility = ViewStates.Gone;
+ FindViewById(Resource.Id.divider2).Visibility = ViewStates.Gone;
+
+ FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Gone;
+ FindViewById(Resource.Id.fabAddNewGroup).Visibility = ViewStates.Gone;
+ FindViewById(Resource.Id.fabAddNewEntry).Visibility = ViewStates.Gone;
+
+ FindViewById(Resource.Id.fabAddNew).Visibility = (showAddGroup || showAddEntry) ? ViewStates.Visible : ViewStates.Gone;
+
+
+ /*TODO Remove
+ View insertElement = FindViewById(Resource.Id.insert_element);
+ insertElement.Visibility = ViewStates.Gone;
+
+ View insertElementCancel = FindViewById(Resource.Id.cancel_insert_element);
+ insertElementCancel.Visibility = ViewStates.Gone;
+
+ View addGroup = FindViewById(Resource.Id.add_group);
+ addGroup.Visibility = showAddGroup ? ViewStates.Visible : ViewStates.Gone;
+
+
+ View addEntry = FindViewById(Resource.Id.add_entry);
+ addEntry.Visibility = showAddEntry ? ViewStates.Visible : ViewStates.Gone;
+ */
+ /*
+ if (!showAddEntry && !showAddGroup)
+ {
+ View divider2 = FindViewById(Resource.Id.divider2);
+ divider2.Visibility = ViewStates.Gone;
+
+ FindViewById(Resource.Id.bottom_bar).Visibility = ViewStates.Gone;
+
+ View list = FindViewById(Android.Resource.Id.List);
+ var lp = (RelativeLayout.LayoutParams)list.LayoutParameters;
+
+ lp.AddRule(LayoutRules.AlignParentBottom, (int)LayoutRules.True);
+ }*/
+ }
+
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
@@ -122,7 +177,7 @@ namespace keepass2android
protected PwGroup Group;
internal AppTask AppTask;
- protected GroupView GroupView;
+ //TODO protected GroupView GroupView;
private String strCachedGroupUuid = null;
public String UuidGroup {
@@ -155,13 +210,14 @@ namespace keepass2android
Database db = App.Kp2a.GetDb();
if ( db.Dirty.Contains(Group) ) {
db.Dirty.Remove(Group);
- BaseAdapter adapter = (BaseAdapter) ListAdapter;
- adapter.NotifyDataSetChanged();
+ /*TODO BaseAdapter adapter = (BaseAdapter) ListAdapter;
+ adapter.NotifyDataSetChanged();*/
}
}
- protected override void OnListItemClick(ListView l, View v, int position, long id) {
+ /*TODO
+ * protected override void OnListItemClick(ListView l, View v, int position, long id) {
base.OnListItemClick(l, v, position, id);
IListAdapter adapt = ListAdapter;
@@ -169,7 +225,7 @@ namespace keepass2android
cv.OnClick();
}
-
+ */
protected override void OnCreate(Bundle savedInstanceState) {
base.OnCreate(savedInstanceState);
@@ -183,15 +239,33 @@ namespace keepass2android
_prefs = PreferenceManager.GetDefaultSharedPreferences(this);
- GroupView = new GroupView(this);
- SetContentView(GroupView);
+
+ SetContentView(Resource.Layout.group);
+ FindViewById(Resource.Id.fabAddNew).Click += (sender, args) =>
+ {
+ FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Visible;
+ FindViewById(Resource.Id.fabAddNewGroup).Visibility = AddGroupEnabled ? ViewStates.Visible : ViewStates.Gone;
+ FindViewById(Resource.Id.fabAddNewEntry).Visibility = AddEntryEnabled ? ViewStates.Visible : ViewStates.Gone;
+ FindViewById(Resource.Id.fabAddNew).Visibility = ViewStates.Gone;
+ };
+
+ FindViewById(Resource.Id.fabCancelAddNew).Click += (sender, args) =>
+ {
+ FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Gone;
+ FindViewById(Resource.Id.fabAddNewGroup).Visibility = ViewStates.Gone;
+ FindViewById(Resource.Id.fabAddNewEntry).Visibility = ViewStates.Gone;
+ FindViewById(Resource.Id.fabAddNew).Visibility = ViewStates.Visible;
+ };
+
+
+
FindViewById(Resource.Id.cancel_insert_element).Click += (sender, args) => StopMovingElement();
FindViewById(Resource.Id.insert_element).Click += (sender, args) => InsertElement();
-
- SetResult(KeePass.ExitNormal);
+
+ SetResult(KeePass.ExitNormal);
+
- StyleScrollBars();
}
@@ -207,12 +281,6 @@ namespace keepass2android
}
- protected void StyleScrollBars() {
- ListView lv = ListView;
- lv.ScrollBarStyle =ScrollbarStyles.InsideInset;
- lv.TextFilterEnabled = true;
-
- }
protected void SetGroupTitle()
@@ -228,31 +296,33 @@ namespace keepass2android
titleText = GetText(Resource.String.root);
}
- ActionBar.Title = titleText;
- if (clickable)
- ActionBar.SetDisplayHomeAsUpEnabled(true);
+ SupportActionBar.Title = titleText;
+ if (clickable)
+ {
+ SupportActionBar.SetHomeButtonEnabled(true);
+ SupportActionBar.SetDisplayHomeAsUpEnabled(true);
+ SupportActionBar.SetDisplayShowHomeEnabled(true);
+ }
+
}
protected void SetGroupIcon() {
if (Group != null) {
Drawable drawable = App.Kp2a.GetDb().DrawableFactory.GetIconDrawable(Resources, App.Kp2a.GetDb().KpDatabase, Group.IconId, Group.CustomIconUuid);
- ImageView iv = (ImageView) FindViewById(Resource.Id.icon);
- if (iv != null)
- iv.SetImageDrawable(drawable);
- if (Util.HasActionBar(this))
- ActionBar.SetIcon(drawable);
+ SupportActionBar.SetDisplayShowHomeEnabled(true);
+ //SupportActionBar.SetIcon(drawable);
}
}
- class SuggestionListener: Java.Lang.Object, SearchView.IOnSuggestionListener
+ class SuggestionListener: Java.Lang.Object, SearchView.IOnSuggestionListener, Android.Support.V7.Widget.SearchView.IOnSuggestionListener
{
private readonly CursorAdapter _suggestionsAdapter;
private readonly GroupBaseActivity _activity;
private readonly IMenuItem _searchItem;
- public SuggestionListener(CursorAdapter suggestionsAdapter, GroupBaseActivity activity, IMenuItem searchItem)
+ public SuggestionListener(Android.Support.V4.Widget.CursorAdapter suggestionsAdapter, GroupBaseActivity activity, IMenuItem searchItem)
{
_suggestionsAdapter = suggestionsAdapter;
_activity = activity;
@@ -275,7 +345,7 @@ namespace keepass2android
}
}
- class OnQueryTextListener: Java.Lang.Object, SearchView.IOnQueryTextListener
+ class OnQueryTextListener: Java.Lang.Object, Android.Support.V7.Widget.SearchView.IOnQueryTextListener
{
private readonly GroupBaseActivity _activity;
@@ -311,16 +381,15 @@ namespace keepass2android
MenuInflater inflater = MenuInflater;
inflater.Inflate(Resource.Menu.group, menu);
- if (Util.HasActionBar(this))
- {
- var searchManager = (SearchManager) GetSystemService(SearchService);
- IMenuItem searchItem = menu.FindItem(Resource.Id.menu_search);
- var searchView = (SearchView) searchItem.ActionView;
-
- searchView.SetSearchableInfo(searchManager.GetSearchableInfo(ComponentName));
- searchView.SetOnSuggestionListener(new SuggestionListener(searchView.SuggestionsAdapter, this, searchItem));
- searchView.SetOnQueryTextListener(new OnQueryTextListener(this));
- }
+ var searchManager = (SearchManager) GetSystemService(SearchService);
+ IMenuItem searchItem = menu.FindItem(Resource.Id.menu_search);
+ var view = MenuItemCompat.GetActionView(searchItem);
+ var searchView = view.JavaCast();
+
+ searchView.SetSearchableInfo(searchManager.GetSearchableInfo(ComponentName));
+ searchView.SetOnSuggestionListener(new SuggestionListener(searchView.SuggestionsAdapter, this, searchItem));
+ searchView.SetOnQueryTextListener(new OnQueryTextListener(this));
+
var item = menu.FindItem(Resource.Id.menu_sync);
if (item != null)
{
@@ -425,10 +494,11 @@ namespace keepass2android
if (!String.IsNullOrEmpty(message))
Toast.MakeText(this, message, ToastLength.Long).Show();
+ /*TODO
// Tell the adapter to refresh it's list
BaseAdapter adapter = (BaseAdapter)ListAdapter;
adapter.NotifyDataSetChanged();
-
+ */
if (App.Kp2a.GetDb().OtpAuxFileIoc != null)
{
var task2 = new SyncOtpAuxFile(App.Kp2a.GetDb().OtpAuxFileIoc);
@@ -486,9 +556,10 @@ namespace keepass2android
db.Dirty.Remove(Group);
// Tell the adapter to refresh it's list
+ /*TODO
BaseAdapter adapter = (BaseAdapter)ListAdapter;
adapter.NotifyDataSetChanged();
-
+ */
})
.SetPositiveButton(Android.Resource.String.Ok, (sender, args) => ((Dialog)sender).Dismiss())
@@ -555,15 +626,22 @@ namespace keepass2android
public void StartMovingElement()
{
+
ShowInsertElementButtons();
- GroupView.ListView.InvalidateViews();
- BaseAdapter adapter = (BaseAdapter)ListAdapter;
- adapter.NotifyDataSetChanged();
+ /*TODOGroupView.ListView.InvalidateViews();
+ BaseAdapter adapter = (BaseAdapter)ListAdapter;
+ adapter.NotifyDataSetChanged();*/
}
public void ShowInsertElementButtons()
{
- GroupView.ShowInsertButtons();
+ FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Gone;
+ FindViewById(Resource.Id.fabAddNewGroup).Visibility = ViewStates.Gone;
+ FindViewById(Resource.Id.fabAddNewEntry).Visibility = ViewStates.Gone;
+ FindViewById(Resource.Id.fabAddNew).Visibility = ViewStates.Gone;
+
+ FindViewById(Resource.Id.bottom_bar).Visibility = ViewStates.Visible;
+ FindViewById(Resource.Id.divider2).Visibility = ViewStates.Visible;
}
public void StopMovingElement()
@@ -583,9 +661,9 @@ namespace keepass2android
AppTask = new NullTask();
AppTask.SetupGroupBaseActivityButtons(this);
- GroupView.ListView.InvalidateViews();
+ /*TODO GroupView.ListView.InvalidateViews();
BaseAdapter adapter = (BaseAdapter)ListAdapter;
- adapter.NotifyDataSetChanged();
+ adapter.NotifyDataSetChanged();*/
}
@@ -594,5 +672,126 @@ namespace keepass2android
GroupEditActivity.Launch(this, pwGroup.ParentGroup, pwGroup);
}
}
+
+ public class GroupListFragment : ListFragment, AbsListView.IMultiChoiceModeListener
+ {
+ public override void OnActivityCreated(Bundle savedInstanceState)
+ {
+ base.OnActivityCreated(savedInstanceState);
+ if (App.Kp2a.GetDb().CanWrite)
+ {
+ ListView.ChoiceMode = ChoiceMode.MultipleModal;
+ ListView.SetMultiChoiceModeListener(this);
+ ListView.ItemLongClick += delegate(object sender, AdapterView.ItemLongClickEventArgs args)
+ {
+ ListView.SetItemChecked(args.Position, true);
+ };
+
+ }
+
+ ListView.ItemClick += (sender, args) => ((GroupListItemView) args.View).OnClick();
+
+ StyleScrollBars();
+
+ }
+
+ protected void StyleScrollBars()
+ {
+ ListView lv = ListView;
+ lv.ScrollBarStyle =ScrollbarStyles.InsideInset;
+ lv.TextFilterEnabled = true;
+ }
+
+ public bool OnActionItemClicked(ActionMode mode, IMenuItem item)
+ {
+ switch (item.ItemId)
+ {
+
+ case Resource.Id.menu_delete:
+ /*Handler handler = new Handler();
+ DeleteEntry task = new DeleteEntry(Activity, App.Kp2a, _entry,
+ new GroupBaseActivity.RefreshTask(handler, ((GroupBaseActivity)Activity)));
+ task.Start();*/
+ Toast.MakeText(((GroupBaseActivity) Activity), "todo delete", ToastLength.Long).Show();
+ return true;
+ case Resource.Id.menu_move:
+ /*NavigateToFolderAndLaunchMoveElementTask navMove =
+ new NavigateToFolderAndLaunchMoveElementTask(_entry.ParentGroup, _entry.Uuid, _isSearchResult);
+ ((GroupBaseActivity)Activity).StartTask(navMove);*/
+ Toast.MakeText(((GroupBaseActivity)Activity), "todo move", ToastLength.Long).Show();
+ return true;
+ /*TODO for search results case Resource.Id.menu_navigate:
+ NavigateToFolder navNavigate = new NavigateToFolder(_entry.ParentGroup, true);
+ ((GroupBaseActivity)Activity).StartTask(navNavigate);
+ return true;*/
+
+ }
+ return false;
+ }
+
+ public bool OnCreateActionMode(ActionMode mode, IMenu menu)
+ {
+ MenuInflater inflater = Activity.MenuInflater;
+ inflater.Inflate(Resource.Menu.group_entriesselected, menu);
+ //mode.Title = "Select Items";
+ Android.Util.Log.Debug("KP2A", "Create action mode" + mode);
+ ((PwGroupListAdapter)ListView.Adapter).NotifyDataSetChanged();
+
+ return true;
+ }
+
+ public void OnDestroyActionMode(ActionMode mode)
+ {
+ Android.Util.Log.Debug("KP2A", "Destroy action mode" + mode);
+
+ ((PwGroupListAdapter)ListView.Adapter).NotifyDataSetChanged();
+ }
+
+ public bool OnPrepareActionMode(ActionMode mode, IMenu menu)
+ {
+ Android.Util.Log.Debug("KP2A", "Prepare action mode" + mode);
+ ((PwGroupListAdapter)ListView.Adapter).NotifyDataSetChanged();
+ return true;
+ }
+
+ public void OnItemCheckedStateChanged(ActionMode mode, int position, long id, bool @checked)
+ {
+ var menuItem = mode.Menu.FindItem(Resource.Id.menu_edit);
+ if (menuItem != null)
+ {
+ menuItem.SetVisible(IsOnlyOneGroupChecked());
+ }
+
+ }
+
+ private bool IsOnlyOneGroupChecked()
+ {
+ var checkedItems = ListView.CheckedItemPositions;
+ bool hadCheckedGroup = false;
+ if (checkedItems != null)
+ {
+ for (int i = 0; i < checkedItems.Size(); i++)
+ {
+ if (checkedItems.ValueAt(i))
+ {
+ if (hadCheckedGroup)
+ {
+ return false;
+ }
+
+ if (((PwGroupListAdapter) ListAdapter).IsGroupAtPosition(checkedItems.KeyAt(i)))
+ {
+ hadCheckedGroup = true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+ }
+ return hadCheckedGroup;
+ }
+ }
}
diff --git a/src/keepass2android/GroupEditActivity.cs b/src/keepass2android/GroupEditActivity.cs
index efbbb83d..85ed3d9a 100644
--- a/src/keepass2android/GroupEditActivity.cs
+++ b/src/keepass2android/GroupEditActivity.cs
@@ -73,6 +73,7 @@ namespace keepass2android
SetContentView (Resource.Layout.group_edit);
ImageButton iconButton = (ImageButton)FindViewById (Resource.Id.icon_button);
+ iconButton.SetScaleType(ImageView.ScaleType.FitXy);
iconButton.Click += (sender, e) =>
{
IconPickerActivity.Launch (this);
diff --git a/src/keepass2android/IconPickerActivity.cs b/src/keepass2android/IconPickerActivity.cs
index cd1ae728..028d081f 100644
--- a/src/keepass2android/IconPickerActivity.cs
+++ b/src/keepass2android/IconPickerActivity.cs
@@ -24,7 +24,7 @@ using Android.Widget;
namespace keepass2android
{
- [Activity (Label = "@string/app_name", Theme="@style/NoTitleBar")]
+ [Activity(Label = "@string/app_name", Theme = "@style/MyTheme_ActionBar")]
public class IconPickerActivity : LockCloseActivity
{
public const String KeyIconId = "icon_id";
diff --git a/src/keepass2android/KeePass.cs b/src/keepass2android/KeePass.cs
index f33cd6ec..f6254c3d 100644
--- a/src/keepass2android/KeePass.cs
+++ b/src/keepass2android/KeePass.cs
@@ -71,7 +71,7 @@ namespace keepass2android
///
/// Launcher activity of Keepass2Android. This activity usually forwards to FileSelect but may show the revision dialog after installation or updates.
///
- [Activity (Label = AppNames.AppName, MainLauncher = true, Theme="@style/Base")]
+ [Activity(Label = AppNames.AppName, MainLauncher = true, Theme = "@style/MyTheme_ActionBar")]
public class KeePass : LifecycleDebugActivity
{
public const Result ExitNormal = Result.FirstUser;
@@ -167,6 +167,9 @@ namespace keepass2android
{
}
+#if DEBUG
+ showChangeLog = false;
+#endif
if (showChangeLog)
{
diff --git a/src/keepass2android/LifecycleDebugActivity.cs b/src/keepass2android/LifecycleDebugActivity.cs
index 1b6eabb2..5e066163 100644
--- a/src/keepass2android/LifecycleDebugActivity.cs
+++ b/src/keepass2android/LifecycleDebugActivity.cs
@@ -19,11 +19,12 @@ using System;
using Android.App;
using Android.OS;
using Android.Runtime;
+using Android.Support.V7.App;
namespace keepass2android
{
- public abstract class LifecycleDebugActivity : Activity
+ public abstract class LifecycleDebugActivity : AppCompatActivity
{
protected LifecycleDebugActivity (IntPtr javaReference, JniHandleOwnership transfer)
: base(javaReference, transfer)
diff --git a/src/keepass2android/PasswordActivity.cs b/src/keepass2android/PasswordActivity.cs
index deaf61c9..a9f43262 100644
--- a/src/keepass2android/PasswordActivity.cs
+++ b/src/keepass2android/PasswordActivity.cs
@@ -34,6 +34,11 @@ using Java.Net;
using Android.Preferences;
using Android.Text;
using Android.Content.PM;
+using Android.Graphics;
+using Android.Support.Design.Widget;
+using Android.Support.V4.Widget;
+using Android.Support.V7.App;
+using keepass2android;
using KeePassLib.Keys;
using KeePassLib.Serialization;
using KeePassLib.Utility;
@@ -41,22 +46,24 @@ using Keepass2android.Pluginsdk;
using OtpKeyProv;
using keepass2android.Io;
using keepass2android.Utils;
-using Exception = System.Exception;
+
using File = Java.IO.File;
using FileNotFoundException = Java.IO.FileNotFoundException;
-using MemoryStream = System.IO.MemoryStream;
+
using Object = Java.Lang.Object;
using Process = Android.OS.Process;
-using String = System.String;
+
using KeeChallenge;
+using AlertDialog = Android.App.AlertDialog;
namespace keepass2android
{
[Activity(Label = "@string/app_name",
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden,
LaunchMode = LaunchMode.SingleInstance,
- Theme = "@style/Base")]
- public class PasswordActivity : LockingActivity {
+ Theme = "@style/MyTheme")] /*caution: also contained in AndroidManifest.xml*/
+ //TODO: rotating device crashes the app
+ public class PasswordActivity : LockingActivity {
enum KeyProviders
{
@@ -144,9 +151,13 @@ namespace keepass2android
private ActivityDesign _design;
private bool _performingLoad;
private bool _keepPasswordInOnResume;
+ private Typeface _passwordFont;
+
+ private ActionBarDrawerToggle mDrawerToggle;
+ private DrawerLayout _drawerLayout;
- public PasswordActivity (IntPtr javaReference, JniHandleOwnership transfer)
+ public PasswordActivity (IntPtr javaReference, JniHandleOwnership transfer)
: base(javaReference, transfer)
{
_design = new ActivityDesign(this);
@@ -300,6 +311,8 @@ namespace keepass2android
{
if (KeyProviderType == KeyProviders.KeyFile)
{
+ //TODO: if the user has not yet selected a keyfile, _keyFileOrProvider is empty which
+ //gives an (unhandled) exception here
var iocKeyfile = IOConnectionInfo.UnserializeFromString(_keyFileOrProvider);
App.Kp2a.GetFileStorage(iocKeyfile)
@@ -678,8 +691,7 @@ namespace keepass2android
Window.SetFlags(WindowManagerFlags.Secure, WindowManagerFlags.Secure);
}
-
-
+
Intent i = Intent;
//only load the AppTask if this is the "first" OnCreate (not because of kill/resume, i.e. savedInstanceState==null)
@@ -748,41 +760,56 @@ namespace keepass2android
SetContentView(Resource.Layout.password);
- InitializeFilenameView();
+
+ InitializeToolbar();
+
+
+ InitializeFilenameView();
if (KeyProviderType == KeyProviders.KeyFile)
{
UpdateKeyfileIocView();
}
-
- FindViewById(Resource.Id.password).TextChanged +=
+ var passwordEdit = FindViewById(Resource.Id.password);
+ passwordEdit.TextChanged +=
(sender, args) =>
{
- _password = FindViewById(Resource.Id.password).Text;
+ _password = passwordEdit.Text;
UpdateOkButtonState();
};
- FindViewById(Resource.Id.password).EditorAction += (sender, args) =>
+ passwordEdit.EditorAction += (sender, args) =>
{
if ((args.ActionId == ImeAction.Done) || ((args.ActionId == ImeAction.ImeNull) && (args.Event.Action == KeyEventActions.Down)))
OnOk();
};
+ passwordEdit.FocusChange += (sender, args) =>
+ {
+ FindViewById(Resource.Id.unlock_img_button).Visibility = args.HasFocus ? ViewStates.Visible : ViewStates.Gone;
+ };
FindViewById(Resource.Id.pass_otpsecret).TextChanged += (sender, args) => UpdateOkButtonState();
-
- EditText passwordEdit = FindViewById(Resource.Id.password);
passwordEdit.Text = _password;
passwordEdit.RequestFocus();
Window.SetSoftInputMode(SoftInput.StateVisible);
- InitializeOkButton();
+
+ var passwordFont = Typeface.CreateFromAsset(Assets, "SourceCodePro-Regular.ttf");
+ passwordEdit.Typeface = passwordFont;
+
+
+ FindViewById(Resource.Id.unlock_img_button).Click += (sender, args) => OnOk();
+
+ InitializeBottomBarButtons();
InitializePasswordModeSpinner();
InitializeOtpSecretSpinner();
+ InitializeNavDrawerButtons();
+
UpdateOkButtonState();
InitializeTogglePasswordButton();
@@ -800,7 +827,70 @@ namespace keepass2android
}
}
- private void InitializeOtpSecretSpinner()
+ private void InitializeNavDrawerButtons()
+ {
+ FindViewById(Resource.Id.btn_nav_change_db).Click += (sender, args) =>
+ {
+ GoToFileSelectActivity();
+ };
+
+ FindViewById(Resource.Id.btn_nav_donate).Click += (sender, args) =>
+ {
+ Util.GotoDonateUrl(this);
+ };
+ FindViewById(Resource.Id.btn_nav_about).Click += (sender, args) =>
+ {
+ AboutDialog dialog = new AboutDialog(this);
+ dialog.Show();
+ };
+
+ FindViewById(Resource.Id.btn_nav_settings).Click += (sender, args) =>
+ {
+ AppSettingsActivity.Launch(this);
+ };
+
+ }
+
+ private void InitializeToolbar()
+ {
+ var toolbar = FindViewById(Resource.Id.toolbar);
+
+ SetSupportActionBar(toolbar);
+
+ var collapsingToolbar = FindViewById(Resource.Id.collapsing_toolbar);
+ collapsingToolbar.SetTitle(GetString(Resource.String.unlock_database_title));
+
+ _drawerLayout = FindViewById(Resource.Id.drawer_layout);
+ mDrawerToggle = new ActionBarDrawerToggle(this, _drawerLayout,
+ Resource.String.menu_open,
+ Resource.String.menu_close);
+
+
+ _drawerLayout.SetDrawerListener(mDrawerToggle);
+
+
+ SupportActionBar.SetDisplayHomeAsUpEnabled(true);
+ SupportActionBar.SetHomeButtonEnabled(true);
+ mDrawerToggle.SyncState();
+
+ //TODO REMOVE
+ //SupportActionBar.SetDisplayHomeAsUpEnabled(true);
+ //SupportActionBar.SetDisplayShowHomeEnabled(true);
+
+ //toolbar.NavigationClick += (sender, args) => OnBackPressed();
+ }
+
+ public override void OnBackPressed()
+ {
+ if (_drawerLayout.IsDrawerOpen((int) GravityFlags.Start))
+ {
+ _drawerLayout.CloseDrawer((int)GravityFlags.Start);
+ return;
+ }
+ base.OnBackPressed();
+ }
+
+ private void InitializeOtpSecretSpinner()
{
Spinner spinner = FindViewById(Resource.Id.otpsecret_format_spinner);
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleSpinnerDropDownItem, EncodingUtil.Formats);
@@ -892,13 +982,15 @@ namespace keepass2android
return true;
}
- private void InitializeOkButton()
+ private void InitializeBottomBarButtons()
{
Button confirmButton = (Button) FindViewById(Resource.Id.pass_ok);
confirmButton.Click += (sender, e) =>
{
OnOk();
};
+
+ FindViewById(Resource.Id.change_db).Click += (sender, args) => GoToFileSelectActivity();
}
private void OnOk()
@@ -1012,17 +1104,18 @@ namespace keepass2android
private void UpdateOkButtonState()
{
+ bool enabled = false;
switch (KeyProviderType)
{
case KeyProviders.None:
- FindViewById(Resource.Id.pass_ok).Enabled = true;
+ enabled = true;
break;
case KeyProviders.KeyFile:
- FindViewById(Resource.Id.pass_ok).Enabled = _keyFileOrProvider != "" || _password != "";
+ enabled = _keyFileOrProvider != "" || _password != "";
break;
case KeyProviders.Otp:
- bool enabled = true;
+ enabled = true;
if (_otpInfo == null)
enabled = false;
else
@@ -1040,18 +1133,20 @@ namespace keepass2android
}
}
- FindViewById(Resource.Id.pass_ok).Enabled = enabled;
+
break;
case KeyProviders.OtpRecovery:
case KeyProviders.ChalRecovery:
- FindViewById(Resource.Id.pass_ok).Enabled = FindViewById(Resource.Id.pass_otpsecret).Text != "";
+ enabled = FindViewById(Resource.Id.pass_otpsecret).Text != "";
break;
case KeyProviders.Challenge:
- FindViewById(Resource.Id.pass_ok).Enabled = _challengeSecret != null;
+ enabled = _challengeSecret != null;
break;
default:
throw new ArgumentOutOfRangeException();
}
+ FindViewById(Resource.Id.pass_ok).Enabled = enabled;
+ FindViewById(Resource.Id.unlock_img_button).Enabled = enabled;
}
private void UpdateKeyProviderUiState()
@@ -1216,14 +1311,25 @@ namespace keepass2android
if (_showPassword)
{
password.InputType = InputTypes.ClassText | InputTypes.TextVariationVisiblePassword;
+ SetPasswordTypeface(password);
}
else
{
password.InputType = InputTypes.ClassText | InputTypes.TextVariationPassword;
}
+
}
- private void SetNewDefaultFile()
+ private void SetPasswordTypeface(TextView textView)
+ {
+ if (_passwordFont == null)
+ {
+ _passwordFont = Typeface.CreateFromAsset(Assets, "SourceCodePro-Regular.ttf");
+ }
+ textView.Typeface = _passwordFont;
+ }
+
+ private void SetNewDefaultFile()
{
//Don't allow the current file to be the default if we don't have stored credentials
bool makeFileDefault;
@@ -1514,15 +1620,7 @@ namespace keepass2android
private void InitializeFilenameView() {
SetEditText(Resource.Id.filename, App.Kp2a.GetFileStorage(_ioConnection).GetDisplayName(_ioConnection));
- if (App.Kp2a.FileDbHelper.NumberOfRecentFiles() < 2)
- {
- FindViewById(Resource.Id.filename_group).Visibility = ViewStates.Gone;
- }
- else
- {
- FindViewById(Resource.Id.filename_group).Visibility = ViewStates.Visible;
- }
-
+
}
protected override void OnDestroy()
@@ -1547,30 +1645,13 @@ namespace keepass2android
te.Text = str;
}
}
-
- public override bool OnCreateOptionsMenu(IMenu menu) {
- base.OnCreateOptionsMenu(menu);
-
- MenuInflater inflate = MenuInflater;
- inflate.Inflate(Resource.Menu.password, menu);
-
- return true;
- }
public override bool OnOptionsItemSelected(IMenuItem item) {
switch ( item.ItemId ) {
- case Resource.Id.menu_about:
- AboutDialog dialog = new AboutDialog(this);
- dialog.Show();
- return true;
- case Resource.Id.menu_app_settings:
- AppSettingsActivity.Launch(this);
- return true;
-
- case Resource.Id.menu_change_db:
- GoToFileSelectActivity();
- return true;
+ case Android.Resource.Id.Home:
+ _drawerLayout.OpenDrawer(Android.Support.V4.View.GravityCompat.Start);
+ return true;
}
return base.OnOptionsItemSelected(item);
diff --git a/src/keepass2android/Properties/AndroidManifest_light.xml b/src/keepass2android/Properties/AndroidManifest_light.xml
index 3c29dd30..0e57ca33 100644
--- a/src/keepass2android/Properties/AndroidManifest_light.xml
+++ b/src/keepass2android/Properties/AndroidManifest_light.xml
@@ -11,7 +11,7 @@
-
+
diff --git a/src/keepass2android/Properties/AndroidManifest_net.xml b/src/keepass2android/Properties/AndroidManifest_net.xml
index f77e043d..a35a6bd5 100644
--- a/src/keepass2android/Properties/AndroidManifest_net.xml
+++ b/src/keepass2android/Properties/AndroidManifest_net.xml
@@ -57,7 +57,7 @@
-
+
diff --git a/src/keepass2android/Properties/AndroidManifest_nonet.xml b/src/keepass2android/Properties/AndroidManifest_nonet.xml
index 873b00c0..b0a1badc 100644
--- a/src/keepass2android/Properties/AndroidManifest_nonet.xml
+++ b/src/keepass2android/Properties/AndroidManifest_nonet.xml
@@ -40,7 +40,7 @@
-
+
diff --git a/src/keepass2android/PwGroupListAdapter.cs b/src/keepass2android/PwGroupListAdapter.cs
index 2f5c7031..ca96c51e 100644
--- a/src/keepass2android/PwGroupListAdapter.cs
+++ b/src/keepass2android/PwGroupListAdapter.cs
@@ -275,6 +275,11 @@ namespace keepass2android
public override Java.Lang.Object GetItem(int position) {
return position;
}
+
+ public bool IsGroupAtPosition(int position)
+ {
+ return position < _groupsForViewing.Count;
+ }
public override long GetItemId(int position) {
return position;
@@ -288,6 +293,7 @@ namespace keepass2android
} else {
return CreateEntryView(position - size, convertView);
}
+ //TODO remove right arrow in actionmode
}
private View CreateGroupView(int position, View convertView) {
diff --git a/src/keepass2android/QueryCredentialsActivity.cs b/src/keepass2android/QueryCredentialsActivity.cs
index ccbdf2b8..295b144b 100644
--- a/src/keepass2android/QueryCredentialsActivity.cs
+++ b/src/keepass2android/QueryCredentialsActivity.cs
@@ -16,7 +16,7 @@ namespace keepass2android
{
[Activity(Label = "@string/app_name",
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden,
- Theme = "@style/Base")]
+ Theme = "@style/MyTheme_ActionBar")]
[IntentFilter(new[] { Strings.ActionQueryCredentials},
Categories = new[] { Intent.CategoryDefault })]
[IntentFilter(new[] { Strings.ActionQueryCredentialsForOwnPackage },
diff --git a/src/keepass2android/QuickUnlock.cs b/src/keepass2android/QuickUnlock.cs
index af6c85e2..8eae8699 100644
--- a/src/keepass2android/QuickUnlock.cs
+++ b/src/keepass2android/QuickUnlock.cs
@@ -30,7 +30,7 @@ using KeePassLib.Serialization;
namespace keepass2android
{
[Activity(Label = "@string/app_name", ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden,
- Theme = "@style/Base")]
+ Theme = "@style/MyTheme")]
public class QuickUnlock : LifecycleDebugActivity
{
private IOConnectionInfo _ioc;
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic00.png b/src/keepass2android/Resources/drawable-hdpi/ic00.png
deleted file mode 100644
index 98d7607e..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic00.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic01.png b/src/keepass2android/Resources/drawable-hdpi/ic01.png
deleted file mode 100644
index b5f28c47..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic01.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic02.png b/src/keepass2android/Resources/drawable-hdpi/ic02.png
deleted file mode 100644
index b11a7b6a..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic02.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic03.png b/src/keepass2android/Resources/drawable-hdpi/ic03.png
deleted file mode 100644
index eb337b41..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic03.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic04.png b/src/keepass2android/Resources/drawable-hdpi/ic04.png
deleted file mode 100644
index ea9c78ed..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic04.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic05.png b/src/keepass2android/Resources/drawable-hdpi/ic05.png
deleted file mode 100644
index 5eae5128..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic05.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic06.png b/src/keepass2android/Resources/drawable-hdpi/ic06.png
deleted file mode 100644
index ed1c867f..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic06.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic07.png b/src/keepass2android/Resources/drawable-hdpi/ic07.png
deleted file mode 100644
index 36459cf4..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic07.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic08.png b/src/keepass2android/Resources/drawable-hdpi/ic08.png
deleted file mode 100644
index 1bacbaae..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic08.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic09.png b/src/keepass2android/Resources/drawable-hdpi/ic09.png
deleted file mode 100644
index e21451fc..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic09.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic10.png b/src/keepass2android/Resources/drawable-hdpi/ic10.png
deleted file mode 100644
index 75619bce..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic10.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic11.png b/src/keepass2android/Resources/drawable-hdpi/ic11.png
deleted file mode 100644
index 68046fae..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic11.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic12.png b/src/keepass2android/Resources/drawable-hdpi/ic12.png
deleted file mode 100644
index 67d7f50f..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic12.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic13.png b/src/keepass2android/Resources/drawable-hdpi/ic13.png
deleted file mode 100644
index 99b3b7fc..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic13.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic14.png b/src/keepass2android/Resources/drawable-hdpi/ic14.png
deleted file mode 100644
index 4a378789..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic14.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic15.png b/src/keepass2android/Resources/drawable-hdpi/ic15.png
deleted file mode 100644
index 71aed183..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic15.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic16.png b/src/keepass2android/Resources/drawable-hdpi/ic16.png
deleted file mode 100644
index 1fae5e7c..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic16.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic17.png b/src/keepass2android/Resources/drawable-hdpi/ic17.png
deleted file mode 100644
index 1b0a5033..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic17.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic18.png b/src/keepass2android/Resources/drawable-hdpi/ic18.png
deleted file mode 100644
index 6b9ab9e1..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic18.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic19.png b/src/keepass2android/Resources/drawable-hdpi/ic19.png
deleted file mode 100644
index 79699c82..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic19.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic20.png b/src/keepass2android/Resources/drawable-hdpi/ic20.png
deleted file mode 100644
index 0c17cd9a..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic20.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic21.png b/src/keepass2android/Resources/drawable-hdpi/ic21.png
deleted file mode 100644
index 3aa37ad2..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic21.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic22.png b/src/keepass2android/Resources/drawable-hdpi/ic22.png
deleted file mode 100644
index 884c362c..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic22.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic23.png b/src/keepass2android/Resources/drawable-hdpi/ic23.png
deleted file mode 100644
index ba4744f9..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic23.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic24.png b/src/keepass2android/Resources/drawable-hdpi/ic24.png
deleted file mode 100644
index 4a2de8c7..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic24.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic25.png b/src/keepass2android/Resources/drawable-hdpi/ic25.png
deleted file mode 100644
index 23365a12..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic25.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic26.png b/src/keepass2android/Resources/drawable-hdpi/ic26.png
deleted file mode 100644
index caee87ba..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic26.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic27.png b/src/keepass2android/Resources/drawable-hdpi/ic27.png
deleted file mode 100644
index 20cd06b2..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic27.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic28.png b/src/keepass2android/Resources/drawable-hdpi/ic28.png
deleted file mode 100644
index 004b077f..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic28.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic29.png b/src/keepass2android/Resources/drawable-hdpi/ic29.png
deleted file mode 100644
index 3e2421f6..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic29.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic30.png b/src/keepass2android/Resources/drawable-hdpi/ic30.png
deleted file mode 100644
index aad1041b..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic30.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic31.png b/src/keepass2android/Resources/drawable-hdpi/ic31.png
deleted file mode 100644
index 05e15987..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic31.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic32.png b/src/keepass2android/Resources/drawable-hdpi/ic32.png
deleted file mode 100644
index 299e1372..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic32.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic33.png b/src/keepass2android/Resources/drawable-hdpi/ic33.png
deleted file mode 100644
index d741485f..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic33.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic34.png b/src/keepass2android/Resources/drawable-hdpi/ic34.png
deleted file mode 100644
index 2bf463be..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic34.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic35.png b/src/keepass2android/Resources/drawable-hdpi/ic35.png
deleted file mode 100644
index f83e3dcc..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic35.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic36.png b/src/keepass2android/Resources/drawable-hdpi/ic36.png
deleted file mode 100644
index 3393d26a..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic36.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic37.png b/src/keepass2android/Resources/drawable-hdpi/ic37.png
deleted file mode 100644
index 3ba9bf29..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic37.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic38.png b/src/keepass2android/Resources/drawable-hdpi/ic38.png
deleted file mode 100644
index 83d8e7ee..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic38.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic39.png b/src/keepass2android/Resources/drawable-hdpi/ic39.png
deleted file mode 100644
index 7907787f..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic39.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic40.png b/src/keepass2android/Resources/drawable-hdpi/ic40.png
deleted file mode 100644
index 56b68ee3..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic40.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic41.png b/src/keepass2android/Resources/drawable-hdpi/ic41.png
deleted file mode 100644
index 9a352239..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic41.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic42.png b/src/keepass2android/Resources/drawable-hdpi/ic42.png
deleted file mode 100644
index ecd80726..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic42.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic43.png b/src/keepass2android/Resources/drawable-hdpi/ic43.png
deleted file mode 100644
index 906608fb..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic43.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic44.png b/src/keepass2android/Resources/drawable-hdpi/ic44.png
deleted file mode 100644
index d0d7cba9..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic44.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic45.png b/src/keepass2android/Resources/drawable-hdpi/ic45.png
deleted file mode 100644
index 6b4497d5..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic45.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic46.png b/src/keepass2android/Resources/drawable-hdpi/ic46.png
deleted file mode 100644
index 079f8fc5..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic46.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic47.png b/src/keepass2android/Resources/drawable-hdpi/ic47.png
deleted file mode 100644
index c8a65a75..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic47.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic48.png b/src/keepass2android/Resources/drawable-hdpi/ic48.png
deleted file mode 100644
index 31c8a7ed..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic48.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic49.png b/src/keepass2android/Resources/drawable-hdpi/ic49.png
deleted file mode 100644
index f7314b34..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic49.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic50.png b/src/keepass2android/Resources/drawable-hdpi/ic50.png
deleted file mode 100644
index bf10afc0..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic50.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic51.png b/src/keepass2android/Resources/drawable-hdpi/ic51.png
deleted file mode 100644
index c532f17e..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic51.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic52.png b/src/keepass2android/Resources/drawable-hdpi/ic52.png
deleted file mode 100644
index 4d42a7e3..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic52.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic53.png b/src/keepass2android/Resources/drawable-hdpi/ic53.png
deleted file mode 100644
index 3b7a6907..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic53.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic54.png b/src/keepass2android/Resources/drawable-hdpi/ic54.png
deleted file mode 100644
index 3df00d2c..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic54.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic55.png b/src/keepass2android/Resources/drawable-hdpi/ic55.png
deleted file mode 100644
index bcc16814..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic55.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic56.png b/src/keepass2android/Resources/drawable-hdpi/ic56.png
deleted file mode 100644
index 16f440dd..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic56.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic57.png b/src/keepass2android/Resources/drawable-hdpi/ic57.png
deleted file mode 100644
index c0f2b0f5..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic57.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic58.png b/src/keepass2android/Resources/drawable-hdpi/ic58.png
deleted file mode 100644
index 108d62e8..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic58.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic59.png b/src/keepass2android/Resources/drawable-hdpi/ic59.png
deleted file mode 100644
index 22a9248f..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic59.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic60.png b/src/keepass2android/Resources/drawable-hdpi/ic60.png
deleted file mode 100644
index 74f8aea8..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic60.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic61.png b/src/keepass2android/Resources/drawable-hdpi/ic61.png
deleted file mode 100644
index e4e12439..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic61.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic62.png b/src/keepass2android/Resources/drawable-hdpi/ic62.png
deleted file mode 100644
index 1038b740..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic62.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic63.png b/src/keepass2android/Resources/drawable-hdpi/ic63.png
deleted file mode 100644
index 92298bfa..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic63.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic65.png b/src/keepass2android/Resources/drawable-hdpi/ic65.png
deleted file mode 100644
index 257c9d50..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic65.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic66.png b/src/keepass2android/Resources/drawable-hdpi/ic66.png
deleted file mode 100644
index 6d9ed096..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic66.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic67.png b/src/keepass2android/Resources/drawable-hdpi/ic67.png
deleted file mode 100644
index 054e5cae..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic67.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic68.png b/src/keepass2android/Resources/drawable-hdpi/ic68.png
deleted file mode 100644
index a5ac3110..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic68.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic99_blank.png b/src/keepass2android/Resources/drawable-hdpi/ic99_blank.png
deleted file mode 100644
index f7f57386..00000000
Binary files a/src/keepass2android/Resources/drawable-hdpi/ic99_blank.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic00.png b/src/keepass2android/Resources/drawable-ldpi/ic00.png
deleted file mode 100644
index 2990c1f0..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic00.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic01.png b/src/keepass2android/Resources/drawable-ldpi/ic01.png
deleted file mode 100644
index f8bcf643..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic01.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic02.png b/src/keepass2android/Resources/drawable-ldpi/ic02.png
deleted file mode 100644
index b5286fe7..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic02.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic03.png b/src/keepass2android/Resources/drawable-ldpi/ic03.png
deleted file mode 100644
index f84a9c90..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic03.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic04.png b/src/keepass2android/Resources/drawable-ldpi/ic04.png
deleted file mode 100644
index 42d2659c..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic04.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic05.png b/src/keepass2android/Resources/drawable-ldpi/ic05.png
deleted file mode 100644
index 8860588a..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic05.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic06.png b/src/keepass2android/Resources/drawable-ldpi/ic06.png
deleted file mode 100644
index a3b23521..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic06.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic07.png b/src/keepass2android/Resources/drawable-ldpi/ic07.png
deleted file mode 100644
index cbfc7f84..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic07.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic08.png b/src/keepass2android/Resources/drawable-ldpi/ic08.png
deleted file mode 100644
index 2225ad07..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic08.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic09.png b/src/keepass2android/Resources/drawable-ldpi/ic09.png
deleted file mode 100644
index 2f2e222f..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic09.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic10.png b/src/keepass2android/Resources/drawable-ldpi/ic10.png
deleted file mode 100644
index 6019830f..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic10.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic11.png b/src/keepass2android/Resources/drawable-ldpi/ic11.png
deleted file mode 100644
index 67d970d9..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic11.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic12.png b/src/keepass2android/Resources/drawable-ldpi/ic12.png
deleted file mode 100644
index 4f553d83..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic12.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic13.png b/src/keepass2android/Resources/drawable-ldpi/ic13.png
deleted file mode 100644
index 8675e51f..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic13.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic14.png b/src/keepass2android/Resources/drawable-ldpi/ic14.png
deleted file mode 100644
index fc36b738..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic14.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic15.png b/src/keepass2android/Resources/drawable-ldpi/ic15.png
deleted file mode 100644
index 330f4f0f..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic15.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic16.png b/src/keepass2android/Resources/drawable-ldpi/ic16.png
deleted file mode 100644
index 43bbc36a..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic16.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic17.png b/src/keepass2android/Resources/drawable-ldpi/ic17.png
deleted file mode 100644
index f7e136c1..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic17.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic18.png b/src/keepass2android/Resources/drawable-ldpi/ic18.png
deleted file mode 100644
index fb409831..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic18.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic19.png b/src/keepass2android/Resources/drawable-ldpi/ic19.png
deleted file mode 100644
index 683f7d41..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic19.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic20.png b/src/keepass2android/Resources/drawable-ldpi/ic20.png
deleted file mode 100644
index 60ddc27f..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic20.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic21.png b/src/keepass2android/Resources/drawable-ldpi/ic21.png
deleted file mode 100644
index 90fdd6b9..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic21.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic22.png b/src/keepass2android/Resources/drawable-ldpi/ic22.png
deleted file mode 100644
index 28dc82ea..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic22.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic23.png b/src/keepass2android/Resources/drawable-ldpi/ic23.png
deleted file mode 100644
index 6a4ee5f5..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic23.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic24.png b/src/keepass2android/Resources/drawable-ldpi/ic24.png
deleted file mode 100644
index ea7baaff..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic24.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic25.png b/src/keepass2android/Resources/drawable-ldpi/ic25.png
deleted file mode 100644
index 404e8267..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic25.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic26.png b/src/keepass2android/Resources/drawable-ldpi/ic26.png
deleted file mode 100644
index 0a767a78..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic26.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic27.png b/src/keepass2android/Resources/drawable-ldpi/ic27.png
deleted file mode 100644
index 1e8c0c57..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic27.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic28.png b/src/keepass2android/Resources/drawable-ldpi/ic28.png
deleted file mode 100644
index 127d638d..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic28.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic29.png b/src/keepass2android/Resources/drawable-ldpi/ic29.png
deleted file mode 100644
index f8d88334..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic29.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic30.png b/src/keepass2android/Resources/drawable-ldpi/ic30.png
deleted file mode 100644
index 0a4f0e8f..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic30.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic31.png b/src/keepass2android/Resources/drawable-ldpi/ic31.png
deleted file mode 100644
index 41f324f5..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic31.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic32.png b/src/keepass2android/Resources/drawable-ldpi/ic32.png
deleted file mode 100644
index 5b3cf805..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic32.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic33.png b/src/keepass2android/Resources/drawable-ldpi/ic33.png
deleted file mode 100644
index 5bc278bf..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic33.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic34.png b/src/keepass2android/Resources/drawable-ldpi/ic34.png
deleted file mode 100644
index 6d845c5c..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic34.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic35.png b/src/keepass2android/Resources/drawable-ldpi/ic35.png
deleted file mode 100644
index 5d5109c5..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic35.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic36.png b/src/keepass2android/Resources/drawable-ldpi/ic36.png
deleted file mode 100644
index 5cce9624..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic36.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic37.png b/src/keepass2android/Resources/drawable-ldpi/ic37.png
deleted file mode 100644
index c4e3baf9..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic37.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic38.png b/src/keepass2android/Resources/drawable-ldpi/ic38.png
deleted file mode 100644
index 44f634e2..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic38.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic39.png b/src/keepass2android/Resources/drawable-ldpi/ic39.png
deleted file mode 100644
index eb7743f1..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic39.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic40.png b/src/keepass2android/Resources/drawable-ldpi/ic40.png
deleted file mode 100644
index e42faa88..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic40.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic41.png b/src/keepass2android/Resources/drawable-ldpi/ic41.png
deleted file mode 100644
index 47d0222b..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic41.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic42.png b/src/keepass2android/Resources/drawable-ldpi/ic42.png
deleted file mode 100644
index a24772ee..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic42.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic43.png b/src/keepass2android/Resources/drawable-ldpi/ic43.png
deleted file mode 100644
index 5fcabceb..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic43.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic44.png b/src/keepass2android/Resources/drawable-ldpi/ic44.png
deleted file mode 100644
index bf57db20..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic44.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic45.png b/src/keepass2android/Resources/drawable-ldpi/ic45.png
deleted file mode 100644
index 8bd34c45..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic45.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic46.png b/src/keepass2android/Resources/drawable-ldpi/ic46.png
deleted file mode 100644
index f26b6917..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic46.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic47.png b/src/keepass2android/Resources/drawable-ldpi/ic47.png
deleted file mode 100644
index 06072478..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic47.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic48.png b/src/keepass2android/Resources/drawable-ldpi/ic48.png
deleted file mode 100644
index 20df2445..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic48.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic49.png b/src/keepass2android/Resources/drawable-ldpi/ic49.png
deleted file mode 100644
index f51a8d8c..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic49.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic50.png b/src/keepass2android/Resources/drawable-ldpi/ic50.png
deleted file mode 100644
index a438d3d2..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic50.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic51.png b/src/keepass2android/Resources/drawable-ldpi/ic51.png
deleted file mode 100644
index 1c85e52f..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic51.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic52.png b/src/keepass2android/Resources/drawable-ldpi/ic52.png
deleted file mode 100644
index 875eccfd..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic52.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic53.png b/src/keepass2android/Resources/drawable-ldpi/ic53.png
deleted file mode 100644
index 7d6473d7..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic53.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic54.png b/src/keepass2android/Resources/drawable-ldpi/ic54.png
deleted file mode 100644
index 1cf164c8..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic54.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic55.png b/src/keepass2android/Resources/drawable-ldpi/ic55.png
deleted file mode 100644
index 704acdb7..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic55.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic56.png b/src/keepass2android/Resources/drawable-ldpi/ic56.png
deleted file mode 100644
index ce6ab3cc..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic56.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic57.png b/src/keepass2android/Resources/drawable-ldpi/ic57.png
deleted file mode 100644
index 59932cae..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic57.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic58.png b/src/keepass2android/Resources/drawable-ldpi/ic58.png
deleted file mode 100644
index 4e594145..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic58.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic59.png b/src/keepass2android/Resources/drawable-ldpi/ic59.png
deleted file mode 100644
index c70b7af8..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic59.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic60.png b/src/keepass2android/Resources/drawable-ldpi/ic60.png
deleted file mode 100644
index 13e358b6..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic60.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic61.png b/src/keepass2android/Resources/drawable-ldpi/ic61.png
deleted file mode 100644
index 1ac441fb..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic61.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic62.png b/src/keepass2android/Resources/drawable-ldpi/ic62.png
deleted file mode 100644
index 3c511460..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic62.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic63.png b/src/keepass2android/Resources/drawable-ldpi/ic63.png
deleted file mode 100644
index fff876c4..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic63.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic64.png b/src/keepass2android/Resources/drawable-ldpi/ic64.png
deleted file mode 100644
index 2f653f8d..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic64.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic65.png b/src/keepass2android/Resources/drawable-ldpi/ic65.png
deleted file mode 100644
index d9e68cf7..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic65.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic66.png b/src/keepass2android/Resources/drawable-ldpi/ic66.png
deleted file mode 100644
index 94f30cbb..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic66.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic67.png b/src/keepass2android/Resources/drawable-ldpi/ic67.png
deleted file mode 100644
index d8048d1a..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic67.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic68.png b/src/keepass2android/Resources/drawable-ldpi/ic68.png
deleted file mode 100644
index 72536bce..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic68.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-ldpi/ic99_blank.png b/src/keepass2android/Resources/drawable-ldpi/ic99_blank.png
deleted file mode 100644
index 5d8aa999..00000000
Binary files a/src/keepass2android/Resources/drawable-ldpi/ic99_blank.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/checkmark.png b/src/keepass2android/Resources/drawable-xhdpi/checkmark.png
new file mode 100644
index 00000000..c951ca35
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/checkmark.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/createnewdb.png b/src/keepass2android/Resources/drawable-xhdpi/createnewdb.png
new file mode 100644
index 00000000..19c12b7c
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/createnewdb.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic00.png b/src/keepass2android/Resources/drawable-xhdpi/ic00.png
new file mode 100644
index 00000000..d512c066
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic00.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic01.png b/src/keepass2android/Resources/drawable-xhdpi/ic01.png
new file mode 100644
index 00000000..3d0360ff
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic01.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic02.png b/src/keepass2android/Resources/drawable-xhdpi/ic02.png
new file mode 100644
index 00000000..89a777bb
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic02.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic03.png b/src/keepass2android/Resources/drawable-xhdpi/ic03.png
new file mode 100644
index 00000000..b427fa5d
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic03.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic04.png b/src/keepass2android/Resources/drawable-xhdpi/ic04.png
new file mode 100644
index 00000000..a5a5fbf6
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic04.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic05.png b/src/keepass2android/Resources/drawable-xhdpi/ic05.png
new file mode 100644
index 00000000..be8a3de8
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic05.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic06.png b/src/keepass2android/Resources/drawable-xhdpi/ic06.png
new file mode 100644
index 00000000..e4f325f9
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic06.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic07.png b/src/keepass2android/Resources/drawable-xhdpi/ic07.png
new file mode 100644
index 00000000..1ed2130a
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic07.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic08.png b/src/keepass2android/Resources/drawable-xhdpi/ic08.png
new file mode 100644
index 00000000..72728838
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic08.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic09.png b/src/keepass2android/Resources/drawable-xhdpi/ic09.png
new file mode 100644
index 00000000..27632c64
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic09.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic10.png b/src/keepass2android/Resources/drawable-xhdpi/ic10.png
new file mode 100644
index 00000000..33f9653d
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic10.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic11.png b/src/keepass2android/Resources/drawable-xhdpi/ic11.png
new file mode 100644
index 00000000..81cb3c0b
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic11.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic12.png b/src/keepass2android/Resources/drawable-xhdpi/ic12.png
new file mode 100644
index 00000000..a3135d9c
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic12.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic13.png b/src/keepass2android/Resources/drawable-xhdpi/ic13.png
new file mode 100644
index 00000000..151e3042
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic13.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic14.png b/src/keepass2android/Resources/drawable-xhdpi/ic14.png
new file mode 100644
index 00000000..b472b77e
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic14.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic15.png b/src/keepass2android/Resources/drawable-xhdpi/ic15.png
new file mode 100644
index 00000000..1f4703a6
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic15.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic16.png b/src/keepass2android/Resources/drawable-xhdpi/ic16.png
new file mode 100644
index 00000000..68ad8299
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic16.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic17.png b/src/keepass2android/Resources/drawable-xhdpi/ic17.png
new file mode 100644
index 00000000..968e4694
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic17.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic18.png b/src/keepass2android/Resources/drawable-xhdpi/ic18.png
new file mode 100644
index 00000000..3018d26f
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic18.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic19.png b/src/keepass2android/Resources/drawable-xhdpi/ic19.png
new file mode 100644
index 00000000..6c1dced7
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic19.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic20.png b/src/keepass2android/Resources/drawable-xhdpi/ic20.png
new file mode 100644
index 00000000..dccfc7e1
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic20.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic21.png b/src/keepass2android/Resources/drawable-xhdpi/ic21.png
new file mode 100644
index 00000000..84ba5bad
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic21.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic22.png b/src/keepass2android/Resources/drawable-xhdpi/ic22.png
new file mode 100644
index 00000000..f00b8a96
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic22.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic23.png b/src/keepass2android/Resources/drawable-xhdpi/ic23.png
new file mode 100644
index 00000000..2d7bc929
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic23.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic24.png b/src/keepass2android/Resources/drawable-xhdpi/ic24.png
new file mode 100644
index 00000000..a185d131
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic24.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic25.png b/src/keepass2android/Resources/drawable-xhdpi/ic25.png
new file mode 100644
index 00000000..7be604b9
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic25.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic26.png b/src/keepass2android/Resources/drawable-xhdpi/ic26.png
new file mode 100644
index 00000000..8515764d
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic26.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic27.png b/src/keepass2android/Resources/drawable-xhdpi/ic27.png
new file mode 100644
index 00000000..7a915c7a
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic27.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic28.png b/src/keepass2android/Resources/drawable-xhdpi/ic28.png
new file mode 100644
index 00000000..f80bf56a
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic28.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic29.png b/src/keepass2android/Resources/drawable-xhdpi/ic29.png
new file mode 100644
index 00000000..bec42f56
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic29.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic30.png b/src/keepass2android/Resources/drawable-xhdpi/ic30.png
new file mode 100644
index 00000000..fd991472
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic30.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic31.png b/src/keepass2android/Resources/drawable-xhdpi/ic31.png
new file mode 100644
index 00000000..3b87edd7
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic31.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic32.png b/src/keepass2android/Resources/drawable-xhdpi/ic32.png
new file mode 100644
index 00000000..0a7a71fd
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic32.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic33.png b/src/keepass2android/Resources/drawable-xhdpi/ic33.png
new file mode 100644
index 00000000..9494537b
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic33.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic34.png b/src/keepass2android/Resources/drawable-xhdpi/ic34.png
new file mode 100644
index 00000000..6e9702aa
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic34.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic35.png b/src/keepass2android/Resources/drawable-xhdpi/ic35.png
new file mode 100644
index 00000000..253ad62e
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic35.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic36.png b/src/keepass2android/Resources/drawable-xhdpi/ic36.png
new file mode 100644
index 00000000..43948282
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic36.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic37.png b/src/keepass2android/Resources/drawable-xhdpi/ic37.png
new file mode 100644
index 00000000..c61075b0
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic37.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic38.png b/src/keepass2android/Resources/drawable-xhdpi/ic38.png
new file mode 100644
index 00000000..ba22034c
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic38.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic39.png b/src/keepass2android/Resources/drawable-xhdpi/ic39.png
new file mode 100644
index 00000000..270ea5ec
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic39.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic40.png b/src/keepass2android/Resources/drawable-xhdpi/ic40.png
new file mode 100644
index 00000000..2b68912c
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic40.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic41.png b/src/keepass2android/Resources/drawable-xhdpi/ic41.png
new file mode 100644
index 00000000..f2c316ed
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic41.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic42.png b/src/keepass2android/Resources/drawable-xhdpi/ic42.png
new file mode 100644
index 00000000..8976a6ed
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic42.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic43.png b/src/keepass2android/Resources/drawable-xhdpi/ic43.png
new file mode 100644
index 00000000..1c300686
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic43.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic44.png b/src/keepass2android/Resources/drawable-xhdpi/ic44.png
new file mode 100644
index 00000000..81e7740c
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic44.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic45.png b/src/keepass2android/Resources/drawable-xhdpi/ic45.png
new file mode 100644
index 00000000..7b4a9ca9
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic45.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic46.png b/src/keepass2android/Resources/drawable-xhdpi/ic46.png
new file mode 100644
index 00000000..91479e57
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic46.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic47.png b/src/keepass2android/Resources/drawable-xhdpi/ic47.png
new file mode 100644
index 00000000..ab8d938a
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic47.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic48.png b/src/keepass2android/Resources/drawable-xhdpi/ic48.png
new file mode 100644
index 00000000..89789973
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic48.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic49.png b/src/keepass2android/Resources/drawable-xhdpi/ic49.png
new file mode 100644
index 00000000..57bc7d23
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic49.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic50.png b/src/keepass2android/Resources/drawable-xhdpi/ic50.png
new file mode 100644
index 00000000..fdb4d21e
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic50.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic51.png b/src/keepass2android/Resources/drawable-xhdpi/ic51.png
new file mode 100644
index 00000000..1f786e42
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic51.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic52.png b/src/keepass2android/Resources/drawable-xhdpi/ic52.png
new file mode 100644
index 00000000..74c6adf8
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic52.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic53.png b/src/keepass2android/Resources/drawable-xhdpi/ic53.png
new file mode 100644
index 00000000..d22af397
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic53.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic54.png b/src/keepass2android/Resources/drawable-xhdpi/ic54.png
new file mode 100644
index 00000000..d0022bba
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic54.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic55.png b/src/keepass2android/Resources/drawable-xhdpi/ic55.png
new file mode 100644
index 00000000..331115ce
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic55.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic56.png b/src/keepass2android/Resources/drawable-xhdpi/ic56.png
new file mode 100644
index 00000000..84c77e78
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic56.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic57.png b/src/keepass2android/Resources/drawable-xhdpi/ic57.png
new file mode 100644
index 00000000..7839d6c1
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic57.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic58.png b/src/keepass2android/Resources/drawable-xhdpi/ic58.png
new file mode 100644
index 00000000..c216d918
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic58.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic59.png b/src/keepass2android/Resources/drawable-xhdpi/ic59.png
new file mode 100644
index 00000000..3dd50da6
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic59.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic60.png b/src/keepass2android/Resources/drawable-xhdpi/ic60.png
new file mode 100644
index 00000000..335471b8
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic60.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic61.png b/src/keepass2android/Resources/drawable-xhdpi/ic61.png
new file mode 100644
index 00000000..209ccddb
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic61.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic62.png b/src/keepass2android/Resources/drawable-xhdpi/ic62.png
new file mode 100644
index 00000000..1641d70f
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic62.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic63.png b/src/keepass2android/Resources/drawable-xhdpi/ic63.png
new file mode 100644
index 00000000..000e245e
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic63.png differ
diff --git a/src/keepass2android/Resources/drawable-hdpi/ic64.png b/src/keepass2android/Resources/drawable-xhdpi/ic64.png
similarity index 100%
rename from src/keepass2android/Resources/drawable-hdpi/ic64.png
rename to src/keepass2android/Resources/drawable-xhdpi/ic64.png
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic65.png b/src/keepass2android/Resources/drawable-xhdpi/ic65.png
new file mode 100644
index 00000000..cade10b0
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic65.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic66.png b/src/keepass2android/Resources/drawable-xhdpi/ic66.png
new file mode 100644
index 00000000..2f7db0ca
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic66.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic67.png b/src/keepass2android/Resources/drawable-xhdpi/ic67.png
new file mode 100644
index 00000000..6dfdb89d
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic67.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic68.png b/src/keepass2android/Resources/drawable-xhdpi/ic68.png
new file mode 100644
index 00000000..14d28ec1
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic68.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_attachments.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_attachments.png
new file mode 100644
index 00000000..9a57a97c
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_attachments.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_comments.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_comments.png
new file mode 100644
index 00000000..11458596
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_comments.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_created.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_created.png
new file mode 100644
index 00000000..703a42a0
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_created.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_expires.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_expires.png
new file mode 100644
index 00000000..781bf243
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_expires.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_extras.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_extras.png
new file mode 100644
index 00000000..1ac6b328
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_extras.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_group.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_group.png
new file mode 100644
index 00000000..1526c3ef
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_group.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_modified.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_modified.png
new file mode 100644
index 00000000..50111281
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_modified.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_password.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_password.png
new file mode 100644
index 00000000..4b9e2ba5
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_password.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_tags.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_tags.png
new file mode 100644
index 00000000..f6259fe8
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_tags.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_url.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_url.png
new file mode 100644
index 00000000..98144a98
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_url.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_entry_username.png b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_username.png
new file mode 100644
index 00000000..97e7b6e1
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_entry_username.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_fab_edit.png b/src/keepass2android/Resources/drawable-xhdpi/ic_fab_edit.png
new file mode 100644
index 00000000..4bebcf1e
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_fab_edit.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_fab_entry.png b/src/keepass2android/Resources/drawable-xhdpi/ic_fab_entry.png
new file mode 100644
index 00000000..4bebcf1e
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_fab_entry.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_fab_folder.png b/src/keepass2android/Resources/drawable-xhdpi/ic_fab_folder.png
new file mode 100644
index 00000000..08a883f1
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_fab_folder.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_menu_cut.png b/src/keepass2android/Resources/drawable-xhdpi/ic_menu_cut.png
new file mode 100644
index 00000000..58470c78
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_menu_cut.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_menu_delete.png b/src/keepass2android/Resources/drawable-xhdpi/ic_menu_delete.png
new file mode 100644
index 00000000..585e2b71
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_menu_delete.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_menu_edit.png b/src/keepass2android/Resources/drawable-xhdpi/ic_menu_edit.png
new file mode 100644
index 00000000..a07a605b
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_menu_edit.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_menu_lock.png b/src/keepass2android/Resources/drawable-xhdpi/ic_menu_lock.png
new file mode 100644
index 00000000..4141cfd7
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_menu_lock.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_menu_navigate.png b/src/keepass2android/Resources/drawable-xhdpi/ic_menu_navigate.png
new file mode 100644
index 00000000..3d2dcc2a
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_menu_navigate.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_nav_about.png b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_about.png
new file mode 100644
index 00000000..ffc91369
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_about.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_nav_changedb.png b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_changedb.png
new file mode 100644
index 00000000..c85ab412
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_changedb.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_nav_donate.png b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_donate.png
new file mode 100644
index 00000000..9808bf65
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_donate.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_nav_search.png b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_search.png
new file mode 100644
index 00000000..079df7f0
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_search.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_nav_settings.png b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_settings.png
new file mode 100644
index 00000000..80ac0d56
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_settings.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_nav_sort.png b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_sort.png
new file mode 100644
index 00000000..af930bde
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_nav_sort.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_plus.png b/src/keepass2android/Resources/drawable-xhdpi/ic_plus.png
new file mode 100644
index 00000000..b4d852d2
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_plus.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_plus_button.png b/src/keepass2android/Resources/drawable-xhdpi/ic_plus_button.png
new file mode 100644
index 00000000..32a3703e
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_plus_button.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/ic_unlock.png b/src/keepass2android/Resources/drawable-xhdpi/ic_unlock.png
new file mode 100644
index 00000000..2302fcc8
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/ic_unlock.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/opendb.png b/src/keepass2android/Resources/drawable-xhdpi/opendb.png
new file mode 100644
index 00000000..00228d23
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/opendb.png differ
diff --git a/src/keepass2android/Resources/drawable-xhdpi/rightarrow.png b/src/keepass2android/Resources/drawable-xhdpi/rightarrow.png
new file mode 100644
index 00000000..6ad75d19
Binary files /dev/null and b/src/keepass2android/Resources/drawable-xhdpi/rightarrow.png differ
diff --git a/src/keepass2android/Resources/drawable/checked_drawable.xml b/src/keepass2android/Resources/drawable/checked_drawable.xml
new file mode 100644
index 00000000..72d4eb33
--- /dev/null
+++ b/src/keepass2android/Resources/drawable/checked_drawable.xml
@@ -0,0 +1,5 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/drawable/drawer_shadow.9.png b/src/keepass2android/Resources/drawable/drawer_shadow.9.png
new file mode 100644
index 00000000..224cc4ff
Binary files /dev/null and b/src/keepass2android/Resources/drawable/drawer_shadow.9.png differ
diff --git a/src/keepass2android/Resources/drawable/entry_icon_bkg_drawable.xml b/src/keepass2android/Resources/drawable/entry_icon_bkg_drawable.xml
new file mode 100644
index 00000000..fc10856c
--- /dev/null
+++ b/src/keepass2android/Resources/drawable/entry_icon_bkg_drawable.xml
@@ -0,0 +1,29 @@
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/drawable/group_icon_bkg_drawable.xml b/src/keepass2android/Resources/drawable/group_icon_bkg_drawable.xml
new file mode 100644
index 00000000..f9f64191
--- /dev/null
+++ b/src/keepass2android/Resources/drawable/group_icon_bkg_drawable.xml
@@ -0,0 +1,29 @@
+
+
+ -
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/drawable/grouplistitem_selector.xml b/src/keepass2android/Resources/drawable/grouplistitem_selector.xml
new file mode 100644
index 00000000..d2f898ff
--- /dev/null
+++ b/src/keepass2android/Resources/drawable/grouplistitem_selector.xml
@@ -0,0 +1,16 @@
+
+
+
+ -
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/drawable/ic00.png b/src/keepass2android/Resources/drawable/ic00.png
deleted file mode 100644
index b74e831f..00000000
Binary files a/src/keepass2android/Resources/drawable/ic00.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic01.png b/src/keepass2android/Resources/drawable/ic01.png
deleted file mode 100644
index e164a9f3..00000000
Binary files a/src/keepass2android/Resources/drawable/ic01.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic02.png b/src/keepass2android/Resources/drawable/ic02.png
deleted file mode 100644
index d5f6551d..00000000
Binary files a/src/keepass2android/Resources/drawable/ic02.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic03.png b/src/keepass2android/Resources/drawable/ic03.png
deleted file mode 100644
index b3781e45..00000000
Binary files a/src/keepass2android/Resources/drawable/ic03.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic04.png b/src/keepass2android/Resources/drawable/ic04.png
deleted file mode 100644
index def2ea10..00000000
Binary files a/src/keepass2android/Resources/drawable/ic04.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic05.png b/src/keepass2android/Resources/drawable/ic05.png
deleted file mode 100644
index 67118111..00000000
Binary files a/src/keepass2android/Resources/drawable/ic05.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic06.png b/src/keepass2android/Resources/drawable/ic06.png
deleted file mode 100644
index 57c1a1da..00000000
Binary files a/src/keepass2android/Resources/drawable/ic06.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic07.png b/src/keepass2android/Resources/drawable/ic07.png
deleted file mode 100644
index 89ef01ba..00000000
Binary files a/src/keepass2android/Resources/drawable/ic07.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic08.png b/src/keepass2android/Resources/drawable/ic08.png
deleted file mode 100644
index cb5f8f0a..00000000
Binary files a/src/keepass2android/Resources/drawable/ic08.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic09.png b/src/keepass2android/Resources/drawable/ic09.png
deleted file mode 100644
index b38168a2..00000000
Binary files a/src/keepass2android/Resources/drawable/ic09.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic10.png b/src/keepass2android/Resources/drawable/ic10.png
deleted file mode 100644
index 966610d9..00000000
Binary files a/src/keepass2android/Resources/drawable/ic10.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic11.png b/src/keepass2android/Resources/drawable/ic11.png
deleted file mode 100644
index b41b44c3..00000000
Binary files a/src/keepass2android/Resources/drawable/ic11.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic12.png b/src/keepass2android/Resources/drawable/ic12.png
deleted file mode 100644
index 92ca07dc..00000000
Binary files a/src/keepass2android/Resources/drawable/ic12.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic13.png b/src/keepass2android/Resources/drawable/ic13.png
deleted file mode 100644
index 42b6ec07..00000000
Binary files a/src/keepass2android/Resources/drawable/ic13.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic14.png b/src/keepass2android/Resources/drawable/ic14.png
deleted file mode 100644
index b7552c07..00000000
Binary files a/src/keepass2android/Resources/drawable/ic14.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic15.png b/src/keepass2android/Resources/drawable/ic15.png
deleted file mode 100644
index 974635d9..00000000
Binary files a/src/keepass2android/Resources/drawable/ic15.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic16.png b/src/keepass2android/Resources/drawable/ic16.png
deleted file mode 100644
index 47d4b36f..00000000
Binary files a/src/keepass2android/Resources/drawable/ic16.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic17.png b/src/keepass2android/Resources/drawable/ic17.png
deleted file mode 100644
index 209af79d..00000000
Binary files a/src/keepass2android/Resources/drawable/ic17.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic18.png b/src/keepass2android/Resources/drawable/ic18.png
deleted file mode 100644
index 30f1dfa0..00000000
Binary files a/src/keepass2android/Resources/drawable/ic18.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic19.png b/src/keepass2android/Resources/drawable/ic19.png
deleted file mode 100644
index 356a2e7b..00000000
Binary files a/src/keepass2android/Resources/drawable/ic19.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic20.png b/src/keepass2android/Resources/drawable/ic20.png
deleted file mode 100644
index 135fd11b..00000000
Binary files a/src/keepass2android/Resources/drawable/ic20.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic21.png b/src/keepass2android/Resources/drawable/ic21.png
deleted file mode 100644
index d80fc95a..00000000
Binary files a/src/keepass2android/Resources/drawable/ic21.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic22.png b/src/keepass2android/Resources/drawable/ic22.png
deleted file mode 100644
index 788d0e7c..00000000
Binary files a/src/keepass2android/Resources/drawable/ic22.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic23.png b/src/keepass2android/Resources/drawable/ic23.png
deleted file mode 100644
index 6345beab..00000000
Binary files a/src/keepass2android/Resources/drawable/ic23.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic24.png b/src/keepass2android/Resources/drawable/ic24.png
deleted file mode 100644
index 6b77a056..00000000
Binary files a/src/keepass2android/Resources/drawable/ic24.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic25.png b/src/keepass2android/Resources/drawable/ic25.png
deleted file mode 100644
index 280423f3..00000000
Binary files a/src/keepass2android/Resources/drawable/ic25.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic26.png b/src/keepass2android/Resources/drawable/ic26.png
deleted file mode 100644
index 9e278996..00000000
Binary files a/src/keepass2android/Resources/drawable/ic26.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic27.png b/src/keepass2android/Resources/drawable/ic27.png
deleted file mode 100644
index c71d9b7e..00000000
Binary files a/src/keepass2android/Resources/drawable/ic27.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic28.png b/src/keepass2android/Resources/drawable/ic28.png
deleted file mode 100644
index 3bea4d71..00000000
Binary files a/src/keepass2android/Resources/drawable/ic28.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic29.png b/src/keepass2android/Resources/drawable/ic29.png
deleted file mode 100644
index a4ce18b9..00000000
Binary files a/src/keepass2android/Resources/drawable/ic29.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic30.png b/src/keepass2android/Resources/drawable/ic30.png
deleted file mode 100644
index 49dcd2ca..00000000
Binary files a/src/keepass2android/Resources/drawable/ic30.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic31.png b/src/keepass2android/Resources/drawable/ic31.png
deleted file mode 100644
index a510ec65..00000000
Binary files a/src/keepass2android/Resources/drawable/ic31.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic32.png b/src/keepass2android/Resources/drawable/ic32.png
deleted file mode 100644
index 96b46fd2..00000000
Binary files a/src/keepass2android/Resources/drawable/ic32.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic33.png b/src/keepass2android/Resources/drawable/ic33.png
deleted file mode 100644
index db5111a9..00000000
Binary files a/src/keepass2android/Resources/drawable/ic33.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic34.png b/src/keepass2android/Resources/drawable/ic34.png
deleted file mode 100644
index feebf2bd..00000000
Binary files a/src/keepass2android/Resources/drawable/ic34.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic35.png b/src/keepass2android/Resources/drawable/ic35.png
deleted file mode 100644
index 629ad9aa..00000000
Binary files a/src/keepass2android/Resources/drawable/ic35.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic36.png b/src/keepass2android/Resources/drawable/ic36.png
deleted file mode 100644
index 8dc08855..00000000
Binary files a/src/keepass2android/Resources/drawable/ic36.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic37.png b/src/keepass2android/Resources/drawable/ic37.png
deleted file mode 100644
index fef91068..00000000
Binary files a/src/keepass2android/Resources/drawable/ic37.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic38.png b/src/keepass2android/Resources/drawable/ic38.png
deleted file mode 100644
index 9b141689..00000000
Binary files a/src/keepass2android/Resources/drawable/ic38.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic39.png b/src/keepass2android/Resources/drawable/ic39.png
deleted file mode 100644
index 1f36acaa..00000000
Binary files a/src/keepass2android/Resources/drawable/ic39.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic40.png b/src/keepass2android/Resources/drawable/ic40.png
deleted file mode 100644
index 81d60885..00000000
Binary files a/src/keepass2android/Resources/drawable/ic40.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic41.png b/src/keepass2android/Resources/drawable/ic41.png
deleted file mode 100644
index a02c56a4..00000000
Binary files a/src/keepass2android/Resources/drawable/ic41.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic42.png b/src/keepass2android/Resources/drawable/ic42.png
deleted file mode 100644
index e0a295d0..00000000
Binary files a/src/keepass2android/Resources/drawable/ic42.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic43.png b/src/keepass2android/Resources/drawable/ic43.png
deleted file mode 100644
index 6170d86c..00000000
Binary files a/src/keepass2android/Resources/drawable/ic43.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic44.png b/src/keepass2android/Resources/drawable/ic44.png
deleted file mode 100644
index 0a9d2090..00000000
Binary files a/src/keepass2android/Resources/drawable/ic44.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic45.png b/src/keepass2android/Resources/drawable/ic45.png
deleted file mode 100644
index 2d5e260a..00000000
Binary files a/src/keepass2android/Resources/drawable/ic45.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic46.png b/src/keepass2android/Resources/drawable/ic46.png
deleted file mode 100644
index d8197d61..00000000
Binary files a/src/keepass2android/Resources/drawable/ic46.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic47.png b/src/keepass2android/Resources/drawable/ic47.png
deleted file mode 100644
index 2aabd0a2..00000000
Binary files a/src/keepass2android/Resources/drawable/ic47.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic48.png b/src/keepass2android/Resources/drawable/ic48.png
deleted file mode 100644
index bd433f4b..00000000
Binary files a/src/keepass2android/Resources/drawable/ic48.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic49.png b/src/keepass2android/Resources/drawable/ic49.png
deleted file mode 100644
index 376aa6ec..00000000
Binary files a/src/keepass2android/Resources/drawable/ic49.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic50.png b/src/keepass2android/Resources/drawable/ic50.png
deleted file mode 100644
index 174b86c3..00000000
Binary files a/src/keepass2android/Resources/drawable/ic50.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic51.png b/src/keepass2android/Resources/drawable/ic51.png
deleted file mode 100644
index 2b49969a..00000000
Binary files a/src/keepass2android/Resources/drawable/ic51.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic52.png b/src/keepass2android/Resources/drawable/ic52.png
deleted file mode 100644
index 36adbc8e..00000000
Binary files a/src/keepass2android/Resources/drawable/ic52.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic53.png b/src/keepass2android/Resources/drawable/ic53.png
deleted file mode 100644
index 592ce6f4..00000000
Binary files a/src/keepass2android/Resources/drawable/ic53.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic54.png b/src/keepass2android/Resources/drawable/ic54.png
deleted file mode 100644
index 2dfe90be..00000000
Binary files a/src/keepass2android/Resources/drawable/ic54.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic55.png b/src/keepass2android/Resources/drawable/ic55.png
deleted file mode 100644
index 69e55a1d..00000000
Binary files a/src/keepass2android/Resources/drawable/ic55.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic56.png b/src/keepass2android/Resources/drawable/ic56.png
deleted file mode 100644
index fbedb011..00000000
Binary files a/src/keepass2android/Resources/drawable/ic56.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic57.png b/src/keepass2android/Resources/drawable/ic57.png
deleted file mode 100644
index ed6d2e05..00000000
Binary files a/src/keepass2android/Resources/drawable/ic57.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic58.png b/src/keepass2android/Resources/drawable/ic58.png
deleted file mode 100644
index 91d7c5f6..00000000
Binary files a/src/keepass2android/Resources/drawable/ic58.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic59.png b/src/keepass2android/Resources/drawable/ic59.png
deleted file mode 100644
index 5cc4f6b5..00000000
Binary files a/src/keepass2android/Resources/drawable/ic59.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic59.txt b/src/keepass2android/Resources/drawable/ic59.txt
new file mode 100644
index 00000000..338beb57
--- /dev/null
+++ b/src/keepass2android/Resources/drawable/ic59.txt
@@ -0,0 +1,2 @@
+Created by John Caserta
+from the Noun Project
\ No newline at end of file
diff --git a/src/keepass2android/Resources/drawable/ic60.png b/src/keepass2android/Resources/drawable/ic60.png
deleted file mode 100644
index 0094f836..00000000
Binary files a/src/keepass2android/Resources/drawable/ic60.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic61.png b/src/keepass2android/Resources/drawable/ic61.png
deleted file mode 100644
index fcee6c9c..00000000
Binary files a/src/keepass2android/Resources/drawable/ic61.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic62.png b/src/keepass2android/Resources/drawable/ic62.png
deleted file mode 100644
index 8640421a..00000000
Binary files a/src/keepass2android/Resources/drawable/ic62.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic63.png b/src/keepass2android/Resources/drawable/ic63.png
deleted file mode 100644
index e340fbea..00000000
Binary files a/src/keepass2android/Resources/drawable/ic63.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic63.txt b/src/keepass2android/Resources/drawable/ic63.txt
new file mode 100644
index 00000000..fed995af
--- /dev/null
+++ b/src/keepass2android/Resources/drawable/ic63.txt
@@ -0,0 +1,2 @@
+Created by Jon Testa
+from the Noun Project
\ No newline at end of file
diff --git a/src/keepass2android/Resources/drawable/ic64.png b/src/keepass2android/Resources/drawable/ic64.png
deleted file mode 100644
index 36e94af9..00000000
Binary files a/src/keepass2android/Resources/drawable/ic64.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic65.png b/src/keepass2android/Resources/drawable/ic65.png
deleted file mode 100644
index 4721b68f..00000000
Binary files a/src/keepass2android/Resources/drawable/ic65.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic66.png b/src/keepass2android/Resources/drawable/ic66.png
deleted file mode 100644
index e2a83b94..00000000
Binary files a/src/keepass2android/Resources/drawable/ic66.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic67.png b/src/keepass2android/Resources/drawable/ic67.png
deleted file mode 100644
index 42691a0e..00000000
Binary files a/src/keepass2android/Resources/drawable/ic67.png and /dev/null differ
diff --git a/src/keepass2android/Resources/drawable/ic68.png b/src/keepass2android/Resources/drawable/ic68.png
index 69060470..14d28ec1 100644
Binary files a/src/keepass2android/Resources/drawable/ic68.png and b/src/keepass2android/Resources/drawable/ic68.png differ
diff --git a/src/keepass2android/Resources/drawable/navheader_bg.png b/src/keepass2android/Resources/drawable/navheader_bg.png
new file mode 100644
index 00000000..cdc11812
Binary files /dev/null and b/src/keepass2android/Resources/drawable/navheader_bg.png differ
diff --git a/src/keepass2android/Resources/drawable/splash_bg_selector.xml b/src/keepass2android/Resources/drawable/splash_bg_selector.xml
new file mode 100644
index 00000000..3dc291f8
--- /dev/null
+++ b/src/keepass2android/Resources/drawable/splash_bg_selector.xml
@@ -0,0 +1,12 @@
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/drawable/splash_button_bg.xml b/src/keepass2android/Resources/drawable/splash_button_bg.xml
new file mode 100644
index 00000000..e97dc9ca
--- /dev/null
+++ b/src/keepass2android/Resources/drawable/splash_button_bg.xml
@@ -0,0 +1,21 @@
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/drawable/splashlogo.png b/src/keepass2android/Resources/drawable/splashlogo.png
new file mode 100644
index 00000000..25d73248
Binary files /dev/null and b/src/keepass2android/Resources/drawable/splashlogo.png differ
diff --git a/src/keepass2android/Resources/drawable/storagetype_button_bg.xml b/src/keepass2android/Resources/drawable/storagetype_button_bg.xml
new file mode 100644
index 00000000..e6600b8c
--- /dev/null
+++ b/src/keepass2android/Resources/drawable/storagetype_button_bg.xml
@@ -0,0 +1,21 @@
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/drawable/storagetype_grid_bg.xml b/src/keepass2android/Resources/drawable/storagetype_grid_bg.xml
new file mode 100644
index 00000000..f43a6774
--- /dev/null
+++ b/src/keepass2android/Resources/drawable/storagetype_grid_bg.xml
@@ -0,0 +1,9 @@
+
+
+ -
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/drawable/toolbar_bg.png b/src/keepass2android/Resources/drawable/toolbar_bg.png
new file mode 100644
index 00000000..a1661c64
Binary files /dev/null and b/src/keepass2android/Resources/drawable/toolbar_bg.png differ
diff --git a/src/keepass2android/Resources/drawable/toolbar_bg_quickunlock.png b/src/keepass2android/Resources/drawable/toolbar_bg_quickunlock.png
new file mode 100644
index 00000000..f18bdbca
Binary files /dev/null and b/src/keepass2android/Resources/drawable/toolbar_bg_quickunlock.png differ
diff --git a/src/keepass2android/Resources/layout/EntryEditButtonAdd.axml b/src/keepass2android/Resources/layout/EntryEditButtonAdd.axml
new file mode 100644
index 00000000..de34bde4
--- /dev/null
+++ b/src/keepass2android/Resources/layout/EntryEditButtonAdd.axml
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/EntryEditButtonDelete.axml b/src/keepass2android/Resources/layout/EntryEditButtonDelete.axml
new file mode 100644
index 00000000..9a1332e1
--- /dev/null
+++ b/src/keepass2android/Resources/layout/EntryEditButtonDelete.axml
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/QuickUnlock.xml b/src/keepass2android/Resources/layout/QuickUnlock.xml
index 4f96d020..ac462052 100644
--- a/src/keepass2android/Resources/layout/QuickUnlock.xml
+++ b/src/keepass2android/Resources/layout/QuickUnlock.xml
@@ -1,4 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/entry_edit.xml b/src/keepass2android/Resources/layout/entry_edit.xml
index f75b8fa8..dc4440c1 100644
--- a/src/keepass2android/Resources/layout/entry_edit.xml
+++ b/src/keepass2android/Resources/layout/entry_edit.xml
@@ -1,15 +1,311 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -->
+
+
+ -->
+
+
+ -->
+
+
+ -->
+
+
+ -->
+
+
+ -->
+
+
+ -->
+
+
+ -->
+
+
+ -->
+
+
+ -->
+
+
+ -->
+
+
+
+
diff --git a/src/keepass2android/Resources/layout/entry_edit_section.xml b/src/keepass2android/Resources/layout/entry_edit_section.xml
index 77deb9db..4e29da30 100644
--- a/src/keepass2android/Resources/layout/entry_edit_section.xml
+++ b/src/keepass2android/Resources/layout/entry_edit_section.xml
@@ -1,10 +1,24 @@
-
+
+
+
+
+ android:layout_marginRight="0dip"
+ android:layout_marginLeft="0dip"/>
-
-
-
\ No newline at end of file
+
+
diff --git a/src/keepass2android/Resources/layout/entry_list_entry.xml b/src/keepass2android/Resources/layout/entry_list_entry.xml
index d9e2a07b..e52dbba4 100644
--- a/src/keepass2android/Resources/layout/entry_list_entry.xml
+++ b/src/keepass2android/Resources/layout/entry_list_entry.xml
@@ -1,42 +1,76 @@
-
-
+
+
+
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+ android:scaleType="fitXY"
+ android:src="@drawable/entry_icon_bkg_drawable"/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/keepass2android/Resources/layout/entry_view.xml b/src/keepass2android/Resources/layout/entry_view.xml
index b6ccc2ea..773cd0f3 100644
--- a/src/keepass2android/Resources/layout/entry_view.xml
+++ b/src/keepass2android/Resources/layout/entry_view.xml
@@ -1,4 +1,30 @@
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+-->
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/entry_view_contents.xml b/src/keepass2android/Resources/layout/entry_view_contents.xml
index b19e5f12..609bc5de 100644
--- a/src/keepass2android/Resources/layout/entry_view_contents.xml
+++ b/src/keepass2android/Resources/layout/entry_view_contents.xml
@@ -3,291 +3,394 @@
android:id="@+id/entry_table"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
+ android:paddingLeft="16dp"
+ android:paddingRight="16dp"
android:orientation="vertical">
+
+
+
-
+
+
+
+
-
-
-
-
+ android:layout_toLeftOf="@id/group_name_vdots"
+ style="@style/EntryItem" />
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_toLeftOf="@id/username_vdots"
+ style="@style/EntryItem" />
+
-
+
+
+
-
+
+
+
+
-
-
-
-
-
-
-
+ android:autoLink="all"
+ android:layout_toLeftOf="@id/url_vdots"
+ style="@style/EntryItem" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/file_row.xml b/src/keepass2android/Resources/layout/file_row.xml
index 830ad0f4..9db6e43e 100644
--- a/src/keepass2android/Resources/layout/file_row.xml
+++ b/src/keepass2android/Resources/layout/file_row.xml
@@ -21,4 +21,4 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="4sp"
- style="@style/GroupText"/>
\ No newline at end of file
+ />
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/file_selection.xml b/src/keepass2android/Resources/layout/file_selection.xml
index 1554268c..b5268ed8 100644
--- a/src/keepass2android/Resources/layout/file_selection.xml
+++ b/src/keepass2android/Resources/layout/file_selection.xml
@@ -1,4 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/filestorage_selection.xml b/src/keepass2android/Resources/layout/filestorage_selection.xml
index 97fb5ea2..639eaca7 100644
--- a/src/keepass2android/Resources/layout/filestorage_selection.xml
+++ b/src/keepass2android/Resources/layout/filestorage_selection.xml
@@ -1,26 +1,33 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/group.xml b/src/keepass2android/Resources/layout/group.xml
new file mode 100644
index 00000000..a096282d
--- /dev/null
+++ b/src/keepass2android/Resources/layout/group.xml
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/group_add_entry.xml b/src/keepass2android/Resources/layout/group_add_entry.xml
deleted file mode 100644
index 6222cccb..00000000
--- a/src/keepass2android/Resources/layout/group_add_entry.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/group_edit.xml b/src/keepass2android/Resources/layout/group_edit.xml
index d10d99bb..382c85c6 100644
--- a/src/keepass2android/Resources/layout/group_edit.xml
+++ b/src/keepass2android/Resources/layout/group_edit.xml
@@ -4,8 +4,9 @@
android:layout_height="fill_parent">
diff --git a/src/keepass2android/Resources/layout/group_list_entry.xml b/src/keepass2android/Resources/layout/group_list_entry.xml
index 36f60d45..505e5383 100644
--- a/src/keepass2android/Resources/layout/group_list_entry.xml
+++ b/src/keepass2android/Resources/layout/group_list_entry.xml
@@ -1,46 +1,67 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
-
\ No newline at end of file
+ android:text="@string/group"/>
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/icon.xml b/src/keepass2android/Resources/layout/icon.xml
index e4a29a6c..5a952dfd 100644
--- a/src/keepass2android/Resources/layout/icon.xml
+++ b/src/keepass2android/Resources/layout/icon.xml
@@ -30,8 +30,9 @@
android:padding="5dp">
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/password.xml b/src/keepass2android/Resources/layout/password.xml
index 5164d727..e8edd2d3 100644
--- a/src/keepass2android/Resources/layout/password.xml
+++ b/src/keepass2android/Resources/layout/password.xml
@@ -1,4 +1,429 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/recent_files.xml b/src/keepass2android/Resources/layout/recent_files.xml
new file mode 100644
index 00000000..48d04e02
--- /dev/null
+++ b/src/keepass2android/Resources/layout/recent_files.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/menu/entry_edit.xml b/src/keepass2android/Resources/menu/entry_edit.xml
index a49b1ccf..9be273a1 100644
--- a/src/keepass2android/Resources/menu/entry_edit.xml
+++ b/src/keepass2android/Resources/menu/entry_edit.xml
@@ -15,9 +15,16 @@
You should have received a copy of the GNU General Public License
along with Keepass2Android. If not, see .
-->
-
\ No newline at end of file
diff --git a/src/keepass2android/Resources/menu/group.xml b/src/keepass2android/Resources/menu/group.xml
index 3f075059..dbe2259d 100644
--- a/src/keepass2android/Resources/menu/group.xml
+++ b/src/keepass2android/Resources/menu/group.xml
@@ -15,42 +15,43 @@
You should have received a copy of the GNU General Public License
along with Keepass2Android. If not, see .
-->
-