package com.dotcool.reader.activity;
import android.app.Activity;
import android.app.LocalActivityManager;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.widget.TabHost;
import android.widget.TabHost.TabSpec;
import com.actionbarsherlock.app.SherlockActivity;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuItem;
import com.dotcool.reader.Constants;
import com.dotcool.R;
import com.dotcool.reader.UIHelper;
@SuppressWarnings("deprecation")
public class DisplayNovelPagerActivity extends SherlockActivity {
// TabSpec Names
private static final String MAIN_SPEC = "Main";
private static final String TEASER_SPEC = "Teaser";
private static final String ORIGINAL_SPEC = "Original";
private static final String TAG = DisplayNovelPagerActivity.class.toString();
static TabHost tabHost;
private boolean isInverted;
LocalActivityManager lam;
private Activity currentActivity = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
UIHelper.SetTheme(this, R.layout.activity_display_novel_pager);
UIHelper.SetActionBarDisplayHomeAsUp(this, true);
setContentView(R.layout.activity_display_novel_pager);
} else {
UIHelper.SetTheme(this, R.layout.activity_display_novel_pager_fix);
UIHelper.SetActionBarDisplayHomeAsUp(this, true);
setContentView(R.layout.activity_display_novel_pager_fix);
}
tabHost = (TabHost) findViewById(android.R.id.tabhost);
lam = new LocalActivityManager(this, false);
lam.dispatchCreate(savedInstanceState);
tabHost.setup(lam);
isInverted = UIHelper.getColorPreferences(this);
// First Tab - Normal Novels
TabSpec firstSpec = tabHost.newTabSpec(MAIN_SPEC);
firstSpec.setIndicator(MAIN_SPEC);
Intent firstIntent = new Intent(this, DisplayLightNovelListActivity.class);
firstIntent.putExtra(Constants.EXTRA_ONLY_WATCHED, false);
firstSpec.setContent(firstIntent);
// Second Tab - Teasers
TabSpec secondSpec = tabHost.newTabSpec(TEASER_SPEC);
secondSpec.setIndicator(TEASER_SPEC);
Intent secondIntent = new Intent(this, DisplayTeaserListActivity.class);
secondSpec.setContent(secondIntent);
// Third Tab - Original
TabSpec thirdSpec = tabHost.newTabSpec(ORIGINAL_SPEC);
thirdSpec.setIndicator(ORIGINAL_SPEC);
Intent thirdIntent = new Intent(this, DisplayOriginalListActivity.class);
thirdSpec.setContent(thirdIntent);
// Adding all TabSpec to TabHost
tabHost.addTab(firstSpec); // Adding First tab
tabHost.addTab(secondSpec); // Adding Second tab
tabHost.addTab(thirdSpec); // Adding third tab
//setTabColor();
tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {
public void onTabChanged(String tabId) {
//setTabColor();
currentActivity = lam.getActivity(tabId);
}
});
// Cheap preload list hack.
tabHost.setCurrentTabByTag(TEASER_SPEC);
tabHost.setCurrentTabByTag(ORIGINAL_SPEC);
tabHost.setCurrentTabByTag(MAIN_SPEC);
Log.d(TAG, "Created");
}
@Override
protected void onPause() {
super.onPause();
lam.dispatchPause(isFinishing());
}
@Override
protected void onResume() {
super.onResume();
lam.dispatchResume();
}
@Override
protected void onRestart() {
super.onRestart();
if (isInverted != UIHelper.getColorPreferences(this)) {
UIHelper.Recreate(this);
}
}
public static void setTabColor() {
for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {
// tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#2D5A9C")); //unselected
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#000000")); // unselected
}
// tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#234B7E"));
// // selected
tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.parseColor("#708090")); // selected
}
public static TabHost getMainTabHost() {
return tabHost;
}
// Option Menu related
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.activity_display_light_novel_list, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Activity activity = currentActivity;
switch (item.getItemId()) {
case R.id.menu_refresh_novel_list:
if (activity instanceof INovelListHelper)
((INovelListHelper) activity).refreshList();
return true;
case R.id.invert_colors:
UIHelper.ToggleColorPref(this);
UIHelper.Recreate(this);
return true;
case R.id.menu_manual_add:
if (activity instanceof INovelListHelper)
((INovelListHelper) activity).manualAdd();
return true;
case R.id.menu_download_all_info:
if (activity instanceof INovelListHelper)
((INovelListHelper) activity).downloadAllNovelInfo();
return true;
case R.id.menu_bookmarks:
Intent bookmarkIntent = new Intent(this, DisplayBookmarkActivity.class);
startActivity(bookmarkIntent);
return true;
case R.id.menu_downloads_list:
Intent downloadsItent = new Intent(this, DownloadListActivity.class);
startActivity(downloadsItent);
return true;
case android.R.id.home:
super.onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
}