aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Crozat2019-08-04 16:14:46 +0100
committerThierry Crozat2019-08-04 19:03:34 +0100
commitc505a7b4bb14c532a2f343fd27032bd97ad716b7 (patch)
tree33c6302ae18e458deb1a1e0ef50e31c7219b9e8b
parent0ddcb9de7bd72ca2db82d12c1d9d56493169766b (diff)
downloadscummvm-rg350-c505a7b4bb14c532a2f343fd27032bd97ad716b7.tar.gz
scummvm-rg350-c505a7b4bb14c532a2f343fd27032bd97ad716b7.tar.bz2
scummvm-rg350-c505a7b4bb14c532a2f343fd27032bd97ad716b7.zip
IOS7: Implement opening a URL
-rw-r--r--backends/platform/ios7/ios7_osys_main.cpp1
-rw-r--r--backends/platform/ios7/ios7_osys_main.h2
-rw-r--r--backends/platform/ios7/ios7_osys_video.mm13
3 files changed, 16 insertions, 0 deletions
diff --git a/backends/platform/ios7/ios7_osys_main.cpp b/backends/platform/ios7/ios7_osys_main.cpp
index 6f69e20d70..07af3118c2 100644
--- a/backends/platform/ios7/ios7_osys_main.cpp
+++ b/backends/platform/ios7/ios7_osys_main.cpp
@@ -173,6 +173,7 @@ bool OSystem_iOS7::hasFeature(Feature f) {
case kFeatureFilteringMode:
case kFeatureVirtualKeyboard:
case kFeatureClipboardSupport:
+ case kFeatureOpenUrl:
return true;
default:
diff --git a/backends/platform/ios7/ios7_osys_main.h b/backends/platform/ios7/ios7_osys_main.h
index 6555125737..4fb3049d75 100644
--- a/backends/platform/ios7/ios7_osys_main.h
+++ b/backends/platform/ios7/ios7_osys_main.h
@@ -210,6 +210,8 @@ public:
virtual Common::String getTextFromClipboard();
virtual bool setTextInClipboard(const Common::String &text);
+ virtual bool openUrl(const Common::String &url);
+
protected:
void initVideoContext();
void updateOutputSurface();
diff --git a/backends/platform/ios7/ios7_osys_video.mm b/backends/platform/ios7/ios7_osys_video.mm
index 05093e5428..f0a7db6265 100644
--- a/backends/platform/ios7/ios7_osys_video.mm
+++ b/backends/platform/ios7/ios7_osys_video.mm
@@ -642,3 +642,16 @@ bool OSystem_iOS7::setTextInClipboard(const Common::String &text) {
[pb setString:[NSString stringWithCString:text.c_str() encoding:encoding]];
return true;
}
+
+bool OSystem_iOS7::openUrl(const Common::String &url) {
+ UIApplication *application = [UIApplication sharedApplication];
+ NSURL *nsurl = [NSURL URLWithString:[NSString stringWithCString:url.c_str() encoding:NSISOLatin1StringEncoding]];
+ // The way to oipen a URL has changed in iOS 10. Check if the iOS 10 method is recognized
+ // and otherwise use the old method.
+ if ([application respondsToSelector:@selector(openURL:options:completionHandler:)]) {
+ [application openURL:nsurl options:@{} completionHandler:nil];
+ return true;
+ } else {
+ return [application openURL:nsurl];
+ }
+}