Commit Graph

2034 Commits

Author SHA1 Message Date
Kweku Adams
d537987b17 Changing AUDIO_TURNED_ON constant.
Changed so that it's set to a different value from WIFI_MULTICAST_ENABLED.

Change-Id: Ied3a2c2bf891f887ec3c7b5249453af4524c099a
2014-12-02 19:18:13 +00:00
Jeff Sharkey
0cce5355b4 Sanitize display names, keep extensions intact.
When creating or renaming files on external storage, sanitize the
requested display names to be valid FAT filenames.  This also fixes
a handful of directory traversal bugs.

Also relax logic around generating display names to allow any
extension which maps to the requested MIME type.  Tests to verify.

Bug: 18512473, 18504132
Change-Id: I89e632019ee145f53d9d9d2050932f8939a756af
2014-12-01 09:38:49 -08:00
Narayan Kamath
1d184acefa resolved conflicts for merge of 7377998d to lmp-mr1-dev
Change-Id: I21870e241de7d992e97d7b91e0058f85b5a25fbe
2014-11-27 09:57:35 +00:00
Narayan Kamath
7377998dac resolved conflicts for merge of a42f7c1d to lmp-sprout-dev
Change-Id: I8e53c9d7e0014b4ffc621c561b737aa2dae5460c
2014-11-26 10:39:08 +00:00
Christopher Tate
7265abe77a Be increasingly aggressive about fstrim if it isn't being run
The current heuristics depend on devices being alive at midnight+ in
order to run periodic background fstrim operations.  This unfortunately
means that people who routinely turn their devices off overnight wind
up with their devices *never* running fstrim, and this causes major
performance and disk-life problems.

We now backstop this very-friendly schedule with an increasingly
aggressive one.  If the device goes a defined time without a background
fstrim, we then force the fstrim at the next reboot.  Once the
device hits the midnight+ idle fstrim request time, then we already
aggressively attempt to fstrim at the first available moment
thereafter, even if it's days/weeks later without a reboot.

'Available' here means charging + device idle.  If the device never
becomes idle then we can't do much without rendering an in-use device
inoperable for some number of minutes -- but we have no evidence of
devices ever failing to run fstrim due to this usage pattern.

A new Settings.Global element (type 'long', called
"fstrim_mandatory_interval") is the source of the backstop time.  If
this element is zero or negative, no mandatory boot-time fstrim will
ever be performed.  If the element is not supplied on a given device,
the default backstop is 3 days.

Adds a new string to display in the upgrading dialog when doing
the fstrim.  Note it is too late for this to be localized, but since
this operation can take a long time it is probably better to have
it show *something* even if not localized, rather than just sit there.

Bug 18486922

Change-Id: I5b265ca0a65570fb8931251aa1ac37b530635a2c
2014-11-25 16:35:06 -08:00
Alan Viverette
b6e0cb97b7 Load SPEAK_PASSWORD from currently active user rather than self
Also fixes a typo in UserHandle's docs.

BUG: 18295054
Change-Id: I1f5384f84062b9ea7dcbebe1e5f64af331028d41
2014-11-25 16:08:03 -08:00
Jeff Brown
9ef9401938 resolved conflicts for merge of 694c1d2b to lmp-mr1-dev
Change-Id: I9a9b724e0fd12aa161ff276540431b9d8e218e2b
2014-11-21 21:35:08 +00:00
Jeff Brown
fbe96706bb Support keeping activities resumed while dozing.
If the lock screen is not shown, then let activities keep running
while dozing.  This is important to support ambient mode on watches
since it allows the home app to keep running.

To make this possible, we need to inform the activity manager about
the exact wakefulness state, not just the overall boolean
interactive state.

Bug: 18284212
Change-Id: Ia35c99127ce51ffc178f3a2f51fca67d24061c71
2014-11-20 16:49:18 -08:00
Nicolas Prevot
76ea69b35e Merge "Fix javadoc in UserManager mentioning application restrictions." into lmp-mr1-dev 2014-11-19 09:46:54 +00:00
Dianne Hackborn
ad6a99b32a Add time estimates to batterystats dump.
Also fix some java docs.

Change-Id: Ie705f236db6f06e34fa5581c20852e5c8f7c2c17
2014-11-18 10:41:09 -08:00
Nicolas Prevot
34b6e35ba6 Fix javadoc in UserManager mentioning application restrictions.
The java doc of UserManager.KEY_RESTRICTIONS_PENDING contains mistakes.

BUG: 18414603
Change-Id: I9584dad545dcbef1eb2ee0e4f5df117486435e8a
2014-11-18 14:37:58 +00:00
Jeff Sharkey
9c76a7b3e8 Merge changes Id7f9fb53,I897d7ee8 into lmp-mr1-dev
* changes:
  Prevent user ID reuse until after reboot.
  Warn user when build fingerprints differ.
2014-11-17 17:28:54 +00:00
Jeff Brown
bba231d7a6 Explicitly bind AsyncTask to main looper.
It seems we were sort of trying to do this by forcing the AsyncTask
static initializer to run at certain times but it was not sufficiently
reliable.  In particular, this resulted in occasional system
server crashes.

Bug: 18192406
Change-Id: Ief73210c60e7680fbed6df74e3e58809b7ec7e4d
2014-11-14 17:22:31 -08:00
Jeff Sharkey
2cffc7dafd Warn user when build fingerprints differ.
We're now shipping devices with several partitions which may end up
mismatched, causing subtle runtime issues.  To help manufacturers and
users catch this case, show wanring when we detected mismatched
fingerprints.

Bug: 18357469
Change-Id: I897d7ee8cbf3b8042d3d7d282afab277d242ed3f
2014-11-14 14:28:06 -08:00
Jeff Brown
fef1e0e7f0 Merge "Make Message.setAsynchronous() public." into lmp-mr1-dev 2014-11-13 07:11:37 +00:00
Dianne Hackborn
fabb70b2ef Add reporting of Parcel memory/count.
Also fix issue #18340771: Dumpsys Procstats missing a newline

Change-Id: I0c612187a3fb4d7eeafbf97d373efdef732c477e
2014-11-12 21:56:30 +00:00
Narayan Kamath
222722ee73 Merge "Tell installd when boot completes." into lmp-mr1-dev 2014-11-12 12:48:22 +00:00
Jeff Brown
9840c07667 Make Message.setAsynchronous() public.
There are many cases in real world applications where it is desirable
to continue processing messages on the Looper even when most other
messages have been suspended by a synchronization barrier pending
completion of the next drawing frame on vsync.

Internally the framework is able to mark certain messages as being
independent of these higher level synchronization invariants by
flagging them as asynchronous.

This change exposes the existing function and improves on the
documentation so that it is clearer what is meant by asynchronous.

Bug: 18283959
Change-Id: I775e4c95938123a364b21a9f2c39019bf37e1afd
2014-11-11 20:35:58 -08:00
Jeff Brown
32f7a6d813 Merge "Move device admin max screen off timeout to internal interface." into lmp-mr1-dev 2014-11-11 22:27:45 +00:00
Narayan Kamath
76a748e62f Tell installd when boot completes.
installd can then clear the ".booting" marker from the dalvik-cache
(owned by root). This marker is used to detect boot loops.

bug: 18280671

Change-Id: I878f1463c7f523892605c17b980a51ac3b6645e2
2014-11-11 10:50:46 +00:00
Andres Morales
cc8d56f66c Merge "Unhide DISALLOW_OUTGOING_BEAM" into lmp-mr1-dev 2014-11-10 16:48:45 +00:00
Sander Alewijnse
3eed90f393 Merge "Added the restrictions pending application restrictions key." into lmp-mr1-dev 2014-11-07 22:25:00 +00:00
Sander Alewijnse
53d63dcd04 Added the restrictions pending application restrictions key.
Bug:17632522
Change-Id: If5a0d0ea1f479b0584fc0b1cff2a179d296d2904
2014-11-07 22:19:48 +00:00
Jeff Brown
5ce1cb240b Move device admin max screen off timeout to internal interface.
The setting was previously exposed in IPowerManager but it
doesn't need to be there.

Bug: 17656076
Change-Id: If3ed0cbe89f67c60aa00376be0c54b1bd9656144
2014-11-06 19:34:21 -08:00
Andres Morales
cd3b72e6f9 Unhide DISALLOW_OUTGOING_BEAM
Bug:17387303
Change-Id: If4410bbfd9f82c84886024a091454ee931d9d930
2014-11-06 12:31:32 -08:00
Dianne Hackborn
1842930762 Few more small meminfo improvements.
- Add in category for graphics driver, and knowledge about it
  for N5 (more devices will be added later).
- Renaming the labels for the .oat and .art files to be just
  that, so it is clear what they are talking about.

Change-Id: I663ca8bd2febce41fcdde74b0d3a96ef9325edf1
2014-11-03 13:58:11 -08:00
Jeff Brown
0ed053ef53 am e333e674: Add a function to boost screen brightness temporarily.
* commit 'e333e674a758c39885d4d9779a1aad387fb0e6aa':
  Add a function to boost screen brightness temporarily.
2014-11-01 14:10:46 +00:00
Jeff Brown
e333e674a7 Add a function to boost screen brightness temporarily.
When PowerManager.boostScreenBrightness() is called, the screen
brightness is set to maximum for 5 seconds.  This action is
also considered to be user activity.

Bug: 17934954
Change-Id: I1cb4a03a60705c6c1c5cc9ff84b1c5dbd2932fcd
2014-10-31 18:45:11 -07:00
Lorenzo Colitti
e21a26b3ba Add support for running 464xlat on wifi as well.
1. Add a command to NetworkManagementService to enable/disable
   IPv6 ND offload via netd.
2. Make Nat464Xlat enable offload if clatd successfully comes up
   on a wifi network (which means it detected a NAT64), and
   correspondingly re-enable offload when the clatd interface
   goes down.

This change does not enable clatd on wifi yet, that requires an
extra 2 lines to enable it.

Bug: 12111730
Change-Id: I4318611762a37487c9a84f8c4867ec5aece98be8
2014-10-30 20:31:26 +09:00
Lorenzo Colitti
def4cd4fa4 Merge "Support more than one clatd at a time." into lmp-mr1-dev 2014-10-29 03:43:04 +00:00
Lorenzo Colitti
954394653d Support more than one clatd at a time.
1. Make Nat464Xlat a per-network object, one for every network
   requiring clat, instead of a ConnectivityService singleton.
2. Make the NetworkManagementService clatd commands take an
   interface.
3. When we attempt to start clatd on a network, store its
   Nat464Xlat object in the NetworkAgentInfo, so we have an
   authoritative way of knowing whether clat is running on a
   given network.
4. Rework Nat464Xlat, hopefully simplifying it.

Bug: 12111730
Change-Id: I1fa5508ef020cd1c3d1c7a1f7b06370ac5fc2ae2
2014-10-29 01:23:26 +09:00
Nicolas Prevot
555f1986f1 Replace minimum with maximum in method description.
BUG:18152344

Change-Id: If5d09051e8f74addf53018cfd3be214d96efb9e6
2014-10-28 16:18:47 +00:00
Dianne Hackborn
b3af4ec6ba Fix issue #17948288: Improve accuracy of memory use reporting
We now use Mapped to not double-count cached pages that are
mapped in to app processes.  Also read in some more values that
count towards kernel RAM use, and count buffers as free rather
than used RAM.

It also looks like the zram accounting is broken -- it was never
collecting the total zram reserved space.  I need to figure out
how I was finding that before.

Change-Id: I883f6fc93966774b5c7d2801d1801666dd11ed41
2014-10-17 15:25:13 -07:00
Dianne Hackborn
3182987eb8 am bab9b48e: am 52476989: Merge "SDK only: hide the old L API version constant." into lmp-dev
* commit 'bab9b48efcc55ee247c428aa3f53725c25222166':
  SDK only: hide the old L API version constant.
2014-10-17 18:53:37 +00:00
Dianne Hackborn
3b6968876f Add API level for MR1.
Change-Id: I3f2fd6b47f762f9b81afa4c9ae1e19997484b59e
2014-10-16 18:14:12 -07:00
Dianne Hackborn
d3511d4be1 SDK only: hide the old L API version constant.
Also update the LOLLIPOP version constant to describe more things
that change when you target it.

Change-Id: I15e2c26a0f997ff2bfc8dd5076c827da7f42ee66
2014-10-16 17:49:45 -07:00
Amith Yamasani
6d93491f50 Hide DISALLOW_OUTGOING_BEAM API
This is not fully functional in managed profiles, so it is being removed for L.

Bug: 17973040
Change-Id: If660e5e565076cdf61649e9f5ca12877425e9df3
2014-10-14 09:31:30 -07:00
Dianne Hackborn
ab4a81b3c6 Improve some docs, fix some debugging.
- Add docs to Binder, Messenger, ResultReceier to explain their
  relation (or lack there-of) to process lifecycle.
- Clarify some aspects of process lifecycle for services.
- Fix help text of am command.
- Fix per-package dumping of battery stats to not include history.
- Fix per-package dumping of proc stats to only include aggregated
  and current stats and fix some formatting.
- Fix per-process dumping of meminfo to have an option to interpret
  the input as a package, so including all processes that are
  running code of that package.
- Fix top-level per-package debug output to correctly include all
  of these improvements and give them a little more time (10s) to
  complete for timing out.

Change-Id: I2a04c0f862bd47b08329443d722345a13ad9b6e2
2014-10-09 18:21:59 -07:00
Dianne Hackborn
89b196958f Merge "Put in real "code" (aka marketing) name." into lmp-dev 2014-10-08 17:59:19 +00:00
Dianne Hackborn
955d8d69ea Put in real "code" (aka marketing) name.
Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
2014-10-07 20:17:19 -07:00
Amith Yamasani
41bb3455e4 Merge "Set the default user restrictions to disallow calling and sms" into lmp-dev 2014-10-07 17:11:34 +00:00
Amith Yamasani
aa6634eaca Set the default user restrictions to disallow calling and sms
When creating a user via the UI, disallow phone calls and SMS by
default. Primary user must explicitly enable it via Settings.

Bug: 17832802
Change-Id: I18cad4be8493ddc8890b5d90da2df256cb3f1ec9
2014-10-06 18:24:32 -07:00
John Spurlock
9bb3dacbf9 Fix NPE in StrictMode handling.
Bug:17875462
Change-Id: I0bf31abe2d07335addd57976aca110565bb63cc4
2014-10-06 12:36:45 -04:00
Dianne Hackborn
d867b7c7a2 Fix issue #17783882: AUPT: NPE in Videos: Attempt to invoke virtual method...
...'java.lang.String java.lang.String.substring(int)' on a null object reference

Change-Id: I4a78653174da398a4edd23b2bc099598548b79c2
2014-10-03 11:43:10 -07:00
Dianne Hackborn
7a73f2c5aa Merge "SDK only: Update docs to reflect current implementation." into lmp-dev 2014-10-02 22:49:43 +00:00
Dianne Hackborn
67a101aa30 SDK only: Update docs to reflect current implementation.
Change-Id: I498425bb55b157c954af6a2441d8bd9be3871c55
2014-10-02 12:44:01 -07:00
Sreeram Ramachandran
e4a05afe85 Send app permissions to netd.
Based largely off Robert's http://ag/546170 (thanks!)

Bug: 15413737
Change-Id: I8a1f0a184923c4c0a4935e6b88895bcc05e39f02
2014-10-01 20:22:34 -07:00
Dianne Hackborn
8d05172112 More work on issue #17656716: Unhandled exception in Window Manager
Fix Slog.wtf to not acquire the activity manager lock in its code
path, so that it can never deadlock.  This was the original intention
of it, but part was missed.

Now we can put back in the code to detect when strict mode data is
getting large (a little more targeted now to the actual problem),
and use Slog.wtf to report it.  And as a bonus, when this happens
we will now clear all of the collected violations, to avoid getting
in to the bad case where IPCs start failing.  So this should be
good enough for L to fix the problem, with wtf reports for us to
see if the underlying issue is still happening.

Finally, switch a butch of stuff in the system process from Log.wtf
to Slog.wtf, since many of those are deadlocks waiting to happen.

Oh and fix a crash in the settings provider I noticed in APR.

Change-Id: I307d51b7a4db238fd1e5fe2f3f9bf1b9c6f1c041
2014-10-01 16:58:56 -07:00
Narayan Kamath
7dc7f676d6 Merge "Set Build.CPU_ABI{2} from SUPPORTED_{32,64}_BIT_ABIS" into lmp-dev 2014-10-01 09:53:34 +00:00
Dianne Hackborn
ce92b0d070 More work on issue #17656716: Unhandled exception in Window Manager
Drop down the limit on when we log, since under normal operation we
will never get more than a few K of data due to strict mode.

Try to clean up the code paths coming in and out of binder IPCs to
plug any places where we could disrupt the gather flag of a thread,
causing it to keep gathering stack crawls (which is the thing that
is causing our strict mode data to become so large).

Change-Id: I9a46512283d33e863c429840b465855d1fabb74e
2014-09-30 11:28:18 -07:00