Skip to content

Commit

Permalink
Read and Write Permission Error in Android 8 #53
Browse files Browse the repository at this point in the history
  • Loading branch information
EddyVerbruggen committed Jun 2, 2019
1 parent 95a6adf commit 7e1dc0c
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 11 deletions.
24 changes: 14 additions & 10 deletions src/calendar.android.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,10 @@ Calendar._hasWritePermission = function () {
return Calendar._hasPermission([android.Manifest.permission.WRITE_CALENDAR]);
};

Calendar._hasReadWritePermission = function () {
return Calendar._hasPermission([android.Manifest.permission.READ_CALENDAR, android.Manifest.permission.WRITE_CALENDAR]);
};

Calendar._requestPermission = function (permissions, onPermissionGranted, reject) {
Calendar._onPermissionGranted = onPermissionGranted;
Calendar._reject = reject;
Expand All @@ -95,6 +99,10 @@ Calendar._requestWritePermission = function (onPermissionGranted, reject) {
Calendar._requestPermission([android.Manifest.permission.WRITE_CALENDAR], onPermissionGranted, reject);
};

Calendar._requestReadWritePermission = function (onPermissionGranted, reject) {
Calendar._requestPermission([android.Manifest.permission.READ_CALENDAR, android.Manifest.permission.WRITE_CALENDAR], onPermissionGranted, reject);
};

Calendar.hasPermission = function (arg) {
return new Promise((resolve, reject) => {
try {
Expand Down Expand Up @@ -372,10 +380,8 @@ Calendar.deleteEvents = function (arg) {
resolve(deletedEventIds);
};

// note that read or write doesn't really matter as it resolves to one permission currently
// and if that changes write will probably suffice for reading as well
if (!Calendar._hasWritePermission()) {
Calendar._requestWritePermission(onPermissionGranted, reject);
if (!Calendar._hasReadWritePermission()) {
Calendar._requestReadWritePermission(onPermissionGranted, reject);
return;
}

Expand Down Expand Up @@ -498,10 +504,8 @@ Calendar.createEvent = function (arg) {
resolve(createdEventID);
};

// note that read or write doesn't really matter as it resolves to one permission currently
// and if that changes write will probably suffice for reading as well
if (!Calendar._hasWritePermission()) {
Calendar._requestWritePermission(onPermissionGranted, reject);
if (!Calendar._hasReadWritePermission()) {
Calendar._requestReadWritePermission(onPermissionGranted, reject);
return;
}

Expand Down Expand Up @@ -544,8 +548,8 @@ Calendar.deleteCalendar = function (arg) {
resolve(deletedCalId);
};

if (!Calendar._hasWritePermission()) {
Calendar._requestWritePermission(onPermissionGranted, reject);
if (!Calendar._hasReadWritePermission()) {
Calendar._requestReadWritePermission(onPermissionGranted, reject);
return;
}

Expand Down
2 changes: 1 addition & 1 deletion src/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "nativescript-calendar",
"version": "2.0.1",
"version": "2.0.2",
"description": "Interact with the native calendar. Add, Update, Read, you name it.",
"main": "calendar",
"typings": "calendar.d.ts",
Expand Down

0 comments on commit 7e1dc0c

Please sign in to comment.