No need to post FGS notifications after process death

If the app dies during the deferral, we don't actually need to post the
FGS notification.  Since some of the service-related bookkeeping gets
reset as part of teardown, this avoids potential invalid accesses.

Bug: 197070543
Bug: 200555680
Test: atest CtsAppTestCases:android.app.cts.ServiceTest
Test: atest CtsAppTestCases:android.app.cts.NotificationManagerTest
Change-Id: I8a5eb91bb6070910ac973c195d118962265aec05
This commit is contained in:
Christopher Tate
2021-09-20 16:08:05 -07:00
parent 44e5c9a0f5
commit e8d7c840ea

View File

@@ -927,9 +927,9 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN
}
public void postNotification() {
final int appUid = appInfo.uid;
final int appPid = app.getPid();
if (isForeground && foregroundNoti != null) {
if (isForeground && foregroundNoti != null && app != null) {
final int appUid = appInfo.uid;
final int appPid = app.getPid();
// Do asynchronous communication with notification manager to
// avoid deadlocks.
final String localPackageName = packageName;