check for both READ_CALENDAR and WRITE_CALENDAR at enabling CalDAV sync

This commit is contained in:
tibbi 2017-11-13 13:39:33 +01:00
parent 3b18d2d7ab
commit b9a2fd4f41
3 changed files with 9 additions and 3 deletions

View File

@ -101,7 +101,7 @@ class MainActivity : SimpleActivity(), NavigationListener {
storeStateVariables()
updateViewPager()
if (!hasPermission(PERMISSION_WRITE_CALENDAR)) {
if (!hasPermission(PERMISSION_WRITE_CALENDAR) || !hasPermission(PERMISSION_READ_CALENDAR)) {
config.caldavSync = false
}

View File

@ -19,6 +19,7 @@ import com.simplemobiletools.calendar.helpers.FONT_SIZE_SMALL
import com.simplemobiletools.calendar.models.EventType
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CALENDAR
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CALENDAR
import com.simplemobiletools.commons.models.RadioItem
import kotlinx.android.synthetic.main.activity_settings.*
@ -115,7 +116,11 @@ class SettingsActivity : SimpleActivity() {
} else {
handlePermission(PERMISSION_WRITE_CALENDAR) {
if (it) {
toggleCaldavSync(true)
handlePermission(PERMISSION_READ_CALENDAR) {
if (it) {
toggleCaldavSync(true)
}
}
}
}
}

View File

@ -15,6 +15,7 @@ import com.simplemobiletools.calendar.models.CalDAVCalendar
import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.calendar.models.EventType
import com.simplemobiletools.commons.extensions.*
import com.simplemobiletools.commons.helpers.PERMISSION_READ_CALENDAR
import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CALENDAR
import java.util.*
import kotlin.collections.ArrayList
@ -40,7 +41,7 @@ class CalDAVHandler(val context: Context) {
fun getCalDAVCalendars(activity: SimpleActivity? = null, ids: String = ""): List<CalDAVCalendar> {
val calendars = ArrayList<CalDAVCalendar>()
if (!context.hasPermission(PERMISSION_WRITE_CALENDAR)) {
if (!context.hasPermission(PERMISSION_WRITE_CALENDAR) || !context.hasPermission(PERMISSION_READ_CALENDAR)) {
return calendars
}