diff options
author | Chris Warrington <cmw@google.com> | 2016-10-18 12:29:21 +0100 |
---|---|---|
committer | Chris Warrington <cmw@google.com> | 2016-10-18 12:34:18 +0100 |
commit | e3780081075c01aa1dff6d1f373cb43192b33e68 (patch) | |
tree | fb734615933a39f3d009210dc0d1457160479b35 /WordPress/src/main/java/org/wordpress/android/ui/prefs/AppSettingsActivity.java | |
parent | 7e05eb7e57827eddc885570bc00aed8a50320dbf (diff) | |
parent | 025b8b226c8d8edba2b309ca878572f40512eca7 (diff) | |
download | gradle-perf-android-medium-e3780081075c01aa1dff6d1f373cb43192b33e68.tar.gz |
Merge remote-tracking branch 'origin/upstream-master' into masterHEADstudio-3.4.0studio-3.2.1studio-3.1.2studio-3.0studio-2.3gradle_3.4.0gradle_3.1.2gradle_3.0.0gradle_2.3.0studio-master-devmirror-goog-studio-master-devmastermain
Change-Id: I63f5e16d09297c48432192761b840310935eb903
Diffstat (limited to 'WordPress/src/main/java/org/wordpress/android/ui/prefs/AppSettingsActivity.java')
-rw-r--r-- | WordPress/src/main/java/org/wordpress/android/ui/prefs/AppSettingsActivity.java | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppSettingsActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppSettingsActivity.java new file mode 100644 index 000000000..1d16b4253 --- /dev/null +++ b/WordPress/src/main/java/org/wordpress/android/ui/prefs/AppSettingsActivity.java @@ -0,0 +1,74 @@ +package org.wordpress.android.ui.prefs; + +import android.app.FragmentManager; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.SwitchPreference; +import android.support.v7.app.ActionBar; +import android.support.v7.app.AppCompatActivity; +import android.view.MenuItem; + +import org.wordpress.passcodelock.AppLockManager; +import org.wordpress.passcodelock.PasscodePreferenceFragment; + +public class AppSettingsActivity extends AppCompatActivity { + private static final String KEY_APP_SETTINGS_FRAGMENT = "app-settings-fragment"; + private static final String KEY_PASSCODE_FRAGMENT = "passcode-fragment"; + + private AppSettingsFragment mAppSettingsFragment; + private PasscodePreferenceFragment mPasscodePreferenceFragment; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + ActionBar actionBar = getSupportActionBar(); + if (actionBar != null) { + actionBar.setHomeButtonEnabled(true); + actionBar.setDisplayHomeAsUpEnabled(true); + } + + FragmentManager fragmentManager = getFragmentManager(); + mAppSettingsFragment = (AppSettingsFragment) fragmentManager.findFragmentByTag(KEY_APP_SETTINGS_FRAGMENT); + mPasscodePreferenceFragment = (PasscodePreferenceFragment) fragmentManager.findFragmentByTag(KEY_PASSCODE_FRAGMENT); + if (mAppSettingsFragment == null || mPasscodePreferenceFragment == null) { + Bundle passcodeArgs = new Bundle(); + passcodeArgs.putBoolean(PasscodePreferenceFragment.KEY_SHOULD_INFLATE, false); + mAppSettingsFragment = new AppSettingsFragment(); + mPasscodePreferenceFragment = new PasscodePreferenceFragment(); + mPasscodePreferenceFragment.setArguments(passcodeArgs); + + fragmentManager.beginTransaction() + .replace(android.R.id.content, mPasscodePreferenceFragment, KEY_PASSCODE_FRAGMENT) + .add(android.R.id.content, mAppSettingsFragment, KEY_APP_SETTINGS_FRAGMENT) + .commit(); + } + } + + @Override + public void onStart() { + super.onStart(); + + Preference togglePref = + mAppSettingsFragment.findPreference(getString(org.wordpress.passcodelock.R.string + .pref_key_passcode_toggle)); + Preference changePref = + mAppSettingsFragment.findPreference(getString(org.wordpress.passcodelock.R.string + .pref_key_change_passcode)); + + if (togglePref != null && changePref != null) { + mPasscodePreferenceFragment.setPreferences(togglePref, changePref); + ((SwitchPreference) togglePref).setChecked( + AppLockManager.getInstance().getAppLock().isPasswordLocked()); + } + } + + @Override + public boolean onOptionsItemSelected(final MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + onBackPressed(); + return true; + } + return super.onOptionsItemSelected(item); + } +} |