From 900e78f5e876f9ec5eb2aca916814f51d54be0d5 Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 22 Nov 2022 17:14:00 +0100 Subject: [PATCH] Fix issue #514 - Add about and privacy links into About the instance. --- .../android/activities/InstanceActivity.java | 22 ++++++++ app/src/main/res/layout/activity_instance.xml | 51 ++++++++++++++----- app/src/main/res/values/strings.xml | 1 + 3 files changed, 61 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/activities/InstanceActivity.java b/app/src/main/java/app/fedilab/android/activities/InstanceActivity.java index 9f5156086..0f8e3a912 100644 --- a/app/src/main/java/app/fedilab/android/activities/InstanceActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/InstanceActivity.java @@ -22,12 +22,17 @@ import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.text.Html; +import android.text.SpannableString; +import android.text.Spanned; +import android.text.style.ForegroundColorSpan; +import android.text.style.UnderlineSpan; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; import androidx.lifecycle.ViewModelProvider; import androidx.preference.PreferenceManager; @@ -39,6 +44,7 @@ import app.fedilab.android.BaseMainActivity; import app.fedilab.android.R; import app.fedilab.android.client.entities.api.Instance; import app.fedilab.android.databinding.ActivityInstanceBinding; +import app.fedilab.android.helper.Helper; import app.fedilab.android.helper.ThemeHelper; import app.fedilab.android.viewmodel.mastodon.InstancesVM; @@ -61,6 +67,22 @@ public class InstanceActivity extends BaseActivity { if (getSupportActionBar() != null) getSupportActionBar().hide(); SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(InstanceActivity.this); + + + final SpannableString contentAbout = new SpannableString(getString(R.string.action_about_instance)); + contentAbout.setSpan(new UnderlineSpan(), 0, contentAbout.length(), 0); + contentAbout.setSpan(new ForegroundColorSpan(ContextCompat.getColor(InstanceActivity.this, R.color.cyanea_accent_reference)), 0, contentAbout.length(), + Spanned.SPAN_INCLUSIVE_EXCLUSIVE); + binding.tos.setText(contentAbout); + + final SpannableString contentPrivacy = new SpannableString(getString(R.string.action_privacy_policy)); + contentPrivacy.setSpan(new UnderlineSpan(), 0, contentPrivacy.length(), 0); + contentPrivacy.setSpan(new ForegroundColorSpan(ContextCompat.getColor(InstanceActivity.this, R.color.cyanea_accent_reference)), 0, contentPrivacy.length(), + Spanned.SPAN_INCLUSIVE_EXCLUSIVE); + binding.privacy.setText(contentPrivacy); + + binding.tos.setOnClickListener(v -> Helper.openBrowser(InstanceActivity.this, "https://" + MainActivity.currentInstance + "/about")); + binding.privacy.setOnClickListener(v -> Helper.openBrowser(InstanceActivity.this, "https://" + MainActivity.currentInstance + "/privacy-policy")); binding.close.setOnClickListener( view -> { diff --git a/app/src/main/res/layout/activity_instance.xml b/app/src/main/res/layout/activity_instance.xml index d33a01dcc..d0a4aa4c8 100644 --- a/app/src/main/res/layout/activity_instance.xml +++ b/app/src/main/res/layout/activity_instance.xml @@ -23,7 +23,7 @@ @@ -36,7 +36,7 @@ @@ -118,7 +118,7 @@ - + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9bf26a2f8..0eec9af99 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1910,4 +1910,5 @@ Unblock domain You have not blocked domains Are you sure to unblock %1$s? + Privacy policy \ No newline at end of file