Skip to content

Display installed Android packages in WinDroid Studio #33

Description

@SamratB8

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    apk managementInstalled app listing, launching, uninstalling, and Android package workflows.enhancementNew feature or requesthelp wantedExtra attention is neededphase-2Work planned for the second development phase after the initial foundation is complete.winuiWork related to the WinUI 3 desktop interface, windows, controls, styling, and user experience.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Backlog

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions