package io.github.mthli.Ninja.Activity; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import io.github.mthli.Ninja.Fragment.ClearFragment; import io.github.mthli.Ninja.R; import io.github.mthli.Ninja.Unit.BrowserUnit; import io.github.mthli.Ninja.View.NinjaToast; public class ClearActivity extends Activity { public static final String DB_CHANGE = "DB_CHANGE"; private boolean dbChange = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActionBar().setDisplayHomeAsUpEnabled(true); getFragmentManager().beginTransaction().replace(android.R.id.content, new ClearFragment()).commit(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.clear_menu, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem menuItem) { switch (menuItem.getItemId()) { case android.R.id.home: Intent intent = new Intent(); intent.putExtra(DB_CHANGE, dbChange); setResult(Activity.RESULT_OK, intent); finish(); break; case R.id.clear_menu_done_all: clear(); break; default: break; } return true; } @Override public boolean onKeyDown(int keyCode, KeyEvent keyEvent) { Intent intent = new Intent(); intent.putExtra(DB_CHANGE, dbChange); setResult(Activity.RESULT_OK, intent); finish(); return true; } private void clear() { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); boolean clearBookmarks = sp.getBoolean(getString(R.string.sp_clear_bookmarks), false); boolean clearCache = sp.getBoolean(getString(R.string.sp_clear_cache), true); boolean clearCookie = sp.getBoolean(getString(R.string.sp_clear_cookie), false); boolean clearFormData = sp.getBoolean(getString(R.string.sp_clear_form_data), false); boolean clearHistory = sp.getBoolean(getString(R.string.sp_clear_history), true); boolean clearPasswords = sp.getBoolean(getString(R.string.sp_clear_passwords), false); ProgressDialog dialog; dialog = new ProgressDialog(this); dialog.setCancelable(false); dialog.setMessage(getString(R.string.toast_wait_a_minute)); dialog.show(); if (clearBookmarks) { BrowserUnit.clearBookmarks(this); } if (clearCache) { BrowserUnit.clearCache(this); } if (clearCookie) { BrowserUnit.clearCookie(this); } if (clearFormData) { BrowserUnit.clearFormData(this); } if (clearHistory) { BrowserUnit.clearHistory(this); } if (clearPasswords) { BrowserUnit.clearPasswords(this); } dialog.hide(); dialog.dismiss(); dbChange = true; NinjaToast.show(this, R.string.toast_clear_successful); } }