* 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
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
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
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
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
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
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
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
- 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
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
Add a method to LauncherApps to allow launchers to
show application details for an app in a managed profile.
Bug: 16371359
Change-Id: I23acb4365c09e4a7b9fa742ae6fc7e04434f45aa
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
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
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
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
* 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
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
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
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
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
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
'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
It was calling into dead ConnectivityService code rather than using
the new ConnectivityManager shim code.
bug:15221541
Change-Id: I1e3eea8a658a162ce36673ed1cf7b1e7e4372c42
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