118171 Commits

Author SHA1 Message Date
Narayan Kamath
17b1b8fe8c Merge "Move zygote startup logic to the frameworks." 2014-04-02 10:29:55 +00:00
Narayan Kamath
973b4663b0 Move zygote startup logic to the frameworks.
The Zygote class is now in com.android.internal.os. It is
responsible for the vast majority of work before and after
the call to fork(). It calls back into the Runtime via
the new dalvik.system.ZygoteHooks class to allow the Runtime
to perform pre fork cleanup and post fork initialization.

The native code in Zygote.cpp is a direct and straightforward
port of the existing code in art. Most differences are
superficial, for example :
- We use C style logging (ALOGE) instead of stream based
  logging.
- We call env->FatalError() instead of using LOG(FATAL)

Change-Id: Ia101fb2af12d23894fe57e4134d2bc6d142e5059
2014-04-02 10:18:43 +01:00
Jason Sams
b3cafa5620 Merge "Fix RenderScriptGL setSurfaceTexture problem" 2014-03-31 23:21:42 +00:00
Nick Kralevich
3b2a9d2279 Merge "Change when the SELinux relabel of /data/data occurs." 2014-03-31 20:09:31 +00:00
Brian Carlstrom
e3434fc4fb Merge "Improve detail message for X509TrustManagerExtensions argument validation" 2014-03-31 19:49:35 +00:00
Brian Carlstrom
ff9ca781d0 Improve detail message for X509TrustManagerExtensions argument validation
Bug: 13728564
Change-Id: I03d08babcdc0d11baff5e76a339b4285e92edee8
2014-03-31 11:22:34 -07:00
Narayan Kamath
ab561f5b40 Merge "Don't make isSafeMode a field on the Zygote class." 2014-03-31 12:32:50 +00:00
Narayan Kamath
d1a8d9f452 Don't make isSafeMode a field on the Zygote class.
This field is written and read exclusively by the system server,
and should therefore belong to the SystemServer class.

Change-Id: I2708a9a45c0c9cd1a6f563e8cc5844bd8c424bf7
2014-03-31 13:16:45 +01:00
Narayan Kamath
91bbb75c75 Merge "Cast CallMethod's size_t parameters to jint" 2014-03-31 09:37:32 +00:00
Xiaofei Wan
21e0af987d Fix RenderScriptGL setSurfaceTexture problem
rsnContextSetSurfaceTexture() has no implementation in rs-jni, use nContextSetSurface() in setSurfaceTexture().

Change-Id: I066432575c9e74f21ea3a3776628b572b6e31377
Signed-off-by: Xiaofei Wan <xiaofei.wan@intel.com>
2014-03-31 14:40:08 +08:00
Wink Saville
1e4cad8198 Merge "GlobalActions: Fix Airplane Mode on/off issue" 2014-03-30 00:15:22 +00:00
nagarw
c3b7e6fd44 GlobalActions: Fix Airplane Mode on/off issue
Issue: Unable to turn off Airplane mode from power button
       after phone reboot

Fix: Initialize mHasTelephony before the PhoneStateListener is
     registered to the TelephonyManager so that correct value
     of mHasTelephony is reflected when onServiceStateChanged
     callback is called.

Bug: 13697360
Change-Id: Ide8afd9c16ea90b98b5912dbff440c5fd67b178d
2014-03-28 16:54:58 -07:00
Jeff Hao
e9b4fd0718 Merge "Mark constructor as accessible in LayoutInflater." 2014-03-28 21:41:21 +00:00
Craig Mautner
d511bc17d6 Merge "[ActivityManager] Fix a bug: unable to start activity after starting activities during screen off." 2014-03-28 20:27:33 +00:00
Michael Wright
e328056ddc Merge "Add support for additional international keyboard mappings" 2014-03-28 20:26:08 +00:00
Craig Mautner
ff3362f0d8 Merge "DO NOT MERGE - [ActivityManager] Ensure consistency behavior when a background activity brings another existed activity to front." 2014-03-28 20:23:34 +00:00
Jeff Hao
e3abd2ccbe Mark constructor as accessible in LayoutInflater.
Needed to bypass new access checks for fields, methods, and
constructors.

Change-Id: I8ff0b44a6cb4f4af1c72734bca366d8b89528030
2014-03-28 11:33:53 -07:00
Anders Kristensen
49c061501d Merge "Remove duplicate call disconnect codes." 2014-03-28 17:19:57 +00:00
Robert Craig
172d38bcda Change when the SELinux relabel of /data/data occurs.
Perform the relabel of the /data/data/<pkg> directories
when the app is being scanned by the PMS. The impetus
for this change was that the data directories of forward
locked apps were receiving the wrong label during an
OTA. Because the PMS doesn't actually scan forward locked
apps til later in the boot process, the prior restorecon
call was actually applying the default label of
system_data_file for all such apps. By performing a
restorecon on each individual app as they are entered into
the PMS we can handle them correctly. This mechanism also
allows us to pass down the seinfo tag as part of the
restorecon call which drops our need to rely on the contents
of packages.list.

Change-Id: Ie440cba2c96f0907458086348197e1506d31c1b6
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2014-03-28 12:24:29 -04:00
Adam Lesinski
55a655091a Merge "Reduce warning verbosity in aapt" 2014-03-27 20:55:14 +00:00
Craig Mautner
a282441038 Merge "Do not show Home behind full screen activity" 2014-03-27 20:01:11 +00:00
Colin Cross
f0ffa8a38e Merge "app_process: use LOCAL_MULTILIB := both" 2014-03-27 17:26:08 +00:00
Colin Cross
f130f0aaea app_process: use LOCAL_MULTILIB := both
Use LOCAL_MULTILIB := both to build app_process64 instead of
duplicating the build rule.

Also causes PRODUCT_PACKAGES := app_process to install both
versions on 64-bit platforms, as the module names for both
app_process and app_process64 are now app_process.

Change-Id: Ia3c3265d15475771b0cae8bace53b8fbf351c186
2014-03-27 10:20:29 -07:00
Olivier Gay
d2923266ae Add support for additional international keyboard mappings
Add kcm mapping files for Arabic, Greek, Hebrew, Lithuanian
and Spanish (Latin).

Change-Id: I35cb2a4d6e016c6f565fba05710ba1626452fe68
Signed-off-by: Olivier Gay <ogay@logitech.com>
Signed-off-by: Manuel Carthoblaz <mcarthob@logitech.com>
Signed-off-by: Mathieu Meisser <mmeisser@logitech.com>
2014-03-27 17:49:52 +01:00
Narayan Kamath
cd3f60f303 Merge "AArch64: Make frameworks/base code more portable" 2014-03-27 12:30:53 +00:00
Ashok Bhat
f5df700e6c AArch64: Make frameworks/base code more portable
Changes in this patch include

[x] Use %zu for size_t, %zd for ssize_t

[x] Some minor changes have been done to conform with
    standard JNI practice (e.g. use of jint instead of int
    in JNI function prototypes)

Change-Id: Id1aaa7894a7d0b85ac7ecd7b2bfd8cc40374261f
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2014-03-27 12:30:42 +00:00
Yevgen Pronenko
0fd4c656d0 Do not show Home behind full screen activity
When ensureActivitiesVisibleLocked goes through foreground activity
stack and reaches non-fullscreen activity, it sets showHomeBehindStack
variable to true.

If there is a fullscreen activity behind, showHomeBehindStack remains
unchanged, which causes Home application to be displayed anyway.
In this case user will see a fullscreen activity and Home activity
simultaneously.

To fix the issue we set showHomeBehindStack to false when we reach
fullscreen activity in the activity stack.

This was made visible by the following commit:
446ef1de8d373c1b017df8d19ebf9a47811fb402

Change-Id: I535c1283a4e26f5cf606375b837d4b7195324af0
2014-03-27 07:54:37 +01:00
Kenny Root
57f2764bf1 Merge "CertificateChainValidator: initialize TrustManagerFactory" 2014-03-26 22:51:52 +00:00
Mark Salyzyn
5daf51c0fe Merge "jni: 64-bit compile issue" 2014-03-26 19:52:11 +00:00
Mark Salyzyn
aeb75fc5a3 jni: 64-bit compile issue
- switch to PRId64
- some unused parameter warning suppression

Change-Id: Ia36bd1a247bb6e866a6b1050ab1362ebc9d31786
2014-03-26 11:28:45 -07:00
Nick Kralevich
491eaf2255 Merge "Note libselinux dependency on packages.list format changes." 2014-03-26 15:41:14 +00:00
Kenny Root
587a9455de CertificateChainValidator: initialize TrustManagerFactory
Need to call TrustManagerFactory#init before use. I suspect this class
isn't used anywhere since this hasn't caused a problem yet.

Change-Id: I17425d0bba4795d71960062361a755830abba7de
2014-03-26 08:40:45 -07:00
Stephen Smalley
e6e25554d3 Note libselinux dependency on packages.list format changes.
Change-Id: I3c34a86f5706c4fca826a8634936131e4e4fc297
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-03-26 09:19:12 -04:00
riddle_hsu
739e194121 DO NOT MERGE - [ActivityManager] Ensure consistency behavior when a background activity brings another existed activity to front.
Symptom: ANR occurs on previous activity.
Root Cause:
In KK, when a background activity starts another existed background activity (bring to front),
if current focused stack is not the same as the stack of target starting activity,
it will still resume the top of target stack, even the top activity on the target stack may not the same as target activity.
And it will result incorrect focus, press back key will send to previous stack's top then popup ANR on previous activity:
"Reason: Waiting because no window has focus but there is a focused application".

By original code comment, it looks 'bring to front' should not happen in this issue case.
// If the target task is not in the front, then we need
// to bring it to the front...  except...  well, with
// SINGLE_TASK_LAUNCH it's not entirely clear.  We'd like
// to have the same behavior as if a new instance was
// being started, which means not bringing it to the front
// if the caller is not itself in the front.

If the caller and target are in the same stask, it will just deliver new intent without changing task order (the same behavior as JellyBean).
So the patch concept is just to avoid to use target stack to resume top when caller and target are in different stack.

Solution: Do not allow to resume another stack top if non-top activity try to bring existed activity to front.
It may not be a good solution, just a reminder for the issue case.

Reproduce steps:
Assume A, B, C are different app tasks.
When the application stack is like:
  Top C
      B
      A

 #Case 1: Home is foreground
  A starts B with NEW_TASK, C will resume, focus still stays at Home, and window order does not update.
  Then press back key or volumn key will result ANR on Home.

 #Case 2: App is foreground (Resumed activity is C)
  A starts Home, Home will resume, focus still stays at C, and window order does did not update.
  Then press back key or volumn key will result ANR on C.

Change-Id: If05070123b248e2335791e43a4d4ddee6db11d84
2014-03-26 20:43:17 +08:00
Chris Craik
80470cdf6c Merge "Solve three memory leaks related to PatchCache" 2014-03-25 20:11:33 +00:00
Michael Lekman
89bc413b8f Marquee text RTL improvements
Changed marquee text to scroll according to
the reading direction. Arabic text will
show the right edge and scroll towards
the left edge and vice versa for Latin.

Corrected marquee flicker when scroll animation
finished. The ghost scroll's x position was cast
to int and it made the text flicker when
marquee stops.

Ghost part didn't display for RTL languages.
Added multiplication with
getParagraphDirection to negate the ghost
offset.

Change-Id: I689039118df01a62f73ef0079c857fea1bfcc5a0
2014-03-25 18:03:34 +00:00
Kenny Root
77ceb5e8f1 Merge "Use X509ExtendedTrustManager and not Conscrypt" 2014-03-25 17:06:55 +00:00
Craig Mautner
2cacc619d6 Merge "Don't wait for finishing animation when second display is disconnected" 2014-03-25 17:01:28 +00:00
Narayan Kamath
5f0d44f697 Merge "Fix scaleNinePatch." 2014-03-25 13:56:51 +00:00
Ashok Bhat
136c08a7d3 Cast CallMethod's size_t parameters to jint
This will avoid problems caused by automatic type
promotion of parameters when passed to a variadic function.

Change-Id: I9340cf4bc3afcb84ebb2843d2aaa1e832b0df7f4
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-03-25 10:39:13 +00:00
Koji Fukui
39f7068ed9 Don't wait for finishing animation when second display is disconnected
Basically WindowManagerService wait for finishing animation when
a window is removed. But when second display is disconnected, windows
on second display can't be shown even if animation is waited for.
On the contrary, it keeps on waiting for finishing the animation
in special case.

With this fix windows are immediately removed without waiting for
animation when second display is disconnected.

Change-Id: I1354c193c04db394a21a11c174e10c8e7da17a0e
2014-03-25 11:25:32 +09:00
Jens Gulin
6056e10271 Solve three memory leaks related to PatchCache
A Patch can be fairly large, holding bitmap data, but
is also frequently leaked which adds to the severity.
The feature is used in many important processes such
as Home, SystemUI and Chrome.

The following leaks are solved:

1. The Patch itself was not always freed.
PatchCache::removeDeferred() can mark patches to be
cared for by PatchCache::clearGarbage(). But
mCache.remove() would only destroy the container
and the pointer, not the Patch object itself.

2. The vertices stored in the Patch at Patch::createMesh()
would always leak. The empty/default destructor in Patch
would not properly destroy "vertices" since it's just a
pointer.

3. A BufferBlock that's added to the mFreeBlocks
in PatchCache could leak. The leak happened when a
patch later needed the entire free block, because the
object was removed from the list but never deleted
in PatchCache::setupMesh().

Change-Id: I41e60824479230b67426fc546d3dbff294c8891f
2014-03-25 09:37:02 +09:00
Kenny Root
da776c872e Use X509ExtendedTrustManager and not Conscrypt
This allows the new X509ExtendedTrustManager to be used instead of
Conscrypt directly.

Bug: 13103812
Change-Id: I736f475342395f26657f2371828a6d3a0065a50a
2014-03-24 17:05:22 -07:00
Ashok Bhat
1b20424cf0 Removed android.debug.JNITest from preloaded-classes
android.debug.JNITest class no longer exists in this
project. This patch updates preloaded-classes accordingly
to avoid spurious warning during boot.

Change-Id: Ia4a5a1858f6c87fbc594a623adb95454334361ea
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
2014-03-24 20:21:04 +00:00
Adam Lesinski
e119b22146 Reduce warning verbosity in aapt
- Attributed source of problems to the correct file.
- Only verify string localizations against valid
  locales.
Bug:13140015
Change-Id: I9dabc5efa0510649caee8af0c8ebb803d6f48269
2014-03-24 10:50:34 -07:00
Craig Mautner
557a93e104 Merge "Set ScreenshotSurface secure if any secure content is shown." 2014-03-24 14:31:38 +00:00
Narayan Kamath
02eb6bfd66 Fix scaleNinePatch.
Use yDivs for yDivs, and not xDivs.

bug: 13394494

(cherry picked from commit 42a51ae8812bccde7ff370cc2688f7955e489ad4)

Change-Id: Ia0a7d701a170945216ab247a483e7f972b6fe17e
2014-03-24 12:35:01 +00:00
Alex Klyubin
88517170cb Merge "Adjust to the change in the private SSLParameterImpl API." 2014-03-21 18:36:08 +00:00
Alex Klyubin
a2507e8764 Adjust to the change in the private SSLParameterImpl API.
Conscrypt's SSLParameterImpl getDefaultTrustManager was renamed to
getDefaultX509TrustManager.

Bug: 13563574
Change-Id: I601c651d631f5a2e4a04d21941186553988e5286
2014-03-21 11:13:50 -07:00
leo_hsu
82a91631d5 [ActivityManager] Fix a bug: unable to start activity after starting activities during screen off.
Symptom: Unable to start any activity.
Root Cause: ActivityStack.mPausingActivity() points to a destroyed activity of a died process, so that ActivityStackSupervisor.allPausedActivitiesComplete() always returns false.
Solution: Set mPausingActivity to null in ActivityStack.cleanUpActivityLocked().
Reproduce steps:
    a. Turn screen off.
    b. A background service starts an activity X (in process X).
    c. A background service starts a no-history activity Y (in process Y), but the main thread of Y was blocked.
    d. A background service starts Y 3~4 times --> this causes am_failed_to_pause on X.
    e. Main thread of Y is freed finally --> this causes Y crash for android.view.WindowManager$BadTokenException.
    f. Turn screen on, X is shown on screen, but neither back key nor home key can work because mPausingActivity is Y.

Change-Id: I320b3db407e2d4cc745c8ca22a6e548742234242
2014-03-21 12:27:16 +08:00