[image_picker] Add web support to the example app. (#2816)
diff --git a/packages/image_picker/image_picker/CHANGELOG.md b/packages/image_picker/image_picker/CHANGELOG.md
index a72e3bc..e3856c2 100644
--- a/packages/image_picker/image_picker/CHANGELOG.md
+++ b/packages/image_picker/image_picker/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.6.7+1
+
+* Add web support to the example app.
+
## 0.6.7
* Utilize the new platform_interface package.
diff --git a/packages/image_picker/image_picker/example/lib/main.dart b/packages/image_picker/image_picker/example/lib/main.dart
index 231dcb2..dff2906 100755
--- a/packages/image_picker/image_picker/example/lib/main.dart
+++ b/packages/image_picker/image_picker/example/lib/main.dart
@@ -52,7 +52,11 @@
Future<void> _playVideo(PickedFile file) async {
if (file != null && mounted) {
await _disposeVideoController();
- _controller = VideoPlayerController.file(File(file.path));
+ if (kIsWeb) {
+ _controller = VideoPlayerController.network(file.path);
+ } else {
+ _controller = VideoPlayerController.file(File(file.path));
+ }
await _controller.setVolume(1.0);
await _controller.initialize();
await _controller.setLooping(true);
@@ -139,7 +143,13 @@
return retrieveError;
}
if (_imageFile != null) {
- return Image.file(File(_imageFile.path));
+ if (kIsWeb) {
+ // Why network?
+ // See https://pub.dev/packages/image_picker#getting-ready-for-the-web-platform
+ return Image.network(_imageFile.path);
+ } else {
+ return Image.file(File(_imageFile.path));
+ }
} else if (_pickImageError != null) {
return Text(
'Pick image error: $_pickImageError',
@@ -180,7 +190,7 @@
title: Text(widget.title),
),
body: Center(
- child: defaultTargetPlatform == TargetPlatform.android
+ child: !kIsWeb && defaultTargetPlatform == TargetPlatform.android
? FutureBuilder<void>(
future: retrieveLostData(),
builder: (BuildContext context, AsyncSnapshot<void> snapshot) {
diff --git a/packages/image_picker/image_picker/example/pubspec.yaml b/packages/image_picker/image_picker/example/pubspec.yaml
index f3171aa..93df8df 100755
--- a/packages/image_picker/image_picker/example/pubspec.yaml
+++ b/packages/image_picker/image_picker/example/pubspec.yaml
@@ -9,6 +9,7 @@
flutter_plugin_android_lifecycle: ^1.0.2
image_picker:
path: ../
+ image_picker_for_web: ^0.1.0
dev_dependencies:
flutter_driver:
diff --git a/packages/image_picker/image_picker/example/web/favicon.png b/packages/image_picker/image_picker/example/web/favicon.png
new file mode 100644
index 0000000..8aaa46a
--- /dev/null
+++ b/packages/image_picker/image_picker/example/web/favicon.png
Binary files differ
diff --git a/packages/image_picker/image_picker/example/web/icons/Icon-192.png b/packages/image_picker/image_picker/example/web/icons/Icon-192.png
new file mode 100644
index 0000000..b749bfe
--- /dev/null
+++ b/packages/image_picker/image_picker/example/web/icons/Icon-192.png
Binary files differ
diff --git a/packages/image_picker/image_picker/example/web/icons/Icon-512.png b/packages/image_picker/image_picker/example/web/icons/Icon-512.png
new file mode 100644
index 0000000..88cfd48
--- /dev/null
+++ b/packages/image_picker/image_picker/example/web/icons/Icon-512.png
Binary files differ
diff --git a/packages/image_picker/image_picker/example/web/index.html b/packages/image_picker/image_picker/example/web/index.html
new file mode 100644
index 0000000..787bbc7
--- /dev/null
+++ b/packages/image_picker/image_picker/example/web/index.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+<head>
+ <meta charset="UTF-8">
+ <meta content="IE=Edge" http-equiv="X-UA-Compatible">
+ <meta name="description" content="An example of the image_picker on the web.">
+
+ <!-- iOS meta tags & icons -->
+ <meta name="apple-mobile-web-app-capable" content="yes">
+ <meta name="apple-mobile-web-app-status-bar-style" content="black">
+ <meta name="apple-mobile-web-app-title" content="example">
+ <link rel="apple-touch-icon" href="icons/Icon-192.png">
+
+ <!-- Favicon -->
+ <link rel="shortcut icon" type="image/png" href="favicon.png"/>
+
+ <title>url_launcher web example</title>
+ <link rel="manifest" href="manifest.json">
+</head>
+<body>
+ <!-- This script installs service_worker.js to provide PWA functionality to
+ application. For more information, see:
+ https://developers.google.com/web/fundamentals/primers/service-workers -->
+ <!-- <script>
+ if ('serviceWorker' in navigator) {
+ window.addEventListener('load', function () {
+ navigator.serviceWorker.register('flutter_service_worker.js');
+ });
+ }
+ </script> -->
+ <script src="main.dart.js" type="application/javascript"></script>
+</body>
+</html>
diff --git a/packages/image_picker/image_picker/example/web/manifest.json b/packages/image_picker/image_picker/example/web/manifest.json
new file mode 100644
index 0000000..7d9c256
--- /dev/null
+++ b/packages/image_picker/image_picker/example/web/manifest.json
@@ -0,0 +1,23 @@
+{
+ "name": "image_picker example",
+ "short_name": "image_picker",
+ "start_url": ".",
+ "display": "minimal-ui",
+ "background_color": "#0175C2",
+ "theme_color": "#0175C2",
+ "description": "An example of the image_picker on the web.",
+ "orientation": "portrait-primary",
+ "prefer_related_applications": false,
+ "icons": [
+ {
+ "src": "icons/Icon-192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "icons/Icon-512.png",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ]
+}
diff --git a/packages/image_picker/image_picker/pubspec.yaml b/packages/image_picker/image_picker/pubspec.yaml
index 51069b6..9086028 100755
--- a/packages/image_picker/image_picker/pubspec.yaml
+++ b/packages/image_picker/image_picker/pubspec.yaml
@@ -2,7 +2,7 @@
description: Flutter plugin for selecting images from the Android and iOS image
library, and taking new pictures with the camera.
homepage: https://github.com/flutter/plugins/tree/master/packages/image_picker/image_picker
-version: 0.6.7
+version: 0.6.7+1
flutter:
plugin: