summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--build.gradle2
-rw-r--r--ui/src/main/AndroidManifest.xml3
-rw-r--r--ui/src/main/java/com/wireguard/android/fragment/TunnelListFragment.kt20
3 files changed, 11 insertions, 14 deletions
diff --git a/build.gradle b/build.gradle
index 2bda0118..336c4631 100644
--- a/build.gradle
+++ b/build.gradle
@@ -17,7 +17,7 @@ buildscript {
lifecycleRuntimeKtxVersion = '2.3.1'
materialComponentsVersion = '1.4.0'
preferenceVersion = '1.1.1'
- zxingEmbeddedVersion = '4.2.0'
+ zxingEmbeddedVersion = '4.3.0'
groupName = 'com.wireguard.android'
}
diff --git a/ui/src/main/AndroidManifest.xml b/ui/src/main/AndroidManifest.xml
index ce527498..4c957bd7 100644
--- a/ui/src/main/AndroidManifest.xml
+++ b/ui/src/main/AndroidManifest.xml
@@ -29,9 +29,6 @@
android:label="@string/permission_label"
android:protectionLevel="dangerous" />
- <!-- This is safe to override, the APIs we use work perfectly fine on Android 6 -->
- <uses-sdk tools:overrideLibrary="com.google.zxing.client.android" />
-
<application
android:name=".Application"
android:allowBackup="false"
diff --git a/ui/src/main/java/com/wireguard/android/fragment/TunnelListFragment.kt b/ui/src/main/java/com/wireguard/android/fragment/TunnelListFragment.kt
index c76ca6ac..eb24658a 100644
--- a/ui/src/main/java/com/wireguard/android/fragment/TunnelListFragment.kt
+++ b/ui/src/main/java/com/wireguard/android/fragment/TunnelListFragment.kt
@@ -21,7 +21,8 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.view.ActionMode
import androidx.lifecycle.lifecycleScope
import com.google.android.material.snackbar.Snackbar
-import com.google.zxing.integration.android.IntentIntegrator
+import com.journeyapps.barcodescanner.ScanContract
+import com.journeyapps.barcodescanner.ScanOptions
import com.wireguard.android.Application
import com.wireguard.android.R
import com.wireguard.android.activity.TunnelCreatorActivity
@@ -55,12 +56,12 @@ class TunnelListFragment : BaseFragment() {
}
}
- private val qrImportResultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
- val qrCode = IntentIntegrator.parseActivityResult(result.resultCode, result.data)?.contents
- ?: return@registerForActivityResult
- val activity = activity ?: return@registerForActivityResult
- val fragManager = parentFragmentManager
- activity.lifecycleScope.launch { TunnelImporter.importTunnel(fragManager, qrCode) { showSnackbar(it) } }
+ private val qrImportResultLauncher = registerForActivityResult(ScanContract()) { result ->
+ val qrCode = result.contents
+ val activity = activity
+ if (qrCode != null && activity != null) {
+ activity.lifecycleScope.launch { TunnelImporter.importTunnel(parentFragmentManager, qrCode) { showSnackbar(it) } }
+ }
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
@@ -89,11 +90,10 @@ class TunnelListFragment : BaseFragment() {
tunnelFileImportResultLauncher.launch("*/*")
}
AddTunnelsSheet.REQUEST_SCAN -> {
- qrImportResultLauncher.launch(IntentIntegrator(requireActivity())
+ qrImportResultLauncher.launch(ScanOptions()
.setOrientationLocked(false)
.setBeepEnabled(false)
- .setPrompt(getString(R.string.qr_code_hint))
- .createScanIntent())
+ .setPrompt(getString(R.string.qr_code_hint)))
}
}
}