Commit Graph

708 Commits

Author SHA1 Message Date
Chris Palmer
5bade703fd Merge "DO NOT MERGE Correct the PackageManager.checkSignatures documentation." into gingerbread 2010-09-14 17:43:31 -07:00
Dianne Hackborn
50addddba5 Fix potential crash in sync.
Change-Id: I523d8faa24b7ba57dcc09cbe91b5cb91d9f6f262
2010-09-13 17:12:51 -07:00
Chris Palmer
09f3360f51 DO NOT MERGE Correct the PackageManager.checkSignatures documentation.
Make the documentation match the current behavior since change ID
Ibdeff170bd386d723f774136b18e0ad59d9cdabb.

Will add @deprecated tags back in in a separate CL. This is just to get
things in the same state as master, following the build breakage mishap.

Change-Id: I47c53700892473061093002c32ad8f095b5813d1

Do not merge to master; an equivalent CL has already been committed there.
2010-09-13 14:32:24 -07:00
Dianne Hackborn
7e9f4eb260 Track client requests through location manager.
This fixes a problem where applications could ask the location
manager to do very heavy-weight things (like...  say... update
location every minute), which would get accounted against the
system instead of the application because ultimately it is the
system making the heavy calls (wake locks, etc).

To solve this, we introduce a new class WorkSource representing
the source of some work.  Wake locks and Wifi locks allow you
to set the source to use (but only if you are system code and thus
can get the permission to do so), which is what will be reported
to the battery stats until the actual caller.

For the initial implementation, the location manager keeps track
of all clients requesting periodic updates, and tells its providers
about them as a WorkSource param when setting their min update time.
The network location provider uses this to set the source on the
wake and wifi locks it acquires, when doing work because of the
update period.

This should also be used elsewhere, such as in the GPS provider,
but this is a good start.

Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
2010-09-13 14:20:48 -07:00
Kenny Root
1bece4320c Make nativeLibraryDir visible in the API
Change-Id: Ic88e76a85b0041e97b4c29c42dfa09db0356391c
2010-09-12 19:20:32 -07:00
Jake Hamby
bb37163323 Allow incoming SMS until internal storage is almost full.
Fix for bug 2382830: new incoming SMS should not be rejected when
running low on internal phone storage.

Testing revealed that the /data partition should have at least 256 KiB
available in order to prevent random app crashes (including system apps)
due to SQLite transaction failures. With 256 KiB free, the device should
safely boot without storage full errors. This takes into account the
36-40 KiB that the YAFFS2 filesystem reports as available even after
the partition has been completely filled. I've set the default full
threshold to 1 MiB to provide a generous safety margin.

For this bug, I changed the DeviceStorageMonitorService demon to send
two new hidden notifications for device storage "full" and "not full",
when the free space falls below the full threshold (default 1 MiB,
but configurable as a system setting), in addition to the existing
storage low/okay notifications sent when the storage crosses the threshold
of 90% full (also configurable).

The SMS code was changed to use these new notifications so that it can
accept messages until the data partition has been filled to the maximum
safe capacity rather than stopping when it hits 90% full. There should
be no negative impact on battery life because the additional check in
the storage polling service should be offset by an optimization to cache
the free threshold values which were previously being computed every time
through the loop.

While testing this change, I discovered that SMSDispatcher was being
instantiated twice, the first time in GSMPhone/CDMAPhone, and the second
time in SimSmsInterfaceManager / RuimSmsInterfaceManager. Changed the code
to pass the original SMSDispatcher to the Sim/RuimSmsInterfaceManager
constructor.

Change-Id: Ie0c6d05294778ab6ee42e0fa01313af96d824c77
2010-09-08 12:37:18 -07:00
Kenny Root
6dc003a73f Merge "Reduce footprint of Signature from ~7000 to ~1448" into gingerbread 2010-09-03 16:59:42 -07:00
Kenny Root
de0ff63700 Reduce footprint of Signature from ~7000 to ~1448
Signature had lazy initialization of the mString member when needed, but
it would stick around forever when initialized. Each package had one or
more Signatures that would be ~7000 bytes each. At a couple hundred
packages, that's over 1.3MB just for signatures.

Whenever packages.xml was written out, it would write the Signature for
each program as well which happens at boot thereby initializing the
mString member pretty much immediately.

Change-Id: Idb882ffeca2861b3e87437fc83f001710d6c0441
2010-09-03 16:02:27 -07:00
Dianne Hackborn
69717ccd13 DO NOT MERGE. Some stuff that is Not Ready.
Change-Id: I8fdba32722d86b92c791dbf7c6c0166bcdb02852
2010-09-03 15:20:06 -07:00
Dan Morrill
6993d3d136 Adding a feature denoting support for 5 or more fully
independent multitouch pointers.

Change-Id: I9997ed9c481dbd507e9eff70d8beb9e1140cca3f
2010-09-03 14:41:36 -07:00
Hung-ying Tyan
3424c02e6b Add software features for SIP and VOIP
and block SipService creation and SIP API if the feature is not available.

Change-Id: Icf780af1ac20dda4d8180cea3e5b20e21a8350bc
2010-09-02 08:10:13 +08:00
Dan Morrill
76437d3793 Adding a feature definition corresponding to support for Near-Field
Communications (NFC).

Change-Id: I32b1b949524bfd978f53e23e02d38dfba4a2ea9c
2010-09-01 14:42:23 -07:00
Dianne Hackborn
361199b5e7 Add PackageManager API to get information about a provider component.
Kind-of useful when all you have is a ComponentName.

Change-Id: I9a99f12daabb29e97e882e09c43ca0df70c00651
2010-08-31 18:59:04 -07:00
Brad Fitzpatrick
66fce5068a Renaming SharedPreferences$Editor.startCommit to apply
Also removes the artifical restriction that only one apply() can be in
flight at once.  That was old from when I thought it'd end up being
required, but wasn't.

Change-Id: I3540ea8be6e0760d6a51d218186f71655c2f3f55
2010-08-30 18:10:49 -07:00
Daniel Sandler
d02bdaab49 Remove experimental immersive mode support. DO NOT MERGE
Bug: 2949215

Change-Id: I7d998ef571ef7e149bb96261430e92150b80b77d
2010-08-27 22:57:39 -04:00
Kenny Root
85387d7ba3 Allow native shared libraries in ASEC containers
This change moves the native library handling earlier in the package
installation process so that it may be inserted into ASEC containers
before they are finalized in the DefaultContainerService.

Note that native libraries on SD card requires that vold mount ASEC
containers without the "noexec" flag on the mount point.

Change-Id: Ib34b1886bf6f94b99bb7b3781db6e9b5a58807ba
2010-08-27 16:40:06 -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
Dianne Hackborn
02486b1327 Hide heavy-weight API.
And give it a better name, for when it is later un-hidden.

Change-Id: Iae0d3054d44f873b9f953bc41d175a47802a185e
2010-08-26 14:41:58 -07:00
Brad Fitzpatrick
edf32d0131 Start of SharedPreferences$Editor.startCommit()
No implementation yet, just the interface.

Change-Id: Idf9934b445da1fb72b79f0192218b47c0a7f5a34
2010-08-25 13:13:36 -07:00
Dianne Hackborn
39792d2262 Fix bugs with granting permissions through onNewIntent().
It would grant the permission to the temporary ActivityRecord,
not the real one, so it never got cleaned up.

Also allow granting of permissions to services because...  well,
it would be really really useful.  And it introduces some
refactoring that we'll need to support cut/paste.

Change-Id: If521f509042e7baad7f5dc9bec84b6ba0d90ba09
2010-08-20 11:50:00 -07:00
Gilles Debunne
189de28209 Merge "Fix for a Resource system bug that displayed the wrong name for missing asset." into gingerbread 2010-08-19 15:27:12 -07:00
Gilles Debunne
75399683a4 Fix for a Resource system bug that displayed the wrong name for missing asset.
I didn't reproduce the bug and cannot ensure that this will fix it. The monkey
with identical parameters stops with an ANR.

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

Change-Id: I45f156c6a694f2d67fe514e0f0bb367aa017f08e
2010-08-19 15:10:24 -07:00
Kenny Root
54d4137935 Merge "Add OBB flags to support overlays" into gingerbread 2010-08-19 09:09:32 -07:00
Dianne Hackborn
b424b633bb Fix issue #2845673: android:exported="false" is not obeyed
Thou shall obey.

Change-Id: I09f163a0db7cc9189c8d7f5116cc8ca9d4f7a76c
2010-08-18 16:07:35 -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
Dianne Hackborn
08d5b8fad8 More native work.
Implement save/restore of state, and add native APIs for
configuration information.

Change-Id: I2a3ddc2ba605db58d7c8b2b31b9215fb323f90b5
2010-08-11 00:29:59 -07:00
Chung-yih Wang
7324489f18 Merge "Add SIP service into system server." into gingerbread 2010-08-05 19:35:45 -07:00
Fred Quintana
5005a6c031 am cdf16787: Merge "Changed SyncOperation.toKey() to not rely on the implementation of Account.toString()" into froyo
Merge commit 'cdf16787fc1234b7f21a9cddc6f8a27b4056bc39' into gingerbread

* commit 'cdf16787fc1234b7f21a9cddc6f8a27b4056bc39':
  Changed SyncOperation.toKey() to not rely on the implementation of
2010-08-05 17:42:05 -07:00
Chung-yih Wang
2d94231ef9 Add SIP service into system server.
Change-Id: Icc39e4e54768cfdcc1b20a3efe6206009b9a8d10
2010-08-06 08:40:50 +08:00
Fred Quintana
cdf16787fc Merge "Changed SyncOperation.toKey() to not rely on the implementation of Account.toString()" into froyo 2010-08-05 17:36:27 -07:00
Fred Quintana
b4b7b4837b Changed SyncOperation.toKey() to not rely on the implementation of
Account.toString()

bug: 2898033
Change-Id: I6bfac976127190d2d667312df7aa9c7d57b21555
2010-08-05 17:26:58 -07:00
Scott Main
97c2d840a1 am 8dd87ad9: fix some doc errors in the resources; add link to resource docs for ColorStateList class
Merge commit '8dd87ad9440bc63bc312b06f292adcd2642b1c41' into gingerbread

* commit '8dd87ad9440bc63bc312b06f292adcd2642b1c41':
  fix some doc errors in the resources;
2010-08-04 18:02:25 -07:00
Scott Main
8dd87ad944 fix some doc errors in the resources;
add link to resource docs for ColorStateList class

Change-Id: I7f59bfd136d5bd3c2ea066b6123ee13ccd57f502
2010-08-04 17:33:33 -07:00
Kenny Root
deb112674e Only allow one movePackage operation in-flight
When a movePackage operation is requested, don't allow multiple requests
to pile up for one package. Once a move is completed, an observer will
receive the message and be allowed to call movePackage again.

Change-Id: Ie3842b6d96446febc0037bf9b8f1ca250735edc2
2010-08-04 08:44:31 -07:00
Kenny Root
930d3af75f Do not deference before null check
The return of parsePackageLite wasn't checked until after it was
deferenced. Move the deference below the null check and remove redundant
set.

Bug: 2852726
Change-Id: I3eaaea5050948145eed44b64507dc846993d98eb
2010-08-02 07:52:56 -07:00
Steve Howard
7c600369c9 Merge "Update Context.getSystemService() docs for download manager." into gingerbread 2010-07-30 11:09:48 -07:00
Steve Howard
7083c42fff Update Context.getSystemService() docs for download manager.
Change-Id: Ic514b3289b38d6da7d5fe4ffc87c6865280d66d8
2010-07-28 16:01:23 -07:00
Dan Egnor
b350bec514 am 17876aa5: Minor changes to ContentProvider javadoc to improve consistency.
Merge commit '17876aa586cc9acfb3e5b909c14b9e73537a1a8d' into gingerbread

* commit '17876aa586cc9acfb3e5b909c14b9e73537a1a8d':
  Minor changes to ContentProvider javadoc to improve consistency.
2010-07-28 12:40:16 -07:00
Dan Egnor
17876aa586 Minor changes to ContentProvider javadoc to improve consistency.
Change-Id: I710f618c94ffd5d6368ef04a39ac08f675bec11b
2010-07-28 12:28:04 -07:00
Brad Fitzpatrick
4d5443762b am 86c035f0: Merge "COMMENT ONLY change to clarify ContentProvider documentation." into froyo
Merge commit '86c035f0d176be9cb06b1e4f2390c25701417586' into gingerbread

* commit '86c035f0d176be9cb06b1e4f2390c25701417586':
  COMMENT ONLY change to clarify ContentProvider documentation.
2010-07-27 16:52:12 -07:00
Dan Egnor
6fcc0f073d COMMENT ONLY change to clarify ContentProvider documentation.
Gets a little more specific about thread behavior, and makes
pointed comments about not doing too much work in onCreate().

Change-Id: I682f0eb7d7559babee901ed26642751a6ba0a1ea
2010-07-27 16:32:17 -07:00
Steve Howard
46be2a5bb6 Un-@hide new download manager public API.
Change-Id: Ia8433160ef40e25fb9408f05f97c7bbfa10a807e
2010-07-26 20:44:35 -07:00
Dianne Hackborn
46730fc783 Fix handling of application disabled state.
Change-Id: I617b76e89eeb75437b384b92f1205bb00b15bb70
2010-07-24 16:34:00 -07:00
Kenny Root
02c8730c1b Add API to call to vold for mounting OBBs
* Unhide StorageService class; hide all the USB-related items

* Add application-visible API to StorageManager for OBB files

* Add class for parceling OBB info across binders (ObbInfo)

* Add a JNI glue class to libutils/ObbFile (ObbScanner)

* Add API to MountService to deal with calling into vold and checking
  permissions

Change-Id: I33ecf9606b8ff535f3a2ada83931da6bbef41cfd
2010-07-15 21:31:58 -07:00
Christopher Tate
6cce32b6ad Add native C APIs for working with the Asset Manager
Change-Id: I493b142c4b35e5cc1a1e85283bb5dfb306a6d261
2010-07-15 14:28:21 -07:00
Steve Howard
a270936066 Initial implementation of the download manager public API.
The implementation is in android.net.DownloadManager, which is
obtained through Context.getSystemService().  Right now this class
acts as a simple wrapper on top of the existing DownloadProvider,
exposing a simple interface to a subset of DownloadProvider's
functionality.  There are several TODOs for features that require
changes to the underlying download manager implementation.

Change-Id: I2f26e51b60b6e82af8478ac7ccd895667df095b6
2010-07-13 11:12:16 -07:00
Kenny Root
93565c4b32 OBB API for PackageManager
Simple API for tracking .obb files associated with packages. Stores the
path in the PackageSettings. No verification of file content is done
now since the PackageManagerService can't read the SD card where these
files will likely live.

Change-Id: Ibeaf26ba0526b6d60f401137e58f46ee9faff39e
2010-07-07 09:57:51 -07:00
Chih-Chung Chang
de1057c4a6 Unhide new API for supporting multiple cameras.
Change-Id: I916a536c80330444a15986ba380205a6deed2390
2010-06-28 11:12:45 +08:00
Dianne Hackborn
01e4cfc47d Some ActivityThread/ActivityManager cleanup.
- Move PackageInfo out of ActivityThread, renaming to LoadedApk.
- Rename some of the other PacakgeInfo inner classes to better
  represent what they are.
- Rename HistoryRecord to ActivityRecord.
- Introduce AppGlobals, to eventually let ActivityThread become
  package scoped.

Change-Id: Ib714c54ceb3cdbb525dce3db9505f31042e88cf0
2010-06-24 15:20:48 -07:00
Daniel Sandler
8091ca5015 Fix javadocs.
Change-Id: Ic37c16625ddd0175cc048dd2b22bc75c6962d43d
2010-06-22 13:58:46 -04:00