From e7191407f56dd8b54c0eb18b2b8ff7e67fcd8e7e Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Wed, 31 Jul 2024 20:28:53 +0530 Subject: [PATCH 01/12] work around for appInstall status --- .../java/foundation/e/apps/data/install/AppManagerImpl.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/foundation/e/apps/data/install/AppManagerImpl.kt b/app/src/main/java/foundation/e/apps/data/install/AppManagerImpl.kt index 1757e7d2f..27670c9be 100644 --- a/app/src/main/java/foundation/e/apps/data/install/AppManagerImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/install/AppManagerImpl.kt @@ -100,7 +100,13 @@ class AppManagerImpl @Inject constructor( } else if (status == Status.INSTALLING) { appInstall.downloadIdMap.all { true } appInstall.status = status - appInstallRepository.updateDownload(appInstall) + val isSelfUpdate = appInstall.packageName == context.packageName + if (isSelfUpdate) { + appInstallRepository.deleteDownload(appInstall) + } else { + appInstall.status = status + appInstallRepository.updateDownload(appInstall) + } installApp(appInstall) } } -- GitLab From a86ddf7cc2198cd70489e2a19ca96d14005901c4 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Wed, 31 Jul 2024 20:32:54 +0530 Subject: [PATCH 02/12] rearrangeAppLoungeAtLast --- .../e/apps/data/updates/UpdatesManagerImpl.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt index ddaacfbad..7e99cfb82 100644 --- a/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt @@ -129,6 +129,7 @@ class UpdatesManagerImpl @Inject constructor( val nonFaultyUpdateList = faultyAppRepository.removeFaultyApps(updateList) addSystemAppsAtFirst(updateList, nonFaultyUpdateList, systemApps) + rearrangeAppLoungeAtLast(updateList) return Pair(updateList, status) } @@ -167,6 +168,7 @@ class UpdatesManagerImpl @Inject constructor( val nonFaultyUpdateList = faultyAppRepository.removeFaultyApps(updateList) addSystemAppsAtFirst(updateList, nonFaultyUpdateList, systemApps) + rearrangeAppLoungeAtLast(updateList) return Pair(updateList, status) } @@ -194,6 +196,14 @@ class UpdatesManagerImpl @Inject constructor( updateList.addAll(nonFaultyApps) } + private fun rearrangeAppLoungeAtLast(updateList: MutableList) { + val appLoungeItem = updateList.find { + it.isSystemApp && it.package_name == context.packageName + } ?: return + updateList.remove(appLoungeItem) + updateList.add(appLoungeItem) + } + /** * Lists apps directly updatable by App Lounge from the Open Source category. * (This includes apps installed by F-Droid client app, if used by the user; -- GitLab From dd02810ae521040b0f20cea761937d301afcf054 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 6 Aug 2024 16:47:19 +0530 Subject: [PATCH 03/12] check name to use test endpoint --- .../data/gitlab/SystemAppsUpdatesRepository.kt | 13 ++++++++++++- .../e/apps/data/gitlab/UpdatableSystemAppsApi.kt | 16 ++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt b/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt index e634645d2..f4650125a 100644 --- a/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt +++ b/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt @@ -52,7 +52,14 @@ class SystemAppsUpdatesRepository @Inject constructor( if (getUpdatableSystemApps().isNotEmpty() && !forceRefresh) { return@handleNetworkResult } - val response = updatableSystemAppsApi.getUpdatableSystemApps() + + val systemName = getFullSystemName() + val endPoint = if (systemName.contains("beta") || systemName.contains("rc")) { + UpdatableSystemAppsApi.EndPoint.ENDPOINT_TEST + } else UpdatableSystemAppsApi.EndPoint.ENDPOINT_RELEASE + + val response = updatableSystemAppsApi.getUpdatableSystemApps(endPoint) + if (response.isSuccessful && !response.body().isNullOrEmpty()) { systemAppProjectList.clear() response.body()?.let { systemAppProjectList.addAll(it) } @@ -103,6 +110,10 @@ class SystemAppsUpdatesRepository @Inject constructor( } } + private fun getFullSystemName(): String { + return SystemInfoProvider.getSystemProperty(SystemInfoProvider.KEY_LINEAGE_VERSION) ?: "" + } + private fun getSdkLevel(): Int { return Build.VERSION.SDK_INT } diff --git a/app/src/main/java/foundation/e/apps/data/gitlab/UpdatableSystemAppsApi.kt b/app/src/main/java/foundation/e/apps/data/gitlab/UpdatableSystemAppsApi.kt index 2ea9774fa..7053450f2 100644 --- a/app/src/main/java/foundation/e/apps/data/gitlab/UpdatableSystemAppsApi.kt +++ b/app/src/main/java/foundation/e/apps/data/gitlab/UpdatableSystemAppsApi.kt @@ -20,6 +20,7 @@ package foundation.e.apps.data.gitlab import foundation.e.apps.data.gitlab.models.SystemAppProject import retrofit2.Response import retrofit2.http.GET +import retrofit2.http.Path interface UpdatableSystemAppsApi { @@ -28,7 +29,18 @@ interface UpdatableSystemAppsApi { "https://gitlab.e.foundation/e/os/system-apps-update-info/-/raw/main/" } - @GET("updatable_system_apps.json?inline=false") - suspend fun getUpdatableSystemApps(): Response> + enum class EndPoint(private val value: String) { + ENDPOINT_RELEASE("updatable_system_apps.json"), + ENDPOINT_TEST("updatable_system_apps_test.json"), + ; + override fun toString(): String { + return value + } + } + + @GET("{endPoint}?inline=false") + suspend fun getUpdatableSystemApps( + @Path("endPoint") endPoint: EndPoint = EndPoint.ENDPOINT_RELEASE + ): Response> } -- GitLab From c791a72e68e513d935e5260c6feed45efea8d377 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 6 Aug 2024 20:02:07 +0530 Subject: [PATCH 04/12] add gitlab_release stage and jobs to .gitlab-ci.yml --- .gitlab-ci.yml | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index becd88092..6be0d1f31 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,11 +2,17 @@ image: registry.gitlab.e.foundation/e/os/docker-android-apps-cicd:master variables: SENTRY_DSN: $SENTRY_DSN + PROJECT_ID: "355" # under Settings -> General + APK_PATH: "apks" + UNSIGNED_APK: "AppLounge-release.apk" + DEV_APK: "AppLounge-release-dev.apk" + STABLE_APK: "AppLounge-release-stable.apk" stages: - debug - release - publish + - gitlab_release before_script: - export GRADLE_USER_HOME=$(pwd)/.gradle @@ -186,3 +192,86 @@ publish-contracts: - ./gradlew :parental-control-data:build - ./gradlew :parental-control-data:publish allow_failure: true + +init-submodules: + stage: gitlab_release + needs: [] + rules: + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' + when: on_success + script: + - | + git submodule add --force \ + https://gitlab.e.foundation/e/os/system-apps-update-info.git systemAppsUpdateInfo + artifacts: + paths: + - systemAppsUpdateInfo/ + +generate-apks: + stage: gitlab_release + rules: + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' + when: on_success + needs: + - init-submodules + - buildRelease + - buildReleaseDev + - buildReleaseStable + dependencies: + - init-submodules + - buildRelease + - buildReleaseDev + - buildReleaseStable + script: + - mkdir -p $APK_PATH + - unsignedApk=$(ls app/build/outputs/apk/release/*.apk | grep "release") + - devApk=$(ls app/build/outputs/apk/releaseDev/*.apk | grep "releaseDev") + - stableApk=$(ls app/build/outputs/apk/releaseStable/*.apk | grep "releaseStable") + - cp "$unsignedApk" "$APK_PATH/$UNSIGNED_APK" + - cp "$devApk" "$APK_PATH/$DEV_APK" + - cp "$stableApk" "$APK_PATH/$STABLE_APK" + artifacts: + paths: + - $APK_PATH/$UNSIGNED_APK + - $APK_PATH/$DEV_APK + - $APK_PATH/$STABLE_APK + +create-json-files: + stage: gitlab_release + dependencies: + - init-submodules + - generate-apks + needs: + - init-submodules + - generate-apks + rules: + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' + when: manual + before_script: + - apt update && apt install jq aapt -y + script: + - | + ./systemAppsUpdateInfo/scripts/create-json-files.sh \ + "$APK_PATH" "$UNSIGNED_APK" "$DEV_APK" "$STABLE_APK" + artifacts: + paths: + - dev.json + - stable.json + +create-release: + stage: gitlab_release + dependencies: + - init-submodules + needs: + - init-submodules + - create-json-files + - generate-apks + rules: + - if: '$CI_COMMIT_TAG && $CI_COMMIT_REF_PROTECTED == "true"' + when: on_success + before_script: + - apt update && apt install jq -y + script: + - | + ./systemAppsUpdateInfo/scripts/create-release.sh \ + "$APK_PATH" "$UNSIGNED_APK" "$DEV_APK" "$STABLE_APK" \ No newline at end of file -- GitLab From 218f0d2bc43ea18cce6aa6e9f0434bf73d07dc56 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Wed, 7 Aug 2024 19:11:40 +0530 Subject: [PATCH 05/12] add cache --- .gitlab-ci.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6be0d1f31..c6c50544b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -18,6 +18,11 @@ before_script: - export GRADLE_USER_HOME=$(pwd)/.gradle - chmod +x ./gradlew +cache: + key: ${CI_PROJECT_ID} + paths: + - .gradle/ + # Debug build related jobs buildDebug: stage: debug -- GitLab From 67bb2f678791bbfd63b274a502a4f6d8a57aa4cb Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Thu, 8 Aug 2024 01:42:43 +0530 Subject: [PATCH 06/12] allow_failure on pushToPrebuilt --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c6c50544b..66b2941e7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -184,6 +184,7 @@ pushToPrebuilt: - git push # Sometimes a single push doesn't do all the job, so we have to push twice - git push + allow_failure: true publish-contracts: stage: publish -- GitLab From 7cc4dac86c29a4c758c75af4566b49d3569faadb Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Fri, 16 Aug 2024 05:17:53 +0530 Subject: [PATCH 07/12] AlertDialog when updating App Lounge --- .../ui/applicationlist/ApplicationListRVAdapter.kt | 14 +++++++++++++- app/src/main/res/values/strings.xml | 2 ++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt index c88ae84aa..1053a889b 100644 --- a/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt +++ b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt @@ -21,6 +21,7 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView +import androidx.appcompat.app.AlertDialog import androidx.core.content.ContextCompat import androidx.core.view.children import androidx.core.view.isVisible @@ -532,7 +533,18 @@ class ApplicationListRVAdapter( if (mainActivityViewModel.checkUnsupportedApplication(searchApp, context)) { return@setOnClickListener } - installApplication(searchApp) + if (searchApp.package_name == context.packageName) { + AlertDialog.Builder(context).apply { + setTitle(R.string.own_update_warning_title) + setMessage(R.string.own_update_warning_description) + setPositiveButton(android.R.string.ok) {_, _ -> + installApplication(searchApp) + } + setNegativeButton(android.R.string.cancel, null) + }.show() + } else { + installApplication(searchApp) + } } } progressBarInstall.visibility = View.GONE diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 993dcea40..fa41bcdf6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -143,6 +143,8 @@ Update all has failed. Automatic retries are in progress. Due to temporary failure, your apps cannot be all updated. Please try again later. %1$s\'s update has failed due to a support rule (location, OS version…). + Update warning! + App Lounge will be closed by the system while installing its own update. Kindly refrain from doing any other task till App Lounge is updated and closed. Discover Discover PWA -- GitLab From c9bdd8ff7c6118673fe3b706d3ade5f5477f3e09 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Thu, 22 Aug 2024 04:14:15 +0530 Subject: [PATCH 08/12] Trigger UpdatesBroadcastReceiver for ACTION_MY_PACKAGE_REPLACED --- app/src/main/AndroidManifest.xml | 1 + .../e/apps/install/updates/UpdatesBroadcastReceiver.kt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5f2f500d7..b0b621218 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -101,6 +101,7 @@ android:exported="false"> + diff --git a/app/src/main/java/foundation/e/apps/install/updates/UpdatesBroadcastReceiver.kt b/app/src/main/java/foundation/e/apps/install/updates/UpdatesBroadcastReceiver.kt index 8598a2543..36e89a247 100644 --- a/app/src/main/java/foundation/e/apps/install/updates/UpdatesBroadcastReceiver.kt +++ b/app/src/main/java/foundation/e/apps/install/updates/UpdatesBroadcastReceiver.kt @@ -28,7 +28,7 @@ class UpdatesBroadcastReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { Timber.d("onReceive: ${intent.action}") - if (intent.action == Intent.ACTION_BOOT_COMPLETED) { + if (intent.action in listOf(Intent.ACTION_BOOT_COMPLETED, Intent.ACTION_MY_PACKAGE_REPLACED)) { val appLoungePreference = AppLoungePreference(context) val interval = appLoungePreference.getUpdateInterval() UpdatesWorkManager.enqueueWork(context, interval, ExistingPeriodicWorkPolicy.REPLACE) -- GitLab From dd47205c16bec01ef539eae227b9ba89097cf2d3 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Thu, 22 Aug 2024 20:50:19 +0530 Subject: [PATCH 09/12] change method name --- .../foundation/e/apps/data/updates/UpdatesManagerImpl.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt index 7e99cfb82..f35c3c2a1 100644 --- a/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt @@ -129,7 +129,7 @@ class UpdatesManagerImpl @Inject constructor( val nonFaultyUpdateList = faultyAppRepository.removeFaultyApps(updateList) addSystemAppsAtFirst(updateList, nonFaultyUpdateList, systemApps) - rearrangeAppLoungeAtLast(updateList) + moveAppLoungeToLast(updateList) return Pair(updateList, status) } @@ -168,7 +168,7 @@ class UpdatesManagerImpl @Inject constructor( val nonFaultyUpdateList = faultyAppRepository.removeFaultyApps(updateList) addSystemAppsAtFirst(updateList, nonFaultyUpdateList, systemApps) - rearrangeAppLoungeAtLast(updateList) + moveAppLoungeToLast(updateList) return Pair(updateList, status) } @@ -196,7 +196,7 @@ class UpdatesManagerImpl @Inject constructor( updateList.addAll(nonFaultyApps) } - private fun rearrangeAppLoungeAtLast(updateList: MutableList) { + private fun moveAppLoungeToLast(updateList: MutableList) { val appLoungeItem = updateList.find { it.isSystemApp && it.package_name == context.packageName } ?: return -- GitLab From cea8734788e869fb9bc95e8e27dd0a6bccc14228 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Fri, 23 Aug 2024 19:32:29 +0530 Subject: [PATCH 10/12] rabbit suggestion --- .../ApplicationListRVAdapter.kt | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt index 1053a889b..db6b9e8aa 100644 --- a/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt +++ b/app/src/main/java/foundation/e/apps/ui/applicationlist/ApplicationListRVAdapter.kt @@ -17,6 +17,7 @@ package foundation.e.apps.ui.applicationlist +import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -534,14 +535,7 @@ class ApplicationListRVAdapter( return@setOnClickListener } if (searchApp.package_name == context.packageName) { - AlertDialog.Builder(context).apply { - setTitle(R.string.own_update_warning_title) - setMessage(R.string.own_update_warning_description) - setPositiveButton(android.R.string.ok) {_, _ -> - installApplication(searchApp) - } - setNegativeButton(android.R.string.cancel, null) - }.show() + showUpdateConfirmationDialog(context, searchApp) } else { installApplication(searchApp) } @@ -569,6 +563,17 @@ class ApplicationListRVAdapter( progressBarInstall.visibility = View.GONE } + private fun showUpdateConfirmationDialog(context: Context, searchApp: Application) { + AlertDialog.Builder(context).apply { + setTitle(R.string.own_update_warning_title) + setMessage(R.string.own_update_warning_description) + setPositiveButton(android.R.string.ok) {_, _ -> + installApplication(searchApp) + } + setNegativeButton(android.R.string.cancel, null) + }.show() + } + fun setData(newList: List, optionalCategory: String? = null) { optionalCategory?.let { this.optionalCategory = it -- GitLab From 3b17617930af73602d472e1d6329e4d957f4853d Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 27 Aug 2024 17:04:05 +0530 Subject: [PATCH 11/12] suggestion 1 --- .../e/apps/data/updates/UpdatesManagerImpl.kt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt index f35c3c2a1..4cf3cd31a 100644 --- a/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt +++ b/app/src/main/java/foundation/e/apps/data/updates/UpdatesManagerImpl.kt @@ -128,8 +128,7 @@ class UpdatesManagerImpl @Inject constructor( val systemApps = getSystemAppUpdates() val nonFaultyUpdateList = faultyAppRepository.removeFaultyApps(updateList) - addSystemAppsAtFirst(updateList, nonFaultyUpdateList, systemApps) - moveAppLoungeToLast(updateList) + addSystemApps(updateList, nonFaultyUpdateList, systemApps) return Pair(updateList, status) } @@ -167,8 +166,7 @@ class UpdatesManagerImpl @Inject constructor( val systemApps = getSystemAppUpdates() val nonFaultyUpdateList = faultyAppRepository.removeFaultyApps(updateList) - addSystemAppsAtFirst(updateList, nonFaultyUpdateList, systemApps) - moveAppLoungeToLast(updateList) + addSystemApps(updateList, nonFaultyUpdateList, systemApps) return Pair(updateList, status) } @@ -185,8 +183,11 @@ class UpdatesManagerImpl @Inject constructor( * This method adds the system app updates at the beginning of the update list. * It will ensure our system apps are updated first, followed by other apps, * avoiding potential conflicts. + * + * Since installing an App Lounge update will cause App Lounge to be closed by the system, + * it is added at the end of the list. */ - private fun addSystemAppsAtFirst( + private fun addSystemApps( updateList: MutableList, nonFaultyApps: List, systemApps: List, @@ -194,9 +195,8 @@ class UpdatesManagerImpl @Inject constructor( updateList.clear() updateList.addAll(systemApps) updateList.addAll(nonFaultyApps) - } - private fun moveAppLoungeToLast(updateList: MutableList) { + // Move App Lounge to the end of the list val appLoungeItem = updateList.find { it.isSystemApp && it.package_name == context.packageName } ?: return -- GitLab From c0eb282e1e45a8f13bc7613b73a72bec53b3eec7 Mon Sep 17 00:00:00 2001 From: Sayantan Roychowdhury Date: Tue, 27 Aug 2024 17:07:31 +0530 Subject: [PATCH 12/12] suggestion 2 --- .../e/apps/data/gitlab/SystemAppsUpdatesRepository.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt b/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt index f4650125a..7fb6ee71f 100644 --- a/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt +++ b/app/src/main/java/foundation/e/apps/data/gitlab/SystemAppsUpdatesRepository.kt @@ -54,9 +54,15 @@ class SystemAppsUpdatesRepository @Inject constructor( } val systemName = getFullSystemName() - val endPoint = if (systemName.contains("beta") || systemName.contains("rc")) { + val endPoint = if ( + systemName.isBlank() || + systemName.contains("beta") || + systemName.contains("rc") + ) { UpdatableSystemAppsApi.EndPoint.ENDPOINT_TEST - } else UpdatableSystemAppsApi.EndPoint.ENDPOINT_RELEASE + } else { + UpdatableSystemAppsApi.EndPoint.ENDPOINT_RELEASE + } val response = updatableSystemAppsApi.getUpdatableSystemApps(endPoint) -- GitLab