Skip to content

Commit b8bead4

Browse files
committed
Don't show QR code scan button on devices without cameras
1 parent 23b03fa commit b8bead4

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

app/src/main/java/tech/httptoolkit/android/MainActivity.kt

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -238,11 +238,18 @@ class MainActivity : AppCompatActivity(), CoroutineScope by MainScope() {
238238
when (mainState) {
239239
MainState.DISCONNECTED -> {
240240
statusText.setText(R.string.disconnected_status)
241+
buttonContainer.visibility = View.VISIBLE
241242

242-
detailContainer.addView(detailText(R.string.disconnected_details))
243+
val hasCamera = this.packageManager
244+
.hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY)
243245

244-
buttonContainer.visibility = View.VISIBLE
245-
buttonContainer.addView(primaryButton(R.string.scan_button, ::scanCode))
246+
if (hasCamera) {
247+
detailContainer.addView(detailText(R.string.disconnected_details))
248+
val scanQrButton = primaryButton(R.string.scan_button, ::scanCode)
249+
buttonContainer.addView(scanQrButton)
250+
} else {
251+
detailContainer.addView(detailText(R.string.disconnected_no_camera_details))
252+
}
246253

247254
val lastProxy = app.lastProxy
248255
if (lastProxy != null) {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<string name="connected_status">Connected</string>
1212
<string name="failed_status">Oh no!</string>
1313

14-
<string name="disconnected_details">To intercept this device, start HTTP Toolkit on your computer, and activate Android interception there via QR code or using ADB.
15-
</string>
14+
<string name="disconnected_details">To intercept this device, start HTTP Toolkit on your computer, and activate Android interception there via QR code or using ADB.</string>
15+
<string name="disconnected_no_camera_details">To intercept this device, start HTTP Toolkit on your computer, and activate Android interception there using the ADB or Frida options.</string>
1616

1717
<string name="connected_details">to %s on port %d</string>
1818
<string name="connected_tunnel_details">via ADB tunnel</string>

0 commit comments

Comments
 (0)