/**
* Copyright (C) 2013 HalZhang
*/
package com.halzhang.android.apps.startupnews.ui;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceFragment;
import android.support.v7.app.ActionBar;
import android.view.MenuItem;
import com.google.analytics.tracking.android.EasyTracker;
import com.halzhang.android.apps.startupnews.R;
import com.halzhang.android.apps.startupnews.analytics.Tracker;
import com.halzhang.android.apps.startupnews.utils.AppUtils;
/**
* StartupNews
* <p>
* 设置
* </p>
*
* @author <a href="http://weibo.com/halzhang">Hal</a>
* @version Mar 8, 2013
*/
public class AboutActivity extends BaseFragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
getFragmentManager().beginTransaction().replace(android.R.id.content, new AppPreferenceFragment()).commit();
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
// LinearLayout root = (LinearLayout) findViewById(android.R.id.list).getParent().getParent().getParent();
// Toolbar bar = (Toolbar) LayoutInflater.from(this).inflate(R.layout.preference_toolbar, root, false);
// root.addView(bar, 0); // insert at top
// bar.setTitleTextColor(getResources().getColor(android.R.color.white));
// bar.setNavigationOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// finish();
// }
// });
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
finish();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
public static class AppPreferenceFragment extends PreferenceFragment implements OnPreferenceChangeListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
ListPreference listPreference = (ListPreference) findPreference(getString(R.string.pref_key_html_provider));
listPreference.setOnPreferenceChangeListener(this);
listPreference.setSummary(listPreference.getEntry());
(findPreference(getString(R.string.pref_key_default_browse)))
.setOnPreferenceChangeListener(this);
Preference versionPref = findPreference(getString(R.string.pref_key_version));
versionPref.setSummary(getString(R.string.pref_summary_version,
AppUtils.getVersionName(getActivity())));
}
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
final String key = preference.getKey();
if (getString(R.string.pref_key_html_provider).equals(key)) {
Tracker.getInstance().sendEvent("preference_change_action",
"preference_change_html_provider",
String.format("html_provider_%1$s", (String) newValue), 0L);
ListPreference listPreference = (ListPreference) preference;
preference.setSummary(listPreference.getEntries()[listPreference
.findIndexOfValue((String) newValue)]);
} else if (getString(R.string.pref_key_default_browse).equals(key)) {
Tracker.getInstance().sendEvent("preference_change_action",
"preference_change_default_browse",
String.format("default_browse_%1$s", String.valueOf(newValue)), 0L);
}
return true;
}
}
@Override
protected void onStart() {
super.onStart();
EasyTracker.getInstance(this).activityStart(this);
}
@Override
protected void onStop() {
super.onStop();
EasyTracker.getInstance(this).activityStop(this);
}
}