Put in one place some constants used in HdmiControlService that
may need customization. This makes it easy to do the job.
Bug: 16160911
Change-Id: I59786a48d336cfca722daa82c1f0dceb88c5e5e4
In previous change we use setForceUse(FORCE_MEDIA, XXX) method
in order to set specific audio output type, such as LINE, HDMI_ARC,
and SPDIF. But it turns out that it conflicts with bluetooth
a2dp which uses the same setForceUse(FORCE_MEDIA, yyy).
This change is based on several conditions.
1. When other non-speaker devices are on, prevent system audio
from turing on.
2. In order to keep track of other devices' connectivity and to
turn off system audio if other device like bluetooth or
headphone preempts current output, register OnAudioPortChangeListner
to audio manager.
3. All possible system audio outputs can be merged with other
outputs without priority.
Change-Id: Id4e47d99db64b9f77a17c2c28c47787ab8980bf7
Instead of producing Ranking objects, RankingMap just populates
them now, allowing developers to re-use objects and avoid
unnecessary allocations.
Also rename isInterceptedByDnd() to meetsInterruptionFilter(),
since DND is not a concept anymore.
Bug: 15415840
Bug: 16099064
Change-Id: If9861cbdf14593e641a4d4ffd1b967647eb8e2b8
Will resubmit tomorrow for Build Breakage Friday as this change needs new SDK prebuilts for unbundled app branches.
This reverts commit aa746b27610680a2c0fbdf7d81a6455c4597f05e.
Change-Id: I28ba7e1b09234a5eb1b725aed043b9de98e1bc16
Added another parameter deviceType for HdmiControlService to
run the specified local device for sendKeyEvent.
Bug: 15844076
Change-Id: I598ef320ae94bba0ace38701ae0ca12fd0625559
Over time, we've unpacked native libraries at various places with
respect to their source APK. Persisting this path in PackageSettings
has caused more pain recently with the switch to supporting multiArch
and cluster installs.
This change switches us to always derive the native library paths at
runtime based on the type of install. This also ensures that
transitioning between a bundled system app and an upgraded system
app will always build the right path.
We still persist the last generated path into PackageSettings to make
cleanup at uninstall time easier.
Bug: 16208505, 16206748, 16212206
Change-Id: Ieb82a424ca4a92b5674983453c50ba4b695abfb0
Separate definition of public keys and keysets in the manifest to better
represent their relationship. The 'key-set' tags should have nested additional
'public-key' tags that indicate which of the defined 'public-key' tags are
associated with them. The first use of a given 'public-key' name should define
its value; subsequent uses may refer to it only by name. 'key-set' and
'public-key' names may not intersect.
Also, change 'keys' tag to 'key-sets' to avoid issues with previous keysets
implementation.
Bug: 6967056
Change-Id: I7534e4a42326e97b67b55509187c0d3c21a2bb32
Add model management API skeleton to VoiceInteractionManagerService
Add an "interactor" for all always-on APIs
- The VoiceInteractionService will get an interactor for the given
keyphrase and locale.
- It can then check the availability and call methods to start and
stop recognition on this interactor.
- Add a common class to deal with SoundTrigger APIs
- Cleanup the keyphrase representation:
We now have separate representations for the keyphrase metadata and
a keyphrase being used for recognition.
This'll also help us to handle custom keyphrases in the
future easily.
This also ensures that for use within the framework,
we rely on the ID of the KeyphraseInfo rather than comparing the
text everytime.
Add a callback for the AlwaysOnHotwordDetector
This callback should be passed in by the VoiceInteractionService and is used to notify it
of recognition events.
Change-Id: I26252298773024f53a10cdd2af4404a4e6d74aae
Also fixes an infinite recursion bug in the WindowManagerService
implementation of WindowManagerInternal.
BUG: 16129909
Change-Id: I4f9d32f4e6c3ad460652c5e5271540fa5032a1f5
When a cec deivce turns into disabled mode such as power off, standby,
and cec feature disabled, cec service should execute cleanup tasks.
Including cleaning up all feature actions, each device should run
their own cleanup.
It should stop system audio mode and arc for tv, while it should
send inactive source for for playback device.
Along with this, to prevent stale feature action, added timeout
to local device so that if there is stale action, it enforce to
finish it.
Bug: 16118520
Change-Id: I5ce30ab0f4459b6e2834f8d31b6a7ff789b35d07
Remove disable_device_timeout message when all pending
actions are cleared, PendingActionClearedCallback#onCleared
is called.
Change-Id: I32e37c94c6a6dfc149da3bb0553d2a3238bae479
Whenever new volume change is notified from system audio,
hdmi control service should delegate it to AudioManager.
Note that, it should set FLAG_HDMI_SYSTEM_AUDIO_VOLUME,
which prevents audio manager from notifying volume-
change event back to hdmi control service.
Change-Id: I6621f517a4d20226aea9159bbae6b699e2c2ffd0
copyNativeBinariesIfNeededLI returns an index into the list
it was handed, so using Build.SUPPORTED_ABIS here is incorrect.
bug: 16013931
Change-Id: I35e0dad4b5e0c1dc1199f381d8b99cd228719092
This CL addresses feedbacks from internal customers for new
input method APIs that are mainly used for physical keyboard
support in L.
For performance reasons, #onUpdateCursorAnchorInfo is not called
back by default and each input method has to enable this
event notification explicitly whenever fine-grained character
locations are needed.
In L-preview, InputMethodSession#setCursorAnchorMonitorMode was
introduced for this purpose. However, we got several feedbacks
to be addressed.
- The effect of #setCursorAnchorMonitorMode is not preserved
during focus change. IMEs need to call
#setCursorAnchorMonitorMode every time when #onStartInput is
called. This is tricky and hard to understand.
- As #onUpdateCursorAnchorInfo is a new API, not all
applications/text editors have supported it. Therefore IMEs
can't always rely on it. However, there is no way to query
if the attached target is supporting this new API or not.
It would helpful for IME authors if we can provide a
reliable way to query if the attached input target is
supporting the new API or not.
In order to address these issues, the triggering method has
moved from InputMethodSession to InputConnection in this CL,
as an analogy of existing InputConnection#getExtractedText API,
which has provided similar functionality including optional
reactive event callbacks from the application to the IME.
BUG: 15812658
BUG: 16118603
Change-Id: I3c6b69bd9d79b199afe68d838f25effa6048e5cc
Once verified that caller is device owner just calls through to
the activity manager and acts like that call.
Change-Id: I34023313cd6742b73d2105655ec6b631879aa37a
Calling setBundledAppAbisAndRoots will end up
setting a path that points to /system/ if it's called
on a system app that was subsequently updated.
bug: 16208505
Change-Id: I0bf85e0341029b3d4d209a402d30c2ce357daaf2
This eliminates the need for the ConnectivityService.VpnCallback class.
This requires shifting VPNs to the new "network" netd API.
VpnService.protect() is modified to no longer go through ConnectivityService.
NetworkCapabilities is extended to add a transport type for VPNs and a
capability requiring a non-VPN (so the default NetworkRequest isn't satisfied
by a VPN).
bug:15409918
Change-Id: Ic4498f1961582208add6f375ad16ce376ee9eb95
A possible reason for empty triangle is there is no service, I'm
temporarily ignoring hasService in updateTelphonySignalStrength and
adding more debug.
Add logSSC to see history of Service State Changes.
Bug: 16148026
Change-Id: Ia463997eac7b062653b3cef00570d3fffc115ad3
- Depending on the message type, the direct destination or the broadcast
destination can't be used, and neither the unregistered source can be
allowed.
Change-Id: I7fe2151025afbf155ae663331d5d97d4910c4a98
Adds a new kind of alarm that represents an alarm clock and
a way to query the next scheduled alarm clock.
Deprecates Settings.System.NEXT_ALARM_FORMATTED.
Bug: 14589952
Change-Id: I297eeeff36d07adcda010afac183d0f5ee37dc99
Each application now has two ABIs, the primary
and the secondary. The app is always launched with
the primary, but the secondary might be used by other apps
that load the given applications code. This implies we
must:
- dex2oat the app both ways.
- extract shared libraries for both abis.
The former is relatively straightforward but the latter
requires us to change the layout for shared libs that we
unpack from applications. The bulk of this change deals
with the latter.
This change continues to fill in nativeLibraryPath during
scans for backwards compatibility. This will be removed in
a future patch.
Change-Id: Ia943dd11ef815c5cbfc60f17929eaa2a652a385a
We were calling sendMediaKeyEvent with a KEYCODE_VOLUME key, which was being
ignored because it's not a media key. This redirects the volume keys to use
the adjustVolume methods instead. It also sends the appropriate flags to
make the lock screen consistent with the home screen and the volume keys
only affect active playback when the screen is off.
bug:15900519
Change-Id: I9f3853a2385869353a58debae6e6ca9933ba06ce
Place newly-created processes in a process group, and use
killProcessGroup to kill any forked processes.
Bug: 15313911
Change-Id: I0f3e2eeebd9a910dae3f6b2801826c92aea03030
Add getTetheredDhcpRanges() interface and call it before calling
mNwService.startTethering to update dhcp ranges. This will allow
p2p apps to run well concurently with other tethering apps.
Manual import of AOSP change 81546 by jianzheng.zhou@freescale.com
Change-Id: Iebc62f95bdcedde80e2c1d3e9580d3f625c3b50b
Network validation prevents networks claiming to provide internet connectivity
from becoming the default network in cases where internet connectivity is not
found to actually exist.
If a captive portal is encountered the appropriate broadcasts and notifications
are surfaced to allow apps to handle signing in. If no app handles signing in,
my system app will handle it.
Bug:15409233
Bug:15409354
Change-Id: Ie240d7eac4bdbab8cc7578782bd72d8b26de7951