package io.github.mthli.Ninja.Activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import io.github.mthli.Ninja.Task.ImportBookmarksTask;
import io.github.mthli.Ninja.Task.ImportWhitelistTask;
import io.github.mthli.Ninja.View.NinjaToast;
import io.github.mthli.Ninja.Fragment.SettingFragment;
import io.github.mthli.Ninja.R;
import io.github.mthli.Ninja.Unit.IntentUnit;
import java.io.File;
public class SettingActivity extends Activity {
private SettingFragment fragment;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().setDisplayHomeAsUpEnabled(true);
fragment = new SettingFragment();
getFragmentManager().beginTransaction().replace(android.R.id.content, fragment).commit();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.setting_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case android.R.id.home:
IntentUnit.setDBChange(fragment.isDBChange());
IntentUnit.setSPChange(fragment.isSPChange());
finish();
break;
default:
break;
}
return true;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent keyEvent) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
IntentUnit.setDBChange(fragment.isDBChange());
IntentUnit.setSPChange(fragment.isSPChange());
finish();
return true;
}
return false;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == IntentUnit.REQUEST_BOOKMARKS) {
if (resultCode != Activity.RESULT_OK || data == null || data.getData() == null) {
NinjaToast.show(this, R.string.toast_import_bookmarks_failed);
} else {
File file = new File(data.getData().getPath());
new ImportBookmarksTask(fragment, file).execute();
}
} else if (requestCode == IntentUnit.REQUEST_WHITELIST) {
if (resultCode != Activity.RESULT_OK || data == null || data.getData() == null) {
NinjaToast.show(this, R.string.toast_import_whitelist_failed);
} else {
File file = new File(data.getData().getPath());
new ImportWhitelistTask(fragment, file).execute();
}
} else if (requestCode == IntentUnit.REQUEST_CLEAR) {
if (resultCode == Activity.RESULT_OK && data != null && data.hasExtra(ClearActivity.DB_CHANGE)) {
fragment.setDBChange(data.getBooleanExtra(ClearActivity.DB_CHANGE, false));
}
}
}
}