Rewrite launcher UI in Jetpack Compose
2 weeks ago
Authored
Thomas BoomReplace Views/RecyclerView/PreferenceFragments with Compose:
LauncherViewModel-backed home screen and app drawer, Compose
Navigation settings graph, ModalBottomSheet actions, Canvas-free
alphabet index. Keep business logic (prefs, weather, app
management, services) untouched. Verified: clean build, unit
tests, lint, release build, on-device install.
Parent169eec8
60 files changed
- AGENTS.md+36−52
- app/build.gradle.kts+15−3
- app/src/main/AndroidManifest.xml+2−2
- app/src/main/java/eu/ottop/yamlauncher/AppActionBottomSheet.kt+0−255
- app/src/main/java/eu/ottop/yamlauncher/AppMenuAdapter.kt+0−329
- app/src/main/java/eu/ottop/yamlauncher/ContactsAdapter.kt+0−187
- app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt+96−2118
- app/src/main/java/eu/ottop/yamlauncher/compose/AppDrawer.kt+719
−0
app/src/main/java/eu/ottop/yamlauncher/compose/HomeScreen.kt+455−0app/src/main/java/eu/ottop/yamlauncher/compose/LauncherRoot.kt+50−0app/src/main/java/eu/ottop/yamlauncher/compose/LauncherViewModel.kt+896−0app/src/main/java/eu/ottop/yamlauncher/compose/YamTheme.kt+112−0app/src/main/java/eu/ottop/yamlauncher/compose/settings/SettingsComponents.kt+230−0app/src/main/java/eu/ottop/yamlauncher/compose/settings/SettingsScreens.kt+1173−0app/src/main/java/eu/ottop/yamlauncher/compose/settings/SettingsViewModel.kt+227−0app/src/main/java/eu/ottop/yamlauncher/settings/AboutFragment.kt+0−54app/src/main/java/eu/ottop/yamlauncher/settings/AppMenuSettingsFragment.kt+0−153app/src/main/java/eu/ottop/yamlauncher/settings/ContextMenuSettingsFragment.kt+0−27app/src/main/java/eu/ottop/yamlauncher/settings/GestureAppsAdapter.kt+0−114app/src/main/java/eu/ottop/yamlauncher/settings/GestureAppsFragment.kt+0−223app/src/main/java/eu/ottop/yamlauncher/settings/HiddenAppsAdapter.kt+0−114app/src/main/java/eu/ottop/yamlauncher/settings/HiddenAppsFragment.kt+0−203app/src/main/java/eu/ottop/yamlauncher/settings/HomeSettingsFragment.kt+0−216app/src/main/java/eu/ottop/yamlauncher/settings/LocationFragment.kt+0−178app/src/main/java/eu/ottop/yamlauncher/settings/LocationListAdapter.kt+0−99app/src/main/java/eu/ottop/yamlauncher/settings/SettingsActivity.kt+19−400app/src/main/java/eu/ottop/yamlauncher/settings/SettingsFragment.kt+0−143app/src/main/java/eu/ottop/yamlauncher/settings/SharedPreferenceManager.kt+19−0app/src/main/java/eu/ottop/yamlauncher/settings/SpinnerPreference.kt+0−116app/src/main/java/eu/ottop/yamlauncher/settings/TitleProvider.kt+0−14app/src/main/java/eu/ottop/yamlauncher/settings/UISettingsFragment.kt+0−27app/src/main/java/eu/ottop/yamlauncher/tasks/BatteryReceiver.kt+7−26app/src/main/java/eu/ottop/yamlauncher/tasks/NotificationListener.kt+3−1app/src/main/java/eu/ottop/yamlauncher/utils/Animations.kt+0−203app/src/main/java/eu/ottop/yamlauncher/utils/AppMenuEdgeFactory.kt+0−70app/src/main/java/eu/ottop/yamlauncher/utils/AppMenuLinearLayoutManager.kt+0−78app/src/main/java/eu/ottop/yamlauncher/utils/AppUtils.kt+2−2app/src/main/java/eu/ottop/yamlauncher/utils/UIUtils.kt+3−491app/src/main/java/eu/ottop/yamlauncher/utils/WeatherSystem.kt+4−5app/src/main/java/eu/ottop/yamlauncher/views/AlphabetIndexView.kt+0−290app/src/main/res/layout-land/activity_main.xml+0−543app/src/main/res/layout/activity_main.xml+0−520app/src/main/res/layout/activity_settings.xml+0−19app/src/main/res/layout/app_action_bottom_sheet.xml+0−147app/src/main/res/layout/app_item_layout.xml+0−78app/src/main/res/layout/fragment_about.xml+0−96app/src/main/res/layout/fragment_gesture_apps.xml+0−47app/src/main/res/layout/fragment_hidden_apps.xml+0−48app/src/main/res/layout/fragment_location.xml+0−64app/src/main/res/layout/location_item_layout.xml+0−46app/src/main/res/layout/preference_spinner.xml+0−13app/src/main/res/values/attrs.xml+0−14app/src/main/res/values/styles.xml+0−14app/src/main/res/xml/app_menu_preferences.xml+0−137app/src/main/res/xml/context_menu_preferences.xml+0−42app/src/main/res/xml/home_preferences.xml+0−302app/src/main/res/xml/root_preferences.xml+0−130app/src/main/res/xml/ui_preferences.xml+0−117build.gradle.kts+1−0gradle/libs.versions.toml+17−9