Add SystemNavigator.pop (flutter/engine#3130)

This method will let us remove the activity service.
This commit is contained in:
Adam Barth
2016-10-13 14:39:03 -07:00
committed by GitHub
parent d7e000f83e
commit cec1a1e428
2 changed files with 12 additions and 0 deletions

View File

@@ -51,6 +51,8 @@ public class PlatformPlugin extends JSONMessageListener implements ActivityLifec
setSystemChromeEnabledSystemUIOverlays(args.getJSONArray(0));
} else if (method.equals("SystemChrome.setSystemUIOverlayStyle")) {
setSystemChromeSystemUIOverlayStyle(args.getString(0));
} else if (method.equals("SystemNavigator.pop")) {
popSystemNavigator();
} else if (method.equals("PathProvider.getTemporaryDirectory")) {
return getPathProviderTemporaryDirectory();
} else if (method.equals("PathProvider.getApplicationDocumentsDirectory")) {
@@ -160,6 +162,10 @@ public class PlatformPlugin extends JSONMessageListener implements ActivityLifec
// so LIGHT vs DARK effectively isn't supported in Android.
}
private void popSystemNavigator() {
mActivity.finish();
}
private JSONObject getPathProviderTemporaryDirectory() throws JSONException {
JSONObject result = new JSONObject();
result.put("path", mActivity.getCacheDir().getPath());

View File

@@ -56,6 +56,8 @@ using namespace shell;
[self setSystemChromeEnabledSystemUIOverlays:args.firstObject];
} else if ([method isEqualToString:@"SystemChrome.setSystemUIOverlayStyle"]) {
[self setSystemChromeSystemUIOverlayStyle:args.firstObject];
} else if ([method isEqualToString:@"SystemNavigator.pop"]) {
[self popSystemNavigator];
} else if ([method isEqualToString:@"PathProvider.getTemporaryDirectory"]) {
return [self getPathProviderTemporaryDirectory];
} else if ([method isEqualToString:@"PathProvider.getApplicationDocumentsDirectory"]) {
@@ -160,6 +162,10 @@ using namespace shell;
}
}
- (void)popSystemNavigator {
// Apple's human user guidelines say not to terminate iOS applications.
}
- (NSDictionary*)getPathProviderTemporaryDirectory {
return GetDirectoryOfType(NSCachesDirectory);
}