diff --git a/src/keepass2android/GroupActivity.cs b/src/keepass2android/GroupActivity.cs
index 77f7bdb5..3521100c 100644
--- a/src/keepass2android/GroupActivity.cs
+++ b/src/keepass2android/GroupActivity.cs
@@ -97,7 +97,7 @@ namespace keepass2android
{
get { return App.Kp2a.GetDb().CanWrite && ((this.Group.ParentGroup != null) || App.Kp2a.GetDb().DatabaseFormat.CanHaveEntriesInRootGroup); }
}
- /*
+ /*TODO
public override bool OnCreateOptionsMenu(IMenu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
diff --git a/src/keepass2android/GroupBaseActivity.cs b/src/keepass2android/GroupBaseActivity.cs
index 1d7b8b4b..6e606471 100644
--- a/src/keepass2android/GroupBaseActivity.cs
+++ b/src/keepass2android/GroupBaseActivity.cs
@@ -84,18 +84,32 @@ namespace keepass2android
public void SetNormalButtonVisibility(bool showAddGroup, bool showAddEntry)
{
- FindViewById(Resource.Id.bottom_bar).Visibility = ViewStates.Gone;
- FindViewById(Resource.Id.divider2).Visibility = ViewStates.Gone;
+ //check for null in the following because the "empty" layouts may not have all views
- FindViewById(Resource.Id.fabCancelAddNew).Visibility = ViewStates.Gone;
- FindViewById(Resource.Id.fabAddNewGroup).Visibility = ViewStates.Gone;
- FindViewById(Resource.Id.fabAddNewEntry).Visibility = ViewStates.Gone;
+ if (FindViewById(Resource.Id.bottom_bar) != null)
+ FindViewById(Resource.Id.bottom_bar).Visibility = BottomBarAlwaysVisible ? ViewStates.Visible : ViewStates.Gone;
- FindViewById(Resource.Id.fabAddNew).Visibility = (showAddGroup || showAddEntry) ? ViewStates.Visible : ViewStates.Gone;
+ if (FindViewById(Resource.Id.divider2) != null)
+ FindViewById(Resource.Id.divider2).Visibility = BottomBarAlwaysVisible ? ViewStates.Visible : ViewStates.Gone;
+
+ if (FindViewById(Resource.Id.fabCancelAddNew) != null)
+ {
+ 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;
+ }
+
}
-
+ public virtual bool BottomBarAlwaysVisible
+ {
+ get { return false; }
+ }
+
+
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
base.OnActivityResult(requestCode, resultCode, data);
@@ -216,28 +230,36 @@ namespace keepass2android
_prefs = PreferenceManager.GetDefaultSharedPreferences(this);
- SetContentView(Resource.Layout.group);
+ SetContentView(ContentResourceId);
- FindViewById(Resource.Id.fabAddNew).Click += (sender, args) =>
+ if (FindViewById(Resource.Id.fabCancelAddNew) != null)
{
- 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.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.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) => StopMovingElements();
- FindViewById(Resource.Id.insert_element).Click += (sender, args) => InsertElements();
+ if (FindViewById(Resource.Id.cancel_insert_element) != null)
+ {
+ FindViewById(Resource.Id.cancel_insert_element).Click += (sender, args) => StopMovingElements();
+ FindViewById(Resource.Id.insert_element).Click += (sender, args) => InsertElements();
+ }
+
SetResult(KeePass.ExitNormal);
@@ -245,6 +267,11 @@ namespace keepass2android
}
+ protected virtual int ContentResourceId
+ {
+ get { return Resource.Layout.group; }
+ }
+
private void InsertElements()
{
MoveElementsTask moveElementsTask = (MoveElementsTask)AppTask;
@@ -313,7 +340,6 @@ namespace keepass2android
cursor.MoveToPosition(position);
string entryIdAsHexString = cursor.GetString(cursor.GetColumnIndexOrThrow(SearchManager.SuggestColumnIntentDataId));
EntryActivity.Launch(_activity, App.Kp2a.GetDb().Entries[new PwUuid(MemUtil.HexStringToByteArray(entryIdAsHexString))],-1,_activity.AppTask);
- ((SearchView) _searchItem.ActionView).Iconified = true;
return true;
}
diff --git a/src/keepass2android/Resources/layout/group_empty.xml b/src/keepass2android/Resources/layout/group_empty.xml
index 93c0d58f..e6dd35a9 100644
--- a/src/keepass2android/Resources/layout/group_empty.xml
+++ b/src/keepass2android/Resources/layout/group_empty.xml
@@ -27,5 +27,6 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@android:id/list"
+ android:layout_margin="12dp"
android:text="@string/no_results"/>
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/searchurlresults.xml b/src/keepass2android/Resources/layout/searchurlresults.xml
index 1165b132..000d8fe6 100644
--- a/src/keepass2android/Resources/layout/searchurlresults.xml
+++ b/src/keepass2android/Resources/layout/searchurlresults.xml
@@ -1,65 +1,49 @@
-
-
+
+
+
-
-
+
+
+
+
+
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+
\ No newline at end of file
diff --git a/src/keepass2android/Resources/layout/searchurlresults_empty.xml b/src/keepass2android/Resources/layout/searchurlresults_empty.xml
index 5bd65218..4ea53905 100644
--- a/src/keepass2android/Resources/layout/searchurlresults_empty.xml
+++ b/src/keepass2android/Resources/layout/searchurlresults_empty.xml
@@ -1,72 +1,57 @@
-
-
-
+
+
+
-
-
+
-
-
\ No newline at end of file
+ android:layout_alignParentRight="true"
+ android:text="@string/add_url_entry"
+ style="@style/BottomBarButton" />
+
+
+
+
+
+
+
diff --git a/src/keepass2android/ShareUrlResults.cs b/src/keepass2android/ShareUrlResults.cs
index 5b11b0b2..8ce99ba4 100644
--- a/src/keepass2android/ShareUrlResults.cs
+++ b/src/keepass2android/ShareUrlResults.cs
@@ -122,11 +122,7 @@ namespace keepass2android
{
//TODO
SetContentView(Resource.Layout.searchurlresults_empty);
- } else
- {
- //TODO
- SetContentView(Resource.Layout.searchurlresults);
- }
+ }
SetGroupTitle();
@@ -163,5 +159,15 @@ namespace keepass2android
StartActivity(i);
return true;
}
+
+ public override bool BottomBarAlwaysVisible
+ {
+ get { return true; }
+ }
+
+ protected override int ContentResourceId
+ {
+ get { return Resource.Layout.searchurlresults; }
+ }
}}
diff --git a/src/keepass2android/search/SearchResults.cs b/src/keepass2android/search/SearchResults.cs
index 0cfbf21a..5a5ac26c 100644
--- a/src/keepass2android/search/SearchResults.cs
+++ b/src/keepass2android/search/SearchResults.cs
@@ -46,7 +46,6 @@ namespace keepass2android.search
SetResult(KeePass.ExitNormal);
ProcessIntent(Intent);
- //TODO RegisterForContextMenu(ListView);
}
protected override bool AddEntryEnabled