summaryrefslogtreecommitdiff
path: root/SDL_iOS/SmartDeviceLinkTester/SmartDeviceLinkTester/UserTestViewController.m
diff options
context:
space:
mode:
Diffstat (limited to 'SDL_iOS/SmartDeviceLinkTester/SmartDeviceLinkTester/UserTestViewController.m')
-rw-r--r--SDL_iOS/SmartDeviceLinkTester/SmartDeviceLinkTester/UserTestViewController.m177
1 files changed, 177 insertions, 0 deletions
diff --git a/SDL_iOS/SmartDeviceLinkTester/SmartDeviceLinkTester/UserTestViewController.m b/SDL_iOS/SmartDeviceLinkTester/SmartDeviceLinkTester/UserTestViewController.m
new file mode 100644
index 000000000..b611c99cf
--- /dev/null
+++ b/SDL_iOS/SmartDeviceLinkTester/SmartDeviceLinkTester/UserTestViewController.m
@@ -0,0 +1,177 @@
+//
+// Copyright (c) 2013 Ford Motor Company
+//
+
+#import "UserTestViewController.h"
+
+@interface UserTestViewController ()
+
+-(void)showRPCResponse:(NSNotification *)notification;
+-(void)hideRPCRequestLabel;
+
+@end
+
+@implementation UserTestViewController
+
+- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
+{
+
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showRPCResponse:) name:@"onRPCResponse" object:nil];
+
+ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
+ if (self) {
+ self.title = NSLocalizedString(@"User Test", @"User Test");
+ self.tabBarItem.image = [UIImage imageNamed:@"game_controller"];
+ }
+ return self;
+}
+
+-(IBAction)showButtonPressed :(id)sender {
+ methodDidGetCalled = @"show";
+ [blackboardText setEditable:YES];
+ [blackboardText setHidden:NO];
+ [blackboardText becomeFirstResponder];
+}
+
+-(IBAction)speakButtonPressed :(id)sender{
+ methodDidGetCalled = @"speak";
+ [blackboardText setEditable:YES];
+ [blackboardText setHidden:NO];
+ [blackboardText becomeFirstResponder];
+}
+
+-(IBAction)alertButtonPressed :(id)sender{
+ methodDidGetCalled = @"alert";
+ [blackboardText setEditable:YES];
+ [blackboardText setHidden:NO];
+ [blackboardText becomeFirstResponder];
+}
+
+-(IBAction)addCommandPressed:(id)sender {
+ methodDidGetCalled = @"addCommand";
+ [blackboardText setEditable:YES];
+ [blackboardText setHidden:NO];
+ [blackboardText becomeFirstResponder];
+}
+
+-(IBAction)playPauseMusic:(id)sender {
+ if (musicIsPlaying) {
+ //pause music
+ musicIsPlaying = NO;
+ [playPauseImage setImage:[UIImage imageNamed:@"play.png"]];
+ [audioPlayer pause];
+ NSLog(@"audioPlayer pause");
+ }
+ else {
+ //play music
+ musicIsPlaying = YES;
+ [playPauseImage setImage:[UIImage imageNamed:@"pause.png"]];
+ [audioPlayer play];
+ NSLog(@"audioPlayer play");
+
+ }
+}
+
+- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
+{
+ if([text isEqualToString:@"\n"]) {
+ [textView resignFirstResponder];
+ return NO;
+ }
+
+ return YES;
+}
+
+- (void) textViewDidEndEditing:(UITextView *)textView {
+
+ NSString *msg = blackboardText.text;
+ if ([methodDidGetCalled isEqualToString: @"speak"]) {
+ [[SDLBrain getInstance] speakPressed:msg];
+ }
+ else if ([methodDidGetCalled isEqualToString: @"show"]) {
+ [[SDLBrain getInstance] showPressed:msg];
+
+ }
+ else if ([methodDidGetCalled isEqualToString: @"alert"]) {
+ [[SDLBrain getInstance] alertPressed:msg];
+
+ }
+ else if ([methodDidGetCalled isEqualToString: @"addCommand"]) {
+ [[SDLBrain getInstance] addCommand:msg];
+ }
+ blackboardText.text = @"";
+ [blackboardText setHidden:YES];
+ [blackboardText setEditable:NO];
+
+}
+
+-(void)showRPCResponse:(NSNotification *)notification {
+
+
+ SDLRPCResponse* response = (SDLRPCResponse*) [notification object];
+
+ NSString *result = [NSString stringWithFormat:@"%@", [response resultCode]];
+
+ if([result isEqualToString:@"SUCCESS"]) {
+ [resultRPCRequest setText:@"Success"];
+ [resultRPCRequest setBackgroundColor:[UIColor greenColor]];
+ }
+ else {
+ [resultRPCRequest setText:@"Failure"];
+ [resultRPCRequest setBackgroundColor:[UIColor redColor]];
+
+ }
+ [resultRPCRequest setHidden:NO];
+ [self performSelector:@selector(hideRPCRequestLabel) withObject:nil afterDelay:3.0];
+}
+
+-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag {
+ musicIsPlaying = NO;
+ [playPauseImage setImage:[UIImage imageNamed:@"play.png"]];
+}
+
+-(void)hideRPCRequestLabel {
+ [resultRPCRequest setHidden:YES];
+}
+
+- (void)viewDidLoad
+{
+ [super viewDidLoad];
+
+ blackboardText.delegate = self;
+ blackboardText.textColor = [UIColor whiteColor];
+ [blackboardText setHidden:YES];
+ [blackboardText setEditable:NO];
+ [blackboardText setFont:[UIFont fontWithName:@"Arial" size:20]];
+ [playPauseImage setImage:[UIImage imageNamed:@"play.png"]];
+ [resultRPCRequest setHidden:YES];
+ musicIsPlaying = NO;
+
+ NSError *error;
+ NSURL *path = [[NSBundle mainBundle] URLForResource:@"Sail" withExtension:@"mp3"];
+ audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:path error:&error];
+ audioPlayer.delegate = self;
+ audioPlayer.volume = 0.5;
+ //[audioPlayer prepareToPlay];
+}
+
+- (void)viewDidUnload
+{
+ [[SDLBrain getInstance] onProxyClosed];
+
+ [super viewDidUnload];
+ // Release any retained subviews of the main view.
+ // e.g. self.myOutlet = nil;
+}
+
+- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
+{
+ return (interfaceOrientation == UIInterfaceOrientationPortrait);
+}
+
+-(void) dealloc {
+ [audioPlayer release];
+ [super dealloc];
+}
+
+@end