package com.victorvieux.livedroid.activities; import android.content.res.Configuration; import android.os.Bundle; import com.actionbarsherlock.app.SherlockFragmentActivity; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; import com.victorvieux.livedroid.R; import com.victorvieux.livedroid.fragments.GameFragment; public class GameActivity extends SherlockFragmentActivity implements OnRefreshListener { private MenuItem mMenuRefresh; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getSupportActionBar().setDisplayHomeAsUpEnabled(true); int mask = getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK; if (mask >= Configuration.SCREENLAYOUT_SIZE_LARGE && getIntent().getBooleanExtra("forced", false) == false) { finish(); return; } if (savedInstanceState == null) { setTitle(getIntent().getStringExtra("title")); GameFragment game = new GameFragment(); game.setArguments(getIntent().getExtras()); getSupportFragmentManager().beginTransaction().add(android.R.id.content, game).commit(); } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; case R.id.itemRefresh: ((GameFragment) getSupportFragmentManager().findFragmentById(android.R.id.content)).onRefresh(true); return true; default: return super.onOptionsItemSelected(item); } } public void setRefresh(boolean refresh) { try { if (mMenuRefresh != null) mMenuRefresh.setActionView(refresh ? R.layout.refresh_menuitem : null); }catch (NullPointerException ex) {invalidateOptionsMenu();}; } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getSupportMenuInflater(); inflater.inflate(R.menu.refresh, menu); mMenuRefresh = menu.findItem(R.id.itemRefresh); return true; } @Override public boolean onPrepareOptionsMenu (Menu menu) { mMenuRefresh = menu.findItem(R.id.itemRefresh); return true; } }