Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Easy repro: Tap back key during gesture selection.
ya...@google.com <ya...@google.com>
an...@google.com <an...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-master-dev
commit dc37dddeefb6910a229d81612a60374678e615b4
Author: Steve McKay <smckay@google.com>
Date: Wed Aug 14 23:48:25 2019
Add support for resetting library state in response to CANCEL events and clearing of selection.
Sepcifically:
- BandSelectionHelper#reset
- GestureSelectionHelper#reset
- Clearing Selection in tracker.
- Reset the OperationMonitor.
- Connect explicit clearSelection (as clients call from back button) to reset.
GestureDetector is already listening for CANCEL events, cleans up its own state internally.
Related cleanups:
- Add onSelectionCleared support to SelectionObserver class.
- Guard all runtime state checking behind DEBUG bit (mis-configuration still throws).
- Deprecate support for setting gesture/pointer tooltypes.
- Define more events in TestEvents.
- Cleanup naming and consoliate some tests in BandSelectionHelperTest.
- Remove support POINTER_UP in BandSelectionHelper...POINTER_UP is for secondary pointer
devices only, which is outside of the domain of BandSelectionHelper.
BUG: 137460699
Test: Passing, added new test related to reset behavior.
Change-Id: Ie7127571dfa95f571ac754b3ae58e03bb153cbe8
M recyclerview/recyclerview-selection/api/1.1.0-alpha07.txt
M recyclerview/recyclerview-selection/api/current.txt
M recyclerview/recyclerview-selection/api/public_plus_experimental_1.1.0-alpha07.txt
M recyclerview/recyclerview-selection/api/public_plus_experimental_current.txt
M recyclerview/recyclerview-selection/api/restricted_1.1.0-alpha07.txt
M recyclerview/recyclerview-selection/api/restricted_current.txt
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/BandSelectionHelperTest.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/DefaultSelectionTrackerTest.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/DefaultSelectionTracker_SingleSelectTest.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/GestureSelectionHelperTest.java
A recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/ResetMangerTest.java
A recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/SelectionTrackerTest.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/TouchInputHandlerTest.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/testing/TestEvents.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/testing/TestRunnable.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/testing/TestSelectionObserver.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/BandSelectionHelper.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/DefaultSelectionTracker.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/GestureDetectorOnItemTouchListenerAdapter.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/GestureSelectionHelper.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/MotionEvents.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/MouseInputHandler.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/OperationMonitor.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/Range.java
A recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/ResetManager.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/SelectionTracker.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/TouchInputHandler.java
https://android-review.googlesource.com/1103351
Branch: androidx-master-dev
commit dc37dddeefb6910a229d81612a60374678e615b4
Author: Steve McKay <smckay@google.com>
Date: Wed Aug 14 23:48:25 2019
Add support for resetting library state in response to CANCEL events and clearing of selection.
Sepcifically:
- BandSelectionHelper#reset
- GestureSelectionHelper#reset
- Clearing Selection in tracker.
- Reset the OperationMonitor.
- Connect explicit clearSelection (as clients call from back button) to reset.
GestureDetector is already listening for CANCEL events, cleans up its own state internally.
Related cleanups:
- Add onSelectionCleared support to SelectionObserver class.
- Guard all runtime state checking behind DEBUG bit (mis-configuration still throws).
- Deprecate support for setting gesture/pointer tooltypes.
- Define more events in TestEvents.
- Cleanup naming and consoliate some tests in BandSelectionHelperTest.
- Remove support POINTER_UP in BandSelectionHelper...POINTER_UP is for secondary pointer
devices only, which is outside of the domain of BandSelectionHelper.
BUG: 137460699
Test: Passing, added new test related to reset behavior.
Change-Id: Ie7127571dfa95f571ac754b3ae58e03bb153cbe8
M recyclerview/recyclerview-selection/api/1.1.0-alpha07.txt
M recyclerview/recyclerview-selection/api/current.txt
M recyclerview/recyclerview-selection/api/public_plus_experimental_1.1.0-alpha07.txt
M recyclerview/recyclerview-selection/api/public_plus_experimental_current.txt
M recyclerview/recyclerview-selection/api/restricted_1.1.0-alpha07.txt
M recyclerview/recyclerview-selection/api/restricted_current.txt
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/BandSelectionHelperTest.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/DefaultSelectionTrackerTest.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/DefaultSelectionTracker_SingleSelectTest.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/GestureSelectionHelperTest.java
A recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/ResetMangerTest.java
A recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/SelectionTrackerTest.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/TouchInputHandlerTest.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/testing/TestEvents.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/testing/TestRunnable.java
M recyclerview/recyclerview-selection/src/androidTest/java/androidx/recyclerview/selection/testing/TestSelectionObserver.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/BandSelectionHelper.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/DefaultSelectionTracker.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/GestureDetectorOnItemTouchListenerAdapter.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/GestureSelectionHelper.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/MotionEvents.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/MouseInputHandler.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/OperationMonitor.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/Range.java
A recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/ResetManager.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/SelectionTracker.java
M recyclerview/recyclerview-selection/src/main/java/androidx/recyclerview/selection/TouchInputHandler.java
ap...@google.com <ap...@google.com> #4
Aiming to have a 1.1 beta release out soon including this fix.
All defensive check stability issues should be resolved with this CL.
All defensive check stability issues should be resolved with this CL.
Description
Version used: 2.0.0-rc01
Devices/Android versions reproduced on:
room.expandProjection can rewrite "SELECT *", but it still shows warnings about cursor mismatch.
Cause:
PojoRowAdapter shows the warnings. It runs before QueryInterpreter transforms the SQL. The ResultInfo is updated, but PojoRowAdapter uses the old ResultInfo from "SELECT * ".