From 5c5f08afc0c7daed87f1d262731474a34ae2390f Mon Sep 17 00:00:00 2001 From: Kamil Wargula Date: Fri, 15 Oct 2021 13:03:06 +0200 Subject: [PATCH] Add notification button and dialog on Radar Fragment --- .../presentation/radarScreen/RadarFragment.kt | 26 +++++++++++++++++++ app/src/main/res/drawable/ic_notification.xml | 9 +++++++ app/src/main/res/layout/fragment_radar.xml | 12 +++++++++ app/src/main/res/values/strings.xml | 6 +++++ 4 files changed, 53 insertions(+) create mode 100644 app/src/main/res/drawable/ic_notification.xml diff --git a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt index 040a54ff..df90d1b4 100644 --- a/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt +++ b/app/src/main/java/com/rtbishop/look4sat/presentation/radarScreen/RadarFragment.kt @@ -19,11 +19,13 @@ package com.rtbishop.look4sat.presentation.radarScreen import android.os.Bundle import android.view.View +import android.widget.Toast import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.SimpleItemAnimator +import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.rtbishop.look4sat.R import com.rtbishop.look4sat.databinding.FragmentRadarBinding import com.rtbishop.look4sat.framework.PreferencesSource @@ -105,6 +107,30 @@ class RadarFragment : Fragment(R.layout.fragment_radar) { ) }) } + + binding.addNotificationButtton.setOnClickListener { + this.context?.let { context -> + + val choicesList = arrayOf( + getString(R.string.notification_on_start_pass), + getString(R.string.notification_5_min_before), + getString(R.string.notification_10_min_before), + getString(R.string.notification_15_min_before), + ) + + MaterialAlertDialogBuilder(context) + .setTitle(getString(R.string.notification_title)) + .setSingleChoiceItems(choicesList, -1) { dialog, which -> + // TODO in this place should set a notification by NotificationBuilder + Toast.makeText(context, "Reminder was saved", Toast.LENGTH_SHORT).show() + dialog.dismiss() + } + .setNegativeButton(getString(R.string.btn_cancel)) { _, _ -> + // noop + } + .show() + } + } } private fun setPassText(satPass: SatPass, satPos: SatPos, binding: FragmentRadarBinding) { diff --git a/app/src/main/res/drawable/ic_notification.xml b/app/src/main/res/drawable/ic_notification.xml new file mode 100644 index 00000000..3a49fa67 --- /dev/null +++ b/app/src/main/res/drawable/ic_notification.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/fragment_radar.xml b/app/src/main/res/layout/fragment_radar.xml index 92ce4551..95feb21f 100644 --- a/app/src/main/res/layout/fragment_radar.xml +++ b/app/src/main/res/layout/fragment_radar.xml @@ -75,6 +75,18 @@ app:layout_constraintBottom_toBottomOf="@+id/radar_frame" app:layout_constraintEnd_toEndOf="@+id/radar_frame" /> + + Settings Info + Set notification to incoming pass + on start pass + 5 minutes before pass + 10 minutes before pass + 15 minutes before pass + Manage TLE sources Source URL Protocol HTTPS only