diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 25da767..20da4b7 100644 Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ diff --git a/app/build.gradle b/app/build.gradle index 990cc3f..fdb4e24 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,8 +18,8 @@ android { applicationId "com.tommasoberlose.anotherwidget" minSdkVersion 23 targetSdkVersion 29 - versionCode 48 - versionName "2.0.1" + versionCode 51 + versionName "2.0.2" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/release/app-release.aab b/app/release/app-release.aab index b3ced44..73480d7 100644 Binary files a/app/release/app-release.aab and b/app/release/app-release.aab differ diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/CalendarHelper.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/CalendarHelper.kt index 7da9792..f0628cf 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/CalendarHelper.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/helpers/CalendarHelper.kt @@ -54,61 +54,71 @@ object CalendarHelper { ) { eventRepository.resetNextEventData() } else { - val provider = CalendarProvider(context) - val data = provider.getInstances(now.timeInMillis, limit.timeInMillis) - if (data != null) { - val instances = data.list - for (instance in instances) { - try { - val e = provider.getEvent(instance.eventId) - if (e != null && !e.deleted && instance.begin <= limit.timeInMillis && (Preferences.calendarAllDay || !e.allDay) && !getFilteredCalendarIdList().contains(e.calendarId) && (Preferences.showDeclinedEvents || e.selfAttendeeStatus.toInt() != CalendarContract.Attendees.ATTENDEE_STATUS_DECLINED)) { - if (e.allDay) { - val start = Calendar.getInstance() - start.timeInMillis = instance.begin - val end = Calendar.getInstance() - end.timeInMillis = instance.end - instance.begin = start.timeInMillis - start.timeZone.getOffset(start.timeInMillis) - instance.end = end.timeInMillis - end.timeZone.getOffset(end.timeInMillis) - } - eventList.add( - Event( - instance.id, - e.id, - e.title ?: "", - instance.begin, - instance.end, - e.calendarId.toInt(), - e.allDay, - e.eventLocation ?: "" + try { + val provider = CalendarProvider(context) + val data = provider.getInstances(now.timeInMillis, limit.timeInMillis) + if (data != null) { + val instances = data.list + for (instance in instances) { + try { + val e = provider.getEvent(instance.eventId) + if (e != null && !e.deleted && instance.begin <= limit.timeInMillis && (Preferences.calendarAllDay || !e.allDay) && !getFilteredCalendarIdList().contains( + e.calendarId + ) && (Preferences.showDeclinedEvents || e.selfAttendeeStatus.toInt() != CalendarContract.Attendees.ATTENDEE_STATUS_DECLINED) + ) { + if (e.allDay) { + val start = Calendar.getInstance() + start.timeInMillis = instance.begin + val end = Calendar.getInstance() + end.timeInMillis = instance.end + instance.begin = + start.timeInMillis - start.timeZone.getOffset(start.timeInMillis) + instance.end = + end.timeInMillis - end.timeZone.getOffset(end.timeInMillis) + } + eventList.add( + Event( + instance.id, + e.id, + e.title ?: "", + instance.begin, + instance.end, + e.calendarId.toInt(), + e.allDay, + e.eventLocation ?: "" + ) ) - ) + } + } catch (ignored: Exception) { } - } catch (ignored: Exception) {} - } - } - - if (eventList.isEmpty()) { - eventRepository.resetNextEventData() - } else { - eventList.sortWith(Comparator { event: Event, event1: Event -> - if (event.allDay && event1.allDay) { - event.startDate.compareTo(event1.startDate) - } else if (event.allDay) { - 1 - } else if (event1.allDay) { - -1 - } else { - event1.startDate.compareTo(event.startDate) } - }) - eventList.reverse() - Log.d("ciao", "list: $eventList") - eventRepository.saveEvents( - eventList - ) - eventRepository.saveNextEventData( - eventList[0] - ) + } + + if (eventList.isEmpty()) { + eventRepository.resetNextEventData() + } else { + eventList.sortWith(Comparator { event: Event, event1: Event -> + if (event.allDay && event1.allDay) { + event.startDate.compareTo(event1.startDate) + } else if (event.allDay) { + 1 + } else if (event1.allDay) { + -1 + } else { + event1.startDate.compareTo(event.startDate) + } + }) + eventList.reverse() + Log.d("ciao", "list: $eventList") + eventRepository.saveEvents( + eventList + ) + eventRepository.saveNextEventData( + eventList[0] + ) + } + } catch (ignored: java.lang.Exception) { + } } } else { diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/receivers/WidgetClickListenerReceiver.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/receivers/WidgetClickListenerReceiver.kt index c0ba8f0..be1eb96 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/receivers/WidgetClickListenerReceiver.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/receivers/WidgetClickListenerReceiver.kt @@ -4,15 +4,16 @@ import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.net.Uri +import com.tommasoberlose.anotherwidget.R import com.tommasoberlose.anotherwidget.global.Actions import com.tommasoberlose.anotherwidget.helpers.IntentHelper +import com.tommasoberlose.anotherwidget.utils.toast class WidgetClickListenerReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { if (intent.action == Actions.ACTION_OPEN_WEATHER_INTENT) { - context.sendBroadcast(Intent(Actions.ACTION_WEATHER_UPDATE)) try { context.startActivity(IntentHelper.getWeatherIntent(context)) } catch (e: Exception) { @@ -24,8 +25,8 @@ class WidgetClickListenerReceiver : BroadcastReceiver() { i.flags = Intent.FLAG_ACTIVITY_NEW_TASK try { context.startActivity(i) - } catch (e: Exception) { - context.applicationContext.startActivity(i) + } catch (ignored: Exception) { + context.toast(context.getString(R.string.error_opening_app)) } } }