From a277a3767607479e09f608561175946d6fd08b70 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Mon, 16 Jul 2018 12:11:45 +0200 Subject: [PATCH] Show snackbar after tracking dialog --- .../keychain/ui/KeyListFragment.java | 26 +++++++++++++++++-- OpenKeychain/src/main/res/values/strings.xml | 4 +++ 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java index 289d492c4..20e48b19f 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/KeyListFragment.java @@ -33,6 +33,7 @@ import android.content.Intent; import android.content.pm.PackageManager.NameNotFoundException; import android.os.AsyncTask; import android.os.Bundle; +import android.preference.PreferenceActivity; import android.support.annotation.WorkerThread; import android.support.v4.app.FragmentActivity; import android.support.v4.view.MenuItemCompat; @@ -73,6 +74,7 @@ import org.sufficientlysecure.keychain.operations.results.ImportKeyResult; import org.sufficientlysecure.keychain.operations.results.OperationResult; import org.sufficientlysecure.keychain.pgp.PgpHelper; import org.sufficientlysecure.keychain.service.BenchmarkInputParcel; +import org.sufficientlysecure.keychain.ui.SettingsActivity.ExperimentalPrefsFragment; import org.sufficientlysecure.keychain.ui.adapter.FlexibleKeyDetailsItem; import org.sufficientlysecure.keychain.ui.adapter.FlexibleKeyDummyItem; import org.sufficientlysecure.keychain.ui.adapter.FlexibleKeyHeader; @@ -284,6 +286,10 @@ public class KeyListFragment extends RecyclerFragment threeDaysAgo; - if (installedLessThanThreeDaysAgo) { + if (!Constants.DEBUG && installedLessThanThreeDaysAgo) { return; } } catch (NameNotFoundException e) { @@ -302,7 +308,7 @@ public class KeyListFragment extends RecyclerFragment twentyFourHoursAgo; - if (askedLessThan24HoursAgo) { + if (!Constants.DEBUG && askedLessThan24HoursAgo) { return; } @@ -315,16 +321,32 @@ public class KeyListFragment extends RecyclerFragment { preferences.setAnalyticsAskedPolitely(); preferences.setAnalyticsGotUserConsent(false); trackingManager.refreshSettings(context); + Notify.create(requireActivity(), R.string.snack_analytics_reject, Style.OK, + this::startExperimentalSettingsActivity, R.string.snackbutton_analytics_settings).show(); }) .show(); show.setCanceledOnTouchOutside(false); } + private void startExperimentalSettingsActivity() { + Activity activity = getActivity(); + if (activity == null) { + return; + } + + Intent resultIntent = new Intent(activity, SettingsActivity.class); + String experimentalPrefsName = ExperimentalPrefsFragment.class.getName(); + resultIntent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, experimentalPrefsName); + startActivity(resultIntent); + } + private void onLoadKeyItems(List flexibleKeyItems) { FlexibleAdapter adapter = getAdapter(); if (adapter == null) { diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 6349870dc..274059e46 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -2051,4 +2051,8 @@ Allow OpenKeychain to collect anonymous usage statistics to help improve the app? Yes, I want to help! No, thanks + + "Thanks for helping out! You can change this preference in the settings." + "That's alright, we won't ask again. You can change your mind in the settings." + "Settings"