package moe.feng.nhentai.ui.fragment.settings;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import moe.feng.nhentai.R;
import moe.feng.nhentai.cache.file.FileCacheManager;
import moe.feng.nhentai.dao.SearchHistoryManager;
import moe.feng.nhentai.ui.SettingsActivity;
import moe.feng.nhentai.util.Updates;
import moe.feng.nhentai.view.pref.Preference;
import static android.R.attr.duration;
public class SettingsMain extends PreferenceFragment implements Preference.OnPreferenceClickListener {
private Preference mLicensePref;
private Preference mGooglePlusPref;
private Preference mGithubPref;
private Preference mTelegreamPref;
private Preference mGoogleGroupPref;
private Preference mAppearancePref;
private Preference mStoragePref;
private Preference mSearchPref;
private Preference mCachePref;
private Preference mVersionPref;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings_main);
mSearchPref = (Preference) findPreference("search");
mVersionPref = (Preference) findPreference("version");
mLicensePref = (Preference) findPreference("license");
mGooglePlusPref = (Preference) findPreference("google_plus");
mGithubPref = (Preference) findPreference("github");
mTelegreamPref = (Preference) findPreference("telegram");
mAppearancePref = (Preference) findPreference("ui");
mStoragePref = (Preference) findPreference("storage");
mGoogleGroupPref = (Preference) findPreference("google_plus_group");
mCachePref = (Preference) findPreference("cache");
String version = "Unknown";
try {
version = getActivity().getPackageManager().getPackageInfo(getActivity().getPackageName(), 0).versionName;
version += " (" + getActivity().getPackageManager().getPackageInfo(getActivity().getPackageName(), 0).versionCode + ")";
} catch (Exception e) {
Log.d(SettingsMain.class.getSimpleName(), "onCreate: Error getting version");
}
mVersionPref.setSummary(version);
mVersionPref.setOnPreferenceClickListener(this);
mSearchPref.setOnPreferenceClickListener(this);
mLicensePref.setOnPreferenceClickListener(this);
mGooglePlusPref.setOnPreferenceClickListener(this);
mGithubPref.setOnPreferenceClickListener(this);
mTelegreamPref.setOnPreferenceClickListener(this);
mAppearancePref.setOnPreferenceClickListener(this);
mStoragePref.setOnPreferenceClickListener(this);
mGoogleGroupPref.setOnPreferenceClickListener(this);
mCachePref.setOnPreferenceClickListener(this);
}
@Override
public boolean onPreferenceClick(android.preference.Preference pref) {
if (pref == mLicensePref) {
SettingsActivity.launchActivity(getActivity(), SettingsActivity.FLAG_LICENSE);
return true;
}
if (pref == mGooglePlusPref) {
openWebUrl("https://plus.google.com/+FungJichun");
return true;
}
if (pref == mGithubPref) {
openWebUrl(getString(R.string.set_title_github_website));
return true;
}
if (pref == mTelegreamPref) {
openWebUrl(getString(R.string.set_title_telegram_link));
return true;
}
if (pref == mAppearancePref) {
SettingsActivity.launchActivity(getActivity(), SettingsActivity.FLAG_GUI);
return true;
}
if (pref == mStoragePref) {
SettingsActivity.launchActivity(getActivity(), SettingsActivity.FLAG_STORAGE);
return true;
}
if (pref == mGoogleGroupPref) {
openWebUrl(getString(R.string.set_title_gpgroup_link));
}
if (pref == mSearchPref) {
SearchHistoryManager.getInstance(getParentActivity().getBaseContext(), "all").cleanAll();
Toast.makeText(getParentActivity().getBaseContext(), R.string.search_cleared, Toast.LENGTH_LONG).show();
return true;
}
if (pref == mCachePref) {
FileCacheManager.getInstance(getParentActivity().getBaseContext()).deleteCache();
Toast.makeText(getParentActivity().getBaseContext(), R.string.cache_cleared, Toast.LENGTH_LONG).show();
return true;
}
if (pref == mVersionPref) {
final ProgressDialog progressDialog=ProgressDialog.show(getActivity(),null,getActivity().getResources().getString(R.string.checking),true,false);
Updates.check(getActivity(), new Updates.UpdateInterface() {
@Override
public void onChecked(boolean isUpdated) {
progressDialog.dismiss();
if (isUpdated){
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(getActivity(),R.string.no_update,Toast.LENGTH_SHORT).show();
}
});
}
}
});
}
return false;
}
}