18371 Commits

Author SHA1 Message Date
Jungshik Jang
8ed86c467a Implement retransmission of cec request.
BUG: 16218422
Change-Id: I4a6692ba8815e9a0ae26c872656b31b678d54fd6

Conflicts:
	services/core/java/com/android/server/hdmi/HdmiCecController.java
2014-07-11 14:14:48 +09:00
Jinsuk Kim
d3dc721c0a Merge "HdmiConfig class holding constants that may need customization" 2014-07-10 21:52:20 +00:00
Jinsuk Kim
5fba96df30 HdmiConfig class holding constants that may need customization
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
2014-07-11 11:55:15 +09:00
Jinsuk Kim
f9e44ea716 Merge "Update HdmiControlService JNI to the change in HAL definition" 2014-07-10 21:46:42 +00:00
Jinsuk Kim
284c31b92e Update HdmiControlService JNI to the change in HAL definition
Change-Id: Iab235785c4d0242ab5845d1f8ad62d78770ff9c4
2014-07-11 07:26:45 +09:00
Jungshik Jang
7468f1db0a Merge "Revamp HDMI-CEC system audio mode integration with audio service." 2014-07-10 21:52:20 +00:00
Jungshik Jang
6f34f5ab8a Revamp HDMI-CEC system audio mode integration with audio service.
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
2014-07-11 08:07:12 +09:00
Christoph Studer
1d599da842 NotificationListenerService API: Avoid unnecessary allocations
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
2014-07-10 21:37:56 +00:00
destradaa
1c52d02679 Merge "Mark FLP constants as public, so they can be consumed by geofencing." 2014-07-10 21:14:09 +00:00
Erik Pasternak
b2e93efcac Revert "Make PlaybackState immutable with a builder"
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
2014-07-10 22:51:34 +00:00
RoboErik
5a4e011143 Make PlaybackState immutable with a builder
bug:15862252
Change-Id: I8944b7753cd6a36a74b0091f71a386f77040c4ab
2014-07-10 22:39:03 +00:00
Jinsuk Kim
c068bb5a04 Support HdmiControlService.sendKeyEvent for both TV/playback device
Added another parameter deviceType for HdmiControlService to
run the specified local device for sendKeyEvent.

Bug: 15844076
Change-Id: I598ef320ae94bba0ace38701ae0ca12fd0625559
2014-07-11 06:59:26 +09:00
Jeff Sharkey
355319f782 Merge "Always derive native library paths at runtime." 2014-07-10 20:30:05 +00:00
Jeff Sharkey
84f1294a95 Always derive native library paths at runtime.
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
2014-07-10 18:38:39 -07:00
dcashman
989eb371bf Change key-set/public-key manifest relationship.
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
2014-07-10 18:23:11 -07:00
Sandeep
f6f604adef Merge "Always on hotword changes" 2014-07-10 21:09:47 +00:00
Sandeep
d701820031 Always on hotword changes
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
2014-07-10 18:32:37 -07:00
Alan Viverette
3d4fe363b2 Merge "Add accessibility action to open power long-press dialog" 2014-07-10 20:54:59 +00:00
Alan Viverette
e34560b219 Add accessibility action to open power long-press dialog
Also fixes an infinite recursion bug in the WindowManagerService
implementation of WindowManagerInternal.

BUG: 16129909
Change-Id: I4f9d32f4e6c3ad460652c5e5271540fa5032a1f5
2014-07-10 14:54:26 -07:00
Matthew Williams
a76932b909 Merge "Add job persistance as a setter in the API" 2014-07-10 21:02:07 +00:00
Matthew Williams
900c67fc51 Add job persistance as a setter in the API
Bug: 15936795
Change-Id: I11e5a722bab5838dc151670256ed09dfaa7fdaa7
2014-07-10 16:51:27 -07:00
Amith Yamasani
41cd577c12 Send USER_FOREGROUND and USER_BACKGROUND to all related profiles
Also do a check for null applicationInfo object during user creation.

Bug: 16211029
Change-Id: Ib49c241cf3698735e273edf5704bef277f1142a5
2014-07-10 23:26:03 +00:00
Jungshik Jang
4fc1d105fc Revamp disabling device in local device.
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
2014-07-11 08:04:44 +09:00
Jason Monk
20b716bfc6 Merge "Add API for device owner to switch users" 2014-07-10 21:21:20 +00:00
Jungshik Jang
b3e114af17 Clear timout when all pending actions are cleared.
Remove disable_device_timeout message when all pending
actions are cleared, PendingActionClearedCallback#onCleared
is called.

Change-Id: I32e37c94c6a6dfc149da3bb0553d2a3238bae479
2014-07-11 23:17:55 +09:00
Jungshik Jang
b69aafbfad Hook up missing volume-change with AudioManager.
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
2014-07-11 23:09:56 +09:00
Kenny Guy
8219a25e31 Merge "Enforce block uninstall in PackageManager" 2014-07-10 20:16:40 +00:00
Yohei Yukawa
7c940e94c9 Merge "Polish new IME API for L part 2: CursorAnchorInfo" 2014-07-10 21:43:01 +00:00
Narayan Kamath
ad8dff5b13 Use the correct ABI list while copying native libs.
copyNativeBinariesIfNeededLI returns an index into the list
it was handed, so using Build.SUPPORTED_ABIS here is incorrect.

bug: 16013931

Change-Id: I35e0dad4b5e0c1dc1199f381d8b99cd228719092
2014-07-11 13:14:22 +01:00
Yohei Yukawa
0023d0e0c4 Polish new IME API for L part 2: CursorAnchorInfo
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
2014-07-11 21:13:17 +09:00
destradaa
17ff2b2b3a Mark FLP constants as public, so they can be consumed by geofencing.
Change-Id: I6e73692064a9f58eeac6ba1118c37ac500df0d9f
2014-07-10 12:41:11 -07:00
Kenny Guy
1b88da54a6 Enforce block uninstall in PackageManager
Bug: 14127299
Change-Id: I144233b97e5774f6a5d1d2b49f3f0f8a360557ac
2014-07-10 17:08:33 +01:00
Jason Monk
582d9111d7 Add API for device owner to switch users
Once verified that caller is device owner just calls through to
the activity manager and acts like that call.

Change-Id: I34023313cd6742b73d2105655ec6b631879aa37a
2014-07-10 11:05:07 -04:00
Narayan Kamath
aef5fcdcb5 Don't assume all system apps are bundled.
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
2014-07-10 18:05:38 +00:00
Paul Jensen
6bc2c2c34f Convert Vpn from NetworkStateTracker to NetworkAgent.
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
2014-07-10 20:39:33 +00:00
Wink Saville
47d8d1b0a8 Ignore hasService in updateTelephonySignalStrength
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
2014-07-10 20:02:43 +00:00
Yuncheol Heo
e9b9b1e784 Verify the CEC message source and the destination.
- 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
2014-07-10 19:38:04 +09:00
Adrian Roos
74185a3982 Merge "Add AlarmClock API to AlarmManager" 2014-07-10 00:35:26 +00:00
Adrian Roos
c42a1e1071 Add AlarmClock API to AlarmManager
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
2014-07-10 17:07:36 +00:00
Narayan Kamath
70779c71dd Merge "Multi-arch application installs." 2014-07-09 19:47:58 +00:00
Narayan Kamath
ff110bd61a Multi-arch application installs.
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
2014-07-10 17:16:14 +01:00
RoboErik
3c45c29109 Pipe volume keys to adjustVolume instead of sendMediaKeyEvent
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
2014-07-10 16:15:45 +00:00
Colin Cross
0161bbc6e5 ActivityManager: use Process.killProcessGroup to kill forked processes
Place newly-created processes in a process group, and use
killProcessGroup to kill any forked processes.

Bug: 15313911
Change-Id: I0f3e2eeebd9a910dae3f6b2801826c92aea03030
2014-07-10 19:51:04 +00:00
Alan Viverette
503dca6f58 Merge "Add API for specifying popup window shadows and shadow insets" 2014-07-10 16:04:18 +00:00
Robert Greenwalt
7237965c0d Merge "Refactor wifi p2p's startDhcpServer function" 2014-07-10 18:27:37 +00:00
Robert Greenwalt
9c7e2c2cb4 Refactor wifi p2p's startDhcpServer function
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
2014-07-10 18:56:12 +00:00
Paul Jensen
ff6ecccdc8 Merge "Enable network validations and add app to handle captive portal login." 2014-07-10 00:32:18 +00:00
Paul Jensen
869868be65 Enable network validations and add app to handle captive portal login.
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
2014-07-10 13:14:01 -04:00
Robert Greenwalt
d706933527 Merge "Add Network inspection API." 2014-07-09 21:39:59 +00:00
Robert Greenwalt
73b6cbae0c Add Network inspection API.
Adds getNetworksNetworkInfo.
Adds getAllNetworks.

Cleans up some synchronization issues.

Change-Id: I82c7a4b554e3c6c1adfe6027cc54b028ed6dbac9
2014-07-10 10:48:23 -07:00