512 Commits

Author SHA1 Message Date
Dianne Hackborn
57f1ac4133 Fix issue #3380072: Switching in and out of gmail not preserving position in label
We were doubly-decreasing the task's activity count, so when selected
from recent tasks it would re-launch the last Intent rather than
switching to its current state.

Change-Id: I6e58c930a0755ae0142604d42b5cd2c668a2b492
2011-01-26 13:28:16 -08:00
Dianne Hackborn
ff801ec713 Fix issue #3302006: Cannot see the dialog lunched from a transparent activity.
The activity manager was not performing the layout pass on the new window,
because its app token was still hidden, because the activity manager / window
manager were still waiting for it to be ready to show.

Just ignore whether the app token is hidden for this case.

Also fixes some problems with animations, and tweaks the ViewConfiguration
values for xlarge screens.

Change-Id: Icbe9c77ba8127d1e02df2d6f27b8e86ec842e50a
2011-01-22 18:13:13 -08:00
Dianne Hackborn
4eba96bb31 Fix issue #3377999: Activities need to be stopped when sleeping
This is a band-aid over the existing kludgy stopping mechanism
where the semantics of stop are different in the activity manager
than in the clients.

This change is intended to be as unobtrusive as possible, only
impacting the sleep case.  I have a different change that
completely reworks how we stop activities to simply this all
a lot by unifying the semantics between the server and client.
However, it is too late in HC for such an extensive change.  Later
I'll revert this one and put in the better solution.

Change-Id: Id77f2db1ec83469cdd888acb8fbc4679daa7766e
2011-01-21 13:42:26 -08:00
Brad Fitzpatrick
bfbe577110 StrictMode: class instance limits (track object "leaks")
Change-Id: I2db5a19060c2013078feb88a91caf655469b2f98
2011-01-19 14:52:08 -08:00
Dianne Hackborn
6c2c5fc993 Just a little 'ol activity manager permission change.
We no longer enforce permissions for applications that are accessing
their own components.  This allows an application to require a permission
on one of its components that it does not itself have.  This is useful
for example with the new advanced widgets, which require a system-only
permission on the implementing service to ensure the app's data stays
private but it is nice to allow the application to still touch its own
widget service.

Change-Id: I5d61930a083816919545870039ad191314ed48c6
2011-01-18 17:02:33 -08:00
Jeff Brown
c8276990df Merge "Add volume down as a safe mode key for Stingray." into honeycomb 2011-01-14 17:22:53 -08:00
Jeff Brown
b09abc1dd2 Add volume down as a safe mode key for Stingray.
Fixed a race condition during startup.  We need to wait for the input
devices to actually be ready before trying to detect safe mode.

Fixed a problem during safe mode activation where we would try to add
the overlay window but the display was not initialized.  Now we do it
after the system is ready.

Bug: 3134825
Change-Id: I4c043c142ae6bf0d865c79d266d36154eaf00709
2011-01-13 21:18:16 -08:00
Dianne Hackborn
94cb2ebfc3 Fix issue #3330037: Unnecessary orientations appear...
...when the device's physical orientation is portrait.

We now hold off on computing app token orientation while preparing
to open or close app tokens.

Also clean up a few other little issues.

Change-Id: Iae125a975c7706fb4d068c872fd172e69854ff15
2011-01-13 21:11:09 -08:00
lge-aosp
ea278a945a DO NOT MERGE Referencing of "r.record.name" is occured, when "r.record" is null.
Change-Id: I0338c85b562a224d2c478112937fd62d2208e7aa
2011-01-09 13:54:53 -08:00
Dianne Hackborn
247fe74c93 Implement issue # 3255887 could CursorLoader offer...
...to throttle contentobserver-based requeries

Why yes, I guess it could.

This also reworks AsyncTaskLoader to not generate multiple
concurrent tasks if it is getting change notifications before
the last background task is complete.

And removes some of the old APIs that had been deprecated but
need to be gone for final release.

And fixes a few little problems with applying the wrong theme
in system code.

Change-Id: Ic7a665b666d0fb9d348e5f23595532191065884f
2011-01-08 18:25:30 -08:00
Adam Powell
947f782411 Fix bug 3245465 - Themed dialog icons
Added light/dark versions of holo dialog icons. Apps using
AlertDialogs that wish to use the system dialog icon should use
setIconAttribute(android.R.attr.alertDialogIcon) instead of
setIcon(android.R.drawable.ic_alert_dialog).

Change-Id: I40793a3164478be5ffa045ededfcab8210753a4b
2011-01-08 13:09:51 -08:00
Johannes Carlsson
d3f36dfdea am 73fef3c7: am b5a8654d: Clear reference to the IIntentReceiver in order to avoid memory leak
* commit '73fef3c7c0986468d75e3ef09d2255c3509a80c9':
  Clear reference to the IIntentReceiver in order to avoid memory leak
2011-01-05 22:48:05 -08:00
Dianne Hackborn
d541f0cbdc am 4302886f: am c91f9fe5: Merge "Avoiding cyclic references when unbinding from a service" into gingerbread
* commit '4302886f8f77c3f53cdc094069f3550dd56bc812':
  Avoiding cyclic references when unbinding from a service
2011-01-05 22:48:00 -08:00
Johannes Carlsson
73fef3c7c0 am b5a8654d: Clear reference to the IIntentReceiver in order to avoid memory leak
* commit 'b5a8654dea9ea8443b41f8ff3668ae4074e13a07':
  Clear reference to the IIntentReceiver in order to avoid memory leak
2011-01-05 19:13:29 -08:00
Johannes Carlsson
b5a8654dea Clear reference to the IIntentReceiver in order to avoid memory leak
When using sendOrderedBroadcast(..) with a BroadcastReceiver the
BroadcastReceiver instance was not released. The reason for this was that
the resultTo field in the BroadcastRecord kept a reference until it was pushed
out of the mBroadcastHistory. This reference in turn kept a reference to the
process side IIntentReceiver (implemented in ReceiverDispatcher$InnerReceiver).
This in turn had a strong reference (through mStrongRef) to the Context.

In order to keep the debug output the resultTo is also kept as a String in the
new resultToString variable.

Change-Id: I4382a22a541c27b3694fb2b78a04ee820b235f8f
2011-01-05 18:59:07 -08:00
Dianne Hackborn
4302886f8f am c91f9fe5: Merge "Avoiding cyclic references when unbinding from a service" into gingerbread
* commit 'c91f9fe542fd1ca9d6da432faeba60d35c4d5c49':
  Avoiding cyclic references when unbinding from a service
2011-01-05 18:55:57 -08:00
Mattias Petersson
3996b41610 Avoiding cyclic references when unbinding from a service
Cyclic references can occur between a Service object held by an
application and a ServiceRecord object held by the system server.
A part of the problem is that binders are leaked and since many binders
are implemented by inner classes of services these services are also leaked.
This causes low memory problems. The solution is: When a Service is beeing
destroyed, go through the ServiceRecord's all IntentBindRecord and set its
binder references to null. This allows the binder and the service object to
be garbage collected.

Change-Id: I5a257521964851f34c08ffb3908feaad96b1bafe
2011-01-05 15:34:11 -08:00
Dianne Hackborn
070783f6ea Don't let services in persistent processes be lost after crashing.
Special cases persistent processes to not allow their services to be
force stopped if the processes is crashing multiple times.  Avoid the
annoying issue with the system bar going away if it is sometimes crashing.

Change-Id: Icf421f45e389827d612d70638030da755a8d3344
2010-12-29 16:46:28 -08:00
Dianne Hackborn
fefe3f689b am cc43401c: am 6eef0ca5: Merge "frameworks/base: Fix to release references in ActivityManagerService" into gingerbread
* commit 'cc43401cd10c681238e0be01de8fe14f5da94fb1':
  frameworks/base: Fix to release references in ActivityManagerService
2010-12-23 14:29:36 -08:00
Dianne Hackborn
cc43401cd1 am 6eef0ca5: Merge "frameworks/base: Fix to release references in ActivityManagerService" into gingerbread
* commit '6eef0ca59438a15d14be8a72b6b29f01da91a5b8':
  frameworks/base: Fix to release references in ActivityManagerService
2010-12-23 14:22:32 -08:00
Vairavan Srinivasan
a207ce2aba frameworks/base: Fix to release references in ActivityManagerService
ServiceRecord's bindings is a hashmap to keep track of all active
bindings to the service. This is not cleared when the service is
brought down by activity manager. This adds up the references to
IntentBindRecords and its references to ServiceRecord. Fix is to
clear the bindings.

ServiceRecord's restarter is a reference to the service and is not
cleared when the service is brought down by activity manager. This
adds up the references to ServiceRecord. Fix is to set the reference
to null when the service is brought down by activity manager.

Change-Id: Ica448cd5f60192c8adb23209b5d0e2cf0c04e446
2010-12-23 14:16:56 -08:00
Dianne Hackborn
5f4d643346 Fix issue #3263026: Screen rotation animation is funky...
...with more than one activity visible

Change-Id: I7695108a3540f5dd0a59b792ca3bc84c8f680872
2010-12-21 23:23:26 -08:00
Dianne Hackborn
f642c89964 Merge "Gah forgot this." 2010-12-21 19:21:41 -08:00
Dianne Hackborn
7c0e75e744 Gah forgot this.
Change-Id: I8d2b31020ac309f17b967734e8ca97a36a5fae45
2010-12-21 19:15:40 -08:00
Dianne Hackborn
88819b276b Rework how recent tasks are added.
Now recents is updated every time an activity is resumed.  This
should ensure the recent list is more consistent, in the face of
pressing back or things crashing.

Change-Id: Ibf59419014e549fac55f18633185edcb5ffcaa3c
2010-12-21 18:18:02 -08:00
Dianne Hackborn
7c8a4b3776 Turn thumbnails back on.
Change-Id: I5b895d4f3558cbae3c5920a3672f02e48c00a8b4
2010-12-15 14:58:00 -08:00
Dianne Hackborn
d2835935d2 Fix issue #3258849: Grab thumbnail when exiting an app via back
Also issue #3281400: Rotating a retained instance fragment leaks the fragment manager

And turn off fragment debug logging.

Change-Id: Ibdd7db82bb35618021bcba421ba92ced7cd691c2
2010-12-13 20:41:17 -08:00
Dianne Hackborn
ccc7141313 resolved conflicts for merge of 78e9f4cb to master
Change-Id: I1135361e6d66f524c3f349e2bf1f31bd4191c634
2010-12-13 14:55:25 -08:00
Dianne Hackborn
78e9f4cbae am e4a59519: Fix issue #3154576: battery stats checkin should include UID -> packages+ map
* commit 'e4a5951925f16f18dae91ed65567e96528f17fee':
  Fix issue #3154576: battery stats checkin should include UID -> packages+ map
2010-12-13 14:37:09 -08:00
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
Dianne Hackborn
30d7189067 Fix issue #3274841: Orientation change problem with a paused activity
Plus a bunch of debug output improvements.

And some new Intent helpers for dealing with restarting an app.

Change-Id: I50ec56bca6a86c562156b13fe8a6fdf68038a12e
2010-12-13 12:57:02 -08:00
Dianne Hackborn
17d9550029 Turn off screenshot capturing for thumbnails.
May reduce occurance of graphics hangs as a temporary stop-gap until
the real problem is fixed.

Change-Id: I57f831944cc621bcb1d1d2051bb48f14e53879b1
2010-12-10 11:43:40 -08:00
Dianne Hackborn
7da6ac33a9 Fix issue #3272051: Use backward transition when going backwards.
Also know as:

Issue #3272051 Contacts edit view: Tapping the in-app back button
results in a forward transition

Yeah more complexity in deciding which animation to use.

Also reduce complexity in deciding which app's animation set to use,
to balance things out (and make it have less stupid behavior).

Change-Id: I78c6c5c5249a96206f7e03ce587c1dcb9a7dc14f
2010-12-09 19:22:04 -08:00
Dianne Hackborn
0aae2d4e00 Rework activity lifecycle so onSaveInstanceState() is after onPause().
The goal is to fix a bunch of fragment-related bugs caused by various
things trying to do fragment transactions after onPause()...  which
currently throws an exception, since this is after the activity's state
has been saved so the new fragment state can be lost.

The basic change is relatively simple -- we now consider processes
hosting paused or stopping activities to be unkillable, and the client
code now does the onSaveInstanceState() as part of stopping the
activity.

For compatibility, if an app's targetSdkVersion is < HONEYCOMB, the
client side will still call onSaveInstanceState() prior to onPause()
and just hold on to that state until it needs to report it in once
being stopped.

Also included here is a change to generate thumbnails by taking
screenshots.  The code for generating thumbnails by re-rendering
the view hierarchy is thus removed.

Change-Id: Iac1191646bd3cadbfe65779297795f22edf7e74a
2010-12-08 00:35:27 -08:00
Brad Fitzpatrick
f3d86be6d7 StrictMode fingerprinting / hashCode improvements.
Change-Id: I08ff939327f7c11a562851847ae91c67b1db4f87
2010-11-23 10:48:55 -08:00
Dianne Hackborn
621e17de87 Implement issue #3221502: New APIs to support new back stack / task navigation
What this adds:

- A new Intent activity flag to completely replace an existing task.
- A new Intent activity flag to bring the current home task up behind
  a new task being started/brought to the foreground.
- New versions of startActivity() that take an array of Intents to be
  started, allowing applications to start a task in a specific state.
- A public moveTaskToFront() method on ActivityManager, with a new flag
  that allows the caller to have the task moved to the front with the
  current home task immediately behind it.

Change-Id: Ie8028d09acffb5349d98043c67676daba09f75c8
2010-11-22 18:35:55 -08:00
Robert Greenwalt
434203a277 Notify all VMs when proxy changes.
bug:2700664
Change-Id: I74cc6e0bd6e66847bf18f524ce851e3e9d2c4e87
2010-11-19 10:24:30 -08:00
Dianne Hackborn
7eec10e6c9 Get rid of the extended themes.
We now decide whether to use a bitmap background based on whether the
window's drawing is hardware accelerated.  To do this, there is a new
"state_accelerated" that state list drawables can be parameterized on,
and the standard window background uses this to select a solid color
or bitmap drawable as appropriate.

Introduces a little hackery to have wm preview windows pretend like
they are hardware accelerated even if they aren't, so the preview looks
closer to the actual app.

Also Add a DialogWhenLarge variation for the light theme.

Change-Id: I215a79d5df65ba3eed52ab363cade9d8218a6588
2010-11-14 14:23:42 -08:00
Brad Fitzpatrick
e7520d89fe StrictMode.Span support
Support for annotating critical regions (e.g. animations) with
a tag to be uploaded.

Change-Id: I412fc78f40dc05c9a3c9f62a4b0463201dbdb767
2010-11-11 09:46:07 -08:00
Brad Fitzpatrick
ec062f63a2 StrictMode: now in more system server threads.
Who knew there were so many Loopers in the system server?

This adds dropbox logging for the activity manager thread, policy
thread, and window manager thread.

The goal's to catch more stuttering.

Change-Id: I999a6ff4a955f0ef549b12a38796b843ade5fe66
2010-11-08 10:39:05 -08:00
Robert Greenwalt
03595d0118 Tell each VM to flush their DNS cache.
bug:3095357
Change-Id: I93de24e3e5a7d8b94d55f4facfffc863a2b8c202
2010-11-04 11:52:35 -07:00
Brad Fitzpatrick
bfb191998e StrictMode: annotate violations with the Broadcast Intent's action, if any.
Change-Id: If36ab776bb95054a109b5475c6be041c75c7e0af
2010-10-29 15:25:44 -07:00
Jean-Baptiste Queru
33c4247435 am 55744530: Merge "resolved conflicts for merge of b4ae2f1b to gingerbread-plus-aosp" into gingerbread-plus-aosp
Merge commit '55744530222288c79a5e1aa61b65f7f6b2262fab'

* commit '55744530222288c79a5e1aa61b65f7f6b2262fab':
  frameworks/base: Handle null from topRunningNonDelayedActivityLocked
2010-10-25 17:59:49 -07:00
Jean-Baptiste Queru
66a5d695ed resolved conflicts for merge of b4ae2f1b to gingerbread-plus-aosp
Change-Id: I9d4e2649375d9262efe8aaade0778f638d04afa8
2010-10-25 17:27:16 -07:00
Brad Fitzpatrick
599ca29986 Expose (internally only) the number of animations currently running.
This will be used for StrictMode to annotate violations with
whether or not they janked up an animation.

Change-Id: I5bc691f49b74c45279cd2ae044d2a81dcf1204a9
2010-10-22 15:58:47 -07:00
Dianne Hackborn
e6634981f1 resolved conflicts for merge of 9c7489f8 to master
Change-Id: I1d8fd1146925f48ad690c89230d24dc8694703f4
2010-10-22 14:35:09 -07:00
Dianne Hackborn
9c7489f8bd am 38993d8d: Merge "Fix issue #3122240: Expose xlarge in GB." into gingerbread 2010-10-22 14:03:08 -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
Joe Onorato
eb95b0877a Show app services in adb bugreport (dumpstate).
There is a 60s timeout for this command.  I'd rather do it as an individual timeout
for each of the services, but this is easier and will probably cover for busted apps
well enough.  Also, this is running last in dumpstate, so if it's lost... oh well.

Also, clean up the formatting of the service dump so it's more readable in bugreport.

Change-Id: Ibd727f4b3366f7af9e7ef1e231868f5cedc48132
2010-10-22 12:36:07 -04:00
Kenny Root
027610a76e resolved conflicts for merge of 964eb438 to master
Change-Id: I0c54d6b88356d8734d7f51234b0114434414502e
2010-10-18 13:03:35 -07:00