@@ -2175,8 +2175,33 @@ jobs:
21752175 echo "#define INTERVALSICU_CLIENT_SECRET ${{ secrets.intervalsicu_client_secret }}" >> secret.h
21762176 echo "${{ secrets.cesiumkey }}" >> inner_templates/googlemaps/cesium-key.js
21772177 echo "#define LICENSE" >> secret.h
2178- # Set variant-specific IP setting
2179- sed -i 's/property string ${{ matrix.variant.setting_key }}: ""/property string ${{ matrix.variant.setting_key }}: "${{ matrix.variant.setting_value }}"/' settings.qml
2178+ # Keep the QML and C++ defaults identical for this artifact variant.
2179+ SETTING_KEY='${{ matrix.variant.setting_key }}' \
2180+ SETTING_VALUE='${{ matrix.variant.setting_value }}' \
2181+ python3 - <<'PY'
2182+ import os
2183+ from pathlib import Path
2184+
2185+ key = os.environ["SETTING_KEY"]
2186+ value = os.environ["SETTING_VALUE"]
2187+ replacements = {
2188+ Path("settings.qml"): (
2189+ f' property string {key}: ""',
2190+ f' property string {key}: "{value}"',
2191+ ),
2192+ Path("qzsettings.cpp"): (
2193+ f'const QString QZSettings::default_{key} = QStringLiteral("");',
2194+ f'const QString QZSettings::default_{key} = QStringLiteral("{value}");',
2195+ ),
2196+ }
2197+ for path, (original, variant) in replacements.items():
2198+ contents = path.read_text()
2199+ if contents.count(original) != 1:
2200+ raise SystemExit(f"Expected exactly one {original!r} in {path}")
2201+ path.write_text(contents.replace(original, variant))
2202+ if path.read_text().count(variant) != 1:
2203+ raise SystemExit(f"Failed to set {variant!r} in {path}")
2204+ PY
21802205 cd ..
21812206
21822207 ln -sfn $ANDROID_SDK_ROOT/ndk/21.4.7075529 $ANDROID_NDK
@@ -2318,8 +2343,33 @@ jobs:
23182343 echo "#define INTERVALSICU_CLIENT_SECRET ${{ secrets.intervalsicu_client_secret }}" >> secret.h
23192344 echo "${{ secrets.cesiumkey }}" >> inner_templates/googlemaps/cesium-key.js
23202345 echo "#define LICENSE" >> secret.h
2321- # Set variant-specific IP setting
2322- sed -i 's/property string ${{ matrix.variant.setting_key }}: ""/property string ${{ matrix.variant.setting_key }}: "${{ matrix.variant.setting_value }}"/' settings.qml
2346+ # Keep the QML and C++ defaults identical for this artifact variant.
2347+ SETTING_KEY='${{ matrix.variant.setting_key }}' \
2348+ SETTING_VALUE='${{ matrix.variant.setting_value }}' \
2349+ python3 - <<'PY'
2350+ import os
2351+ from pathlib import Path
2352+
2353+ key = os.environ["SETTING_KEY"]
2354+ value = os.environ["SETTING_VALUE"]
2355+ replacements = {
2356+ Path("settings.qml"): (
2357+ f' property string {key}: ""',
2358+ f' property string {key}: "{value}"',
2359+ ),
2360+ Path("qzsettings.cpp"): (
2361+ f'const QString QZSettings::default_{key} = QStringLiteral("");',
2362+ f'const QString QZSettings::default_{key} = QStringLiteral("{value}");',
2363+ ),
2364+ }
2365+ for path, (original, variant) in replacements.items():
2366+ contents = path.read_text()
2367+ if contents.count(original) != 1:
2368+ raise SystemExit(f"Expected exactly one {original!r} in {path}")
2369+ path.write_text(contents.replace(original, variant))
2370+ if path.read_text().count(variant) != 1:
2371+ raise SystemExit(f"Failed to set {variant!r} in {path}")
2372+ PY
23232373 cd ..
23242374
23252375 # Keep FitPro APKs usable on older 32-bit iFIT/ProForm consoles.
0 commit comments