6276 Commits

Author SHA1 Message Date
Dianne Hackborn
2d18c60a0b Merge "Performance: Activity manager perf unnecessary recalc of oom_adj" 2012-06-08 18:40:04 -07:00
Dianne Hackborn
c9aa32e93f Merge "Fix dumpPowerState method" 2012-06-08 18:33:48 -07:00
Jean-Baptiste Queru
2a393a99dc Merge "MountService: unlink death notification when unregistering listeners" 2012-06-08 14:30:52 -07:00
Björn Davidsson
90f9e31343 Performance: Activity manager perf unnecessary recalc of oom_adj
If an activity has bound servicesor content providers,
updateLruProcessInternalLocked will be called recursively with
the oomAdj flag set, resulting in several recalculations of oomAdj
with unchanged data. Doing it at the end of the top level call to
updateLruProcessInternalLocked should be sufficient.

Change-Id: I95e27011e1d3519f256a9bd756cbb18d43e8db29
2012-06-08 12:56:14 +02:00
jaiyoung.park
15415f57a3 Fix dumpPowerState method
dumpPowerState method shows the current power manger service state but,
BUTTON_BRIGHT_BIT is omitted.

Add a routine of checking BUTTON_BRIGHT_BIT
Signed-off-by: jaiyoung.park <jaiyoung.park@lge.com>

Change-Id: I00484fb384963bafdc58ce89b3251a1f5585d992
2012-06-04 09:33:54 +09:00
Jean-Baptiste Queru
fd63c85742 Merge "Wipe the user data out in any case." 2012-05-25 07:31:27 -07:00
Amith Yamasani
d4cb08df75 Merge "FileInputStream is not closed in "UserManager.java : readUserList()"" 2012-05-24 09:42:29 -07:00
Jean-Baptiste Queru
4b27125d88 Merge changes Ib28636e6,I93ebc433
* changes:
  WallpaperManagerService does not properly propagate setDimensionHints()
  ImageWallpaper : get bitmap width before calc screen offset
2012-05-04 11:05:44 -07:00
Jean-Baptiste Queru
cbc71bd73f Merge "Fix off-by-one error when filtering application UIDs" 2012-05-01 06:42:36 -07:00
Seohyeon.Song
5cc510bf89 FileInputStream is not closed in "UserManager.java : readUserList()"
Change-Id: I50f54c70c8b6bc808fa59ce589b0480780cc811b
2012-04-25 18:20:05 +09:00
Dianne Hackborn
fee88fdb64 Merge "Issue: Foreground activity performs [Resume] and [Pause] when any process died in sleep mode." 2012-04-20 18:36:53 -07:00
Henrik Engström
9771a3144c Fix for too many binder calls in packagemanager
The packagemanager uses a ParceledListSlice to send back its lists
of installed packages and apps. The list slice has a method append
which, in addition to adding the item to the list, also returns true
if the list has passed a size limit (about 1/4 of the total possible
IPC parcel size) to let the caller know that he should send the
slice. However, when used by the pm, it has an extra ! that makes it
send whenever it ISN'T over this limit instead (and conversely, not
send if it is under). This causes a lot more calls than needed since
it sends tiny one item slices instead of larger ones. This patch
removes the extra ! making it behave correctly.

Change-Id: I8db46d380a25406b55f3214aee1505e81949acc5
2012-04-20 12:49:13 +02:00
p13451
dbad287b62 Issue: Foreground activity performs [Resume] and [Pause] when any process died in sleep mode.
Step to Reproduce
1)	Turn off device’s screen. (Sleep mode)
2)	Kill any process.
A.	Engineer Version: kill [PID]
B.	User Version: am force-stop [Package Name]
3)	Foreground activity proceed [Resume] and [Pause] consecutively.

Reason: Since ICS version, activity goes to stopped status when screen turns off.
stopIfSleepingLocked( ) makes activity to stopped status but, pauseIfSleepingLocked( ) was used in GB
and, activity keep paused status and, this problem did not occur.
This change give effect to resuming activity when any process was killed.
Because, resume is proceed without exception for activity status.
The exception only filtered for [ActivityState.PAUSED] in sleep or shutdown mode.
and, resume complete flow when activity status was [ActivityState.STOPPED].

Solution for this issue:
We think that exception’s condition have to change if stopped activity status is intended in sleep mode.
According to activity life cycle, activity can not resume from stop status.

Also check [ActivityState.STOPPING]. :)

Change-Id: Icca3366ac30ffa3b18f6e2393e4d7309089ef26a
2012-04-20 09:21:08 +09:00
p13451
0445bc6e4e Transparent activity orientation problem when previous landsacpe fullscreen activity not yet destroyed.
After terminating landsacpe fullscreen activity,
when user launch transparent activity via portrait home app, transparent activity is shown as landscape mode.

At this time AppWindowToken of previous acitivity has not been deleted, because Activity.onDestory() has not been returned yet.
In this case, getOrientationFromAppTokensLocked() returned ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE.

Ignore hidden application is terminated on the top.
See also http://code.google.com/p/android/issues/detail?id=28927

Change-Id: I51239431120ec6ba8f8ff76871efb2347b9810ca
2012-04-18 15:13:26 +09:00
Magnus Eriksson
1358ebe46c Fix off-by-one error when filtering application UIDs
A filtering check in writeLPr() mistakenly includes the first application UID
(10000) with the result that the package with UID 10000 is missing from
packages.list. This patch fix the error.

Change-Id: I3651beb346290db8e09317391b95a77aed1946b6
Signed-off-by: Magnus Eriksson <eriksson.mag@gmail.com>
2012-03-27 15:40:18 +02:00
Dianne Hackborn
c032a73b51 am ce06c000: Merge "Debugging code for #6169553: Make Phone launch faster" into ics-mr1
* commit 'ce06c000b4133c63414c3244c3325e25315ab179':
  Debugging code for #6169553: Make Phone launch faster
2012-03-16 11:55:05 -07:00
Dianne Hackborn
2a29b3ad13 Debugging code for #6169553: Make Phone launch faster
The activity manager now has a tick when launching an app every
500ms, where it collects the current stack traces of the app if
it hasn't finished launching.  These traces are included as part
of dumpstate.

This is only done on non-user builds.

Change-Id: I7f09ea00aab821ac81795f48c9d68fcca65f89fe
2012-03-15 15:48:38 -07:00
Daniel Lehmann
f0533f9462 am 0e873700: Remove the country detector logging
* commit '0e87370077b322b3a88c345a44c6bf3d56617071':
  Remove the country detector logging
2012-03-12 18:24:41 -07:00
Daniel Lehmann
0e87370077 Remove the country detector logging
Bug:6156714
Change-Id: Id0ff60b0530142e2bce055ee8cf8dde94e974aa5
2012-03-12 17:04:17 -07:00
Dianne Hackborn
c221d6ec2f am 27e20ccd: Merge "Fix issue #6073913: onActivityResult() not getting called..." into ics-mr1
* commit '27e20ccd9ac4dd1f9bf902ed2b359cc8beff7c9b':
  Fix issue #6073913: onActivityResult() not getting called...
2012-02-28 15:03:18 -08:00
Dianne Hackborn
5c607433e3 Fix issue #6073913: onActivityResult() not getting called...
...if the process is killed and restarted

Try to ensure that in all cases we deliver an activity result if one
was requested.

Change-Id: Id43e830d2ee782f98ed1e3b68e5e16f3258d4ad8
2012-02-28 14:45:23 -08:00
Jean-Baptiste Queru
e939edb5b4 am f418738c: am d7fa7dee: Merge "Fixes update of extras Bundle in new Locations for GPS Provider"
* commit 'f418738c64413b818e2dc507c912c2678876632f':
  Fixes update of extras Bundle in new Locations for GPS Provider
2012-02-28 13:33:44 -08:00
Jean-Baptiste Queru
f418738c64 am d7fa7dee: Merge "Fixes update of extras Bundle in new Locations for GPS Provider"
* commit 'd7fa7deef9bc0cf22bf450fdb062327697c087c4':
  Fixes update of extras Bundle in new Locations for GPS Provider
2012-02-28 13:30:39 -08:00
Dianne Hackborn
7663d80f6b Fix issue #6048808: sometimes auto-correct is inactive
My previous change to speed up the time the IME is dismissed was
fundamentally flawed.  That change basically switched the order
the application called the input method manager service from doing
startInput() and then windowGainedFocus(), to first windowGainedFocus()
and then startInput().

The problem is that the service relies on startInput() being done
first, since this is the mechanism to set up the new input focus,
and windowGainedFocus() is just updating the IME visibility state
after that is done.  However, by doing the startInput() first, that
means in the case where we are going to hide the IME we must first
wait for the IME to re-initialize editing on whatever input has
focus in the new window.

To address this, the change here tries to find a half-way point
between the two.  We now do startInput() after windowGainedFocus()
only when this will result in the window being hidden.

It is not as easy as that, though, because these are calls on to
the system service from the application.  So being able to do that
meant a fair amount of re-arranging of this part of the protocol
with the service.  Now windowGainedFocus() is called with all of
the information also needed for startInput(), and takes care of
performing both operations.  The client-side code is correspondingly
rearranged so that the guts of it where startInput() is called can
instead call the windowGainedFocus() entry if appropriate.

So...  in theory this is safer than the previous change, since it
should not be impacting the behavior as much.  In practice, however,
we are touching and re-arranging a lot more code, and "should" is
not a promise.

Change-Id: Icb58bef75ef4bf9979f3e2ba88cea20db2e2c3fb
2012-02-24 13:18:23 -08:00
Dianne Hackborn
01011c3d7c Fix issue #6037252: Screen shifts after all apps are upgraded
Two things: (1) make sure the boot message is always positioned within
the entire unrestricted display, and (2) allow the dim background to go
on top of the nav bar when being used for the boot message (this latter
is really a hack that should be more generally fixed in the future).

Change-Id: I7261b044eb802a39cadff931b50a679ff18781d6
2012-02-21 13:54:21 -08:00
Masanori Ogino
f535cb04f0 Wipe the user data out in any case.
When the external storage is not mounted, the android system won't
wipe out the user data (i.e. "/data") if wipeData() is called with
the flag WIPE_EXTERNAL_STORAGE.

We think that the user data should be wiped out in any options and
also wipeData(int) method currently supports also for a external
storage. So we will also change the API reference comment.

If we should care about backward compatibility of this method behavior
with the option WIPE_EXTERNAL_STORAGE, then we would add an another
bitmask something like a ALWAYS_RESET.

Change-Id: Id7bf673c722bacc0480d32e46553b9a348513879
2012-02-16 09:42:36 +09:00
Robert Greenwalt
2384386f31 Stop using shared DUN APN when tethering stops.
Backported from master, including a bug fix and a cdma enhancement.

Even if other people are sharing the connection (ie, carrier wants
default and tethered traffic on the same APN) stop using a carrier-
described APN when the tethering stops.

bug:5972599
Change-Id: I25e4831855e6b62c0c3ab3a6f4d4846aaee6ac50
2012-02-14 11:44:09 -08:00
Mike Lockwood
ece18efb35 Don't pulse LED on new notification unless notification has LED flag set
Bug: 6006131

Change-Id: I719c7d68e310bfaca227f6286159b3993784926b
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-02-13 20:42:19 -08:00
Kazuhiro Ondo
afd8f1820e Add OEM specific USB mode enumeration based on ro.bootmode property
This patch is adding a capability so that OEM can override USB mode
in case the device is boot up with OEM specific mode. (i.e. modem
debug, factory test etc.)

Bug:5964042
Change-Id: Ic8e23d302563ce71eedb74ce94cca8c65838a4f7
2012-02-10 12:29:12 -08:00
SangWook Han
3d9a9d6edd WallpaperManagerService does not properly propagate setDimensionHints()
During bootstrap, Launcher could be initialized in between
WallpaperManagerService and ImageWallpaper. In case Launcher's
WindowManager.suggestDesiredDimenstions() is called after
WallpaperManagerService begin to create ImageWallpaper and before
ImageWallpaper Engine attached, that mostly resulted in Black Edge
of image wallpaper.

This can be reproduced easily (1 in 3)
 - set image wallpaper other than default.
 - modify Launcher/Workspace to call suggestDesiredDimenstions(w,h)
 - reboot

To fix Black Edge, WallpaperManagerService modified to maintain
a flag mDesiredDimensionChanging and set desired size at Engine
attach. Black Edge still can be shown for some moment. but, always
recoverd. To eliminate Black Edge it seems that
IWallpaperConnection.aidl need more method.

NOTE: Many market launcher and some phone vendor launcher call
suggestDesiredDimenstions with argument (w,h) instead aosp's
original (w*2,h) for single page wallpaper.

Change-Id: Ib28636e6b2964d9deeee1f1e1d304554cc7a837e
2012-02-08 07:40:36 +09:00
Robert Greenwalt
03d58bc656 Filter our v6 address from tethering dns.
Don't support IPv6 yet, and the tools crash when they see one, so
filter them out.

bug:5913888
Change-Id: Id7096aa70da4e3cc8e4702b0b489c0228a100db9
2012-01-24 16:44:50 -08:00
Robert Greenwalt
f449ea9e96 Merge "Use the carrier-given dns addrs for tethering." into ics-mr1 2012-01-24 11:40:19 -08:00
Dianne Hackborn
47163685eb Merge "Another attempt at issue #5823276: home repaints after full-screen app is exited" into ics-mr1 2012-01-24 11:33:15 -08:00
Vairavan Srinivasan
5c25a2d338 MountService: unlink death notification when unregistering listeners
Change-Id: I09045cfe67f7da84bc68a50fc5440ea2c6b754e5
2012-01-24 08:22:14 -08:00
Dianne Hackborn
b7ff51bde9 Another attempt at issue #5823276: home repaints after full-screen app is exited
This is between the two previous attempts.  I returned the part from the
original that was breaking gallery, but have some new code to detect when
something about the window params has changed that would require a
layout pass to make sure we still do a layout then, even if the window is
not currently visible.

Change-Id: I07745e1f66022583e3076b84cc8bbe8bd2acd48f
2012-01-23 19:15:27 -08:00
Jim Miller
44760b106a Merge "Revert "Fix 5797764: Increase lock screen's thread priority"" into ics-mr1 2012-01-23 15:49:32 -08:00
Jim Miller
54dbbce1c3 Revert "Fix 5797764: Increase lock screen's thread priority"
This reverts commit 6d6a70a33746ef5147ab146f1802f0db424dd2f1

This doesn't appear to have a measurable impact for this issue.
2012-01-23 15:24:42 -08:00
Robert Greenwalt
7df80fa4e8 Use the carrier-given dns addrs for tethering.
This fixes a complaint from carriers (that we used 8.8.8.8), but also
fixes the case where there is only room for one live radio
connection: the secondary connection (tethering) doesn't have a
default route to prevent on-device traffic from slipping out on the
tethering connection, but tethered dns is proxied through dnsmasq, so
it is appearing as on-device traffic and is unroutable.  By switching
to the carrier-indicated dns servers we can use the host-routes
already set for those and kill two bugs with one fix.

bug:5898904
Change-Id: Ida8777687994f353b2d4f2c7db5d6ea4b6ac3882
2012-01-23 11:29:37 -08:00
Jim Miller
eaa11a7231 Merge "Fix 5797764: Increase lock screen's thread priority" into ics-mr1 2012-01-20 15:24:20 -08:00
Jim Miller
6d6a70a337 Fix 5797764: Increase lock screen's thread priority
This increases lock screen's thread priority from THREAD_PRIORITY_FOREGROUND
to THREAD_PRIORITY_DISPLAY to ensure it runs before other activities that
might stall lock screen when the screen turns on.

Change-Id: I14cf9f3f5c092817bc6cf2d0a254001a5d34f744
2012-01-20 14:41:55 -08:00
Dianne Hackborn
cfbf7dedad Fix issue #5823276 again: home repaints after full-screen app is exited
Don't consider a window as a candidate for the top fullscreen window
if it is not going to be a candiate for layout.

This fix does not include the change to ignore app tokens that are
hidden.  This causes problems in some dialogs that stay hidden until
their app is ready to display, but need to perform a series of relayouts
during that time to get to the right size.  Dropping this part of
the change still (mostly?) seems to allow us to avoid the bad states.

Change-Id: Ic052cb1499d3287f47e9ffeac5cd2470ee5a308c
2012-01-20 11:01:01 -08:00
Justin Ho
170997a519 DO NOT MERGE Revert "Fix issue #5823276: home repaints after full-screen app is exited"
This reverts commit 01b02a734d2988c22b00f5df6346ad03d8bf52b6.

Change-Id: I848c01fc44eb9a51ead1116b2647ed838ec1825f
2012-01-19 15:41:33 -08:00
Jim Miller
230a709285 Merge "Fix 5863053: Add method to lock screen immediately." into ics-mr1 2012-01-18 16:44:52 -08:00
Jim Miller
93c518e4f8 Fix 5863053: Add method to lock screen immediately.
This fixes a bug where the device fails to lock when DevicePolicyManagerService
requests the device to be locked and the screen was off because the user hit
the power button.

The change allows DPMS to directly invoke screen lock, bypasssing the screen state.

Change-Id: Iecdda6fc61e9c519119de495be23c69c3b983921
2012-01-17 18:11:05 -08:00
Dianne Hackborn
2e282f35b0 Merge "Fix issue #5823276: home repaints after full-screen app is exited" into ics-mr1 2012-01-13 12:56:40 -08:00
Christopher Tate
2cf18d2878 Merge "Streamline package-installed handling by the Backup Manager" into ics-mr1 2012-01-13 11:49:20 -08:00
Christopher Tate
0bacfd2ba6 Streamline package-installed handling by the Backup Manager
In particular, don't do O(asec_apps * installed_apps) work during the
broadcast receiver's operation.  On devices with many installed apps
and a large number of them moved to ASECs, this was causing the system
process to become unresponsive and the watchdog to fire -- which in turn
would initiate a restart loop, as the same package-installed broadcast
would then be issued again once the package manager rescanned the ASEC
containers, ad infinitum.  With this change, the expensive call to the
package manager is only made once rather than asec_apps times.

Bug 5850283

Change-Id: I14e280ea1fa6af19cebc58869a20fbb599c92c8c
2012-01-12 16:15:09 -08:00
Sean Barbeau
ced2b2c09a Fixes update of extras Bundle in new Locations for GPS Provider
This patch fixes the update of the extras Bundle in the Location object
each time the platform derives a new GPS location and passes it to
listening applications via LocationListener.onLocationChanged().

Sometime between Android 1.6 and 2.1 a bug was introduced that stopped
any extras calculated by the platform from being added into the Location
object, which means they were never passed up to any LocationListeners
for the GPS Provider.  This manifested as an issue where the number of
satellites used to derive a fix always reported “0” when retrieved from
Location.getExtras() (Issue 4810 on the Android Issues page -
http://code.google.com/p/android/issues/detail?id=4810).

Sample code to be used within
LocationListener.onLocationChanged(Location location) which demonstrates
this problem:

Bundle extras = location.getExtras();

Int numSats = extras.getInt("satellites");  //This always reports “0”
                                            //post 1.5, although in 1.5
                                            //it properly reported the
                                            //number of satellites used
                                            //to derive this location

The “satellites” extra key/value pair for Locations is defined in
http://developer.android.com/reference/android/location/Location.html#getExtras()

This patch modifies GPSLocationProvider.java to properly update the
Location object with the extras Bundle before the Location object is
passed to any listening applications, and therefore the number of
satellites used to derive a fix can now be retrieved properly through
location.getExtras() (as shown in sample code above).  Therefore, this
patch fixes Issue 4810.

Change-Id: Ief21056a3623269bb3149ec78ab92738a234f57f
Signed-off-by: Sean Barbeau <sjbarbeau@gmail.com>
2012-01-12 18:25:47 -05:00
Chia-chi Yeh
ff321d496a Merge "VPN: silence VPN notifications." into ics-mr1 2012-01-12 14:24:30 -08:00
Dianne Hackborn
01b02a734d Fix issue #5823276: home repaints after full-screen app is exited
Don't consider a window as a candidate for the top fullscreen window
if it is not going to be a candiate for layout.

Also don't consider windows a candidate for layout if their app token
is hidden.  This fixes a transient state where we are preparing to
unhide the window but have not done so yet.

Change-Id: Ife5299ffa003c1df1a4f787b7a2809cbf614ec16
2012-01-12 14:05:03 -08:00