diff --git a/xwords4/android/XWords4/res/values/common_rsrc.xml b/xwords4/android/XWords4/res/values/common_rsrc.xml
index ed105a95d..f7af55629 100644
--- a/xwords4/android/XWords4/res/values/common_rsrc.xml
+++ b/xwords4/android/XWords4/res/values/common_rsrc.xml
@@ -80,6 +80,7 @@
key_notagain_sync
key_notagain_newselect
+ key_notagain_backclears
key_notagain_chat
key_notagain_relay
key_notagain_hintprev
diff --git a/xwords4/android/XWords4/res/values/strings.xml b/xwords4/android/XWords4/res/values/strings.xml
index 9199a8ef1..6a147a98c 100644
--- a/xwords4/android/XWords4/res/values/strings.xml
+++ b/xwords4/android/XWords4/res/values/strings.xml
@@ -2167,6 +2167,10 @@
then act on selected games, e.g. to delete them, using the menu or
\"Actionbar.\"
+ New feature: The back button
+ now clears any selection instead of exiting. Hit it again to exit
+ the app.
+
Games: %d"
Groups: %d"
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java
index 50235adcf..cbac7fb8a 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GamesList.java
@@ -84,13 +84,14 @@ public class GamesList extends XWExpandableListActivity
private static final String REMATCH_ROWID_EXTRA = "rowid_rm";
private static final String ALERT_MSG = "alert_msg";
- private static enum GamesActions { NEW_NET_GAME,
- RESET_GAMES,
- SYNC_MENU,
- NEW_FROM,
- DELETE_GAMES,
- DELETE_GROUPS,
- OPEN_GAME
+ private static enum GamesActions { NEW_NET_GAME
+ ,RESET_GAMES
+ ,SYNC_MENU
+ ,NEW_FROM
+ ,DELETE_GAMES
+ ,DELETE_GROUPS
+ ,OPEN_GAME
+ ,CLEAR_SELS
};
private static final int[] DEBUGITEMS = {
@@ -616,6 +617,9 @@ public class GamesList extends XWExpandableListActivity
case OPEN_GAME:
doOpenGame( params );
break;
+ case CLEAR_SELS:
+ clearSelections();
+ break;
default:
Assert.fail();
}
@@ -636,7 +640,9 @@ public class GamesList extends XWExpandableListActivity
if ( 0 == m_selGames.size() && 0 == m_selGroupIDs.size() ) {
super.onBackPressed();
} else {
- clearSelections();
+ showNotAgainDlgThen( R.string.not_again_backclears,
+ R.string.key_notagain_backclears,
+ GamesActions.CLEAR_SELS.ordinal() );
}
}