Back to project page RedditReader_Android_app.
The source code is released under:
MIT License
If you think the Android project RedditReader_Android_app listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.example.dawoon.redditreader; /* ww w . j a va 2 s .com*/ import android.annotation.TargetApi; import android.content.Intent; import android.os.Build; import android.os.Bundle; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceManager; import android.support.v7.widget.Toolbar; import android.view.View; import com.example.dawoon.redditreader.data.RedditContract.PostingEntry; import com.example.dawoon.redditreader.sync.RedditSyncAdapter; /** * Activity for Settings page. It only contains preference for subreddit setting. */ public class SettingsActivity extends PreferenceActivity implements Preference.OnPreferenceChangeListener { boolean mBindingPreference; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_settings); Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); if (toolbar != null) { toolbar.setTitle(R.string.title_activity_settings); toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SettingsActivity.this.finish(); } }); } // Add 'general' preferences, defined in the XML file addPreferencesFromResource(R.xml.pref_general); // For all preferences, attach an OnPreferenceChangeListener so the UI summary can be // updated when the preference changes. bindPreferenceSummaryToValue(findPreference(getString(R.string.pref_subreddit_key))); } /** * Attaches a listener so the summary is always updated with the preference value. * Also fires the listener once, to initialize the summary (so it shows up before the value * is changed.) */ private void bindPreferenceSummaryToValue(Preference preference) { mBindingPreference = true; // Set the listener to watch for value changes. preference.setOnPreferenceChangeListener(this); // Trigger the listener immediately with the preference's // current value. onPreferenceChange(preference, PreferenceManager .getDefaultSharedPreferences(preference.getContext()) .getString(preference.getKey(), "")); mBindingPreference = false; } @Override public boolean onPreferenceChange(Preference preference, Object value) { if (!mBindingPreference) { if (preference.getKey().equals(getString(R.string.pref_subreddit_key))) { RedditSyncAdapter.syncImmediately(this); } else { getContentResolver().notifyChange(PostingEntry.CONTENT_URI, null); } } return true; } @TargetApi(Build.VERSION_CODES.JELLY_BEAN) @Override public Intent getParentActivityIntent() { return super.getParentActivityIntent().addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); } }