From 457350908a3522dfaf332822a3ed3a284740fff5 Mon Sep 17 00:00:00 2001 From: Samir Boulahtit Date: Sun, 19 Apr 2026 00:11:30 +0200 Subject: [PATCH] fix(android): resolve build errors in terminal scaffold MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix settings.gradle.kts: dependencyResolution → dependencyResolutionManagement - Fix Hilt version: 2.54.1 (non-existent) → 2.51.1 - Fix LoyaltyApi.kt: remove decorative unicode comments causing "unclosed comment" errors, fix /api/v1/store/loyalty/* pattern in KDoc that Kotlin parsed as block comment start - Add placeholder launcher icons (purple square, all densities) App now builds and runs on Pixel Tablet emulator: Setup → PIN → Terminal. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../terminal/data/api/LoyaltyApi.kt | 23 ++++++------------ .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 166 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 123 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 221 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 414 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 547 bytes .../gradle/libs.versions.toml | 2 +- clients/terminal-android/settings.gradle.kts | 5 ++-- 8 files changed, 12 insertions(+), 18 deletions(-) create mode 100644 clients/terminal-android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 clients/terminal-android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 clients/terminal-android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 clients/terminal-android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 clients/terminal-android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/clients/terminal-android/app/src/main/java/lu/rewardflow/terminal/data/api/LoyaltyApi.kt b/clients/terminal-android/app/src/main/java/lu/rewardflow/terminal/data/api/LoyaltyApi.kt index 04420a4b..148d4279 100644 --- a/clients/terminal-android/app/src/main/java/lu/rewardflow/terminal/data/api/LoyaltyApi.kt +++ b/clients/terminal-android/app/src/main/java/lu/rewardflow/terminal/data/api/LoyaltyApi.kt @@ -6,52 +6,45 @@ import retrofit2.http.* /** * Retrofit interface for the Orion Loyalty Store API. * - * Mirrors the endpoints at /api/v1/store/loyalty/*. + * Mirrors the endpoints at /api/v1/store/loyalty/ * Auth via Bearer token (obtained during device setup). */ interface LoyaltyApi { - // ── Program ───────────────────────────────────────────────────────── - + // Program @GET("api/v1/store/loyalty/program") suspend fun getProgram(): ProgramResponse - // ── Card Lookup ───────────────────────────────────────────────────── - + // Card Lookup @GET("api/v1/store/loyalty/cards/lookup") suspend fun lookupCard(@Query("q") query: String): CardLookupResponse @GET("api/v1/store/loyalty/cards/{cardId}") suspend fun getCardDetail(@Path("cardId") cardId: Int): CardDetailResponse - // ── Enrollment ────────────────────────────────────────────────────── - + // Enrollment @POST("api/v1/store/loyalty/cards/enroll") suspend fun enrollCustomer(@Body request: EnrollRequest): CardResponse - // ── Stamps ────────────────────────────────────────────────────────── - + // Stamps @POST("api/v1/store/loyalty/stamp") suspend fun addStamp(@Body request: StampRequest): StampResponse @POST("api/v1/store/loyalty/stamp/redeem") suspend fun redeemStamps(@Body request: StampRedeemRequest): StampRedeemResponse - // ── Points ────────────────────────────────────────────────────────── - + // Points @POST("api/v1/store/loyalty/points/earn") suspend fun earnPoints(@Body request: PointsEarnRequest): PointsEarnResponse @POST("api/v1/store/loyalty/points/redeem") suspend fun redeemPoints(@Body request: PointsRedeemRequest): PointsRedeemResponse - // ── PINs (for caching staff PINs locally) ─────────────────────────── - + // PINs (for caching staff PINs locally) @GET("api/v1/store/loyalty/pins") suspend fun listPins(): PinListResponse - // ── Auth ──────────────────────────────────────────────────────────── - + // Auth @POST("api/v1/store/auth/login") suspend fun login(@Body request: LoginRequest): LoginResponse } diff --git a/clients/terminal-android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/clients/terminal-android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..51f853b6d859d254fca9128292b08472096fc565 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY1SD_us|Wz8Tu&Frkcv5P&ogo|Ccu_vVTQ21X_p4H*RoAcKpYLjcG)1Qg*ASWrL*Df`{eF1}AU TT371~bT5OatDnm{r-UW|WotB~ literal 0 HcmV?d00001 diff --git a/clients/terminal-android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/clients/terminal-android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..723dcce6a8e9cf3c546e8bb0ddc7155c58666ba7 GIT binary patch literal 414 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q2}owBl)h(RU`+LNaSW-L^Y&sOCxe2>fdkV| z=Y(x*mi#m6;6YZ2oNrbwXTCGdlMqXe=t(qeJ37iBClJoC+8>^^H?m6jJ22cCJYD@< J);T3K0RUg!l%4

_2p8xh5aw|?ByuwJs`h=U57lA%CnqX&;ml7bNPM2S(MAr%ru3{MO8 W9(!u~U>-2?89ZJ6T-G@yGywpQxtZz! literal 0 HcmV?d00001 diff --git a/clients/terminal-android/gradle/libs.versions.toml b/clients/terminal-android/gradle/libs.versions.toml index 1d0678d7..b3a49088 100644 --- a/clients/terminal-android/gradle/libs.versions.toml +++ b/clients/terminal-android/gradle/libs.versions.toml @@ -34,7 +34,7 @@ room = "2.6.1" workManager = "2.10.0" # Dependency Injection -hilt = "2.54.1" +hilt = "2.51.1" hiltNavigationCompose = "1.2.0" # Camera & QR scanning diff --git a/clients/terminal-android/settings.gradle.kts b/clients/terminal-android/settings.gradle.kts index a533ee44..45b74f88 100644 --- a/clients/terminal-android/settings.gradle.kts +++ b/clients/terminal-android/settings.gradle.kts @@ -6,8 +6,9 @@ pluginManagement { } } -dependencyResolution { - @Suppress("UnstableApiUsage") +@Suppress("UnstableApiUsage") +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral()