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 e3008e147..e4c1f7d25 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/BoardDelegate.java @@ -2570,6 +2570,7 @@ public class BoardDelegate extends DelegateBase } } + private boolean m_needsResize = false; private void updateToolbar() { if ( null != m_toolbar ) { @@ -2582,6 +2583,14 @@ public class BoardDelegate extends DelegateBase m_toolbar.update( Buttons.BUTTON_CHAT, m_gsi.canChat ); m_toolbar.update( Buttons.BUTTON_BROWSE_DICT, null != m_gi.dictName( m_view.getCurPlayer() ) ); + + int count = m_toolbar.enabledCount(); + if ( 0 == count ) { + m_needsResize = true; + } else if ( m_needsResize && 0 < count ) { + m_needsResize = false; + m_view.orientationChanged(); + } } } diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/Toolbar.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/Toolbar.java index d230306b7..d4ed7b2e3 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/Toolbar.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/Toolbar.java @@ -28,9 +28,12 @@ import android.widget.HorizontalScrollView; import android.widget.ImageButton; import android.widget.LinearLayout; import android.widget.ScrollView; + import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.Map; +import java.util.Set; import junit.framework.Assert; @@ -62,6 +65,7 @@ public class Toolbar implements BoardContainer.SizeChangeListener { private boolean m_visible; private Map m_onClickListeners; private Map m_onLongClickListeners; + private Set m_enabled = new HashSet(); public Toolbar( Activity activity, HasDlgDelegate dlgDlgt ) { @@ -123,8 +127,16 @@ public class Toolbar implements BoardContainer.SizeChangeListener { if ( null != button ) { button.setVisibility( enable ? View.VISIBLE : View.GONE ); } + + if ( enable ) { + m_enabled.add( index ); + } else { + m_enabled.remove( index ); + } } + protected int enabledCount() { return m_enabled.size(); } + // SizeChangeListener public void sizeChanged( int width, int height, boolean isPortrait ) {