To resume install sessions across device boots, persist session
details and read at boot. Drop sessions older than 3 days, since
they're probably buggy installers.
Add session callback lifecycle around open/close to give home apps
details about active installs. Also give them a well-known intent
to show session details.
Extend Session to list staged APKs and open them read-only, giving
installers a mechanism to verify delivered bits, for example using
MessageDigest, before committing.
Switch to generating random session IDs instead of sequential.
Defensively resize app icons if too large. Reject runaway
installers when they have too many active sessions.
Bug: 16514389
Change-Id: I66c2266cb82fc72b1eb980a615566773f4290498
ComponentInfo subclasses and ApplicationInfo have different ways to retrieving
the default icon. Previously, in CL I2db300a69a08030eacc245ee91556f0443ba5878
we defaulted everything to the green Android. This makes sure that they get the
right default.
Bug: 16630068
Change-Id: Ifa499eac6f1543523d6ecf0831175bfd6b772edb
- Added new Intent category (as a hidden/system API) to be
used to identify Leanback settings activities that should
be listed in the Leanback launcher.
Change-Id: Ia31244fb87a66f63ddad562e02e577111573d728
Allow caller to pass in handler to LauncherApps
when adding a callback.
Stop apps adding callbacks twice.
Bug: 16401733
Change-Id: I2e192091c1b79acb905d899e96d6dacd45e561da
This change addresses the following API council feedback.
TvParentalControlManager:
-- Replace the listener interface with a broadcast Intent with well-known
action, something like ACTION_BLOCKED_RATINGS_CHANGED.
-- TvParentalControlManager goes away, and two remaining methods move to
TvInputManager.
== Implementation changes ==
-- The user-selected rating preferences should be stored in an XML file, and
loaded at boot by your internal system service. It should _not_ be stored in
a Secure/Global setting.
Bug: 16542165
Change-Id: I278df963576652ec9163a66c1ef99419fcdb36c2
Throw RuntimeException to launcher if there was a RemoteException
from LauncherAppsService. This matches the behavior of previous
calls that were made to PackageManager that could have resulted
in a RemoteException if the system server was dying/dead.
Bug: 15687732
Change-Id: Ifda3fda209141b361a286fc033217acfa0ec196e
Removes the time and date picker specific themes and defaults their
theme attributes to use the alert dialog theme attribute's value.
BUG: 14973897
Change-Id: Id5cc74ea0c1a379fc1ee76b354a1bb5ba329585a
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 intents ACTION_IMAGE_CAPTURE, ACTION_IMAGE_CAPTURE_SECURE and ACTION_VIDEO_CAPTURE are now handled in a way
similar to ACTION_SEND and ACTION_SEND_MULTIPLE.
Migrate the uri in the EXTRA_OUTPUT extra to clipData, and add the flag GRANT_WRITE_URI_PERMISSION.
The userIds are now added to extra uris in the process receiving the intent, (not in the system process), because the
system process may not be able to parcel/unparcel the extras.
BUG: 15534203
Change-Id: I8f79666b726bc6d7745bf777ad3c7518945c5cc3
When we add a CrossProfileIntentFilter, we store the package and userId of the calling app
inside the CrossProfileIntentFilter.
When an app calls clearCrossProfileIntentFilters, we only remove the filters that the calling app
has set itself.
BUG: 16537557
Change-Id: I6e7bc859383ea66553d9f4230365df8ba27525f3
A <feature-group> represents a set of features required
for an app to be compatible with a device. Multiple
<feature-group> elements represent a logical 'or'
of required features.
Features defined in the old way with <uses-feature> tags
under the <manifest> tag are automatically added to each
feature-group defined.
Defining a <feature-group> means that any default
features are not included (such as android.hardware.touchscreen)
and declared permissions do not imply any features.
Change-Id: I45626f0fdc546e47bcf2aead7ef05ebcca12b023
When copying from the parent: the ClipData can be pasted in the managed profile.
When copying from a managed profile: it can be pasted in the parent,
unless the policies says it's disabled. In which case, the clipboard of the parent becomes empty.
Supporting content uris.
BUG: 15186236
Change-Id: I522564a7c07ff21df137adcda980bb52e5739964
Use an activity intent for local approval instead of a type.
Use PeristableBundle instead of Bundle.
Pass requestId as an explicit argument in cases where it's required.
Bug: 16400892
Change-Id: Id882033f17c39aa9cd63a7eeb73bb7b51f98cf5b
This corrects the expected behavior of the app state. Hidden apps
can be installed by the store to be brought out of hidden state.
Bug: 16191518
Change-Id: Id128ce971ceee99ba1dea14ba07ce03bd8d77335