Fixed
Status Update
Comments
il...@google.com <il...@google.com> #2
Duplicate of internal issue
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 45a1bc4a15b5b10d0635d79fb55df2aced5a2a4a
Author: Alan Viverette <alanv@google.com>
Date: Thu May 14 18:06:25 2020
Only apply DayNight changes to Activity-hosted delegates
Dialogs can't receive configuration change callbacks, so there's no point
in updating their configurations. They'll have to be destroyed and re-
created by their host activities. Also, dialogs were eating the changes.
Fixes: 155379937
Test: NightModeForegroundDialogTestCase and appcompat test suite
Change-Id: Ifa18d9d42268ec8821223942dc6c817ecabbed7f
A appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeDialogFragment.java
A appcompat/appcompat/src/androidTest/java/androidx/appcompat/app/NightModeForegroundDialogTestCase.kt
M appcompat/appcompat/src/main/java/androidx/appcompat/app/AppCompatDelegate.java
M appcompat/appcompat/src/main/java/androidx/appcompat/app/AppCompatDelegateImpl.java
gi...@gmail.com <gi...@gmail.com> #3
I think, sActiveDelegates
meant "live" delegates. Anyway, now there's a mess :(
private static final ArraySet<WeakReference<AppCompatDelegate>> sActivityDelegates;
private static final Object sActivityDelegatesLock;
static void addActiveDelegate(@NonNull AppCompatDelegate delegate);
static void removeActivityDelegate(@NonNull AppCompatDelegate delegate);
private static void removeDelegateFromActives(@NonNull AppCompatDelegate toRemove);
private static void applyDayNightToActiveDelegates();
Source:
il...@google.com <il...@google.com>
ap...@google.com <ap...@google.com> #5
Rc02 is work for me, thanks for your work!
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-master-dev
commit 1a5551e0e3145b1e309577a1282d28fa1b14e956
Author: Ian Lake <ilake@google.com>
Date: Mon Dec 03 13:22:31 2018
Correct naming of add/removeOnDestinationChangedListener
Ensure that the add and remove methods
use the same naming convention as the
listener class itself
Test: ./gradlew bOS
BUG: 118670572
Change-Id: I71dd174f7abd3a870c12b26c0aef64ff1512ceea
M navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/NavigationActivity.kt
M navigation/runtime/api/1.0.0-alpha08.txt
M navigation/runtime/api/current.txt
M navigation/runtime/src/main/java/androidx/navigation/NavController.java
M navigation/ui/src/main/java/androidx/navigation/ui/AbstractAppBarOnDestinationChangedListener.java
M navigation/ui/src/main/java/androidx/navigation/ui/CollapsingToolbarOnDestinationChangedListener.java
M navigation/ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/ui/src/main/java/androidx/navigation/ui/ToolbarOnDestinationChangedListener.java
https://android-review.googlesource.com/839441
https://goto.google.com/android-sha1/1a5551e0e3145b1e309577a1282d28fa1b14e956
Branch: androidx-master-dev
commit 1a5551e0e3145b1e309577a1282d28fa1b14e956
Author: Ian Lake <ilake@google.com>
Date: Mon Dec 03 13:22:31 2018
Correct naming of add/removeOnDestinationChangedListener
Ensure that the add and remove methods
use the same naming convention as the
listener class itself
Test: ./gradlew bOS
BUG: 118670572
Change-Id: I71dd174f7abd3a870c12b26c0aef64ff1512ceea
M navigation/integration-tests/testapp/src/main/java/androidx/navigation/testapp/NavigationActivity.kt
M navigation/runtime/api/1.0.0-alpha08.txt
M navigation/runtime/api/current.txt
M navigation/runtime/src/main/java/androidx/navigation/NavController.java
M navigation/ui/src/main/java/androidx/navigation/ui/AbstractAppBarOnDestinationChangedListener.java
M navigation/ui/src/main/java/androidx/navigation/ui/CollapsingToolbarOnDestinationChangedListener.java
M navigation/ui/src/main/java/androidx/navigation/ui/NavigationUI.java
M navigation/ui/src/main/java/androidx/navigation/ui/ToolbarOnDestinationChangedListener.java
il...@google.com <il...@google.com> #7
We've renamed the listener to OnDestinationChangedListener to make it more clear that it is only called when NavController's getCurrentDestination() or its arguments change, precluding activity destinations.
Description
Version used: 1.0.0-alpha07
Devices/Android versions reproduced on: HTC One, API 21
When the defined destination for an action in a given graph is another activity, the NavController.OnNavigatedListener registered for the origin Activity NavController is never called.
Although the new Activity has its own NavController, I think this navigation event is also relevant for the origin Activity NavController.