From 449f2d171df01a61d46f93766deea30e037f02c0 Mon Sep 17 00:00:00 2001 From: str4d Date: Fri, 5 Jun 2015 05:56:25 +0000 Subject: [PATCH] Require password to access privacy and app protection settings --- .../bote/android/config/SettingsActivity.java | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/i2p/bote/android/config/SettingsActivity.java b/app/src/main/java/i2p/bote/android/config/SettingsActivity.java index fd8a028e..33c4490e 100644 --- a/app/src/main/java/i2p/bote/android/config/SettingsActivity.java +++ b/app/src/main/java/i2p/bote/android/config/SettingsActivity.java @@ -10,11 +10,13 @@ import android.support.v4.content.LocalBroadcastManager; import android.support.v4.preference.PreferenceFragment; import android.support.v7.widget.Toolbar; +import i2p.bote.I2PBote; import i2p.bote.android.BoteActivityBase; import i2p.bote.android.EmailListActivity; import i2p.bote.android.R; import i2p.bote.android.identities.IdentityListActivity; import i2p.bote.android.service.BoteService; +import i2p.bote.android.util.BoteHelper; public class SettingsActivity extends BoteActivityBase implements SharedPreferences.OnSharedPreferenceChangeListener { @@ -124,16 +126,37 @@ public class SettingsActivity extends BoteActivityBase implements startActivity(ili); break; + case PREFERENCE_CATEGORY_PRIVACY: + case PREFERENCE_CATEGORY_APP_PROTECTION: + if (I2PBote.getInstance().isPasswordRequired()) { + BoteHelper.requestPassword(getActivity(), new BoteHelper.RequestPasswordListener() { + @Override + public void onPasswordVerified() { + loadCategory(); + } + + @Override + public void onPasswordCanceled() { + } + }); + } else + loadCategory(); + break; + default: - Fragment fragment = getFragmentForCategory(category); - getActivity().getSupportFragmentManager().beginTransaction() - .replace(R.id.container, fragment) - .addToBackStack(null) - .commit(); + loadCategory(); } return true; } + + private void loadCategory() { + Fragment fragment = getFragmentForCategory(category); + getActivity().getSupportFragmentManager().beginTransaction() + .replace(R.id.container, fragment) + .addToBackStack(null) + .commit(); + } } }