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 a43586deb..8c6ce98f0 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
@@ -1,11 +1,14 @@
package org.briarproject.briar.android.settings;
+import android.content.ActivityNotFoundException;
+import android.content.Intent;
+import android.net.Uri;
import android.os.Bundle;
-import android.text.method.LinkMovementMethod;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import android.widget.Toast;
import org.briarproject.bramble.api.nullsafety.MethodsNotNullByDefault;
import org.briarproject.bramble.api.nullsafety.ParametersNotNullByDefault;
@@ -13,14 +16,24 @@ import org.briarproject.briar.BuildConfig;
import org.briarproject.briar.R;
+import java.util.logging.Logger;
+
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
+import static android.widget.Toast.LENGTH_LONG;
+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 AboutFragment extends Fragment {
+ final static String TAG = AboutFragment.class.getName();
+ private static final Logger LOG = getLogger(TAG);
+
private TextView briarVersion;
private TextView briarWebsite;
private TextView briarSourceCode;
@@ -39,12 +52,34 @@ public class AboutFragment extends Fragment {
super.onStart();
requireActivity().setTitle(R.string.about_title);
briarVersion = requireActivity().findViewById(R.id.BriarVersion);
- briarVersion.setText(getString(R.string.briar_version) + " " +
- BuildConfig.VERSION_NAME);
+ briarVersion.setText(
+ getString(R.string.briar_version, BuildConfig.VERSION_NAME));
briarWebsite = requireActivity().findViewById(R.id.BriarWebsite);
briarSourceCode = requireActivity().findViewById(R.id.BriarSourceCode);
- briarWebsite.setMovementMethod(LinkMovementMethod.getInstance());
- briarSourceCode.setMovementMethod(LinkMovementMethod.getInstance());
+ briarWebsite.setOnClickListener(View -> {
+ String url = "https://briarproject.org/";
+ 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();
+ }
+ });
+ briarSourceCode.setOnClickListener(View -> {
+ String url = "https://code.briarproject.org/briar/briar";
+ 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();
+ }
+ });
}
}
\ No newline at end of file
diff --git a/briar-android/src/main/res/drawable/ic_info_dark.xml b/briar-android/src/main/res/drawable/ic_info_dark.xml
index d86bf1a0c..aa955e9e5 100644
--- a/briar-android/src/main/res/drawable/ic_info_dark.xml
+++ b/briar-android/src/main/res/drawable/ic_info_dark.xml
@@ -1,9 +1,12 @@
+ tools:ignore="NewApi">
+ android:fillColor="#FF000000"
+ android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z" />
diff --git a/briar-android/src/main/res/layout/fragment_about.xml b/briar-android/src/main/res/layout/fragment_about.xml
index 121cd611b..277f4ff01 100644
--- a/briar-android/src/main/res/layout/fragment_about.xml
+++ b/briar-android/src/main/res/layout/fragment_about.xml
@@ -8,11 +8,8 @@
android:id="@+id/BriarVersion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:padding="16dp"
android:text="@string/briar_version"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
- android:textSize="22sp"
- android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -20,11 +17,8 @@
android:id="@+id/LinksTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:padding="16dp"
android:text="@string/links"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
- android:textSize="20sp"
- android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/BriarVersion" />
@@ -32,11 +26,8 @@
android:id="@+id/BriarWebsite"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:padding="16dp"
android:text="@string/briar_website"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
- android:textSize="22sp"
- android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/LinksTitle" />
@@ -44,11 +35,8 @@
android:id="@+id/BriarSourceCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:padding="16dp"
android:text="@string/briar_source_code"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
- android:textSize="22sp"
- android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/BriarWebsite" />
diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml
index ffa85f910..3b2c7157b 100644
--- a/briar-android/src/main/res/values/strings.xml
+++ b/briar-android/src/main/res/values/strings.xml
@@ -686,8 +686,10 @@
About
- Briar Version:
+ Briar Version: %s
Links
+ \u2022 Briar website
+ \u2022 Briar source code
Disappearing messages