diff --git a/app/build.gradle b/app/build.gradle index bc1ad43b..bbf45d38 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,8 +40,8 @@ android { applicationId "com.physphil.android.unitconverterultimate" minSdkVersion 14 targetSdkVersion 27 - versionCode 50301 - versionName '5.3.1' + versionCode 50303 + versionName '5.3.3' } diff --git a/app/src/main/java/com/physphil/android/unitconverterultimate/fragments/PreferencesFragment.java b/app/src/main/java/com/physphil/android/unitconverterultimate/fragments/PreferencesFragment.java index 737d66c5..9dd158a6 100644 --- a/app/src/main/java/com/physphil/android/unitconverterultimate/fragments/PreferencesFragment.java +++ b/app/src/main/java/com/physphil/android/unitconverterultimate/fragments/PreferencesFragment.java @@ -1,5 +1,5 @@ /* - * Copyright 2017 Phil Shadlyn + * Copyright 2018 Phil Shadlyn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,6 +42,7 @@ public class PreferencesFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { private static final String GITHUB_ISSUE = "https://github.com/physphil/UnitConverterUltimate/issues"; + private static final String PRIVACY_POLICY = "https://privacypolicies.com/privacy/view/f7a41d67f1b0081f249c2ff0a3123136"; public static PreferencesFragment newInstance() { return new PreferencesFragment(); @@ -89,6 +90,15 @@ public boolean onPreferenceClick(Preference preference) { } }); + Preference privacy = findPreference("privacy_policy"); + privacy.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + openPrivacyPolicy(); + return true; + } + }); + Preference donate = findPreference("donate"); if (BuildConfig.FLAVOR.equals(UnitConverterApplication.BUILD_FLAVOUR_GOOGLE)) { donate.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @@ -155,6 +165,15 @@ private void openIssue() { } } + private void openPrivacyPolicy() { + try { + startActivity(IntentFactory.getOpenUrlIntent(PRIVACY_POLICY)); + } + catch (ActivityNotFoundException ex) { + Toast.makeText(getActivity(), R.string.toast_error_no_browser, Toast.LENGTH_SHORT).show(); + } + } + private void sortLanguageOptions(final ListPreference preference) { // Sort language options so they're always alphabetical, no matter what language the user has chosen final Language[] languages = Language.values(); diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index a92e8865..28d33d58 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1,6 +1,6 @@