diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java
index 35b3c6fae..800d96a95 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java
@@ -547,8 +547,10 @@ public class BoardDelegate extends DelegateBase
waitCloseGame( true );
}
+ @Override
protected void onResume()
{
+ super.onResume();
m_handler = new Handler();
m_blockingDlgID = DlgID.NONE;
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DelegateBase.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DelegateBase.java
index d4a51be38..120b2c4b5 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DelegateBase.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DelegateBase.java
@@ -61,11 +61,15 @@ public class DelegateBase implements DlgDelegate.DlgClickNotify,
public boolean onPrepareOptionsMenu( Menu menu ) { return false; }
public boolean onOptionsItemSelected( MenuItem item ) { return false; }
protected void onStart() {}
- protected void onResume() {}
protected void onPause() {}
protected void onStop() {}
protected void onDestroy() {}
+ protected void onResume()
+ {
+ LocUtils.setLatestContext( m_activity );
+ }
+
// public boolean onOptionsItemSelected( MenuItem item )
// {
// }
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictBrowseDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictBrowseDelegate.java
index 263a3e70a..8c851e391 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictBrowseDelegate.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictBrowseDelegate.java
@@ -238,8 +238,10 @@ public class DictBrowseDelegate extends ListDelegateBase
}
}
+ @Override
protected void onResume()
{
+ super.onResume();
if ( null == m_browseState ) {
m_browseState = DBUtils.dictsGetOffset( m_activity, m_name, m_loc );
}
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsDelegate.java
index 8e692fae8..32cf90b0e 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsDelegate.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/DictsDelegate.java
@@ -408,8 +408,11 @@ public class DictsDelegate extends DelegateBase
m_origTitle = getTitle();
} // onCreate
+ @Override
protected void onResume()
{
+ super.onResume();
+
MountEventReceiver.register( this );
mkListAdapter();
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfigDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfigDelegate.java
index 9016059df..b98a46b71 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfigDelegate.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfigDelegate.java
@@ -433,8 +433,10 @@ public class GameConfigDelegate extends DelegateBase
loadGame();
}
+ @Override
protected void onResume()
{
+ super.onResume();
loadGame();
}
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/NewGameDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/NewGameDelegate.java
index 87f37a6de..0dad3aafa 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/NewGameDelegate.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/NewGameDelegate.java
@@ -162,7 +162,9 @@ public class NewGameDelegate extends DelegateBase {
}
}
+ @Override
protected void onResume() {
+ super.onResume();
checkEnableBT( false );
}
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsDelegate.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsDelegate.java
index 2be45e4c1..352389ed2 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsDelegate.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/PrefsDelegate.java
@@ -156,10 +156,12 @@ public class PrefsDelegate extends DelegateBase
} );
}
+ @Override
protected void onResume()
{
+ super.onResume();
getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
- }
+ }
protected void onPause()
{
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/loc/LocSearcher.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/loc/LocSearcher.java
index e66640aca..70d32c15c 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/loc/LocSearcher.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/loc/LocSearcher.java
@@ -96,6 +96,7 @@ public class LocSearcher {
FilterFunc proc = s_falseProc;
switch ( showBy ) {
case LOC_FILTERS_SCREEN:
+ proc = s_screenProc;
break;
case LOC_FILTERS_MENU:
proc = s_menuProc;
@@ -157,9 +158,15 @@ public class LocSearcher {
}
};
+ private static FilterFunc s_screenProc = new FilterFunc() {
+ public boolean passes( Context context, Pair pair ) {
+ return LocUtils.inLatestScreen( pair.getKey() );
+ }
+ };
+
private static FilterFunc s_menuProc = new FilterFunc() {
public boolean passes( Context context, Pair pair ) {
- return LocUtils.inLatestMenu( context, pair.getKey() );
+ return LocUtils.inLatestMenu( pair.getKey() );
}
};
diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/loc/LocUtils.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/loc/LocUtils.java
index 65fa6051f..ae79844e9 100644
--- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/loc/LocUtils.java
+++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/loc/LocUtils.java
@@ -81,27 +81,11 @@ public class LocUtils {
private static WeakReference