# Release Notes - Version 1.1.0

**Phạm vi:** Commit `1fb1d579` → `a3ab89e1`
**Tổng số commit:** 12

---

## Tổng quan thay đổi

### 1. Tính năng mới (New Features)

#### 1.1 Notification - Daily Engagement (`54d6e53`)
- Thêm cơ chế Daily Engagement Notification với fullscreen activity.
- Files mới:
  - `notification/daily/DailyEngagementContent.kt`
  - `notification/daily/DailyEngagementFullscreenActivity.kt`
  - `notification/daily/DailyEngagementScheduler.kt`
- Thêm 8 ảnh `daily_engagement_lock_img_*.webp` và bộ drawable nền/CTA.
- Cập nhật `AndroidManifest.xml`, `AiCoupleApplication.kt` để đăng ký scheduler.
- Thêm `AppPrefsKeys` lưu state, layout `activity_daily_engagement_fullscreen.xml`.

#### 1.2 App Shortcut & Uninstall Survey (`bf9dbe1`)
- Thêm app shortcut "AI Photo Maker" với icon `ic_shortcut_ai_photo_maker.xml`.
- Đăng ký uninstall feedback handler trong `AiCoupleApplication.kt`.

#### 1.3 Select Photo Screen (`cdbb829`)
- Màn hình chọn ảnh mới (in-app gallery picker) với:
  - `SelectPhotoActivity`, `SelectPhotoScreen`, `SelectPhotoViewModel`, `SelectPhotoContract`.
  - `GalleryAdapter`, `AlbumTabRow`, `PermissionRequestView`, `PhotoGrid`.
- Cập nhật `AndroidManifest.xml` (permission), thêm layout `item_select_photo.xml`.

#### 1.4 Qwen Service - Image Editing (`b9fac7b`)
- Tích hợp service Qwen cho image editing:
  - `QwenEditingApiService`, `QwenEditingRequest` DTO.
  - `DataNetworkModule` + `RetrofitQualifier` cập nhật để DI.

#### 1.5 New Calendar (NeonCalendarDialog) (`ee1ef76`)
- Component lịch tuỳ chỉnh `NeonCalendarDialog.kt` (487 LOC).
- Áp dụng trong `CoupleProfileScreen` và `AddMilestoneSheet` (Timeline).

---

### 2. Cải tiến Generation Flow

#### 2.1 Generation Flow đa dịch vụ (`9b0d341`)
- Refactor flow generation, hỗ trợ nhiều service (FaceCombine, ImageCombine, Qwen).
- Files mới:
  - `ui/screens/common/GenerationGate.kt`
  - `domain/model/ServiceInfo.kt`
  - `domain/usecase/GenerateImageUseCase.kt` (thay thế `CombineFacesUseCase` + `CombineImageUseCase`)
  - `data/repository/QwenEditingRepositoryImpl.kt`
  - `domain/repository/QwenEditingRepository.kt`
- Refactor lớn: `ChoosePictureScreen/ViewModel`, `FutureBabyScreen/ViewModel`, `GeneratingActivity/ViewModel`, `HomeActivity/Shell`.
- Cập nhật `couple_styles.json` (+492 dòng) để khai báo service per-style.
- Loại bỏ `CropGenerationDecider`, gộp logic vào `GenerationGate`.
- Thêm `CategoryLayout` cho domain.

#### 2.2 Generation UI Update (`2394ffa`)
- Component mới: `GenerationPhaseList.kt`, `ScanningImageFrame.kt`.
- Refactor `GeneratingScreen` (216 dòng giảm, UX scan-style mới).
- Tách `GenerationHelper.kt` shared, gọn 3 repo (`CombineFaces`, `CombineImage`, `QwenEditing`) (-583 LOC tổng).

---

### 3. UI/UX Updates

#### 3.1 App-wide UI Refresh (`afb96dc`)
- Thêm components dùng chung: `AppAsyncImage.kt`, `Shimmer.kt`, `PagerExt.kt`.
- Tách `HomeShell.kt` ra khỏi `HomeScreen`.
- Components Home mới: `HomeBottomTabBar`, `HomeCategorySection`, `HomeLoadingContent`, `HomeSectionLead`, `ProfileReminderBanner`.
- Cập nhật toàn bộ design system: `design/Color.kt`, `Theme.kt`, `Tokens.kt`, `Type.kt`.
- Thêm icon tab `ic_tab_create/gallery/profile/story.webp`.
- DB migration: `CategoryEntity` thêm field, schema bump.

#### 3.2 Future Baby Screen UI (`db25f24`)
- Refactor `AgeSelector`, `GenderSelector`, `FaceSlot`.
- Cập nhật `HomeHeader`, `HomeLoadingContent`, `StyleBrowserScreen`.
- Thêm `StyleBrowserLoadingContent`.
- Thêm màu mới ở `theme/Color.kt`, drawable `fo_ic_language_selected.xml`.

---

### 4. SDK & Library Integration

#### 4.1 First Open SDK 4.3.0 + Ads 9.0.4 (`7480d1b`)
- Nâng cấp First Open SDK lên 4.3.0, Ads SDK lên 9.0.4.
- Xoá toàn bộ legacy onboarding/language XML layouts (~2557 dòng giảm).
- Xoá `AdSplashConfig.kt`, `SplashLanguageHelper.kt` (logic chuyển vào SDK mới).
- Tạo `FirstOpenNextAction.kt` quản lý flow sau splash.
- Đơn giản hoá `SplashActivity` (-284 dòng).
- Thêm `fo_config.xml`, `fo_config_color.xml`, `fo_config_ads.xml` (dev + prod).
- Đổi tên drawable: `img_app` → `fo_ic_logo_app`, các onboarding image về prefix `fo_`.

#### 4.2 Rate App với thư viện mới (`7cb95d7`)
- Xoá `RateUtil.kt` cũ (-200 LOC).
- Đổi tên `RateTrackActions` → `AiCoupleRateTrackActions`.
- Cập nhật usage tại `HomeActivity`, `SettingsActivity`.

---

### 5. Cập nhật cấu hình & Tài nguyên

#### 5.1 Ad IDs & Strings (`a3ab89e1`)
- Cập nhật ID quảng cáo trong `fo_config_ads.xml` và `RemoteAdsConfiguration.kt`.
- Refactor `BannerAdViews.kt` (-150 dòng dư thừa).
- Dọn dẹp strings: chuẩn hoá `values/strings.xml` (-165 dòng) và tất cả locale (de, es, fr, hi, ja, ko, pt, th, vi, zh) — ~215 dòng giảm/locale.
- Tổng: -850 thêm / -1752 xoá.

---

## Tóm tắt định lượng

| Hạng mục              | Commit                                   |
| --------------------- | ---------------------------------------- |
| Features mới          | 5 (Notification, Shortcut, SelectPhoto, Qwen, Calendar) |
| Refactor generation   | 2 (`9b0d341`, `2394ffa`)                 |
| UI updates            | 2 (`afb96dc`, `db25f24`)                 |
| SDK upgrades          | 2 (`7480d1b`, `7cb95d7`)                 |
| Config/Strings        | 1 (`a3ab89e1`)                           |

## Breaking changes / cần lưu ý

- `CombineFacesUseCase` + `CombineImageUseCase` đã bị xoá → thay bằng `GenerateImageUseCase`.
- `CropGenerationDecider` đã xoá → logic ở `GenerationGate`.
- `AdSplashConfig`, `SplashLanguageHelper`, `RateUtil` đã xoá → dùng SDK 4.3.0.
- Drawable language icons `ic_language_*.webp` đã xoá → do First Open SDK 4.3.0 quản lý.
- DB schema bump (CategoryEntity, StyleEntity) → kiểm tra migration trước khi release.

## Unresolved questions

- Có cần viết changelog public (Play Console release notes) song song không?
- Daily Engagement Notification đã có analytics event tracking chưa?
- Sau khi nâng FO SDK 4.3.0, cần QA full first-open flow (splash → language → onboarding) trên các locale đã rút gọn strings.
