Commit Graph

3174 Commits

Author SHA1 Message Date
Fabrice Di Meglio
c993e7447d Merge "Update TimePicker widget and its related dialog" 2013-10-01 18:10:21 +00:00
Daniel Sandler
a3ea0441d0 am 723ad75e: Merge "API cleanups for Notification." into klp-dev
* commit '723ad75e107f57dc541dfca600745895e1251974':
  API cleanups for Notification.
2013-09-30 14:14:30 -07:00
Fabrice Di Meglio
eeff63a5c3 Update TimePicker widget and its related dialog
- the old TimePicker widget is still there for obvious layout compatibility reasons
- add a new delegate implementation for having a new UI based on a radial picker
- use the new delegate only for the TimePickerDialog (which does not need to be
the same)
- added support for Theming and light/dark Themes
- added support for I18N (hour formatting and time separator and also position of
AM/PM indicator coming from Unicode CLDR)
- added support for RTL
- verified support for Keyboard
- verified that CTS tests for TimePicker are passing (for both the legacy and the
new widgets)

Also added a new HapticFeedbackConstants.CLOCK_TICK and its related code for
enabling ticks vibration.

Change-Id: Ib9b53a152bd9e97383dc391ef8c26da91217298f
2013-09-27 12:09:41 -07:00
Daniel Sandler
cf1d39b178 API cleanups for Notification.
- Calling build() on a Style now goes through the same
  codepath as calling build() on the Builder.
- Documented new constants and unhidden classes.
- Fixed crash in Action.clone().

Bug: 10112103
Bug: 10461196
Change-Id: I08cd94790b538a361ccf8ff3682f6a86a7812b95
2013-09-27 11:58:58 -04:00
Dianne Hackborn
f17b69e58b am 63cff11b: am c222f57b: Merge "Fix issue #10919261: Don\'t clear OP_WRITE_SMS when resetting app prefs" into klp-dev
* commit '63cff11b8aa42efe849c84b8fc74be7c2f354075':
  Fix issue #10919261: Don't clear OP_WRITE_SMS when resetting app prefs
2013-09-26 09:47:44 -07:00
Dianne Hackborn
8828d3a153 Fix issue #10919261: Don't clear OP_WRITE_SMS when resetting app prefs
Add a new array indicating whether each op allows itself to
be reset, and use it.

Change-Id: I494f630bda170e061196a380563512e9e77b51a8
2013-09-26 09:40:19 -07:00
Dianne Hackborn
f3647c7bdc am f9ad7b9d: am 66a9b2d7: Merge "Fix issue #10903002: com.facebook.katana keeps itself in A Services" into klp-dev
* commit 'f9ad7b9d92f0464bdffb36f4b9f9f63292ba9863':
  Fix issue #10903002: com.facebook.katana keeps itself in A Services
2013-09-25 16:50:14 -07:00
Jeff Sharkey
5023a4df73 resolved conflicts for merge of 687c6221 to master
Change-Id: I9e8a24d9151f31bc3284ad7f8686fa7f3c25c0d9
2013-09-25 16:48:01 -07:00
Dianne Hackborn
66a9b2d739 Merge "Fix issue #10903002: com.facebook.katana keeps itself in A Services" into klp-dev 2013-09-25 23:04:50 +00:00
Dianne Hackborn
cbd9a52f25 Fix issue #10903002: com.facebook.katana keeps itself in A Services
Now when memory low, if a service's process is above
a selected pss, then the process is not allowed to go
in to the service a list.

Also simplified the normal meminfo details dump to not
include the shared dirty and shared clean sizes by
default, since these can be very confusing.  You will
still get to see them with the "-a" flag.

Finally some small steps to better managing service
processes in the LRU list, so hopefully we can some
day be better about letting them drop down in the list
when there isn't really much interesting happening in
the process.  Not yet used at this point.

Change-Id: I654bfd6d05de2a63120185ebb15ffda8cbeb5dac
2013-09-25 15:45:56 -07:00
Jeff Sharkey
e66c1778f8 Require that persistable Uri permissions be taken.
Change our Intent flag to indicate that a Uri permission grant is
persistable, but don't actually persist it until explicitly taken by
the receiving app.  This prevents apps from spamming each other if
persisted permissions aren't really required.

Remember the last time a persisted grant was taken by an app, and
use this to prune away the oldest grants when the number of grants
grows too large.  Allow apps to query persisted grants they are
holding, and allow them to release previously persisted grants. Add
public UriPermission class to return grant details and timestamp.

Track various permission strengths separately, and combine together
after each mutation pass.  Persistable grants are currently treated
like global grants, but they could be moved to have owners in the
future.  Require that grant holders trying to extend a persistable
permission actually hold a persistable permission themselves.

Bug: 10835779
Change-Id: I95b2f797c04ce7fd2612f9a644685dbd44e03759
2013-09-25 15:16:41 -07:00
Jeff Sharkey
f534dc6c36 am 94bf4d69: am 0156a379: Merge "Allow saving to Downloads." into klp-dev
* commit '94bf4d69f2e59a0bb62c5d1829e4cf9be5a67579':
  Allow saving to Downloads.
2013-09-24 10:22:53 -07:00
Amith Yamasani
d94c31d13a am 32a2775e: am 85f77c2b: Merge "Unmarshall PFDs properly when hand-crafting interface stubs" into klp-dev
* commit '32a2775e529d13dfd34273a3b4af5151435720b2':
  Unmarshall PFDs properly when hand-crafting interface stubs
2013-09-24 10:22:50 -07:00
Dianne Hackborn
9ef68ecda5 am 8d4816d8: am a3abca90: Merge "Issue #10461551: KLP API Review: AppOpsManager" into klp-dev
* commit '8d4816d8fc9c1acbf377e7ee50b9871c4b5b8028':
  Issue #10461551: KLP API Review: AppOpsManager
2013-09-23 19:04:00 -07:00
Jeff Sharkey
0156a379e2 Merge "Allow saving to Downloads." into klp-dev 2013-09-23 21:28:07 +00:00
Jeff Sharkey
b180a65d41 Allow saving to Downloads.
Uses new column to mark writability.  Also filter file selection in
create mode to only allow writable files.

Bug: 10667164, 10893268
Change-Id: I90f74efbb7ac634fbdb3cc02a904a96a434d3605
2013-09-23 14:23:45 -07:00
Amith Yamasani
85f77c2b8b Merge "Unmarshall PFDs properly when hand-crafting interface stubs" into klp-dev 2013-09-23 21:14:51 +00:00
Amith Yamasani
c2be0d6183 Unmarshall PFDs properly when hand-crafting interface stubs
ParcelFileDescriptors now carry an optional socket fd to communicate
close events. So, make sure that the correct creator is called when
reconstructing parceled PFDs.

Bug: 10759966
Change-Id: Ic6b9ffb8cb7af5f3a12440def595f74682231866
2013-09-23 13:35:46 -07:00
Dianne Hackborn
9bb0ee9131 Issue #10461551: KLP API Review: AppOpsManager
Changed public constants from integers to strings.  Internally
everything is still integers, since we want that more efficient
representation for most things.

Changed the Callback interface to OnOpChangedListener.  We also
have a private versin that again takes an int, and tricks to
make both work.

Reworked the class documentation to be appropriate to the SDK
(as much as it can be); most of the existing documentation is
moved to the private implementation.  Also added documentation
of the MODE constants.

Change-Id: I4f7e73cc99fe66beff9194e960e072e2aa9458f8
2013-09-23 09:35:21 -07:00
Jeff Sharkey
f439bcd953 am 578f67c2: am dfed2448: Merge "Delegate mkdirs() to vold when lacking perms." into klp-dev
* commit '578f67c25c6bb160cf30bf39b7e41bc039000a5c':
  Delegate mkdirs() to vold when lacking perms.
2013-09-20 16:05:16 -07:00
Jeff Sharkey
dfed244876 Merge "Delegate mkdirs() to vold when lacking perms." into klp-dev 2013-09-20 22:56:07 +00:00
Jeff Sharkey
2d8b4e8013 Delegate mkdirs() to vold when lacking perms.
Apps without sdcard_r or sdcard_rw are still able to write to
their package-specific directory, but someone needs to first make
that directory on their behalf.  This change will delegate the
mkdirs() call through to vold when an app fails to create directly.

MountService validates that the path belongs to the calling user, and
that it's actually on external storage, before passing to vold.

Update Environment to make app-vs-vold paths clearer.

Bug: 10577808
Change-Id: I43b4a77fd6d2b9af2a0d899790da8d9d89386776
2013-09-20 14:34:02 -07:00
Dianne Hackborn
9bef5b67dc resolved conflicts for merge of 20021b30 to master
Change-Id: Ie758de25a277ed0a25bf08e4cd2c57c9519bd52d
2013-09-20 10:40:34 -07:00
Craig Mautner
2c34bd6a9a am cd569b31: am e8a94224: Merge "Return tasks in correct order." into klp-dev
* commit 'cd569b31d398fe846eeee567d2816a3bb93dd493':
  Return tasks in correct order.
2013-09-20 09:58:22 -07:00
Christopher Tate
0719715586 am 654aad21: am 9c5cc571: Merge "Support for "not the home app you\'re looking for" metadata" into klp-dev
* commit '654aad21609642f7d0891962d72c0dfd4077fb94':
  Support for "not the home app you're looking for" metadata
2013-09-20 09:58:18 -07:00
Dianne Hackborn
3bc8f78d7a Implement issue #10691475: Kill cached processes if about to...
...be uncached and too large

When the device is in a low RAM state, when we go to pull a cached
process out to use for some background operation, we can now kill
the current process if we consider its size to be too large.

Note that the current implementation for killing processes is to
just use the same killUnneededProcessLocked() method that we already
have for other things like too many cached processes.  This is a
little wrong here, though, because in this case we are at the
point where the caller is actually looking for a process to use.
This current code is not actually removing or cleaning up the
process, so we still need to return the now killed ProcessRecord
and let things fall out from there, which typically means the caller
trying to make an IPC on it and failing and falling into its "oh
no the process died unexpectedly" path.  All code using this
*should* be able to handle this correctly, anyway, since processes
really can be killed at any time.

At some point we may to make this implementation cleaner, where it
actually tears down the process right in the call and returns a
null ProcessRecord.  That is very dangerous however (we'd need to
go through all paths into this to make sure they are going to be
okay with process state changing on them like that), and I'm not
sure it is really worthwhile.  This intention is that killing
processes like this is unusual, due to processes being too large,
and anyway as I wrote all of our incoming code paths must already
be able to handle the process being killed at this point and one
could argue this is just another way to excercise those code paths.
Really, the main negative to this is that we will often have spam
in the log with exceptions about processes dying unexpectedly.
If that is the only issue, we could just add some conditions to
quiet that up at in this case.

We don't want to compute the size of the process each time we try
to evaluate it here (it takes 10s or ms to do so), so there is now
a new field associated with the process to give us the last pss
size we computed for it while it was in the cached state.

To be able to have better cached pss data when we now need it, the
timing for computing process pss has been tuned to use a much
shorter delay for the situations when the process has first switch
into a new state.  This may result in us having a fair amount more
pss data overall, which is good, as long as it doesn't cause us to
be computing pss excessively and burning cpu.

Procstats now also has new state to keep track of the number of
times each process has been killed by this new system, along with
the min, avg, max pss of all the times it has happened.  This has
slightly changed the checkin format to include this additional data
at the end of pkgkills/prockills lines.

Other changes here:

- Fixed a problem where GPU RAM was not being seen when dumping
  the full RAM details of a process.  This was because in that
  case the system would ask the process to compute its own MemInfo,
  which it returned, but the process doesn't have permission to
  access the files containing the GPU RAM data.  So now the system
  always computes the MemInfo and hands it to the app.

- Improved broadcast delays to not apply the delay if the next receiver
  of the broadcast is going to run in the same process as the last
  one.  A situation I was seeing was an application that had two
  receivers, one of which started a service; we are better off letting
  the second receiver run while the service is running.

- Changed the alarm manager's TIME_TICK broadcast to be a foreground
  broadcast.  This really should have been anyway (it is supposed to
  go out even minute, on the minute, very accurately, for UI elements
  to update), and is even more important now that we are doing more
  things to delay background broadcasts.

- Reworked how we maintain the LRU process list.  It is now divided
  into the two parts, the top always containing the processes holding
  activities.  This better matches the semantics we want (always try
  to keep those around modulated by the LRU order we interleave with
  other cached processes), and we now know whether a process is being
  moved on the LRU list because of an activity operation so we can
  only change the order of these activity processes when user operations
  happen.  Further, this just makes that common code path a lot simpler
  and gets rid of all the old complexity that doesn't make sense any
  more.

Change-Id: I04933ec3931b96db70b2b6ac109c071698e124eb
2013-09-19 14:35:53 -07:00
Craig Mautner
e8a9422495 Merge "Return tasks in correct order." into klp-dev 2013-09-19 20:03:24 +00:00
Christopher Tate
9c5cc571e5 Merge "Support for "not the home app you're looking for" metadata" into klp-dev 2013-09-19 19:46:20 +00:00
Christopher Tate
bd413f6c05 Support for "not the home app you're looking for" metadata
* Make sure that pm.getHomeActivities() returns the activity metadata
  as well, so that the caller can trace the reference

* Add a public canonical name for that metadata key

Bug 10749961

Change-Id: Ic4d0750d61001ffe5af180398f042afa30eea1ce
2013-09-19 12:31:49 -07:00
Craig Mautner
c0fd805234 Return tasks in correct order.
Fixed ActivityManager.getRunningTasks().

Fixes bug 10705790.

Change-Id: Ia3f66e592e08a87896a1ab59f980618ec5310dfe
2013-09-19 11:20:17 -07:00
David Braun
a2ee725744 am fdacf747: am 345d491b: Merge "Implement new method for handling SMS/MMS on the platform" into klp-dev
* commit 'fdacf74764ed42b6550cefa0306621200517b36e':
  Implement new method for handling SMS/MMS on the platform
2013-09-17 15:18:13 -07:00
David Braun
345d491b77 Merge "Implement new method for handling SMS/MMS on the platform" into klp-dev 2013-09-17 22:14:54 +00:00
Dianne Hackborn
df2dae01b0 am 40489be9: am 61158244: Merge "Implement issue #10691359: Kill long-running processes" into klp-dev
* commit '40489be90b7c145da75034f793932500f0e5d380':
  Implement issue #10691359: Kill long-running processes
2013-09-16 14:37:30 -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
David Braun
f5d831915d Implement new method for handling SMS/MMS on the platform
Multi project change:
The changes in this project add the new (hidden) default sms application
setting to Settings.Secure and updates AppOps to support the concept
of an op defaulting to something other than allowed. OP_WRITE_SMS is set
to default to MODE_IGNORED.

Bug: 10449618
Change-Id: I37619784ac70c27cf9fbcbfcac1b263398bc4e01
2013-09-16 13:43:51 -07:00
Ying Wang
8d2373810a am 3c9d0490: am c38acbbe: Merge "Fix docs build." into klp-dev
* commit '3c9d049084c6a5d5033cbf6cccee30177508267f':
  Fix docs build.
2013-09-14 12:06:30 -07:00
Ying Wang
930d4e52ad Fix docs build.
Change-Id: I4a1608bfad809d67240db2070fda85df486179e6
2013-09-14 11:57:17 -07:00
Maggie Benthall
96b82aae35 am b964e5ed: am f5aba5ad: Merge "CA cert monitoring: add notifications and actions for dialog" into klp-dev
* commit 'b964e5edff92849c4ade7d43b86bfaca26d2a4a4':
  CA cert monitoring: add notifications and actions for dialog
2013-09-14 11:04:08 -07:00
Maggie Benthall
f5aba5ad1e Merge "CA cert monitoring: add notifications and actions for dialog" into klp-dev 2013-09-14 18:00:13 +00:00
Michael Jurka
6f11e3254e am 9d4d14fa: am 276e6c7a: Merge "Add new intent/method for cropping and setting wallpapers" into klp-dev
* commit '9d4d14fa292e4ef7beb66c20b0b2c139b81d3c8f':
  Add new intent/method for cropping and setting wallpapers
2013-09-14 05:32:00 -07:00
Michael Jurka
276e6c7a89 Merge "Add new intent/method for cropping and setting wallpapers" into klp-dev 2013-09-14 12:25:51 +00:00
Christopher Tate
9b6c9a1592 am fcda3283: am 7560c256: Merge "Add hidden API for querying available \'home\' activities" into klp-dev
* commit 'fcda3283d27f8dfaa812fb735af43eea2e077c64':
  Add hidden API for querying available 'home' activities
2013-09-13 17:22:45 -07:00
Maggie Benthall
0469f41010 CA cert monitoring: add notifications and actions for dialog
In DevicePolicyManagementService, on boot and when certs are installed,
post notification to tell the user that their traffic may be
monitored.
Have QuickSettings use the MonitoringCertInfoActivity instead
of building the dialog itself.

Bug: 10633199

Change-Id: Ie4b97295a9fc25867c87872feccdb17f4bea071d
2013-09-13 15:46:30 -04: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
Michael Jurka
e8d1bf7a43 Add new intent/method for cropping and setting wallpapers
Also, create a system fallback WallpaperCropper

Bug: 4225598

Change-Id: I6bc6d5a3bb3df1dc00f3db701978aa172020c568
2013-09-13 17:04:46 +02:00
Chet Haase
ebcb9ecf2b am 9501a452: am e850c973: Merge "Hide translucent activity conversion API" into klp-dev
* commit '9501a452af30dd15559804193c8183bbaa42a669':
  Hide translucent activity conversion API
2013-09-12 16:44:24 -07:00
Tor Norbye
b6a3ef1834 Merge "Add typedefs and nullness annotations." 2013-09-12 22:22:06 +00:00
Chet Haase
e850c973b0 Merge "Hide translucent activity conversion API" into klp-dev 2013-09-12 19:41:33 +00:00
Alexander Ray
4c980cc6ae am b0049151: am 7563d423: Merge "Add consumer IR framework" into klp-dev
* commit 'b0049151f7c1f2ffa7481ac7c6f6baf7a548c5e8':
  Add consumer IR framework
2013-09-11 17:23:01 -07:00
Dianne Hackborn
8d717b917c resolved conflicts for merge of 03422d26 to master
Change-Id: I5d012fb122224c949a0039450bf0a9a475dc8e82
2013-09-11 16:43:22 -07:00