Commit Graph

3266 Commits

Author SHA1 Message Date
Adam Powell
49e7ff9647 Add Configuration data for round displays
Add round values to the screenLayout field for Configuration
and a convenience method to check roundness.

Plumb this through the DisplayManager, making roundness the property
of a DisplayAdapter. The built-in main display will read the
configuration resource config_mainBuiltInDisplayIsRound to determine
its roundness. Device-specific resource overlays should set this to
true for devices with round primary displays.

By default, this config resource inherits from the existing
config_windowIsRound value currently used by some Android Wear
device configurations.

This change awaits another for aapt/native resources code to make the
resource filtering system aware of this property.

Change-Id: I1daced7ca6d6e172789e7c32bebfd43753bfa2ae
2015-05-18 14:13:33 -07:00
Svet Ganov
321f01574e Hide platform platform legacy permissions behind a menu option - framework.
bug:21195624

Change-Id: I563c448e2abd7d33070ed2d8f62ba1b60a3744e8
2015-05-16 22:52:33 -07:00
Christopher Tate
98fa656f16 fullBackupContent isn't public API
Bug 21090205

Change-Id: I1b468f1e7bf86455576760e4a1d1ea9657074a9e
2015-05-14 15:01:45 -07:00
Wojciech Staszkiewicz
9e9e2e73c6 Pass charset to XmlPullParser.setInput instead of null
Passing null to XmlPullParser.setInput forces it to do additional
work, which can be easily avoided if we know the charset beforehand.

bug: b/20849543

Change-Id: Iaff97be9df2d0f99d7af8f19f65934439c9658e2
2015-05-14 10:24:34 +01:00
Svetoslav
d965370398 Do not allow opting out from the new permission model.
bug:20525775

Change-Id: I84cd4587db5adb96f6f29148adb242905f53f2dc
2015-05-13 18:54:57 -07:00
Fabrice Di Meglio
a5c24e3bfe Merge "Add IntentFilter auto verification - part 9" into mnc-dev 2015-05-13 01:53:08 +00:00
Fabrice Di Meglio
ef741da4d4 Add IntentFilter auto verification - part 9
- make verifyIntentFilter(int, int, List<String>) a SystemApi

See bug #19628271

Change-Id: I8b1f29da385867beb8b19829c124db1821450c41
2015-05-12 16:58:30 -07:00
Svet Ganov
b3f22b48bb Runtime permissions for system components not revokable - framework
Change-Id: I5b1d7bb1618ffa8d1231618ece47d0905c82f7bf
2015-05-12 16:49:19 -07:00
Christopher Tate
54415439ca Merge "Deprecate Context.MODE_MULTI_PROCESS" into mnc-dev 2015-05-12 17:28:28 +00:00
Ricky Wai
227d42db5b Merge "Fix LauncherActivityInfo.getBadgedIcon() cannot get high density icon" into mnc-dev 2015-05-12 09:36:02 +00:00
Christopher Tate
d5748b8fac Deprecate Context.MODE_MULTI_PROCESS
It has never worked the way people expect.

Change-Id: I0633aacc5ed171495d9c3b51201b7ba86b666dc5
2015-05-11 19:39:26 -07:00
Svet Ganov
981de3c57c Merge "Add permission meta-state flags to support grant/revoke permission policy." into mnc-dev 2015-05-12 00:15:37 +00:00
Svet Ganov
8c7f700a59 Add permission meta-state flags to support grant/revoke permission policy.
We now maintain a mata-state with each permission in the form of flags
specyfying the policy for this permission. This enables support of the
following use cases:

1. The user denies a permission with prejudice in which case an app cannot
   request the permission at runtime. If an app requests such a permssion
   it gets a denial unless the user grants the permission from settings.

2. A legacy app with disabled app-ops being upgraded to support runtime
   permissions. The disabled app ops are converted to permission revocations.
   The app ops manager is a part of the activity manger which sits on top
   of the package manager, hence the latter cannot have a dependency on the
   former. To avoid this the package installer which is the global
   permission managment authority marks the permission as revoked on
   upgrade and the package manager revokes it on upgrade.

3. A device policy fixing a permission in a granted or revoked state. This
   additional information is folded in the meta-state flags and neither
   apps can request such permissions if revoked not the user can change
   the permission state in the UI.

Change-Id: I443e8a7bb94bfcb4ff6003d158e1408c26149811
2015-05-11 17:13:57 -07:00
Adam Powell
5fccffd573 Merge "Bringing new Chooser UI closer to spec" into mnc-dev 2015-05-11 19:17:29 +00:00
Adam Powell
7d7580019e Bringing new Chooser UI closer to spec
Separate the chooser targets into rows by type. Remove some API that
was redundant with LabeledIntent, simplifying ChooserTarget.

Change-Id: I90de471825f05d85e6ffbe72a32fb597be824a30
2015-05-11 12:16:19 -07:00
Paul McLean
1c82b221d4 Merge "Changes as per API council review." into mnc-dev 2015-05-11 15:39:29 +00:00
Fyodor Kupolov
4f434a0470 Merge "Remove restrictions PIN functionality" into mnc-dev 2015-05-08 23:10:31 +00:00
Paul McLean
e3383cc453 Changes as per API council review.
Bug: 20887665
Change-Id: I1da7a2c69d8cf20682c767294b1647beef33f90c
2015-05-08 15:55:18 -07:00
Glenn Kasten
d7b69c2eca Merge "Add feature for pro audio" into mnc-dev 2015-05-08 21:11:08 +00:00
Alan Viverette
ac67409582 Use correct array index for Theme.getTheme()
Change-Id: Ic462a7b8a81bb87bf08136bb30e3432f10269918
2015-05-08 11:04:47 -07:00
Glenn Kasten
cdcb57791f Add feature for pro audio
The specification for CDD is in progress

Bug: 20877157
Change-Id: Iaf37b2ccb21562170a080b53668a41b85c410241
2015-05-08 10:09:22 -07:00
Siva Velusamy
0d857b9028 Improve hierarchy viewer dump hierarchy latency
Hierarchy Viewer obtains the properties for each view by using
reflection and looking for fields and methods that have the
@ExportedProperty annotation. Using reflection made it quite slow
for large view hierarchies.

This CL adds a new method (encode) to each class that wishes to
export data to hiererachy viewer. Inside this method, the object
can write a sequence of key, value pairs corresponding to the
values it wants exported.

With this change, the dump hierarchy operation that used to take
more than 10 seconds can be performed in a few hundred milliseconds.

Change-Id: I199ac2e7ca3c59ebcfec7e6bd201e134c41fd583
2015-05-07 18:44:15 -07:00
Alan Viverette
6a8c79bb2b Merge "Improve keying for theme caches, rebase system theme on config change" into mnc-dev 2015-05-07 21:19:59 +00:00
Fyodor Kupolov
ef24909d84 Remove restrictions PIN functionality
Bug: 20852231
Change-Id: I5666ee28ff1341ead9b258bc0852d8ba6d313c5e
2015-05-06 13:36:03 -07:00
Adam Powell
2ed547e55f Add alternate intents and refinement callbacks to ChooserActivity
Allow a calling app to supply an array of additional Intents to the
system ChooserActivity.

The chooser will present a merged list of targets that can handle any
of the Intents supplied, including both the standard EXTRA_INTENT as
well as any of the intents supplied in EXTRA_ALTERNATE_INTENTS. These are
treated as ordered; EXTRA_INTENT is considered the first/primary
Intent and EXTRA_ALTERNATE_INTENTS are sorted most important first.

Targets are queried for all supplied Intents. If the same component is
returned for more than one Intent, the target is associated with the
most important Intent that matched.

This allows calling apps to supply several different payloads for an
action depending on what the intended targets are able to support. For
example, an app performing ACTION_SEND may supply image/jpeg data to
compatible targets or a hosted web link to targets that only support
text/plain. The user will have the opportunity to pick from a single
merged list of choices using the best available payload, and will not
be bothered with the implementation details of how the payload will be
delivered to the recipient.

If the calling app wishes to provide further disambiguation or
refinement after the user makes a choice, for example to let the user
choose which of the source intents to send from the primary or
alternates, show a progress dialog as a full-resolution version of a
photo is downloaded from the server before being sent along or while
reticulating splines, the caller can supply an IntentSender to
ACTION_CHOOSER including the extra EXTRA_REFINEMENT_INTENT_SENDER.
This should be the IntentSender obtained from a PendingIntent pointing
at an activity to launch to perform the refinement.

The refinement activity should report that it is finished by obtaining
the ResultReceiver from EXTRA_RESULT_RECEIVER. Available intents to
send to the selected target will be contained in EXTRA_INTENT and
EXTRA_ALTERNATE_INTENTS.

To complete the refinement and send the result along to the chosen
target, the refinement activity should select one of the supplied
intents and send it to the ResultReceiver in a Bundle with the key
EXTRA_INTENT and the result code RESULT_OK. To cancel the refinement,
and let the user select another choice, send RESULT_CANCEL.

While refinement activities cannot modify the filterEquals-affecting
fields of the Intent they return, they may modify extras to provide
additional or altered details to the final recipient. These extras
will be filled into the Intent sent to the final target.

Change-Id: I7ad4739eadd1a0e307675847ccf47ea948918a3a
2015-05-06 13:23:36 -07:00
Alan Viverette
e54d245b99 Improve keying for theme caches, rebase system theme on config change
Themes now use an array of applied styles rather than a String to store
their history. They are keyed based on a hash code computed from the
history of applied styles. The themed drawable cache has been abstracted
out into its own class.

Also updates system context to use DayNight as the default and ensures
that GlobalActions uses the correct context, which exercises the change.

CTS tests have been added in another CL.

Bug: 20421157
Change-Id: I9eb4b7dffd198ad24d02f656eaf0839570b59caa
2015-05-06 10:41:43 -07:00
Alan Viverette
261208e002 Merge "Add API for obtaining changing configurations bitmask from Theme" into mnc-dev 2015-05-05 16:50:29 +00:00
Alan Viverette
c1d527926e Add API for obtaining changing configurations bitmask from Theme
Required to know when to reload the system context's theme in response
to configuration changes, and thus needed to support the DayNight theme.

Bug: 20267825
Change-Id: I7df5e28b7a6d8b611ea030032544cf4800788514
2015-05-05 09:49:03 -07:00
Svet Ganov
4a64b19f23 Merge "Permission UI - legacy apps support" into mnc-dev 2015-05-05 15:34:10 +00:00
Svet Ganov
019d230499 Permission UI - legacy apps support
Change-Id: Id3f98c138422d33868363d587dd196898b42a0d4
2015-05-05 08:33:04 -07:00
Ricky Wai
1281b1809f Fix LauncherActivityInfo.getBadgedIcon() cannot get high density icon
LauncherActivityInfo.getBadgedIcon() could not get high density icon,
because ResolveInfo.getIconResource() always return 0 when it is a badged.

Bug: 19816250
Change-Id: I94db6482ce34b9ad627771d73999228e4e133644
2015-05-04 06:45:49 +00:00
Matthew Williams
303650c9cd Add full backup criteria to android manifest
BUG: 20010079
Api change: ApplicationInfo now has a fullBackupContent int
where -1 is (off) 0 is (on) and >0 indicates an xml
resource that should be parsed in order for a developer
to indicate exactly which files they want to include/exclude
from the backup set.
dd: https://docs.google.com/document/d/1dnNctwhWOI-_qtZ7I3iNRtrbShmERj2GFTzwV4xXtOk/edit#heading=h.wcfw1q2pbmae

Change-Id: I90273dc0aef5e9a3230c6b074a45e8f5409ed5ce
2015-05-03 16:19:27 -07:00
Fabrice Di Meglio
83bb765b04 Merge "Add IntentFilter auto verification - part 7" into mnc-dev 2015-05-01 18:27:32 +00:00
Fabrice Di Meglio
1de3f0dcaf Add IntentFilter auto verification - part 7
- update packages priming so that it effectively save its data
- use ArraySet instead of ArrayList for list of domains (a set
is preferable as we dont want duplicates)

See bug #19628909

Change-Id: I52085f4bc28dcbc7fbc02ba0898abcd4ae9cf1e2
2015-05-01 11:24:44 -07:00
Alan Viverette
8310f87d96 Merge "ActionBar SearchView's default hint shouldn't override SearchableInfo" into mnc-dev 2015-04-30 15:59:21 +00:00
Jeff Sharkey
e31b820dad New "frozen" state during app move/upgrade.
This replaces mOperationPending, which was in an odd place.  It adds
a new PackageSetting.frozen flag that is a last-ditch effort to
prevent ActivityManager from starting an app while it's being moved
or upgraded.

Also provides clearer guarding around all upgrades by freezing,
killing, upgrading, then unfreezing.

Bug: 20275579
Change-Id: I28bb0359a6f4e05080fb336b18dd2a249509d989
2015-04-29 22:03:37 -07:00
Jeff Sharkey
50a0545479 Returning to wizard, split move events.
Finish wiring up notifications to jump back into in-progress wizard
flow, using moveId as identifier.

Split move events back into separate creation and progress events,
and pass details as bundle to pass extra stuff like UUID.  Null
package still means moving primary storage.

Add explicit "volume forgotten" event for PackageManager to clean
up internal state with.

Plumb through internal path reported by vold, and bring back FUSE
bypass rewriting optimization.

Bug: 19993667
Change-Id: I0f43edbba36c58c5cd33550022c54c4eb9f01a48
2015-04-29 17:24:12 -07:00
Dianne Hackborn
f7b795ca1a Merge "Update use of procstate for services." into mnc-dev 2015-04-30 00:08:45 +00:00
Dianne Hackborn
d69e4c1460 Update use of procstate for services.
Now that we have a separate foreground service proc state
(above a sleeping top app), update various system services
to put their bindings into this state when appropriate.

There are two new bind flags for this -- one that just always
makes it a foreground service, another that only does it when
the device is awake (useful for things like the wallpaper).

And with all of that, tweak network policy manager to only
include apps that are at least foreground service state when
in power save and device idle modes.  This will allow us to
further reduce the set of apps that have network access
(in particular not giving access to the current top app when
the screen is off), hopefully leading to even better battery
life.

Change-Id: I91d85a5c5ed64e856149e9a5d94a634a7925ec7f
2015-04-29 17:04:50 -07:00
Alan Viverette
b4004dfc84 ActionBar SearchView's default hint shouldn't override SearchableInfo
Moves the queryHint to defaultQueryHint, specifies the override order
as queryHint > SearchableInfo > defaultQueryHint.

Cleans up annotations and comments for several related methods.

Bug: 20614122
Change-Id: Ib58ec309e6814cd512df147d789ec0cd546018af
2015-04-29 16:55:42 -07:00
Alan Viverette
0f1a3972c1 Merge "Stash modulation alpha until ColorStateList has resolved base color" into mnc-dev 2015-04-29 23:53:19 +00:00
Alan Viverette
f601440e21 Stash modulation alpha until ColorStateList has resolved base color
Fixes an issue where specifying an explicit modulation alpha and a
theme-dependent base color discarded the modulation alpha during
applyTheme().

Sets the YOU MESSED UP YOUR THEME color to magenta, which matches the
behavior for RippleDrawable and should expose any remaining issues in
a painfully obvious way.

Bug: 20690409
Change-Id: I7a44f4bc4a5a85be6d3f27087b2d6c9ea12e1d29
2015-04-29 15:36:11 -07:00
Ben Kwa
94d07cb7ef Merge "Properly unparcel the PFDs passed to android.content.ContentProviderProxy.openFile." into mnc-dev 2015-04-29 22:12:08 +00:00
Ben Kwa
192b3d4f90 Properly unparcel the PFDs passed to
android.content.ContentProviderProxy.openFile.

BUG=20693984

Change-Id: Id089d218057d5439da1bd5bf0ce3991059c1ecad
2015-04-29 13:30:25 -07:00
Jeff Sharkey
b36586a7c9 Split some VolumeInfo state into VolumeRecord.
VolumeRecord is a historical record of a volume that we've seen in
the past.  It's now surfaced outside the framework for SystemUI to
drive the notifications that bug users to reinsert missing private
volumes.

Show progress notifications for both storage and package movement
operations.  Notify when an empty disk is inserted (no usable volumes)
which launches into the normal format flow.

Add API to forget volumes.

Bug: 20275424, 20275424
Change-Id: I75602c17fdcd4d1f1f62324e1a08c4a33093eefa
2015-04-28 22:02:36 -07:00
Fabrice Di Meglio
9f7e39fc9d Use Default Browser App for IntentResolution when needed
- add MATCH_ALL as a new flag for telling that all results need to
be returned (even if there is some sort of filtering done).
- take into account the default Browser App for Intent resolution
- also, dont do any domain verification priming for non system app

See bug #20144393

Change-Id: Iddd1f2029e3bbf3b99ebc5f416dc7f17e5bad10c
2015-04-28 17:37:18 -07:00
Svet Ganov
a2147ec975 Handle null projection properly if provider app op is not enabled.
Change-Id: I00b757ef73bf4dd58217ba748520c3504350d4ba
2015-04-28 00:04:00 +00:00
Jeff Sharkey
620b32b316 Package and storage movement callbacks.
Since package and primary storage movement can take quite awhile,
we want to have SystemUI surface progress and allow the Settings
app to be torn down while the movement proceeds in the background.

Movement requests now return a unique ID that identifies an ongoing
operation, and interested parties can observe ongoing progress and
final status.  Internally, progress and status are overloaded so
the values 0-100 are progress, and any values outside that range
are terminal status.

Add explicit constants for special-cased volume UUIDs, and change
the APIs to accept VolumeInfo to reduce confusion.  Internally the
UUID value "null" means internal storage, and "primary_physical"
means the current primary physical volume.  These values are used
for both package and primary storage movement destinations.

Persist the current primary storage location in MountService
metadata, since it can be moved over time.

Surface disk scanned events with separate volume count so we can
determine when it's partitioned successfully.  Also send broadcast
to support TvSettings launching into adoption flow.

Bug: 19993667
Change-Id: Ic8a4034033c3cb3262023dba4a642efc6795af10
2015-04-23 20:32:17 -07:00
Svet Ganov
112de0d41b Merge "Return an empty cursor when a content provider app op is disabled" 2015-04-23 18:12:52 +00:00
Svet Ganov
7271f3e4cb Return an empty cursor when a content provider app op is disabled
bug:17446599

Change-Id: Ic1790c9afbee5eec1dc28e1d53ce82288d4b4f86
2015-04-23 10:26:59 -07:00