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 new file mode 100644 index 000000000..8c6ce98f0 --- /dev/null +++ b/briar-android/src/main/java/org/briarproject/briar/android/settings/AboutFragment.java @@ -0,0 +1,85 @@ +package org.briarproject.briar.android.settings; + +import android.content.ActivityNotFoundException; +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +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; +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; + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, + @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { + return inflater.inflate(R.layout.fragment_about, container, + false); + } + + @Override + public void onStart() { + super.onStart(); + requireActivity().setTitle(R.string.about_title); + briarVersion = requireActivity().findViewById(R.id.BriarVersion); + briarVersion.setText( + getString(R.string.briar_version, BuildConfig.VERSION_NAME)); + briarWebsite = requireActivity().findViewById(R.id.BriarWebsite); + briarSourceCode = requireActivity().findViewById(R.id.BriarSourceCode); + 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 new file mode 100644 index 000000000..aa955e9e5 --- /dev/null +++ b/briar-android/src/main/res/drawable/ic_info_dark.xml @@ -0,0 +1,12 @@ + + + diff --git a/briar-android/src/main/res/layout/fragment_about.xml b/briar-android/src/main/res/layout/fragment_about.xml new file mode 100644 index 000000000..87881bb00 --- /dev/null +++ b/briar-android/src/main/res/layout/fragment_about.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/briar-android/src/main/res/values/strings.xml b/briar-android/src/main/res/values/strings.xml index 3753bd33e..c167c38f6 100644 --- a/briar-android/src/main/res/values/strings.xml +++ b/briar-android/src/main/res/values/strings.xml @@ -684,6 +684,13 @@ Please come back to this screen when you have access to the device. Please unlink your mailbox using the button below.\n\nAfter unlinking your old Mailbox, you can set up a new Mailbox at any time. + + About + Briar Version: %s + Links + \u2022 Briar website + \u2022 Briar source code + Disappearing messages Turning on this setting will make new diff --git a/briar-android/src/main/res/xml/settings.xml b/briar-android/src/main/res/xml/settings.xml index f968985ff..c25dced90 100644 --- a/briar-android/src/main/res/xml/settings.xml +++ b/briar-android/src/main/res/xml/settings.xml @@ -29,6 +29,11 @@ android:title="@string/mailbox_settings_title" app:icon="@drawable/ic_mailbox" /> + +