From 5e12bbd72f426a6012b4dfcccc787478703107b3 Mon Sep 17 00:00:00 2001 From: Kingkor Roy Tirtho Date: Sat, 16 Sep 2023 22:08:47 +0600 Subject: [PATCH] feat(android): add flavor support --- .github/workflows/spotube-release-binary.yml | 10 ++++------ .vscode/launch.json | 6 +++++- android/app/build.gradle | 18 +++++++++++++++++- android/app/src/main/AndroidManifest.xml | 2 +- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/.github/workflows/spotube-release-binary.yml b/.github/workflows/spotube-release-binary.yml index 4b5196ce..d7240bbf 100644 --- a/.github/workflows/spotube-release-binary.yml +++ b/.github/workflows/spotube-release-binary.yml @@ -235,10 +235,8 @@ jobs: - name: Build Apk run: | - flutter build apk - flutter build appbundle - mv build/app/outputs/apk/release/app-release.apk build/Spotube-android-all-arch.apk - mv build/app/outputs/bundle/release/app-release.aab build/Spotube-playstore-all-arch.aab + flutter build apk --flavor ${{ inputs.channel }} + mv build/app/outputs/apk/release/app-${{ inputs.channel }}-release.apk build/Spotube-android-all-arch.apk - name: Build Playstore AppBundle run: | @@ -247,8 +245,8 @@ jobs: export MANIFEST=android/app/src/main/AndroidManifest.xml xmlstarlet ed -d '//meta-data[@android:name="com.google.android.gms.car.application"]' $MANIFEST > $MANIFEST.tmp mv $MANIFEST.tmp $MANIFEST - flutter build appbundle - mv build/app/outputs/bundle/release/app-release.aab build/Spotube-playstore-all-arch.aab + flutter build appbundle --flavor ${{ inputs.channel }} + mv build/app/outputs/bundle/release/app-${{ inputs.channel }}-release.aab build/Spotube-playstore-all-arch.aab - name: Debug With SSH When fails if: ${{ failure() && inputs.debug && inputs.channel == 'nightly' }} diff --git a/.vscode/launch.json b/.vscode/launch.json index 3c8209ff..0cb15ab8 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,7 +5,11 @@ "name": "spotube", "type": "dart", "request": "launch", - "program": "lib/main.dart" + "program": "lib/main.dart", + "args": [ + "--flavor", + "nightly" + ] }, { "name": "spotube (profile)", diff --git a/android/app/build.gradle b/android/app/build.gradle index d05a90a1..97a3190d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -72,6 +72,22 @@ android { signingConfig signingConfigs.release } } + + flavorDimensions "default" + + productFlavors { + nightly { + dimension "default" + resValue "string", "app_name", "Spotube Nightly" + applicationIdSuffix ".nightly" + versionNameSuffix "-nightly" + } + stable { + dimension "default" + resValue "string", "app_name", "Spotube" + } + } + } flutter { @@ -92,4 +108,4 @@ dependencies { // other deps so just ignore implementation 'com.android.support:multidex:2.0.1' -} +} \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 7891310d..bfb51226 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -18,7 +18,7 @@