diff options
Diffstat (limited to 'plugins/de.appplant.cordova.plugin.local-notification/src/ios/UIApplication+APPLocalNotification.m')
| -rw-r--r-- | plugins/de.appplant.cordova.plugin.local-notification/src/ios/UIApplication+APPLocalNotification.m | 331 |
1 files changed, 0 insertions, 331 deletions
diff --git a/plugins/de.appplant.cordova.plugin.local-notification/src/ios/UIApplication+APPLocalNotification.m b/plugins/de.appplant.cordova.plugin.local-notification/src/ios/UIApplication+APPLocalNotification.m deleted file mode 100644 index 60b6daac..00000000 --- a/plugins/de.appplant.cordova.plugin.local-notification/src/ios/UIApplication+APPLocalNotification.m +++ /dev/null @@ -1,331 +0,0 @@ -/* - * Copyright (c) 2013-2015 by appPlant UG. All rights reserved. - * - * @APPPLANT_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apache License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://opensource.org/licenses/Apache-2.0/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPPLANT_LICENSE_HEADER_END@ - */ - -#import "UIApplication+APPLocalNotification.h" -#import "UILocalNotification+APPLocalNotification.h" - -@implementation UIApplication (APPLocalNotification) - -#pragma mark - -#pragma mark Permissions - -/** - * If the app has the permission to schedule local notifications. - */ -- (BOOL) hasPermissionToScheduleLocalNotifications -{ - if ([[UIApplication sharedApplication] - respondsToSelector:@selector(registerUserNotificationSettings:)]) - { - UIUserNotificationType types; - UIUserNotificationSettings *settings; - - settings = [[UIApplication sharedApplication] - currentUserNotificationSettings]; - - types = UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound; - - return (settings.types & types); - } else { - return YES; - } -} - -/** - * Ask for permission to schedule local notifications. - */ -- (void) registerPermissionToScheduleLocalNotifications -{ - if ([[UIApplication sharedApplication] - respondsToSelector:@selector(registerUserNotificationSettings:)]) - { - UIUserNotificationType types; - UIUserNotificationSettings *settings; - - settings = [[UIApplication sharedApplication] - currentUserNotificationSettings]; - - types = settings.types|UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound; - - settings = [UIUserNotificationSettings settingsForTypes:types - categories:nil]; - - [[UIApplication sharedApplication] - registerUserNotificationSettings:settings]; - } -} - -#pragma mark - -#pragma mark LocalNotifications - -/** - * List of all local notifications which have been added - * but not yet removed from the notification center. - */ -- (NSArray*) localNotifications -{ - NSArray* scheduledNotifications = self.scheduledLocalNotifications; - NSMutableArray* notifications = [[NSMutableArray alloc] init]; - - for (UILocalNotification* notification in scheduledNotifications) - { - if (notification) { - [notifications addObject:notification]; - } - } - - return notifications; -} - -/** - * List of all triggered local notifications which have been scheduled - * and not yet removed the notification center. - */ -- (NSArray*) triggeredLocalNotifications -{ - NSArray* notifications = self.localNotifications; - NSMutableArray* triggeredNotifications = [[NSMutableArray alloc] init]; - - for (UILocalNotification* notification in notifications) - { - if ([notification isTriggered]) { - [triggeredNotifications addObject:notification]; - } - } - - return triggeredNotifications; -} - -/** - * List of all local notifications IDs. - */ -- (NSArray*) localNotificationIds -{ - NSArray* notifications = self.localNotifications; - NSMutableArray* ids = [[NSMutableArray alloc] init]; - - for (UILocalNotification* notification in notifications) - { - [ids addObject:notification.options.id]; - } - - return ids; -} - -/** - * List of all local notifications IDs from given type. - * - * @param type - * Notification life cycle type - */ -- (NSArray*) localNotificationIdsByType:(APPLocalNotificationType)type -{ - NSArray* notifications = self.localNotifications; - NSMutableArray* ids = [[NSMutableArray alloc] init]; - - for (UILocalNotification* notification in notifications) - { - if (notification.type == type) { - [ids addObject:notification.options.id]; - } - } - - return ids; -} - -/* - * If local notification with ID exists. - * - * @param id - * Notification ID - */ -- (BOOL) localNotificationExist:(NSNumber*)id -{ - return [self localNotificationWithId:id] != NULL; -} - -/* If local notification with ID and type exists - * - * @param id - * Notification ID - * @param type - * Notification life cycle type - */ -- (BOOL) localNotificationExist:(NSNumber*)id type:(APPLocalNotificationType)type -{ - return [self localNotificationWithId:id andType:type] != NULL; -} - -/** - * Get local notification with ID. - * - * @param id - * Notification ID - */ -- (UILocalNotification*) localNotificationWithId:(NSNumber*)id -{ - NSArray* notifications = self.localNotifications; - - for (UILocalNotification* notification in notifications) - { - if ([notification.options.id isEqualToNumber:id]) { - return notification; - } - } - - return NULL; -} - -/* - * Get local notification with ID and type. - * - * @param id - * Notification ID - * @param type - * Notification life cycle type - */ -- (UILocalNotification*) localNotificationWithId:(NSNumber*)id andType:(APPLocalNotificationType)type -{ - UILocalNotification* notification = [self localNotificationWithId:id]; - - if (notification && notification.type == type) - return notification; - - return NULL; -} - -/** - * List of properties from all notifications. - */ -- (NSArray*) localNotificationOptions -{ - NSArray* notifications = self.localNotifications; - NSMutableArray* options = [[NSMutableArray alloc] init]; - - for (UILocalNotification* notification in notifications) - { - [options addObject:notification.options.userInfo]; - } - - return options; -} - -/** - * List of properties from all local notifications from given type. - * - * @param type - * Notification life cycle type - */ -- (NSArray*) localNotificationOptionsByType:(APPLocalNotificationType)type -{ - NSArray* notifications = self.localNotifications; - NSMutableArray* options = [[NSMutableArray alloc] init]; - - for (UILocalNotification* notification in notifications) - { - if (notification.type == type) { - [options addObject:notification.options.userInfo]; - } - } - - return options; -} - -/** - * List of properties from given local notifications. - * - * @param ids - * Notification IDs - */ -- (NSArray*) localNotificationOptionsById:(NSArray*)ids -{ - UILocalNotification* notification; - NSMutableArray* options = [[NSMutableArray alloc] init]; - - for (NSNumber* id in ids) - { - notification = [self localNotificationWithId:id]; - - if (notification) { - [options addObject:notification.options.userInfo]; - } - } - - return options; -} - -/** - * List of properties from given local notifications. - * - * @param type - * Notification life cycle type - * @param ids - * Notification IDs - */ -- (NSArray*) localNotificationOptionsByType:(APPLocalNotificationType)type andId:(NSArray*)ids -{ - UILocalNotification* notification; - NSMutableArray* options = [[NSMutableArray alloc] init]; - - for (NSNumber* id in ids) - { - notification = [self localNotificationWithId:id]; - - if (notification && notification.type == type) { - [options addObject:notification.options.userInfo]; - } - } - - return options; -} - -/* - * Clear all local notfications. - */ -- (void) clearAllLocalNotifications -{ - NSArray* notifications = self.triggeredLocalNotifications; - - for (UILocalNotification* notification in notifications) { - [self clearLocalNotification:notification]; - } -} - -/* - * Clear single local notfication. - * - * @param notification - * The local notification object - */ -- (void) clearLocalNotification:(UILocalNotification*)notification -{ - [self cancelLocalNotification:notification]; - - if ([notification isRepeating]) { - notification.fireDate = notification.options.fireDate; - - [self scheduleLocalNotification:notification]; - }; -} - -@end |
