---
title: "Verify Android refresh preserves active list filters"
description: "Check a filtered Android work list after a prepared remote change, confirming that refresh updates data without silently dropping the selected scope."
canonical_url: "https://vostride.com/agent-library/android-flows/pull-refresh-keeps-filter.md"
md_url: "https://vostride.com/agent-library/android-flows/pull-refresh-keeps-filter.md"
content_kind: "recipe"
topic: "android-flows"
---

# Verify Android refresh preserves active list filters

Check a filtered Android work list after a prepared remote change, confirming that refresh updates data without silently dropping the selected scope.

## Risk

Refresh often rebuilds list state, causing the selected filter label and actual query to diverge. A record that crosses the filter boundary makes the failure observable in both directions.

## Fixtures

- An Android sandbox task list target with explicit mobile app state and a test account scoped to one project.
- Three tasks: one assigned to the user, one assigned to someone else, and one initially unassigned; capture immutable identifiers.
- An external sandbox fixture that assigns the third task to the test user at a named checkpoint, plus a read-only assignment oracle.

## Steps

1. Select Assigned to me and verify only the initially assigned task appears, with the filter chip visibly active.
2. At the prepared data checkpoint, verify the external fixture reports that the previously unassigned task now belongs to the test user.
3. Invoke the app-supported refresh control or gesture and verify the loading state settles while Assigned to me remains selected.
4. Verify the refreshed list contains both user-assigned identifiers and excludes the task assigned to someone else, including after scrolling through available results.
5. Open the newly assigned task, verify its assignee, return to the list, and verify the same filter and two-record set remain consistent with the assignment oracle.

## Expected results

- The retained filter label corresponds to the actual visible identifier set.
- The remotely reassigned task becomes visible after refresh without exposing the other assignee task.
- Detail navigation preserves the selected scope and the independently confirmed assignment.

## False-pass traps

- An unchanged filter chip can mask a refresh request that fetched every task.
- Seeing the new task alone does not prove that now-excluded records were removed.

## Cleanup

- Restore the fixture assignments and clear the test account filter preference if shared by later runs.

## Use with agent-qa

Adapt this test design to your application's acceptance criteria and configured target using the [recipe execution guide](/agent-library/software-factory/turn-a-recipe-into-an-agent-qa-test.md). External fixture setup and non-UI checks require your own supported hooks or test tooling. Validate the authored test, execute it, and inspect the completed evidence; this recipe is not a recorded test result.

## References

- [agent-qa mobile testing](/docs/agent-qa/guides/mobile-testing.md)
- [agent-qa test](/docs/agent-qa/configuration/test.md)
- [agent-qa hooks](/docs/agent-qa/guides/hooks.md)

- [Android application QA recipes](/agent-library/android-flows.md)
- [Software factory QA library](/agent-library.md)
