Commit graph

441 commits

Author SHA1 Message Date
Adam M. Szalkowski
b032c486db chore: version bump 2026-07-16 14:29:50 +02:00
Adam M. Szalkowski
19c6a9bd3d feat(ads): show placeholder during ad loading 2026-07-16 14:06:40 +02:00
Adam M. Szalkowski
47b768b683 feat(settings): add "Tap to launch" option 2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
5a6469c165 feat(recents-favorites-shortcuts): migration and improved storage 2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
9e335ee38d feat(icons): introduce ActivityIcon, core utilities and UI foundations 2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
35c0f610bc chore(build): project infrastructure upgrade 2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
6dc437c3ab chore: update AGENTS.md 2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
afa2109efa chore: translation sync for new features
- Add backup/restore strings for all 50 locales
- Add shortcuts tab, save/clear strings for all locales
- Rename Recents tab to 'Recently Launched'
- Clean up FavoritesFragment stray empty line
2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
add5387d37 feat: intent editor clear button and auto-apply
- Add Clear button to reset intent editor fields
- Auto-apply intent property changes
- EditIntentViewModelTest: add clear test
- ActivityDetailsIntegrationTest: update intent dialog dismiss
2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
8501997e4d feat: improved icon picker with search and filtering
- Migrate icon picker from GridView to RecyclerView with GridLayoutManager
- Add Material3 full-screen dialog with toolbar and search bar
- Add icon filtering by resource name (case-insensitive)
- Add status bar showing filtered/total count
- Add CheckerboardDrawable for transparency preview
- Add dynamic grid span count based on available width
- Add icon tooltips on long-press
- IconPickerIntegrationTest and IconListAdapterTest
2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
cf9a40de29 feat: backup and restore
- Add BackupRepository interface and BackupRepositoryImpl
- Add Export/Import backup UI in SettingsFragment
- JSON export/import of favorites, recents, shortcuts, settings, signature key
- Database migration support (v4 to v5)
- BackupRepositoryTest for round-trip verification
- Add backupRepository @BindValue to integration tests
2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
ae741e3305 feat: pinned shortcuts, details configuration, and base list refactoring
- Add pinned shortcuts management (ShortcutsRepository, ShortcutEntity, DB v5)
- Add DetailsConfiguration for per-screen UI visibility control
- Refactor BaseActivityList/ViewModel/Fragment to be generic
- Add plugin dropdown to activity details
- Fix duplicate shortcuts/recents bug
- Add save/save-as-new to details screen
- Add Shortcuts tab to bottom navigation
- Include related unit and integration tests
2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
46ba84ebd9 fix(build): add Nix development shell and build tools version 2026-07-16 14:06:39 +02:00
Adam M. Szalkowski
6f4a318499 chore: cleanup 2026-07-08 21:52:02 +02:00
Adam M. Szalkowski
4a1f531829 fix(flake): access to android emulator 2026-07-07 22:50:55 +02:00
Adam M. Szalkowski
191ff996f3 feat: add persistence with Room database and finalize base class extraction
- Introduce Room database (AppDatabase, Entities, FavoriteDao, RecentDao)
- Replace SharedPreferences-backed FavoritesRepository/RecentsRepository with Room-backed implementations
- Add DatabaseModule providing FavoriteDao/RecentDao
- Update ShortcutRequest with additional persistence fields
- Create FavoritesFragment/FavoritesViewModel and RecentsFragment/RecentsViewModel
- Rename BaseShortcutListFragment -> BaseActivityListFragment
- Rename BaseShortcutListViewModel -> BaseActivityListViewModel
- Rename ShortcutListAdapter -> ActivityInfoAdapter
- Update nav_graph to use shortcutRequest arg (remove activityComponentName)
- Finalize ActivityDetailsViewModel with persistence, icon resize, and intent extras
- Remove SerializationUtils and ShortcutDao (replaced by Room entities)
- Update test files for persistence layer
- Update flake.nix dependencies
2026-07-07 22:50:55 +02:00
Adam M. Szalkowski
365868a1a8 feat: add icon cropping with gallery picker and size validation
- Add CropIconDialogFragment with pinch-to-zoom and crop functionality
- Add DrawableUtil with bitmap resizing and icon conversion utilities
- Add getIcon(Uri) to IconLoader for loading icons from gallery URIs
- Add editedIconUri tracking and updateEditedIcon/updateIconUri methods
- Add resizeIconIfNeeded helper to prevent oversized icons for Binder/Room
- Replace direct icon picker with popup menu (library/gallery)
- Update icon layout: move picker beside name field, remove resource text input
- Add icon crop strings and drawable resources
- Register activity result launcher for image picking
2026-07-07 21:57:29 +02:00
Adam M. Szalkowski
635e9cb328 feat: add intent extras editing via EditIntentDialog
- Add IntentDef/ExtraDef domain model for intent editing
- Add EditIntentDialogFragment and EditIntentViewModel for editing intent action, data, MIME type, categories, and extras
- Replace ActivityIntent.kt functions with IntentDef-based versions
- Wire EditIntentDialog into ActivityDetailsFragment menu
- Add validation for duplicates, field requirements, and type correctness
- Add intent-related string resources and drawables
- Add unit tests for new ViewModel and utility functions
2026-07-07 21:57:29 +02:00
Adam M. Szalkowski
43eb5b30b2 feat: migrate navigation to ShortcutRequest and refactor ViewModel
- Add Parcelable implementation to ShortcutRequest for nav argument support
- Add ShortcutRequest as optional nav argument (backward-compatible with ComponentName)
- Update ActivityDetailsViewModel to read ShortcutRequest from SavedStateHandle
- Update ActivityListFragment and MainActivity to create and pass ShortcutRequest
- Add name/icon fields to LaunchRequest
- Fix launcherPlugin parsing in ViewIntentParserImpl for INTENT_LAUNCH_ACTIVITY
- Add espresso-intents test dependency
- Minor cleanup: inlined variable, formatting fixes
2026-07-07 21:57:29 +02:00
Adam M. Szalkowski
26e18f7b5e chore(flake): add Android development tooling 2026-07-06 09:53:25 +02:00
Adam M. Szalkowski
56fee4c18f chore: update store listings via script 2026-07-06 09:49:52 +02:00
Adam M. Szalkowski
730cc50a67 chore: version bump 2026-07-06 08:41:04 +02:00
Adam M. Szalkowski
c58e5c17fe chore(docs): update discord invitation link 2026-07-06 08:41:04 +02:00
Adam M. Szalkowski
cc97238263 chore: version bump 2026-07-06 08:41:04 +02:00
Adam M. Szalkowski
a0a0827c31 fix: crash when shortcut name is empty 2026-07-06 08:41:04 +02:00
Adam M. Szalkowski
11bb30fcfe fix: crash on GA initialization 2026-07-06 08:41:04 +02:00
Adam M. Szalkowski
fafad48e66 fix: crash on QuickSettings opening 2026-07-06 08:41:04 +02:00
Adam M. Szalkowski
5c072ee5bd chore(refactor): use intents in LaunchRequest and ShortcutRequest 2026-07-06 08:41:04 +02:00
Adam M. Szalkowski
2ba06beadc chore: add tests for shortcut creation 2026-07-02 20:38:09 +02:00
Adam M. Szalkowski
b8b9d90151 chore: version bump 2026-07-02 20:38:09 +02:00
Adam M. Szalkowski
462384629f fix: shortcuts not proxied via ShortcutActivity 2026-07-02 20:38:09 +02:00
Adam M. Szalkowski
75a1460467 fix(CI): error when creating screenshots folder 2026-07-01 09:53:01 +02:00
Adam M. Szalkowski
c513f34499 fix(docs): shorten whatsnew for Google Play 2026-07-01 09:53:01 +02:00
Adam M. Szalkowski
8318d1ecc8 fix(CI): trying to fix flaky tests and collect screenshots 2026-07-01 09:53:01 +02:00
Adam M. Szalkowski
2f1f9b2218 chore: version bump 2026-07-01 09:53:01 +02:00
Adam M. Szalkowski
ca143bd206 fix(docs): consistency in intent action and extra naming 2026-07-01 09:53:01 +02:00
Adam M. Szalkowski
29de0b1173 fix(CI): flakiness in ShortcutForegroundTest 2026-07-01 09:53:01 +02:00
Adam M. Szalkowski
332b5e94b6 chore(docs): update whatsnew 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
bc31a14d7c fix(CI): update release workflow 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
cef18345a9 chore: version bump 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
fc08fbdc76 chore: update .gitignore 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
c650f35177 chore: translation updates 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
26513fb60c chore(docs): links to organization and discord 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
6a29110f88 fix(test): scroll to controls before click 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
6905d05751 fix(test): dismiss system dialogs before integration tests 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
660c22e63c feat(ads): show fallback banner promoting ActivityLauncherPro 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
b0264c1699 chore(CI): apply suggestions from CodeQL
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
c59e2d1f06 fix: fixes and refactorings to launching/shortcutting 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
31215d3bc4 feat: navigate to activity details on failed signature check 2026-06-30 17:04:01 +02:00
Adam M. Szalkowski
e93357794b feat(plugins): chooser for launch and shortcut plugins 2026-06-30 17:04:01 +02:00