184 Commits

Author SHA1 Message Date
Kenny Root
6dceb88f1c Allow forward locked apps to be in ASECs
We couldn't put forward-locked apps in ASEC containers before since we
didn't have any permissioned filesystems. This adds the ability for
forward-locked applications to be in ASEC containers.

This means that forward locked applications will be able to be on the SD
card now.

This change also removes the old type of forward-locking that placed
parts of apps in /data/app-private.  Now all forward-locked applications
will be in ASEC containers.

Change-Id: I17ae0b0d65a4a965ef33c0ac2c47e990e55707ad
2012-04-25 14:17:02 -07:00
Amith Yamasani
483f3b06ea Package restrictions per user
Packages can be enabled/disabled per user.
This requires maintaining stopped/launched states and
enabled / disabled components and packages per user.

Refactored pm.Settings and PackageSettingsBase to keep
track of states per user.

Migrated the stopped-packages.xml to users/<u>/package-restrictions.xml

Changed intent resolution to handle individual user restrictions.
Bunch of IPackageManager calls now have a userId argument.
Make AppWidgetService handle removals of packages.

Added some tests for pm.Settings and PackageManager.

Change-Id: Ia83b529e1df88dbcb3bd55ebfc952a6e9b20e861
2012-03-22 10:08:24 -07:00
Robert Greenwalt
470fd72a06 Log netd traffic nicely.
Create a LocalLog class for logging within a service for dumping in dumps.
Use it in the NativeDaemonConnector so we can get some insight into what
is happening in these lockups.

bug:5864209
Change-Id: I68ddc58847f3c8de613be9528570f8c3157d8274
2012-01-20 10:37:11 -08:00
Fredrik Roubert
da6aedf716 Test the correct return code from call to cryptfs.
This was broken in commit dd519fac9b79f36a27909149a90fce4321ed1c20
(certainly by mistake), in which Integer.parseInt(tokens[1]) was
errornously replaced with event.getCode().

Change-Id: Ic5af5a2ec5f321da21a4a5db25f6908462f6cae8
2011-12-20 18:47:33 +01:00
Jeff Sharkey
dd519fac9b Move native vold calls to varargs.
Uses argument escaping inside NativeDaemonConnector, using varargs
to separate boundaries.

Bug: 5472606
Change-Id: Ie107a90df7e2b3bd3eaaf04c8367248ab40136f4
2011-12-02 14:28:06 -08:00
Jeff Sharkey
31c6e4817f Move NativeDaemonConnector to varargs.
Perform uniform argument escaping inside NativeDaemonConnector, using
varargs to separate boundaries.  Also move to parsed NativeDaemonEvent
instances instead of raw Strings.

Bug: 5472606
Change-Id: I1270733e2b2eeb2f6b810240df82ab24d38ebf40
2011-11-29 12:09:06 -08:00
Christopher Tate
32418be49e Require device encryption password to perform adb backup/restore
This supersedes any backup-password that the user might supply.  Per
design, the device encryption password is also always used to encrypt
the backup archive.

The CL introduces two new strings, used for prompting the user for
their device encryption password rather than their settings-defined
"backup password" when confirming a full backup or restore operation.

Bug 5382487

Change-Id: I0b03881b45437c944eaf636b6209278e1bba7a9f
2011-10-13 12:29:32 -07:00
Ben Komalo
13c7197da8 Revert encryption mapping for device wipes.
External storage volumes that were emulated+encrypted needed to have
their encryption mapping removed so that it doesn't try to encrypt the
volume after formatting them.

This just wires through an argument through vold, and assumes that vold
will do the right thing even if there is no encryption mapping set.

Bug: 5017638
Change-Id: I858fae3d12cb415bc34637f520f71220ad9daaad
2011-09-09 14:44:40 -07:00
Ben Komalo
444eca2329 Expose getting encryptstate through IMountService
- this really just calls cryptfs cryptocomplete
- needed so that UI logic can present a factory reset option if
encryption screwed up

Bug: 3384231
Change-Id: I553de87f0d03a65851030c9c5266e85866d30fa6
2011-09-06 12:48:53 -07:00
Kenny Root
07714d41e5 Default disable watchdog for vold connection
cryptfs has long-running operations that cause the Watchdog to fire
reliably when encrypting the filesystem. Disable Watchdog on
MountService for this reason.

Change-Id: Id03f5f60c704dcd74a8696ad9f32b5fba5381731
2011-08-17 17:49:30 -07:00
Jeff Sharkey
fa23c5ae22 Add NativeDaemonConnector users to watchdog.
To catch instances where NativeDaemonConnector hangs while executing
commands, add users to system_server watchdog.  Also moved qtaguid
enabler to separate thread to prevent blocking systemReady().

Bug: 5145437
Change-Id: I4c6c1dc09864a1c05f9486a31faa1b366548e911
2011-08-10 13:42:01 -07:00
Ken Sumrall
18db5c5690 During encryption, don't throw exceptions for unknown vold state
This is a temporary fix until we get something better.  During the
encryption process, vold does not respond to commands because it is
blocked doing the encryption.  Because it doesn't respond, this code
times out, sets the state to null, and thows an exception.  For now,
just don't throw an exception if the device is encrypting.

Change-Id: I7e821ec2addd60475fb10834df533beccb2650fe
2011-07-15 20:24:17 -07:00
Kenny Root
4161f9b303 Add StorageVolume list to MountService dump
Change-Id: If2be6e420d9671032d2e7a66c71a6733e6e48ac8
2011-07-13 09:48:33 -07:00
Mike Lockwood
7a59dd2ce3 MTP: Return error if user tries to copy a file >= 4GB to a FAT32 file system
Bug: 4561836

Change-Id: I2bffb93b032038f6c220c24c752ccd7ca66c23a0
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-11 13:40:02 -04:00
Dianne Hackborn
292f8bc9d1 Plumb information from the framework about asec container size.
Change-Id: Ie0ec3cb6d463aefa341a8cbea80be790451ba5e3
2011-06-28 15:02:44 -07:00
Mike Lockwood
ecedfdc779 MountService: Use UsbManager to monitor USB state for mass storage
Change-Id: I50c15c1dc8a1ee4f41cac7de8df9529ff5da1053
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-17 19:49:05 -04:00
Mike Lockwood
8e8b280bd1 StorageVolume: Add allowMassStorage flag
Change-Id: I9d19e635bb06e50068d7e4e6919322bd5bb2e00f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-07 12:43:49 -07:00
Mike Lockwood
9fd4c6d3ae am 49b9449b: am d8d84708: am 988b6648: Merge "MountService: Add StorageVolume as extra in storage related broadcasts." into honeycomb-mr2
* commit '49b9449b6605c7b4f77f9a0635ba93f7dfa0ea47':
  MountService: Add StorageVolume as extra in storage related broadcasts.
2011-05-24 12:56:56 -07:00
Mike Lockwood
49b9449b66 am d8d84708: am 988b6648: Merge "MountService: Add StorageVolume as extra in storage related broadcasts." into honeycomb-mr2
* commit 'd8d8470825a637843d45a3b436e80a3b85f1dd11':
  MountService: Add StorageVolume as extra in storage related broadcasts.
2011-05-23 17:09:30 -07:00
Mike Lockwood
a5250c9392 MountService: Add StorageVolume as extra in storage related broadcasts.
Change-Id: I8e1a21ae233ba9812e58b363b59a66b260a01cbf
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-23 20:01:55 -04:00
Mike Lockwood
fa1e5561cc am 53b988ba: am 5a79cfd7: am 27ac64ec: Merge "StorageVolume: Add getStorageId() accessor" into honeycomb-mr2
* commit '53b988ba1842f40e595bb85f2ca055c24787e6dc':
  StorageVolume: Add getStorageId() accessor
2011-05-18 09:23:35 -07:00
Mike Lockwood
53b988ba18 am 5a79cfd7: am 27ac64ec: Merge "StorageVolume: Add getStorageId() accessor" into honeycomb-mr2
* commit '5a79cfd7518defdce1911cecbc2441bb0a057e54':
  StorageVolume: Add getStorageId() accessor
2011-05-17 16:49:40 -07:00
Mike Lockwood
fbfe555125 StorageVolume: Add getStorageId() accessor
This ID is used for MTP as well as per volume querying in the media provider.

Change-Id: Ic4fc986d972bd477730643f7e9450c390c0b3a4b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-17 17:19:37 -04:00
Mike Lockwood
8fa5b03c1b resolved conflicts for merge of fc4a3d37 to master
Change-Id: I40f603ba9330c3e882f4d58398095f4094725b21
2011-05-16 15:49:53 -04:00
Mike Lockwood
fc4a3d37ef am b822d246: am 0a93d875: Merge "StorageManager: Clean up and generalize storage configuration resources" into honeycomb-mr2
* commit 'b822d2464dc59056f736b0c49f0ac514c7cbb9d9':
  StorageManager:  Clean up and generalize storage configuration resources
2011-05-16 12:38:36 -07:00
Mike Lockwood
2f6a388553 StorageManager: Clean up and generalize storage configuration resources
Replace config_emulateExternalStorage, config_externalStorageRemovable,
config_externalStoragePaths, config_externalStorageDescriptions and
config_mtpReserveSpaceMegabytes resources with an XML resource file
to describe the external storages that are available.

Add android.os.storage.StorageVolume class

StorageManager.getVolumeList() now returns an array of StorageVolume

Change-Id: I06ce1451ebf08b82f0ee825d56d59ebf72eacd3d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-16 14:29:23 -04:00
Mike Lockwood
20c3561284 am 10fbba21: DO NOT MERGE MountService: Fix running media scanner at boot.
* commit '10fbba21e4827a1582d97aa99e4e8d772ce04920':
  DO NOT MERGE MountService: Fix running media scanner at boot.
2011-05-04 08:57:19 -07:00
Mike Lockwood
2572051c4f am 0aa5d7b7: DO NOT MERGE Fix deadlock in MountService
* commit '0aa5d7b7f225236ac8461d0b6835b9c6152a2699':
  DO NOT MERGE Fix deadlock in MountService
2011-05-04 08:57:12 -07:00
Mike Lockwood
a2a8419db8 am e3b498be: DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods
* commit 'e3b498be0ae05367e9b84f4fac2ac5cf57a6b091':
  DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods
2011-05-04 08:57:07 -07:00
Mike Lockwood
60c768d412 am 346a2d79: DO NOT MERGE MountService: Add support for multiple volumes
* commit '346a2d79ecd627e38bc7fc6874fb627995b8bc12':
  DO NOT MERGE MountService: Add support for multiple volumes
2011-05-04 08:56:55 -07:00
Mike Lockwood
10fbba21e4 DO NOT MERGE MountService: Fix running media scanner at boot.
Change-Id: Ia56573023f21fa067a14e7d3ac5a6dbd51ecc8a7
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-04 10:41:19 -04:00
Mike Lockwood
0aa5d7b7f2 DO NOT MERGE Fix deadlock in MountService
It is not safe to call into vold with a lock held on mVolumeStates
since we will receive events back from vold on a different thread.
So in the boot completed handler we make a copy of the volume list and
then call vold to mount volumes after releasing the lock

Change-Id: Iaadfb1b8be5567c8e228a8fbc69d4d483c8dc987
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-04 10:41:19 -04:00
Mike Lockwood
e3b498be0a DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods
Change-Id: I8ba7e56797b0106dafaa6388393e5c629f27e6e6
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-04 10:41:19 -04:00
Mike Lockwood
346a2d79ec DO NOT MERGE MountService: Add support for multiple volumes
Change-Id: I18527e78a1c04023ae7bc0f269eaac082eb48d7f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-04 10:41:19 -04:00
Mike Lockwood
91dd02c340 DO NOT MERGE MountService: Fix running media scanner at boot.
Change-Id: I67ff2ccde7e03143167b8c59726ffb741c96e028
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-03 21:03:56 -04:00
Mike Lockwood
b9135638c5 DO NOT MERGE Fix deadlock in MountService
It is not safe to call into vold with a lock held on mVolumeStates
since we will receive events back from vold on a different thread.
So in the boot completed handler we make a copy of the volume list and
then call vold to mount volumes after releasing the lock

Change-Id: Ic9836c2e1e8a5677d0c4e33476a72081f69823a0
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-03 21:03:56 -04:00
Mike Lockwood
d967f4664f DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods
Change-Id: I43d5c1730b340f1288b58012234b38f801001b71
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-03 21:03:55 -04:00
Mike Lockwood
f097fc2fee DO NOT MERGE MountService: Add support for multiple volumes
Change-Id: I45ee0e5735a6d72c635f6d22320e8b13bccc3847
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-03 21:03:55 -04:00
Mike Lockwood
80e0a416a6 MountService: Fix running media scanner at boot.
Change-Id: Ibd1111b7ec6380011cd10a56f11f891f2e16abc2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-04-05 10:22:25 -04:00
Mike Lockwood
84338c4559 Fix deadlock in MountService
It is not safe to call into vold with a lock held on mVolumeStates
since we will receive events back from vold on a different thread.
So in the boot completed handler we make a copy of the volume list and
then call vold to mount volumes after releasing the lock

Change-Id: I0dee91f09e4056132aaaf0fb0a663148c65db1e4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-04-05 10:07:53 -04:00
Mike Lockwood
cace13d72a Merge "StorageManager: Add getVolumeList() and getVolumeState() methods" 2011-04-04 17:39:21 -07:00
Mike Lockwood
47c5581ada Merge "MountService: Add support for multiple volumes" 2011-04-04 17:39:15 -07:00
Mike Lockwood
8fa5f804e2 StorageManager: Add getVolumeList() and getVolumeState() methods
Change-Id: Icf3301827dd27e8430bd44eaafde517a31ef035a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-04-04 18:54:03 -04:00
Mike Lockwood
7fa24aa8da MountService: Add support for multiple volumes
Change-Id: I4eaa781cf302c7aaae170af2489b6b29120c0b81
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-04-04 18:53:58 -04:00
Brad Fitzpatrick
37334c0f34 am 8f7aad14: am f7a34b15: am e558a000: Merge "Avoid crash in system server when mounting container"
* commit '8f7aad147d790b25bae7301827e070df72690341':
  Avoid crash in system server when mounting container
2011-04-04 15:28:48 -07:00
Brad Fitzpatrick
8f7aad147d am f7a34b15: am e558a000: Merge "Avoid crash in system server when mounting container"
* commit 'f7a34b15986f8c00bc6fb941a40f9acbe2c21aff':
  Avoid crash in system server when mounting container
2011-04-04 15:25:21 -07:00
Fredrik Helmer
a20c8ef471 Avoid crash in system server when mounting container
A race condition when mounting a container in PackageHelper may cause
the system_server to crash (uncaught exception). Calling methods are
prepared to handle null, so return null instead.

Change-Id: I852ee21a2d847e37d81c1b900c27ddf94ef24fcb
2011-04-04 14:38:24 +02:00
Kenny Root
cf0b38ca6e Split PackageManagerService into subclasses
Split PackageManagerService from one monolithic class with several inner
classes to several classes. This will help determining how its data
structures can be reshuffled to provide better separation of concerns.

Change-Id: Ic7571daebdcf13ce08e08f34204c5bbf4140139b
2011-03-22 16:17:57 -07:00
Dianne Hackborn
6482517101 Fix issue #3485923: Gmail crash
Allow application to try to recover if a surface OOM error
happens on the client side.

Change-Id: I0308bd99647a35e4bcac448340b7fc6330a828f6
2011-03-02 22:38:58 -08:00
Jason parks
d4796c823b am a2e765ef: Merge "Update the encryption password when the device password is changed." into honeycomb
* commit 'a2e765ef1ad2cb907a4ae0a93bb15e4764ebb59a':
  Update the encryption password when the device password is changed.
2011-01-29 12:04:11 -08:00