Commit Graph

13283 Commits

Author SHA1 Message Date
Narayan Kamath
56a8f8b48f resolved conflicts for merge of 439145f0 to klp-modular-dev-plus-aosp
This isn't a straightforward conflict resolution. This code
has changed significantly. mSafeMode is now a flag on the activity
manager service, and is set when SystemServer calls enterSafeMode.

Change-Id: I1e8ff524566c5e44bb6bf3b138cdebb70004aca3
2014-03-31 14:10:53 +01:00
Narayan Kamath
439145f0e7 am ab561f5b: Merge "Don\'t make isSafeMode a field on the Zygote class."
* commit 'ab561f5b4073055c414866ff3dbe8372263474a7':
  Don't make isSafeMode a field on the Zygote class.
2014-03-31 12:42:14 +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
Craig Mautner
155e313340 am d511bc17: Merge "[ActivityManager] Fix a bug: unable to start activity after starting activities during screen off."
* commit 'd511bc17d614b1291f1b85f84180c1db157d2790':
  [ActivityManager] Fix a bug: unable to start activity after starting activities during screen off.
2014-03-28 22:16:38 +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
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
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
Craig Mautner
a282441038 Merge "Do not show Home behind full screen activity" 2014-03-27 20:01:11 +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:
446ef1de8d

Change-Id: I535c1283a4e26f5cf606375b837d4b7195324af0
2014-03-27 07:54:37 +01: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
Craig Mautner
e6e9b14c99 am 9bbd2f97: am 2cacc619: Merge "Don\'t wait for finishing animation when second display is disconnected"
* commit '9bbd2f977ba4d6c4642f96673f937a677ff0beb2':
  Don't wait for finishing animation when second display is disconnected
2014-03-25 17:26:28 +00:00
Craig Mautner
df7da51311 am ca903d38: am 81e094d7: Merge "Move task to top in window manager." into klp-dev
* commit 'ca903d3809ccd78b73b634ff7591863dbed55823':
  Move task to top in window manager.
2014-03-25 17:02:13 +00:00
Craig Mautner
81e094d76b Merge "Move task to top in window manager." into klp-dev 2014-03-25 16:48:38 +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
Matthew Williams
5805ca5ef5 am 4701b51a: am bb87ac7f: DO NOT MERGE: Downgrade expedited to normal on reschedule.
* commit '4701b51af216ce2b6fa9fa508ebba47bf13063c7':
  DO NOT MERGE: Downgrade expedited to normal on reschedule.
2014-03-24 22:44:59 +00:00
Matthew Williams
bb87ac7f97 DO NOT MERGE: Downgrade expedited to normal on reschedule.
bug: 12033540
Expedited was previously tracked by a redundant internal variable, ostensibly
as an optimisation. This variable could differ from the value in the bundle
depending on how the operation is initialised, which led to confusion. Now an
expedited sync will only be treated as such on its first execution.

Change-Id: Ibfc4e9e49b86c82f2364a6ef55f887705a053eb6
2014-03-24 14:42:06 -07:00
Craig Mautner
3837ded2ff am 103ed355: am 557a93e1: Merge "Set ScreenshotSurface secure if any secure content is shown."
* commit '103ed3558764f1fd41c9a5399e2030baa4110bfb':
  Set ScreenshotSurface secure if any secure content is shown.
2014-03-24 14:38:37 +00:00
Chad Brubaker
ecdbb6a5a3 am eb3c0d9a: am 1aad3ad4: Merge "Fix support for simultaneous VPN tuns" into klp-dev
* commit 'eb3c0d9ac387bb0aea5b4956daac1403253bc76d':
  Fix support for simultaneous VPN tuns
2014-03-21 23:09:24 +00:00
Chad Brubaker
aa5a99b3b8 am 1fce89d9: am de4e7b49: Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev
* commit '1fce89d946760a1bcf3a733f55494f963eab00c2':
  Include the interface for clearDnsInterfaceForUidRange
2014-03-21 23:09:21 +00:00
Chad Brubaker
1aad3ad4ec Merge "Fix support for simultaneous VPN tuns" into klp-dev 2014-03-21 20:52:14 +00:00
Chad Brubaker
de4e7b4947 Merge "Include the interface for clearDnsInterfaceForUidRange" into klp-dev 2014-03-21 20:52:05 +00: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
Jinsuk Kim
f2fecf48f7 am c61f4dd7: Merge "Add HDMI-CEC service" into klp-modular-dev
* commit 'c61f4dd744b1b0396703aa58eb22fc31d2b7050e':
  Add HDMI-CEC service
2014-03-21 02:37:00 +00:00
Jinsuk Kim
c61f4dd744 Merge "Add HDMI-CEC service" into klp-modular-dev 2014-03-21 02:32:38 +00:00
Mike Lockwood
4475a36804 am 71060db6: am dffdf107: Merge "UsbDeviceManager: A better fix for race condition when starting USB accessory mode" into klp-dev
* commit '71060db65e0e1c903b429c932cd6e27beec10a3e':
  UsbDeviceManager: A better fix for race condition when starting USB accessory mode
2014-03-21 01:14:18 +00:00
Mike Lockwood
0796ba8d76 am 935d417b: am afc3a5d3: Merge "Revert "UsbDeviceManager: Fix race condition between accessory start and USB configured uevents"" into klp-dev
* commit '935d417b5615a62bc521a8eb58c35de1b4fdf841':
  Revert "UsbDeviceManager: Fix race condition between accessory start and USB configured uevents"
2014-03-21 01:14:15 +00:00
Mike Lockwood
d8be49089f UsbDeviceManager: A better fix for race condition when starting USB accessory mode
On some devices, the USB "set configuration" command is propogated to the framework
after the "start accessory" event is received.  However, on other devices like
the 2011 ADK board, no "set configuration" command is sent at all until we have
reenumerated in acccessory mode.  To fix the original problem without breaking other
devices, we can simply remove assumptions about if or when "set configuration"
will be received.  Now we simply remain switch USB configuration to accessory mode
when we receive the "start accessory" command, and remain there until the existing
10 second timeout expires.

Bug: 13393825

Change-Id: I4c9e3423185bd7252a907e4568d9e3ff06044b7d
2014-03-20 12:36:51 -07:00
Mike Lockwood
205a3ea0e2 Revert "UsbDeviceManager: Fix race condition between accessory start and USB configured uevents"
This reverts commit fbd5521fb5.

This change broke support for the 2011 ADK board, which never sends a "set configuration"
command before "accessory start".  So we revert this change and will replace it with a better fix.

Bug: 13535051
Bug: 13393825

Change-Id: Icd870d7ff6daff1567e04d93907f70f5d7e37884
2014-03-20 12:36:34 -07:00
Craig Mautner
97024321fc Move task to top in window manager.
In certain situations it was possible for a task to move to the top
in activity manager but not in window manager. This resulted in
the task appearing behind the launcher icons.

Fixes bug 13410184.

Change-Id: If0582b395e126a8aff70a0e4c64b731083c6ae8a
2014-03-20 10:08:04 -07:00
Jim Miller
c96693b517 am 8e69abf8: am 46e63117: DO NOT MERGE - Fix memory leak caused by mismatched linkToDeath() in WindowManagerService
* commit '8e69abf8c62452e6e9bcd254a55a2d80c8ef5b3d':
  DO NOT MERGE - Fix memory leak caused by mismatched linkToDeath() in WindowManagerService
2014-03-20 16:37:48 +00:00
Jinsuk Kim
4f512fb451 Add HDMI-CEC service
This CL adds a system service handling HDMI-CEC protocol. The service
is equipped with the capability sending/receiving HDMI-CEC messages

Not all the messages are in place. Currently it has messages to support
a few features only, as follows:

- One touch play
- System information
- Routing control (partially - active source status maintenance only)
- Device OSD transfer
- Power status

It will be extended to cover the wider usages in the follow up CLs.

The CEC standard version referenced in the implementation is 1.3a.

Change-Id: Ifed0b02f52ebf098eddb3bd0987efbf353b7e8fe
2014-03-20 16:40:22 +09:00
Minoru Aoi
2b74a24a52 Set ScreenshotSurface secure if any secure content is shown.
The screenrecord command can record secure content during rotation.
This is because the ScreenshotSurface surface for rotation animation
is not set secure even though its screenshot contains secure content.

Change-Id: I5a70be71ddfc26de4230e7d4fe547210c2154210
2014-03-20 11:35:33 +09:00
Jim Miller
46e631178e DO NOT MERGE - Fix memory leak caused by mismatched linkToDeath() in WindowManagerService
This fixes a bug where an allocated DeathRecipient in WindowManagerService
was holding a reference to keyguard binder interface after a call to
linkToDeath() without a matchin unlinkToDeath().

It was causing the keyguard side of the binder interface to stick around,
which in tern prevented the keyguard side from releasing its references.

The solution is to ensure matching linkToDeath()/unlinkToDeath() calls.

Fixes bug 11982048

Change-Id: I6959816b819ba953512c53675162195cbf1e0653
2014-03-20 02:22:38 +00:00
Nick Kralevich
37c591036a am dd6b7495: am 83725810: Merge "Get rid of noise during boot."
* commit 'dd6b7495577eca7a00aa37bfdca3449cf1443681':
  Get rid of noise during boot.
2014-03-20 01:53:08 +00:00
Dianne Hackborn
0aa5163c13 Get rid of noise during boot.
This log is not an error, it is a warning, don't spam a stack
crawl when it happens.

Change-Id: I6038e3625cc0c16af9e54887b5e7ec451d9f864d
2014-03-19 18:34:52 -07:00
Craig Mautner
674dd27ca1 am 1888333d: am d4375b47: Merge "Fix loop limits." into klp-dev
* commit '1888333d7e814d6681a327cf1f3eda10098e3620':
  Fix loop limits.
2014-03-19 21:46:18 +00:00
Craig Mautner
d4375b4713 Merge "Fix loop limits." into klp-dev 2014-03-19 21:37:07 +00:00
Craig Mautner
b4998eec3c Fix loop limits.
Fixes bug 12207606.

Change-Id: I9b450d2bc2a72a1f6581147f8930188f34c85299
2014-03-19 14:09:59 -07:00
Nick Kralevich
2d84aff4c7 am e75d340a: am 5c8e1a6e: Merge "Allow PMS to restorecon directories under /data."
* commit 'e75d340ae5919942d19f57856ae9e3f8bc62e098':
  Allow PMS to restorecon directories under /data.
2014-03-19 20:23:51 +00:00
Robert Craig
4385343fd8 Allow PMS to restorecon directories under /data.
This change applies a relabel to both /data/data and
/data/user directories on boot. Not every boot will
apply this relabeling however. The appropriate
seapp_contexts is hashed and compared to
/data/system/seapp_hash to decide if the relabel
should occur.

Change-Id: I05e8b438950ddb908e46c9168ea6ee601e6d674f
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2014-03-19 17:37:37 +00:00
Robert Greenwalt
2ba56b4f02 am bd84f01c: am 5d3d4ee3: Merge "Handle provisioning APN by turning off/on data." into klp-dev
* commit 'bd84f01c6ce122ab58fc7c5b687dc8bfb0fb03e6':
  Handle provisioning APN by turning off/on data.
2014-03-19 16:20:20 +00:00
Robert Greenwalt
5d3d4ee300 Merge "Handle provisioning APN by turning off/on data." into klp-dev 2014-03-19 16:12:01 +00:00
Dan Sandler
27d38d5ee4 am 95a7829c: am b78dc69c: Merge "DO NOT MERGE: Maintain binding to crashed listeners." into klp-dev
* commit '95a7829c270fb63ce9255cc9956a3a9b778cc8a2':
  DO NOT MERGE: Maintain binding to crashed listeners.
2014-03-19 13:15:06 +00:00
Dianne Hackborn
d906bc14b0 am d1d91eca: am 7cb1dfe6: Merge "Insufficient ProcessRecord cleanup when persistent process is killed"
* commit 'd1d91eca3e78f2074b110a0e3530aeff6deef6fe':
  Insufficient ProcessRecord cleanup when persistent process is killed
2014-03-18 18:36:43 +00:00
Wink Saville
c8e8e3eba6 Handle provisioning APN by turning off/on data.
This is a start and two tests succeed:

Tested expired AT&T SIM and waiting 15min for alarm to fire.
Tested a provisioned Verizon SIM and works normally.

I've NOT tested AT&T where I've properly completed the provisioning.
I've NOT tested T-Mobile SIM either provisioned or not-provisioned.
I've NOT tested provisioning over WiFi.
I've NOT tested that WiFi <-> Mobile works
I've NOT tested voice calls, SMS, MMS
...

The current bug is below, but it is poorly named either it should be
renamed or a new bug created.

Bug: 13190133
Change-Id: I0a09f642614cd27a8655e9dae764b8999ce485b8
2014-03-18 10:58:40 -07:00
Akira Numata
eff08c4ffe Insufficient ProcessRecord cleanup when persistent process is killed
When persistent process with Service restarts, ActivityManagerService
does not reset ProcessRecord#hasClientActivites to false
(because ProcessRecord of persistent process is continued using
after killing).

It disturbs updating LRU list in ActivityManagerService, and then,
when new process calls ActivityManagerProxy#publishContentProviders,
SecurityException happens because of no entry in the list.

Bug: 13517358

Change-Id: I46b064f71a4f7025ade1bf117801352a7ab22e6a
2014-03-18 05:41:30 +00:00
Dan Sandler
4d460833b9 DO NOT MERGE: Maintain binding to crashed listeners.
Adapted from change I44ce250e, "Maintain binding to crashed
listeners from NotificationManagerService.":

> This fixes the logic on the death handlers for notification
> listeners, and doesn't unbind from the listener services so
> that the system will bring them back up again.

Bug: 12587702
Change-Id: I41d0c6733046ee9760bcfae4407e754592b805ea
2014-03-17 20:10:50 +00:00
Adam Lesinski
d8e585e7e5 am 006209c2: Merge "Remove reflection instantiation of Accessibility" into klp-modular-dev
* commit '006209c2fc1b6deef10f6d52831e9cef35cca212':
  Remove reflection instantiation of Accessibility
2014-03-17 19:58:19 +00:00
Adam Lesinski
6c6cd5012b Remove reflection instantiation of Accessibility
Accessibility is mandatory so reflection is not required.

Change-Id: Ie5c7b0bba26809425fe0f66efcc09c333138b21f
2014-03-17 12:54:03 -07:00