120367 Commits

Author SHA1 Message Date
Eunae Kim
26ac40305a Fix a bug that the RecentTask list of other’s may show up to non-primary users.
When switching to a newly created user, the user may face this bug when he opens the RecentTask screen.
A possible bug scenario is described as follows:
A user id of a removed user may be recycled when created a new user.
However, mRecentTasks is not correctly controlled so that old information may still remain and be possibly mapped to wrong user.
This patch prevents this bug by explicitly removing old information in mRecentTasks when removing existing user.

Change-Id: I1874dbd604598a5d740ae1e034981e21214c15c6
Signed-off-by: Eunae Kim <eunae.kim@lge.com>
2014-07-31 13:58:53 +09:00
Craig Mautner
6a58309e73 Merge "[ActivityManager] Prevent coredump file may not complete for testing." 2014-07-30 19:31:16 +00:00
riddle_hsu
8062b9534f [ActivityManager] Prevent coredump file may not complete for testing.
Sympton:
During testing, skip kill native crash process manually because it will continue to die by default.

Root Cause:
Large process may take some time to do coredump.In auto test, crash process will be killed immediately that results incomplete coredump file.

Solution:
If the tester (IActivityController) will handle app crash event,
Do not kill native crashed process if the rom is debuggable.

Change-Id: Ia360af147d694125d440e5ba2f958c4759a50494
2014-07-31 03:53:04 +00:00
Craig Mautner
905fe15ea0 Merge "[ActivityManager] Avoid mistaking visibility by finishing task." 2014-07-30 19:31:16 +00:00
riddle_hsu
1df4d9f8c7 [ActivityManager] Avoid mistaking visibility by finishing task.
Sympton:
Next activity only adds to history but does not launch/resume then results ANR.

Root Cause:
In a rare timing, some windows are switched at the same time,
it will cause some finishing records on the top temporarily,
then set startIt to false that skip to resume the real top activty.

Solution:
If all activities in a task are finishing, do not use it to check.
The behavior/checking is the same concept as in JellyBean:
            // If starting in an existing task, find where that is...
            boolean startIt = true;
            for (int i = NH-1; i >= 0; i--) {
                ActivityRecord p = mHistory.get(i);
                if (p.finishing) { // <--
                    continue;
                }

Change-Id: I9d81a7b5182400c52e173da23eee61c74692beee
2014-07-31 00:26:51 +08:00
Tim Murray
8224edb94f Merge "Update makefile for clang host build." 2014-07-23 18:45:08 +00:00
Chris Craik
215ecb93e9 Merge "Restore untrusted glStencilMask value on resume after functor" 2014-07-22 20:34:45 +00:00
Chris Craik
c47aba2a77 Restore untrusted glStencilMask value on resume after functor
Fixes an issue where the stencil buffer is corrupted
(used in overdraw debugging, path clipping) when used in
conjunction with a HW accelerated WebView.

bug:15023700
bug:16465551

Change-Id: If201b503931380f7107a34e9a9a2f877a50f72b1
2014-07-22 23:19:02 +00:00
Chris Craik
bfb349e242 Merge "[Bitmap] Add null pointer protection in Bitmap_sameAs()" 2014-07-22 16:35:00 +00:00
Chris Craik
50a2d6339c Merge "[HWUI] Fix invisible views are still shown in popup window" 2014-07-22 16:35:00 +00:00
Tim Murray
132ed0f2b4 Update makefile for clang host build.
bug 16172793

Change-Id: If7484c5dbcccce7d925bec97bff0a3e4c30e9434
2014-07-17 16:37:42 -07:00
Neil Fuller
fc6346d461 Merge "Rewriting android.text.format.Time without the native _tz functions" 2014-07-17 22:36:58 +00:00
Neil Fuller
d7f0849b8c Rewriting android.text.format.Time without the native _tz functions
Bug: 15765976
Change-Id: I666b72ecf9da8a9dcfb97cc503006b415909a558
2014-07-22 15:06:16 +01:00
Craig Mautner
02fd104f30 Merge "Skip broadcasting to a receiver if the receiver seems to be dead" 2014-07-17 23:22:21 +00:00
Koji Fukui
63909886b2 Skip broadcasting to a receiver if the receiver seems to be dead
If an application that has a broadcast receiver is killed
during broadcasting, thread variable of ProcessRecord becomes null
so that IIntentReceiver#performReceive() is called
in BroadcastQueue#performReceiveLocked(). But if binder driver has not
noticed the death of the application yet, it can't throw
DeadObjectException. After that, binder driver notices. But it can't
notify DeadObjectException to the caller because performReceive() is
async call. So broadcasting keeps on waiting for finishing
performReceive() until timeout.

This change checks the death of the application before calling
performReceive() and skips broadcasting to the receiver
if the application has already died.

Change-Id: Ifa02b8b1a7e7b6fd314de90fedff5b7a5326825d
2014-07-21 09:53:05 +02:00
Yohann Roussel
3bdbf644d6 Merge "Add support.multidex tests app for an update bug." 2014-07-17 22:37:43 +00:00
Narayan Kamath
e242111c5d Merge "Remove copy of Locale.adjustLanguageCode." 2014-07-17 22:36:58 +00:00
Narayan Kamath
1d31a5f824 Remove copy of Locale.adjustLanguageCode.
Change-Id: Iba8c67890f95d50fadcd1245dc083d646fe6bcc1
2014-07-18 16:09:36 +01:00
Chris Craik
152d9e6128 Merge "[HWUI]: fix residual line on FrameBuffer" 2014-07-17 18:05:27 +00:00
Craig Mautner
2e7b2521f1 Merge "[ActivityManager]: Update home process when home activity resumed" 2014-07-16 16:25:15 +00:00
louis_chang
73fd117c65 [ActivityManager]: Update home process when home activity resumed
Symptom:
  When switch between two home activities, the home process might not be updated to the correct one. In that case, the home activity might be killed easily.

Root Cause:
  The home process is updated only when a home activity is newly created or being restarted. ActivityManager did not update the home process when simply resume a home activity.

Solution:
  Update home process when home activity resumed

Reproduce Steps:
  1. Install a launcher application, such as Apex Launcher
  2. Press home key to change to Apex Launcher by "Just once" option
  3. Press home key to switch back to original home activity by "Just once" option.
     (The home process is still the Apex Launcher's process because ActivityManager does not update the home process when resuming the original home activity.)

Change-Id: I046279ca7ba851a283ee67ea19202890f7b3f343
2014-07-16 17:16:34 +00:00
Yohann Roussel
2f00e62d96 Add support.multidex tests app for an update bug.
The failing scenario is
- install v1
- run
- update to v2
- update to v3
- run
last run was failing with initial multidex library versions because
it's still running on v1 extracted secondary dex files.

(cherry picked from commit 05e2a94c8b510131f43a686f5188d4c0f2a5eebd)

Change-Id: Ibb5d16642b127ee4c0baddc4f6ba461c11d25f90
2014-07-16 12:54:56 +02:00
Craig Mautner
d543c3e113 Merge "[ActivityManager] Do not finish root activity when reset task" 2014-07-15 20:36:09 +00:00
louis_chang
f87b219539 [ActivityManager] Do not finish root activity when reset task
Symptom:
The root activity not always located at index 0 of the task.
For example, the index 1 activity will become the new root
when the original root activity (at index 0) finished.
The new root activity might be finished unexpectedly before
the original root activity actually destroyed.

Solution:
Check frontOfTask to avoid finishing the root activity unexpectedly

Change-Id: I623ab97e9c95c83b3cfe7c9dfc151a291a391ea4
2014-07-16 18:15:35 +08:00
Craig Mautner
7f4b420213 Merge "[ActivityManager] Move top task to top in window manager" 2014-07-15 20:36:09 +00:00
louis_chang
d937616f87 [ActivityManager] Move top task to top in window manager
Symptom:
In certain situations, application starts activity while
it is in background. When an existing background activity
starts a new activity which results to be kept in the same
background task, the new activity won't be resumed.
In that case, the background task (sourceTask) should not be
moved to top in window manager.

Solution:
Move top task of the target stack to top in window manager

Change-Id: Id7a37ea67ce1f80e0c2b5399865c51fd7113deb8
2014-07-16 17:42:04 +08:00
Narayan Kamath
f9c79c63bc Merge "Removed useless test" 2014-07-16 01:09:23 +00:00
Narayan Kamath
3c8f8caaa7 Merge "Add an internal API to get all asset locales." 2014-07-16 01:07:54 +00:00
Deepanshu Gupta
7b97e426bd Merge "Optimize Blend composites." 2014-07-14 23:57:35 +00:00
Deepanshu Gupta
e147445a5e Merge "Add BlendComposite.java" 2014-07-14 23:57:35 +00:00
Narayan Kamath
9e6d9d4c81 Add an internal API to get all asset locales.
This will allow us to not copy paste this code verbatim into
bundled apps.

bug: 10090157
Change-Id: I008dc683ecbef2ad8b7a26968cb3cbda7e5a8388
2014-07-14 16:29:22 +01:00
Narayan Kamath
7850f95dc5 Merge "Allow 3 letter language codes in InputMethodUtils." 2014-07-10 20:18:52 +00:00
Narayan Kamath
7be75338a3 Allow 3 letter language codes in InputMethodUtils.
Replace locale.substring(0, 2) with a function that always
returns the first component of the locale (assumed to be the
language).

bug: 10090157

(cherry picked from commit cefc79c6b18bb2e824c299e7b9e212071e5ebc43)

Change-Id: I56b02dd0c6dc222daa3ceade841a30879449bb4a
2014-07-14 09:42:55 +01:00
Christopher Tate
ef3b35b48c Merge "Logging in LocalTransport on as default" 2014-07-10 17:35:34 +00:00
Henrik Baard
2db2b9aa36 Logging in LocalTransport on as default
The logging is LocalTransport.java is enabled by
default.

Change default to false to remove logs, as this class
states that it is only for debug.

Change-Id: Iae63c7b62edbd503c606f0aee671a9579e78843d
2014-07-10 08:46:39 +02:00
Colin Cross
1f060a178d Merge "GpsLocationProvider: look for config file in /etc/gps.<ro.hardware.gps>.conf" 2014-07-10 00:35:03 +00:00
Stephen Hines
4fea742c07 Merge "Update copyFrom(BaseObj[]) for large objects." 2014-07-09 14:45:53 +00:00
Tim Murray
31e12acca5 Update copyFrom(BaseObj[]) for large objects.
Change-Id: I99cadbd1ad925cad0dd357c9abbd1a49c07785c9
2014-07-09 17:09:33 -07:00
Elliott Hughes
d74f99d390 Merge "Switch frameworks/base/libs/androidfw to the new icu." 2014-07-09 14:45:53 +00:00
Elliott Hughes
6a4deeda70 Switch frameworks/base/libs/androidfw to the new icu.
Change-Id: Id82830750dd7e83bbc66811a1133b403cc697c97
2014-07-09 16:58:28 -07:00
Elliott Hughes
92b1896dfd Switch frameworks/base/core/jni to the new icu.
Change-Id: Id12ce02da377ce78f318e10633c47f500237d9d9
2014-07-09 16:56:11 -07:00
Elliott Hughes
effcc83e42 Merge "Switch frameworks/base/core/jni to the new icu." 2014-07-09 22:27:32 +00:00
Deepanshu Gupta
9ce0746104 Optimize Blend composites.
Removed redundant array allocations to improve performance for various
blending modes.

Change-Id: Iaba1d6ff3ad03eebdc859c599b610cc593370438
2014-07-07 15:16:36 -07:00
Deepanshu Gupta
882e087591 Add BlendComposite.java
The class is adapted from a demo tool for Blending Modes written by
Romain Guy (romainguy@android.com). The tool is available at
http://www.curious-creature.org/2006/09/20/new-blendings-modes-for-java2d/

Change-Id: I8f7c7ca08d3078106056764a4e2f1ce95d990137
2014-07-07 10:35:15 -07:00
Craig Mautner
08881385a8 Merge "[ActivityManager] Prevent potential deadlock from system error dialog and InputMethodManager." 2014-07-05 03:01:43 +00:00
riddle_hsu
7f1e3f3e93 [ActivityManager] Prevent potential deadlock from system error dialog and InputMethodManager.
Sympton:
When application crash in a special timing and system server's InputMethodManager is binding, deadlock may occur.

Root Cause:
Thread(1): When using InputMethodManager in system server, it will lock mH(handler) of InputMethodManager,
and sometimes it will call to InputMethodManagerService::showCurrentInputLocked and will call bindService at some condition,
then it will also lock ActivityManagerService.
Thread(2): When an application crashed, it will lock ActivityManager when showing crash dialog, inside the dialog,
it will call setEnabled of Button and lock mH of InputMethodManager.setEnable of TextView will lock IMM's handler.
So the deadlock happened as the flow: (2) lock AMS -> (1)lock mH -> (2)wait mH -> (1) wait AMS

Solution:
Reduce nested lock of error dialog: post message to let (2) lock mH after release AMS lock.

Change-Id: Id85c29406236db3b5fca9655fde1fcaf0afd1337
2014-07-08 04:30:19 +08:00
Brian Carlstrom
52a154febb Merge "Remove" 2014-07-07 17:50:18 +00:00
Brian Carlstrom
87f597465c Remove
(cherry picked from commit 9881203920c8445e9a4bdd9e4a90ba0014f34c5e)

Change-Id: Ib40823b7c03af4c71da902b0e5c504e074cf0dd9
2014-07-07 11:31:47 -07:00
Narayan Kamath
501bb0a5e4 Merge "Fix issue when converting fil->tl." 2014-07-04 08:02:36 +00:00
Narayan Kamath
fec5106c8e Fix issue when converting fil->tl.
We should call ResourceTable::getLocales directly,
and not AssetManager::getLocales. The latter will convert
"tl" to "fil" so we'll end up thinking we have resources
for "fil" when we don't really have any.

bug: 15873165

Change-Id: I9753e4608aaecede328a40ee1f3ee6b016d0dedc
2014-07-07 09:51:01 +01:00