TIF (TV Input Framework) uses these API to switch inputs, send
keys for selected device on CEC bus. Also renamed getActiveInput
to getActivePortId to use a unified term for port/input.
Change-Id: I8196825c0d960988cc1c0bb58a628ccd8ab1957e
Once all device discovery action is done if there is audio amplifier
on device list, it should trigger system audio initiation action.
On or off of system audio is decided by Tv's last audio setting
(speaker). If system audio was the last audio setting, it will
try to turn on system audio; otherwise will turn it off.
In other hands, SystemAudioStatusAction is added to update
system audio status (mute or volume) after
SystemAudioAutoInitiationAction. In fact, RequestArcAction has
almost same code as it has and will refactore RequesArcAction
in the following changes.
Change-Id: I3d591242e79549cb73e14546f0d057ba08f878ef
TelephonyRegistry: when default sub id is requested set isLegacyApp to
true so when ACTION_DEFAULT_SUBSCRIPTION_CHANGED is received the
TelephonyRegistry.Record.subId will be updated.
SubInfoRecord: Add SubInfoRecord toString for easier debugging
SubscriptionManager: Add putPHoneIdAndSubIdExtra(intent, phoneId, subId)
as this allows explicit setup of phoneId and subId and does not rely on
a phone's subId being set.
Bug: 15669560
Change-Id: I645ddb35b964b08dcb46f881c9d02b932d128950
This change fixes a bug where native daemons may try to communicate
with the power manager before it was fully initialized due to a race
between publishing the binder service and completing init().
The solution was to simplify the dependencies related to the power
manager. It turns out that most services that were passed in
init are not actually needed until systemReady. What remained
was a dependency on the activity manager to check permissions for
incoming calls. So now we start activity manager first.
However, the activity manager also depends on power manager for
wakelocks. To break the cycle, we now defer initializing the activity
manager's wakelocks until after the power manager has been started.
Cleaned up a bunch of boot-time service dependencies so that we
can have better confidence that they are correctly maintained.
Bug: 13884219
Change-Id: If08e2d7ccd44e7026a72441bb6bd5afd7bb9fffe
- Fixed missing tag closure on the xml for storing Intent categories.
- Shortened timeout for flushing tasks to persistent storage from
one minute to ten seconds.
- Made persistency the default except for those tasks on the home
stack and those tasks that exclude themselves from the recent task
list.
- Fixed deletion of tasks after restoring. Tasks now survive a second
reboot, not just the first reboot.
- Fixed sort order so most recent tasks will be restored at front.
Fixes bug 15672002.
Change-Id: I16d87d58c6fd2e879cfd0c0b18b2694432a79b71
We make sure in Keyguard that we only hide ourselves in
startKeyguardExitAnimation ourselves when we requested a hide.
In addition, this change also fixes a bug in WindowAnimator that
it should only call startKeyguardExitAnimation when Keyguard actually
requested a hide.
Bug: 15676717
Change-Id: I2279cccb9916985b7e9a2f41137878be5782cb9c
Introduces new ApplicationInfo fields to surface zero or more split
APKs for an application. Splice these APKs into both the class
loader and resource system. Cleaner building of these paths.
Run dexopt() on all split APKs found after a parse, and populate
into ApplicationInfo.
Change-Id: I4a376bf4492d84ea95aafa866e106ea43a43e492
When computing which windows to report for accessibility we were not
reporting windows behind non touchable ones. However, if a window is
not-touchable the touch events go to the window behind it. Hence, a
not-touchable window should not affect the reproted windows for
accessibility.
Change-Id: I213a32b33b0986a73d8bbdf0a3e40e6ca6e4261b
Everything that used the IdleMaintenance APIs/broadcasts gets to use the
spiffy new JobScheduler instead. Hooray!
On top of that, the now-obsolete "idle maintenance" APIs are now gone
entirely. Double hooray!
Bug 14993295
Change-Id: I5fb67c296ca8cd0ba8a2c8760a0f0d9d962d813b
This adds SurfaceFlinger's app VSYNC offset and buffer deadline
values to DisplayInfo. The values will be available to apps
through queries on a Display object (currently hidden).
Bug 14612039
Change-Id: I48760f58a9d74d99651b02a9d595f420410f2bb5
Device polling requires both pick policy and pick iteration policy,
however, device discovery action has no iteration policy.
Along with fix, move send result and pick policy constants
to HdmiConstants package
Change-Id: Ibbcfdc482a189bbc3aa2c61143422541da78447d
Partial revert of earlier change that tried doing movedex() during
a package upgrade. Verified that the normal package upgrade path
already wipes old code as part of InstallArgs.cleanUpResourcesLI().
Change-Id: Icc5ae0d2718a0c494bfe7becf72df50c641efe1b
Since HdmiCecKeycode defines all keys used for Hdmi CEC,
simple HdmiCecKeycode sounds better than HdmiCecKeycodeTranslater.
Change-Id: I1a0ea9f128b19dd47bfda3bf2dd8794a9e42c6f8
Here is a list of changes on this. (R: rationale)
1. HdmiCecLocalDeviceTv takes over responsibilty of device info
management.
R: All devices infos are added or removed by only Tv's
device discovery and hot plug detection mecanism
2. Each HdmiCecLocalDevice manages FeatureAction and Cec
message cache.
R: There is no direct connection between actions that
are created in different device action. If there is
an same actions created from different local device,
they should be managed independently.
3. Active path and logical address is managed by
HdmiCecLocalDevice.
R: All device should know active path of current source.
4. All system audio & ARC features are handled by
HdmiCecLocalDeviceTv
R: In terms of ARC, theoretically, any device can be transmiter of
ARC but TV is the de facto device
On other hands, for system audio Tv is the recipeint
of request.
Change-Id: Iac9ff43fb41798ed4f94c61d23345fe5fe777fbb
Added following APIs in HdmiControlService:
- portSelect
- sendKeyEvent
- getPortInfo
- addDeviceEventListener
Some are not fleshed out yet. Will work on it in a follow up CL.
Change-Id: Ia8c635176c0378f6e8db589bf714d82bf21ce85d
The dummy animation is a place holder. When the task stack is being
removed treating it as a true animation forced us through a path
where we deferred the detachment and made a call to tmpRemoveWindows.
Also replaced call to tmpRemoveWindows with a real remove windows
call. The tmpRemoveWindows call does not clean up the Session
and this leaves a surface on the screen.
Fixes bug 15591610.
Change-Id: I05f7bc276bfed2366bbcd8443c92a4bbbc8a4491
Remove uid before calling into Window Manager. Restore afterwards.
Check for null stack value before dereferencing.
Fixes bug 15591112.
Change-Id: Ida3de556940440162c91b8c1614d0f21e364abd8
- Do not call IActivityContainer.release() from
ActivityView.finalize() if it has already been called from
ActivityView.release(). Eliminates IBinder finalized Exception.
- Call ActivityRecord.makeFinishing() before calling ActivityStack.
destroyActivityLocked(). Forces call to scheduleDestroyActivity()
and eventually removeFromHistory(). Otherwise removeFromHistory()
is never called and window manager AppWindowTokens become orphans.
- Defer call to ActivityContainer.detachLocked() until all
activities have finished or timed out. Fixes problem where Display
is removed while activities are still launching.
- Call ActivityStackSupervisor.deleteActivityContainer() when all
activities have finished or timed out. Fixes orphaned
ActivityContainers.
Fixes bug 15450798.
Fixes bug 15484154.
Fixes bug 15383479.
Fixes bug 15316558.
Fixes bug 15168560.
Fixes bug 15143914.
Change-Id: Id3c641976b6f825458690f9ee063c07818b56f23