Commit Graph

2773 Commits

Author SHA1 Message Date
Jim Miller
4d64746d6a Revert "Add new intent to prompt user for their device credential."
Move API to KeyguardManager.

Fixes bug 17006280

This reverts commit 2e7beadedeb7d41d8c2d1cc62956bdd9f5081d26.

Change-Id: I7b58bb4d9db828028c1021f17b01745c5ec2161e

Conflicts:
	core/java/android/content/Intent.java
2014-08-15 00:35:50 +00:00
Jeff Sharkey
e9b78fdbbe Fix javadoc on PROTECTION_FLAG_APPOP.
Change-Id: I36e339ac2c6e6842441fd2572b0b8cda24bd34ca
2014-08-14 16:01:37 +00:00
Jeff Sharkey
9f991a2f3e Fix javadoc attr reference.
Change-Id: I330ba0cac66b4515388287c0ec4856e3ce6c93cb
2014-08-13 18:38:55 +00:00
Dianne Hackborn
3c9ad6ebd8 Merge "Fix some IntentFilter docs." into lmp-dev 2014-08-12 23:14:35 +00:00
Dianne Hackborn
dc894046be Fix some IntentFilter docs.
Change-Id: I1dc6feb41bf275583d8b25ed5ca98d2b1432c752
2014-08-12 18:59:28 -07:00
Narayan Kamath
4903f64ba2 Persist the cpuAbiOverride setting.
If an app is installed with an ABI override (adb install -r --abi)
we should remember this so that we don't revert to the scan derived
ABI on the next reboot.

bug: 16476618

Change-Id: I6085bc0099eb613dd9d3b07113c7c13859780697
2014-08-13 12:41:19 +01:00
Jean-Michel Trivi
37d7804627 HDMI plug intent and associated information
Read HDMI device information from audio ports and add it as
 extras in the connection intent.
Document the new extras in the connection intent.
Make Intent.ACTION_HDMI_AUDIO_PLUG public.

Bug 10549017

Change-Id: I6236b5363f00c433e443195fae8c43af2fc834f7
2014-08-12 17:16:30 +00:00
Amith Yamasani
a6f4d58b90 Allow singleton providers to accept connections from other users
This is required for singleton providers like sms log.

Change-Id: Icb18a764c27dc1b43f8b8bcc24c21c91274995fd
2014-08-08 16:50:42 -07:00
Nicolas Prevot
d18a1da18d Merge "Validate that the authority of incoming uris matches." into lmp-dev 2014-08-07 18:53:12 +00:00
Nicolas Prevot
f300babd25 Validate that the authority of incoming uris matches.
BUG: 16864837

Change-Id: I2d4473985777b9525b101c1b02ad2395342b9722
2014-08-08 18:27:00 +01:00
Nicolas Prevot
c3093eb86b Merge "Making getProviderMimeType work across users." into lmp-dev 2014-08-07 18:39:40 +00:00
Nicolas Prevot
1dddc7fc79 Making getProviderMimeType work across users.
For apps with cross-user uri grants, but without INTERACT_ACROSS_USERS.

BUG: 16128346

Change-Id: I0136cd274eaf457804d196c09f746f66c1fe599f
2014-08-08 15:26:23 +01:00
Jeff Sharkey
6c0b9da65e Handle null IPackageDeleteObserver.
Bug: 16862614
Change-Id: I0c197a994b89d49123027f24fe46827c2b994ab6
2014-08-08 05:08:58 +00:00
Jeff Sharkey
f060095423 Logic to confirm uninstalls.
Prompt user for confirmation when caller doesn't have DELETE_PACKAGES
permission.  Also extend uninstall events to return failure codes.

Bug: 16515814
Change-Id: I15b52190ff02dbeaaf038b92364264f64c57ba89
2014-08-08 00:45:20 +00:00
Alan Viverette
b1e1dbfb36 Update disabled states to be less opaque
Also adds Resources method for retrieving floating-point values.

BUG: 16374059
Change-Id: I68c6a40cbe5badfad624548b9abf2d657dbc2019
2014-08-08 00:18:23 +00:00
Jeff Sharkey
7328a1b39b Logic to confirm permissions on install sessions.
When an app without INSTALL permission attempts to commit a session,
we involve user to confirm permissions.  We currently point at the
base APK, which defines all permissions for an app, handling the case
where a session may only be adding splits.

Add failure codes to represent rejection.  Fix bug by ignoring stages
during initial boot scan.

Bug: 16515814
Change-Id: I702bb72445216817bcc62b79c83980c1c2bb0120
2014-08-07 22:40:38 +00:00
Christopher Tate
d5cf722ae6 Reify the transport lookup/selection API
Introduce a stable BackupTransport interface class for transport
implementations to derive from.

Make the interface for viewing/selecting the active backup transport
part of the stable API.

Make restore-related classes (RestoreSession, RestoreSet) stable API.

Express backup manager APIs needed for transport operation as
@SystemApi methods in BackupManager.

Bug 16661321

Change-Id: I423b87ae8f45c1b77831d4f8ffd97715484c2d2b
2014-08-07 19:43:22 +00:00
Dianne Hackborn
0068d3dcf1 Fix issue @16555033: Battery history overflowing too much
- No longer track process starts/stops normally.
- Increase buffer size to 256KB.
- Buffer size increase requires reworking how battery stats
  are retrieved, since it is going to be hitting IPC limits.
- Also, store the last full stats after a reset, to be reported
  at the next checkin.
- Also, discharge and charge times are tagged with the screen
  and battery save state during that time.

Change-Id: Ie108ac9b626846108a9bb858101ac2b93276ac16
2014-08-07 12:19:39 -07:00
Kenny Guy
65810072d6 Remove LauncherApps method left for compat.
Method was left while updating unbundled apps
which have now been updated.

Bug: 16864685
Change-Id: I687cb23a1b60b88eeb988f3cf2604dc24b739121
2014-08-07 16:09:10 +00:00
Jeff Sharkey
fbd0e9fa37 Surface user action events when un/installing.
This will be used shortly to connect up with permissions
confirmation UI.

Bug: 16515814
Change-Id: If28cecc28549900d960ac107a1fba0b10ce5bd7b
2014-08-07 00:23:54 +00:00
Svetoslav
c71c42fdb2 Polish of the app widgets cross-profiles feature.
1. Added API for badging an arbitrary drawable at a given location.

2. Updated the icon and previewImage deprecation as they are no longer
   returning a badged drawable. The methods to load the icon and the
   preview are now just making it easier for a developer to get the
   drawables.

3. Fixed a bug in AppWidgetServiceImpl leading to a crash when a user
   is removed.

4. Fixed a bug in AppWidgetHost which was unnecessarily caching its
   package name and having code paths where the cached value was not
   populated when calling into the system.

bug:14991269

Change-Id: I50d011a6597d88814715d5ec04ee67815e8ce0bd
2014-08-07 00:12:27 +00:00
Alexandra Gherghina
e41ce995a0 Add hidden API for removing cross-profile package filters
Bug: 16646591
Change-Id: Iaf6837fe4390ac1018c49df366ea434776ed7244
2014-08-06 14:52:50 +00:00
Amith Yamasani
f17e498fea Merge "Allow phone UID to export singleton providers" into lmp-dev 2014-08-05 00:19:02 +00:00
Amith Yamasani
41c1ded7f0 Allow phone UID to export singleton providers
Also add a user variant of replacePreferredActivity for use
by SmsApplication.

Map user restrictions for SMS/MMS to AppOps perms.

Bug: 16681533
Change-Id: I3dfed5fc754e33bb51c6f571851653a7c2770e46
2014-08-05 14:37:27 -07:00
Svetoslav
976e8bd201 Allow adding widgets from user profiles.
The goal of this change is to enable support for appwidget from
user profiles to the user main profile. A user profile is a user
which is associated as a child of the main user profile. For example,
a user may have a personal (parent) and corporate (child) profile.
The device policy should be able to control whether adding a widget
from a child profile and given packages is allowed. This change
assumes that all packages from managed profiles are white listed.
Another change will add the device policy changes.

Change-Id: I267260b55d74c48b112a29979a9f59eef7a8194e
2014-08-05 20:57:20 +00:00
Jeff Sharkey
f174c6e6de Stronger constraints around install session IDs.
Generate positive, non-zero session IDs, and don't recycle them
within a given boot.  Guard against ID starvation by crazy apps.

Bug: 16792837
Change-Id: I6035afe4d942d358b5ca12b4f818c55885b74aba
2014-08-05 17:46:05 +00:00
Nicolas Prevot
504d78ea10 Security fixes related to cross-user content.
Enforcing that only uri grants work across users (not permissions).
Fixing a security hole where malicious Apps could access a uri if they had uri grants to the same uri on another user.
Enforcing that userIds in uris, if they exist, are the one of the ContentProvider.

BUG: 16779492

Change-Id: Iaa5264bd6c3aa0e15be3a4a64f9dc88238e0cb2e
2014-08-05 17:05:09 +00:00
Alexandra Gherghina
a709314537 Use the appropriate default icon
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
2014-07-31 15:43:11 +00:00
Jeff Sharkey
1cb2d0d4bb Persist install sessions, more lifecycle.
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
2014-07-31 15:17:03 -07:00
Jose Lima
73915cf2ca Added LEANBACK_SETTINGS Intent category
- 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
2014-07-30 18:56:25 +00:00
Kenny Guy
b42c89bfb0 Add optional handler to LauncherApps callback
Allow caller to pass in handler to LauncherApps
when adding a callback.
Stop apps adding callbacks twice.

Bug: 16401733
Change-Id: I2e192091c1b79acb905d899e96d6dacd45e561da
2014-07-30 11:21:01 +00:00
Jae Seo
783645e99f TIF: Merge TvParentalControlManager into TvInputManager
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
2014-07-30 15:39:39 +09:00
Amith Yamasani
ad97b8b905 Potential fix for apps disappearing in launcher on system server crash
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
2014-07-29 16:25:17 -07:00
Alan Viverette
60727e07c6 Clean up TimePicker and DatePicker styling
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
2014-07-29 12:49:50 -07:00
Alan Viverette
500c56089f Partial revert "Add better errors for unresolved attributes, remove unused code"
This reverts commit 0e42f4b98752b6457b04887e2a557fa007da73d7.

Change-Id: Ic3f0cb709c7aaa0a9892d728311886714ba73f22
2014-07-29 11:30:35 -07:00
Alan Viverette
216d3e6d81 Add better errors for unresolved attributes, remove unused code
Change-Id: Icf81a81b9ce97b5a5edff85569e6e3da93149436
2014-07-29 10:35:42 -07:00
Alexandra Gherghina
a71e3903e5 Return a default icon from the package manager directly
Bug: 16369104
Change-Id: I2db300a69a08030eacc245ee91556f0443ba5878
2014-07-28 17:30:56 +00:00
Jorim Jaggi
8a9068573c Merge "Fix status icon reappearing for legacy activities" into lmp-dev 2014-07-24 15:35:58 +00:00
Jeff Sharkey
e12a125972 am cf85d14e: am bf9964cb: am e52581f6: Offer force-dex-opt when running as root.
* commit 'cf85d14e12824bb51631b2a8d8cd79ff0d0e26fb':
  Offer force-dex-opt when running as root.
2014-07-25 21:26:42 +00: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
b64fd1957f am 891d3aa9: am a475ef57: am 4d700a9c: Merge "PackageInstaller changes based on feedback." into lmp-dev
* commit '891d3aa977653fb79f544f69fab2d214e58cd2b3':
  PackageInstaller changes based on feedback.
2014-07-25 19:25:10 +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
Kenny Guy
b7aa6b22b2 am 5984703a: am 2afedc82: am 0f151df6: Add method to launch settings app details page.
* commit '5984703aed48789a7aaa6dd0d1dd55a288f7529a':
  Add method to launch settings app details page.
2014-07-25 16:11:16 +00: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
Nicolas Prevot
73b941f761 am c5435cdd: am e7469eca: am c50bbc02: Merge "Migrate extras to ClipData for image/video capture intents." into lmp-dev
* commit 'c5435cdd91f6778d753f99ee6ee8c5132e0ae962':
  Migrate extras to ClipData for image/video capture intents.
2014-07-25 12:38:32 +00:00
Adam Lesinski
ec1fb4184e am eebc0d09: am 1038bf1d: am 94499248: Merge "Add <feature-group> tag and change aapt badging" into lmp-dev
* commit 'eebc0d090d36f8d00b841faea1bb75444963272a':
  Add <feature-group> tag and change aapt badging
2014-07-24 23:49:51 +00:00
Adam Lesinski
d4bd75be4f Merge "Add <feature-group> tag and change aapt badging" into lmp-dev 2014-07-24 15:36:09 +00:00
Nicolas Prevot
d1c99b1fe8 Migrate extras to ClipData for image/video capture intents.
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
2014-07-25 10:22:19 +01:00
Nicolas Prevot
3f7777fa4f Storing the app who sets a CrossProfileIntentFilter.
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
2014-07-28 10:47:12 +01:00
Jay Civelli
cdd5fe98b6 Revert "Add new intent to prompt user for their device credential. DO NOT MERGE"
Breaks the JavaDoc generation.

This reverts commit c82a11573810ed4d1f40568d19afc27f726829af.

Change-Id: I9e38a0d6ba0935d4967b50023030c99727bfc839
2014-07-25 23:42:07 +00:00