Commit Graph

2115 Commits

Author SHA1 Message Date
Jeff Sharkey
5e1a5e5bad Merge "Create unique files, root ordering, UI bugs." into klp-dev 2013-09-22 19:55:19 +00:00
Jeff Sharkey
5545f56f75 Create unique files, root ordering, UI bugs.
When a file already exists on disk, try adding a counter suffix to
make a unique name.  Move services near top of roots list, just below
recents.  Remove "Documents" root.

Increase number of recents allowed from single provider, and add more
logging to diagnose wedged loaders.

When launching GET_CONTENT apps, wait for successful result before
relaying result; canceled requests now return to DocumentsUI.

Add CloseGuard to ContentProviderClients, since leaked instances can
keep the remote process alive.

Fix UI bug around trailing breadcrumbs.  Fix bug that dropped Recents
from roots list.  Add up action to Settings activity.  Give our
activity a default icon while waiting for async roots to load.

Bug: 10818683, 10819461, 10819461, 10819196, 10860199
Change-Id: I7b9e26b1cf8353dd3175458b23da2b4bda6c5831
2013-09-21 14:07:16 -07:00
Adam Lesinski
d473ebb7c4 Merge "Surfaces ParcelFileDescriptor#parseMode() as API" into klp-dev 2013-09-20 22:59:12 +00:00
Adam Lesinski
eb8c3f93ed Surfaces ParcelFileDescriptor#parseMode() as API
Moves ContentResolver#modeToMode() to ParcelFileDescriptor#parseMode()

bug:10711271
Change-Id: I28a5de4ca70adfbec4caf739863b77f0fd7fd9a4
2013-09-20 14:59:34 -07:00
Adam Lesinski
79a8ffe54f Ensures that CompatibilityInfo is always set in Resources
- Adds null checks when setting mCompatibilityInfo and uses default no-op
  CompatibilityInfo object instead of null
- Removes null checks when calling methods on mCompatibilityInfo since it is never
  null

bug:10204942

Change-Id: I36e88f5cdceb46b8b19fb902270ef74023a81546
2013-09-20 11:04:40 -07:00
Dianne Hackborn
b9466db4a5 Merge "Finish issue #10779747: Calendar Storage crash observed..." into klp-dev 2013-09-18 20:34:11 +00:00
Dianne Hackborn
6285a32f74 Finish issue #10779747: Calendar Storage crash observed...
...while setting up a new user from settings.

We can now delay broadcasts when there are enough background services
currently starting (still set to 1 for svelte devices, 3 for normal
devices).

Add new intent flag to not allow receivers to abort broadcasts, which
I use to fix an issue with the initial BOOT_COMPLETED broadcast not
actually requesting pss data at the right time -- it can now be sent
as an ordered broadcast without the ability for the receivers to cancel
it.

Change-Id: I51155bbbabe23e187003f3e2abd7b754e55d3c95
2013-09-18 12:09:47 -07:00
Amith Yamasani
840b3bd611 Merge "Fix provider leak in PFD" into klp-dev 2013-09-18 18:01:21 +00:00
Amith Yamasani
487c11a310 Fix provider leak in PFD
Code path to release content provider associated with the PFD was
inadvertently bypassed by a previous change. Reinstate that code
when closing the PFD.

Bug: 10767447
Change-Id: I23306cfb3c28c99e587892b17ca85efd3f7a8a07
2013-09-18 09:30:43 -07:00
Jeff Sharkey
10cb312ecd Guard against null Context in attachInfo().
Some CTS tests were running into this.

Bug: 10805216
Change-Id: I425d2a0064612af70a64f457e159498cb6257a28
2013-09-17 15:18:43 -07:00
Amith Yamasani
33caca5cd5 Merge "Add a feature to specify if device admins are supported on the device" into klp-dev 2013-09-17 15:56:14 +00:00
Christopher Tate
60fcce6cb1 Merge "Introduce maxSdkVersion for <uses-permission>" into klp-dev 2013-09-17 01:01:47 +00:00
Amith Yamasani
44a01b742c Add a feature to specify if device admins are supported on the device
Bug: 9520957

DevicePolicyManagerService will play dumb if the feature is not installed.

Continue to keep track of failed password attempts for keyguard's use.

Change-Id: I28d258dc09a8b4976b188da6f453d8daabcc4bdd
2013-09-16 17:24:06 -07:00
Christopher Tate
fb0676a902 Introduce maxSdkVersion for <uses-permission>
This way an application can automatically sunset its permission requests
when running on later versions of the OS where those permissions are no
longer relevant, but may be alarming to the user.  A canonical example
is WRITE_EXTERNAL_STORAGE, which as of KLP becomes unnecessary for an app
to use the external storage volume solely for its own large-data needs,
without the need for actual file-system sharing among multiple apps.

Bug 9761041

Change-Id: I60130af3a108fe4a750c356038a1c8cb897e9c8b
2013-09-16 17:03:02 -07:00
Dianne Hackborn
0a6a80f43d Fix build.
Change-Id: I2b2168ff3b2826a60353fd137a2fa255b1ace4bb
2013-09-16 15:20:27 -07:00
Dianne Hackborn
35f72be50b Implement issue #10691359: Kill long-running processes
We now have the activity manager kill long-running processes
during idle maintanence.

This involved adding some more information to the activity manager
about the current memory state, so that it could know if it really
should bother killing anything.  While doing this, I also improved
how we determine when memory is getting low by better ignoring cases
where processes are going away for other reasons (such as now idle
maintenance).  We now won't raise our memory state if either a process
is going away because we wanted it gone for another reason or the
total number of processes is not decreasing.

The idle maintanence killing also uses new per-process information
about whether the process has ever gone into the cached state since
the last idle maintenance, and the initial pss and current pss size
over its run time.

Change-Id: Iceaa7ffb2ad2015c33a64133a72a272b56dbad53
2013-09-16 14:05:34 -07:00
Scott Main
296fbce89c am bb3b431d: am 8bf0c9ae: am a23fd887: more javadocs for onTrimMemory()
* commit 'bb3b431dc6b5786bed7cc988f44c35df21408a93':
  more javadocs for onTrimMemory()
2013-09-13 18:09:45 -07:00
Scott Main
bb3b431dc6 am 8bf0c9ae: am a23fd887: more javadocs for onTrimMemory()
* commit '8bf0c9ae604e5114260159077bfafbdd9d16a7ea':
  more javadocs for onTrimMemory()
2013-09-13 18:06:28 -07:00
Scott Main
a23fd88729 more javadocs for onTrimMemory()
Change-Id: I52a99bc1b07732e474d1c632f3021c6c4db8c5ab
2013-09-13 17:57:16 -07:00
Christopher Tate
a2a0850de8 Add hidden API for querying available 'home' activities
To support improved home-app selection UX in Settings.

Bug 9958444

Change-Id: I106090784618bf7bea6fce28f4f9b9fb8480d310
2013-09-13 12:16:00 -07:00
Jeff Sharkey
357f9e34ca Merge "Handle pipe thumbnails, acquire unstable refs." into klp-dev 2013-09-12 16:00:40 +00:00
Jeff Sharkey
de2b22fbc6 Handle pipe thumbnails, acquire unstable refs.
Support decoding thumbnails delivered over pipes by wrapping in a
buffered stream.  Also switch to using unstable provider references
to avoid crashing DocumentsUI.

Bug: 10516148, 10510851
Change-Id: I85f6eeaca70c97742bf79656d1d0c6da381fdd47
2013-09-11 17:33:52 -07:00
Alexander Ray
7563d42331 Merge "Add consumer IR framework" into klp-dev 2013-09-11 19:05:38 +00:00
Dianne Hackborn
c1cf491d16 Merge "More on issue #10130785: Restore silence and vibrate settings..." into klp-dev 2013-09-11 18:13:17 +00:00
Dianne Hackborn
b3ac67a0ec More on issue #10130785: Restore silence and vibrate settings...
...in settings > sound

ContentResolver.uncanonicalize needs to be able to fail.

Change-Id: I347ef60fc3619aae203b87079579597c60be8b90
2013-09-11 11:04:21 -07:00
Dianne Hackborn
95d785346b Fix issue #10688644: Java crash in com.android.phone:
java.lang.SecurityException: Operation not allowed

There was a situation I wasn't taking into account -- components
declared by the system has a special ability to run in the processes
of other uids.  This means that if that code loaded into another
process tries to do anything needing an app op verification, it will
fail, because it will say it is calling as the system package name but
it is not actually coming from the system uid.

To fix this, we add a new Context.getOpPackageName() to go along-side
getBasePackageName().  This is a special call for use by all app ops
verification, which will be initialized with either the base package
name, the actual package name, or now the default package name of the
process if we are creating a context for system code being loaded into
a non-system process.

I had to update all of the code doing app ops checks to switch to this
method to get the calling package name.

Also improve the security exception throw to have a more descriptive
error message.

Change-Id: Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25
2013-09-11 09:59:47 -07:00
Erik Gilling
51e95df8f2 Add consumer IR framework
Change-Id: I786c00db0cce61ef75e4edc24e90f2cdcba6dbfb
2013-09-11 09:52:47 -07:00
Adam Skory
7140a25f01 Revert services assist context in KitKat
Reverts extension to assist context API to query
foreground services for assist context data.

Also hides Intent.ACTION_VOICE_ASSIST because
nobody's actually using it yet.

Bug: 10461702
Change-Id: Idf6836adc659b434e11ebb2b98e8b814c94a7227
2013-09-11 12:04:58 +01:00
Jeff Sharkey
9e2c661b3b Merge "Fix getCallingPackage() to handle reentrance." into klp-dev 2013-09-10 04:41:53 +00:00
Jeff Sharkey
72e2e3577b Fix getCallingPackage() to handle reentrance.
Keep any previous value in the stack frame and restore when the
current call is finished.

Bug: 10659409
Change-Id: I02b760ae9ca06a4b3602725e02f649f1ada460a0
2013-09-09 18:52:48 -07:00
Jeff Sharkey
ff44ed58a1 Merge "Disabled states, more UX work, bug fixes." into klp-dev 2013-09-10 00:08:17 +00:00
Jeff Sharkey
3f4c205fd3 Disabled states, more UX work, bug fixes.
Fix drawable state to correctly show dimmed disabled state.  Update
disabled state for all children to grey out text.

Block multi-selection of documents not matching MIME filter.  Load
thumbnails in parallel.  Show thumbnails in list mode based on MIME
type to match spec.

Give each footer a unique view type to avoid recycler crashes.

Show breadcrumb icons in recent create paths.  Fix timestamp bug when
querying/updating recent paths.

Make ContentProviderClient.closeQuietly() really be quiet.

Bug: 10668364, 10510022, 10668701, 10534224, 10667726
Change-Id: I3c705412fb211519f15ad41a273a7533b878e9e5
2013-09-09 16:55:35 -07:00
Matthew Williams
d8abd6a163 Preserve CTS fail behaviour on null bundle for old API
For ContentResolver.requestSync() a null bundle should not be
allowed. However we don't want to enforce this for the new API,
so we remove this check from the SyncRequest.Builder#build()

Change-Id: I69353d24edbd686da6ded2856c0920315cb76e85
2013-09-09 14:35:27 -07:00
Dianne Hackborn
38ed2a471a Work on issue #10130785: Restore silence and vibrate settings...
...in settings > sound

Add a new ContentProvider API to canonicalize URIs, so they can
be transported across backup/restore.

Change-Id: Ie5af3662f6822a32310e49c7f1e1ff084986c56e
2013-09-06 16:39:59 -07:00
Dianne Hackborn
1d0b177754 Fix issue #10560472: ApplicationInfo.manageSpaceActivity not parsed...
...correctly with overloaded resources

Change this attribute and a few other manifest attributes to allow
them to change based on platform SDK version.

Clean up a little more the whole mess with native vs. java config
bit masks.

Change-Id: Ia0baa3f7aed00bcb432701bcf99a9112124d6519
2013-09-06 14:02:54 -07:00
Jeff Sharkey
911d7f411f Provide calling package to ContentProviders.
The calling package is important for ContentProviders that want to
grant Uri permissions as a side effect of operations, so offer it
through a new API.  Validates the provided package against the
calling UID before returning.

Bug: 10626527
Change-Id: I7277880eebbd48444c024bcf5f69199133cd59e4
2013-09-06 08:08:18 -07:00
Michael Wright
86974463e9 Merge "Added support for supports-input manifest element" into klp-dev 2013-09-06 01:29:35 +00:00
Michael Wright
eaeb190486 Added support for supports-input manifest element
Change-Id: Ifa7c87908081585c1940b5a47fdf5138a287d9ea
2013-09-05 18:15:57 -07:00
Amith Yamasani
f1eebfc2cf Merge "Remove unused APIs and rename others based on API review" into klp-dev 2013-09-05 22:48:17 +00:00
Amith Yamasani
d304af6989 Remove unused APIs and rename others based on API review
Restrictions challenge is only to be used by device admins.

Bug: 10461761
Change-Id: I3db1249e2ce99f386602de59ed930302bb0a97fb
2013-09-05 09:30:23 -07:00
Chet Haase
e8222dddaf Change build version from KEY_LIME_PIE to KITKAT
Issue #10631619 Change build version to KitKat

Change-Id: I6ad13f6169ad74204078d36929479998b498ad8b
2013-09-05 08:44:33 -07:00
John Spurlock
eebf6895fd Merge "Revert "Re-@hide activity-level FLAG_IMMERSIVE and helpers."" into klp-dev 2013-09-05 02:44:29 +00:00
John Spurlock
322d77185d Revert "Re-@hide activity-level FLAG_IMMERSIVE and helpers."
This reverts commit 5e777f6685.

Change-Id: I6dc00f376cbbe34dafde3470d8e06c9123f81d8d
2013-09-05 02:39:46 +00:00
John Spurlock
631228b024 Merge "Re-@hide activity-level FLAG_IMMERSIVE and helpers." into klp-dev 2013-09-05 02:09:29 +00:00
Dianne Hackborn
b811e64cb3 Fix issue #10461600: KLP API Review: UndoManager
Hide, hide, hide!

Change-Id: Ie04825723d9392a4258e2d738828201ee387f7c6
2013-09-04 17:43:56 -07:00
John Spurlock
5e777f6685 Re-@hide activity-level FLAG_IMMERSIVE and helpers.
Un-@hidden in api 18, but probably should not have been.

The framework currently takes no action based on the flag,
making the docs misleading.

Bug:10460791
Change-Id: If6cc8791a85710897c8fe77cf6682d1460e3416e
2013-09-04 15:28:50 +00:00
Adam Skory
16731d4dc0 Add provideAssistData attr to public.xml
http://ag/323631 added the provideAssistData
attribute to the Service manifest tag.

It did not, however, add that attribute to
public.xml - making it impossible to actually
build a service that defines said tag.

So, add it.

Now that the attribute is where it should be,
restore @link notation to ServiceInfo.java
without breaking the offline docs build
( see http://ag//340279 ).

Also, make some log warnings related to
providing assist data slightly more verbose.

Bug: 10573008
Change-Id: Ie2bcb411c182d69738a2fa4a74de3171b9b9c455
2013-09-04 12:30:47 +01:00
Dianne Hackborn
d318e0b19f Fix issue #10461469: KLP API Review: EXTRA_SHUTDOWN_USERSPACE_ONLY
Maybe adding more words will make it more clear. :)

Change-Id: Ie729eaba1df542d4ffcd0502ccba3807d641fd72
2013-09-03 14:55:01 -07:00
Matthew Williams
9d7c4d4a6e Merge "DO NOT MERGE. Remove service component for KLP." into klp-dev 2013-08-30 21:39:15 +00:00
Alan Viverette
083199efed Merge "Update captioning APIs" into klp-dev 2013-08-30 21:34:43 +00:00