Have VirtualDisplayDevice handle Binder death directly.

Previously, the VirtualDisplayDevice delegated its cleanup to the
parent VirtualDisplayAdapter. The adapter looked up the device
from an AppToken mapping. It is possible for this mapping to not
include the token, leading to the device not being destroyed.

This changelist has the VirtualDisplayDevice take care of calling
destroy on itself. It still informs the adapter of this event for
bookkeeping/cleanup purposes.

Fixes: 26221019
Test: Verified through adb shell dumpsys activity activities that the
      virtual displays were removed upon app kill after the
      MediaProjection for these displays ended.

Change-Id: I500fdc87618632184f5d3c9821ccf1979f460595
1 file changed