From 6dc26619b57e051be0b34cd2b8b5e57f437d75af Mon Sep 17 00:00:00 2001 From: Andre Kirchhoff Date: Wed, 17 Nov 2021 15:46:14 -0300 Subject: [PATCH 1/7] fix Mapbox lib attempt#1 --- .github/workflows/android.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 6023a8552..f6654c50a 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -14,9 +14,6 @@ jobs: with: submodules: true - name: Loading secrets - env: - gservices: ${{ secrets.gservices }} - mapboxtoken: ${{ secrets.mapboxtoken }} run: | # not yet needed echo $gservices > ./app/google-services.json rm ./app/google-services.json @@ -25,10 +22,13 @@ jobs: rm ./app/src/main/res/values/mapbox-token.xml cp ./app/special/mapbox-token.xml ./app/src/main/res/values/ # The following would not be valid XML, don't use yet - # echo $mapboxtoken > ./app/src/main/res/values/mapbox-token.xml + # echo $MAPBOXTOKEN > ./app/src/main/res/values/mapbox-token.xml mkdir -p ~/.gradle - echo "MAPBOX_DOWNLOADS_TOKEN=$mapboxtoken" >>~/.gradle/gradle.properties + echo "MAPBOX_DOWNLOADS_TOKEN=$MAPBOXTOKEN" >>~/.gradle/gradle.properties + env: + gservices: ${{ secrets.gservices }} + mapboxtoken: ${{ secrets.mapboxtoken }} - name: Mock curfirmware version for CI run: | rm ./app/src/main/res/values/curfirmwareversion.xml From 65d11b6bb7183cd736ebf7ef798da39371985e32 Mon Sep 17 00:00:00 2001 From: Andre Kirchhoff Date: Wed, 17 Nov 2021 16:13:23 -0300 Subject: [PATCH 2/7] Mapbox fix attempt #2 --- .github/workflows/android.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index f6654c50a..898a31ae7 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -28,7 +28,7 @@ jobs: echo "MAPBOX_DOWNLOADS_TOKEN=$MAPBOXTOKEN" >>~/.gradle/gradle.properties env: gservices: ${{ secrets.gservices }} - mapboxtoken: ${{ secrets.mapboxtoken }} + MAPBOXTOKEN: ${{ secrets.MAPBOXTOKEN }} - name: Mock curfirmware version for CI run: | rm ./app/src/main/res/values/curfirmwareversion.xml From 3ecc247c76b601ad910353bbe9fa3e754adccde3 Mon Sep 17 00:00:00 2001 From: andrekir Date: Mon, 15 Nov 2021 10:54:10 -0300 Subject: [PATCH 3/7] QR Code scanning with camera --- app/src/main/AndroidManifest.xml | 13 ++++--- .../com/geeksville/mesh/ui/ChannelFragment.kt | 36 ++++++++++++++++++- app/src/main/res/layout/channel_fragment.xml | 22 ++++++++---- 3 files changed, 59 insertions(+), 12 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4f56cb1ec..016006d7b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -50,11 +50,8 @@ - - - + + + + + @@ -287,4 +300,25 @@ class ChannelFragment : ScreenFragment("Channel"), Logging { return ChannelProtos.ChannelSettings.ModemConfig.UNRECOGNIZED } -} + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + val result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data) + if (result != null) { + if (result.contents == null) { + Snackbar.make(binding.scanButton, R.string.channel_invalid, Snackbar.LENGTH_LONG).show() + } else { + try { + val intent = Intent(Intent.ACTION_VIEW) + intent.data = ChannelSet(Uri.parse(result.contents)).getChannelUrl(false) + startActivity(intent) + } catch (ex: ActivityNotFoundException) { + Snackbar.make(binding.scanButton, R.string.channel_invalid, Snackbar.LENGTH_LONG).show() + } catch (ex: MalformedURLException) { + Snackbar.make(binding.scanButton, R.string.channel_invalid, Snackbar.LENGTH_LONG).show() + } + } + } else { + super.onActivityResult(requestCode, resultCode, data) + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/channel_fragment.xml b/app/src/main/res/layout/channel_fragment.xml index af5ea0dbb..d916757ca 100644 --- a/app/src/main/res/layout/channel_fragment.xml +++ b/app/src/main/res/layout/channel_fragment.xml @@ -98,30 +98,40 @@ android:id="@+id/resetButton" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginStart="32dp" + android:layout_marginEnd="10dp" android:text="@string/reset" app:icon="@drawable/ic_twotone_public_24" app:layout_constraintBottom_toBottomOf="@id/bottomButtonsGuideline" - app:layout_constraintStart_toStartOf="parent" /> + app:layout_constraintEnd_toStartOf="@id/editableCheckbox" /> + +