Merge branch 'briar-info' into 'master'

Added about menu.

See merge request briar/briar!1683
This commit is contained in:
akwizgran
2022-07-11 11:17:13 +00:00
5 changed files with 154 additions and 0 deletions

View File

@@ -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();
}
});
}
}

View File

@@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:width="24dp"
android:height="24dp"
android:tint="?android:attr/textColorPrimary"
android:viewportWidth="24.0"
android:viewportHeight="24.0"
tools:ignore="NewApi">
<path
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" />
</vector>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<TextView
android:id="@+id/BriarVersion"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/briar_version"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/LinksTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/links"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
android:layout_marginTop="16dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/BriarVersion" />
<TextView
android:id="@+id/BriarWebsite"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/briar_website"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/LinksTitle" />
<TextView
android:id="@+id/BriarSourceCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/briar_source_code"
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/BriarWebsite" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -684,6 +684,13 @@
<string name="mailbox_error_wizard_info2">Please come back to this screen when you have access to the device.</string>
<string name="mailbox_error_wizard_info3">Please unlink your mailbox using the button below.\n\nAfter unlinking your old Mailbox, you can set up a new Mailbox at any time.</string>
<!-- About -->
<string name="about_title">About</string>
<string name="briar_version">Briar Version: %s</string>
<string name="links">Links</string>
<string name="briar_website">\u2022 <a href="">Briar website</a></string>
<string name="briar_source_code">\u2022 <a href="">Briar source code</a></string>
<!-- Conversation Settings -->
<string name="disappearing_messages_title">Disappearing messages</string>
<string name="disappearing_messages_explanation_long">Turning on this setting will make new

View File

@@ -29,6 +29,11 @@
android:title="@string/mailbox_settings_title"
app:icon="@drawable/ic_mailbox" />
<Preference
android:title="@string/about_title"
app:fragment="org.briarproject.briar.android.settings.AboutFragment"
app:icon="@drawable/ic_info_dark" />
<PreferenceCategory
android:key="pref_key_actions"
android:layout="@layout/preferences_category"