diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-04-13 15:12:45 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-04-13 15:12:45 +0300 |
commit | 6f9dd4408e45a1dffdcdadf287bc216b1406586d (patch) | |
tree | 3d9ce8567a38f8fafe43d302cc41c639d1617a71 /app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java | |
parent | cd413007944da05502e9b7cdcc615cecb9202b02 (diff) |
#208 Handle push notifications
Display incoming push notifications
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java index 1a87dd86e..6b6b20c8a 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PushNotificationActivity.java @@ -1,22 +1,50 @@ package it.niedermann.nextcloud.deck.ui; +import android.content.Intent; +import android.net.Uri; +import android.text.TextUtils; +import android.view.View; + import androidx.appcompat.app.AppCompatActivity; import it.niedermann.nextcloud.deck.DeckLog; +import it.niedermann.nextcloud.deck.databinding.ActivityPushNotificationBinding; +import it.niedermann.nextcloud.deck.ui.exception.ExceptionHandler; public class PushNotificationActivity extends AppCompatActivity { + private ActivityPushNotificationBinding binding; + @Override protected void onResume() { // when app is running in background or is starting after force reset super.onResume(); - // todo check if getIntent really exists - String account = getIntent().getStringExtra("account"); - DeckLog.info("push: " + account); + Thread.currentThread().setUncaughtExceptionHandler(new ExceptionHandler(this)); + binding = ActivityPushNotificationBinding.inflate(getLayoutInflater()); + + setContentView(binding.getRoot()); + if (getIntent() != null) { + binding.subject.setText(getIntent().getStringExtra("subject")); + + final String message = getIntent().getStringExtra("message"); + if (!TextUtils.isEmpty(message)) { + binding.message.setText(message); + binding.message.setVisibility(View.VISIBLE); + } + final String link = getIntent().getStringExtra("link"); + DeckLog.info("push: " + link); - int nid = getIntent().getIntExtra("nid", -1); - DeckLog.info("push: " + nid); + if (link != null) { + binding.submit.setOnClickListener((v) -> { + Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(link)); + startActivity(browserIntent); + }); + } else { + binding.submit.setEnabled(false); + } + binding.cancel.setOnClickListener((v) -> finish()); + } // TODO simply open the given URL until proper handling has been implemented } |