Fix deprecated methods in AppRTCMobile.
Remove warning suppressions and update code that uses deprecated methods
to the currently supported APIs.
BUG=webrtc:5549
Review-Url: https://codereview.webrtc.org/2780433006
Cr-Commit-Position: refs/heads/master@{#17472}
diff --git a/webrtc/examples/BUILD.gn b/webrtc/examples/BUILD.gn
index 782491d..ebe426f 100644
--- a/webrtc/examples/BUILD.gn
+++ b/webrtc/examples/BUILD.gn
@@ -150,23 +150,6 @@
}
if (is_ios || (is_mac && target_cpu != "x86")) {
- config("warnings_config") {
- # GN orders flags on a target before flags from configs. The default config
- # adds these flags so to cancel them out they need to come from a config and
- # cannot be on the target directly.
- if (is_ios) {
- # Suppress compiler warnings about deprecated that triggered
- # when moving from ios_deployment_target 7.0 to 9.0.
- # See webrtc:5549 for more details.
- cflags = [ "-Wno-deprecated-declarations" ]
- cflags_objc = [
- # Enabled for cflags_objc in build/config/compiler/BUILD.gn.
- # See webrtc:6520.
- "-Wno-objc-missing-property-synthesis",
- ]
- }
- }
-
config("apprtc_common_config") {
include_dirs = [ "objc/AppRTCMobile/common" ]
}
@@ -177,10 +160,7 @@
"objc/AppRTCMobile/common/ARDUtilities.h",
"objc/AppRTCMobile/common/ARDUtilities.m",
]
- configs += [
- ":warnings_config",
- "//build/config/compiler:enable_arc",
- ]
+ configs += [ "//build/config/compiler:enable_arc" ]
public_configs = [ ":apprtc_common_config" ]
deps = [
@@ -245,10 +225,7 @@
"objc/AppRTCMobile/RTCSessionDescription+JSON.h",
"objc/AppRTCMobile/RTCSessionDescription+JSON.m",
]
- configs += [
- "//build/config/compiler:enable_arc",
- ":warnings_config",
- ]
+ configs += [ "//build/config/compiler:enable_arc" ]
public_configs = [ ":apprtc_signaling_config" ]
deps = [
":apprtc_common",
@@ -281,10 +258,7 @@
"objc/AppRTCMobile/ios/UIImage+ARDUtilities.h",
"objc/AppRTCMobile/ios/UIImage+ARDUtilities.m",
]
- configs += [
- "//build/config/compiler:enable_arc",
- ":warnings_config",
- ]
+ configs += [ "//build/config/compiler:enable_arc" ]
deps = [
":apprtc_common",
diff --git a/webrtc/examples/objc/AppRTCMobile/ARDAppEngineClient.m b/webrtc/examples/objc/AppRTCMobile/ARDAppEngineClient.m
index d707b92..ad7a6c2 100644
--- a/webrtc/examples/objc/AppRTCMobile/ARDAppEngineClient.m
+++ b/webrtc/examples/objc/AppRTCMobile/ARDAppEngineClient.m
@@ -57,29 +57,26 @@
request.HTTPMethod = @"POST";
__weak ARDAppEngineClient *weakSelf = self;
[NSURLConnection sendAsyncRequest:request
- completionHandler:^(NSURLResponse *response,
- NSData *data,
- NSError *error) {
- ARDAppEngineClient *strongSelf = weakSelf;
- if (error) {
- if (completionHandler) {
- completionHandler(nil, error);
- }
- return;
- }
- ARDJoinResponse *joinResponse =
- [ARDJoinResponse responseFromJSONData:data];
- if (!joinResponse) {
- if (completionHandler) {
- NSError *error = [[self class] badResponseError];
- completionHandler(nil, error);
- }
- return;
- }
- if (completionHandler) {
- completionHandler(joinResponse, nil);
- }
- }];
+ completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
+ ARDAppEngineClient *strongSelf = weakSelf;
+ if (error) {
+ if (completionHandler) {
+ completionHandler(nil, error);
+ }
+ return;
+ }
+ ARDJoinResponse *joinResponse = [ARDJoinResponse responseFromJSONData:data];
+ if (!joinResponse) {
+ if (completionHandler) {
+ NSError *error = [[self class] badResponseError];
+ completionHandler(nil, error);
+ }
+ return;
+ }
+ if (completionHandler) {
+ completionHandler(joinResponse, nil);
+ }
+ }];
}
- (void)sendMessage:(ARDSignalingMessage *)message
@@ -138,17 +135,24 @@
NSURL *url = [NSURL URLWithString:urlString];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
request.HTTPMethod = @"POST";
- NSURLResponse *response = nil;
- NSError *error = nil;
+
+ RTCLog(@"C->RS: BYE");
+ __block NSError *error = nil;
+
// We want a synchronous request so that we know that we've left the room on
// room server before we do any further work.
- RTCLog(@"C->RS: BYE");
- [NSURLConnection sendSynchronousRequest:request
- returningResponse:&response
- error:&error];
+ dispatch_semaphore_t sem = dispatch_semaphore_create(0);
+ [NSURLConnection sendAsyncRequest:request
+ completionHandler:^(NSURLResponse *response, NSData *data, NSError *e) {
+ if (e) {
+ error = e;
+ }
+ dispatch_semaphore_signal(sem);
+ }];
+
+ dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
if (error) {
- RTCLogError(@"Error leaving room %@ on room server: %@",
- roomId, error.localizedDescription);
+ RTCLogError(@"Error leaving room %@ on room server: %@", roomId, error.localizedDescription);
if (completionHandler) {
completionHandler(error);
}
diff --git a/webrtc/examples/objc/AppRTCMobile/common/ARDUtilities.m b/webrtc/examples/objc/AppRTCMobile/common/ARDUtilities.m
index c9d029f..0ae44da 100644
--- a/webrtc/examples/objc/AppRTCMobile/common/ARDUtilities.m
+++ b/webrtc/examples/objc/AppRTCMobile/common/ARDUtilities.m
@@ -47,15 +47,13 @@
NSData *data,
NSError *error))completionHandler {
// Kick off an async request which will call back on main thread.
- [NSURLConnection sendAsynchronousRequest:request
- queue:[NSOperationQueue mainQueue]
- completionHandler:^(NSURLResponse *response,
- NSData *data,
- NSError *error) {
- if (completionHandler) {
- completionHandler(response, data, error);
- }
- }];
+ NSURLSession *session = [NSURLSession sharedSession];
+ [[session dataTaskWithRequest:request
+ completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
+ if (completionHandler) {
+ completionHandler(response, data, error);
+ }
+ }] resume];
}
// Posts data to the specified URL.
diff --git a/webrtc/examples/objc/AppRTCMobile/ios/ARDMainViewController.m b/webrtc/examples/objc/AppRTCMobile/ios/ARDMainViewController.m
index 75d454a..dca48b6 100644
--- a/webrtc/examples/objc/AppRTCMobile/ios/ARDMainViewController.m
+++ b/webrtc/examples/objc/AppRTCMobile/ios/ARDMainViewController.m
@@ -255,12 +255,18 @@
}
- (void)showAlertWithMessage:(NSString*)message {
- UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:nil
- message:message
- delegate:nil
- cancelButtonTitle:@"OK"
- otherButtonTitles:nil];
- [alertView show];
+ UIAlertController *alert =
+ [UIAlertController alertControllerWithTitle:nil
+ message:message
+ preferredStyle:UIAlertControllerStyleAlert];
+
+ UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"OK"
+ style:UIAlertActionStyleDefault
+ handler:^(UIAlertAction *action){
+ }];
+
+ [alert addAction:defaultAction];
+ [self presentViewController:alert animated:YES completion:nil];
}
@end
diff --git a/webrtc/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m b/webrtc/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m
index d1ae3f9..cd42514 100644
--- a/webrtc/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m
+++ b/webrtc/examples/objc/AppRTCMobile/ios/ARDVideoCallViewController.m
@@ -35,6 +35,8 @@
}
@synthesize videoCallView = _videoCallView;
+@synthesize localVideoTrack = _localVideoTrack;
+@synthesize remoteVideoTrack = _remoteVideoTrack;
@synthesize delegate = _delegate;
- (instancetype)initForRoom:(NSString *)room
@@ -214,12 +216,18 @@
}
- (void)showAlertWithMessage:(NSString*)message {
- UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:nil
- message:message
- delegate:nil
- cancelButtonTitle:@"OK"
- otherButtonTitles:nil];
- [alertView show];
+ UIAlertController *alert =
+ [UIAlertController alertControllerWithTitle:nil
+ message:message
+ preferredStyle:UIAlertControllerStyleAlert];
+
+ UIAlertAction *defaultAction = [UIAlertAction actionWithTitle:@"OK"
+ style:UIAlertActionStyleDefault
+ handler:^(UIAlertAction *action){
+ }];
+
+ [alert addAction:defaultAction];
+ [self presentViewController:alert animated:YES completion:nil];
}
@end