From 90854ee940f24dc2b3572f21df55708acab2fc18 Mon Sep 17 00:00:00 2001 From: Flavio De Stefano Date: Mon, 19 Sep 2016 10:17:36 +0200 Subject: [PATCH 1/4] Added Alert Proxy --- iphone/Classes/TiMediaAlertProxy.h | 24 +++++++ iphone/Classes/TiMediaAlertProxy.m | 72 +++++++++++++++++++ .../iphone/Titanium.xcodeproj/project.pbxproj | 6 ++ 3 files changed, 102 insertions(+) create mode 100644 iphone/Classes/TiMediaAlertProxy.h create mode 100644 iphone/Classes/TiMediaAlertProxy.m diff --git a/iphone/Classes/TiMediaAlertProxy.h b/iphone/Classes/TiMediaAlertProxy.h new file mode 100644 index 00000000000..f6fd67b18d7 --- /dev/null +++ b/iphone/Classes/TiMediaAlertProxy.h @@ -0,0 +1,24 @@ +/** + * Appcelerator Titanium Mobile + * Copyright (c) 2009-2010 by Appcelerator, Inc. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ +#ifdef USE_TI_MEDIA + +#import "TiProxy.h" +#import "TiUtils.h" +#import + +@interface TiMediaAlertProxy : TiProxy { + NSURL* url; + SystemSoundID sound; +} + +@property (nonatomic,readonly) NSURL *url; + +-(void)play:(id)args; + +@end + +#endif diff --git a/iphone/Classes/TiMediaAlertProxy.m b/iphone/Classes/TiMediaAlertProxy.m new file mode 100644 index 00000000000..2c8a616cc42 --- /dev/null +++ b/iphone/Classes/TiMediaAlertProxy.m @@ -0,0 +1,72 @@ +/** + * Appcelerator Titanium Mobile + * Copyright (c) 2009-2015 by Appcelerator, Inc. All Rights Reserved. + * Licensed under the terms of the Apache Public License + * Please see the LICENSE included with this distribution for details. + */ +#import "TiMediaAlertProxy.h" + +@implementation TiMediaAlertProxy + +#pragma mark Proxy Lifecycle + +-(id)init +{ + return [super init]; +} + +-(void)_destroy +{ + if (sound) { + AudioServicesDisposeSystemSoundID(sound); + } + RELEASE_TO_NIL(url); + [super _destroy]; +} + +#pragma mark System Sound + +-(NSURL*)url +{ + return url; +} + +-(void)setUrl:(id)url_ +{ + RELEASE_TO_NIL(url); + + if ([url_ isKindOfClass:[NSString class]]) { + url = [[TiUtils toURL:url_ proxy:self] retain]; + + if ([url isFileURL] == NO) { + // we need to download it and save it off into temp file + NSData *data = [NSData dataWithContentsOfURL:url]; + NSString *ext = [[[url path] lastPathComponent] pathExtension]; + TiFile* tempFile = [[TiFile createTempFile:ext] retain]; // file auto-deleted on release + [data writeToFile:[tempFile path] atomically:YES]; + RELEASE_TO_NIL(url); + url = [[NSURL fileURLWithPath:[tempFile path]] retain]; + } + } else if ([url_ isKindOfClass:[TiBlob class]]) { + TiBlob *blob = (TiBlob*)url_; + if ([blob type]==TiBlobTypeFile){ + url = [[NSURL fileURLWithPath:[blob path]] retain]; + } + } else if ([url_ isKindOfClass:[TiFile class]]) { + url = [[NSURL fileURLWithPath:[(TiFile*)url_ path]] retain]; + } + + if (sound != nil) { + AudioServicesDisposeSystemSoundID(sound); + } + + AudioServicesCreateSystemSoundID((CFURLRef)url, &sound); +} + +-(void)play:(id)args +{ + if (url == nil) return; + AudioServicesPlayAlertSound(sound); +} + +@end \ No newline at end of file diff --git a/iphone/iphone/Titanium.xcodeproj/project.pbxproj b/iphone/iphone/Titanium.xcodeproj/project.pbxproj index 4e60276bf97..85861ef8f56 100644 --- a/iphone/iphone/Titanium.xcodeproj/project.pbxproj +++ b/iphone/iphone/Titanium.xcodeproj/project.pbxproj @@ -315,6 +315,7 @@ BB26FC8019AB13B9007A35AF /* TiAppiOSNotificationActionProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB26FC7D19AB13B9007A35AF /* TiAppiOSNotificationActionProxy.m */; }; BB26FC8319AB13B9007A35AF /* TiAppiOSNotificationCategoryProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB26FC7F19AB13B9007A35AF /* TiAppiOSNotificationCategoryProxy.m */; }; BBDD81341A2C71C9003CDA10 /* TiUIAttributedStringProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = BBDD81331A2C71C9003CDA10 /* TiUIAttributedStringProxy.m */; }; + C6BEA5861D8FD0B100485DAC /* TiMediaAlertProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = C6BEA5851D8FD0B100485DAC /* TiMediaAlertProxy.m */; }; CA0D39E51B7F55C6009D534C /* TiAppiOSSearchableItemAttributeSetProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0D39E41B7F55C6009D534C /* TiAppiOSSearchableItemAttributeSetProxy.m */; }; CA0D39E81B7F709E009D534C /* TiAppiOSSearchableItemProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0D39E71B7F709E009D534C /* TiAppiOSSearchableItemProxy.m */; }; CA0D39EB1B7F74F8009D534C /* TiAppiOSSearchableIndexProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0D39EA1B7F74F8009D534C /* TiAppiOSSearchableIndexProxy.m */; }; @@ -978,6 +979,8 @@ BB26FC7F19AB13B9007A35AF /* TiAppiOSNotificationCategoryProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiAppiOSNotificationCategoryProxy.m; sourceTree = ""; }; BBDD81321A2C71C9003CDA10 /* TiUIAttributedStringProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiUIAttributedStringProxy.h; sourceTree = ""; }; BBDD81331A2C71C9003CDA10 /* TiUIAttributedStringProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiUIAttributedStringProxy.m; sourceTree = ""; }; + C6BEA5841D8FD0B100485DAC /* TiMediaAlertProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiMediaAlertProxy.h; sourceTree = ""; }; + C6BEA5851D8FD0B100485DAC /* TiMediaAlertProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiMediaAlertProxy.m; sourceTree = ""; }; CA0D39E31B7F55C6009D534C /* TiAppiOSSearchableItemAttributeSetProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiAppiOSSearchableItemAttributeSetProxy.h; sourceTree = ""; }; CA0D39E41B7F55C6009D534C /* TiAppiOSSearchableItemAttributeSetProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiAppiOSSearchableItemAttributeSetProxy.m; sourceTree = ""; }; CA0D39E61B7F709E009D534C /* TiAppiOSSearchableItemProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiAppiOSSearchableItemProxy.h; sourceTree = ""; }; @@ -1559,6 +1562,8 @@ 24CA8C18111164440084E2DE /* Media */ = { isa = PBXGroup; children = ( + C6BEA5841D8FD0B100485DAC /* TiMediaAlertProxy.h */, + C6BEA5851D8FD0B100485DAC /* TiMediaAlertProxy.m */, 24CA8B04111161FE0084E2DE /* MediaModule.m */, 24CA8B05111161FE0084E2DE /* MediaModule.h */, 24CA8ABE111161FD0084E2DE /* TiMediaAudioPlayerProxy.m */, @@ -2807,6 +2812,7 @@ BB26FC8319AB13B9007A35AF /* TiAppiOSNotificationCategoryProxy.m in Sources */, 15CB440E1C4EBE4000D81480 /* TiUIiOSStatusBarProxy.m in Sources */, 24A1EAF8112F4C02003DA834 /* UIImage+RoundedCorner.m in Sources */, + C6BEA5861D8FD0B100485DAC /* TiMediaAlertProxy.m in Sources */, 245B3C3D11375A6600CE7530 /* UtilsModule.m in Sources */, 1592CC3D1C4D800B00C3DB83 /* TiUIiOSScrollIndicatorStyleProxy.m in Sources */, 245B45641139B41800CE7530 /* TiUIiPhoneTableViewCellSelectionStyleProxy.m in Sources */, From 6df2e42ef1942cee34fde873bea69bb802626f1f Mon Sep 17 00:00:00 2001 From: Flavio De Stefano Date: Mon, 19 Sep 2016 10:30:51 +0200 Subject: [PATCH 2/4] Added docs for Titanium.Media.Alert --- apidoc/Titanium/Media/Alert.yml | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 apidoc/Titanium/Media/Alert.yml diff --git a/apidoc/Titanium/Media/Alert.yml b/apidoc/Titanium/Media/Alert.yml new file mode 100644 index 00000000000..7a11d27c177 --- /dev/null +++ b/apidoc/Titanium/Media/Alert.yml @@ -0,0 +1,36 @@ +--- +name: Titanium.Media.Alert +summary: An object for playing system sounds. +description: | + You can use this module to provide audible alerts. + + You can use it to play short (30 seconds or shorter) sounds. The interface does not provide level, positioning, looping, or timing control, and does not support simultaneous playback: You can play only one sound at a time. + + This module differs from the Sound module because it honors the ringtone volume, not the Music volume. + + Use the method to create a `Alert` object. + + Know more about [System Sound Services](https://developer.apple.com/reference/audiotoolbox/1657326-system_sound_services). + +extends: Titanium.Proxy +since: "5.5.0" +platforms: [iphone, ipad] +methods: + - name: play + summary: Starting playing the alert. + +events: + +properties: + - name: url + summary: URL identifying the audio resource. + type: String + +examples: + - title: Simple Example + example: | + Simple example of playing a WAVE file from the Resources directory. + + var player = Ti.Media.createAlert({url:"Alert.wav"}); + player.play(); + From 2086b3f2c08b2068a0f438e25dc70cd1e004f4ce Mon Sep 17 00:00:00 2001 From: Flavio De Stefano Date: Tue, 20 Sep 2016 10:02:08 +0200 Subject: [PATCH 3/4] Addressing minor issues --- apidoc/Titanium/Media/Alert.yml | 12 +++++------- iphone/Classes/TiMediaAlertProxy.m | 4 ++-- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/apidoc/Titanium/Media/Alert.yml b/apidoc/Titanium/Media/Alert.yml index 7a11d27c177..0a25dbb41d6 100644 --- a/apidoc/Titanium/Media/Alert.yml +++ b/apidoc/Titanium/Media/Alert.yml @@ -4,22 +4,20 @@ summary: An object for playing system sounds. description: | You can use this module to provide audible alerts. - You can use it to play short (30 seconds or shorter) sounds. The interface does not provide level, positioning, looping, or timing control, and does not support simultaneous playback: You can play only one sound at a time. + You can use it to play short (30 seconds or shorter) sounds. The interface does not provide level, positioning, + looping, or timing control, and does not support simultaneous playback: You can play only one sound at a time. This module differs from the Sound module because it honors the ringtone volume, not the Music volume. Use the method to create a `Alert` object. Know more about [System Sound Services](https://developer.apple.com/reference/audiotoolbox/1657326-system_sound_services). - extends: Titanium.Proxy -since: "5.5.0" +since: "6.1.0" platforms: [iphone, ipad] methods: - name: play - summary: Starting playing the alert. - -events: + summary: Start playing the alert. properties: - name: url @@ -31,6 +29,6 @@ examples: example: | Simple example of playing a WAVE file from the Resources directory. - var player = Ti.Media.createAlert({url:"Alert.wav"}); + var player = Ti.Media.createAlert({url:"alert.wav"}); player.play(); diff --git a/iphone/Classes/TiMediaAlertProxy.m b/iphone/Classes/TiMediaAlertProxy.m index 2c8a616cc42..9df05a189f9 100644 --- a/iphone/Classes/TiMediaAlertProxy.m +++ b/iphone/Classes/TiMediaAlertProxy.m @@ -49,7 +49,7 @@ -(void)setUrl:(id)url_ } } else if ([url_ isKindOfClass:[TiBlob class]]) { TiBlob *blob = (TiBlob*)url_; - if ([blob type]==TiBlobTypeFile){ + if ([blob type] == TiBlobTypeFile){ url = [[NSURL fileURLWithPath:[blob path]] retain]; } } else if ([url_ isKindOfClass:[TiFile class]]) { @@ -63,7 +63,7 @@ -(void)setUrl:(id)url_ AudioServicesCreateSystemSoundID((CFURLRef)url, &sound); } --(void)play:(id)args +-(void)play:(id)unused { if (url == nil) return; AudioServicesPlayAlertSound(sound); From f804a8f2167fa63b0b66f74f2df7b9b1dd38e7b6 Mon Sep 17 00:00:00 2001 From: hansemannn Date: Thu, 20 Oct 2016 11:28:20 +0200 Subject: [PATCH 4/4] [TIMOB-5436] Refactor class --- .../Media/{Alert.yml => SystemAlert.yml} | 10 ++-- ...AlertProxy.h => TiMediaSystemAlertProxy.h} | 5 +- ...AlertProxy.m => TiMediaSystemAlertProxy.m} | 51 ++++++++++--------- .../iphone/Titanium.xcodeproj/project.pbxproj | 12 ++--- 4 files changed, 41 insertions(+), 37 deletions(-) rename apidoc/Titanium/Media/{Alert.yml => SystemAlert.yml} (74%) rename iphone/Classes/{TiMediaAlertProxy.h => TiMediaSystemAlertProxy.h} (75%) rename iphone/Classes/{TiMediaAlertProxy.m => TiMediaSystemAlertProxy.m} (69%) diff --git a/apidoc/Titanium/Media/Alert.yml b/apidoc/Titanium/Media/SystemAlert.yml similarity index 74% rename from apidoc/Titanium/Media/Alert.yml rename to apidoc/Titanium/Media/SystemAlert.yml index 0a25dbb41d6..dec2644d2ea 100644 --- a/apidoc/Titanium/Media/Alert.yml +++ b/apidoc/Titanium/Media/SystemAlert.yml @@ -1,15 +1,15 @@ --- -name: Titanium.Media.Alert +name: Titanium.Media.SystemAlert summary: An object for playing system sounds. description: | - You can use this module to provide audible alerts. + You can use this module to provide audible system alerts. You can use it to play short (30 seconds or shorter) sounds. The interface does not provide level, positioning, looping, or timing control, and does not support simultaneous playback: You can play only one sound at a time. This module differs from the Sound module because it honors the ringtone volume, not the Music volume. - Use the method to create a `Alert` object. + Use the method to create a `SystemAlert` object. Know more about [System Sound Services](https://developer.apple.com/reference/audiotoolbox/1657326-system_sound_services). extends: Titanium.Proxy @@ -17,7 +17,7 @@ since: "6.1.0" platforms: [iphone, ipad] methods: - name: play - summary: Start playing the alert. + summary: Start playing the system alert. properties: - name: url @@ -29,6 +29,6 @@ examples: example: | Simple example of playing a WAVE file from the Resources directory. - var player = Ti.Media.createAlert({url:"alert.wav"}); + var player = Ti.Media.createSystemAlert({url:"alert.wav"}); player.play(); diff --git a/iphone/Classes/TiMediaAlertProxy.h b/iphone/Classes/TiMediaSystemAlertProxy.h similarity index 75% rename from iphone/Classes/TiMediaAlertProxy.h rename to iphone/Classes/TiMediaSystemAlertProxy.h index f6fd67b18d7..3a4a678eff9 100644 --- a/iphone/Classes/TiMediaAlertProxy.h +++ b/iphone/Classes/TiMediaSystemAlertProxy.h @@ -1,16 +1,15 @@ /** * Appcelerator Titanium Mobile - * Copyright (c) 2009-2010 by Appcelerator, Inc. All Rights Reserved. + * Copyright (c) 2009-2016 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Apache Public License * Please see the LICENSE included with this distribution for details. */ #ifdef USE_TI_MEDIA #import "TiProxy.h" -#import "TiUtils.h" #import -@interface TiMediaAlertProxy : TiProxy { +@interface TiMediaSystemAlertProxy : TiProxy { NSURL* url; SystemSoundID sound; } diff --git a/iphone/Classes/TiMediaAlertProxy.m b/iphone/Classes/TiMediaSystemAlertProxy.m similarity index 69% rename from iphone/Classes/TiMediaAlertProxy.m rename to iphone/Classes/TiMediaSystemAlertProxy.m index 9df05a189f9..483d774c230 100644 --- a/iphone/Classes/TiMediaAlertProxy.m +++ b/iphone/Classes/TiMediaSystemAlertProxy.m @@ -1,40 +1,38 @@ /** * Appcelerator Titanium Mobile - * Copyright (c) 2009-2015 by Appcelerator, Inc. All Rights Reserved. + * Copyright (c) 2009-2016 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the Apache Public License * Please see the LICENSE included with this distribution for details. */ -#import "TiMediaAlertProxy.h" - -@implementation TiMediaAlertProxy +#ifdef USE_TI_MEDIA + +#import "TiMediaSystemAlertProxy.h" +#import "TiUtils.h" + +@implementation TiMediaSystemAlertProxy #pragma mark Proxy Lifecycle - --(id)init -{ - return [super init]; -} - + -(void)_destroy { - if (sound) { - AudioServicesDisposeSystemSoundID(sound); - } + AudioServicesDisposeSystemSoundID(sound); RELEASE_TO_NIL(url); + [super _destroy]; } -#pragma mark System Sound +#pragma mark Public APIs --(NSURL*)url +-(id)url { - return url; + return [url absoluteString]; } -(void)setUrl:(id)url_ { RELEASE_TO_NIL(url); + // Handle string url if ([url_ isKindOfClass:[NSString class]]) { url = [[TiUtils toURL:url_ proxy:self] retain]; @@ -47,26 +45,33 @@ -(void)setUrl:(id)url_ RELEASE_TO_NIL(url); url = [[NSURL fileURLWithPath:[tempFile path]] retain]; } + + // Handle file blob } else if ([url_ isKindOfClass:[TiBlob class]]) { TiBlob *blob = (TiBlob*)url_; if ([blob type] == TiBlobTypeFile){ url = [[NSURL fileURLWithPath:[blob path]] retain]; } + + // Handle file object } else if ([url_ isKindOfClass:[TiFile class]]) { url = [[NSURL fileURLWithPath:[(TiFile*)url_ path]] retain]; } - if (sound != nil) { - AudioServicesDisposeSystemSoundID(sound); - } - + // Dispose sound before re-referencing + AudioServicesDisposeSystemSoundID(sound); AudioServicesCreateSystemSoundID((CFURLRef)url, &sound); } - + -(void)play:(id)unused { - if (url == nil) return; + if (url == nil) { + NSLog(@"[ERROR] Trying to play a system alert without having specified the `url` property. Skipping playback."); + return; + } + AudioServicesPlayAlertSound(sound); } -@end \ No newline at end of file +@end +#endif diff --git a/iphone/iphone/Titanium.xcodeproj/project.pbxproj b/iphone/iphone/Titanium.xcodeproj/project.pbxproj index 85861ef8f56..4fbcf12e30c 100644 --- a/iphone/iphone/Titanium.xcodeproj/project.pbxproj +++ b/iphone/iphone/Titanium.xcodeproj/project.pbxproj @@ -315,7 +315,7 @@ BB26FC8019AB13B9007A35AF /* TiAppiOSNotificationActionProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB26FC7D19AB13B9007A35AF /* TiAppiOSNotificationActionProxy.m */; }; BB26FC8319AB13B9007A35AF /* TiAppiOSNotificationCategoryProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = BB26FC7F19AB13B9007A35AF /* TiAppiOSNotificationCategoryProxy.m */; }; BBDD81341A2C71C9003CDA10 /* TiUIAttributedStringProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = BBDD81331A2C71C9003CDA10 /* TiUIAttributedStringProxy.m */; }; - C6BEA5861D8FD0B100485DAC /* TiMediaAlertProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = C6BEA5851D8FD0B100485DAC /* TiMediaAlertProxy.m */; }; + C6BEA5861D8FD0B100485DAC /* TiMediaSystemAlertProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = C6BEA5851D8FD0B100485DAC /* TiMediaSystemAlertProxy.m */; }; CA0D39E51B7F55C6009D534C /* TiAppiOSSearchableItemAttributeSetProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0D39E41B7F55C6009D534C /* TiAppiOSSearchableItemAttributeSetProxy.m */; }; CA0D39E81B7F709E009D534C /* TiAppiOSSearchableItemProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0D39E71B7F709E009D534C /* TiAppiOSSearchableItemProxy.m */; }; CA0D39EB1B7F74F8009D534C /* TiAppiOSSearchableIndexProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = CA0D39EA1B7F74F8009D534C /* TiAppiOSSearchableIndexProxy.m */; }; @@ -979,8 +979,8 @@ BB26FC7F19AB13B9007A35AF /* TiAppiOSNotificationCategoryProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiAppiOSNotificationCategoryProxy.m; sourceTree = ""; }; BBDD81321A2C71C9003CDA10 /* TiUIAttributedStringProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiUIAttributedStringProxy.h; sourceTree = ""; }; BBDD81331A2C71C9003CDA10 /* TiUIAttributedStringProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiUIAttributedStringProxy.m; sourceTree = ""; }; - C6BEA5841D8FD0B100485DAC /* TiMediaAlertProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiMediaAlertProxy.h; sourceTree = ""; }; - C6BEA5851D8FD0B100485DAC /* TiMediaAlertProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiMediaAlertProxy.m; sourceTree = ""; }; + C6BEA5841D8FD0B100485DAC /* TiMediaSystemAlertProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiMediaSystemAlertProxy.h; sourceTree = ""; }; + C6BEA5851D8FD0B100485DAC /* TiMediaSystemAlertProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiMediaSystemAlertProxy.m; sourceTree = ""; }; CA0D39E31B7F55C6009D534C /* TiAppiOSSearchableItemAttributeSetProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiAppiOSSearchableItemAttributeSetProxy.h; sourceTree = ""; }; CA0D39E41B7F55C6009D534C /* TiAppiOSSearchableItemAttributeSetProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TiAppiOSSearchableItemAttributeSetProxy.m; sourceTree = ""; }; CA0D39E61B7F709E009D534C /* TiAppiOSSearchableItemProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiAppiOSSearchableItemProxy.h; sourceTree = ""; }; @@ -1562,8 +1562,6 @@ 24CA8C18111164440084E2DE /* Media */ = { isa = PBXGroup; children = ( - C6BEA5841D8FD0B100485DAC /* TiMediaAlertProxy.h */, - C6BEA5851D8FD0B100485DAC /* TiMediaAlertProxy.m */, 24CA8B04111161FE0084E2DE /* MediaModule.m */, 24CA8B05111161FE0084E2DE /* MediaModule.h */, 24CA8ABE111161FD0084E2DE /* TiMediaAudioPlayerProxy.m */, @@ -1582,6 +1580,8 @@ DA864E3111A2314A00B9CD68 /* TiMediaMusicPlayer.m */, DAA905CC11A359F10030B119 /* TiMediaItem.h */, DAA905CD11A359F10030B119 /* TiMediaItem.m */, + C6BEA5841D8FD0B100485DAC /* TiMediaSystemAlertProxy.h */, + C6BEA5851D8FD0B100485DAC /* TiMediaSystemAlertProxy.m */, ); name = Media; sourceTree = ""; @@ -2812,7 +2812,7 @@ BB26FC8319AB13B9007A35AF /* TiAppiOSNotificationCategoryProxy.m in Sources */, 15CB440E1C4EBE4000D81480 /* TiUIiOSStatusBarProxy.m in Sources */, 24A1EAF8112F4C02003DA834 /* UIImage+RoundedCorner.m in Sources */, - C6BEA5861D8FD0B100485DAC /* TiMediaAlertProxy.m in Sources */, + C6BEA5861D8FD0B100485DAC /* TiMediaSystemAlertProxy.m in Sources */, 245B3C3D11375A6600CE7530 /* UtilsModule.m in Sources */, 1592CC3D1C4D800B00C3DB83 /* TiUIiOSScrollIndicatorStyleProxy.m in Sources */, 245B45641139B41800CE7530 /* TiUIiPhoneTableViewCellSelectionStyleProxy.m in Sources */,