19069 Commits

Author SHA1 Message Date
RoboErik
e0b8c378b7 Merge changes I87f551a7,Icb8dc76c,I66fbf585,I0c9506e7 into lmp-dev
* changes:
  Add context to MediaController constructor
  Add getPackageName to MediaController
  Expose a way to set a PendingIntent for restarting playback
  Finish plumbing for launch intents in sessions
2014-07-25 21:16:23 +00:00
RoboErik
aa4e23bbb3 Add getPackageName to MediaController
This removes the MediaSessionInfo class and adds a method on the
controller to get the package name. This also converts code that
depended on the session's UUID to use the token for comparison or
the Tag in the case of test code that needs a string identifier.

Change-Id: Icb8dc76c70e23e897da8fd07651c524b96372bf9
2014-07-25 16:22:59 -07:00
RoboErik
b214efbb91 Expose a way to set a PendingIntent for restarting playback
This is to allow apps to set a PendingIntent to restart playback. This
is not persisted across reboots but will allow music to start playing
again for the life of the system. Only the most recent priority app with
a PI set will be cached. This also deprecates methods in AudioManager
that do this and unhides the unregister method in MediaSessionManager.

Change-Id: I66fbf5856333468d8cb8a3022809778ba00d426e
2014-07-25 16:22:18 -07:00
RoboErik
e34c09daf8 Finish plumbing for launch intents in sessions
This finishes out the plumbing for setting a launchable PendingIntent
on a session and getting it from a controller to launch an app's UI.

Change-Id: I0c9506e7c3f0ebf57070ca7e0d91324eb3fdd1e1
2014-07-25 16:22:17 -07:00
Ji-Hwan Lee
9e8ade2eb7 TIF: Rename ComponentName variables to "component" consistently
Currently, it's sometimes "name", or "service".

Change-Id: I91dffe30fd2b873c744dbde2c027f0582f55746f
2014-07-25 23:16:48 +00:00
Vinit Deshpande
c4272f32ae Enable RTT End-to-end
This change includes various fixes to first RTT implementation and
enables RTT APIs end-to-end. Fixes include proper marshalling of
objects across API and service and JNI fixes.

Change-Id: Ie4ba1ffc6c5b42593e931438b3f03e201ff6be71
2014-07-28 09:00:10 -07:00
Sreeram Ramachandran
8cd33ed84e Implement support for bypassable VPNs.
Bypassable VPNs grab all traffic by default (just like secure VPNs), but:
+ They allow all apps to choose other networks using the multinetwork APIs.
  If these other networks are insecure ("untrusted"), they will enforce that the
  app holds the necessary permissions, such as CHANGE_NETWORK_STATE.
+ They support consistent routing. If an app has an existing connection over
  some other network when the bypassable VPN comes up, it's not interrupted.

Bug: 15347374
Change-Id: Iaee9c6f6fa8103215738570d2b65d3fcf10343f3
2014-07-25 15:17:23 -07:00
Julia Reynolds
ea4f01070a Merge "Remove the profile/device owner user restriction bypass." into lmp-dev 2014-07-24 15:36:21 +00:00
Julia Reynolds
401de1785e Remove the profile/device owner user restriction bypass.
Bug: 16566096

Change-Id: I4a56046df44d36d82edc64fc727e8cad5dc75382
2014-07-26 17:13:48 +00:00
Jeff Brown
f0f0f7ca66 Merge "Fix a deadlock due to AMS calling into WMS with its lock held." into lmp-dev 2014-07-26 01:02:19 +00:00
Jeff Brown
4b4971b8a3 Fix a deadlock due to AMS calling into WMS with its lock held.
The full deadlock cycle involved ActivityManagerService,
WindowManagerService, and DevicePolicyManagerService.

Fixed by posting the work of enabling the screen to the handler
instead of doing it immediately while holding the activity manager
lock.

Bug: 16578860
Change-Id: I10514cd2df993c7193747ae823e1990a2c34e196
2014-07-25 19:31:47 -07:00
Jeff Brown
82379ba8dd Don't suppress haptic feedback on keyguard anymore.
This enables haptic feedback from virtual keys, lift-to-wake,
and long-press power to work as expected on the keyguard.

There doesn't seem to be a good reason for us to block haptic feedback
on keyguard anymore.  The PIN, pattern, and password locks already
bypass this check and vibrate and require a swipe to access in
the first place.  So there doesn't seem to be much potential
for accidental vibration anymore.

If this becomes a problem then we can investigate more targeted
means to suppress undesired vibration.

Added some debugging code to VibratorService.

Bug: 16535403
Change-Id: Ia7a5d8c35244009db36c358e5cbcbf8cf5d68768
2014-07-25 19:30:00 -07:00
Jeff Brown
7d93e279ef Merge "Don't suppress haptic feedback on keyguard anymore." into lmp-dev 2014-07-24 20:48:02 +00:00
Ji-Hwan Lee
c88f1916b8 TIF: Fix invalid use of serviceStateMap.get()
Change-Id: Ic43ac2697ed459a105e62c81e8cb6d0fb8ff6dd0
2014-07-26 01:56:34 +00:00
Sandeep Siddhartha
452a642430 Fix various bugs with model management
- Tie the sound model and keyphrase for simplicity
  We won't support multiple keyphrases in a single model out of the box.
  The db schema will need to be changed by the OEM wishing to add multiple hotwords.
  This is because we currently have no way to test the flow and make sure that things work well with multiple keyphrases
  and also the framework only reads the metadata for one keyphrase.

- Make the delete/update operations atomic

- Make the flow of data from Enrollment -> VIMS; the large sound model doesn't cross the process boundary any other time.
  This is achieved by passing they key around, instead of the model themselves.

- Add a specific delete operation in DatabaseHelper rather than relying on emptying the keyphrases to delete.

Bug: 16555803
Bug: 16516353
Change-Id: I1e0cce137517502a669e431ca7e9f9f755598328
2014-07-25 17:11:34 -07:00
Jeff Sharkey
20e0c50f60 Offer force-dex-opt when running as root.
Recently we removed the PackageManager inotify triggers, meaning the
only supported ways of installing apps were:

-- adb install -r Foo.apk
-- adb shell stop && adb sync && adb shell start

Iterating on most system apps (like Settings) can use the first
approach, but it doesn't work for "persistent" processes like
SystemUI.  (ActivityManager is very particular about how it deals
with persistent apps, and it always sticks with the first
ApplicationInfo found at boot.)

So to enable rapid iteration on persistent apps, we now offer the
one missing piece of forcing a dexopt with a new pm force-dex-opt
command only available to -eng or -userdebug builds.  Typical use
for iterating on persistent apps now looks like this:

$ mmm frameworks/base/packages/SystemUI/ && adb sync &&
    adb shell pm force-dex-opt com.android.systemui &&
    adb shell kill `pid systemui`

Yay!

Change-Id: I0ae2467f1d7cda56c70ba20953cd25fa8ee766ff
2014-07-25 21:11:47 +00:00
Jeff Sharkey
16c8e3f494 PackageInstaller changes based on feedback.
Mostly cosmetic changes from API council feedback.

Bug: 16543552
Change-Id: Ic926829b3f77c31f50a899c59b779353daf00d59
2014-07-25 11:59:48 -07:00
Craig Mautner
5ec618e3c3 am a9c5257a: am a0bb44ef: Merge "Finish crashed activities immediately" into klp-modular-dev
* commit 'a9c5257a15f2efb5c017d2ecadb5a7360230bfee':
  Finish crashed activities immediately
2014-07-25 17:43:37 +00:00
Adam Lesinski
3c153519ca Add Per-User logging of UsageStats
Change-Id: I4518c5d3c56b3821292accb886f9fb21f3a8b25f
2014-07-25 17:18:54 +00:00
Amith Yamasani
f7496d7e0c Merge "Don't update user's setup state unless it changed" into lmp-dev 2014-07-24 15:36:21 +00:00
Amith Yamasani
0da218be00 Don't update user's setup state unless it changed
Eliminates an extra write on every boot.

Bug: 16416936
Change-Id: I9ca16676c1b39dafeed3fc744a69c5bde819990c
2014-07-25 08:03:00 -07:00
Kenny Guy
466d203c4f Add method to launch settings app details page.
Add a method to LauncherApps to allow launchers to
show application details for an app in a managed profile.

Bug: 16371359
Change-Id: I23acb4365c09e4a7b9fa742ae6fc7e04434f45aa
2014-07-25 15:59:51 +00:00
Narayan Kamath
ed1391a929 Merge "Handle apps that share a UID with the system_server correctly." into lmp-dev 2014-07-24 15:36:04 +00:00
Narayan Kamath
340ca8b7e8 Handle apps that share a UID with the system_server correctly.
The system process does not explicitly declare any ABI, or
package any native code that it depends on but its ABI is
dictated by the zygote configuration. We need to account for
it correctly to have apps that share a UID with it work
correctly.

bug: 16317188

Change-Id: I84713c64409d7fdcc314114231e87a9263d5c5e7
2014-07-25 15:32:37 +01:00
Narayan Kamath
045e648980 Handle renderscript apps in the system partition correctly.
Get rid of various pointless calls to setBundledAppAbisAndRoots.
This method should only need to be called during scanPackageLI.

There's no other good reason to call it.

bug: 16484595
Change-Id: I2830b140058f0fffdbedb51d673e514852854626
2014-07-25 15:28:48 +01:00
Yuncheol Heo
3ae16ddabc Merge "Check the validity of the port id of HdmiCecMessage only in TV." into lmp-dev 2014-07-24 16:04:26 +00:00
Ji-Hwan Lee
a65118e13b TIF: Remove ClientState.mInputIds
It's no longer used since callback is now global, instead of per-input.

Change-Id: I82e4d9b8999fb9c18819a12e8436cd94e7174206
2014-07-25 06:59:55 +00:00
Yuncheol Heo
e946ed8f54 Check the validity of the port id of HdmiCecMessage only in TV.
In playback device, we don't track the port info, so we can't verify
the validity of the port id part of the physical address parameter of
HdmiCecMessages.

Bug: 16274232
Change-Id: I41f95dba0505d45688e2c9031b78863dc93248ce
2014-07-25 15:08:43 +09:00
Christopher Tate
db573fc0bb Merge "A couple of restore fixes:" into lmp-dev 2014-07-24 20:48:02 +00:00
JP Abgrall
5f054cea32 MountService: Fix android.process.media crash repeatedly problem
When the framework restarts because of certain exception, the
external volume id will disappear. At this time, mount service
will issue "volume list" command to vold to get the status of
each storage.

The fix is to re-broadcast the uuid and user label again via
vold "volume list broadcast" command.

Bug: 16253597
Bug: 16306775
Change-Id: I227e8bc597a4f5338035d3401036490f14557211
2014-07-25 02:05:36 +00:00
Christopher Tate
7ff106c20d A couple of restore fixes:
* Fix crasher after transport-level failure attempting to ask for
  the name of the next package to be restored

* Current-dataset single-package restore path no longer requires
  that the package have its own backup agent.

Bug 16548983

Change-Id: Id37f2f0e6075d53c414d9a997bf738bbf0cfff8b
2014-07-24 18:58:23 -07:00
Sreeram Ramachandran
ba6e4c60e7 Merge "Don't create a ConnectivityManager when the service isn't ready yet." into lmp-dev 2014-07-24 20:48:02 +00:00
Sreeram Ramachandran
62a61314bc Don't create a ConnectivityManager when the service isn't ready yet.
Bug: 16550853
Change-Id: Ib244c93dc982cbfe5d065a20e4b8f0aeefb15b8f
2014-07-24 16:26:59 -07:00
Amith Yamasani
422570ea3f Call PRE_BOOT_COMPLETED on starting any user
Refactor PRE_BOOT_COMPLETED delivery code.
Continue to call it on all existing users on system update.
Call it on any user being started, as part of
initialization.

Change-Id: Ie188a823fb19afde3781d6c45ada55d6e92edfac
2014-07-24 23:24:38 +00:00
Jinsuk Kim
68bed6c5d7 Merge "Add portID information in HdmiCecDeviceInfo" into lmp-dev 2014-07-24 16:04:26 +00:00
Jinsuk Kim
2b152015ff Add portID information in HdmiCecDeviceInfo
This change makes it convenient to get the HDMI port ID from the device
info without having to look it up through a separate HdmiPortInfo, which
happens in many places.

Also removed port information lookup loop by introducing two maps variable
in Control Service: port path ->port ID, and port ID -> port info.

Bug: 16547583
Change-Id: Ibfff722a16b626230766058efcc819e9c8ca0663
2014-07-25 02:14:55 +00:00
Jungshik Jang
1660611911 Merge "Replace osd message for record status with IHdmiRecordCallback." into lmp-dev 2014-07-24 16:05:03 +00:00
Jungshik Jang
12e5dcefe1 Replace osd message for record status with IHdmiRecordCallback.
Add new interface, IHdmiRecordCallback, in order to handle
result of all recording features, One Touch Record and
Timer Recording.
HdmiRecordCallback is clientside interface which uses
RecordSource as return of getOneTouchRecordSource,
instead of raw byte array.

Along with it, add TimerRecordingAction.

Bug: 16160962

Change-Id: If0ed7abc5f45b020b39555cac585becbe8ee7da4
2014-07-25 11:33:39 +09:00
Michael Wright
42dc32d829 Merge "Flip the permissions checks for video capture." into lmp-dev 2014-07-24 15:36:21 +00:00
Craig Mautner
8746a478ab Create end of animation callback for Activity
Activities cannot draw while their entering animations are active.
This change introduces a callback, onEnterAnimationComplete() so
that activities can know when their draws will be effective.

Fixes bug 13658460.

Change-Id: Ic48540cd4c7e37538f10cb2dc0852aa3f55d11e1
2014-07-25 01:35:02 +00:00
Michael Wright
0ccc2b0a44 Flip the permissions checks for video capture.
Currently they're backwards in DisplayManagerService. Oops.

Bug: 16315225
Change-Id: I9bbfc0f4aef1bd21e43594cc36c6e8fd112f0b81
2014-07-25 01:25:03 +00:00
Svetoslav
a4725efd0b Improve the window query API performamce.
We are caching the window data in the accessibility service process.
When windows change we were sending the dalta of the windows the
service knows about. To make this work when the app asked for all
windows we had to call into the system as new windows may have
appeared. This was slow.

Now we are telling the service some windows change and if it gets
the windows we cache them. We call into the system only on a cache
miss and evict all windows from the cache on window change event.
We do not evict the nodes of the window as the former may have
just moved. If views in a window change they fire accessibility
events that trigger the correct eviction.

Change-Id: I586a72a2497b0d44a75288fa758e7e88817f3300
2014-07-25 01:17:02 +00:00
Dongwon Kang
2380f36e67 Merge "Disable TvInputManagerService on non-TV devices." into lmp-dev 2014-07-24 16:05:03 +00:00
Christopher Tate
b9583c9d93 Turn on debugging override of idle time
'adb shell am idle-maintenance' has traditionally been used to force
the system to consider itself to be in an "idle" state.  Unfortunately
the new Job Manager hadn't yet been aware of this.  Rectify the situation.

Also fixes a bug in debug logging that would cause a system server
crash under certain race circumstances.

Change-Id: I8a29bd7757924f8e464865235c344233fc03d8c3
2014-07-25 00:30:07 +00:00
Prashant Malani
85d5144984 resolved conflicts for merge of bc3699b1 to lmp-dev
Change-Id: I1b219b5b48afb08ce3704a4f064a85652d2d9339
2014-07-24 15:29:27 -07:00
Robert Greenwalt
fab50167a8 Fix DUN-based tethering.
It was calling into dead ConnectivityService code rather than using
the new ConnectivityManager shim code.

bug:15221541
Change-Id: I1e3eea8a658a162ce36673ed1cf7b1e7e4372c42
2014-07-24 14:39:51 -07:00
Narayan Kamath
cf0cf47545 Merge "Handle renderscript apps in the system partition correctly." into lmp-dev 2014-07-24 15:36:04 +00:00
Adrian Roos
c3d5ead837 Merge "Restart trust agents when updated or when they are dead" into lmp-dev 2014-07-24 15:36:04 +00:00
Adrian Roos
c5f95cea26 Restart trust agents when updated or when they are dead
ActivityManager restarts the trust agent service for us
when it gets killed automatically. This does not apply
when its process crashes too often or when its package
gets updated however.
To catch the update case, the trust agent connection
is removed as soon as the package disappears, and then
readded when the new package appears.
To catch the repeated crashing case, the connection is
reset if it hasn't successfully connected for several minutes.

Also adds a button to SampleTrustAgent to simulate a crash.

Bug: 16137258
Change-Id: I1b18fc7a3025e23e25ca1623b6af658d5430a94b
2014-07-24 21:44:02 +02:00
Nicolas Prevot
0417982b65 Merge "Migrate extras to ClipData for image/video capture intents." into lmp-dev 2014-07-24 15:36:05 +00:00