Commit Graph

883 Commits

Author SHA1 Message Date
Brad Fitzpatrick
96d6c3454c Merge "Unify some duplicate StrictMode-enabling code." into gingerbread 2010-09-14 11:37:13 -07:00
Leon Scroggins III
901b7b9b17 am ca8f3d04: Merge "Add an option to hide the Voice Search icon." into froyo
Merge commit 'ca8f3d04284a26477257a0c2b34d83c86d15efe9' into gingerbread

* commit 'ca8f3d04284a26477257a0c2b34d83c86d15efe9':
  Add an option to hide the Voice Search icon.
2010-09-14 10:23:35 -07:00
Brad Fitzpatrick
50d66f9fcd Unify some duplicate StrictMode-enabling code.
Change-Id: Ifb92f35d9e245dbdb5e201597d8be702bce9e8b8
2010-09-14 08:22:30 -07:00
Leon Scroggins III
4a02800946 Add an option to hide the Voice Search icon.
Some search engines do not support voice search, so provide a flag
to disable showing the icon in the SearchDialog.

Change-Id: I7ef4ad5d382edb86c08014260defa4af6d5eca0a
2010-09-14 10:56:25 -04:00
Brad Fitzpatrick
1e02d36b0f Enable strictmode logging in system_server & add a lock.
We weren't logging strictmode violation in the system_server process
in non-user builds (only system apps), even though the rest of the
strictmode logging supports it.

Also add a missing lock in ActivityManagerService.

Change-Id: If2af96a7e4fdde604a647b836097f0029ef1334b
2010-09-10 09:19:50 -07:00
Dianne Hackborn
392fea53ec Fix doc of fullScreenIntent.
Change-Id: Ieb21bb92b4ebf95f831231f2871839fec8a97a86
2010-09-09 16:44:01 -07:00
Brad Fitzpatrick
6194c53754 Fix a race between requesting/loading/writing SharedPreferences.
Part of the race existed before, but it was made much worse with
apply().

Corresponding CTS test is Icc6e638a6a

Change-Id: Ic5cfa467fb7f1859cb7b44d417412219c0621965
2010-09-07 18:00:33 -07:00
Brad Fitzpatrick
b1104b3713 Merge "Make SharedPreferencesBackupHelper wait for async SharedPreference writes" into gingerbread 2010-09-07 11:12:51 -07:00
Kenny Root
2cb3e83654 Merge "Use new nativeLibraryPath field for NativeActivity" into gingerbread 2010-09-07 10:46:14 -07:00
Kenny Root
6798b62e92 Use new nativeLibraryPath field for NativeActivity
Instead of being naughty and guessing the native library path from
dataDir, use the new nativeLibraryPath field because it can be on SD
card now.

Change-Id: I284bde42e0b0114366e412eb7212af22b47208d8
2010-09-07 10:44:21 -07:00
Brad Fitzpatrick
6f9d58ac62 Make SharedPreferencesBackupHelper wait for async SharedPreference writes
Fixes a potential race with backups.

Change-Id: I73492c0384091cedd7802109257312387fcd43f9
2010-09-06 22:18:39 -07:00
Dianne Hackborn
170bae7d83 Improve doc.
Change-Id: I841b04e1e455b6236fb8b65b965f2fc25c4461f0
2010-09-03 15:14:28 -07:00
Dianne Hackborn
482566ed5c These are not ready to be exposed. Also rename them to be better.
Change-Id: I7c234144497084b7769f8c46761b7d74d1c583d5
2010-09-03 12:51:28 -07:00
Dianne Hackborn
d3efa39244 Clean up some permissions.
Note that WRITE_OWNER_DATA and READ_OWNER_DATA don't actually appear
to be associated with anything or used by anyone, so they are just
deleted.

Also deprecate the activity API to go in the foreground.  I didn't
realize that was released in the SDK.  It needs to go away.

Change-Id: I96f53702c2c79e4999b6b2c498abb770bd27e03a
2010-09-01 21:19:40 -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
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
Dianne Hackborn
7e269644fc Don't retain global ref to last inflated context.
Also rework URI permission granting to support upcoming
clipboard use.

Change-Id: I9842920350955531c5a511c2ecc5215e8c783343
2010-08-25 21:50:54 -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
4af0cfad53 Merge "Verify that onPause() calls its superclass." into gingerbread 2010-08-24 14:44:42 -07:00
Dianne Hackborn
e794e9f9b7 Verify that onPause() calls its superclass.
Change-Id: Ibf48992b4445bfc726ade307aad26f3e9577c5fb
2010-08-24 12:32:10 -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
Scott Main
70c9ffbc83 am 11a72482: Merge "docs: add links from widget classes to tutorials" into froyo
Merge commit '11a72482a0cdc45ceaf4ca83957e682381455aee' into gingerbread

* commit '11a72482a0cdc45ceaf4ca83957e682381455aee':
  docs: add links from widget classes to tutorials
2010-08-19 17:37:31 -07:00
Scott Main
41ec65355b docs: add links from widget classes to tutorials
Change-Id: I817e885524951853182b0458df4a32dea1614243
2010-08-19 17:07:13 -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
Brad Fitzpatrick
67fed01522 Avoid unnecessary SharedPrefences disk writes.
Apps commonly edit + commit redundant changes to their
SharedPreferences, not checking the existing values.  Rather than
force all apps to double-check that their settings writes aren't
redundant, we should just make .commit() faster (avoiding the disk
write) when the file already exists on disk and no effective changes
were made.

Change-Id: I7edbd0d3ace5b69b7af6d12c39797c8b7f86230b
2010-08-17 10:29:15 -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
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
Scott Main
307351a22d fix xml sample error
Change-Id: Ifd188a5866382a79c2c9de94c0682b707baffdcf
2010-08-05 15:44:26 -07:00
Daniel Sandler
9b87770f53 Merge "Fix crash when startForeground posts a broken Notification." into gingerbread 2010-08-04 20:33:32 -07:00
Daniel Sandler
d0a2f86f35 Fix crash when startForeground posts a broken Notification.
The NotificationManager tries to crash the calling app, but
in the case of a service calling startForeground, the caller
is the ActivityManager, so system_server goes down.

NotificationManagerService#enqueueNotificationInternal is a
new internal-only method that accepts a UID/PID to use when
punishing bogus notifications (such as the one in
http://b/2869787).

Change-Id: I84a9854bae630bc90288cebb94f174809d5dac8c
2010-08-04 10:52:51 -04:00
Brad Fitzpatrick
ee34a49ffc Add missing word from docs.
My mistaker from an earlier commit.

Change-Id: Ic04b3c411da32f7dca03d23d39182915e3567172
2010-08-02 07:54:18 -07:00
Brad Fitzpatrick
cb9ceb1029 StrictMode: time violations in Binder calls
Change-Id: I5796993dce98be722cf679b78acaf0c9de0ba461
2010-07-30 14:28:55 -07:00
Brad Fitzpatrick
0166c35305 Explicitly mention again that startCommand() runs on the main thread.
This is already mentioned at the top of Service.java's javadoc, but
I'm seeing people get confused (myself included the other day) after
getting used to incoming service stub binder calls being on their own
threads and forgetting that startCommand() didn't work that way.

Change-Id: Ib79f48d9368ac0ba2d37b7e4dc98d53804bcd59e
2010-07-27 14:57:08 -07:00
Dianne Hackborn
14bfa398a4 Infrastructure to report running services to developer.
Change-Id: Id1aae61323e7b8357c5fcc4bc641aaa57f3b6fde
2010-07-24 20:07:17 -07:00
Steve Howard
b8e07a51c1 DL manager support for broadcasts + connectivity control
* Additions to DownloadManager to support control of broadcast intents, allowed network types, and roaming control.  This includes new constants and added implementation.
* New DB columns to hold connectivity flags and one to indicate whether the download was initiated through the public API; this is used to change behavior related to broadcast intents and connectivity controls.

Change-Id: I2e8e4ce92cde7889a0f24dc43b86c596c73c0eaa
2010-07-21 19:09:35 -07:00
Dianne Hackborn
2c6081ce35 Implement native key pre-dispatching to IMEs.
This significantly re-works the native key dispatching code to
allow events to be pre-dispatched to the current IME before
being processed by native code.  It introduces one new public
API, which must be called after retrieving an event if the app
wishes for it to be pre-dispatched.

Currently the native code will only do pre-dispatching of
system keys, to avoid significant overhead for gaming input.
This should be improved to be smarted, filtering for only
keys that the IME is interested in.  Unfortunately IMEs don't
currently provide this information. :p

Change-Id: Ic1c7aeec8b348164957f2cd88119eb5bd85c2a9f
2010-07-15 22:05:33 -07:00
Brad Fitzpatrick
0c36c96f2a Merge "StrictMode: batch drop box writes for system apps" into gingerbread 2010-07-15 15:43:03 -07:00
Brad Fitzpatrick
1772c34e53 Merge "StrictMode: gather and return violating stacks in Binder replies" into gingerbread 2010-07-15 15:42:41 -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
Brad Fitzpatrick
ad13b9807b StrictMode: batch drop box writes for system apps
Change-Id: Iab49c15ecccefea1d36d86271e1ceb37d79e9449
2010-07-15 13:18:05 -07:00
Brad Fitzpatrick
5b747191ff StrictMode: gather and return violating stacks in Binder replies
Now, when Thread A has a strict mode policy in effect and does a
Binder call to Thread B (most likely in another process), the strict
mode policy is passed along, but with the GATHER penalty bit set which
overrides other policies and instead gathers all offending stack
traces to a threadlocal which are then written back in the Parcel's
reply header.

Change-Id: I7d4497032a0609b37b1a2a15855f5c929ba0584d
2010-07-15 13:18:05 -07:00
Jim Miller
9d42c7f75c Merge "Fix 2797185: Re-enable thumbnail generation in framework" into gingerbread 2010-07-14 16:59:52 -07:00
Dianne Hackborn
d76b67c340 IME events are now dispatched to native applications.
And also:

- APIs to show and hide the IME, and control its interaction with the app.
- APIs to tell the app when its window resizes and needs to be redrawn.
- API to tell the app the content rectangle of its window (to layout
  around the IME or status bar).

There is still a problem with IME interaction -- we need a way for the
app to deliver events to the IME before it handles them, so that for
example the back key will close the IME instead of finishing the app.

Change-Id: I37b75fc2ec533750ef36ca3aedd2f0cc0b5813cd
2010-07-13 18:36:46 -07:00
Jim Miller
0b2a6d0773 Fix 2797185: Re-enable thumbnail generation in framework
This re-enables thumbnail generation code in the framework
with a few improvements.

In addition to enabling the system to capture thumbnails,
it removes padding from the borders to account for space
overlapped by system widgets (status bar, etc.). Thus,
the contents of the bitmap are only those pixels unique to
the activity.

It also maximizes resolution of the bitmap by capturing the
image in the application's current orientation. In landscape
mode, it captures a bitmap with dimensions w x h.  In portrait,
it captures a bitmap with dimensions h x w. Where w and h are
thumbnail_width and thumbnail_height as defined in dimens.xml.

Though enabled, the change is not currently used in this
branch.  The work is being checked in here to avoid
complicated downstream merges.

Change-Id: Ifc8a4e0075d7d0697d8159589be3816ace31d70c
2010-07-13 18:35:14 -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