Commit Graph

306 Commits

Author SHA1 Message Date
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
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
Dianne Hackborn
ed6075943f am 2d8b9fe0: am bd1c082c: Merge "New system property "sys.boot_completed" set to 1 when boot completed." into gingerbread
Merge commit '2d8b9fe0f9fe44c17ccc4d041f726df490548984'

* commit '2d8b9fe0f9fe44c17ccc4d041f726df490548984':
  New system property "sys.boot_completed" set to 1 when boot completed.
2010-08-11 15:25:42 -07:00
Dianne Hackborn
2d8b9fe0f9 am bd1c082c: Merge "New system property "sys.boot_completed" set to 1 when boot completed." into gingerbread
Merge commit 'bd1c082cf90d07e3ccb017b72e59b5ccad81dd07' into gingerbread-plus-aosp

* commit 'bd1c082cf90d07e3ccb017b72e59b5ccad81dd07':
  New system property "sys.boot_completed" set to 1 when boot completed.
2010-08-11 15:20:34 -07:00
Dianne Hackborn
f4c454bac9 New system property "sys.boot_completed" set to 1 when boot completed.
Change-Id: Ie3fc0b1efdfb637b0c780064a71e8c1575e15ca3
2010-08-11 12:47:41 -07:00
Jean-Baptiste Queru
1ca94798cc Fix build: HistoryRecord is now ActivityRecord
Change-Id: I5f402e76fbff58ec59ea26b6765e7455801a6cd0
2010-08-11 11:56:21 -07:00
Dianne Hackborn
9f53119b72 First pass at a new clipboard API.
ClipboardManager was in android.text(!!) so it needed to be moved
up to android.content to have access to the richer data types we
now need.

ClippedData is the data representation.  Still needs a lot of
fleshing out to allow holding more than one data type at a time
and perhaps conversions between them.  (MIME-oriented interrogation
and conversion will be done through ContentProvider, which needs
to grow an ability to report multiple MIME types and accept a
desired MIME type when a stream is being opened.)

Change-Id: Ifa51bedcd084a677813b255d171804e8496b0cb5
2010-08-05 12:28:20 -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
Jean-Baptiste Queru
5ea89f77ea Fix build: HistoryRecord is now ActivityRecord
Change-Id: Ide07d72abd02aeb7e56695f2e98ae7af1568ad1c
2010-07-30 09:30:31 -07:00
Mattias Larsson
5f5548e82d am 85673d91: am a4fd0078: Clear preferred activities when home process crashes
Merge commit '85673d91681e6b5dede0c72f36ed3b81f5c4bb0d'

* commit '85673d91681e6b5dede0c72f36ed3b81f5c4bb0d':
  Clear preferred activities when home process crashes
2010-07-30 08:51:09 -07:00
Mattias Larsson
85673d9168 am a4fd0078: Clear preferred activities when home process crashes
Merge commit 'a4fd0078d138b433d2250a74833ee3cc6424143a' into gingerbread-plus-aosp

* commit 'a4fd0078d138b433d2250a74833ee3cc6424143a':
  Clear preferred activities when home process crashes
2010-07-30 08:45:05 -07:00
Mattias Larsson
a4fd0078d1 Clear preferred activities when home process crashes
If the "default" Home application has been replaced with
a third-party app that is repeatedly crashing at start-up,
there is no way for the user to clear the preferred activities
or uninstall the bad application. If we clear the package
preferred activities when the application crashes, the user
will be prompted with the ResolverActivity at the next boot
and can try using the app again or choose to use another
Home application.

Change-Id: I8ba8e95e6752916d50515d96c117d3084fa980fd
2010-07-30 08:36:42 -07:00
Brad Fitzpatrick
8b67752c82 am 931ee98c: am b7304593: Merge "Cap the size of StrictMode buffering we do before calling DropBox." into gingerbread
Merge commit '931ee98cc05aedaf0a7cdf0b7ec503a8586359f5'

* commit '931ee98cc05aedaf0a7cdf0b7ec503a8586359f5':
  Cap the size of StrictMode buffering we do before calling DropBox.
2010-07-27 18:39:21 -07:00
Brad Fitzpatrick
931ee98cc0 am b7304593: Merge "Cap the size of StrictMode buffering we do before calling DropBox." into gingerbread
Merge commit 'b73045935cd8ec5d1a1c5e7a7ca800448b5789ea' into gingerbread-plus-aosp

* commit 'b73045935cd8ec5d1a1c5e7a7ca800448b5789ea':
  Cap the size of StrictMode buffering we do before calling DropBox.
2010-07-27 18:37:20 -07:00
Brad Fitzpatrick
e73eb53125 Cap the size of StrictMode buffering we do before calling DropBox.
Change-Id: I46ea767bd0153c745e9b7eff945dacf5130f8807
2010-07-27 16:54:39 -07:00
Dianne Hackborn
9fb0bb8292 am b6022e3d: am 14bfa398: Infrastructure to report running services to developer.
Merge commit 'b6022e3d500f248cf1abe94e8f1509e27ab25736'

* commit 'b6022e3d500f248cf1abe94e8f1509e27ab25736':
  Infrastructure to report running services to developer.
2010-07-26 12:30:19 -07:00
Dianne Hackborn
b6022e3d50 am 14bfa398: Infrastructure to report running services to developer.
Merge commit '14bfa398a4e8697ce5822861a684b7d1245e4a85' into gingerbread-plus-aosp

* commit '14bfa398a4e8697ce5822861a684b7d1245e4a85':
  Infrastructure to report running services to developer.
2010-07-26 12:24:57 -07:00
Dianne Hackborn
14bfa398a4 Infrastructure to report running services to developer.
Change-Id: Id1aae61323e7b8357c5fcc4bc641aaa57f3b6fde
2010-07-24 20:07:17 -07:00
Jean-Baptiste Queru
1b57b86dcc am 83a23630: am dd299046: Merge "frameworks/base: Implement Mutual exclusion in BroadcastReceiver"
Merge commit '83a236303438453740d5db41b0d017be9e5d56c1'

* commit '83a236303438453740d5db41b0d017be9e5d56c1':
  frameworks/base: Implement Mutual exclusion in BroadcastReceiver
2010-07-22 16:18:35 -07:00
Jean-Baptiste Queru
83a2363034 am dd299046: Merge "frameworks/base: Implement Mutual exclusion in BroadcastReceiver"
Merge commit 'dd29904638fb36cd5585560e83367d1f5565cc4c' into gingerbread-plus-aosp

* commit 'dd29904638fb36cd5585560e83367d1f5565cc4c':
  frameworks/base: Implement Mutual exclusion in BroadcastReceiver
2010-07-22 16:14:18 -07:00
Vairavan Srinivasan
61f07659fe frameworks/base: Implement Mutual exclusion in BroadcastReceiver
Invoke forceStopPackageLocked after acquiring a lock on
ActivityManagerService.this.

Change-Id: I75a85da03418a87c26b89360cebd3bccc6a25e46
2010-07-22 13:36:40 -07:00
The Android Open Source Project
57339e752c am e9e04673: merge from open-source master
Merge commit 'e9e046733dc1ce9116a55aa3a675b91f2fc2b530'

* commit 'e9e046733dc1ce9116a55aa3a675b91f2fc2b530':
  replaced deprecated setButton Methods
2010-07-21 08:13:02 -07:00
The Android Open Source Project
e9e046733d merge from open-source master
Change-Id: I5d220f16c319e95547f133ee9bcbd0b5caabc597
2010-07-21 08:05:45 -07:00
Christian Mehlmauer
7664e20927 replaced deprecated setButton Methods
Change-Id: I8361377cda18ae060a53b84702a2cf9b6f3e8365
2010-07-20 08:46:17 +02:00
Brad Fitzpatrick
74446cef55 am f96c2719: am 0c36c96f: Merge "StrictMode: batch drop box writes for system apps" into gingerbread
Merge commit 'f96c2719c3cb4878e899b6fe0753b4f4b8aea8b7'

* commit 'f96c2719c3cb4878e899b6fe0753b4f4b8aea8b7':
  StrictMode: batch drop box writes for system apps
2010-07-15 23:05:44 -07:00
Brad Fitzpatrick
ad13b9807b StrictMode: batch drop box writes for system apps
Change-Id: Iab49c15ecccefea1d36d86271e1ceb37d79e9449
2010-07-15 13:18:05 -07:00
Andy McFadden
824c510752 Allow "am" to initiate heap dumps.
This was mostly cloned from the "am profile" implementation.  It's
intended to replace the old "kill -10" approach used by "runhat".

We could really use a native heap dump, so I pass a "managed"
flag through that indicates whether we want to dump the native or
managed heap.  We don't currently have a native heap dump-to-file
function, so it currently just logs a warning.

(android.ddm.DdmHandleNativeHeap.getLeakInfo is a good start -- it
copies /proc/maps and then calls get_malloc_leak_info to get some
goodies.  Needs some formatting to make it human-readable.  I didn't
want to cram all that into this change.)

It would be useful if "am" didn't exit until the heap dump operation
completed, but I'm not sure how to do that.

Bug 2759474.

Change-Id: I46bc98067738d8c72ac0fc10002ca67bb4929271
2010-07-12 13:35:14 -07:00
Christopher Tate
160edb3645 Add ability to guard a thread against setting its own prio to bg
The guard is compiled out by default because it adds overhead to
android.os.Process.setPriority().

Change-Id: Ibb2a648c6349b381abb7ae62a358888b04fba871
2010-06-30 18:25:01 -07:00
Christopher Tate
c27181c7f3 Remove memory monitoring from the system watchdog
This was originally written as an in-case-we-need-it facility, but was
never actually used in production.  It also soaked up a surprising amount
of cpu on occasion, as well as doing sketchy things like demoting the
system_server's primary looper thread to the background cgroup at times.

Change-Id: I9a81a8d1e9caea9e0a1277d97785fe96add438d7
2010-06-30 14:53:39 -07:00
Dianne Hackborn
50dc3bca5a Refactor ActivityManagerService activity stack.
Introdude a new ActivityStack class that holds all of the
state and management of a stack of activities.  Paves the way
for having multiple activity stacks, though at this point
there should be no change in functionality and the activity
manager is still assuming there is only one stack.

Change-Id: Iea4859a24c9269061043755ec58a615028d4183b
2010-06-25 13:07:21 -07:00
Dianne Hackborn
9d39d0cb36 Make bad notifications crash their application.
Implement notification manager handling of bad notifications, to
call a new activity manager to have the owner's process crashed
(if there is one).

Change-Id: Ib15e8d0c598756f3b39c99cc2045c18e054daf6b
2010-06-24 17:27:28 -07: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
Dianne Hackborn
baf42c625c Add APIs for finding heavy-weight apps.
Change-Id: I6c865cce404cac1a08eee056f963de5d276d5898
2010-06-24 11:38:47 -07:00
Daniel Sandler
69a4817e3e Immersive activity API.
An Activity can declare itself to be "immersive" either by
setting android:immersive="true" in AndroidManifest or by
calling setImmersive(true).

Immersive activities "should" not be interrupted, for
example by Notifications with an associated
fullScreenIntent. (In the future we may even prevent any
non-system application from successfully calling
startActivity() if the foreground activity is immersive.)
Notifications with FLAG_HIGH_PRIORITY set will be shown to
the user in some less-obtrusive way if the frontmost
activity is immersive.

Change-Id: I8d0c25cc4e22371c27cbf2bb6372d2c95d57b2d7
2010-06-23 16:29:36 -04:00
Brad Fitzpatrick
04b243d0f5 Fix NPE during ANRs.
BUG=2780838

Change-Id: I0d5e9a2323130ca14d1f0df684c8abe4f4dad05a
2010-06-21 08:01:13 -07:00
Brad Fitzpatrick
143666f0ca StrictMode: implement the log-to-DropBox option
Change-Id: I51d12e264155078f953028241f8c5cbdc47262e8
2010-06-14 13:38:01 -07:00
Brad Fitzpatrick
46d4238746 More StrictMode work, handling violations in ActivityManagerService.
Also starts to do duplicate-suppression.

Change-Id: I0502f6ab6c45fa319298de4874ecfe44b7829d21
2010-06-11 16:11:26 -07:00
Dianne Hackborn
32907cfb38 Adjust activity manager process OOM adj.
Modify OOM adj classes a bit, to take into account the new
heavy weight app type, and give "foreground services" their
own category to have a bettery chance to manager them when
things go wrong.

Also add some new code to battery stats to keep a history
of changes to the battery level.

Change-Id: I29f5ab6938777e1a7eafd7d8c38b5e564cc9f96a
2010-06-11 10:39:11 -07:00
Brad Fitzpatrick
438d059512 Introduce "StrictMode"
This is a new public API for developers to opt-in to strict rules
about what they're allowed to do on certain threads.  (this is the
public face of the @hide dalvik.system.BlockGuard, added recently...)

In practice this will be used for developers to opt-in to declaring
that they don't want to be allowed to do various operations (such as
disk I/O or network operations) on their main UI threads.  (these
operations are often accidental, or even when they are fast come with
a good chance of being slow or very slow in some cases....)

Implementation wise, this is just a thread-local integer that has a
bitmask of the things that aren't allowed, and more bits for saying
what the violation penalty is.  The penalties, of which multiple can
be chosen, include:

  * logging
  * dropbox uploading for analysis/reporting
  * annoying dialog
  * full-on crashing

These are all only very roughly implemented at this point, but all
parts now minimally work end-to-end now, so this is a good checkpoint
commit before this gets too large.

Future CLs will polish all the above 4 penalties, including
checksumming of stacktraces and minimizing penalties for duplicate
violations.

Change-Id: Icbe61a2e950119519e7364030b10c3c28d243abe
2010-06-10 14:38:58 -07:00
Christopher Tate
8a7fa44fdc am ac24d23c: Merge "Don\'t bring up Launcher until after boot complete" into froyo
Merge commit 'ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a' into kraken

* commit 'ac24d23cd4a96f38b4e9cb0318a7c298794b9b6a':
  Don't bring up Launcher until after boot complete
2010-06-07 18:48:27 -07:00
Christopher Tate
04c0af8f55 Don't bring up Launcher until after boot complete
The preboot upgrade handling was bringing up the acore process with a default
application object, then the normal "start the HOME app" code was bringing up
Launcher2 [hosted in acore] in anticipation of boot completion... but then it
saw that the host process was alive and continued with Launcher2's init.
Launcher2 depends on a custom application object, however, so it crashed
immediately.

This change ensures that the HOME app is not actually initted at that level
until after boot has completed, at which point its proper application class
can be instantiated.

Fixes bug #2732250

Change-Id: I1a15384e2c0d50e14300df0c0db236bd7b1a187c
2010-06-07 18:35:20 -07:00
Dianne Hackborn
b7bb3b3df6 Fix bug in reporting a processes's dependent component.
Also add new action to show an app's details.

Change-Id: I6ad3b3ac8462f5acf726ce76130882a262adff92
2010-06-07 11:01:29 -07:00
Dianne Hackborn
860755faa6 Add support for heavy-weight applications.
Only one can be running at a time, their process can not be killed,
and a notification is posted while it is running.

Change-Id: I843015723947e0c934ae63a1aeee139327c0bc01
2010-06-04 10:09:13 -07:00
Christopher Tate
6ee412d51d Also dump system process threads halfway through the watchdog interval
This gives us a snapshot of what the system process was doing after 30 seconds
of apparent inactivity as well as after 1 minute, to help distinguishing actual
deadlocks from too-slow progress, livelock, etc.

Change-Id: I19758861d1b25f298e88788e8f1c7ec7bf828823
2010-05-28 12:23:16 -07:00