diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt
index b60fe1f..88c4b20 100644
--- a/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt
+++ b/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt
@@ -90,10 +90,11 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
// based on the intent we get, call readBalance or open a Fragment
when (intent.action) {
NfcAdapter.ACTION_TECH_DISCOVERED -> NFCMensaCard.readBalance(intent, this)
- "org.mosad.seil0.projectlaogai.fragments.MensaFragment" -> activeFragment = MensaFragment()
- "org.mosad.seil0.projectlaogai.fragments.TimeTableFragment" -> activeFragment = TimeTableFragment()
- "org.mosad.seil0.projectlaogai.fragments.MoodleFragment" -> activeFragment = MoodleFragment()
- "org.mosad.seil0.projectlaogai.fragments.GradesFragment" -> activeFragment = GradesFragment()
+ getString(R.string.intent_action_mensaFragment) -> activeFragment = MensaFragment()
+ getString(R.string.intent_action_timetableFragment) -> activeFragment = TimetableFragment()
+ getString(R.string.intent_action_moodleFragment) -> activeFragment = MoodleFragment()
+ getString(R.string.intent_action_gradesFragment) -> activeFragment = GradesFragment()
+ else -> activeFragment = HomeFragment()
}
// open the activeFragment, default is the HomeFragment
@@ -154,7 +155,7 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
activeFragment = when(item.itemId) {
R.id.nav_home -> HomeFragment()
R.id.nav_mensa -> MensaFragment()
- R.id.nav_timetable -> TimeTableFragment()
+ R.id.nav_timetable -> TimetableFragment()
R.id.nav_moodle -> MoodleFragment()
R.id.nav_grades -> GradesFragment()
R.id.nav_settings -> SettingsFragment()
diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/TimeTableFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/TimetableFragment.kt
similarity index 99%
rename from app/src/main/java/org/mosad/seil0/projectlaogai/fragments/TimeTableFragment.kt
rename to app/src/main/java/org/mosad/seil0/projectlaogai/fragments/TimetableFragment.kt
index 2ddf4a6..121fb4e 100644
--- a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/TimeTableFragment.kt
+++ b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/TimetableFragment.kt
@@ -44,7 +44,7 @@ import org.mosad.seil0.projectlaogai.util.NotRetardedCalendar
* The timetable controller class
* contains all needed parts to display and the timetable detail screen
*/
-class TimeTableFragment : Fragment() {
+class TimetableFragment : Fragment() {
private lateinit var scrollViewTimetable: ScrollView
private lateinit var faBtnAddSubject: FloatingActionButton
diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/worker/GradesUpdateWorker.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/worker/GradesUpdateWorker.kt
index 3bea701..c44632a 100644
--- a/app/src/main/java/org/mosad/seil0/projectlaogai/worker/GradesUpdateWorker.kt
+++ b/app/src/main/java/org/mosad/seil0/projectlaogai/worker/GradesUpdateWorker.kt
@@ -22,12 +22,15 @@
package org.mosad.seil0.projectlaogai.worker
+import android.app.PendingIntent
import android.content.Context
+import android.content.Intent
import androidx.core.app.NotificationCompat
import androidx.core.app.NotificationManagerCompat
import androidx.work.Worker
import androidx.work.WorkerParameters
import kotlinx.coroutines.runBlocking
+import org.mosad.seil0.projectlaogai.MainActivity
import org.mosad.seil0.projectlaogai.R
import org.mosad.seil0.projectlaogai.controller.GradesController
import org.mosad.seil0.projectlaogai.controller.cache.CacheController
@@ -46,7 +49,6 @@ class GradesUpdateWorker(val context: Context, params: WorkerParameters): Worker
}
// TODO show updating notification, for debugging
- println("doing work ...")
val notificationIdDBG = NotificationUtils.getId()
val builderDBG = NotificationCompat.Builder(context, CHANNEL_ID_GRADES)
.setSmallIcon(R.drawable.ic_grading_black_24dp)
@@ -68,17 +70,26 @@ class GradesUpdateWorker(val context: Context, params: WorkerParameters): Worker
val diff = GradesController().diffGrades(oldGrades, newGrades)
// show message
- if (diff.isNotEmpty()) {
+ if (diff.isNotEmpty() || diff.isEmpty()) {
val text = if (diff.size < 2) {
context.getString(R.string.notification_grades_single_desc, diff.first().name)
} else {
context.getString(R.string.notification_grades_multiple_desc, diff.first().name, (diff.size - 1))
}
+ val intent = Intent(context, MainActivity::class.java).apply {
+ flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK
+ action = context.getString(R.string.intent_action_gradesFragment)
+ }
+
+ val pendingIntent: PendingIntent = PendingIntent.getActivity(context, 0, intent, 0)
+
val builder = NotificationCompat.Builder(context, CHANNEL_ID_GRADES)
.setSmallIcon(R.drawable.ic_grading_black_24dp)
.setContentTitle(context.getString(R.string.notification_grades))
.setContentText(text)
+ .setContentIntent(pendingIntent)
+ .setAutoCancel(true)
// if there are multiple subjects, use BigText
if (diff.size > 1)
diff --git a/app/src/main/res/layouts/activities/xml/shortcuts.xml b/app/src/main/res/layouts/activities/xml/shortcuts.xml
index a5e9ab8..dc94618 100644
--- a/app/src/main/res/layouts/activities/xml/shortcuts.xml
+++ b/app/src/main/res/layouts/activities/xml/shortcuts.xml
@@ -21,7 +21,7 @@
android:shortcutLongLabel="@string/shortcut_timetable_long"
android:shortcutDisabledMessage="@string/shortcut_timetable_disabled">
diff --git a/app/src/main/res/layouts/fragments/layout/fragment_timetable.xml b/app/src/main/res/layouts/fragments/layout/fragment_timetable.xml
index 00de1e1..116de40 100644
--- a/app/src/main/res/layouts/fragments/layout/fragment_timetable.xml
+++ b/app/src/main/res/layouts/fragments/layout/fragment_timetable.xml
@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".fragments.TimeTableFragment"
+ tools:context=".fragments.TimetableFragment"
android:background="?themePrimary">
org.mosad.seil0.projectlaogai.user_email
org.mosad.seil0.projectlaogai.user_password
+
+ org.mosad.seil0.projectlaogai.fragments.MensaFragment
+ org.mosad.seil0.projectlaogai.fragments.TimetableFragment
+ org.mosad.seil0.projectlaogai.fragments.MoodleFragment
+ org.mosad.seil0.projectlaogai.fragments.GradesFragment
+
- Manually
- 1 Hour