/**
* The activity is to show the post list of the chooesed board
*/
package tk.djcrazy.MyCC98;
import roboguice.inject.ContentView;
import roboguice.inject.InjectExtra;
import tk.djcrazy.MyCC98.fragment.BoardListFragment;
import tk.djcrazy.MyCC98.fragment.PostListFragment;
import tk.djcrazy.MyCC98.util.Intents;
import tk.djcrazy.MyCC98.util.Intents.Builder;
import tk.djcrazy.libCC98.CachedCC98Service;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.text.Html;
import android.util.Log;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.view.Menu;
import com.google.inject.Inject;
@ContentView(R.layout.activity_boad_list)
public class BoardListActivity extends BaseFragmentActivity {
private static final String TAG = "BoardListActivity";
@InjectExtra(Intents.EXTRA_BOARD_NAME)
private String boardName;
@InjectExtra(Intents.EXTRA_BOARD_ID)
private String boardId;
@Inject
private CachedCC98Service service;
public static Intent createIntent(String boardName, String boardId) {
Intent intent = new Intents.Builder("board_list.VIEW").boardId(boardId)
.boardName(boardName).toIntent();
return intent;
}
@Override
public void onCreate(Bundle SavedInstanceState) {
super.onCreate(SavedInstanceState);
configureActionBar();
if (SavedInstanceState == null) {
getSupportFragmentManager()
.beginTransaction()
.add(R.id.board_list_fragment_container,
BoardListFragment.createInstance(boardId, boardName))
.commit();
}
}
private void configureActionBar() {
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setLogo(new BitmapDrawable(service.getCurrentUserAvatar()));
actionBar.setTitle(Html.fromHtml(boardName));
}
@Override
public boolean onOptionsItemSelected(
com.actionbarsherlock.view.MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
case R.id.post_list_menu_search:
onSearchRequested();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public boolean onCreateOptionsMenu(Menu optionMenu) {
getSupportMenuInflater().inflate(R.menu.board_list, optionMenu);
return true;
}
@Override
public boolean onSearchRequested() {
Bundle appData = new Bundle();
appData.putString(PostSearchActivity.BOARD_ID, boardId);
appData.putString(PostSearchActivity.BOARD_NAME, boardName);
startSearch(null, false, appData, false);
return true;
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
}