Our app makes use of a 'Shopping Cart' type metaphor, in which users can select from a variety of items, and then confirm or remove all these items at once. We'll call this explicit save.
The trouble is when we tested on an Android user, this pattern seemed off to him, and the behavior of removing all items when pressing the 'X' was jarring. His assumption was that when selecting an item, it would be saved implicitly, and that the 'X' button would effectively have the same behavior of the 'Done' button.
Is this a commonly expected behavior on Android? (I'm an iOS user). And if so, is it horribly jarring to keep this behavior?
EDIT: The question focuses more on the behavior of the top-left nav button. When a user presses this button, they navigate back to the app's home screen. The question is: when this button is pressed, is the expectation to commit the changes made to the card, or discard them?
download bmml source – Wireframes created with Balsamiq Mockups
Some notes about this mock:
1) The search bar and auto-complete suggestions appear as an expanded section over top of the cart screen.
2) Since search bar expands and shrinks to show the Cart, the 'X' button is the same UI element the whole time (to try and eliminate confusion about where it will navigate to)
3) Users have the ability to remove items from the cart directly from the list.
4) This is not actually a Shopping app. There is no money exchanged when I press 'Done'. Think of it as putting together a list of things I did today, and 'Done' gives me feedback on the things that I did.