Ryan Duffy
Committed by GitHub

Merge branch 'master' into mac_os_fixes

@@ -12,4 +12,4 @@ jobs: @@ -12,4 +12,4 @@ jobs:
12 assign-author: 12 assign-author:
13 runs-on: ubuntu-latest 13 runs-on: ubuntu-latest
14 steps: 14 steps:
15 - - uses: toshimaru/auto-author-assign@v1.6.2 15 + - uses: toshimaru/auto-author-assign@v2.0.1
@@ -11,8 +11,8 @@ jobs: @@ -11,8 +11,8 @@ jobs:
11 analysis: 11 analysis:
12 runs-on: ubuntu-latest 12 runs-on: ubuntu-latest
13 steps: 13 steps:
14 - - uses: actions/checkout@v4.0.0  
15 - - uses: actions/setup-java@v3.12.0 14 + - uses: actions/checkout@v4.1.0
  15 + - uses: actions/setup-java@v3.13.0
16 with: 16 with:
17 java-version: 11 17 java-version: 11
18 distribution: temurin 18 distribution: temurin
@@ -28,8 +28,8 @@ jobs: @@ -28,8 +28,8 @@ jobs:
28 formatting: 28 formatting:
29 runs-on: ubuntu-latest 29 runs-on: ubuntu-latest
30 steps: 30 steps:
31 - - uses: actions/checkout@v4.0.0  
32 - - uses: actions/setup-java@v3.12.0 31 + - uses: actions/checkout@v4.1.0
  32 + - uses: actions/setup-java@v3.13.0
33 with: 33 with:
34 java-version: 11 34 java-version: 11
35 distribution: temurin 35 distribution: temurin
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 release-please: 7 release-please:
8 runs-on: ubuntu-latest 8 runs-on: ubuntu-latest
9 steps: 9 steps:
10 - - uses: GoogleCloudPlatform/release-please-action@v3.7.11 10 + - uses: GoogleCloudPlatform/release-please-action@v3.7.12
11 with: 11 with:
12 token: ${{ secrets.GITHUB_TOKEN }} 12 token: ${{ secrets.GITHUB_TOKEN }}
13 release-type: simple 13 release-type: simple
@@ -9,7 +9,7 @@ buildscript { @@ -9,7 +9,7 @@ buildscript {
9 } 9 }
10 10
11 dependencies { 11 dependencies {
12 - classpath 'com.android.tools.build:gradle:8.1.1' 12 + classpath 'com.android.tools.build:gradle:8.1.2'
13 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 13 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
14 } 14 }
15 } 15 }
@@ -6,7 +6,7 @@ buildscript { @@ -6,7 +6,7 @@ buildscript {
6 } 6 }
7 7
8 dependencies { 8 dependencies {
9 - classpath 'com.android.tools.build:gradle:8.1.1' 9 + classpath 'com.android.tools.build:gradle:8.1.2'
10 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 10 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11 } 11 }
12 } 12 }
@@ -248,36 +248,38 @@ class _MobileScannerState extends State<MobileScanner> @@ -248,36 +248,38 @@ class _MobileScannerState extends State<MobileScanner>
248 248
249 @override 249 @override
250 Widget build(BuildContext context) { 250 Widget build(BuildContext context) {
251 - final Size size = MediaQuery.of(context).size;  
252 -  
253 - return ValueListenableBuilder<MobileScannerArguments?>(  
254 - valueListenable: _controller.startArguments,  
255 - builder: (context, value, child) {  
256 - if (value == null) {  
257 - return _buildPlaceholderOrError(context, child);  
258 - }  
259 -  
260 - if (widget.scanWindow != null && scanWindow == null) {  
261 - scanWindow = calculateScanWindowRelativeToTextureInPercentage(  
262 - widget.fit,  
263 - widget.scanWindow!,  
264 - value.size,  
265 - size,  
266 - );  
267 -  
268 - _controller.updateScanWindow(scanWindow);  
269 - }  
270 - if (widget.overlay != null) {  
271 - return Stack(  
272 - alignment: Alignment.center,  
273 - children: [  
274 - _scanner(value.size, value.webId, value.textureId),  
275 - widget.overlay!,  
276 - ],  
277 - );  
278 - } else {  
279 - return _scanner(value.size, value.webId, value.textureId);  
280 - } 251 + return LayoutBuilder(
  252 + builder: (context, constraints) {
  253 + return ValueListenableBuilder<MobileScannerArguments?>(
  254 + valueListenable: _controller.startArguments,
  255 + builder: (context, value, child) {
  256 + if (value == null) {
  257 + return _buildPlaceholderOrError(context, child);
  258 + }
  259 +
  260 + if (widget.scanWindow != null && scanWindow == null) {
  261 + scanWindow = calculateScanWindowRelativeToTextureInPercentage(
  262 + widget.fit,
  263 + widget.scanWindow!,
  264 + value.size,
  265 + Size(constraints.maxWidth, constraints.maxHeight),
  266 + );
  267 +
  268 + _controller.updateScanWindow(scanWindow);
  269 + }
  270 + if (widget.overlay != null) {
  271 + return Stack(
  272 + alignment: Alignment.center,
  273 + children: [
  274 + _scanner(value.size, value.webId, value.textureId),
  275 + widget.overlay!,
  276 + ],
  277 + );
  278 + } else {
  279 + return _scanner(value.size, value.webId, value.textureId);
  280 + }
  281 + },
  282 + );
281 }, 283 },
282 ); 284 );
283 } 285 }