package moe.feng.nhentai.ui;
import android.app.Activity;
import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v4.view.ViewCompat;
import android.view.View;
import moe.feng.nhentai.R;
import moe.feng.nhentai.ui.common.AbsActivity;
import moe.feng.nhentai.ui.fragment.settings.SettingsAppearance;
import moe.feng.nhentai.ui.fragment.settings.SettingsLicense;
import moe.feng.nhentai.ui.fragment.settings.SettingsMain;
import moe.feng.nhentai.ui.fragment.settings.SettingsStorage;
public class SettingsActivity extends AbsActivity {
private Fragment mFragment;
private int flag;
public static final String EXTRA_FLAG = "flag";
public static final int FLAG_MAIN = 0, FLAG_LICENSE = 1, FLAG_GUI = 2, FLAG_STORAGE = 4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
flag = intent.getIntExtra(EXTRA_FLAG, FLAG_MAIN);
setContentView(R.layout.activity_settings);
mActionBar.setDisplayHomeAsUpEnabled(true);
ViewCompat.setElevation($(R.id.appbar_container), getResources().getDimensionPixelSize(R.dimen.appbar_elevation));
}
@Override
public void setUpViews() {
ViewCompat.setElevation(mToolbar, getResources().getDimension(R.dimen.appbar_elevation));
switch (flag) {
case FLAG_MAIN:
mFragment = new SettingsMain();
break;
case FLAG_GUI:
mFragment = new SettingsAppearance();
break;
case FLAG_LICENSE:
mFragment = new SettingsLicense();
break;
case FLAG_STORAGE:
mFragment = new SettingsStorage();
break;
}
getFragmentManager().beginTransaction()
.replace(R.id.container, mFragment)
.commit();
}
public void showRestartTips() {
Snackbar.make(
$(R.id.container),
R.string.snackbar_need_restart,
Snackbar.LENGTH_LONG
).setAction(R.string.snackbar_need_restart_action, new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
}
}).show();
}
public static void launchActivity(Activity mActivity, int flag) {
Intent intent = new Intent(mActivity, SettingsActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
intent.putExtra(EXTRA_FLAG, flag);
mActivity.startActivity(intent);
}
}