From f4365330cb4d4fb6b7c658149d6fee638371f553 Mon Sep 17 00:00:00 2001 From: FlyingP1g FlyingP1g Date: Sat, 6 Aug 2022 13:45:48 +0300 Subject: [PATCH] Added privacy policy to menu and report form. --- .../android/reporting/ReportFormFragment.java | 27 +++++++++++++++++++ .../briar/android/settings/AboutFragment.java | 8 ++++++ .../src/main/res/layout/fragment_about.xml | 11 +++++++- .../main/res/layout/fragment_report_form.xml | 12 ++++++++- briar-android/src/main/res/values/strings.xml | 2 ++ 5 files changed, 58 insertions(+), 2 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/reporting/ReportFormFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/reporting/ReportFormFragment.java index 328ced375..1334520e0 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/reporting/ReportFormFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/reporting/ReportFormFragment.java @@ -1,5 +1,8 @@ package org.briarproject.briar.android.reporting; +import android.content.ActivityNotFoundException; +import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; @@ -10,6 +13,7 @@ import android.view.ViewGroup; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; +import android.widget.TextView; import android.widget.Toast; import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault; @@ -17,6 +21,9 @@ import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault; import org.briarproject.briar.R; import org.briarproject.briar.android.activity.ActivityComponent; import org.briarproject.briar.android.fragment.BaseFragment; +import org.briarproject.briar.android.settings.AboutFragment; + +import java.util.logging.Logger; import javax.inject.Inject; @@ -27,14 +34,19 @@ import androidx.recyclerview.widget.RecyclerView; import static android.view.View.GONE; import static android.view.View.INVISIBLE; import static android.view.View.VISIBLE; +import static android.widget.Toast.LENGTH_LONG; import static android.widget.Toast.LENGTH_SHORT; import static java.util.Objects.requireNonNull; +import static java.util.logging.Level.WARNING; +import static java.util.logging.Logger.getLogger; +import static org.briarproject.bramble.util.LogUtils.logException; @MethodsNotNullByDefault @ParametersNotNullByDefault public class ReportFormFragment extends BaseFragment { public final static String TAG = ReportFormFragment.class.getName(); + private static final Logger LOG = getLogger(TAG); @Inject ViewModelProvider.Factory viewModelFactory; @@ -43,6 +55,7 @@ public class ReportFormFragment extends BaseFragment { private EditText userCommentView; private EditText userEmailView; + private TextView privacyPolicy; private CheckBox includeDebugReport; private Button chevron; private RecyclerView list; @@ -73,6 +86,7 @@ public class ReportFormFragment extends BaseFragment { userCommentView = v.findViewById(R.id.user_comment); userEmailView = v.findViewById(R.id.user_email); + privacyPolicy = v.findViewById(R.id.PrivacyPolicy); includeDebugReport = v.findViewById(R.id.include_debug_report); chevron = v.findViewById(R.id.chevron); list = v.findViewById(R.id.list); @@ -90,6 +104,19 @@ public class ReportFormFragment extends BaseFragment { userCommentView.setHint(R.string.describe_crash); } + privacyPolicy.setOnClickListener(View -> { + String url = "https://briarproject.org/privacy-policy/"; + Intent i = new Intent(Intent.ACTION_VIEW); + i.setData(Uri.parse(url)); + try { + startActivity(i); + } catch (ActivityNotFoundException e) { + logException(LOG, WARNING, e); + Toast.makeText(requireContext(), + R.string.error_start_activity, LENGTH_LONG).show(); + } + }); + chevron.setOnClickListener(view -> { boolean show = chevron.getText().equals(getString(R.string.show)); viewModel.showReportData(show); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/settings/AboutFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/settings/AboutFragment.java index 881ef846f..e29bb6538 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/settings/AboutFragment.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/AboutFragment.java @@ -38,6 +38,7 @@ public class AboutFragment extends Fragment { private TextView briarWebsite; private TextView briarSourceCode; private TextView briarChangelog; + private TextView briarPrivacyPolicy; @Nullable @Override @@ -61,6 +62,8 @@ public class AboutFragment extends Fragment { briarWebsite = requireActivity().findViewById(R.id.BriarWebsite); briarSourceCode = requireActivity().findViewById(R.id.BriarSourceCode); briarChangelog = requireActivity().findViewById(R.id.BriarChangelog); + briarPrivacyPolicy = + requireActivity().findViewById(R.id.BriarPrivacyPolicy); briarWebsite.setOnClickListener(View -> { String url = "https://briarproject.org/"; goToUrl(url); @@ -74,6 +77,11 @@ public class AboutFragment extends Fragment { "https://code.briarproject.org/briar/briar/-/wikis/changelog"; goToUrl(url); }); + briarPrivacyPolicy.setOnClickListener(View -> { + String url = + "https://briarproject.org/privacy-policy/"; + goToUrl(url); + }); } private void goToUrl(String url) { diff --git a/briar-android/src/main/res/layout/fragment_about.xml b/briar-android/src/main/res/layout/fragment_about.xml index 39537855e..07ba4481f 100644 --- a/briar-android/src/main/res/layout/fragment_about.xml +++ b/briar-android/src/main/res/layout/fragment_about.xml @@ -60,6 +60,15 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/BriarSourceCode" /> + + + app:layout_constraintTop_toBottomOf="@+id/BriarPrivacyPolicy" /> \ No newline at end of file diff --git a/briar-android/src/main/res/layout/fragment_report_form.xml b/briar-android/src/main/res/layout/fragment_report_form.xml index 114d161e9..18fc9e9a6 100644 --- a/briar-android/src/main/res/layout/fragment_report_form.xml +++ b/briar-android/src/main/res/layout/fragment_report_form.xml @@ -56,6 +56,16 @@ + + + app:layout_constraintTop_toBottomOf="@+id/PrivacyPolicy" /> \u2022 Website \u2022 Source code \u2022 Changelog + \u2022 Privacy Policy Thanks to all the contributors at the Localization Lab @@ -736,6 +737,7 @@ Describe what happened (optional) Enter your feedback Your email address (optional) + By sending us data you agree to our privacy policy Include anonymous data about the crash Include anonymous data about this device User information