Instance fixes when not available

This commit is contained in:
tom79 2019-11-23 12:13:33 +01:00
parent e0d8c3f42d
commit 8975b09175
3 changed files with 91 additions and 52 deletions

View File

@ -124,17 +124,26 @@ public class InstanceHealthActivity extends BaseActivity {
private void checkInstance() { private void checkInstance() {
if (instance == null) if (instance == null){
LinearLayout main_container = findViewById(R.id.main_container);
TextView no_instance = findViewById(R.id.no_instance);
instance_container.setVisibility(View.VISIBLE);
main_container.setVisibility(View.GONE);
no_instance.setVisibility(View.VISIBLE);
loader.setVisibility(View.GONE);
return; return;
}
new Thread(new Runnable() { new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
try { try {
HashMap<String, String> parameters = new HashMap<>(); HashMap<String, String> parameters = new HashMap<>();
parameters.put("name", instance.trim()); parameters.put("name", instance.trim());
final String response = new HttpsConnection(InstanceHealthActivity.this, instance).get("https://instances.social/api/1.0/instances/show", 30, parameters, Helper.THEKINRAR_SECRET_TOKEN); final String response = new HttpsConnection(InstanceHealthActivity.this, instance).get("https://instances.social/api/1.0/instances/show", 5, parameters, Helper.THEKINRAR_SECRET_TOKEN);
if (response != null) if (response != null) {
instanceSocial = API.parseInstanceSocialResponse(getApplicationContext(), new JSONObject(response)); instanceSocial = API.parseInstanceSocialResponse(getApplicationContext(), new JSONObject(response));
}
runOnUiThread(new Runnable() { runOnUiThread(new Runnable() {
@SuppressLint({"SetTextI18n", "DefaultLocale"}) @SuppressLint({"SetTextI18n", "DefaultLocale"})
public void run() { public void run() {
@ -160,7 +169,17 @@ public class InstanceHealthActivity extends BaseActivity {
} }
}); });
} catch (Exception ignored) { } catch (Exception e) {
runOnUiThread(new Runnable() {
public void run() {
LinearLayout main_container = findViewById(R.id.main_container);
TextView no_instance = findViewById(R.id.no_instance);
instance_container.setVisibility(View.VISIBLE);
main_container.setVisibility(View.GONE);
no_instance.setVisibility(View.VISIBLE);
loader.setVisibility(View.GONE);
}
});
} }
} }
}).start(); }).start();

View File

@ -28,58 +28,76 @@
android:orientation="vertical" android:orientation="vertical"
android:visibility="gone"> android:visibility="gone">
<TextView <LinearLayout
android:id="@+id/name" android:layout_width="match_parent"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/main_container">
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:textSize="20sp" />
<TextView
android:id="@+id/values"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:gravity="center" />
<TextView
android:id="@+id/checked_at"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp" />
<TextView
android:id="@+id/up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/uptime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp" />
<TextView
android:id="@+id/ref_instance"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="end|center_vertical"
android:layout_marginTop="10dp"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:text="via instances.social"
tools:ignore="HardcodedText" />
</LinearLayout>
<TextView
android:layout_marginTop="50dp"
android:layout_marginBottom="50dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" android:gravity="center"
android:textSize="20sp" />
<TextView
android:id="@+id/values"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:gravity="center" />
<TextView
android:id="@+id/checked_at"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp" />
<TextView
android:id="@+id/up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold" /> android:id="@+id/no_instance"
android:visibility="gone"
android:autoLink="web"
<TextView
android:id="@+id/uptime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="center"
android:layout_marginTop="10dp" /> android:text="@string/no_instance_reccord"
/>
<TextView
android:id="@+id/ref_instance"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_gravity="end|center_vertical"
android:layout_marginTop="10dp"
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:text="via instances.social"
tools:ignore="HardcodedText" />
<Button <Button
android:id="@+id/close" android:id="@+id/close"
style="@style/Base.Widget.AppCompat.Button.Colored" style="@style/Base.Widget.AppCompat.Button.Colored"
@ -93,6 +111,7 @@
android:textSize="16sp" /> android:textSize="16sp" />
</LinearLayout> </LinearLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/loader" android:id="@+id/loader"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -1175,4 +1175,5 @@
<string name="poll_finish_in">End in %s</string> <string name="poll_finish_in">End in %s</string>
<string name="release_note_title">What\'s new in %s</string> <string name="release_note_title">What\'s new in %s</string>
<string name="follow_account_update">You can follow my account for updates</string> <string name="follow_account_update">You can follow my account for updates</string>
<string name="no_instance_reccord">This instance is not available on https://instances.social</string>
</resources> </resources>