Migrate UI to Jetpack Compose with Material 3 design

- Replace XML layouts with Compose screens for all 5 Activities
- Implement Material 3 theme with Google Blue/Green color scheme matching app icon
- Add device-aware navigation with bottom tabs for Samsung devices
- Remove action bar for modern edge-to-edge UI design
- Update Kotlin to 1.9.22 for Compose Compiler compatibility
- Add Compose dependencies and configure build system
- Implement MainViewModel for upload state management
- Create reusable dialog components for upload parameters and results
- Preserve all existing Java controllers and services (UI-only migration)
This commit is contained in:
2025-12-27 18:47:29 -05:00
parent 7b66e8cf68
commit 2c8315cb5d
20 changed files with 2544 additions and 7 deletions

View File

@@ -22,22 +22,25 @@
android:usesCleartextTraffic="false"
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar">
<!-- Main Activity -->
<!-- NEW: Compose Main Activity (LAUNCHER) -->
<activity
android:name=".view.MainActivity"
android:exported="true">
android:name=".ComposeMainActivity"
android:exported="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<!-- LAUNCHER - App starts here -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Share intent filter for files -->
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
<!-- Share intent filter for multiple files -->
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
@@ -45,7 +48,14 @@
<data android:mimeType="*/*" />
</intent-filter>
</activity>
<!-- OLD: Legacy MainActivity (DEPRECATED - kept for reference only) -->
<activity
android:name=".view.MainActivity"
android:exported="false">
<!-- Removed LAUNCHER intent - now using ComposeMainActivity -->
</activity>
<!-- Upload History Activity -->
<activity
android:name=".view.UploadHistoryActivity"