Commit Graph

646 Commits

Author SHA1 Message Date
Brad Fitzpatrick
9240f16d77 Merge "StrictMode: class instance limits (track object "leaks")" into honeycomb 2011-01-19 14:53:24 -08:00
Brad Fitzpatrick
bfbe577110 StrictMode: class instance limits (track object "leaks")
Change-Id: I2db5a19060c2013078feb88a91caf655469b2f98
2011-01-19 14:52:08 -08:00
Mike Lockwood
54973710d7 Merge "Environment.isExternalStorageRemovable() is false if external storage is emulated" into honeycomb 2011-01-19 10:40:56 -08:00
Mike Lockwood
70ee3ca616 Environment.isExternalStorageRemovable() is false if external storage is emulated
Change-Id: Ib1afe83e4295d8304b65e822edd0dfa1591a5be7
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-19 10:19:12 -08:00
Dianne Hackborn
6c2c5fc993 Just a little 'ol activity manager permission change.
We no longer enforce permissions for applications that are accessing
their own components.  This allows an application to require a permission
on one of its components that it does not itself have.  This is useful
for example with the new advanced widgets, which require a system-only
permission on the implementing service to ensure the app's data stays
private but it is nice to allow the application to still touch its own
widget service.

Change-Id: I5d61930a083816919545870039ad191314ed48c6
2011-01-18 17:02:33 -08:00
Kenny Root
241fc72b45 Merge "Don't cache return of getService in Environment" into honeycomb 2011-01-18 13:12:55 -08:00
Kenny Root
b2278dc185 Don't cache return of getService in Environment
There is already a cache of all non-null return values for calls to
getService(), so don't bother caching it in Environment. This caused
some problems when Environment was called too early in the boot process
and getService() returned null.

Change-Id: I66739d01dab7e422f660d26b370ecce110dcc808
2011-01-18 13:08:06 -08:00
Brad Fitzpatrick
758035757f StrictMode class instance limit interface.
Change-Id: Ic5eea539586e5d4965d83364bf9f623d1d89f2b1
2011-01-18 11:38:37 -08:00
Kenny Root
f09d63a52c Re-@hide some of the other StorageManager API
Some StorageManager API was accidentally unhidden during a bad merge.
Re-@hide the API to fix it.

Bug: 3362407
Change-Id: I5ad6925d3b6c18c33230127b1318c150d028a010
2011-01-17 12:10:48 -08:00
Kenny Root
ec7c9ff0bb Hide USB mass storage APIs in StorageManager
They appear to have been unhidden in a bad merge from gingerbread.

Change-Id: Ice0fc865425d5d885af3c2e90a7ffeaa1d623b80
2011-01-17 09:15:36 -08:00
Dianne Hackborn
805fd7ee0e Add API to get path to OBBs.
Also hide the bitmap thumbnail stuff, we can't support it in its
current form.

And fix some bugs with propagating paths to native code.  Yikes!

Change-Id: I13ab37ddbdba5c073489cba5eab035117d3c1574
2011-01-16 18:43:04 -08:00
Joe Onorato
9bb85ab3af fix the build... sorry... bad docs...
Change-Id: I4b543f306d58ec95693c8e3515dffcb7dd55dc29
2011-01-16 14:30:55 -08:00
Joe Onorato
1ddf75a3df Merge "Change the default of how AsyncTask enqueues." into honeycomb 2011-01-16 13:52:41 -08:00
Joe Onorato
81de61bfdd Change the default of how AsyncTask enqueues.
The default is now to serialize everything onto the thread pool.  If you would
like to have finer grained control over how AsyncTasks are executed, you can
call the new executeOnExecutor method, which takes a custom Executor.  The
pool used by the default is handily now accessible as THREAD_POOL_EXECUTOR.

This change is because it is too tempting to convert single threaded Janky™
code to use AsyncTask in a way that is unsafe and ends up calling the
AsyncTasks in parallel.

Also, this adds a static execute(Runnable) method to AsyncTask that posts
onto the serialized queue, so that if you don't have any parameters or
return values, you can just use Runnable instead of AsyncTask.

Change-Id: I91bdfb00193542bfc2e101bcad56e3430421884a
2011-01-16 13:09:52 -08:00
Dianne Hackborn
3b81bc18bb Add manifest API to request a large heap.
You can now do android:largeHeap="true" on an application.

Doesn't yet do anything, waiting for Dalvik API.

Also tweak package parsing so that the SDK API level is set in the
configuration, allowing manifest resource value selection based on
that.

Change-Id: I6e035f9702a97b055416743b88f83a22ba4a9584
2011-01-16 12:08:38 -08:00
Brad Fitzpatrick
4a82b62044 Remove accidental StrictMode logging left in.
Change-Id: I7580816c6efc32889f49987152ff1d4c40d47140
2011-01-13 16:15:40 -08:00
Jason parks
a3cdaa5337 Revert "Remove the APIs for the old encryption scheme."
This reverts commit 1125d780a8.
2011-01-13 14:15:43 -06:00
Jason parks
21f62b9e46 Merge "Add a method enable encryption." into honeycomb 2011-01-13 07:41:53 -08:00
Jason parks
ca6777b23b Merge "Remove the APIs for the old encryption scheme." into honeycomb 2011-01-13 07:40:46 -08:00
Carl Shapiro
7e942848ac Note the release in which functionality was deprecated.
Change-Id: Ia0f361986e4232869f7d4123f75081100241638e
2011-01-12 17:17:45 -08:00
Carl Shapiro
1107383e02 Deprecate the allocation limit interfaces.
Allocation limits relied on conditionally compiled code in the virtual
machine that was disabled in released versions of Android.  As such,
these setter methods were glorified no-ops.  Now that the feature has
been removed from the allocator this interface is thoroughly obsolete.

Change-Id: Id7f9de37ecfece4b909e35f110e118e131457133
2011-01-12 16:56:48 -08:00
Jason parks
56aa5321fe Add a method enable encryption.
This is for testing and needs to be cleaned up.

Change-Id: I29958f2a95c7773744e61bbd23a302b752614f87
2011-01-12 16:00:23 -06:00
Jason parks
1125d780a8 Remove the APIs for the old encryption scheme.
Change-Id: I55116a5b29b10dfd50015805ec019b485257f68b
2011-01-12 15:01:34 -06:00
Dianne Hackborn
540f86aa42 Get rid of old ParcelFileDescriptor API.
Also some new debugging code in AsyncTaskLoader.

Change-Id: Ib13386b7862821cf0ee31b003bedef78f46240f1
2011-01-11 17:56:12 -08:00
Mike Lockwood
3459e27e5d un@hide android.os.Environment.isExternalStorageEmulated()
Change-Id: I35e7dc59763595523cb5af569e237bcff5cf1b49
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-10 22:12:31 -05:00
Romain Guy
5ba812b9e9 Make sure onCancelled() is called if cancel() is called early.
In some situations, when cancel() was called before the task had a
chance to start its execution, onCancelled() would not be invoked.

Change-Id: I6c1f4cd28a209fb8cc779bb212f500565dfceaae
2011-01-10 13:33:12 -08:00
Romain Guy
e95003e4a1 Tighten up AsyncTask's semantics and behavior.
Bug #3109366
Bug #3109382

The new behavior of AsyncTask is the following:
- Unchanged if you don't call cancel()
- If you call cancel():
  - Either onCancelled() *OR* onPostExecute() is invoked
  - onCancelled() is invoked only after doInBackground() finishes

Change-Id: If53faec5890d2fa7098aea76973186a0b1026b39
2011-01-09 14:04:36 -08:00
Dianne Hackborn
c1b40e361c Implement issue #3326435: Battery stats improvements
Keep track of discharge while screen is on vs. off.

Checkin looks like:

5,0,u,dc,1,1,1,0

The last four numbers are, from left:

- Maximum battery drain over time period.
- Minimum battery drain over time period.
- Battery drain while screen was on.
- Battery drain while screen was off.

Change-Id: Ie4026a7cc8aabb2a6d47d03d2e278aa51c2d5ddf
2011-01-05 21:02:01 -08:00
Jason parks
ac1325bcd3 Merge "Add decryption support to MountService." 2011-01-05 11:56:42 -08:00
Jason parks
5af0b916f8 Add decryption support to MountService.
* Implement the decryptStorage() method on the Mount Service.
  This method makes the calls into vold to decrypt the encrypted
  volumes and mount them.

Change-Id: I4f6e07a111cf0b36611d590debf9f6579c5ac5f7
2011-01-05 12:32:49 -06:00
Carl Shapiro
b596198d8d Remove functionality related to external allocation tracking.
The android.os.Debug class exposed two interfaces related to external
allocation.  The first interface provided a counter of global external
allocation events.  This change makes the global counter getters
constantly return 0 and stubs out the counter setters.  The second
interface attempted to provide a counter of per-thread external
allocation events.  That interface was never implemented.  This change
makes the per-thread counter getters constantly return -1 and stubs
out the setters.

Change-Id: I240fe9bf05297a83607a4350d40d20581e2a9e2f
2011-01-04 15:51:33 -08:00
Dianne Hackborn
a2ea747faa More cleanup of Loader APIs.
- Remove old method names.
- Introduce onXxx() hooks to Loader.
- Improve debugging.

Change-Id: I3fba072a05c7023aa7d2c3eb4e126feb514ab6d8
2010-12-20 14:10:31 -08:00
Glenn Kasten
334031cd07 Fix documentation errors
Fix typos.
Fix javadoc error.
Fix wrong instructions about new returning null.

Change-Id: I76bca22e386839007fc99667b07649a4ced4180f
2010-12-20 09:22:01 -08:00
Mike Lockwood
dcaa10cd36 Add Process.MEDIA_RW_GID constant
Change-Id: I2358e5ef1e55ee4b1b9725451ce06cfbf3ed54a4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-16 12:56:12 -08:00
Brad Fitzpatrick
4e920f70f3 Add MODE_MULTI_PROCESS flag to Context.getSharedPreferences()
Also, changes to make this testable with CTS:

-- special PENALTY_DEATH StrictMode fast path that doesn't use
   the Looper idling to "time" the violation.  Only used when
   death is the only violation,

-- make PENALTY_DEATH throw a RuntimeException instead of
   killing its process with a signal.  this means we can catch
   it in CTS tests, but it's also more consistent with
   PENALTY_NETWORK_DEATH in Honeycomb.

-- make FileUtils.getFileStatus() invoke StrictMode, which isn't
   (yet?) aware of I/O in native code.  so help it out.

CTS test for MODE_MULTI_PROCESS is in I6154edab

Change-Id: Icf93f9dfb0ece06b16781e4803dd2c17df3cf1b3
2010-12-14 16:27:21 -08:00
Jeff Brown
d10bfe185c Improve documentation on Vibrator.vibrate.
Bug: 3135537
Change-Id: I961e32990d754dc6b5f86ffea8515685f8ade40f
2010-12-14 13:23:10 -08:00
Brad Fitzpatrick
996f41da3c am 2d5b11ab: am 0927c902: Merge "Fix StrictMode javadoc copy/paste error." into gingerbread
* commit '2d5b11aba0fec21e1ce3f358eb0d280b62704899':
  Fix StrictMode javadoc copy/paste error.
2010-12-13 16:30:17 -08:00
Brad Fitzpatrick
2d5b11aba0 am 0927c902: Merge "Fix StrictMode javadoc copy/paste error." into gingerbread
* commit '0927c9026537166cec36b2f9bb8a764ef8a7c606':
  Fix StrictMode javadoc copy/paste error.
2010-12-13 15:27:25 -08:00
Brad Fitzpatrick
0927c90265 Merge "Fix StrictMode javadoc copy/paste error." into gingerbread 2010-12-13 15:25:09 -08:00
Dianne Hackborn
ccc7141313 resolved conflicts for merge of 78e9f4cb to master
Change-Id: I1135361e6d66f524c3f349e2bf1f31bd4191c634
2010-12-13 14:55:25 -08:00
Dianne Hackborn
78e9f4cbae am e4a59519: Fix issue #3154576: battery stats checkin should include UID -> packages+ map
* commit 'e4a5951925f16f18dae91ed65567e96528f17fee':
  Fix issue #3154576: battery stats checkin should include UID -> packages+ map
2010-12-13 14:37:09 -08:00
Dianne Hackborn
e4a5951925 Fix issue #3154576: battery stats checkin should include UID -> packages+ map
Includes some other small fixes to battery collection and a few
other things.

Output of package info looks like this:

5,0,i,uid,1000,com.android.settings
5,0,i,uid,1000,com.android.providers.subscribedfeeds
5,0,i,uid,1000,com.android.providers.settings
5,0,i,uid,1000,com.android.server.vpn
5,0,i,uid,1000,android
5,0,i,uid,1000,com.android.systemui
5,0,i,uid,1000,com.google.android.backup
5,0,i,uid,1001,com.android.phone
5,0,i,uid,1001,com.android.providers.telephony
5,0,i,uid,1022,com.android.nfc
5,0,i,uid,10021,com.google.android.location
5,0,i,uid,10021,com.google.android.syncadapters.calendar
5,0,i,uid,10021,com.google.android.gsf
5,0,i,uid,10021,com.google.android.syncadapters.contacts
5,0,i,uid,10026,com.android.providers.downloads.ui
5,0,i,uid,10026,com.android.providers.media
5,0,i,uid,10026,com.android.providers.drm
5,0,i,uid,10026,com.android.providers.downloads
5,0,i,uid,10032,com.android.launcher
5,0,i,uid,10039,com.google.android.gm
5,0,i,uid,10041,com.google.android.gallery3d
5,0,i,uid,10049,com.android.providers.calendar

Change-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d
2010-12-13 14:31:40 -08:00
Brad Fitzpatrick
320274c5f1 Fix StrictMode javadoc copy/paste error.
Change-Id: Idd49111f0a1af6f331cffa0972191b2d4e25a385
2010-12-13 14:07:39 -08:00
Mike Lockwood
595ca7062e Merge "PowerManager: remove unused import" 2010-12-13 13:54:09 -08:00
Mike Lockwood
36e52dce7f PowerManager: remove unused import
Change-Id: I0cfd48bd7ec0af3be7721994ab31d6f00634a4e0
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-13 13:42:28 -08:00
Jean-Baptiste Queru
dd60ee728d am 6d13b146: am e78a0009: resolved conflicts for merge of 4b94c451 to stage-korg-master
* commit '6d13b146e0444f40f45b9fe5812093c5e611b68e':
  Added dropbox broadcast notification
2010-12-13 13:12:36 -08:00
Jean-Baptiste Queru
e78a000955 resolved conflicts for merge of 4b94c451 to stage-korg-master
Change-Id: I07b974f96ca598677e58623050e4668822e68f23
2010-12-13 13:06:13 -08:00
Brad Fitzpatrick
e36f9bf123 StrictMode "custom" trigger support.
For people who want to annotate their own functions as slow, outside
of just the built-in disk & network stuff.

Change-Id: Ia90e150d1cf7a23a658c091285c1c8bb2d7d9732
2010-12-10 14:18:13 -08:00
Hakan Still
b247536aa3 Added dropbox broadcast notification
To monitor the dropbox an application have to either poll the dropbox
and keep track of all entries or observ the /data/system/dropbox
directory. The later requires that the application runs as system-user.
This commit adds that a broadcast intent is sent when something is written
to the dropbox and an application can just listen on this intent and
then reads the entry with help of the DropboxManager class.
The application have to hold the permission android.permission.READ_LOGS
to get the intent.

Change-Id: I1f77f206a243df69f4ed5306078c47f7bf6181ec
2010-12-08 13:19:33 +01:00
Dianne Hackborn
0aae2d4e00 Rework activity lifecycle so onSaveInstanceState() is after onPause().
The goal is to fix a bunch of fragment-related bugs caused by various
things trying to do fragment transactions after onPause()...  which
currently throws an exception, since this is after the activity's state
has been saved so the new fragment state can be lost.

The basic change is relatively simple -- we now consider processes
hosting paused or stopping activities to be unkillable, and the client
code now does the onSaveInstanceState() as part of stopping the
activity.

For compatibility, if an app's targetSdkVersion is < HONEYCOMB, the
client side will still call onSaveInstanceState() prior to onPause()
and just hold on to that state until it needs to report it in once
being stopped.

Also included here is a change to generate thumbnails by taking
screenshots.  The code for generating thumbnails by re-rendering
the view hierarchy is thus removed.

Change-Id: Iac1191646bd3cadbfe65779297795f22edf7e74a
2010-12-08 00:35:27 -08:00