Skip to content

Commit a281981

Browse files
Yun LiuGerrit Code Review
Yun Liu
authored and
Gerrit Code Review
committed
Merge "List of included changes: - Enable auto zoom feature for MLKit code scanner."
2 parents 1169c8c + 903e970 commit a281981

File tree

5 files changed

+30
-1
lines changed

5 files changed

+30
-1
lines changed

android/codescanner/app/build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ dependencies {
4343
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
4444
implementation 'com.google.android.material:material:1.5.0'
4545

46-
implementation 'com.google.android.gms:play-services-code-scanner:16.0.0-beta3'
46+
implementation 'com.google.android.gms:play-services-code-scanner:16.1.0'
4747

4848
androidTestImplementation 'androidx.test:rules:1.4.0'
4949
androidTestImplementation 'androidx.test:runner:1.4.0'

android/codescanner/app/src/main/java/com/google/mlkit/samples/codescanner/java/MainActivity.java

+11
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,10 @@
3434
public class MainActivity extends AppCompatActivity {
3535

3636
private static final String KEY_ALLOW_MANUAL_INPUT = "allow_manual_input";
37+
private static final String KEY_ENABLE_AUTO_ZOOM = "enable_auto_zoom";
3738

3839
private boolean allowManualInput;
40+
private boolean enableAutoZoom;
3941
private TextView barcodeResultView;
4042

4143
@Override
@@ -50,11 +52,18 @@ public void onAllowManualInputCheckboxClicked(View view) {
5052
allowManualInput = ((CheckBox) view).isChecked();
5153
}
5254

55+
public void onEnableAutoZoomCheckboxClicked(View view) {
56+
enableAutoZoom = ((CheckBox) view).isChecked();
57+
}
58+
5359
public void onScanButtonClicked(View view) {
5460
GmsBarcodeScannerOptions.Builder optionsBuilder = new GmsBarcodeScannerOptions.Builder();
5561
if (allowManualInput) {
5662
optionsBuilder.allowManualInput();
5763
}
64+
if (enableAutoZoom) {
65+
optionsBuilder.enableAutoZoom();
66+
}
5867
GmsBarcodeScanner gmsBarcodeScanner =
5968
GmsBarcodeScanning.getClient(this, optionsBuilder.build());
6069
gmsBarcodeScanner
@@ -69,13 +78,15 @@ public void onScanButtonClicked(View view) {
6978
@Override
7079
protected void onSaveInstanceState(Bundle savedInstanceState) {
7180
savedInstanceState.putBoolean(KEY_ALLOW_MANUAL_INPUT, allowManualInput);
81+
savedInstanceState.putBoolean(KEY_ENABLE_AUTO_ZOOM, enableAutoZoom);
7282
super.onSaveInstanceState(savedInstanceState);
7383
}
7484

7585
@Override
7686
protected void onRestoreInstanceState(Bundle savedInstanceState) {
7787
super.onRestoreInstanceState(savedInstanceState);
7888
allowManualInput = savedInstanceState.getBoolean(KEY_ALLOW_MANUAL_INPUT);
89+
enableAutoZoom = savedInstanceState.getBoolean(KEY_ENABLE_AUTO_ZOOM);
7990
}
8091

8192
private String getSuccessfulMessage(Barcode barcode) {

android/codescanner/app/src/main/java/com/google/mlkit/samples/codescanner/kotlin/MainActivity.kt

+11
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import java.util.Locale
3232
class MainActivity : AppCompatActivity() {
3333

3434
private var allowManualInput = false
35+
private var enableAutoZoom = false
3536
private var barcodeResultView: TextView? = null
3637

3738
override fun onCreate(savedInstanceState: Bundle?) {
@@ -44,11 +45,18 @@ class MainActivity : AppCompatActivity() {
4445
allowManualInput = (view as CheckBox).isChecked
4546
}
4647

48+
fun onEnableAutoZoomCheckboxClicked(view: View) {
49+
enableAutoZoom = (view as CheckBox).isChecked
50+
}
51+
4752
fun onScanButtonClicked(view: View) {
4853
val optionsBuilder = GmsBarcodeScannerOptions.Builder()
4954
if (allowManualInput) {
5055
optionsBuilder.allowManualInput()
5156
}
57+
if (enableAutoZoom) {
58+
optionsBuilder.enableAutoZoom()
59+
}
5260
val gmsBarcodeScanner = GmsBarcodeScanning.getClient(this, optionsBuilder.build())
5361
gmsBarcodeScanner
5462
.startScan()
@@ -63,12 +71,14 @@ class MainActivity : AppCompatActivity() {
6371

6472
override fun onSaveInstanceState(savedInstanceState: Bundle) {
6573
savedInstanceState.putBoolean(KEY_ALLOW_MANUAL_INPUT, allowManualInput)
74+
savedInstanceState.putBoolean(KEY_ENABLE_AUTO_ZOOM, enableAutoZoom)
6675
super.onSaveInstanceState(savedInstanceState)
6776
}
6877

6978
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
7079
super.onRestoreInstanceState(savedInstanceState)
7180
allowManualInput = savedInstanceState.getBoolean(KEY_ALLOW_MANUAL_INPUT)
81+
enableAutoZoom = savedInstanceState.getBoolean(KEY_ENABLE_AUTO_ZOOM)
7282
}
7383

7484
private fun getSuccessfulMessage(barcode: Barcode): String {
@@ -100,5 +110,6 @@ class MainActivity : AppCompatActivity() {
100110

101111
companion object {
102112
private const val KEY_ALLOW_MANUAL_INPUT = "allow_manual_input"
113+
private const val KEY_ENABLE_AUTO_ZOOM = "enable_auto_zoom"
103114
}
104115
}

android/codescanner/app/src/main/res/layout/activity_main.xml

+6
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@
1111
android:layout_height="wrap_content"
1212
android:onClick="onAllowManualInputCheckboxClicked"
1313
android:text="@string/allow_manual_input" />
14+
<CheckBox
15+
android:id="@+id/enable_auto_zoom"
16+
android:layout_width="wrap_content"
17+
android:layout_height="wrap_content"
18+
android:onClick="onEnableAutoZoomCheckboxClicked"
19+
android:text="@string/enable_auto_zoom" />
1420
<Button
1521
android:id="@+id/scan_barcode_button"
1622
android:layout_width="wrap_content"

android/codescanner/app/src/main/res/values/strings.xml

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
<resources>
22
<string name="app_name" translatable="false">Code Scanner Demo</string>
33
<string name="allow_manual_input" translatable="false">Allow input code manually</string>
4+
<string name="enable_auto_zoom" translatable="false">Enable auto-zoom feature</string>
45
<string name="scan_barcode_button" translatable="false">Scan Barcode</string>
56
<string name="barcode_result" translatable="false">Barcode detected.\n%1$s</string>
67
<string name="error_scanner_cancelled" translatable="false">Code scanner is cancelled.</string>

0 commit comments

Comments
 (0)