diff --git a/metadata/de.westnordost.streetcomplete.yml b/metadata/de.westnordost.streetcomplete.yml
index 20ba9c9f17..33e1c979dc 100644
--- a/metadata/de.westnordost.streetcomplete.yml
+++ b/metadata/de.westnordost.streetcomplete.yml
@@ -1014,109 +1014,29 @@ Builds:
prebuild: sed -i -e '/keystorePropertiesFile.*{/,/}/d; /keystorePropertiesFile/d'
build.gradle.kts
- - versionName: '43.0'
- versionCode: 4301
- disable: https://github.com/streetcomplete/StreetComplete/issues/4289
- commit: f48576c3ca04c98b880d0fa923ffb87b14292eb4
- subdir: app
- sudo:
- - apt-get update || apt-get update
- - apt-get install -y openjdk-11-jdk-headless
- - update-alternatives --auto java
- gradle:
- - yes
- prebuild: sed -i -e '/keystorePropertiesFile.*{/,/}/d; /keystorePropertiesFile/d'
- build.gradle.kts
-
- - versionName: '43.1'
- versionCode: 4302
- disable: https://github.com/streetcomplete/StreetComplete/issues/4289
- commit: 783698a85b47848e8afa40fae0efa48e5a6f8e6b
- subdir: app
- sudo:
- - apt-get update || apt-get update
- - apt-get install -y openjdk-11-jdk-headless
- - update-alternatives --auto java
- gradle:
- - yes
- prebuild: sed -i -e '/keystorePropertiesFile.*{/,/}/d; /keystorePropertiesFile/d'
- build.gradle.kts
-
- - versionName: '43.2'
- versionCode: 4303
- disable: https://github.com/streetcomplete/StreetComplete/issues/4289
- commit: b3154dd5cfa24118a1030011222d0dd4140e32c0
- subdir: app
- sudo:
- - apt-get update || apt-get update
- - apt-get install -y openjdk-11-jdk-headless
- - update-alternatives --auto java
- gradle:
- - yes
- prebuild: sed -i -e '/keystorePropertiesFile.*{/,/}/d; /keystorePropertiesFile/d'
- build.gradle.kts
-
- - versionName: '44.1'
- versionCode: 4402
- disable: https://github.com/streetcomplete/StreetComplete/issues/4289
- commit: db27e4a60aed83f7e54530aa96c45c827863d4fe
+ - versionName: '46.1'
+ versionCode: 4602
+ commit: a4d68fecc300b1062b9aaa0b961ebe847af9f598
subdir: app
sudo:
- apt-get update || apt-get update
- apt-get install -y openjdk-11-jdk-headless
- update-alternatives --auto java
+ patch:
+ - streetcomplete-remove-arcore.patch
gradle:
- yes
+ rm:
+ - app/src/main/java/de/westnordost/streetcomplete/screens/measure/ArCoreSessionCreator.kt
+ - app/src/main/java/de/westnordost/streetcomplete/screens/measure/ArCoreXt.kt
+ - app/src/main/java/de/westnordost/streetcomplete/screens/measure/MeasureActivity.kt
+ - app/src/main/java/de/westnordost/streetcomplete/screens/measure/TakeMeasurementLauncher.kt
prebuild:
- sed -i -e 's/java.net.URI/uri/' ../build.gradle.kts
- sed -i -e '/keystorePropertiesFile.*{/,/}/d; /keystorePropertiesFile/d' build.gradle.kts
+ - sed -i -e '/com\.google\.ar/d' build.gradle.kts
- - versionName: '45.0'
- versionCode: 4502
- disable: https://github.com/streetcomplete/StreetComplete/issues/4289
- commit: 3797d60574719d1a14191b902c5051846f3f940f
- subdir: app
- sudo:
- - apt-get update || apt-get update
- - apt-get install -y openjdk-11-jdk-headless
- - update-alternatives --auto java
- gradle:
- - yes
- prebuild:
- - sed -i -e 's/java.net.URI/uri/' ../build.gradle.kts
- - sed -i -e '/keystorePropertiesFile.*{/,/}/d; /keystorePropertiesFile/d' build.gradle.kts
-
- - versionName: '45.1'
- versionCode: 4503
- disable: https://github.com/streetcomplete/StreetComplete/issues/4289
- commit: 31f2a8a972a74e9743f3d10b113334020bd9ab55
- subdir: app
- sudo:
- - apt-get update || apt-get update
- - apt-get install -y openjdk-11-jdk-headless
- - update-alternatives --auto java
- gradle:
- - yes
- prebuild:
- - sed -i -e 's/java.net.URI/uri/' ../build.gradle.kts
- - sed -i -e '/keystorePropertiesFile.*{/,/}/d; /keystorePropertiesFile/d' build.gradle.kts
-
- - versionName: '45.2'
- versionCode: 4504
- disable: https://github.com/streetcomplete/StreetComplete/issues/4289
- commit: b31b75a7456a68507ad07e6424e2a917ea95e179
- subdir: app
- sudo:
- - apt-get update || apt-get update
- - apt-get install -y openjdk-11-jdk-headless
- - update-alternatives --auto java
- gradle:
- - yes
- prebuild:
- - sed -i -e 's/java.net.URI/uri/' ../build.gradle.kts
- - sed -i -e '/keystorePropertiesFile.*{/,/}/d; /keystorePropertiesFile/d' build.gradle.kts
-
-AutoUpdateMode: None
+AutoUpdateMode: Version v%v
UpdateCheckMode: Tags ^v\d+(\.\d+)?$
CurrentVersion: '46.1'
CurrentVersionCode: 4602
diff --git a/metadata/de.westnordost.streetcomplete/streetcomplete-remove-arcore.patch b/metadata/de.westnordost.streetcomplete/streetcomplete-remove-arcore.patch
new file mode 100644
index 0000000000..e0f0367de1
--- /dev/null
+++ b/metadata/de.westnordost.streetcomplete/streetcomplete-remove-arcore.patch
@@ -0,0 +1,142 @@
+diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
+index bbb984425..e1493d495 100644
+--- a/app/src/main/AndroidManifest.xml
++++ b/app/src/main/AndroidManifest.xml
+@@ -38,7 +38,6 @@
+ android:label="@string/app_name"
+ android:theme="@style/AppTheme"
+ android:supportsRtl="true">
+-
+
+
+
+-
+
+
+ ()
+
+ override val contentLayoutResId = R.layout.quest_length
+ private val binding by contentViewBinding(QuestLengthBinding::bind)
+- private val takeMeasurement = TakeMeasurementLauncher(this)
+ private val checkArSupport: ArSupportChecker by inject()
+ private var isARMeasurement: Boolean = false
+ private lateinit var lengthInput: LengthInputViewController
+@@ -43,14 +41,6 @@ class AddMaxPhysicalHeightForm : AbstractOsmQuestForm()
+ checkIsFormComplete()
+ }
+ binding.measureButton.isGone = !checkArSupport()
+- binding.measureButton.setOnClickListener { lifecycleScope.launch { takeMeasurement() } }
+- }
+-
+- private suspend fun takeMeasurement() {
+- val lengthUnit = lengthInput.unit ?: return
+- val length = takeMeasurement(requireContext(), lengthUnit, true) ?: return
+- lengthInput.length = length
+- isARMeasurement = true
+ }
+
+ override fun isFormComplete(): Boolean = lengthInput.length != null
+diff --git a/app/src/main/java/de/westnordost/streetcomplete/quests/width/AddWidthForm.kt b/app/src/main/java/de/westnordost/streetcomplete/quests/width/AddWidthForm.kt
+index f13b195f3..3f307cb70 100644
+--- a/app/src/main/java/de/westnordost/streetcomplete/quests/width/AddWidthForm.kt
++++ b/app/src/main/java/de/westnordost/streetcomplete/quests/width/AddWidthForm.kt
+@@ -9,7 +9,6 @@ import de.westnordost.streetcomplete.databinding.QuestLengthBinding
+ import de.westnordost.streetcomplete.osm.ALL_ROADS
+ import de.westnordost.streetcomplete.quests.AbstractOsmQuestForm
+ import de.westnordost.streetcomplete.screens.measure.ArSupportChecker
+-import de.westnordost.streetcomplete.screens.measure.TakeMeasurementLauncher
+ import de.westnordost.streetcomplete.view.controller.LengthInputViewController
+ import kotlinx.coroutines.launch
+ import org.koin.android.ext.android.inject
+@@ -18,7 +17,6 @@ class AddWidthForm : AbstractOsmQuestForm() {
+
+ override val contentLayoutResId = R.layout.quest_length
+ private val binding by contentViewBinding(QuestLengthBinding::bind)
+- private val takeMeasurement = TakeMeasurementLauncher(this)
+ private val checkArSupport: ArSupportChecker by inject()
+ private var isARMeasurement: Boolean = false
+ private lateinit var lengthInput: LengthInputViewController
+@@ -49,14 +47,6 @@ class AddWidthForm : AbstractOsmQuestForm() {
+ checkIsFormComplete()
+ }
+ binding.measureButton.isGone = !checkArSupport()
+- binding.measureButton.setOnClickListener { lifecycleScope.launch { takeMeasurement() } }
+- }
+-
+- private suspend fun takeMeasurement() {
+- val lengthUnit = lengthInput.unit ?: return
+- val length = takeMeasurement(requireContext(), lengthUnit, false) ?: return
+- lengthInput.length = length
+- isARMeasurement = true
+ }
+
+ override fun onClickOk() {
+diff --git a/app/src/main/java/de/westnordost/streetcomplete/screens/measure/ArSupportChecker.kt b/app/src/main/java/de/westnordost/streetcomplete/screens/measure/ArSupportChecker.kt
+index 270d06763..07f4b61bd 100644
+--- a/app/src/main/java/de/westnordost/streetcomplete/screens/measure/ArSupportChecker.kt
++++ b/app/src/main/java/de/westnordost/streetcomplete/screens/measure/ArSupportChecker.kt
+@@ -4,13 +4,7 @@ import android.app.ActivityManager
+ import android.content.Context
+ import android.os.Build
+ import androidx.core.content.getSystemService
+-import com.google.ar.core.ArCoreApk
+
+ class ArSupportChecker(private val context: Context) {
+- operator fun invoke(): Boolean =
+- // extra requirements for Sceneform: min Android SDK and OpenGL ES 3.1
+- Build.VERSION.SDK_INT >= Build.VERSION_CODES.N
+- && context.getSystemService()!!.deviceConfigurationInfo.glEsVersion.toDouble() >= 3.1
+- // otherwise, ask ArCore
+- && ArCoreApk.getInstance().checkAvailability(context).isSupported
++ operator fun invoke(): Boolean = false
+ }
+diff --git a/app/src/main/java/de/westnordost/streetcomplete/screens/settings/SettingsFragment.kt b/app/src/main/java/de/westnordost/streetcomplete/screens/settings/SettingsFragment.kt
+index 650563907..6bdfca46b 100644
+--- a/app/src/main/java/de/westnordost/streetcomplete/screens/settings/SettingsFragment.kt
++++ b/app/src/main/java/de/westnordost/streetcomplete/screens/settings/SettingsFragment.kt
+@@ -29,7 +29,6 @@ import de.westnordost.streetcomplete.data.visiblequests.QuestPresetsSource
+ import de.westnordost.streetcomplete.data.visiblequests.VisibleQuestTypeSource
+ import de.westnordost.streetcomplete.databinding.DialogDeleteCacheBinding
+ import de.westnordost.streetcomplete.screens.HasTitle
+-import de.westnordost.streetcomplete.screens.measure.MeasureActivity
+ import de.westnordost.streetcomplete.screens.settings.debug.ShowLinksActivity
+ import de.westnordost.streetcomplete.screens.settings.debug.ShowQuestFormsActivity
+ import de.westnordost.streetcomplete.util.getSelectedLocales
+@@ -116,16 +115,6 @@ class SettingsFragment :
+ true
+ }
+
+- findPreference("debug.ar_measure_horizontal")?.setOnPreferenceClickListener {
+- startActivity(MeasureActivity.createIntent(requireContext(), false))
+- true
+- }
+-
+- findPreference("debug.ar_measure_vertical")?.setOnPreferenceClickListener {
+- startActivity(MeasureActivity.createIntent(requireContext(), true))
+- true
+- }
+-
+ buildLanguageSelector()
+ }
+