From 0f620305f0ee5e0868e844ca3d0f87916b7c1e29 Mon Sep 17 00:00:00 2001 From: eehouse Date: Sat, 13 Mar 2010 23:11:35 +0000 Subject: [PATCH] refactor to rebuild dict list onResume() to pick up any downloaded dicts. --- .../org/eehouse/android/xw4/GameConfig.java | 76 +++++++++++-------- 1 file changed, 43 insertions(+), 33 deletions(-) diff --git a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfig.java b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfig.java index 37120688b..310576f00 100644 --- a/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfig.java +++ b/xwords4/android/XWords4/src/org/eehouse/android/xw4/GameConfig.java @@ -368,40 +368,10 @@ public class GameConfig extends Activity implements View.OnClickListener { loadPlayers(); m_dictSpinner = (Spinner)findViewById( R.id.dict_spinner ); - ArrayAdapter adapter = - new ArrayAdapter( this, - android.R.layout.simple_spinner_item, - m_dicts ); - int resID = android.R.layout.simple_spinner_dropdown_item; - adapter.setDropDownViewResource( resID ); - m_dictSpinner.setAdapter( adapter ); - if ( curSel >= 0 ) { - m_dictSpinner.setSelection( curSel ); - } - - m_dictSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { - @Override - public void onItemSelected(AdapterView parentView, - View selectedItemView, int position, - long id) { - if ( position == m_browsePosition ) { - Uri uri = Uri.parse( getString( R.string.dict_url )); - Intent intent = new Intent( Intent.ACTION_VIEW, uri ); - intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK ); - startActivity (intent ); - } else { - m_gi.dictName = m_dicts[position]; - Utils.logf( "assigned dictName: " + m_gi.dictName ); - } - } - - @Override - public void onNothingSelected(AdapterView parentView) { - } - }); + configDictSpinner(); m_roleSpinner = (Spinner)findViewById( R.id.role_spinner ); - adapter = + ArrayAdapter adapter = new ArrayAdapter( this, android.R.layout.simple_spinner_item, new String[] { @@ -577,6 +547,13 @@ public class GameConfig extends Activity implements View.OnClickListener { return consumed; } + @Override + protected void onResume() + { + configDictSpinner(); + super.onResume(); + } + private void loadPlayers() { m_playerLayout.removeAllViews(); @@ -620,7 +597,7 @@ public class GameConfig extends Activity implements View.OnClickListener { { int curSel = -1; - String[] list = Utils.listDicts( this ); + String[] list = Utils.dictList( this ); m_browsePosition = list.length; m_dicts = new String[m_browsePosition+1]; @@ -637,6 +614,39 @@ public class GameConfig extends Activity implements View.OnClickListener { return curSel; } + private void configDictSpinner() + { + int curSel = listAvailableDicts( m_gi.dictName ); + + ArrayAdapter adapter = + new ArrayAdapter( this, + android.R.layout.simple_spinner_item, + m_dicts ); + int resID = android.R.layout.simple_spinner_dropdown_item; + adapter.setDropDownViewResource( resID ); + m_dictSpinner.setAdapter( adapter ); + if ( curSel >= 0 ) { + m_dictSpinner.setSelection( curSel ); + } + + m_dictSpinner.setOnItemSelectedListener(new OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView parentView, + View selectedItemView, + int position, long id ) { + if ( position == m_browsePosition ) { + startActivity( Utils.mkDownloadActivity(GameConfig.this) ); + } else { + m_gi.dictName = m_dicts[position]; + Utils.logf( "assigned dictName: " + m_gi.dictName ); + } + } + + @Override + public void onNothingSelected(AdapterView parentView) {} + }); + } + private void configConnectSpinner() { m_connectSpinner = (Spinner)findViewById( R.id.connect_spinner );