Fixed
Status Update
Comments
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-master-dev
commit e36c65f67e49ddbfa0080542295f4a4850ae17da
Author: Sumir Kataria <sumir@google.com>
Date: Tue Aug 07 13:04:03 2018
Enforce ConstraintTracker#setState is on the main thread.
- setState now asserts that we are on the main thread
- Moved assert*Thread methods into their own utils
- Annotated several tests manually calling onBroadcastReceive
as @UiThreadTest as our broadcast receivers only operate on
the main thread (they use the default registerReceiver
method)
- NetworkCallbacks are invoked on non-main threads by default;
in this case, we re-post them to the main thread
This is part of the solution to a concurrency exception in
ConstraintTracker.
Bug: 112272753
Test: Updated and ran tests
Change-Id: I7011e5993b814f4fcafe861e283a827cd1edee12
M work/workmanager/build.gradle
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/BatteryChargingTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/BatteryNotLowTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/ConstraintTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/StorageNotLowTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java
M work/workmanager/src/main/java/androidx/work/impl/WorkManagerImpl.java
M work/workmanager/src/main/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcher.java
M work/workmanager/src/main/java/androidx/work/impl/constraints/trackers/ConstraintTracker.java
M work/workmanager/src/main/java/androidx/work/impl/constraints/trackers/NetworkStateTracker.java
A work/workmanager/src/main/java/androidx/work/impl/utils/ThreadUtils.java
https://android-review.googlesource.com/727429
https://goto.google.com/android-sha1/e36c65f67e49ddbfa0080542295f4a4850ae17da
Branch: androidx-master-dev
commit e36c65f67e49ddbfa0080542295f4a4850ae17da
Author: Sumir Kataria <sumir@google.com>
Date: Tue Aug 07 13:04:03 2018
Enforce ConstraintTracker#setState is on the main thread.
- setState now asserts that we are on the main thread
- Moved assert*Thread methods into their own utils
- Annotated several tests manually calling onBroadcastReceive
as @UiThreadTest as our broadcast receivers only operate on
the main thread (they use the default registerReceiver
method)
- NetworkCallbacks are invoked on non-main threads by default;
in this case, we re-post them to the main thread
This is part of the solution to a concurrency exception in
ConstraintTracker.
Bug: 112272753
Test: Updated and ran tests
Change-Id: I7011e5993b814f4fcafe861e283a827cd1edee12
M work/workmanager/build.gradle
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/BatteryChargingTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/BatteryNotLowTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/ConstraintTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/constraints/trackers/StorageNotLowTrackerTest.java
M work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java
M work/workmanager/src/main/java/androidx/work/impl/WorkManagerImpl.java
M work/workmanager/src/main/java/androidx/work/impl/background/systemalarm/SystemAlarmDispatcher.java
M work/workmanager/src/main/java/androidx/work/impl/constraints/trackers/ConstraintTracker.java
M work/workmanager/src/main/java/androidx/work/impl/constraints/trackers/NetworkStateTracker.java
A work/workmanager/src/main/java/androidx/work/impl/utils/ThreadUtils.java
il...@google.com <il...@google.com> #3
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 63c127b60222bf015ef4a8281c31a47025dfe310
Author: Ian Lake <ilake@google.com>
Date: Thu Oct 18 16:07:53 2018
Expose AppBarConfiguration APIs in navigation-ktx
Previously, navigation-ktx methods totally hid the
AppBarConfiguration object from the API surface.
While convenient, this leads to issues where the API
surface continues to change whenever AppBarConfiguration
changes. It also prevented developers from reusing the
same AppBarConfiguration object in other APIs, such
as the NavController.navigateUp(AppBarConfiguration) API
needed for ActionBar integration.
By providing a AppBarConfiguration extension constructors
to encapsulate the AppBarConfiguration.Builder, we retain
much of the improved API surface while making it clear that
we're using AppBarConfiguration as the primitive for
all of these APIs.
The Kotlin extensions now mirror the NavigationUI API surface,
with a method that takes a DrawerLayout (without a default
value to prevent ambiguous calls) and a separate method that
takes an AppBarConfiguration.
Test: testapp still works
BUG: 117333663
Change-Id: I46c58731913a514a373783b6e791420272e2c83b
M navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/NavigationActivity.kt
M navigation/ui/ktx/api/1.0.0-alpha07.txt
M navigation/ui/ktx/src/main/java/androidx/navigation/ui/Activity.kt
A navigation/ui/ktx/src/main/java/androidx/navigation/ui/AppBarConfiguration.kt
M navigation/ui/ktx/src/main/java/androidx/navigation/ui/CollapsingToolbarLayout.kt
M navigation/ui/ktx/src/main/java/androidx/navigation/ui/NavController.kt
M navigation/ui/ktx/src/main/java/androidx/navigation/ui/Toolbar.kt
M navigation/ui/src/main/java/androidx/navigation/ui/AppBarConfiguration.java
https://android-review.googlesource.com/793932
https://goto.google.com/android-sha1/63c127b60222bf015ef4a8281c31a47025dfe310
Branch: androidx-master-dev
commit 63c127b60222bf015ef4a8281c31a47025dfe310
Author: Ian Lake <ilake@google.com>
Date: Thu Oct 18 16:07:53 2018
Expose AppBarConfiguration APIs in navigation-ktx
Previously, navigation-ktx methods totally hid the
AppBarConfiguration object from the API surface.
While convenient, this leads to issues where the API
surface continues to change whenever AppBarConfiguration
changes. It also prevented developers from reusing the
same AppBarConfiguration object in other APIs, such
as the NavController.navigateUp(AppBarConfiguration) API
needed for ActionBar integration.
By providing a AppBarConfiguration extension constructors
to encapsulate the AppBarConfiguration.Builder, we retain
much of the improved API surface while making it clear that
we're using AppBarConfiguration as the primitive for
all of these APIs.
The Kotlin extensions now mirror the NavigationUI API surface,
with a method that takes a DrawerLayout (without a default
value to prevent ambiguous calls) and a separate method that
takes an AppBarConfiguration.
Test: testapp still works
BUG: 117333663
Change-Id: I46c58731913a514a373783b6e791420272e2c83b
M navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/NavigationActivity.kt
M navigation/ui/ktx/api/1.0.0-alpha07.txt
M navigation/ui/ktx/src/main/java/androidx/navigation/ui/Activity.kt
A navigation/ui/ktx/src/main/java/androidx/navigation/ui/AppBarConfiguration.kt
M navigation/ui/ktx/src/main/java/androidx/navigation/ui/CollapsingToolbarLayout.kt
M navigation/ui/ktx/src/main/java/androidx/navigation/ui/NavController.kt
M navigation/ui/ktx/src/main/java/androidx/navigation/ui/Toolbar.kt
M navigation/ui/src/main/java/androidx/navigation/ui/AppBarConfiguration.java
Description
Version used: 1.0.0-alpha06
Currently, NavigationUI is hard coded to only hide the Up button on the start destination of the navigation graph. Particularly in cases where you're using bottom nav or a navigation drawer, it is advantageous to hide the Up button on all of those top level destinations.
NavigationUI should offer a way to pass in exactly what those top level destinations are. It should default to the start destination of the navigation graph, as it was before.