Ui update

This commit is contained in:
Tommaso Berlose
2020-10-13 11:32:10 +02:00
parent 2bb30aae69
commit 9ecb9b4819
44 changed files with 106 additions and 83 deletions

View File

@ -5,6 +5,7 @@ object Actions {
const val ACTION_EXTRA_DISABLE_GPS_NOTIFICATION = "ACTION_EXTRA_DISABLE_GPS_NOTIFICATION"
const val ACTION_TIME_UPDATE = "com.tommasoberlose.anotherwidget.action.TIME_UPDATE"
const val ACTION_ALARM_UPDATE = "com.tommasoberlose.anotherwidget.action.ALARM_UPDATE"
const val ACTION_CALENDAR_UPDATE = "com.tommasoberlose.anotherwidget.action.CALENDAR_UPDATE"
const val ACTION_WEATHER_UPDATE = "com.tommasoberlose.anotherwidget.action.WEATHER_UPDATE"
const val ACTION_OPEN_WEATHER_INTENT = "com.tommasoberlose.anotherwidget.action.OPEN_WEATHER_INTENT"

View File

@ -1,9 +1,14 @@
package com.tommasoberlose.anotherwidget.helpers
import android.app.AlarmManager
import android.app.PendingIntent
import android.content.Context
import android.content.Intent
import android.text.format.DateFormat
import android.util.Log
import com.tommasoberlose.anotherwidget.global.Actions
import com.tommasoberlose.anotherwidget.receivers.ActivityDetectionReceiver
import com.tommasoberlose.anotherwidget.receivers.UpdatesReceiver
import java.text.SimpleDateFormat
import java.util.*
@ -14,6 +19,7 @@ object AlarmHelper {
alarm != null
&& alarm.triggerTime - Calendar.getInstance().timeInMillis > 5 * 60 * 1000
) {
setTimeout(context, alarm.triggerTime)
"%s %s".format(
SimpleDateFormat("EEE", Locale.getDefault()).format(alarm.triggerTime),
DateFormat.getTimeFormat(context).format(Date(alarm.triggerTime))
@ -32,4 +38,25 @@ object AlarmHelper {
)
}
}
private fun setTimeout(context: Context, trigger: Long) {
with(context.getSystemService(Context.ALARM_SERVICE) as AlarmManager) {
val intent = Intent(context, UpdatesReceiver::class.java).apply {
action = Actions.ACTION_ALARM_UPDATE
}
cancel(PendingIntent.getBroadcast(context, ALARM_UPDATE_ID, intent, 0))
setExact(
AlarmManager.RTC,
trigger,
PendingIntent.getBroadcast(
context,
ALARM_UPDATE_ID,
intent,
0
)
)
}
}
private const val ALARM_UPDATE_ID = 24953
}

View File

@ -4,6 +4,7 @@ import android.Manifest
import android.content.Context
import android.os.Build
import android.util.Log
import com.chibatching.kotpref.Kotpref
import com.google.android.gms.location.LocationServices
import com.tommasoberlose.anotherwidget.R
import com.tommasoberlose.anotherwidget.global.Constants
@ -26,6 +27,7 @@ import org.greenrobot.eventbus.EventBus
object WeatherHelper {
suspend fun updateWeather(context: Context) {
Kotpref.init(context)
val networkApi = WeatherNetworkApi(context)
if (Preferences.customLocationAdd != "") {
networkApi.updateWeather()

View File

@ -167,7 +167,7 @@ class ActivityDetectionReceiver : BroadcastReceiver() {
private fun setTimeout(context: Context) {
with(context.getSystemService(Context.ALARM_SERVICE) as AlarmManager) {
cancel(PendingIntent.getBroadcast(context, 5, Intent(context, ActivityDetectionReceiver::class.java), 0))
setExactAndAllowWhileIdle(
setExact(
AlarmManager.RTC,
Calendar.getInstance().timeInMillis + 5 * 60 * 1000,
PendingIntent.getBroadcast(