package tk.djcrazy.MyCC98;
import roboguice.inject.ContentView;
import roboguice.inject.InjectView;
import tk.djcrazy.MyCC98.adapter.InboxFragmentPagerAdapter;
import tk.djcrazy.MyCC98.adapter.PostSearchFragmentPagerAdapter;
import tk.djcrazy.libCC98.CachedCC98Service;
import tk.djcrazy.libCC98.ICC98Service;
import android.app.SearchManager;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.Tab;
import com.actionbarsherlock.app.ActionBar.TabListener;
import com.actionbarsherlock.view.Menu;
import com.astuetz.viewpager.extensions.PagerSlidingTabStrip;
import com.google.inject.Inject;
@ContentView(R.layout.activity_post_search)
public class PostSearchActivity extends BaseFragmentActivity implements OnPageChangeListener, TabListener{
public static final String BOARD_ID = "boardid";
public static final String BOARD_NAME = "boardname";
private String boardId;
private String boardName;
private String mQueryString;
@Inject
private CachedCC98Service service;
@InjectView(R.id.post_search_main_pages)
private ViewPager viewPager;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
configureActionBar();
handleIntent(getIntent());
}
private void configureActionBar() {
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setLogo(new BitmapDrawable(getResources(), service.getCurrentUserAvatar()));
}
@Override
public boolean onCreateOptionsMenu(Menu optionMenu) {
getSupportMenuInflater().inflate(R.menu.post_search, optionMenu);
return true;
}
@Override
public boolean onOptionsItemSelected(
com.actionbarsherlock.view.MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
return true;
case R.id.post_search_action:
onSearchRequested();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@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
protected void onNewIntent(Intent intent) {
setIntent(intent);
handleIntent(intent);
}
private void handleIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
mQueryString = query;
Bundle appData = intent.getBundleExtra(SearchManager.APP_DATA);
boardId = appData.getString(BOARD_ID);
boardName = appData.getString(BOARD_NAME);
PostSearchFragmentPagerAdapter adapter = new PostSearchFragmentPagerAdapter(
getSupportFragmentManager(), query, boardId);
viewPager.setAdapter(adapter);
viewPager.setOnPageChangeListener(this);
PagerSlidingTabStrip tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs);
tabs.setViewPager(viewPager);
tabs.setIndicatorColor(Color.parseColor("#1faeff"));
getSupportActionBar().setTitle("搜索:" + mQueryString+" 在"+boardName);
}
}
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onTabReselected(Tab tab, FragmentTransaction ft) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageSelected(int arg0) {
getSupportActionBar().setSelectedNavigationItem(arg0);
}
}