fixed action mode menu
removed gray right arrow in group list in action mode removed "TODO" comments
@ -132,8 +132,10 @@ namespace keepass2android
|
||||
//var drawable = ContextCompat.GetDrawable(context, Resource.Drawable.Icon);
|
||||
btn.SetCompoundDrawablesWithIntrinsicBounds(null, drawable, null, null);
|
||||
|
||||
//TODO kp2a
|
||||
return btn;
|
||||
#if NoNet
|
||||
TODO: kp2a button
|
||||
#endif
|
||||
/*
|
||||
if (_protocolIds[position] == "kp2a")
|
||||
{
|
||||
|
@ -173,7 +173,6 @@ namespace keepass2android
|
||||
SetGroupIcon();
|
||||
|
||||
FragmentManager.FindFragmentById<GroupListFragment>(Resource.Id.list_fragment).ListAdapter = new PwGroupListAdapter(this, Group);
|
||||
/*TODO RegisterForContextMenu(ListView);*/
|
||||
Log.Warn(Tag, "Finished creating group");
|
||||
|
||||
}
|
||||
|
@ -93,34 +93,6 @@ namespace keepass2android
|
||||
|
||||
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);
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
@ -178,7 +150,6 @@ namespace keepass2android
|
||||
protected PwGroup Group;
|
||||
|
||||
internal AppTask AppTask;
|
||||
//TODO protected GroupView GroupView;
|
||||
|
||||
private String strCachedGroupUuid = null;
|
||||
|
||||
@ -229,17 +200,7 @@ namespace keepass2android
|
||||
get { return false; }
|
||||
}
|
||||
|
||||
/*TODO
|
||||
* protected override void OnListItemClick(ListView l, View v, int position, long id) {
|
||||
base.OnListItemClick(l, v, position, id);
|
||||
|
||||
IListAdapter adapt = ListAdapter;
|
||||
ClickView cv = (ClickView) adapt.GetView(position, null, null);
|
||||
cv.OnClick();
|
||||
|
||||
}
|
||||
*/
|
||||
protected override void OnCreate(Bundle savedInstanceState) {
|
||||
protected override void OnCreate(Bundle savedInstanceState) {
|
||||
base.OnCreate(savedInstanceState);
|
||||
|
||||
Android.Util.Log.Debug("KP2A", "Creating GBA");
|
||||
@ -647,7 +608,6 @@ namespace keepass2android
|
||||
{
|
||||
|
||||
ShowInsertElementsButtons();
|
||||
//TODO Required? GroupView.ListView.InvalidateViews();
|
||||
BaseAdapter adapter = (BaseAdapter)ListAdapter;
|
||||
adapter.NotifyDataSetChanged();
|
||||
}
|
||||
@ -683,7 +643,6 @@ namespace keepass2android
|
||||
|
||||
AppTask = new NullTask();
|
||||
AppTask.SetupGroupBaseActivityButtons(this);
|
||||
//TODO Required? GroupView.ListView.InvalidateViews();
|
||||
BaseAdapter adapter = (BaseAdapter)ListAdapter;
|
||||
adapter.NotifyDataSetChanged();
|
||||
}
|
||||
@ -738,7 +697,6 @@ namespace keepass2android
|
||||
{
|
||||
if (checkedItemPositions.ValueAt(i))
|
||||
{
|
||||
//TODO make sure position is also correct when scrolling (more items in adapter than on screen)
|
||||
checkedItems.Add(((PwGroupListAdapter) ListAdapter).GetItemAtPosition(checkedItemPositions.KeyAt(i)));
|
||||
}
|
||||
}
|
||||
@ -762,10 +720,13 @@ namespace keepass2android
|
||||
var navMove = new NavigateToFolderAndLaunchMoveElementTask(checkedItems.First().ParentGroup, checkedItems.Select(i => i.Uuid).ToList(), ((GroupBaseActivity)Activity).IsSearchResult);
|
||||
((GroupBaseActivity)Activity).StartTask(navMove);
|
||||
break;
|
||||
/*TODO for search results case Resource.Id.menu_navigate:
|
||||
NavigateToFolder navNavigate = new NavigateToFolder(_entry.ParentGroup, true);
|
||||
case Resource.Id.menu_navigate:
|
||||
NavigateToFolder navNavigate = new NavigateToFolder(checkedItems.First().ParentGroup, true);
|
||||
((GroupBaseActivity)Activity).StartTask(navNavigate);
|
||||
break;*/
|
||||
break;
|
||||
case Resource.Id.menu_edit:
|
||||
GroupEditActivity.Launch(Activity, checkedItems.First().ParentGroup, (PwGroup) checkedItems.First());
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
|
||||
@ -785,6 +746,7 @@ namespace keepass2android
|
||||
inflater.Inflate(Resource.Menu.group_entriesselected, menu);
|
||||
//mode.Title = "Select Items";
|
||||
Android.Util.Log.Debug("KP2A", "Create action mode" + mode);
|
||||
((PwGroupListAdapter) ListView.Adapter).InActionMode = true;
|
||||
((PwGroupListAdapter)ListView.Adapter).NotifyDataSetChanged();
|
||||
_mode = mode;
|
||||
return true;
|
||||
@ -793,7 +755,7 @@ namespace keepass2android
|
||||
public void OnDestroyActionMode(ActionMode mode)
|
||||
{
|
||||
Android.Util.Log.Debug("KP2A", "Destroy action mode" + mode);
|
||||
|
||||
((PwGroupListAdapter)ListView.Adapter).InActionMode = true;
|
||||
((PwGroupListAdapter)ListView.Adapter).NotifyDataSetChanged();
|
||||
_mode = null;
|
||||
}
|
||||
@ -801,6 +763,7 @@ namespace keepass2android
|
||||
public bool OnPrepareActionMode(ActionMode mode, IMenu menu)
|
||||
{
|
||||
Android.Util.Log.Debug("KP2A", "Prepare action mode" + mode);
|
||||
((PwGroupListAdapter)ListView.Adapter).InActionMode = mode != null;
|
||||
((PwGroupListAdapter)ListView.Adapter).NotifyDataSetChanged();
|
||||
return true;
|
||||
}
|
||||
@ -813,6 +776,11 @@ namespace keepass2android
|
||||
menuItem.SetVisible(IsOnlyOneGroupChecked());
|
||||
}
|
||||
|
||||
menuItem = mode.Menu.FindItem(Resource.Id.menu_navigate);
|
||||
if (menuItem != null)
|
||||
{
|
||||
menuItem.SetVisible(((GroupBaseActivity)Activity).IsSearchResult && IsOnlyOneItemChecked());
|
||||
}
|
||||
}
|
||||
|
||||
private bool IsOnlyOneGroupChecked()
|
||||
@ -843,6 +811,28 @@ namespace keepass2android
|
||||
}
|
||||
return hadCheckedGroup;
|
||||
}
|
||||
|
||||
private bool IsOnlyOneItemChecked()
|
||||
{
|
||||
var checkedItems = ListView.CheckedItemPositions;
|
||||
bool hadCheckedItem = false;
|
||||
if (checkedItems != null)
|
||||
{
|
||||
for (int i = 0; i < checkedItems.Size(); i++)
|
||||
{
|
||||
if (checkedItems.ValueAt(i))
|
||||
{
|
||||
if (hadCheckedItem)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
hadCheckedItem = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return hadCheckedItem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -64,7 +64,6 @@ namespace keepass2android
|
||||
LaunchMode = LaunchMode.SingleInstance,
|
||||
WindowSoftInputMode = SoftInput.AdjustResize,
|
||||
Theme = "@style/MyTheme_Blue")] /*caution: also contained in AndroidManifest.xml*/
|
||||
//TODO: rotating device crashes the app
|
||||
public class PasswordActivity : LockingActivity {
|
||||
|
||||
enum KeyProviders
|
||||
@ -942,11 +941,6 @@ namespace keepass2android
|
||||
SupportActionBar.SetHomeButtonEnabled(true);
|
||||
mDrawerToggle.SyncState();
|
||||
|
||||
//TODO REMOVE
|
||||
//SupportActionBar.SetDisplayHomeAsUpEnabled(true);
|
||||
//SupportActionBar.SetDisplayShowHomeEnabled(true);
|
||||
|
||||
//mytoolbar.NavigationClick += (sender, args) => OnBackPressed();
|
||||
}
|
||||
|
||||
public override void OnBackPressed()
|
||||
@ -1138,11 +1132,7 @@ namespace keepass2android
|
||||
RequestCodePrepareOtpAuxFile, false);
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
//android 2.x
|
||||
//TODO test
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void RestoreState(Bundle savedInstanceState)
|
||||
|
@ -213,6 +213,7 @@ namespace keepass2android
|
||||
private List<PwGroup> _groupsForViewing;
|
||||
private List<PwEntry> _entriesForViewing;
|
||||
|
||||
public bool InActionMode { get; set; }
|
||||
|
||||
|
||||
public PwGroupListAdapter(GroupBaseActivity act, PwGroup group) {
|
||||
@ -288,16 +289,18 @@ namespace keepass2android
|
||||
|
||||
public override View GetView(int position, View convertView, ViewGroup parent) {
|
||||
int size = _groupsForViewing.Count;
|
||||
|
||||
GroupListItemView view;
|
||||
if ( position < size ) {
|
||||
return CreateGroupView(position, convertView);
|
||||
view = CreateGroupView(position, convertView);
|
||||
} else {
|
||||
return CreateEntryView(position - size, convertView);
|
||||
view = CreateEntryView(position - size, convertView);
|
||||
}
|
||||
//TODO remove right arrow in actionmode
|
||||
view.SetRightArrowVisibility(!InActionMode);
|
||||
return view;
|
||||
|
||||
}
|
||||
|
||||
private View CreateGroupView(int position, View convertView) {
|
||||
private PwGroupView CreateGroupView(int position, View convertView) {
|
||||
PwGroup g = _groupsForViewing[position];
|
||||
PwGroupView gv;
|
||||
|
||||
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 7.2 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 9.8 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 3.5 KiB |