Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Override
- public void bindView(View v, final Context context, Cursor cursor) {
- GameViewHolder gvh = (GameViewHolder) v.getTag();
- final Game g = WordGameProvider.gameCurToGame(cursor);
- // Log.d("Game", "id="+g.getStrId()+", currPlayer="+g.getCurrPlayer()+", creator="+g.getGameCreator()+", picUrl="+g.getPicUrl()+", type="+g.getType());
- gvh.icon.setBackgroundResource(R.drawable.blankimage);
- gvh.currUserTurn.setText("");
- gvh.gameName.setText("");
- if (g.getCurrPlayer() != null) {
- gvh.icon.setTag(g.getStrId());
- gvh.gameName.setTag(g.getStrId());
- gvh.currUserTurn.setTag(g.getStrId());
- if (currUserId.equalsIgnoreCase(g.getCurrPlayer())) {
- v.setBackgroundColor(0xFFFFEC8B);
- }
- else {
- v.setBackgroundColor(Color.WHITE);
- }
- new GetOpponentId((String) gvh.icon.getTag(), context, gvh.icon, g).execute((Void) null);
- new PopulateGameInfo((String) gvh.currUserTurn.getTag(), gvh, context, g).execute((Void) null);
- v.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent i = new Intent(context, PlayGameActivity.class);
- i.putExtra("gameid", g.getStrId());
- ((GameListActivity) context).startActivityForResult(i, 0);
- }
- });
- }
- else {
- gvh.gameName.setText("Game of "+g.getType()+" versus Bot");
- gvh.currUserTurn.setText("Your Turn!");
- v.setBackgroundColor(0xFFFFEC8B);
- v.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- Intent i = new Intent(context, BotGameActivity.class);
- i.putExtra("gameid", g.getStrId());
- context.startActivity(i);
- }
- });
- }
- }
- class PopulateGameInfo extends AsyncTaskEx<Void, Void, String[]> {
- private GameViewHolder gvh;
- private Context context;
- private Game g;
- private String tag;
- public PopulateGameInfo(String tag, GameViewHolder gvh, Context context, Game g) {
- this.tag = tag;
- this.context = context;
- this.gvh = gvh;
- this.g = g;
- }
- protected void onPreExecute() {
- gvh.gameName.setText("Loading...");
- gvh.currUserTurn.setText("Loading...");
- };
- @Override
- protected String[] doInBackground(Void... arg0) {
- String[] names = new String[2];
- names[0] = WordGameProvider.getUserName(context, g.getGameCreator());
- names[1] = WordGameProvider.getUserName(context, g.getCurrPlayer());
- return names;
- }
- protected void onPostExecute(String[] result) {
- if (tag.equalsIgnoreCase((String) gvh.gameName.getTag()) && tag.equalsIgnoreCase((String) gvh.currUserTurn.getTag()) && g.getStrId().equalsIgnoreCase(tag)) {
- if (result[0] != null) {
- gvh.gameName.setText("Game of "+g.getType()+" created by "+result[0]);
- }
- if (result[1] != null) {
- gvh.currUserTurn.setText(result[1]+"'s Turn.");
- }
- }
- };
- }
- class GetOpponentId extends AsyncTaskEx<Void, Void, String> {
- private Context c;
- private WeakReference<ImageView> image;
- private Game g;
- private String tag;
- public GetOpponentId(String tag, Context c, ImageView image, Game g) {
- this.tag = tag;
- this.c = c;
- this.image = new WeakReference<ImageView>(image);
- this.g = g;
- }
- @Override
- protected String doInBackground(Void... arg0) {
- Cursor cur = c.getContentResolver().query(WordGameProvider.USERS_URI,
- new String[] {DBHelper.USERID},
- DBHelper.GAME_ID+"=? AND "+DBHelper.USERID+"!=?",
- new String[] {g.getStrId(), currUserId},
- null);
- cur.moveToFirst();
- String retStr = cur.getString(cur.getColumnIndex(DBHelper.USERID));
- cur.close();
- return retStr;
- }
- @Override
- protected void onPostExecute(String result) {
- if (image != null && image.get() != null && tag.equalsIgnoreCase((String) image.get().getTag()) && g.getStrId().equalsIgnoreCase(tag)) {
- image.get().setImageBitmap(Util.model.getImage(result, g.getPicUrl(), c, image.get()));
- }
- }
- }
- private void refreshGamesList() {
- allGamesCur = getContentResolver().query(WordGameProvider.GAMES_URI, null, null, null, null);
- allGamesCur.moveToFirst();
- while (!allGamesCur.isAfterLast()) {
- Log.d("Cursor Row", "id="+allGamesCur.getString(allGamesCur.getColumnIndex(DBHelper.GAME_ID))+", type="+allGamesCur.getString(allGamesCur.getColumnIndex(DBHelper.TYPE))+", picurl="+allGamesCur.getString(allGamesCur.getColumnIndex(DBHelper.PIC_URL)));
- allGamesCur.moveToNext();
- }
- if (allGamesCur.getCount() < 1) {
- gameList.setVisibility(View.GONE);
- noGames.setVisibility(View.VISIBLE);
- }
- else {
- noGames.setVisibility(View.GONE);
- gameList.setVisibility(View.VISIBLE);
- if (gamesAdapter == null) {
- gamesAdapter = new GameListAdapter(this, allGamesCur, currUserId);
- gameList.setAdapter(gamesAdapter);
- }
- else {
- gamesAdapter.changeCursor(allGamesCur);
- gamesAdapter.notifyDataSetChanged();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement