Summary
Create an initial Apps page or dashboard section that displays installed Android package identifiers from the currently selected device or emulator.
The interface should support refreshing, local text filtering, loading feedback, empty states, and command failures.
This issue should use the installed-package service rather than executing ADB commands directly from the view.
Background
After the package-listing service is available, WinDroid Studio needs a user interface for viewing the returned packages.
This will form the foundation for future launch, uninstall, clear-data, and package-details features.
Dependencies
This issue depends on:
A connected and selected target device is required.
UI Requirements
Create an Apps page or section with:
- Selected-device indicator
- Refresh button
- Search or filter field
- Package list
- Package count
- Loading indicator
- Empty state
- Error state
- Message when no device is selected
The first version may display package identifiers only.
Device Selection Requirements
When no device is selected:
- Disable package refresh
- Display a clear instruction to select a device
When the selected device changes:
- Clear packages from the previous device immediately
- Load packages for the new device only after an explicit refresh, or automatically if that behavior is documented
- Do not show packages belonging to another device
- Cancel any outdated request where practical
Refresh Requirements
The refresh action should:
- Run asynchronously
- Disable or guard against duplicate refresh requests
- Display progress
- Replace the current package list only with results for the selected device
- Display useful ADB errors
- Avoid freezing the application
Filtering Requirements
Text filtering should:
- Work locally without running another ADB command
- Be case-insensitive
- Match partial package identifiers
- Update the visible package count
- Handle an empty search field
- Avoid modifying the underlying complete package collection
Empty and Error States
Provide clear states for:
- No device selected
- Selected device disconnected
- Device contains no returned packages
- ADB is missing
- Package command fails
- Operation is cancelled
Tasks
- Create the Apps page or section
- Add navigation if required
- Display the selected device
- Add package refresh
- Bind returned packages to the UI
- Add local text filtering
- Display package count
- Add loading state
- Add empty state
- Add error state
- Clear stale data when the selected device changes
- Ensure calls occur through the service layer
- Add accessibility labels
Accessibility Requirements
- The package list should support keyboard navigation
- The search field should have an accessible label
- Loading and error states should be available to assistive technologies
- Important state information should not rely on colour alone
- Text should remain readable under Windows scaling
Out of Scope
This issue does not need to:
- Display app icons
- Resolve app display names
- Launch apps
- Uninstall packages
- Clear app data
- Display version information
- Categorize system and user apps
- Add context menus
- Retrieve online metadata
- Add advanced package filters
Acceptance Criteria
- The user can open the Apps page or section.
- The currently selected device is clearly identified.
- The user can refresh installed packages.
- Packages are displayed as structured list items.
- Package filtering works locally and is case-insensitive.
- Package count updates correctly.
- No-device, loading, empty, cancelled, and error states are visible.
- Changing devices clears stale package information.
- Repeated refresh actions do not create conflicting operations.
- The UI remains responsive while packages are loaded.
- ADB commands are not executed directly from the view.
- Keyboard navigation works for the package list.
- The full solution builds successfully in Debug and Release configurations.
- No new compiler warnings are introduced.
Summary
Create an initial Apps page or dashboard section that displays installed Android package identifiers from the currently selected device or emulator.
The interface should support refreshing, local text filtering, loading feedback, empty states, and command failures.
This issue should use the installed-package service rather than executing ADB commands directly from the view.
Background
After the package-listing service is available, WinDroid Studio needs a user interface for viewing the returned packages.
This will form the foundation for future launch, uninstall, clear-data, and package-details features.
Dependencies
This issue depends on:
A connected and selected target device is required.
UI Requirements
Create an Apps page or section with:
The first version may display package identifiers only.
Device Selection Requirements
When no device is selected:
When the selected device changes:
Refresh Requirements
The refresh action should:
Filtering Requirements
Text filtering should:
Empty and Error States
Provide clear states for:
Tasks
Accessibility Requirements
Out of Scope
This issue does not need to:
Acceptance Criteria