675 Commits

Author SHA1 Message Date
Dianne Hackborn
7b9c56fe0f Add more checks for bad values to protect from corrupt files.
Change-Id: I4174c358c49b93e74920b00fcfd6c68659bf7d08
2010-12-07 22:02:59 -08:00
Dianne Hackborn
0c8b4d3f7e Fix issue #3177284: Account for wake lock power usage on Crespo
Change-Id: I5e3d6c4772f08277ee775dba191a5054dd5a4ca2
2010-11-08 19:10:58 -08:00
Nick Pelly
275708c82c Remove timeout support.
The implementation was guarenteed to cause deadlock when a timeout was set.

Change-Id: I59444ea784eb9057c6c4c9e9123f558b3ef5eef6
Signed-off-by: Nick Pelly <npelly@google.com>
2010-11-02 16:13:52 -05:00
Andy McFadden
1b4c7966b1 Set capabilities sooner.
Bug 3135433.

Change-Id: I4e34b60c0a01b85ce0d80eb96ff3510604a68c71
2010-10-27 11:26:05 -07:00
Jeff Hamilton
d6c052a8ec Make some contructors public but hidden.
This allows them to be used from within the
NFC stack process internally.

Change-Id: I7f81759da63d451efe86550a57a400fb224b2064
2010-10-26 08:59:18 -05:00
Dianne Hackborn
4f6ee254bc Fix issue #3117472: Format storage dialog still broken
Change-Id: I19b3a04e33785a56cb14457e4e3cd9232f585bb1
2010-10-21 16:39:53 -07:00
Dianne Hackborn
266e607bde Fix issue #3113424: Battery stats don't reset on Crespo
Change-Id: I38cc3cdfa9cb1466fe3659f001ee57aecf9df179
2010-10-20 12:26:48 -07:00
Joe Onorato
bdf1706ac6 Merge "Reduce logging." into gingerbread 2010-10-19 12:23:51 -07:00
Joe Onorato
431bb22695 Reduce logging.
Remember, the system and main logs are
    - Shared resources
    - Primarily for recording problems
    - To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
2010-10-19 15:08:05 -04:00
Brad Fitzpatrick
26e9cf38b2 Fix Vibrator permission CTS test broken earlier.
Bug: 3106964
Change-Id: I76138780ac64f761fe09ef8ba74382c7ee05d794
2010-10-19 11:02:20 -07:00
Nick Pelly
d1f7f4a683 Move hidden API's Llcp* and P2p* to f/b/c/j/com/android/internal/nfc.
Change-Id: I9bb67de2956b1ecb765ca4ac142ed9455060bec4
Signed-off-by: Nick Pelly <npelly@google.com>
2010-10-17 16:30:40 -07:00
Dianne Hackborn
424991704b Implement issue #3094621 and #3094609 - wipe sd card
3094621: add "wipe sd card" option to factory data reset
3094609: collapse unmount/format into one command

Also since we have decided that it is important to consider
the Crespo storage as internal storage, DevicePolicyManager
gets a new API to be able to wipe it.  (No big deal, since
all of the work for this is now done in the implementation
of the new UI.)

Change-Id: I32a77c410f710a87dcdcbf6586c09bd2e48a8807
2010-10-16 16:32:15 -07:00
Romain Guy
77c011ba75 Set default heap size to 5MB.
Change-Id: Iac8ae3cbe6b431767776653c9f430983172cfb6f
2010-10-15 19:15:25 -07:00
Dianne Hackborn
8bdf5935c0 Work on issue #3101415: Crespo apps seem to have their UID changed over time.
fsync!

Change-Id: Ie6c5397202579935ac69bf61d3e7b3081ecf269c
2010-10-15 14:46:33 -07:00
Nick Pelly
a851d8d0cf Merge "NFC: Move NFC service implementation out of system_server." into gingerbread 2010-10-15 10:55:11 -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
Brad Fitzpatrick
e331644cb5 Don't crash on null Vibrator during reboot.
Bug: 3099305
Change-Id: I9af126f7a719f36ae544f517a2fccd0d33339389
2010-10-14 20:53:06 -07:00
Daniel Lehmann
2f14c62125 DO NOT MERGE: Private API to pass the selected tab through QuickContacts
Bug:3082932

Change-Id: I28dbb21a30fbe22e6e58a8dda534fc9110621c85
2010-10-14 11:26:18 -07:00
Kenny Root
e6ae5c3984 Merge "Add shutdown assurance" into gingerbread 2010-10-13 13:19:25 -07:00
Kenny Root
f547d679c0 Add shutdown assurance
If something kills system_server before it completes its shutdown
action, the runtime will just restart giving the illusion that a reboot
for an OTA or something else has happened.

To prevent this, write a system property containing the reboot reason
before initiating the shutdown with all the services. If the
system_server is killed before it completes, the next time the main
thread of system_server starts up, it will immediately execute the
shutdown action.

Bug: 3022556
Change-Id: I81723bac333430f04205e7a7b799914d96f170eb
2010-10-13 11:45:35 -07:00
Nick Pelly
aa29f86505 Add missing native methods to fix boot.
Change-Id: I02e158d7c287c886e218b7a57edd708f9e570695
2010-10-13 10:10:47 -07:00
Nick Pelly
590b73bc5b NFC API revision round 2.
- Add the second half of the new NFC API: NfcAdapter, Tag, NdefTag,
  RawTagConnection, NdefTagConnection.
- Add implementations for all of the new NFC API.

Change-Id: I8da9fd1d2971ed2c8b76f2a93f207fa9e305b0f6
Signed-off-by: Nick Pelly <npelly@google.com>
2010-10-12 18:37:26 -07:00
Dianne Hackborn
f47d8f272c Fix issue #3074745: Crash in system process
Also some tweaks to battery history collection to hopefully
improve the data we have.

Change-Id: I178a54a8c2d15cf38dcceaeef939406f50059aa4
2010-10-08 13:00:15 -07:00
Kenny Root
831baa2e25 Remove lingering system app native libs in /data
If a system app had a lingering native library in /data/data/<app>/lib,
it would prefer that over the one in /system/lib due to recent changed
in the Dalvik JNI class loading code.

To "fix" that we need to check if there are any native libraries in a
/data/data/<app>/lib directory for any non-updated system apps and
delete them during scanning.

Change-Id: If3a22e41a8531e9e5a44ba001dcea46253d47d45
2010-10-05 12:56:03 -07:00
Gilles Debunne
076c7fbeda Removed icon in Alert dialog header.
Bug 3042419

I wanted to nuke this one for ages

Change-Id: I079bec9b31157d6b7887c4f22612e56ae9690e7c
2010-10-04 12:00:02 -07:00
Kenny Root
e6da118ebf Fix location of gdbserver upon installation
Change-Id: Ie97f10456e5639e008abf4792a01b966b97721e7
2010-09-30 14:13:59 -07:00
Jeff Brown
5068ad8d23 Revert orientation change.
Change-Id: I1a6d13be118533171b9a75025dcf7985dd7e12b5
2010-09-29 20:14:56 -07:00
Jeff Brown
93e3296f94 Merge "PointerLocationView: Display orientation correctly." into gingerbread 2010-09-29 19:08:02 -07:00
Jeff Brown
707a57aa26 PointerLocationView: Display orientation correctly.
Canvas rotations are counterclockwise, orientation is clockwise,
so we need to mind the sign of the rotation.

Change-Id: I2a8b60599bd26e9dc3ced2e13942f846461333df
2010-09-29 18:41:11 -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
Dianne Hackborn
287952c35e Fix issue #3022508: Crash during media scan
Don't kill processes for excessive wake lock use, even if they
are in the background, as long as they have running services.

Also fix some problems with this, such as not noting the kill
in battery stats.

And add killing of processes for cpu usage as well, along with
some optimizations to computing CPU usage.

And fix BatteryWaster to be better behaving for testing these
cases.

Add new "monitor" command to am to watch as the activity manager
does stuff (so we can catch things at the point of ANR).

Finally some miscellaneous debug output for the stuff here, as
well as in progress debugging of an ANR.

Change-Id: Ib32f55ca50fb7486b4be4eb5e695f8f60c882cd1
2010-09-23 15:59:28 -07:00
Dianne Hackborn
ce2ef766ca Some battery improvements:
- New API for iterating over history that will allow a better implementation
  in the future.
- Now do writes asynchronously.

Also improve the documentation for Activity.onRetainNonInstanceState().

Change-Id: Idf67f2796a8868eb62f288bcbb2bad29876c8554
2010-09-20 16:25:01 -07:00
Dianne Hackborn
58e0eefeb5 Improve power tracking of WIFI use.
We now distribute "wifi started" time across all apps that are
holding WIFI locks that cause it to be started.  But only when
WIFI would not normally be running.  Also have a mechanism to
distribute other WIFI work that has happened across those processes
based on their use.

Also fixed a bug where we were not retaining the CPU speed step
stats across boots...!

Change-Id: I00e3153b98429166273750512cc37e7975211ab9
2010-09-17 15:14:57 -07:00
Joe Onorato
0d903bcd78 These are not javadoc tags, they are annotations in sample code. Escape them properly.
Change-Id: Ic3b9f2738a1f8ae8aa6a2a278f1d4ba3a7727b51
2010-09-16 11:55:35 -04: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
Jeff Brown
d1e0c371a6 Fix PointerLocationView when pointer ids are not zero-based.
Since we support using driver-provided pointer ids (ABS_MT_TRACKING_ID)
there is no guarantee that pointer ids will necessarily start from 0
or be contiguous.

Change-Id: I9609b7a3bb238d7edbcbd68cc839dd6d14baf9df
2010-09-12 20:40:51 -07:00
Kenny Root
8f7cc02c7c Move native library removal function to helper
Moves the remoteNativeLibrariesLI call to NativeLibraryHelper to prepare
for being able to symlink the /data/data/<package>/lib dir to the ASEC
container.

Change-Id: Ie3648509c6b6293a8d9bdd815610ab408df5047f
2010-09-12 09:04:56 -07:00
Dianne Hackborn
618b8c1e98 DO NOT MERGE. I like'd ctate's change so much I'm doin it myself!
Change-Id: If571d3ff5e73252a0653c30ec40178ec1591ddd9
2010-09-09 23:10:38 -07:00
Dianne Hackborn
a4ce31f5e0 Merge "Small fixes to battery stats." into gingerbread 2010-09-09 21:30:52 -07:00
Dianne Hackborn
b8071d790a Small fixes to battery stats.
Change-Id: Ibbf7c548a8e787a046de3659094cea64908e3deb
2010-09-09 16:45:15 -07:00
Mathias Agopian
9bfb060ac4 Merge "Force wallpaper surface to 565." into gingerbread 2010-09-08 16:43:42 -07:00
Mathias Agopian
62bf4a0283 Force wallpaper surface to 565.
This is to maintain backward compatibility with badly programmed
GL wallpapers. Wallpapers can call SurfaceHolder.setFormat() to
request a different format.

Change-Id: Ib42b0cf6c7040d1300cad239c3acfd5c4c6cd326
2010-09-08 16:32:27 -07:00
Dianne Hackborn
0d903a84d0 People holding partial wake locks now get blamed for CPU usage.
For the duration of the wake lock, 50% of all CPU usage is now
accounted against the app(s) holding partial wake locks, evenly
distributed between them.  This is only while the device is on
battery and screen off.

Change-Id: I3e5c978b792b6ef17bf8540705bfe8343dadd464
2010-09-08 12:41:24 -07:00
Dianne Hackborn
b5e3165129 Fixes to battery stats debug output.
Change-Id: I32e7cad9633b8c517a74573069e426d9f835a83d
2010-09-07 14:09:36 -07:00
Brian Carlstrom
1751086360 New Java-based SamplingProfiler
Summary:
- libcore: new Java based SamplingProfiler
- dalvik: remove old SamplingProfiler native bits
- frameworks/base: New placeholder SamplingProfilerIntegration
- vendor/google: remove old profiler snapshot parsing code

Details:

libcore

   A new 100% Java SamplingProfiler. While it has more overhead that
   the old native one, the new one can actually collect more than the
   current PC and frame pointer, so you can get useful context of
   where your app is spending time. It currently provides ASCII hprof
   format output for use with tools like PerfAnal
	dalvik/src/main/java/dalvik/system/SamplingProfiler.java

    Unit test for the new SamplingProfiler
	dalvik/src/test/java/dalvik/system/SamplingProfilerTest.java

    Add core-tests-dalvik
	JavaLibrary.mk

dalvik

    Removing native code that supported the old SamplingProfiler
	vm/Dvm.mk
	vm/native/InternalNative.c
	vm/native/dalvik_system_SamplingProfiler.c

frameworks/base

  Placeholder SamplingProfilerIntegration. Later plans include
  generating EventStackTrace protobufs.

    New SamplingProfiler does not have a global instance, so
    SamplingProfilerIntegration provides one in INSTANCE. Old binary
    snapshot format is temporily replaced with ASCII hprof data.
	core/java/com/android/internal/os/SamplingProfilerIntegration.java

    Simplified interface for zygote profile snapshotting
	core/java/com/android/internal/os/ZygoteInit.java

    Current SamplingProfilerIntegration does not track event loop
    explicitly, but hprof information does include thread information.
	core/java/android/app/ActivityThread.java

vendor/google

    Removing code for parsing old SamplingProfiler snapshot format
	tools/samplingprofiler/Android.mk
	tools/samplingprofiler/NOTICE
	tools/samplingprofiler/profiler.iml
	tools/samplingprofiler/profiler.ipr
	tools/samplingprofiler/pull-snapshots.sh
	tools/samplingprofiler/sorttable.js
	tools/samplingprofiler/src/com/android/profiler/PrintHtml.java
2010-09-01 10:17:25 -07:00
Jeff Brown
8d60866e21 Input device calibration and capabilities.
Finished the input device capability API.
Added a mechanism for calibrating touch devices to obtain more
accurate information about the touch contact area.
Improved pointer location to show new coordinates and capabilities.
Optimized pointer location display and formatting to avoid allocating large
numbers of temporary objects.  The GC churn was causing the application to
stutter very badly when more than a couple of fingers were down).
Added more diagnostics.

Change-Id: Ie25380278ed6f16c5b04cd9df848015850383498
2010-08-30 18:16:43 -07: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
Amith Yamasani
a90b7f0125 Add methods to InputConnection: setComposingRegion() to select a region of text for correction, and getSelectedText()
to return the selected text.

setComposingRegion:

The TextView may choose to highlight the text in some way (underline for now) to indicate
that the text is selected for correction, if the IME wants to provider alternatives.

Choosing an alternative in the IME can then call IC.commitText() to replace the highlighted
(not selected) text with a different candidate.

This change also ensures that any existing spans/styles are not wiped out. So we can now
correct rich text as well.

getSelectedText:

This is a convenience to get the selected text instead of using extracted text that is
more heavy weight. Existing getTextBeforeCursor() and getTextAfterCursor() fail to
retrieve the selected text, only what's before and after the selection.

Change-Id: Ieb5ecd5ff947ea04958589f501e7bd5228e00fb5
2010-08-26 14:53:39 -07:00
Brad Fitzpatrick
9088100518 Don't touch the VFS during window relayout.
yaffs2 is single-threaded and any disk access during window drawing
(or animation in this case) can cause UI stutters / unresponsiveness
for hundreds of milliseconds.

BUG=2941119

Change-Id: Ifdce8337027ab25d1ea844934fa787ffe68263c4
2010-08-23 18:30:08 -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