Merge commit 'e25b4bc76fef584b38ce4e72f919fba119bdfa99' into gingerbread-plus-aosp
* commit 'e25b4bc76fef584b38ce4e72f919fba119bdfa99':
These are not ready to be exposed. Also rename them to be better.
Merge commit '75823339cd03e5b25b576cd7a2b5941254017c4a'
* commit '75823339cd03e5b25b576cd7a2b5941254017c4a':
Fix a small bug when granting permissions through activity results.
Merge commit 'a1c69e084b5242ad4e4a1ef2fe8d99ba259b5af4' into gingerbread-plus-aosp
* commit 'a1c69e084b5242ad4e4a1ef2fe8d99ba259b5af4':
Fix a small bug when granting permissions through activity results.
Merge commit '22cd420bfa431b4ad55e699afadf109dcc54f201' into gingerbread-plus-aosp
* commit '22cd420bfa431b4ad55e699afadf109dcc54f201':
Improve debug output when an ANR happens.
- Collect data at better times.
- Collect per-thread CPU usage as soon as possible after the ANR, and print
in log.
- Based on new per-thread CPU usage, limit the number of processes we
collect stacks from to not include inactive not interesting procs.
- Improve the way ProcessStats compute and reports its data.
Change-Id: I12b17fb47d593d175be69bb792c1f57179bf4fdf
Merge commit '3003a017d312a55e3804d6cf4a80044b1f1d7993' into gingerbread-plus-aosp
* commit '3003a017d312a55e3804d6cf4a80044b1f1d7993':
Don't retain global ref to last inflated context.
Merge commit 'fde7fdd38d45e6bdb12cba9917a23d18e9f3457c'
* commit 'fde7fdd38d45e6bdb12cba9917a23d18e9f3457c':
Fix a fun bug with multiple service bindings from an activity.
Merge commit '50395e80718e77d27ec5e2d474b255e05de68d82' into gingerbread-plus-aosp
* commit '50395e80718e77d27ec5e2d474b255e05de68d82':
Fix a fun bug with multiple service bindings from an activity.
There was a flaw in the service management, when the same activity
is doing a bindService() for the same service IBinder. In this case
the activity would correctly keep a list of all generated connections,
however some other data structures would assume there is only one
connection per IBinder, and thus only remember the last.
When that last connection was unbound, the service would be destroyed
since it thought there were no more connections. Then when the
activity was finished, it would try to destroy the service again and
end up with an ANR because the service was already gone and would
not respond.
Change-Id: I59bde38bc24e78147b90b0a7cd525c2a1d20489f
Merge commit '39792d2262352ae775091876d5488d2412a2ff92' into gingerbread-plus-aosp
* commit '39792d2262352ae775091876d5488d2412a2ff92':
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
Merge commit 'cf6d2a1de274e9a4156b12be811a180eb36412ab' into gingerbread-plus-aosp
* commit 'cf6d2a1de274e9a4156b12be811a180eb36412ab':
Fix issue #2845673: android:exported="false" is not obeyed
Merge commit '2e47052fc4ad3439adc2322fd953fd58a85d457c'
* commit '2e47052fc4ad3439adc2322fd953fd58a85d457c':
Fix problems with determining when to kill apps for wake usage.
Merge commit '567722eee190f7cf88dc7ea95167db76d5514842' into gingerbread-plus-aosp
* commit '567722eee190f7cf88dc7ea95167db76d5514842':
Fix problems with determining when to kill apps for wake usage.
Merge commit 'a8d9291d7f93d1aa0d24d71d65c7de2894812177' into gingerbread-plus-aosp
* commit 'a8d9291d7f93d1aa0d24d71d65c7de2894812177':
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
Merge commit '2d8b9fe0f9fe44c17ccc4d041f726df490548984'
* commit '2d8b9fe0f9fe44c17ccc4d041f726df490548984':
New system property "sys.boot_completed" set to 1 when boot completed.
Merge commit 'bd1c082cf90d07e3ccb017b72e59b5ccad81dd07' into gingerbread-plus-aosp
* commit 'bd1c082cf90d07e3ccb017b72e59b5ccad81dd07':
New system property "sys.boot_completed" set to 1 when boot completed.
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
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
I was seeing lots of stack traces of people hung for noticeable
amounts of time when switching between activities.
e.g. On of the common gmail stacks showing this pause was:
android.os.StrictMode$StrictModeDiskWriteViolation: policy=391 violation=1
at android.os.StrictMode$AndroidBlockGuardPolicy.startHandlingViolationException(StrictMode.java:272)
at android.os.StrictMode$AndroidBlockGuardPolicy.onWriteToDisk(StrictMode.java:243)
at dalvik.system.BlockGuard$WrappedFileSystem.open(BlockGuard.java:238)
at java.io.FileOutputStream.<init>(FileOutputStream.java:97)
at java.io.FileOutputStream.<init>(FileOutputStream.java:69)
at com.android.server.am.UsageStatsService.writeStatsFLOCK(UsageStatsService.java:424)
at com.android.server.am.UsageStatsService.writeStatsToFile(UsageStatsService.java:398)
at com.android.server.am.UsageStatsService.notePauseComponent(UsageStatsService.java:539)
at com.android.server.am.ActivityManagerService.updateUsageStats(ActivityManagerService.java:1856)
at com.android.server.am.ActivityStack.startPausingLocked(ActivityStack.java:667)
at com.android.server.am.ActivityStack.finishActivityLocked(ActivityStack.java:2925)
at com.android.server.am.ActivityStack.requestFinishActivityLocked(ActivityStack.java:2836)
at com.android.server.am.ActivityManagerService.finishActivity(ActivityManagerService.java:2276)
at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:237)
at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1415)
at android.os.Binder.execTransact(Binder.java:320)
at dalvik.system.NativeStart.run(Native Method)
at android.app.ActivityManagerProxy.finishActivity(ActivityManagerNative.java:1454)
at android.app.Activity.finish(Activity.java:3260)
at android.app.Activity.onBackPressed(Activity.java:1929)
at android.app.Activity.onKeyUp(Activity.java:1907)
at android.view.KeyEvent.dispatch(KeyEvent.java:1088)
at android.app.Activity.dispatchKeyEvent(Activity.java:2087)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1661)
at android.view.ViewRoot.deliverKeyEventToViewHierarchy(ViewRoot.java:2543)
at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2516)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1866)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3609)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Change-Id: Id49157bc635017292eaefddc5e22d73f5f4ab05e
Merge commit 'd2165cfce7911dac66d1195ed9123e79b086d22b' into gingerbread-plus-aosp
* commit 'd2165cfce7911dac66d1195ed9123e79b086d22b':
StrictMode: time violations in Binder calls
Merge commit '85673d91681e6b5dede0c72f36ed3b81f5c4bb0d'
* commit '85673d91681e6b5dede0c72f36ed3b81f5c4bb0d':
Clear preferred activities when home process crashes
Merge commit 'a4fd0078d138b433d2250a74833ee3cc6424143a' into gingerbread-plus-aosp
* commit 'a4fd0078d138b433d2250a74833ee3cc6424143a':
Clear preferred activities when home process crashes