summaryrefslogtreecommitdiff
path: root/plugins/de.appplant.cordova.plugin.local-notification/src/ios/APPLocalNotificationOptions.m
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/de.appplant.cordova.plugin.local-notification/src/ios/APPLocalNotificationOptions.m')
-rw-r--r--plugins/de.appplant.cordova.plugin.local-notification/src/ios/APPLocalNotificationOptions.m246
1 files changed, 0 insertions, 246 deletions
diff --git a/plugins/de.appplant.cordova.plugin.local-notification/src/ios/APPLocalNotificationOptions.m b/plugins/de.appplant.cordova.plugin.local-notification/src/ios/APPLocalNotificationOptions.m
deleted file mode 100644
index ac90f993..00000000
--- a/plugins/de.appplant.cordova.plugin.local-notification/src/ios/APPLocalNotificationOptions.m
+++ /dev/null
@@ -1,246 +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 "APPLocalNotificationOptions.h"
-
-// Default sound ressource path
-NSString* const DEFAULT_SOUND = @"res://platform_default";
-
-@interface APPLocalNotificationOptions ()
-
-// The dictionary which contains all notification properties
-@property(nonatomic, retain) NSDictionary* dict;
-
-@end
-
-@implementation APPLocalNotificationOptions
-
-@synthesize dict;
-
-#pragma mark -
-#pragma mark Initialization
-
-/**
- * Initialize the object with the given options when calling on JS side:
- * notification.local.add(options)
- */
-- (id) initWithDict:(NSDictionary*)dictionary
-{
- self = [self init];
-
- self.dict = dictionary;
-
- return self;
-}
-
-#pragma mark -
-#pragma mark Attributes
-
-/**
- * The notification's ID.
- */
-- (NSNumber*) id
-{
- NSInteger id = [[dict objectForKey:@"id"] integerValue];
-
- return [NSNumber numberWithInteger:id];
-}
-
-/**
- * The notification's title.
- */
-- (NSString*) title
-{
- return [dict objectForKey:@"title"];
-}
-
-/**
- * The notification's message.
- */
-- (NSString*) text
-{
- return [dict objectForKey:@"text"];
-}
-
-/**
- * The notification's badge number.
- */
-- (NSInteger) badgeNumber
-{
- return [[dict objectForKey:@"badge"] intValue];
-}
-
-#pragma mark -
-#pragma mark Complex Attributes
-
-/**
- * The notification's alert body.
- */
-- (NSString*) alertBody
-{
- NSString* title = [self title];
- NSString* msg = [self text];
-
- NSString* alertBody = msg;
-
- if (![self stringIsNullOrEmpty:title])
- {
- alertBody = [NSString stringWithFormat:@"%@\n%@",
- title, msg];
- }
-
- return alertBody;
-}
-
-/**
- * The notification's sound path.
- */
-- (NSString*) soundName
-{
- NSString* path = [dict objectForKey:@"sound"];
-
- if ([self stringIsNullOrEmpty:path])
- return NULL;
-
- if ([path isEqualToString:DEFAULT_SOUND])
- return UILocalNotificationDefaultSoundName;
-
- if ([path hasPrefix:@"file:/"])
- return [self soundNameForAsset:path];
-
- if ([path hasPrefix:@"res:"])
- return [self soundNameForResource:path];
-
- return NULL;
-}
-
-/**
- * The notification's fire date.
- */
-- (NSDate*) fireDate
-{
- double timestamp = [[dict objectForKey:@"at"]
- doubleValue];
-
- return [NSDate dateWithTimeIntervalSince1970:timestamp];
-}
-
-/**
- * The notification's repeat interval.
- */
-- (NSCalendarUnit) repeatInterval
-{
- NSString* interval = [dict objectForKey:@"every"];
-
- if ([self stringIsNullOrEmpty:interval]) {
- return NSCalendarUnitEra;
- }
- else if ([interval isEqualToString:@"second"]) {
- return NSCalendarUnitSecond;
- }
- else if ([interval isEqualToString:@"minute"]) {
- return NSCalendarUnitMinute;
- }
- else if ([interval isEqualToString:@"hour"]) {
- return NSCalendarUnitHour;
- }
- else if ([interval isEqualToString:@"day"]) {
- return NSCalendarUnitDay;
- }
- else if ([interval isEqualToString:@"week"]) {
- return NSCalendarUnitWeekOfYear;
- }
- else if ([interval isEqualToString:@"month"]) {
- return NSCalendarUnitMonth;
- }
- else if ([interval isEqualToString:@"year"]) {
- return NSCalendarUnitYear;
- }
-
- return NSCalendarUnitEra;
-}
-
-#pragma mark -
-#pragma mark Methods
-
-/**
- * The notification's user info dict.
- */
-- (NSDictionary*) userInfo
-{
- if ([dict objectForKey:@"updatedAt"]) {
- NSMutableDictionary* data = [dict mutableCopy];
-
- [data removeObjectForKey:@"updatedAt"];
-
- return data;
- }
-
- return dict;
-}
-
-/**
- * If it's a repeating notification.
- */
-- (BOOL) isRepeating
-{
- NSCalendarUnit interval = self.repeatInterval;
-
- return !(interval == NSCalendarUnitEra || interval == 0);
-}
-
-#pragma mark -
-#pragma mark Helpers
-
-/**
- * Convert relative path to valid sound name attribute.
- */
-- (NSString*) soundNameForAsset:(NSString*)path
-{
- return [path stringByReplacingOccurrencesOfString:@"file:/"
- withString:@"www"];
-}
-
-/**
- * Convert resource path to valid sound name attribute.
- */
-- (NSString*) soundNameForResource:(NSString*)path
-{
- return [path pathComponents].lastObject;
-}
-
-/**
- * If the string is empty.
- */
-- (BOOL) stringIsNullOrEmpty:(NSString*)str
-{
- if (str == (NSString*)[NSNull null])
- return YES;
-
- if ([str isEqualToString:@""])
- return YES;
-
- return NO;
-}
-
-@end