@@ -77,6 +77,10 @@ Calendar._hasWritePermission = function () {
7777 return Calendar . _hasPermission ( [ android . Manifest . permission . WRITE_CALENDAR ] ) ;
7878} ;
7979
80+ Calendar . _hasReadWritePermission = function ( ) {
81+ return Calendar . _hasPermission ( [ android . Manifest . permission . READ_CALENDAR , android . Manifest . permission . WRITE_CALENDAR ] ) ;
82+ } ;
83+
8084Calendar . _requestPermission = function ( permissions , onPermissionGranted , reject ) {
8185 Calendar . _onPermissionGranted = onPermissionGranted ;
8286 Calendar . _reject = reject ;
@@ -95,6 +99,10 @@ Calendar._requestWritePermission = function (onPermissionGranted, reject) {
9599 Calendar . _requestPermission ( [ android . Manifest . permission . WRITE_CALENDAR ] , onPermissionGranted , reject ) ;
96100} ;
97101
102+ Calendar . _requestReadWritePermission = function ( onPermissionGranted , reject ) {
103+ Calendar . _requestPermission ( [ android . Manifest . permission . READ_CALENDAR , android . Manifest . permission . WRITE_CALENDAR ] , onPermissionGranted , reject ) ;
104+ } ;
105+
98106Calendar . hasPermission = function ( arg ) {
99107 return new Promise ( ( resolve , reject ) => {
100108 try {
@@ -372,10 +380,8 @@ Calendar.deleteEvents = function (arg) {
372380 resolve ( deletedEventIds ) ;
373381 } ;
374382
375- // note that read or write doesn't really matter as it resolves to one permission currently
376- // and if that changes write will probably suffice for reading as well
377- if ( ! Calendar . _hasWritePermission ( ) ) {
378- Calendar . _requestWritePermission ( onPermissionGranted , reject ) ;
383+ if ( ! Calendar . _hasReadWritePermission ( ) ) {
384+ Calendar . _requestReadWritePermission ( onPermissionGranted , reject ) ;
379385 return ;
380386 }
381387
@@ -498,10 +504,8 @@ Calendar.createEvent = function (arg) {
498504 resolve ( createdEventID ) ;
499505 } ;
500506
501- // note that read or write doesn't really matter as it resolves to one permission currently
502- // and if that changes write will probably suffice for reading as well
503- if ( ! Calendar . _hasWritePermission ( ) ) {
504- Calendar . _requestWritePermission ( onPermissionGranted , reject ) ;
507+ if ( ! Calendar . _hasReadWritePermission ( ) ) {
508+ Calendar . _requestReadWritePermission ( onPermissionGranted , reject ) ;
505509 return ;
506510 }
507511
@@ -544,8 +548,8 @@ Calendar.deleteCalendar = function (arg) {
544548 resolve ( deletedCalId ) ;
545549 } ;
546550
547- if ( ! Calendar . _hasWritePermission ( ) ) {
548- Calendar . _requestWritePermission ( onPermissionGranted , reject ) ;
551+ if ( ! Calendar . _hasReadWritePermission ( ) ) {
552+ Calendar . _requestReadWritePermission ( onPermissionGranted , reject ) ;
549553 return ;
550554 }
551555
0 commit comments