incubator-callback-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From becka...@apache.org
Subject ios commit: Fixes CB-1511 force portrait in captureAudio
Date Mon, 24 Sep 2012 16:47:51 GMT
Updated Branches:
  refs/heads/master c573953b7 -> d0488e3be


Fixes CB-1511 force portrait in captureAudio

Due to changes in how orientation is handled in iOS 6, needed to add CDVAudioNavigationController
in order to implement supportedInterfaces api.  Also had to support this api in
CDVAudioRecorderViewController.


Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/commit/d0488e3b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/tree/d0488e3b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/diff/d0488e3b

Branch: refs/heads/master
Commit: d0488e3be4261ad9742afea6c60c3087e1312df8
Parents: c573953
Author: Becky Gibson <becka11y@apache.org>
Authored: Fri Sep 21 17:00:29 2012 -0400
Committer: Becky Gibson <becka11y@apache.org>
Committed: Fri Sep 21 17:18:51 2012 -0400

----------------------------------------------------------------------
 CordovaLib/Classes/CDVCapture.h |    4 ++++
 CordovaLib/Classes/CDVCapture.m |   22 +++++++++++++++++++++-
 2 files changed, 25 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/d0488e3b/CordovaLib/Classes/CDVCapture.h
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVCapture.h b/CordovaLib/Classes/CDVCapture.h
index b4b4a2a..3ac73bd 100644
--- a/CordovaLib/Classes/CDVCapture.h
+++ b/CordovaLib/Classes/CDVCapture.h
@@ -64,6 +64,10 @@ typedef NSUInteger CDVCaptureError;
 
 @end
 
+@interface CDVAudioNavigationController : UINavigationController
+
+@end
+
 /* AudioRecorderViewController is used to create a simple view for audio recording.
  *  It is created from [Capture captureAudio].  It creates a very simple interface for
  *  recording by presenting just a record/stop button and a Done button to close the view.

http://git-wip-us.apache.org/repos/asf/incubator-cordova-ios/blob/d0488e3b/CordovaLib/Classes/CDVCapture.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVCapture.m b/CordovaLib/Classes/CDVCapture.m
index dfefa55..c90b75b 100644
--- a/CordovaLib/Classes/CDVCapture.m
+++ b/CordovaLib/Classes/CDVCapture.m
@@ -85,7 +85,8 @@
         CDVAudioRecorderViewController* audioViewController = [[CDVAudioRecorderViewController
alloc] initWithCommand:self duration:duration callbackId:callbackId];
 
         // Now create a nav controller and display the view...
-        UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:audioViewController];
+        CDVAudioNavigationController* navController = [[CDVAudioNavigationController alloc]
initWithRootViewController:audioViewController];
+
         self.inUse = YES;
 
         if ([self.viewController respondsToSelector:@selector(presentViewController:::)])
{
@@ -537,6 +538,16 @@
 
 @end
 
+@implementation CDVAudioNavigationController
+
+- (NSUInteger)supportedInterfaceOrientations
+{
+    // delegate to CVDAudioRecorderViewController
+    return [self.topViewController supportedInterfaceOrientations];
+}
+
+@end
+
 @implementation CDVAudioRecorderViewController
 @synthesize errorCode, callbackId, duration, captureCommand, doneButton, recordingView, recordButton,
recordImage, stopRecordImage, timerLabel, avRecorder, avSession, resultString, timer, isTimed;
 
@@ -691,6 +702,15 @@
     }
 }
 
+- (NSUInteger)supportedInterfaceOrientations
+{
+    NSUInteger orientation = UIInterfaceOrientationMaskPortrait; // must support portrait
+    NSUInteger supported = [captureCommand.viewController supportedInterfaceOrientations];
+
+    orientation = orientation | (supported & UIInterfaceOrientationMaskPortraitUpsideDown);
+    return orientation;
+}
+
 - (void)viewDidUnload
 {
     [self setView:nil];


Mime
View raw message