This commit is contained in:
Tommaso Berlose
2020-10-02 11:23:23 +02:00
parent 1a709a9406
commit 507b7f2318
13 changed files with 72 additions and 47 deletions

View File

@ -11,6 +11,7 @@ import com.tommasoberlose.anotherwidget.ui.widgets.MainWidget
import io.realm.Realm
import io.realm.RealmResults
import java.util.*
import kotlin.Comparator
import kotlin.collections.ArrayList
class EventRepository(val context: Context) {
@ -68,7 +69,7 @@ class EventRepository(val context: Context) {
val events = getEvents()
if (events.isNotEmpty()) {
val newNextEvent = events.first()
Preferences.nextEventId = newNextEvent!!.eventID
Preferences.nextEventId = newNextEvent.eventID
newNextEvent
} else {
resetNextEventData()
@ -96,9 +97,9 @@ class EventRepository(val context: Context) {
if (eventList.isNotEmpty()) {
val index = eventList.indexOfFirst { it.eventID == Preferences.nextEventId }
if (index > -1 && index < eventList.size - 1) {
Preferences.nextEventId = eventList[index + 1]!!.eventID
Preferences.nextEventId = eventList[index + 1].eventID
} else {
Preferences.nextEventId = eventList.first()!!.eventID
Preferences.nextEventId = eventList.first().eventID
}
} else {
resetNextEventData()
@ -112,9 +113,9 @@ class EventRepository(val context: Context) {
if (eventList.isNotEmpty()) {
val index = eventList.indexOfFirst { it.eventID == Preferences.nextEventId }
if (index > 0) {
Preferences.nextEventId = eventList[index - 1]!!.eventID
Preferences.nextEventId = eventList[index - 1].eventID
} else {
Preferences.nextEventId = eventList.last()!!.eventID
Preferences.nextEventId = eventList.last().eventID
}
} else {
resetNextEventData()

View File

@ -104,13 +104,12 @@ object BitmapHelper {
}
fun drawableToBitmap(drawable: Drawable): Bitmap? {
var bitmap: Bitmap? = null
if (drawable is BitmapDrawable) {
if (drawable.bitmap != null) {
return drawable.bitmap
}
}
bitmap = if (drawable.intrinsicWidth <= 0 || drawable.intrinsicHeight <= 0) {
val bitmap: Bitmap = if (drawable.intrinsicWidth <= 0 || drawable.intrinsicHeight <= 0) {
Bitmap.createBitmap(
1,
1,

View File

@ -3,6 +3,7 @@ package com.tommasoberlose.anotherwidget.services
import android.Manifest
import android.content.Context
import android.content.Intent
import android.provider.CalendarContract
import android.util.Log
import androidx.core.app.JobIntentService
import com.tommasoberlose.anotherwidget.db.EventRepository
@ -92,17 +93,28 @@ class UpdateCalendarJob : JobIntentService() {
}
}
if (eventList.isEmpty()) {
val filteredEventList = eventList
.filter { (Preferences.showDeclinedEvents || it.selfAttendeeStatus != CalendarContract.Attendees.ATTENDEE_STATUS_DECLINED) }
.filter { (Preferences.calendarAllDay || !it.allDay) }
if (filteredEventList.isEmpty()) {
eventRepository.resetNextEventData()
eventRepository.clearEvents()
} 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
val date = Calendar.getInstance().apply { timeInMillis = event.startDate }
val date1 = Calendar.getInstance().apply { timeInMillis = event1.startDate }
if (date.get(Calendar.DAY_OF_YEAR) == date1.get(Calendar.DAY_OF_YEAR) && date.get(Calendar.YEAR) == date1.get(Calendar.YEAR)) {
if (event.allDay && event1.allDay) {
event1.startDate.compareTo(event.startDate)
} else if (event.allDay) {
-1
} else if (event1.allDay) {
1
} else {
event1.startDate.compareTo(event.startDate)
}
} else {
event1.startDate.compareTo(event.startDate)
}
@ -111,9 +123,7 @@ class UpdateCalendarJob : JobIntentService() {
eventRepository.saveEvents(
eventList
)
eventRepository.saveNextEventData(
eventList[0]
)
eventRepository.saveNextEventData(filteredEventList.first())
}
} catch (ignored: java.lang.Exception) {

View File

@ -62,8 +62,8 @@ class MainFragment : Fragment(), SharedPreferences.OnSharedPreferenceChangeList
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enterTransition = MaterialSharedAxis.create(MaterialSharedAxis.X, true)
reenterTransition = MaterialSharedAxis.create(MaterialSharedAxis.X, false)
enterTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
reenterTransition = MaterialSharedAxis(MaterialSharedAxis.X, false)
}
override fun onCreateView(

View File

@ -50,8 +50,8 @@ class SettingsFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enterTransition = MaterialSharedAxis.create(MaterialSharedAxis.X, true)
returnTransition = MaterialSharedAxis.create(MaterialSharedAxis.X, false)
enterTransition = MaterialSharedAxis(MaterialSharedAxis.X, true)
returnTransition = MaterialSharedAxis(MaterialSharedAxis.X, false)
}
override fun onCreateView(

View File

@ -216,6 +216,9 @@ class WeatherTabFragment : Fragment() {
.addItem(getString(R.string.fahrenheit), "F")
.addItem(getString(R.string.celsius), "C")
.addOnSelectItemListener { value ->
if (value != Preferences.weatherTempUnit) {
WeatherHelper.updateWeather(requireContext())
}
Preferences.weatherTempUnit = value
}.show()
}