From 8a49310eda1d92eb3b1520660d19a11879402595 Mon Sep 17 00:00:00 2001 From: Markus Date: Fri, 23 Jul 2021 22:44:52 +0200 Subject: [PATCH 1/7] Disable push message button if no application available on server --- .../java/com/github/gotify/sharing/ShareActivity.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/gotify/sharing/ShareActivity.java b/app/src/main/java/com/github/gotify/sharing/ShareActivity.java index 065a096f..5ea72f92 100644 --- a/app/src/main/java/com/github/gotify/sharing/ShareActivity.java +++ b/app/src/main/java/com/github/gotify/sharing/ShareActivity.java @@ -6,6 +6,7 @@ import android.view.MenuItem; import android.view.View; import android.widget.ArrayAdapter; +import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; import android.widget.Toast; @@ -46,6 +47,9 @@ public class ShareActivity extends AppCompatActivity { @BindView(R.id.appSpinner) Spinner appSpinner; + @BindView(R.id.push_button) + Button pushMessageButton; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -73,7 +77,11 @@ protected void onCreate(Bundle savedInstanceState) { ApiClient client = ClientFactory.clientToken(settings.url(), settings.sslSettings(), settings.token()); appsHolder = new ApplicationHolder(this, client); - appsHolder.onUpdate(() -> populateSpinner(appsHolder.get())); + appsHolder.onUpdate(() -> { + List apps = appsHolder.get(); + populateSpinner(apps); + pushMessageButton.setEnabled(apps.size() > 0); + }); appsHolder.request(); } From ade5e5bb8de966c5c4ab1d68f2b63bcfebcfafab Mon Sep 17 00:00:00 2001 From: Markus Date: Sat, 24 Jul 2021 11:07:24 +0200 Subject: [PATCH 2/7] Added info why the push message button is unavailable --- .../com/github/gotify/sharing/ShareActivity.java | 11 ++++++++++- app/src/main/res/layout/activity_share.xml | 12 ++++++++++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/github/gotify/sharing/ShareActivity.java b/app/src/main/java/com/github/gotify/sharing/ShareActivity.java index 5ea72f92..27d226ae 100644 --- a/app/src/main/java/com/github/gotify/sharing/ShareActivity.java +++ b/app/src/main/java/com/github/gotify/sharing/ShareActivity.java @@ -9,6 +9,7 @@ import android.widget.Button; import android.widget.EditText; import android.widget.Spinner; +import android.widget.TextView; import android.widget.Toast; import androidx.appcompat.app.ActionBar; import androidx.appcompat.app.AppCompatActivity; @@ -50,6 +51,9 @@ public class ShareActivity extends AppCompatActivity { @BindView(R.id.push_button) Button pushMessageButton; + @BindView(R.id.infoMissingApps) + TextView missingAppsInfo; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -80,11 +84,16 @@ protected void onCreate(Bundle savedInstanceState) { appsHolder.onUpdate(() -> { List apps = appsHolder.get(); populateSpinner(apps); - pushMessageButton.setEnabled(apps.size() > 0); + preventPushing(apps.size() == 0); }); appsHolder.request(); } + private void preventPushing(boolean prevent) { + pushMessageButton.setEnabled(!prevent); + missingAppsInfo.setVisibility(prevent ? View.VISIBLE : View.GONE); + } + @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { diff --git a/app/src/main/res/layout/activity_share.xml b/app/src/main/res/layout/activity_share.xml index 1c20d6bd..10eddcd6 100644 --- a/app/src/main/res/layout/activity_share.xml +++ b/app/src/main/res/layout/activity_share.xml @@ -81,6 +81,17 @@ android:textSize="18sp" /> + +