mirror of
				https://github.com/inventree/inventree-app.git
				synced 2025-10-31 13:25:40 +00:00 
			
		
		
		
	Fix recreation of scanned data
- Ensure RS and GS characters are correctly observed
This commit is contained in:
		| @@ -1,4 +1,6 @@ | |||||||
| import "dart:math"; | import "dart:math"; | ||||||
|  | import "dart:typed_data"; | ||||||
|  |  | ||||||
| import "package:flutter/material.dart"; | import "package:flutter/material.dart"; | ||||||
| import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; | import "package:flutter_tabler_icons/flutter_tabler_icons.dart"; | ||||||
| import "package:inventree/app_colors.dart"; | import "package:inventree/app_colors.dart"; | ||||||
| @@ -93,17 +95,36 @@ class _CameraBarcodeControllerState extends InvenTreeBarcodeControllerState { | |||||||
|       return; |       return; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     String barcode_data = code?.text ?? ""; |     Uint8List raw_data = code?.rawBytes ?? Uint8List(0); | ||||||
|  |  | ||||||
|  |     // Reconstruct barcode from raw data | ||||||
|  |     String barcode; | ||||||
|  |  | ||||||
|  |     if (raw_data.isNotEmpty) { | ||||||
|  |       barcode = ""; | ||||||
|  |  | ||||||
|  |       final buffer = StringBuffer(); | ||||||
|  |  | ||||||
|  |       for (int i = 0; i < raw_data.length; i++) { | ||||||
|  |         buffer.writeCharCode(raw_data[i]); | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       barcode = buffer.toString(); | ||||||
|  |  | ||||||
|  |     } else { | ||||||
|  |       barcode = code?.text ?? ""; | ||||||
|  |     } | ||||||
|  |  | ||||||
|     if (mounted) { |     if (mounted) { | ||||||
|       setState(() { |       setState(() { | ||||||
|         scanned_code = barcode_data; |         scanned_code = barcode; | ||||||
|         scanning_paused = barcode_data.isNotEmpty; |         scanning_paused = barcode.isNotEmpty; | ||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     if (barcode_data.isNotEmpty) { |     if (barcode.isNotEmpty) { | ||||||
|       handleBarcodeData(barcode_data).then((_) { |  | ||||||
|  |       handleBarcodeData(barcode).then((_) { | ||||||
|         if (!single_scanning && mounted) { |         if (!single_scanning && mounted) { | ||||||
|           // Resume next scan |           // Resume next scan | ||||||
|           setState(() { |           setState(() { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user