From d4b9bce5ca2318a17326bf5b1af4062a6e8d11d3 Mon Sep 17 00:00:00 2001 From: str4d Date: Wed, 9 Jul 2014 04:45:19 +0000 Subject: [PATCH] Fix email selection by clicking picture --- .../java/i2p/bote/android/EmailListAdapter.java | 12 +++++++----- .../java/i2p/bote/android/EmailListFragment.java | 13 ++++++++----- .../i2p/bote/android/util/MultiSelectionUtil.java | 4 ++++ 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/i2p/bote/android/EmailListAdapter.java b/app/src/main/java/i2p/bote/android/EmailListAdapter.java index d55b157..e75e527 100644 --- a/app/src/main/java/i2p/bote/android/EmailListAdapter.java +++ b/app/src/main/java/i2p/bote/android/EmailListAdapter.java @@ -28,6 +28,7 @@ public class EmailListAdapter extends ArrayAdapter { private boolean mIsOutbox; public interface EmailSelector { + public boolean inActionMode(); public void select(View view); } @@ -58,11 +59,12 @@ public class EmailListAdapter extends ArrayAdapter { TextView content = (TextView) v.findViewById(R.id.email_content); TextView sent = (TextView) v.findViewById(R.id.email_sent); - picture.setOnClickListener(new View.OnClickListener() { - public void onClick(View view) { - mSelector.select(v); - } - }); + if (!mSelector.inActionMode()) + picture.setOnClickListener(new View.OnClickListener() { + public void onClick(View view) { + mSelector.select(v); + } + }); // TODO fix //if (mSelectedEmails.get(position)) { diff --git a/app/src/main/java/i2p/bote/android/EmailListFragment.java b/app/src/main/java/i2p/bote/android/EmailListFragment.java index b9069c5..67398ef 100644 --- a/app/src/main/java/i2p/bote/android/EmailListFragment.java +++ b/app/src/main/java/i2p/bote/android/EmailListFragment.java @@ -522,12 +522,15 @@ public class EmailListFragment extends ListFragment implements // EmailListAdapter.EmailSelector + public boolean inActionMode() { + return mMultiSelectController.inActionMode(); + } + public void select(View view) { - // TODO temporarily disabled while broken, need to fix - //final ListView listView = getListView(); - //final int position = listView.getPositionForView(view); - //listView.setItemChecked(position, !listView.isItemChecked(position)); - //view.performLongClick(); + final ListView listView = getListView(); + final int position = listView.getPositionForView(view); + listView.setItemChecked(position, !listView.isItemChecked(position)); + view.performLongClick(); } // OnRefreshListener diff --git a/app/src/main/java/i2p/bote/android/util/MultiSelectionUtil.java b/app/src/main/java/i2p/bote/android/util/MultiSelectionUtil.java index d02504a..641a3b7 100644 --- a/app/src/main/java/i2p/bote/android/util/MultiSelectionUtil.java +++ b/app/src/main/java/i2p/bote/android/util/MultiSelectionUtil.java @@ -95,6 +95,10 @@ public class MultiSelectionUtil { listView.setOnItemLongClickListener(mCallbacks); } + public boolean inActionMode() { + return mActionMode != null; + } + /** * Finish the current Action Mode (if there is one). */