diff options
| author | 2023-12-12 09:24:28 -0500 | |
|---|---|---|
| committer | 2023-12-14 13:20:01 -0500 | |
| commit | c23e5505769264ce583888f04dc0092267fe0041 (patch) | |
| tree | 7b3cf56aa4ef9e2053e78252aa1452aeff028cf4 /libs/androidfw/StringPool.cpp | |
| parent | 330a4fc26d4990c8994d559668cd2debbb270c4d (diff) | |
Fix binder death and disconnection.
After this fix:
* If we just get a `onServiceDisconnected`, we will only clear the
wrapper but won't unbind. According to the docs, this may reconnect by
the system (the binder is still alive).
* If the binder dies (either detected by ServiceConnection or
DeathRecipient), we clear the wrapper and unbind. After that, if we
still want to be bound (mBound.get() == true), we will schedule a
rebind later. We will only rebind if by that time, we still want to be
bound.
Also add component name to log lines.
Fixes: 302657931
Test: atest TileLifecycleManagerTest
Test: manual, crash the tileservice package and see the rebinds (unless
the shade is closed).
Test: manual, check that at any time there's only one instance of the
binding (adb shell dumpsys activity services).
Flag: NONE
Change-Id: I1fdd8aaa62d175d292a3ad38f86eaec3582dd27a
Diffstat (limited to 'libs/androidfw/StringPool.cpp')
0 files changed, 0 insertions, 0 deletions