Rebuild camera preview when camera value changes (#4197)

diff --git a/packages/camera/camera/CHANGELOG.md b/packages/camera/camera/CHANGELOG.md
index 9915655..d455ddb 100644
--- a/packages/camera/camera/CHANGELOG.md
+++ b/packages/camera/camera/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.8.1+7
+
+* Fix device orientation sometimes not affecting the camera preview orientation.
+
 ## 0.8.1+6
 
 * Remove references to the Android V1 embedding.
diff --git a/packages/camera/camera/lib/src/camera_preview.dart b/packages/camera/camera/lib/src/camera_preview.dart
index e2f1ff9..ad3175a 100644
--- a/packages/camera/camera/lib/src/camera_preview.dart
+++ b/packages/camera/camera/lib/src/camera_preview.dart
@@ -21,17 +21,23 @@
   @override
   Widget build(BuildContext context) {
     return controller.value.isInitialized
-        ? AspectRatio(
-            aspectRatio: _isLandscape()
-                ? controller.value.aspectRatio
-                : (1 / controller.value.aspectRatio),
-            child: Stack(
-              fit: StackFit.expand,
-              children: [
-                _wrapInRotatedBox(child: controller.buildPreview()),
-                child ?? Container(),
-              ],
-            ),
+        ? ValueListenableBuilder(
+            valueListenable: controller,
+            builder: (context, value, child) {
+              return AspectRatio(
+                aspectRatio: _isLandscape()
+                    ? controller.value.aspectRatio
+                    : (1 / controller.value.aspectRatio),
+                child: Stack(
+                  fit: StackFit.expand,
+                  children: [
+                    _wrapInRotatedBox(child: controller.buildPreview()),
+                    child ?? Container(),
+                  ],
+                ),
+              );
+            },
+            child: child,
           )
         : Container();
   }
diff --git a/packages/camera/camera/pubspec.yaml b/packages/camera/camera/pubspec.yaml
index 56df2ca..5716165 100644
--- a/packages/camera/camera/pubspec.yaml
+++ b/packages/camera/camera/pubspec.yaml
@@ -4,7 +4,7 @@
   and streaming image buffers to dart.
 repository: https://github.com/flutter/plugins/tree/master/packages/camera/camera
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+camera%22
-version: 0.8.1+6
+version: 0.8.1+7
 
 environment:
   sdk: ">=2.12.0 <3.0.0"