* Hook up the native allocation registration with ImageWriter, such that GC
can get some hint when clean up the large memory object.
* Close all pending images when closing ImageReader. This could avoid native
mem leaks for some bad app practice. For example, some apps may hold images
in background service when activity is paused/destroyed, which could cause
huge native memory leaks even ImageReader is closed.
* make Image close thread safe: it is possible the clients close the image
in listener thread and the client main thread.
* Some minor code refactor to reduce the code duplication.
Bug: 25088440
Change-Id: I37d22b52aeb8d2521bf9c702b0f54c05905473e0
An upcoming change will remove "synchronized" from the API docs. This change
documents those cases where the guarantees can be determined from code
inspection.
Bug: 25767152
Change-Id: I75083ce01513ed315222304fe3f34190d40748cb
Remove dead code related to media button event receiver and
remote control display, now handled by MediaSession*
Change-Id: I4bd621240ddddf4df079df8d551c72b232c3301d
Ignore setWakeMode based on system property.
Wakelocks essential for playback will be held by audioflinger.
Change-Id: I413cd873bf21e1e999dbf89a27802fbe1b6022c7
Signed-off-by: Sridhar Vashist <svashist@motorola.com>
When the wall clock is adjusted to the broadcast time, the duration
measurement in ITvInputSessionWrapper may go wrong. To avoid this, use
System.nanoTime() that doesn't depend on the wall clock.
Bug: 25370822
Change-Id: I2ddb968b5e146500429b82979fe48262bf335993
Actually, this implementation is more what we want for ephemeral
apps. I am realizing the two are not really the same thing. :(
For this implementation, we now keep track of how long a uid has
been in the background, and after a certain amount of time
(currently 1 minute) we mark it as "idle". Any packages associated
with that uid are then no longer allowed to run in the background.
This means, until the app next goes in the foreground:
- No manifest broadcast receivers in the app will execute.
- No services can be started (binding services is still okay,
as this is outside dependencies on the app that should still
be represented).
- All alarms for the app are cancelled and no more can be set.
- All jobs for the app are cancelled and no more can be scheduled.
- All syncs for the app are cancelled and no more can be requested.
Change-Id: If53714ca4beed35faf2e89f916ce9eaaabd9290d
Although all zero (0000:00:00) is valid time, in most cases it means
that value is not present. According to http://www.exiv2.org/Exif2-2.PDF
in such case those values should be omitted, however
some cameras set them to 0 anyway. With this commit such timestamps
will be treated as they were empty.
Change-Id: I9c762b1fa04ea6bf9c0fba9e2459a20430c71c90
If the device was powered off during first boot, after media scanner
inserted some entries but before the default ringtone settings were
set (or committed to disk), the default settings would not be set
on subsequent boots.
Bug: 18625739
Bug: 22349910
Change-Id: Iff07da59a9c6d53bf2950bd107ee74d02b7f48d6
Add a remote call addBluetoothDevice() using AIDL.
This was needed because onBind() is only called once.
Bug: 23219556
Bug: 23760886
Change-Id: Id7554ca55d596352d11dbd6ae3e403138a29c864
Signed-off-by: Phil Burk <philburk@google.com>
(cherry picked from commit 7cd06c0b9e)
Stop openBluetoothDevice() from calling its callback twice.
Bug: 23218338
Change-Id: I2e738b22a124c0336c46bef05680a82ee1f59e79
Signed-off-by: Phil Burk <philburk@google.com>
(cherry picked from commit 0ca998d79f)
This will give an app an opportunity to learn whether an input port is busy
before the user tries to connect and then fails.
Bug: 22825043
Change-Id: Ifede60f166dfe66ea15453044fce06f4a8452b18
Signed-off-by: Phil Burk <philburk@google.com>
(cherry picked from commit b2355940e3)
The class assumes that the member variables are accessed in the same thread
when the class was created, but onServiceConnected/Disconnected is called
in the main thread according to the documentation.
Bug: 25307613
Change-Id: I86b63cc45fbc6995cedce39f5c151e99f76172d0
The example code for openDevice() was missing a close bracket.
Bug: 25283941
Change-Id: I8fac6a6dee2393125ad4e057cb857fe21e43b491
Signed-off-by: Phil Burk <philburk@google.com>