put up an alert when unable to find any public rooms

This commit is contained in:
Andy2 2010-09-28 18:58:05 -07:00
parent 0bfad7cd05
commit f78b1747dd
3 changed files with 32 additions and 5 deletions

View file

@ -383,5 +383,7 @@
<string name="public_names_progress">Fetching public rooms for <string name="public_names_progress">Fetching public rooms for
%d-player games in %s.</string> %d-player games in %s.</string>
<string name="no_name_found">No public rooms found. Try
refreshing or creating your own.</string>
</resources> </resources>

View file

@ -57,8 +57,9 @@ import junit.framework.Assert;
import org.eehouse.android.xw4.jni.*; import org.eehouse.android.xw4.jni.*;
import org.eehouse.android.xw4.jni.CurGameInfo.DeviceRole; import org.eehouse.android.xw4.jni.CurGameInfo.DeviceRole;
public class GameConfig extends Activity implements View.OnClickListener, public class GameConfig extends Activity implements View.OnClickListener
XWListItem.DeleteCallback { ,XWListItem.DeleteCallback
,RefreshNamesTask.NoNameFound {
private static final int PLAYER_EDIT = 1; private static final int PLAYER_EDIT = 1;
// private static final int ROLE_EDIT_RELAY = 2; // private static final int ROLE_EDIT_RELAY = 2;
@ -66,6 +67,7 @@ public class GameConfig extends Activity implements View.OnClickListener,
// private static final int ROLE_EDIT_BT = 4; // private static final int ROLE_EDIT_BT = 4;
private static final int FORCE_REMOTE = 5; private static final int FORCE_REMOTE = 5;
private static final int CONFIRM_CHANGE = 6; private static final int CONFIRM_CHANGE = 6;
private static final int NO_NAME_FOUND = 7;
private CheckBox m_notNetworkedGameCheckbx; private CheckBox m_notNetworkedGameCheckbx;
private CheckBox m_joinPublicCheck; private CheckBox m_joinPublicCheck;
@ -218,6 +220,11 @@ public class GameConfig extends Activity implements View.OnClickListener,
}) })
.create(); .create();
break; break;
case NO_NAME_FOUND:
dialog = new AlertDialog.Builder( this )
.setPositiveButton( R.string.button_ok, null )
.setMessage( R.string.no_name_found )
.create();
} }
return dialog; return dialog;
} }
@ -437,6 +444,12 @@ public class GameConfig extends Activity implements View.OnClickListener,
} }
} }
// NoNameFound interface
public void NoNameFound()
{
showDialog( NO_NAME_FOUND );
}
public void onClick( View view ) public void onClick( View view )
{ {
if ( m_addPlayerButton == view ) { if ( m_addPlayerButton == view ) {
@ -477,8 +490,8 @@ public class GameConfig extends Activity implements View.OnClickListener,
// break; // break;
// } // }
} else if ( m_refreshRoomsButton == view ) { } else if ( m_refreshRoomsButton == view ) {
new RefreshNamesTask( this, m_gi.dictLang, m_gi.nPlayers, new RefreshNamesTask( this, this, m_gi.dictLang,
m_roomChoose ).execute(); m_gi.nPlayers, m_roomChoose ).execute();
} else { } else {
Utils.logf( "unknown v: " + view.toString() ); Utils.logf( "unknown v: " + view.toString() );
} }

View file

@ -32,17 +32,25 @@ import java.util.ArrayList;
import java.net.Socket; import java.net.Socket;
public class RefreshNamesTask extends AsyncTask<Void, Void, String[]> { public class RefreshNamesTask extends AsyncTask<Void, Void, String[]> {
public interface NoNameFound {
public void NoNameFound();
};
private Context m_context; private Context m_context;
private Spinner m_resultSpinner; private Spinner m_resultSpinner;
private int m_lang; private int m_lang;
private int m_nInGame; private int m_nInGame;
private ProgressDialog m_progress; private ProgressDialog m_progress;
private NoNameFound m_nnf;
public RefreshNamesTask( Context context, int lang, int nInGame, public RefreshNamesTask( Context context, NoNameFound nnf,
int lang, int nInGame,
Spinner getsResults ) Spinner getsResults )
{ {
super(); super();
m_context = context; m_context = context;
m_nnf = nnf;
m_resultSpinner = getsResults; m_resultSpinner = getsResults;
m_lang = lang; m_lang = lang;
m_nInGame = nInGame; m_nInGame = nInGame;
@ -118,6 +126,10 @@ public class RefreshNamesTask extends AsyncTask<Void, Void, String[]> {
m_progress.cancel(); m_progress.cancel();
if ( result.length == 0 ) {
m_nnf.NoNameFound();
}
Utils.logf( "onPostExecute() done" ); Utils.logf( "onPostExecute() done" );
} }
} }