From f4d1567e3fc090e5206aa5f4f69de194074b6f48 Mon Sep 17 00:00:00 2001 From: Anupam Das Date: Tue, 13 Dec 2016 21:22:28 +0530 Subject: [PATCH] FIXED #255, Backpress should deselect any selected item if any --- .../toolkit/fragment/DraftsFragment.java | 32 +++++++++++++++---- .../toolkit/fragment/LoadApkFragment.java | 31 ++++++++++++++---- .../toolkit/fragment/LoadProjectFragment.java | 31 ++++++++++++++---- 3 files changed, 76 insertions(+), 18 deletions(-) diff --git a/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/DraftsFragment.java b/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/DraftsFragment.java index 513edb81..4b5519f2 100644 --- a/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/DraftsFragment.java +++ b/source-code/app/src/main/java/org/buildmlearn/toolkit/fragment/DraftsFragment.java @@ -11,6 +11,7 @@ import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.util.Log; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; @@ -117,6 +118,21 @@ public boolean onItemLongClick(AdapterView parent, View view, int position, l return true; } }); + + getView().setFocusableInTouchMode(true); + getView().requestFocus(); + getView().setOnKeyListener(new View.OnKeyListener() { + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (mAdapter.selectedPositionsSize() > 0) { + unselectAll(); + return true; + } + } + return false; + } + }); } /** @@ -316,12 +332,7 @@ public void onClick(View v) { break; case R.id.action_unselect_all: - for(int i=0;i parent, View view, int position, l return true; } }); + + getView().setFocusableInTouchMode(true); + getView().requestFocus(); + getView().setOnKeyListener(new View.OnKeyListener() { + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (mAdapter.selectedPositionsSize() > 0) { + unselectAll(); + return true; + } + } + return false; + } + }); } /** @@ -409,12 +424,7 @@ public boolean onKey(View v, int keyCode, KeyEvent event) { break; case R.id.action_unselect_all: - for(int i=0;i parent, View view, int position, l return true; } }); + + getView().setFocusableInTouchMode(true); + getView().requestFocus(); + getView().setOnKeyListener(new View.OnKeyListener() { + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + if (mAdapter.selectedPositionsSize() > 0) { + unselectAll(); + return true; + } + } + return false; + } + }); } /** @@ -449,12 +464,7 @@ public boolean onKey(View v, int keyCode, KeyEvent event) { break; case R.id.action_unselect_all: - for(int i=0;i