18486 Commits

Author SHA1 Message Date
Jae Seo
50999ea9cb Merge "TvInputManagerService: Suppress warning in dump() and fix typo" 2014-07-11 17:04:34 +00:00
Jae Seo
0f8fc345ea TvInputManagerService: Suppress warning in dump() and fix typo
Change-Id: I21eaa5592b5f355cc7227e9047ade0869ebe9e9b
2014-07-11 11:24:55 -07:00
Narayan Kamath
398b6c26c3 Fix an abi <-> instructionSet mixup.
We should be calling is64BitInstructionSet and
not is64BitAbi.

Change-Id: I5b099af19f1d7409f65f63493d3f13a830f4fb5d
2014-07-11 16:38:20 +00:00
Dianne Hackborn
3c58775a12 Merge "Allow INTERACT_ACROSS_USERS for service access." 2014-07-10 20:49:26 +00:00
Winson Chung
083baf99ff Fixing a few potential crashes, preparing for Task affiliations framework changes.
- Deferring widget host listening to speed up startup
- Ensuring that we animate to the right task position in the stack and not just the front-most
- Removing assumption that we can only get screenshots for the most recent task
2014-07-11 17:36:57 +00:00
Dianne Hackborn
409297da18 Allow INTERACT_ACROSS_USERS for service access.
But only if the two users are in the same profile.  Also
apply the same rule for the recently allowed interaction
across content providers.

The activity manager now keeps track of which users are in
the same profile group, and the handleIncomingUser function has
an option to allow a non-full caller to do the interaction
if the two users are in the same profile group.

Spread this joy all over the place.

Also turn off multi-user on Svelte devices.

Change-Id: I231484ea2a6bfccbb3cd51357d7a387bd75039ea
2014-07-11 10:30:04 -07:00
Narayan Kamath
557b26de56 Merge "Fix broken dexopt logic." 2014-07-10 20:20:16 +00:00
Narayan Kamath
fd12a35dfc Fix broken dexopt logic.
The logic was incorrect in the presence of multiple paths
(cluster installs) or multiple instruction sets (multi arch)
because of an early return in the case of sucessful dexopt.

- Rewrite this logic to make it (hopefully) clearer.
- Fix a related bug in getAppDexInstructionSets.
- Add instruction set to the dexopt logs.

bug: 16013931
Change-Id: I18c9755583f0a6f8be70469ec2062269564f0f41
2014-07-11 16:34:14 +00:00
Amith Yamasani
6b58d328b7 Merge "Fix apparent delay in removing a managed profile" 2014-07-10 21:14:09 +00:00
Amith Yamasani
70fcf0c75f Fix apparent delay in removing a managed profile
Bug: 15268575

When returning the list of profiles, don't include dying users.

Change-Id: Ifeaed5c7c2b93922cddea22057dd890a1b3750fc
2014-07-11 08:41:52 -07:00
Paul Jensen
1397751c7f Merge "Define NETID_UNSET in ConnectivityManager." 2014-07-10 21:21:20 +00:00
Paul Jensen
bcc76d345c Define NETID_UNSET in ConnectivityManager.
This allows some cleanup and removal of dead code.

bug:15489928
Change-Id: Iaf0507bc2e8ec6dcc253f01f61c5b221d46581f9
2014-07-11 12:00:10 -04:00
Dongwon Kang
1f213914c4 Support multiple tracks in TV Input framework.
Added API: getTracks/selectTrack/unselectTrack/onTrackInfoChanged
(onVideo/Audio/ClosedCaptionStreamChanged callbacks are removed in favor of onTrackInfoChanged)
Use cases: audio and closed caption track selection
Background: go/tif-multi-track

Bug:14073704, Bug:14121898, Bug: 16049453
Change-Id: I199ed16f690d4e757da0bb30c8bc8222a6fa1d7a
2014-07-11 18:46:25 +09:00
Jungshik Jang
a9f10629f4 Start address allocation when hdmi cec is re-enabled.
When a user turns hdmi cec on from system settings or other possible way,
hdmi control service should start over from logical address allocation.
As device discovery action from bootup is slightly different from
one from enabling hdmi cec, added additional params to all notification
method which is called when logical address allocation is done.

Bug: 16222082

Change-Id: Ib73be5f642646918b470d769dc563753c4ff48d3
2014-07-11 16:39:15 +09:00
Jinsuk Kim
7ecfbaed6e Read/Write flags from/to system settings
Use Settings for storing several flags/values to keep the data persistent
across power cycle, and also to make them configurable via system Settings UI.

Bug: 16185931

Change-Id: I98650863e4237fd91c1b35717f14a570e049427c
2014-07-11 16:04:57 +09:00
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