Commit Graph

424 Commits

Author SHA1 Message Date
Brad Fitzpatrick
7f7ce40f90 resolved conflicts for merge of 28130bae to master
Change-Id: I13df8dc12092c3d2536e12216df9130d5914380a
2010-08-27 16:11:27 -07:00
Brad Fitzpatrick
28130baefb resolved conflicts for merge of 6b50986a to gingerbread-plus-aosp
Change-Id: I7c5ec7ae717e75ad242e2c1ad4537052e4eea718
2010-08-27 12:08:40 -07:00
Brad Fitzpatrick
333b8cba99 SharedPreferences$Editor.startCommit()
Adds a fire-and-forget save method (startCommit) to the
SharedPreferences.Editor, which is the way most people use it anyway.

This commit adds the implementation.  The previous commit added the
interface and docs:

   previous change: Idf9934b445da1fb72b79f0192218b47c0a7f5a34
        git commit: edf32d0131

In addition, this change:

-- adds a generic "runPendingWorkFinishers" mechanism to
   ActivityThread to wait on async operations that are still
   in flight and use it for this.

-- ties runPendingWorkFinishers into Activity.onPause,
   BroadcastReceiver, and Service.

-- makes sSharedPreferences keyed on name, not File, to avoid
   unnnecessary allocations

-- documents and guarantees what thread
   OnSharedPreferenceChangeListener callbacks run on

-- makes a few things in frameworks/base use startCommit(), notably
   Preference.java (which was ignoring the return value anyway)

Change-Id: I1c8db60ad45643226fe6d246d3e513eeb7bd0ebd
2010-08-27 09:10:11 -07:00
Brad Fitzpatrick
7f9106fb1f am 6cf1a8bf: am b1bbe99a: Merge "Some StrictMode API changes." into gingerbread
Merge commit '6cf1a8bfb04aead9cee5f59df4529a79c0a92dca'

* commit '6cf1a8bfb04aead9cee5f59df4529a79c0a92dca':
  Some StrictMode API changes.
2010-08-24 16:58:27 -07:00
Wink Saville
c28227d443 Merge "Allow reliable detection of a message that is in use." 2010-08-24 14:33:29 -07:00
Brad Fitzpatrick
6cf1a8bfb0 am b1bbe99a: Merge "Some StrictMode API changes." into gingerbread
Merge commit 'b1bbe99aaa01f321ae94f0d5ba4505e528664cc7' into gingerbread-plus-aosp

* commit 'b1bbe99aaa01f321ae94f0d5ba4505e528664cc7':
  Some StrictMode API changes.
2010-08-24 14:18:26 -07:00
Brad Fitzpatrick
97461bd25c Some StrictMode API changes.
* rename setThreadBlockingPolicy to setThreadPolicy (opens the way to
  using StrictMode for non-blocking-related things in the future?)

* add allowThreadDiskWrites() and allowThreadDiskReads() to modify the
  current policy mask and return the old one.  this will allow turning
  off part of StrictMode during certain regions of code.  (for
  instance, writing to disk in Activity onPause...)

Change-Id: Ia1878153713f79299971fdab567fa15b3cb9d56c
2010-08-24 11:47:19 -07:00
Wink Saville
a334e7c724 Allow reliable detection of a message that is in use.
Because the standard Looper.loop code calls Message#recycle it is
imperative that Handler#handleMessage code not attempt to resue
a message it receives. If allowed to do so it will cause bugs that
could be difficult to diagnois.

This change adds Message#flags and uses one bit to reliably detect
a message is in use and throws an error in MessageQueue#enqueueMessage.
This allows early detection of this bug.

Note: This is not new functionality, but the current implementation does
not detect messages that are in use because it uses Message#when != 0
as the detection mechanism. The problem is that a Message#when value of 0
is valid value used to place a message at the front of the queue and is
thus unreliable.

Another option is to change the setting of Message#when in Message#enqueueMessage
so that it is never 0, although that does change subtly a publicly accessible
field.

Yet another option would be to use other fields but all candidates have
similar problems as when in that they are publicly accessible or even
settable such as Message#target.

Change-Id: I040d6e546376f7b1ed1e4daa0d5644cce8bf333a
2010-08-24 10:56:30 -07:00
Kenny Root
53e75ea847 resolved conflicts for merge of 485de781 to master
Change-Id: I483cb81596f09b024b1aea7fc55960183f38b24f
2010-08-24 09:57:33 -07:00
Dianne Hackborn
37a1e2370f am a3ece8bd: am 32519259: Merge "Fix a few small battery stats problems:" into gingerbread
Merge commit 'a3ece8bde37acd81b08c4e3c1cb0e6d006ade3e0'

* commit 'a3ece8bde37acd81b08c4e3c1cb0e6d006ade3e0':
  Fix a few small battery stats problems:
2010-08-24 09:03:45 -07:00
Dianne Hackborn
3e6d50cc48 Make Theme.Holo the default theme for new apps.
Also change Holo to have an action bar, instead of a title bar.

Change-Id: I45c2f06938509ae02cde99d1c06c228f86e8e3e8
2010-08-23 18:51:26 -07:00
Jaikumar Ganesh
ddb2bfeb6e Revert "Allow reliable detection of a message that is in use."
This reverts commit 6083d81ce4.
Reverting this because it causes runtime to reboot in a loop
if connected to a Bluetooth Headset.

copyFrom() needs to check for the introduced bit too.
2010-08-23 17:04:32 -07:00
Wink Saville
8da31dc8bf Merge "Allow reliable detection of a message that is in use." 2010-08-23 15:00:23 -07:00
Wink Saville
6083d81ce4 Allow reliable detection of a message that is in use.
Because the standard Looper.loop code calls Message#recycle it is
imperative that Handler#handleMessage code not attempt to resue
a message it receives. If allowed to do so it will cause bugs that
could be difficult to diagnois.

This change adds Message#flags and uses one bit to reliably detect
a message is in use and throws an error in MessageQueue#enqueueMessage.
This allows early detection of this bug.

Note: This is not new functionality, but the current implementation does
not detect messages that are in use because it uses Message#when != 0
as the detection mechanism. The problem is that a Message#when value of 0
is valid value used to place a message at the front of the queue and is
thus unreliable.

Another option is to change the setting of Message#when in Message#enqueueMessage
so that it is never 0, although that does change subtly a publicly accessible
field.

Yet another option would be to use other fields but all candidates have
similar problems as when in that they are publicly accessible or even
settable such as Message#target.

Change-Id: I2df600537700a3fe206678f38bcae7329751c4e5
2010-08-21 15:32:19 -07:00
Kenny Root
e49564e0f7 am 821afa9a: am 54d41379: Merge "Add OBB flags to support overlays" into gingerbread
Merge commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973'

* commit '821afa9aec8d3a4ffd2e72ce797d8097eaf13973':
  Add OBB flags to support overlays
2010-08-21 09:41:12 -07:00
Kenny Root
485de781f6 am 06c81f29: Merge changes I8a257579,I82d16312 into gingerbread
Merge commit '06c81f29a61ad3568a77f111b6be93e1f437f5bd' into gingerbread-plus-aosp

* commit '06c81f29a61ad3568a77f111b6be93e1f437f5bd':
  Add AStorageManager API to NDK
  Reorganize MountService IPC
2010-08-20 15:09:58 -07:00
Kenny Root
06c81f29a6 Merge changes I8a257579,I82d16312 into gingerbread
* changes:
  Add AStorageManager API to NDK
  Reorganize MountService IPC
2010-08-20 15:07:34 -07:00
Dianne Hackborn
a3ece8bde3 am 32519259: Merge "Fix a few small battery stats problems:" into gingerbread
Merge commit '325192593b057f4360e1abddf490b4fae7d60b12' into gingerbread-plus-aosp

* commit '325192593b057f4360e1abddf490b4fae7d60b12':
  Fix a few small battery stats problems:
2010-08-20 14:13:22 -07:00
Dianne Hackborn
99d0452ddc Fix a few small battery stats problems:
- Actually aggregate discharge amounts.
- Actually print the unplugged battery info when currently plugged in.

Change-Id: I22dd6feb73ac1364eb169d3239ce403b0755bb6c
2010-08-20 13:43:00 -07:00
Kenny Root
be857d4284 Reorganize MountService IPC
Remove auto-generated AIDL files and replace them with manually edited
.java and .cpp/.h files so that binder calls can be made from either
Java or C++.

Update the makefiles to not attempt to generate the AIDL files and also
remove the old auto-generated .java files.

Put all the storage-related C++ things in libstorage so that we don't
pollute other libraries.

Change-Id: I82d1631295452709f12ff1270f36c3100e652806
2010-08-20 13:17:12 -07:00
Kenny Root
821afa9aec am 54d41379: Merge "Add OBB flags to support overlays" into gingerbread
Merge commit '54d41379357d1d800d0a7bd7c5dc56111710482a' into gingerbread-plus-aosp

* commit '54d41379357d1d800d0a7bd7c5dc56111710482a':
  Add OBB flags to support overlays
2010-08-19 09:11:31 -07:00
Kenny Root
02ca31fbae Add OBB flags to support overlays
* Add flags field in OBB footer to support overlays.

* Remove unused 'crypto' and 'filesystem' fields in obbtool (could
  later be supported in the "flags" field of the OBB footer).

* Add notes to document OBB classes before shipping.

Change-Id: I386b43c32c5edef55210acb5d3322639c08010ba
2010-08-18 09:34:58 -07:00
Bjorn Bringert
a006b47298 New API and implementation of DB and memory-backed FDs
This depends on a kernel patch that implements read(2)
in the ashmem driver.

Bug http://b/issue?id=2595601

Change-Id: Ie3b10aa471aada21812b35e63954c1b2f0a7b042
2010-08-18 15:39:52 +01:00
Doug Zongker
4961e4793f am bb33d6fd: am 997dc32b: Merge "add an api for getting a device serial number" into gingerbread
Merge commit 'bb33d6fd987727c24372d7b7109ec5d1db82efe2'

* commit 'bb33d6fd987727c24372d7b7109ec5d1db82efe2':
  add an api for getting a device serial number
2010-08-16 15:19:21 -07:00
Dianne Hackborn
a10382b67d am 2e47052f: am 567722ee: Merge "Fix problems with determining when to kill apps for wake usage." into gingerbread
Merge commit '2e47052fc4ad3439adc2322fd953fd58a85d457c'

* commit '2e47052fc4ad3439adc2322fd953fd58a85d457c':
  Fix problems with determining when to kill apps for wake usage.
2010-08-16 15:18:27 -07:00
Dianne Hackborn
0a56fdc140 am 66b0343e: am a8d9291d: Merge "Various battery info things:" into gingerbread
Merge commit '66b0343e9e32203cdd39b854852cf575ca2fcd6b'

* commit '66b0343e9e32203cdd39b854852cf575ca2fcd6b':
  Various battery info things:
2010-08-16 15:17:46 -07:00
Doug Zongker
bb33d6fd98 am 997dc32b: Merge "add an api for getting a device serial number" into gingerbread
Merge commit '997dc32b6bef1c9cc8ac6d4d598698507b2c4934' into gingerbread-plus-aosp

* commit '997dc32b6bef1c9cc8ac6d4d598698507b2c4934':
  add an api for getting a device serial number
2010-08-16 13:20:05 -07:00
Doug Zongker
997dc32b6b Merge "add an api for getting a device serial number" into gingerbread 2010-08-16 09:19:40 -07:00
Doug Zongker
7d2e3df60d add an api for getting a device serial number
Add a constant to android.os.Build that returns a device-specific
alphanumeric serial number.  It's optional -- it may be blank --
though CTS will require it to be present for non-telephony devices.

Change-Id: I338ae5f43ba679a5e98f2f437dc4efdaef0c835d
2010-08-16 09:18:50 -07:00
Dianne Hackborn
2e47052fc4 am 567722ee: Merge "Fix problems with determining when to kill apps for wake usage." into gingerbread
Merge commit '567722eee190f7cf88dc7ea95167db76d5514842' into gingerbread-plus-aosp

* commit '567722eee190f7cf88dc7ea95167db76d5514842':
  Fix problems with determining when to kill apps for wake usage.
2010-08-15 17:34:49 -07:00
Dianne Hackborn
1ebccf531d Fix problems with determining when to kill apps for wake usage.
Also improve debug printing of various times.

Change-Id: Ifcc288fd1bcbf44c069875ba97925b9e7ffe9a48
2010-08-15 17:27:29 -07:00
Dianne Hackborn
66b0343e9e am a8d9291d: Merge "Various battery info things:" into gingerbread
Merge commit 'a8d9291d7f93d1aa0d24d71d65c7de2894812177' into gingerbread-plus-aosp

* commit 'a8d9291d7f93d1aa0d24d71d65c7de2894812177':
  Various battery info things:
2010-08-13 16:00:44 -07:00
Dianne Hackborn
9adb9c3b10 Various battery info things:
- Now track wake locks in battery history.
- Now track sensors in battery history.
- Some filtering of sensory data.
- Fixes to some data that wasn't cleared when resetting battery stats.
- Print amount discharged since last charge.

And the big part -- keep track of wake locks held per process,
and kill processes that hold wake locks too much while they are in
the background.  This includes information in the battery stats
about the process being killed, which will be available to the
developer if the app is reported.

Change-Id: I97202e94d00aafe0526ba2db74a03212e7539c54
2010-08-13 15:17:49 -07:00
Jeff Brown
b219a83ff6 am f66f8a58: am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread
Merge commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58'

* commit 'f66f8a58cc4412bd258e1d5b11cac17a617bdc58':
  Add support for the PointerLocation overlay.
2010-08-11 16:22:47 -07:00
Jeff Brown
f66f8a58cc am 95af0c14: Merge "Add support for the PointerLocation overlay." into gingerbread
Merge commit '95af0c14a64ef264d2b362ded4ca2b5a169d1066' into gingerbread-plus-aosp

* commit '95af0c14a64ef264d2b362ded4ca2b5a169d1066':
  Add support for the PointerLocation overlay.
2010-08-11 16:18:36 -07:00
Jeff Brown
95af0c14a6 Merge "Add support for the PointerLocation overlay." into gingerbread 2010-08-11 16:15:48 -07:00
Jeff Brown
a41ca77fab Add support for the PointerLocation overlay.
This change involves adding a new method to IWindowManager,
monitorInput() that returns an InputChannel to receive a copy of all
input that is dispatched to applications.  The caller must have
the READ_INPUT_STATE permission to make this request (similar to
other window manager methods such as getKeycodeState).

Change-Id: Icd14d810174a5b2928671ef16de73af88302aea0
2010-08-11 14:46:32 -07:00
Kenny Root
bf0cb26a1c am f5ee5358: am ac9717ab: Merge "Move OBB file reading to DefaultContainerService" into gingerbread
Merge commit 'f5ee5358c187107b2e5a1e1fbcb5a648d793c798'

* commit 'f5ee5358c187107b2e5a1e1fbcb5a648d793c798':
  Move OBB file reading to DefaultContainerService
2010-08-11 14:15:10 -07:00
Kenny Root
f5ee5358c1 am ac9717ab: Merge "Move OBB file reading to DefaultContainerService" into gingerbread
Merge commit 'ac9717ab73afe0123b6dbb63c4dd2fc88143e53e' into gingerbread-plus-aosp

* commit 'ac9717ab73afe0123b6dbb63c4dd2fc88143e53e':
  Move OBB file reading to DefaultContainerService
2010-08-11 14:10:18 -07:00
Kenny Root
a02b8b05dd Move OBB file reading to DefaultContainerService
The system_server shouldn't touch files on the SD card. This change
moves the things that touch the SD card out to the
DefaultContainerService so that it will get killed if the SD card goes
away instead of the system_server.

Change-Id: I0aefa085be4b194768527195532ee6dddc801cfc
2010-08-11 11:20:53 -07:00
Dianne Hackborn
23fdaf6fb6 Add new ContentProvider for doing conversions to data streams.
This introduces basic infrastructure that should allow content
providers holding complex data to perform on-demand conversion
of their data to streams of various types.  It is achieved through
two new content provider APIs, one to interrogate the possible
stream MIME types the provider can return, and the other to
request a stream of data in a particular MIME type.

Because implementations of this will often need to do on-demand
data conversion, there is also a utility intoduced in ContentProvider
for subclasses to easily run a function to write data into a
pipe that is read by the client.

This feature is mostly intended for cut and paste and drag and
drop, as the complex data interchange allowing the source and
destination to negotiate data types and copy (possible large)
data between them.  However because it is fundamental facility
of ContentProvider, it can be used in other places, such as for
more advanced GET_CONTENT data exchanges.

An example implementation of this would be in ContactsProvider,
which can now provider a data stream when a client opens certain
pieces of it data, to return data as flat text, a vcard, or other
format.

Change-Id: I58627ea4ed359aa7cf2c66274adb18306c209cb2
2010-08-08 18:49:31 -07:00
Mike Lockwood
90960e87ec Set umask of system server to 0077
This matches the previous behavior of java.io.File file and directory creation.

BUG: 2898660

Change-Id: Ie8978a3fc44abfd22f8046e66742e715354220a8
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-08-06 09:19:58 -04:00
Dianne Hackborn
b1ad5977bc New two-pane mode for PreferenceActivity.
This introduces a whole new way to use PreferenceActivity, as
a container for PreferenceFragments that the user can switch
between from a list of headers.

Change-Id: I1c79b7c78b86790dc460a1414a999aba5de80628
2010-08-03 11:18:23 -07:00
Brad Fitzpatrick
86dde2d64c am e2d33bbc: am d2165cfc: Merge "StrictMode: time violations in Binder calls" into gingerbread
Merge commit 'e2d33bbc496192d49c1e48baad446d8d0720d301'

* commit 'e2d33bbc496192d49c1e48baad446d8d0720d301':
  StrictMode: time violations in Binder calls
2010-07-30 15:27:56 -07:00
Brad Fitzpatrick
e2d33bbc49 am d2165cfc: Merge "StrictMode: time violations in Binder calls" into gingerbread
Merge commit 'd2165cfce7911dac66d1195ed9123e79b086d22b' into gingerbread-plus-aosp

* commit 'd2165cfce7911dac66d1195ed9123e79b086d22b':
  StrictMode: time violations in Binder calls
2010-07-30 15:23:19 -07:00
Brad Fitzpatrick
cb9ceb1029 StrictMode: time violations in Binder calls
Change-Id: I5796993dce98be722cf679b78acaf0c9de0ba461
2010-07-30 14:28:55 -07:00
Brad Fitzpatrick
84fabc0ce3 am 245cb784: am 84c924a6: Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread
Merge commit '245cb7846c82f7c0840e13f0b994d356846b1678'

* commit '245cb7846c82f7c0840e13f0b994d356846b1678':
  Replace several IPCThreadState::get() lookups with one.
2010-07-27 14:04:14 -07:00
Brad Fitzpatrick
245cb7846c am 84c924a6: Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread
Merge commit '84c924a6c53cb63ca018013c9fda0077413d0005' into gingerbread-plus-aosp

* commit '84c924a6c53cb63ca018013c9fda0077413d0005':
  Replace several IPCThreadState::get() lookups with one.
2010-07-27 14:02:01 -07:00
Brad Fitzpatrick
84c924a6c5 Merge "Replace several IPCThreadState::get() lookups with one." into gingerbread 2010-07-27 13:59:47 -07:00
Brad Fitzpatrick
7bcad8a315 Replace several IPCThreadState::get() lookups with one.
Also, make StrictMode's ThreadLocal final.

Change-Id: I08d400ed254fa67bb7a3dae1227f205a54c00df0
2010-07-27 12:28:57 -07:00