Commit Graph

13288 Commits

Author SHA1 Message Date
Colin Cross
d01adef1ba am 1f060a17: Merge "GpsLocationProvider: look for config file in /etc/gps.<ro.hardware.gps>.conf"
* commit '1f060a178d9e69f8c08ccad5d7e0ef8fb22ddf8e':
  GpsLocationProvider: look for config file in /etc/gps.<ro.hardware.gps>.conf
2014-07-11 01:44:31 +00: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
Robin Lee
1f0180bfa8 am 74803e55: Merge "Make misc config directory during user creation"
* commit '74803e559caffe235b86dc52cf76ef98343c0d74':
  Make misc config directory during user creation
2014-07-09 17:39:13 +00:00
Craig Mautner
6d6d218962 am 08881385: Merge "[ActivityManager] Prevent potential deadlock from system error dialog and InputMethodManager."
* commit '08881385a86bf887669a555ae03759c374ec9c50':
  [ActivityManager] Prevent potential deadlock from system error dialog and InputMethodManager.
2014-07-07 21:19:45 +00:00
Craig Mautner
a7f02a5cda am ef2e7667: Merge "[ActivityManager] Avoid keeping restarting home when only home activity exists."
* commit 'ef2e76675a6c60a2a4764a2e19fdb2c4d9beb00e':
  [ActivityManager] Avoid keeping restarting home when only home activity exists.
2014-07-07 17:23:06 +00:00
Craig Mautner
09c1af5d5c am c66da9d6: Merge "[ActivityManager] Prevent kill a restarted process again."
* commit 'c66da9d606fa3091540bc4c51c2904cc949bf777':
  [ActivityManager] Prevent kill a restarted process again.
2014-07-07 15:36:33 +00:00
Craig Mautner
7611a5d328 am 5acdd0f6: Merge "[ActivityManager] Ensure alive process is not killedByAm."
* commit '5acdd0f67db9b5f41a89dfb5200f37d6f5f984ec':
  [ActivityManager] Ensure alive process is not killedByAm.
2014-07-07 15:00:47 +00:00
Craig Mautner
c66da9d606 Merge "[ActivityManager] Prevent kill a restarted process again." 2014-07-06 03:24:06 +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
riddle_hsu
a4f1f8a239 [ActivityManager] Prevent kill a restarted process again.
Root Cause:
Use removeTask with flag ActivityManager.REMOVE_TASK_KILL_PROCESS will set waitingToKill = "remove task"
to the target process when its setSchedGroup is not BG_NONINTERACTIVE.
Later the target process may be killed when applying oom-adj due to setSchedGroup has changed to BG_NONINTERACTIVE.
If the process is needed to restart, the process record will be resued.
Then the restarted process may be killed again because its waitingToKill is not null.

Solution:
Clean waitingToKill when process is dead.

Change-Id: I5ffb5388127f4221da4c700d3f1c224f7ca6e7b2
2014-07-04 12:19:41 +08:00
riddle_hsu
abc69e93d6 [ActivityManager] Ensure alive process is not killedByAm.
Symptom: Unable to kill by Am again and will be skipped updating its oom adj.

Root Cause:
A restarted process will reuse original process record.
The flag killedByAm will keep previous state.

Solution:
Reset the flag killedByAm to false when the process is started.

Note: Found another similiar patch If95137d91939cc44882ad2813131bcde0edd0c1b


Change-Id: I59a86648ca8d0aed4c489d92751af120aae5ef90
2014-07-04 13:33:19 +00:00
Robin Lee
74803e559c Merge "Make misc config directory during user creation" 2014-07-02 20:49:53 +00:00
Craig Mautner
ef2e76675a Merge "[ActivityManager] Avoid keeping restarting home when only home activity exists." 2014-07-02 20:49:53 +00:00
riddle_hsu
3145b24902 [ActivityManager] Avoid keeping restarting home when only home activity exists.
Root Cause:
When there is only home activity existed,
updating home apk will call forceStopPackageLocked to finish the activity.
Then activity history becomes empty, then home will be launched,
but its package is still target to close that results a loop.

Solution:
If home activity has been force-stopped, do not stop the same home activity again.

Change-Id: Icff12028d407873c2e6f50a06bcad231b908ccbd
2014-07-04 17:01:56 +08:00
Narayan Kamath
e2840977d3 am 6e84f8c1: Merge "Fix native crashes when APKs can\'t be opened."
* commit '6e84f8c1b9c72ab6e1eb189358292237dbe1efe8':
  Fix native crashes when APKs can't be opened.
2014-07-02 12:12:18 +00:00
Nick Kralevich
d172419e9a am 9b1a7d45: Merge "Allow different SELinux policies for third party apps."
* commit '9b1a7d4570dd692cf86c385dfcdf057ad966fa57':
  Allow different SELinux policies for third party apps.
2014-07-01 21:13:12 +00:00
Robert Craig
83b54ecab7 Allow different SELinux policies for third party apps.
Prior support forced all third party apps
to be resolved against the default stanza
of the mac_permissions.xml file when assigning
seinfo labels. This meant that all third party
apps, in effect, were untrusted regardless of
cert and therefore received the same selinux domain.
This also had the unfortunate side effect of forcing
certain third party apps into the wrong domains
because of shared userid requests among apps.

This patch removes that restriction and instead
allows all apps, regardless of location, to be
matched against the full mac_permissions.xml
policy file. This then allows all apps signed
with known good certs to receive the same selinux
domains of other apps with whom they share trust.

Change-Id: Iba569c046135c0e81140faf6296c5da26a243037
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2014-07-01 13:53:11 -07:00
Narayan Kamath
6e84f8c1b9 Merge "Fix native crashes when APKs can't be opened." 2014-07-01 17:48:27 +00:00
Narayan Kamath
ec4516470d Fix native crashes when APKs can't be opened.
There was lax / incomplete error checking around the
construction of Apk handles. This change changes the ApkHandle
API and makes it throw IOException if the zipfile couldn't
be opened.

Additionally :
- Fix a resource leak in DefaultContainerService
- Report errors correctly during package moves.

bug: 15563874
Change-Id: Ic71a10709eb82b8f53405bbfb2320e80aa96b771
2014-06-30 17:14:29 +01:00
Narayan Kamath
22a32d8837 am 2a0f9e6a: Merge "Explicitly list out the list of cache subdirs to prune."
* commit '2a0f9e6a523abc28bdbc249010f5ddd184a27730':
  Explicitly list out the list of cache subdirs to prune.
2014-06-24 12:14:12 +00:00
Narayan Kamath
2a0f9e6a52 Merge "Explicitly list out the list of cache subdirs to prune." 2014-06-24 06:33:30 +00:00
Jianzheng Zhou
78c8e7c8bf DO NOT MERGE refactor wifi p2p's startDhcpServer function
Add getTetheredDhcpRanges() interface and call it before calling
mNwService.startTethering() to update dhcp ranges. This will allow p2p app
to run well concurrently with other tethering app(e.g. usb tethering).

Change-Id: I5e8ffeb5d2d396f48b897cd9396f133e25ecca57
Signed-off-by: Jianzheng Zhou <jianzheng.zhou@freescale.com>
2014-06-23 21:02:45 +00:00
Brian Carlstrom
0924ef6592 Merge "Treat missing package usage data as a separate case" 2014-06-21 03:13:40 +00:00
Danny Baumann
ec4e780e5c Fix frontOfTask assignment.
If all activities of a given stack were finishing, no activity was
marked as front-of-task. This confused ActivityManager, so make sure
there's always exactly one activity marked as front-of-task.

Change-Id: I087cbe10280d4a60aa5ccfaefe24a223523fb3f2
2014-06-23 08:43:37 +02:00
Brian Carlstrom
0547ce55eb Treat missing package usage data as a separate case
Bug: 15520936
Change-Id: I8e1c6921973f84af7ee94de91721cc4a3436ebaf
2014-06-20 12:53:19 -07:00
Narayan Kamath
8df5bd08c2 Explicitly list out the list of cache subdirs to prune.
We don't want directories like profiles and the former
profile-cache from being included in the prune. SELinux would
have prevented the move, but that's very brittle.

bug: 15677279

Change-Id: I2ff5db056757ffacaf108bb07b02dc0cac7172dd
2014-06-17 13:07:45 +01:00
Narayan Kamath
5b95e02684 Move dex file pruning to installd.
Companion change for commit 7dbf95cd7606e22267
in frameworks/native.

bug: 14407732
Change-Id: I520aa3950fb6b87c7ca5a805e597d734496407d3
2014-06-16 13:59:21 +01:00
Riley Spahn
5f5cf5f670 Add service_contexts to policy update bundles.
Add service_context file to SELinuxPolicyInstallReceiver
to allow updating.

Bug: 12909011
Change-Id: Ic0ad89958cc750413787d57e0f51363212a8730b
2014-06-12 20:46:34 +00:00
Robin Lee
94ca179eca Make misc config directory during user creation
Directories will appear in /data/misc/user/XX, readable only by
applications within that user.

Change-Id: I0adb14deb1a035abdbe51714356bd0c94ccf04c5
2014-06-10 18:48:05 +01:00
Robin Lee
e46e600412 Merge "Assign AID_EVERYONE gid to newly-created processes" 2014-06-04 20:51:55 +00:00
Narayan Kamath
d47e38b634 Scan for renderscript files before deciding ABIs.
The presence of ".bc" files in an APK implies
incompatibility with any of the 64 bit ABIs.

bug: 14900093

Change-Id: I66ca339a9a149cb3b7e7b349033d80acdeb4140a
2014-06-03 12:58:35 +01:00
Narayan Kamath
6431d11cd4 Add an --abi argument to "pm install"
This allows callers to force an install to a particular
ABI. This is intended only for testing (and CTS) and is
not meant for usage by the installer package.

Change-Id: Icb1528c0cd35b1aa9323386cb35ff4aaba374fcb
2014-06-03 11:11:47 +01:00
Narayan Kamath
032c5c054c Merge "Log process abis during start." 2014-06-03 09:57:03 +00:00
Nick Kralevich
daa0ee137d am 4f8785f2: Merge "SELinuxMMAC additions to perform policy versioning checks."
* commit '4f8785f28e6305d427cc3e483248828c9b9b06a2':
  SELinuxMMAC additions to perform policy versioning checks.
2014-05-31 05:27:46 +00:00
Nick Kralevich
4f8785f28e Merge "SELinuxMMAC additions to perform policy versioning checks." 2014-05-31 05:25:14 +00:00
Nick Kralevich
89b88f2269 am 3a9835d4: Merge "Allow SELinuxPolicyInstallReceiver to update new policy files."
* commit '3a9835d4914bc959a37eefecf4d5d0d20852e3e7':
  Allow SELinuxPolicyInstallReceiver to update new policy files.
2014-05-31 05:09:37 +00:00
Nick Kralevich
3a9835d491 Merge "Allow SELinuxPolicyInstallReceiver to update new policy files." 2014-05-31 05:07:13 +00:00
Narayan Kamath
b9b31f4b8e am bd4d3203: Merge "Support an ABI flag for instrumentation."
* commit 'bd4d320344833ce67dad3a4e10a61d0502a81d0e':
  Support an ABI flag for instrumentation.
2014-05-30 10:41:24 +00:00
Narayan Kamath
bd4d320344 Merge "Support an ABI flag for instrumentation." 2014-05-30 10:35:29 +00:00
Narayan Kamath
246469a355 Log process abis during start.
Adds to the info log that the activity manager emits
during every app launch.

Change-Id: Icd442334cb0e0e0fd0cc529c6b9c315a47d4aadc
2014-05-29 18:04:57 +01:00
Brian Carlstrom
452c592191 am 197565e0: Merge "Move to dalvik.vm.lib.2 to force default to libart"
* commit '197565e0e800be3c731e679914f40afa1aab98fd':
  Move to dalvik.vm.lib.2 to force default to libart
2014-05-28 22:31:39 +00:00
Brian Carlstrom
5bc93866b0 Move to dalvik.vm.lib.2 to force default to libart
Bug: 14298175

(cherry-picked from commit 2ef5abb8d534f016582d6023054cbe69d8114b6b)

Change-Id: Icd91982c09076e87092906106cbff4a81589e8de
2014-05-28 14:53:40 -07:00
Dmitriy Ivanov
2137d6a843 am d5ee4144: Merge "Increase start timeout for wrapped process"
* commit 'd5ee4144c4beae54219e1b8eb10418b02dd4a63b':
  Increase start timeout for wrapped process
2014-05-23 02:35:42 +00:00
Colin Cross
0246363b22 GpsLocationProvider: look for config file in /etc/gps.<ro.hardware.gps>.conf
The property ro.hardware.gps can be specifid to allow a single system
image to work with differrent GPS chips.  The HAL layer will use it to load
/system/lib/hw/gps.<ro.hardware.gps>.so.  Add support to GpsLocationProvider
to use the same property to find /etc/gps.<ro.hardware.gps>.conf, falling
back to /etc/gps.conf if the property is not set or the file is not present.

Change-Id: Ib285c4d28b0d0be5e038a1e61822edd8bc6d97d9
2014-05-22 17:13:49 -07:00
Dmitriy Ivanov
c774dcee9d Increase start timeout for wrapped process
* apparently 300*1000 for valgrind is not enough
   (hammerhead aosp tot).

Change-Id: Ia3f26cb67d3aa0ebdec68f3c1a764bad5e7f4f95
2014-05-22 12:40:25 -07:00
narayan
ab3d85ab1a am 838b1e22: Merge "Fix NPE in PackageManagerService."
* commit '838b1e2215cbc27e77530f4c79124c088353e0e7':
  Fix NPE in PackageManagerService.
2014-05-21 20:17:52 +00:00
narayan
0cfe875ac5 Fix NPE in PackageManagerService.
Check that each package from the setting has
a parsed pkg before we attempt to perform dex-opt
on it. If it doesn't have a parsed package, adjust
the ABI in the settings, but don't perform dexopt.
It will be dexopted later if it's still active
based on the setting.

bug: 15081286

Change-Id: Ifb6d1d5efdc9c59b251731972afa951ad930d05c
2014-05-21 21:00:48 +01:00
Brian Carlstrom
e77a77d081 am ec71fed0: Merge "Improve ABI handling for shared user ids."
* commit 'ec71fed089965c4d731eaa90344849a1775f937a':
  Improve ABI handling for shared user ids.
2014-05-21 06:46:26 +00:00
Narayan Kamath
b851c89d22 Improve ABI handling for shared user ids.
The key improvement is that we need to keep track of
the package that's currently being scanned (this includes
new installs and upgrades of existing packages) and treat
it specially. If we didn't do that, In the case of upgrades
we would perform the shared UID calculation based on the ABI
of the old package, and not the current package.

This change also allows us to perform the CPU ABI calculation
before dexopt, which saves us from having to do it twice and
fixes a bug where we were using the wrong package path to
dexopt a package.

This also has the side effect of fixing 15081286.

bug: 15081286

Change-Id: I20f8ad36941fc3df29007f0e83ce82f38f3585c8
2014-05-20 14:09:12 +01:00
Narayan Kamath
deda5467f4 am a4fd1baa: Merge "Fail if we\'re unable to agree on an ISA for shared UIDs."
* commit 'a4fd1baac68dcd73957e0fca0c02089ecf9a268a':
  Fail if we're unable to agree on an ISA for shared UIDs.
2014-05-19 13:29:57 +00:00