Add about instances

This commit is contained in:
Thomas 2020-03-01 10:42:01 +01:00
parent 8d9946a5d5
commit 3d465a4724
5 changed files with 56 additions and 23 deletions

View File

@ -21,9 +21,12 @@ import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@ -53,6 +56,8 @@ import static app.fedilab.nitterizeme.MainActivity.SET_NITTER_HOST;
public class InstanceActivity extends AppCompatActivity {
private static String list_for_instances = "https://framagit.org/tom79/fedilab_app/-/blob/master/content/nitterizeme_instances/payload_2.json";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@ -105,6 +110,7 @@ public class InstanceActivity extends AppCompatActivity {
RecyclerView nitter_instances = activity.findViewById(R.id.nitter_instances);
RecyclerView bibliogram_instances = activity.findViewById(R.id.bibliogram_instances);
Button latency_test = activity.findViewById(R.id.latency_test);
ImageButton instance_info = activity.findViewById(R.id.instance_info);
Button close = activity.findViewById(R.id.close);
if (result == null) {
View parentLayout = activity.findViewById(android.R.id.content);
@ -193,6 +199,18 @@ public class InstanceActivity extends AppCompatActivity {
}
);
instance_info.setOnClickListener(v -> {
AlertDialog.Builder instanceInfo = new AlertDialog.Builder(activity);
instanceInfo.setTitle(R.string.about_instances_title);
View view = activity.getLayoutInflater().inflate(R.layout.popup_instance_info, new LinearLayout(activity.getApplicationContext()), false);
instanceInfo.setView(view);
TextView infoInstancesTextview = view.findViewById(R.id.info_instances);
infoInstancesTextview.setText(activity.getString(R.string.about_instances, list_for_instances, list_for_instances));
instanceInfo.setPositiveButton(R.string.close, (dialog, id) -> dialog.dismiss());
AlertDialog alertDialog = instanceInfo.create();
alertDialog.show();
});
} catch (JSONException e) {
e.printStackTrace();
}

View File

@ -1,10 +1,5 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="#FFFFFF"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<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 android:height="24dp" android:tint="#FFFFFF"
android:viewportHeight="24.0" android:viewportWidth="24.0"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<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

@ -77,24 +77,32 @@
</RelativeLayout>
<LinearLayout
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<ImageButton
android:id="@+id/instance_info"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:src="@drawable/ic_info_outline"
android:contentDescription="@string/instance_info"
/>
<Button
android:id="@+id/latency_test"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:paddingStart="30dp"
android:paddingLeft="30dp"
android:paddingEnd="30dp"
android:paddingRight="30dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:paddingStart="20dp"
android:paddingLeft="20dp"
android:paddingEnd="20dp"
android:paddingRight="20dp"
android:text="@string/latency"
android:textColor="@android:color/white" />
@ -104,13 +112,12 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:paddingStart="30dp"
android:paddingLeft="30dp"
android:paddingEnd="30dp"
android:paddingRight="30dp"
android:layout_marginStart="5dp"
android:layout_marginLeft="5dp"
android:paddingStart="20dp"
android:paddingLeft="20dp"
android:paddingEnd="20dp"
android:paddingRight="20dp"
android:text="@string/close"
android:textColor="@android:color/white" />
</LinearLayout>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_margin="@dimen/fab_margin"
android:id="@+id/info_instances"
android:autoLink="web"
android:textSize="16sp"
android:padding="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>

View File

@ -48,4 +48,7 @@
<string name="instance_label">Instance:</string>
<string name="expand_instance_details">Expand instance details</string>
<string name="cloudflare">This instance uses Cloudflare</string>
<string name="instance_info">Information about listed instances</string>
<string name="about_instances">The list of instances comes from\n\n <a href="%1$s">%2$s</a>\n\nYou can contribute to this list by adding or removing instances.</string>
<string name="about_instances_title">About instances</string>
</resources>