This change enables CEC playback API (oneTouchPlay, queryDisplayStatus).
Also updated local device list type to SparseArray to make it easy
to get one based on device type.
Change-Id: I6f88b2dac2d873c493a90411549a4e5719a5e460
When Device Discovery is launched or Hot-plug detection is
launched, the first step of it is to send <Polling Message>
to all remote devices. According to type of feature,
it may have different retry count for sending <Polling Message>.
As <Polling Message> to all devices should be serialized operation
it runs on io thread as single operation.
Along with this, added assertRunOnIoThread and
assertRunOnServiceThread used to make sure that all methods are
called in proper thread.
Change-Id: I2d2df0216867c188e99ba24b216ec73f3396eeae
- Move the send failure warning messages into HdmiCecController.sendCommand()
from each Actions.
- Stringfy with more detail messages for some opcodes.
Change-Id: Ib7ce24dd2a1f290e6c3a0b26738772ef1d4a9630
If you don't you're going to have a bad time. In particular we
did not act on the new flags and the documentLaunchMode setting
was ignored.
Fixes bug 15245852.
Change-Id: Ie1c435c4a821b9fc787e5e06e7b24aa98a242225
CEC initialization may vary from device type to type. Changed logical address
map to HdmiCecLocalDevice map to handle it. These per-type classes for local
device will be extended also to take care of incoming CEC commands that should
require different action based on device type.
Change-Id: Ia59a464607b14e942fcf83e63aa1d6310ca6a575
Tasks launched from the recent task list will now return to the list
when they are finished. Also tasks that are launched from the
notification panel and services will now return to the list,
provided that the launcher is not front and center when they are
launched.
Fixes bug 14464114.
Change-Id: Ic0d3731fc7248d1eaa80e5ee399753d80e80c979
Tasks launched from the recent task list will now return to the list
when they are finished. Also tasks that are launched from the
notification panel and services will now return to the list,
provided that the launcher is not front and center when they are
launched.
Fixes bug 14464114.
Change-Id: Ic0d3731fc7248d1eaa80e5ee399753d80e80c979
Recent tasks that have the persistable flag set are
saved to /data/system/recent_tasks/ on shutdown and in the
background. Their thumbnails are saved to
/data/system/recent_images/.
Change-Id: Ifb820a01c412fe1f8c0f6e41aa655fafd89eaa8d
Also moves most of it into android.app.task rather than android.content.
Bug 14993295
Bug 14997851
Change-Id: I9b5738d026ea2526cdfbc96d0239c74687c51611
If we rely on mNotificationList to be sorted, then we cannot allow
records to change without a corresponding call to sort. Currently
RankingFuture may modify records in a separate thread, while the sort
doesn't happen until later. This creates a window for race conditions.
Instead, RankingFuture should record operations to be performed on the
record that will replayed later, in a transaction along with a sort.
We can't simply overwrite the old record completely because another
future may be concurrently modifying a different aspect of the record.
Two futures that attempt to modify the same aspect will be serialized
and the second will overwrite eventually the first.
Change-Id: I9223cabdc60f72d8e37e6d8119bea1e0127185c0
(cherry picked from commit 77d3e0d0297caca5358879d36e8ba77710eb8e82)
If we rely on mNotificationList to be sorted, then we cannot allow
records to change without a corresponding call to sort. Currently
RankingFuture may modify records in a separate thread, while the sort
doesn't happen until later. This creates a window for race conditions.
Instead, RankingFuture should record operations to be performed on the
record that will replayed later, in a transaction along with a sort.
We can't simply overwrite the old record completely because another
future may be concurrently modifying a different aspect of the record.
Two futures that attempt to modify the same aspect will be serialized
and the second will overwrite eventually the first.
Change-Id: I9223cabdc60f72d8e37e6d8119bea1e0127185c0
This will allow DMAgent to manage users for EDU's cart model user case.
Bug: 15015887
Change-Id: I1eadf1701cb75fc4b50eb1a0df1525eff818286e
(cherry picked from commit be9f43b9618ec25121b151d247eb0285fb6554b3)
Remaining work:
- Support buffer producer profile
- Implement communication with HdmiControlService such as input switch
and key event passing
Bug: 14118245
Change-Id: I01e6a8b5374a0cbe6f2ef1feabe768fd3c65480a
Recent tasks that have the persistable flag set are
saved to /data/system/recent_tasks/ on shutdown and in the
background. Their thumbnails are saved to
/data/system/recent_images/.
Change-Id: Ifb820a01c412fe1f8c0f6e41aa655fafd89eaa8d
As we have separate IO thread, we should have async callback
mechanism to get result of send request.
For that, I added SendMessageCallback interface to HdmiControl
Service
Along with this, replace message-based IO handling with
post Runnable based one for consistency
Change-Id: I61cf5b751b4f2af3b34956060869f3512f161d11