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