diff options
author | Thomas <tschneider.ac@gmail.com> | 2022-11-22 17:14:00 +0100 |
---|---|---|
committer | Thomas <tschneider.ac@gmail.com> | 2022-11-22 17:14:00 +0100 |
commit | 900e78f5e876f9ec5eb2aca916814f51d54be0d5 (patch) | |
tree | 49b089ed5f2fcc4b5b1c7515b15ff5293c009c16 | |
parent | 9d4a576bc1d7cfd9d3165bfe67c3aedb7cfe1b93 (diff) |
Fix issue #514 - Add about and privacy links into About the instance.
-rw-r--r-- | app/src/main/java/app/fedilab/android/activities/InstanceActivity.java | 22 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_instance.xml | 45 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 1 |
3 files changed, 58 insertions, 10 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 @@ <androidx.constraintlayout.widget.ConstraintLayout android:id="@+id/main_container" android:layout_width="match_parent" - android:layout_height="420dp" + android:layout_height="wrap_content" android:padding="@dimen/fab_margin" android:paddingLeft="@dimen/drawer_padding" android:paddingRight="@dimen/drawer_padding"> @@ -36,7 +36,7 @@ <androidx.appcompat.widget.LinearLayoutCompat android:id="@+id/instance_container" android:layout_width="match_parent" - android:layout_height="300dp" + android:layout_height="wrap_content" android:layout_marginTop="20dp" android:orientation="vertical" app:layout_constraintTop_toTopOf="parent"> @@ -118,7 +118,7 @@ <RelativeLayout android:id="@+id/loader" android:layout_width="match_parent" - android:layout_height="420dp" + android:layout_height="wrap_content" android:gravity="center" android:visibility="gone" app:layout_constraintBottom_toBottomOf="parent" @@ -144,22 +144,47 @@ app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" /> - <androidx.appcompat.widget.AppCompatButton + + <androidx.appcompat.widget.AppCompatTextView + android:id="@+id/tos" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + android:text="@string/action_about_instance" + android:textSize="16sp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/max_char_container" /> + + <androidx.appcompat.widget.AppCompatTextView + android:id="@+id/privacy" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + android:text="@string/action_privacy_policy" + android:textSize="16sp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/tos" /> + + <com.google.android.material.button.MaterialButton android:id="@+id/close" - style="@style/Widget.AppCompat.Button.Colored" + style="@style/Widget.MaterialComponents.Button.OutlinedButton" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_alignParentBottom="true" - android:layout_centerHorizontal="true" - android:layout_gravity="center" + android:layout_marginTop="10dp" + android:paddingVertical="12dp" android:text="@string/close" + android:textAlignment="textStart" + android:textColor="@color/cyanea_accent_dark_reference" + app:layout_constraintTop_toBottomOf="@+id/privacy" android:textAllCaps="false" - android:textColor="@color/white" android:textSize="16sp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/max_char_container" /> + app:strokeColor="@color/cyanea_accent_dark_reference" /> + </androidx.constraintlayout.widget.ConstraintLayout> </ScrollView>
\ 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 @@ <string name="unblock_domain">Unblock domain</string> <string name="no_blocked_domains">You have not blocked domains</string> <string name="unblock_domain_confirm">Are you sure to unblock %1$s?</string> + <string name="action_privacy_policy">Privacy policy</string> </resources>
\ No newline at end of file |