Commit Graph

745 Commits

Author SHA1 Message Date
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
Nick Pelly
50b4d8f643 Make getSystemService(NFC_SERVICE) the NFC entry point.
This gives NFC service a handle to the application context.

Deprecate NfcAdapter.getDefaultAdapter(), it does not provide a context.
Using this method will print a warning, and will later throw an exception
if a method that requires a context is called. No 2.3 API's will fail, but
new API's that do require a context might fail.

Also add helper NfcAdapter.getDefaultAdapter(Context).

Change-Id: I9a6378de4ef4b61ad922f8d53e64e2a1a1d5d60c
2010-12-10 17:12:33 -08:00
Brad Fitzpatrick
36af79434f Fix malformed Javadoc.
Change-Id: I5cfbd49272117defce5226da0f40a8392457a2e2
2010-12-08 11:31:07 -08:00
Jeff Hamilton
145fe77dbf DO NOT MERGE. Fix asset file descriptor for pipe based fds.
Change-Id: Ic366d01f91017109abfcfa65bd2231dd7416ce71
2010-10-28 15:05:27 -05:00
Scott Main
abb50f1528 Merge "docs: fix a couple api links" into gingerbread 2010-10-25 11:18:28 -07:00
Dianne Hackborn
5383f502e4 Fix issue #3122240: Expose xlarge in GB.
Plus some other small API cleanup.

Change-Id: I1a3c60f510f99224cccac9cc3f838f04141064f8
2010-10-22 12:59:20 -07:00
Dianne Hackborn
a6d9c7c04c Implement issue #3116702: New manifest tags for supported screen sizes DO NOT MERGE
Change-Id: Iabf64d86c89d387ffbfbc39f950d308a73fe17eb
2010-10-21 15:32:06 -07:00
Scott Main
4b5da6829a docs: fix a couple api links
Change-Id: If0e35011a28dc87324e2d53e856cfcdb35236061
2010-10-21 11:49:12 -07:00
Dianne Hackborn
eddfc04a08 Fix java doc on FLAG_EXTERNAL.
Change-Id: Ic533b3a6c3300a986dd8d0da04243d723cf393ef
2010-10-20 16:03:37 -07:00
Nick Pelly
bc21fdefdf NFC: Move NFC service implementation out of system_server.
NFC service is now an application service in packages/apps/Nfc.

NFC service is registered through ServiceManager.addService(), and the proxy
object NfcAdapter obtains a handle to it through ServiceManager.getService().

**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and
modify service_manager.c, Process.java and PackageManagerService.java in order
to force the com.android.nfc process to take a fixed uid, so that it can use
ServiceManager.addService().

Most of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and
NdefMessage require some in-process native code, so android_com_NdefMessage.cpp
and android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to
a very small library libnfc_ndef.so that implements NDEF message parsing. This
has been added to core.mk so all devices (even without NFC hardware) can work
with NDEF data.

Bug: 3041259
Bug: 3097445
Change-Id: If8f00ce8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
2010-10-15 02:12:32 -07:00
Kenny Root
bdf8034c65 Merge "OBB: use PBKDF2 for key generation." into gingerbread 2010-10-13 18:29:43 -07:00
Kenny Root
3b1abba6bb OBB: use PBKDF2 for key generation.
Switch to using PBKDF2 for the key generation for OBBs. Any previously
generated OBBs will stop being read correctly. A small pbkdf2gen program
is available to allow generation of appropriate keys with the salts.

Bug: 3059950
Change-Id: If4305c989fd692fd1150eb270dbf751e09c37295
2010-10-13 18:25:33 -07:00
Wink Saville
c491ee0223 Fix NPE caused by Change I4df27119.
This change caused Music APP to throw an NPE the fix
is to test that scheme is not null before using it.

Bug: 3092886
Change-Id: Ib29f944cbd9a9ff628462bdd6f4b68a308468536
2010-10-13 11:40:10 -07:00
Wink Saville
a42880749b Remove some PII.
Change-Id: I4df27119b6bbd28bf950516fd6f44676a8e04f06
2010-10-12 12:36:38 -07:00
Brad Fitzpatrick
dd644c179c Fallback to SharedPreferences$Editor.commit() when no apply() exists.
Gingerbread widened the SharedPreferences.Editor interface, adding an
apply() method.  Most people don't implement this interface
themselves, but a couple apps do.

A few spots in the core framework take a SharedPreferences[.Editor]
from apps, which might be a pre-Gingerbread implementation without an
apply() method.  This patch makes sure we never depend on the presence
of an apply() method, falling back to commit() if apply() isn't
available.

Change-Id: I32693ac9227a60b694526a26a30234fb17a40581
2010-10-10 15:26:24 -07:00
Dianne Hackborn
78d688369a Implement tracking of package install times.
Provides information about the time at which the package was
first installed and the time it was last updated.

Change-Id: Icb43f77b5b669a1ce685e8913046b8be386b6175
2010-10-07 18:48:22 -07:00
Dianne Hackborn
043fcd9847 Work on issue #3062691: GPS enable bypass via com.android.settings.widget.SettingsAppWidgetProvider
Exposes an Intent I need (okay it fixes an unrelated thing in the power widget),
and fixes some dump output.

Change-Id: I51d6c93a6ac879bab64e9d5aa21129e2bbcd461b
2010-10-06 14:27:34 -07:00
Dianne Hackborn
817c24752c Fix issue #3056500: Problem report for ASTRO
Change-Id: Ifa07dbc50930f5d6a20cdc0ee541c0566f3785ba
2010-10-05 14:40:22 -07:00
Dianne Hackborn
54e570f78b Make it easier to figure out whether an app can go on sd card.
Change-Id: I9195a0881b2c435b138f39c2ab1505dc820caf10
2010-10-04 18:35:10 -07:00
Dianne Hackborn
e5439f228f Fix issue #3041660: Camera image flips upside down when rotating device
Apps now must explicitly opt in to having their rotation changed while
forcing landscape mode.  Also add some new orientation constants for other
things apps may want to do.

Change-Id: If64d84b5ef54793ee717ebda9b4c76408efc9bfd
2010-10-04 14:01:39 -07:00
Dianne Hackborn
4d023d214d Some documentation fixes.
Change-Id: Iaae452fc1430af788ce440a043ca7fb53e667a61
2010-10-01 14:07:54 -07:00
Dianne Hackborn
0a69f59760 Merge "Rub in a little 'ol log-b-gone." into gingerbread 2010-09-30 19:03:38 -07:00
Dianne Hackborn
cef65eeb03 Rub in a little 'ol log-b-gone.
Mmmmmm...  great fresh scent!

Change-Id: I050e70b31b5d4a9c6731f15a4b51a3620a33a78d
2010-09-30 18:27:22 -07:00
Kenny Root
38cf8867a8 Remove OBBs from state list when volume unmounted
Don't keep tracking OBBs when the volume they're located on goes away.
Remove them from our state tracking maps and then send a notification to
any listener that is still around.

Add a dump handler to MountService so the state of the mount lists
can be inspected.

Change the API to just make a callback directly to the change listener
when mount is called when it's already mounted or unmount called when
it's already unmounted.

Change-Id: Idb4afbb943ca5ca775825f908bff334e3ce1cfcc
2010-09-30 17:24:34 -07:00
Kenny Root
212d81a004 Merge "Move all the permissions check up for unmount" into gingerbread 2010-09-29 07:40:32 -07:00
Kenny Root
f1121dc1d3 Move all the permissions check up for unmount
We have already scanned the state of the OBB in mountObb, so check the
caller against the stored state in the unmountObb call. This allows us
to ensure the calling binder is the same one that mounted it since we
tie the lifecycle of the OBB to the lifecycle of the binder.

Change-Id: I45d9cfbab5d3f5b37a6a9b594b10bd8b91cccc45
2010-09-29 07:38:55 -07:00
Nick Pelly
038cabe024 NFC integration
Source: Trusted_NFC_Device_Host_AA03.01e02_google.zip code drop (23-Sep-2010)

Conflicts:

	core/java/android/app/ApplicationContext.java
	core/java/android/provider/Settings.java
	core/jni/Android.mk
	core/jni/AndroidRuntime.cpp
	core/res/AndroidManifest.xml
	include/utils/Asset.h

Change-Id: I62c92f4c79f5ee65126c97602f6bc1c15794e573
Signed-off-by: Nick Pelly <npelly@google.com>
2010-09-28 22:36:27 -07:00
Kenny Root
05105f7abe Update OBB API to include callbacks
Add a callback for users of the StorageManager API to be able to receive
notifications when the requested operation completes for mountObb and
unmountObb.

Add NDK API to get to ObbInfo like the Java API has.

Also update the docs for the API and remove the "STOPSHIP" comments.

Change-Id: I23a4409c7f8b74d3169614beba920b4d667990a4
2010-09-28 17:23:26 -07:00
Steve Howard
31fd85f39b Move DownloadManager to android.app (DO NOT MERGE)
Changing package at hackbod's request.  I'll merge this manually, as
there's some additional master-only code that will be to be
simultaneously changed.

Change-Id: Ibb629ec1c31807fbee31e0193c6a941d04be0117
2010-09-27 17:12:47 -07:00
Kenny Root
04a426f5b5 Merge "Use buffered I/O during certificate parsing" into gingerbread 2010-09-27 12:45:44 -07:00
Dianne Hackborn
d8691d73d1 Merge "Allow all apps to call ContentResolver.getType()." into gingerbread 2010-09-27 12:42:34 -07:00
Kenny Root
d63f7dbf5d Use buffered I/O during certificate parsing
The PackageParser was using a raw InputStream instead of wrapping it in
a BufferedInputStream which could degrade performance.

Change-Id: I15c86c3ead363ddbadf4ae27e011feda90fcc579
2010-09-27 08:09:26 -07:00
Dianne Hackborn
8313fc7e94 Allow all apps to call ContentResolver.getType().
I can't find the bug number for this, but it is needed for some things
we are doing where the app building an intent may not have access to the
URI in the data field.  This is for HC, but doing in GB to avoid introducing
integration issues.

Change-Id: I0cac971854198b18775d2a73deb80f23431bfbe2
2010-09-26 21:31:47 -07:00
Dan Morrill
898e1e8860 Adding a feature to indicate that the device possesses low-latency audio.
The specific criteria for low-latency audio are defined in the CDD, but since
that hasn't yet been settled for Gingerbread, this change doesn't go into
details. We can do a docs change later once GB CDD is final.

Change-Id: Ic5ad9d04e8ecd78c81b6f09439affec6bf8cb9b2
2010-09-26 17:28:30 -07:00
Dianne Hackborn
234e42df5f DO NOT MERGE. Fix issue #3000764: API REVIEW: android.R.*
Not going out in GB.

Change-Id: I9d4f5938ec7d2a54c0f72b8eb5a177ee66f12146
2010-09-24 18:00:47 -07:00
Dan Morrill
5744bb4aa5 Adding new feature definitions for new sensors (barometer and gyroscope.)
Change-Id: Ic3a35c7b277921eaa5b05e3285b6aed5ed75bea6
2010-09-21 15:27:07 -07:00
Joe Onorato
d3ad696b1d Fix the rest of the javadoc warnings.
Change-Id: Ifbf422a2eb177858813d118f03ceddcd807e73b4
2010-09-16 13:38:25 -04:00
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