package com.dotcool.reader.activity;
import java.util.Iterator;
import java.util.Map.Entry;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.View;
import com.dotcool.R;
import com.dotcool.reader.AlternativeLanguageInfo;
import com.dotcool.reader.Constants;
import com.dotcool.reader.UIHelper;
public class MainActivity extends Activity {
private static final String TAG = MainActivity.class.toString();
private boolean isInverted;
private final Context ctx = this;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
UIHelper.setLanguage(this);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
UIHelper.SetTheme(this, R.layout.activity_main);
else {
UIHelper.SetTheme(this, R.layout.activity_main_no_tab);
}
UIHelper.SetActionBarDisplayHomeAsUp(this, false);
isInverted = UIHelper.getColorPreferences(this);
}
@Override
public void onBackPressed() {
// always exit if pressing back on Main Activity.
finish();
}
public void openNovelList(View view) {
String ui = PreferenceManager.getDefaultSharedPreferences(this).getString(Constants.PREF_UI_SELECTION, "0");
if (ui.equalsIgnoreCase("0")) {
Intent intent = new Intent(this, DisplayNovelPagerActivity.class);
intent.putExtra(Constants.EXTRA_CATEGORY_ID, Constants.EXTRA_UPDATE_CATEGORY_ID);
startActivity(intent);
}
}
public void openNovelListNoTab(View view) {
Intent intent = new Intent(this, DisplayLightNovelListActivity.class);
intent.putExtra(Constants.EXTRA_CATEGORY_ID, Constants.EXTRA_UPDATE_CATEGORY_ID);
startActivity(intent);
}
public void openTeaserList(View view) {
Intent intent = new Intent(this, DisplayTeaserListActivity.class);
startActivity(intent);
}
public void openOriginalsList(View view) {
Intent intent = new Intent(this, DisplayLightNovelListActivity.class);
intent.putExtra(Constants.EXTRA_CATEGORY_ID, Constants.EXTRA_MOOD_CATEGORY_ID);
startActivity(intent);
}
public void openDownloadsList(View view) {
Intent intent = new Intent(this, DownloadListActivity.class);
startActivity(intent);
}
public void openBookmarks(View view) {
Intent bookmarkIntent = new Intent(this, DisplayBookmarkActivity.class);
startActivity(bookmarkIntent);
}
public void openHistoryList(View view) {
Intent intent = new Intent(this, DisplayLightNovelListActivity.class);
intent.putExtra(Constants.EXTRA_CATEGORY_ID, Constants.EXTRA_HISTORY_CATEGORY_ID);
startActivity(intent);
}
public void openXuanhuanList(View view) {
Intent intent = new Intent(this, DisplayLightNovelListActivity.class);
intent.putExtra(Constants.EXTRA_CATEGORY_ID, Constants.EXTRA_XUANHUAN_CATEGORY_ID);
startActivity(intent);
}
public void openKehuanList(View view) {
Intent intent = new Intent(this, DisplayLightNovelListActivity.class);
intent.putExtra(Constants.EXTRA_CATEGORY_ID, Constants.EXTRA_KEHUAN_CATEGORY_ID);
startActivity(intent);
}
public void openQitaList(View view) {
Intent intent = new Intent(this, DisplayLightNovelListActivity.class);
intent.putExtra(Constants.EXTRA_CATEGORY_ID, Constants.EXTRA_QITA_CATEGORY_ID);
startActivity(intent);
}
public void openWatchList(View view) {
Intent intent = new Intent(this, DisplayLightNovelListActivity.class);
intent.putExtra(Constants.EXTRA_ONLY_WATCHED, true);
startActivity(intent);
}
/* Open An activity to select alternative language */
public void openAlternativeNovelList(View view) {
selectAlternativeLanguage();
}
/**
* Create a dialog for alternative language selection
*/
public void selectAlternativeLanguage() {
/* Counts number of selected Alternative Language */
int selection = 0;
/* Checking number of selected languages */
Iterator<Entry<String, AlternativeLanguageInfo>> it = AlternativeLanguageInfo.getAlternativeLanguageInfo().entrySet().iterator();
while (it.hasNext()) {
AlternativeLanguageInfo info = it.next().getValue();
if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(info.getLanguage(), true))
selection++;
it.remove();
}
if (selection == 0) {
/* Build an AlertDialog */
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(ctx);
/* Title for AlertDialog */
alertDialogBuilder.setMessage(getResources().getString(R.string.no_selected_language));
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setPositiveButton(getResources().getString(R.string.cancel), new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.dismiss();
}
});
/* Create alert dialog */
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
} else {
/* Start next Activity */
Intent intent = new Intent(ctx, DisplayAlternativeNovelPagerActivity.class);
startActivity(intent);
}
}
}