Skip to content

Commit 7e1dc0c

Browse files
Read and Write Permission Error in Android 8 #53
1 parent 95a6adf commit 7e1dc0c

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

src/calendar.android.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
8084
Calendar._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+
98106
Calendar.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

src/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nativescript-calendar",
3-
"version": "2.0.1",
3+
"version": "2.0.2",
44
"description": "Interact with the native calendar. Add, Update, Read, you name it.",
55
"main": "calendar",
66
"typings": "calendar.d.ts",

0 commit comments

Comments
 (0)