Status Update
Comments
as...@gmail.com <as...@gmail.com> #2
Branch: androidx-master-dev
commit d0a10be065a3a629e3835f28d35804c91d8d2e4d
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
cm...@google.com <cm...@google.com>
ko...@gmail.com <ko...@gmail.com> #3
We've updated the error message to make it more clear what destination you're currently on - this will help you determine if your call to setGraph()
hasn't happened yet (you have a null current destination) or if you've popped to another destination unexpectedly.
lf...@google.com <lf...@google.com> #4
Branch: snap-temp-L69500000699825513
commit 6ada6bd039f4a28d2760f4912093abc60ab54d84
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
ga...@gmail.com <ga...@gmail.com> #5
Branch: snap-temp-L62000000699827533
commit e5780347bfba28e4a500bd964d273c282c12dceb
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
be...@microsoft.com <be...@microsoft.com> #6
Branch: snap-temp-L46100000699831674
commit 7ab7f8b1967945ba0d506120dbc070ecbfb37c13
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
ma...@gmail.com <ma...@gmail.com> #7
Branch: snap-temp-L91000000699844097
commit 4101ca222554fdfae678ff1e6e47b1a4ab319a56
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
bo...@google.com <bo...@google.com>
la...@gmail.com <la...@gmail.com> #8
Branch: snap-temp-L34200000699848945
commit 0da3ed71fa5545646d44fb44219b31e7e5621f8f
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
sh...@squareup.com <sh...@squareup.com> #9
Branch: snap-temp-L04700000699849955
commit 12b13608ec1155b5780fe44f5ab07cdc93c5ba90
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
re...@gmail.com <re...@gmail.com> #10
Branch: snap-temp-L69500000699869549
commit 7204d04ad74baf9816389e27778266391fbd79a5
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
ma...@gmail.com <ma...@gmail.com> #11
Branch: snap-temp-L31300000699869852
commit 398a1fe7bb7792589189574aec5f6e77bb749229
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
ga...@gmail.com <ga...@gmail.com> #12
Branch: snap-temp-L53700000699921463
commit 31027c16ff20b10e78093f8de205c81fc49dfc92
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
li...@gmail.com <li...@gmail.com> #13
Branch: snap-temp-L25200000699921867
commit 63e58ff4f522eb70dec6c0749679fb6b963698d8
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
sv...@whisp.de <sv...@whisp.de> #14
Branch: snap-temp-L07700000699933785
commit 56fe0d47de20fb430c4280332a20eb96076dd44b
Author: Ian Lake <ilake@google.com>
Date: Mon Sep 14 16:10:06 2020
Mention the current destination in getBackStackEntry errors
Improve the debugging experience for "No destination
with ID..." errors in getBackStackEntry() by mentioning
exactly destination the NavController is on. This would
allow developers to know if they have called popBackStack()
to a destination they don't expect to be at or if
they have not called setGraph() at all (where the
current destination would be null).
Test: existing tests pass
BUG: 168311416
Change-Id: Ia96b6732d7caadbddf31b7f35a1a419407ff6e25
(cherry picked from commit d0a10be065a3a629e3835f28d35804c91d8d2e4d)
M navigation/navigation-runtime/src/main/java/androidx/navigation/NavController.java
rk...@google.com <rk...@google.com> #15
Caused by java.lang.IllegalArgumentException
No destination with ID 2131427956 is on the NavController's back stack in HiltNavGraphViewModelLazy.kt:49) , we are using androidx.hilt:hilt-navigation-fragment:1.0.0
androidx.navigation.NavController.getBackStackEntry (NavController.kt:2204)
androidx.hilt.navigation.fragment.HiltNavGraphViewModelLazyKt$hiltNavGraphViewModels$backStackEntry$2.invoke (HiltNavGraphViewModelLazyKt.java:49)
$special$$inlined$hiltNavGraphViewModels$4.invoke (HiltNavGraphViewModelLazy.kt:49)
is there any way to prevent it?
rk...@google.com <rk...@google.com> #16
Could we further improve this by indicating the name of the destination instead of just the ID number?
ma...@gmail.com <ma...@gmail.com> #17
If you use a resource to provide the name it will already be displayed. Along with any route or label you may have added.
rk...@google.com <rk...@google.com> #18
Is there any way to safeguard against this? I am not able to reproduce the error myself, but get a lot of errors show up in Crashlytics
ma...@gmail.com <ma...@gmail.com> #19
rk...@google.com <rk...@google.com> #20
Same here. It is not fixed. Can you reopen and look again?
rk...@google.com <rk...@google.com> #21
ma...@gmail.com <ma...@gmail.com> #22
rk...@google.com <rk...@google.com> #23
ma...@gmail.com <ma...@gmail.com> #24
rk...@google.com <rk...@google.com> #25
ad...@linkedin.com <ad...@linkedin.com> #26
This looks like not an easy issue to fix! I also personally dislike fixing race-condition bugs by adding delays as these bugs could resurface back after some time.
Do you think we could disable mic by default and add an option to manually enable it for those who need it? The audio recording isn't a main stream feature for many developers
rk...@google.com <rk...@google.com> #27
This looks like not an easy issue to fix! ... as these bugs could resurface back after some time.
I agree :(
we could disable mic by default
If we go this way, we probably want to add an option to disable it.
ad...@linkedin.com <ad...@linkedin.com> #28
If we go this way, we probably want to add an option to disable it.
This also works, at least we could disable mic manually and have the sound quality back. Do you think you could use it as a short term fix while you are looking for a better solution?
rk...@google.com <rk...@google.com> #29
a short term fix while you are looking for a better solution?
I'll talk about it on our weekly meeting on Tuesday.
dm...@gmail.com <dm...@gmail.com> #30
ad...@linkedin.com <ad...@linkedin.com> #31
rk...@google.com <rk...@google.com> #32
rk...@google.com <rk...@google.com> #33
I figured out how to pass runtime values into virtio-snd
and hda-duplex
, we should be able to avoid opening the microphone in those devices. When I tried the same with goldfish_audio
, the QEMU says -device goldfish_audio,debug=42: Parameter 'driver' expects pluggable device type
. We probably want to retire (not sure if we can just disable it) this device instead of hacking it further.
rk...@google.com <rk...@google.com> #34
I merged a
ma...@gmail.com <ma...@gmail.com> #35
"Sounds like" (pun intended) a very good improvement!
BTW: What decides which audio driver to use (I mean with which logic virtio-snd
or hda-duplex
or goldfish_audio
is used) ?
be...@gmail.com <be...@gmail.com> #36
rk...@google.com <rk...@google.com> #37
What decides which audio driver to use?
virtio-snd is a drop-in replacement for Intel HDA, but the linux driver is required. If
if this fix will apply to me (I'm using an M1 mac) and
Yes, it will apply for Apple M1.
when the fix will go out?
I still need to figure out what to do with goldfish_audio if our leads will not buy my change to disable the microphone permanently on goldfish_audio. One everything is merged, we should release the changes into the canary channel in weeks.
ma...@gmail.com <ma...@gmail.com> #38
Cool thanks!
If the system image says it has the driver, then we use the virtio-snd device
Do you know from which API do system images ship with the linux virtio driver?
rk...@google.com <rk...@google.com> #39
T is the first system image with virtio-snd drivers.
ma...@gmail.com <ma...@gmail.com> #40
Super! To sum it up: with any emu image with at least api26 the mic will obey the hw.audioInput
setting in the .ini file otherwise (for older emu images) the mic will always be disabled. Correct?
rk...@google.com <rk...@google.com> #41
Unfortunately we create the goldfish_audio device unconditionally, it is not even a sound card from the qemu point of view, it just happens to call the audio API. I disabled the microphone in goldfish_audio
rk...@google.com <rk...@google.com> #42
All changes are merged and available in the 8513367 emulator build. I checked our system images, on x86 the microphone issue should be fixed on API23 and later, on arm ones - API29 and later. We will see if we can fix our older arm system images (API28 and older).
rk...@google.com <rk...@google.com> #43
To disable the microphone you want to add hw.audioInput=no
to config.ini
in the AVD folder.
ji...@gmail.com <ji...@gmail.com> #44
Following along from #43, I figured I should mention I recently opensourced the tool I built to quickly enable and disable the hw.audio*
(and other) settings on the various emulators I use for day to day development:
A checkbox just makes life a bit easier than constantly going in and hand editing .ini files.
Thanks for your work on this ticket and #37095756 over the last couple of years, appreciate it.
ma...@gmail.com <ma...@gmail.com> #45
All changes are merged and available in the 8513367 emulator build.
Is this build downloadable somewhere?
Is there a target version in which we can expect this fix to land in (I'm currently using emulator v 31.3.2)?
rk...@google.com <rk...@google.com> #46
Is this build downloadable somewhere?
While there is nothing secret there, I am not sure how to share it with you until we release the usual way.
Is there a target version
I don't know yet. Our emulator version is something like 31.3.7-8408431
, the build number is after the dash.
rk...@google.com <rk...@google.com>
ma...@gmail.com <ma...@gmail.com> #48
Thank you, I was able to access a build and I could verify on my machine that the issue has been resolved. thank you very much everyone again for listening to our comments until here!
ma...@gmail.com <ma...@gmail.com> #49
Hello,
emulator 31.3.8 build 8598121 just landed in the canary channel.
Can you please check if it includes this fix?
Writing hw.audioInput=no
in config.ini
and using an API32 image still produces the BT audio switch when launching the emu.
rk...@google.com <rk...@google.com> #50
Got log says 31.3.8 should include my change to fix this issue. Unfortunately I am out of the office and cannot check this.
rk...@google.com <rk...@google.com> #51
I confirm, 8513367
does not affect BT audio quality, while 8598121
does affect.
rk...@google.com <rk...@google.com> #52
rk...@google.com <rk...@google.com> #53
Here is what happened: the last time we cut a new release was April, 4. Since then we have been doing cherry-picks which I have not requested before. With the cherry-picks requested this fix is available in 31.3.9 which should be published by the end of this week or the next week.
rk...@google.com <rk...@google.com> #54
Ranjit, could you please confirm this fix is available in 31.3.9?
You need bluetooth headphones for it.
- Connect the headphones to the host.
- Start some audio on the host (e.g. a youtube video with good audio quality).
- Coldboot an emulator (you can use any system image, e.g. S), notice host's audio quality drops when the emulator starts.
- Add
hw.audioInput=no
to the AVD'sconfig.ini
. - Coldboot the emulator again, check if host's audio quality is unaffected.
ra...@google.com <ra...@google.com> #55
I verified with steps mentioned on #54 on Mac Intel(macOS Monterey with Version 12.4) and Mac M1(macOS Big Sur with Version 11.6.6)
With hw.audioInput=yes observed the following issues on both Mac machines.
1) When I cold boot AVD the audio on the host stops for a bit and then continues. There is a change in audio quality.
2) When I do wipe data on the AVD the audio on the host breaks for a bit.
After updating hw.audioInput=no to the AVD's config.ini the issues are resolved. I neither see change in the audio quality nor the audio breaks on the host machine.
ma...@gmail.com <ma...@gmail.com> #57
I can confirm 31.3.9 is now available from the canary channel and that it includes this fix. Thanks a lot for making this happen!
bo...@gmail.com <bo...@gmail.com> #58
rk...@google.com <rk...@google.com> #59
The fix should be available on M1 as well, it is in the 31.3.9 version. What is your emulator version?
ma...@gmail.com <ma...@gmail.com> #60
I confirm I've tested it with 31.3.9 on M1 processor and it's working.
ja...@edg.com.au <ja...@edg.com.au> #61
ma...@gmail.com <ma...@gmail.com> #62
Did you tweak the .ini file as it was explained in this long thread?
rk...@google.com <rk...@google.com> #63
Hi Jamie, it should be fixed, please add hw.audioInput=no
to AVD's config.ini
file for API32 and below. It is not required for API33 and above. There are some other quirks there (in API33) as I am learning about QEMU audio API behavior (the QEMU and kernel disagree on how audio is consumed).
sh...@gmail.com <sh...@gmail.com> #64
It is not required for API33 and above
Using API 33 but the sound quality still drops
rk...@google.com <rk...@google.com> #65
shalva258, could you please elaborate? I just created API30 and API33 on Mac and I can hear that API30 affects audio in my bt headphones when the emulator starts and API33 does not. Maybe update the emulator? I tried on 32.1.3.
sh...@gmail.com <sh...@gmail.com> #66
sh...@gmail.com <sh...@gmail.com> #67
rk...@google.com <rk...@google.com> #68
Try installing
> Is not this the version that should have fixed this?
You want at least 31.3.9.
[Deleted User] <[Deleted User]> #69
[Deleted User] <[Deleted User]> #70
حذف الكل
pa...@outlook.com <pa...@outlook.com> #71
It's freaking 2024, the original issue from 2016 that was marked as fixed was definitely not fixed, this one wasn't either. Windows 10, using emulator 34.2.14-11834374 and this beyond intrusive problem is still there. Good luck trying to share your emulator screen on a meeting and keep your audio and mic working without problems, you won't because this insanely dumb bug is still present to this day and it takes over your audio input forcing hour headset into hands-free mode when you don't want to.
rk...@google.com <rk...@google.com> #72
Hi particlecore,
It's freaking 2024, the original issue from 2016 that was marked as fixed
The original issue is fixed.
Good luck trying to share your emulator screen on a meeting and keep your audio and mic working without problems
This is a separate problem which we have never heard before. Please file a new bug (specify which meeting software you use).
Description
OS: macOS 11.2.3 Emulator version: 30.5.3 Image: x86_64 with play store
I use a tool that monitors audio devices activity. I see that it notifies me about my microphone is active
Steps to Reproduce:
Please check the attachments.