319 Commits

Author SHA1 Message Date
Dianne Hackborn
c1ff9b3255 am d485c76b: am c8e8a12b: Merge "Fix issue #3289835: NullPointerException in..." into gingerbread
* commit 'd485c76b5e09a8c311f8f129cbe5ec75499556be':
  Fix issue #3289835: NullPointerException in...
2010-12-20 11:33:27 -08:00
Dianne Hackborn
3ec27e06a7 Fix issue #3289835: NullPointerException in...
..PackageManagerService.grantPermissionsLP when updating system app

Change-Id: I36c1b96d2fe9a8737843d30f3a2669935fc281bb
2010-12-16 12:41:56 -08:00
Dianne Hackborn
ccc7141313 resolved conflicts for merge of 78e9f4cb to master
Change-Id: I1135361e6d66f524c3f349e2bf1f31bd4191c634
2010-12-13 14:55:25 -08:00
Dianne Hackborn
e4a5951925 Fix issue #3154576: battery stats checkin should include UID -> packages+ map
Includes some other small fixes to battery collection and a few
other things.

Output of package info looks like this:

5,0,i,uid,1000,com.android.settings
5,0,i,uid,1000,com.android.providers.subscribedfeeds
5,0,i,uid,1000,com.android.providers.settings
5,0,i,uid,1000,com.android.server.vpn
5,0,i,uid,1000,android
5,0,i,uid,1000,com.android.systemui
5,0,i,uid,1000,com.google.android.backup
5,0,i,uid,1001,com.android.phone
5,0,i,uid,1001,com.android.providers.telephony
5,0,i,uid,1022,com.android.nfc
5,0,i,uid,10021,com.google.android.location
5,0,i,uid,10021,com.google.android.syncadapters.calendar
5,0,i,uid,10021,com.google.android.gsf
5,0,i,uid,10021,com.google.android.syncadapters.contacts
5,0,i,uid,10026,com.android.providers.downloads.ui
5,0,i,uid,10026,com.android.providers.media
5,0,i,uid,10026,com.android.providers.drm
5,0,i,uid,10026,com.android.providers.downloads
5,0,i,uid,10032,com.android.launcher
5,0,i,uid,10039,com.google.android.gm
5,0,i,uid,10041,com.google.android.gallery3d
5,0,i,uid,10049,com.android.providers.calendar

Change-Id: I9e38f254eef146339113ad270f5c6e8b60fb7a1d
2010-12-13 14:31:40 -08:00
Dianne Hackborn
880119bf43 Implement issue #2367442: Please add API for manipulating installer
package names

Change-Id: I0563e896a47ae1a6e77aebc2d624fb1bde52ffbc
2010-11-19 13:21:08 -08:00
Brad Fitzpatrick
6689ac8a56 Fix more things that CloseGuard found.
Not terribly happy with how the code looks after, though.

Change-Id: I7bf5f78ef6c0ac82339a2e49488ca6e64d13c05e
2010-11-15 16:26:04 -08:00
Brad Fitzpatrick
725d8f06ec Close some things in system_server that CloseGuard found.
Change-Id: I788c022235caddcb1972a34131442a683cd51eb5
2010-11-15 11:12:42 -08:00
Joe Onorato
646f46eddf make the resolver activity's items visible
Change-Id: Ic02c834c01c3d71d6e1c073f986b87ae5faa1da0
2010-11-08 15:08:56 -08:00
Kenny Root
70fc04c84d Reorganize PackageManager dump to avoid NPE
versionCode and mVersionName were added recently but ps.pkg can be null
in some situations. Move them to where it will check before
dereferencing it.

Bug: 3152896
Change-Id: If992a1f29ac7b8f595f847b7743fd2374662bb6e
2010-11-05 11:59:45 -07:00
Brian Carlstrom
fd9ddd1a40 Integrate StrictMode with CloseGuard
In additional to adding the StringMode API for controling CloseGuard,
this checkin fixes several CloseGuard issues found booting a device.

Bug: 3041575
Change-Id: I4dffd184f49438d6d477ed81a1c2a2a5b56cc76b
2010-11-04 14:21:33 -07:00
Kenny Root
1174f71e94 Reorganize PackageManager dump to avoid NPE
versionCode and mVersionName were added recently but ps.pkg can be null
in some situations. Move them to where it will check before
dereferencing it.

Bug: 3121050
Change-Id: I46081f300e7a40354cb757f9eaa7ec98b9334c8b
2010-10-22 10:07:11 -07:00
Brad Fitzpatrick
385a753dea resolved conflicts for merge of 368fdba4 to master
Change-Id: I42b7b433c86a71a5da5db67109f056a280077c9d
2010-10-21 07:39:10 -07:00
Joe Onorato
431bb22695 Reduce logging.
Remember, the system and main logs are
    - Shared resources
    - Primarily for recording problems
    - To be used only for large grained events during normal operation

Bug: 3104855
Change-Id: I136fbd101917dcbc8ebc3f96f276426b48bde7b7
2010-10-19 15:08:05 -04:00
Kenny Root
1072b7f751 am c0e97872: am 928b0748: Merge "Don\'t symlink native library paths for old apps" into gingerbread
Merge commit 'c0e9787293b761b04bdb07908751b22458f17bbc'

* commit 'c0e9787293b761b04bdb07908751b22458f17bbc':
  Don't symlink native library paths for old apps
2010-10-19 11:19:45 -07:00
Kenny Root
e68d58a298 Don't symlink native library paths for old apps
Apps that existed in an ASEC container before we put native libraries
in the ASEC container will have their native libraries in the
/data/data/<app>/lib directory. Don't try to symlink to the ASEC
container's library directory in this case.

Bug: 3108230
Change-Id: I32167341cc8ff8c005e50f456ee7c783bfb0bf22
2010-10-18 16:55:27 -07:00
Dianne Hackborn
875ecaa511 am 13e46665: am 736f5ec4: Merge "Work on issue #3101415: Crespo apps seem to have their UID changed over time." into gingerbread
Merge commit '13e46665ff69c1a37880762d7d611aacdf02dac7'

* commit '13e46665ff69c1a37880762d7d611aacdf02dac7':
  Work on issue #3101415: Crespo apps seem to have their UID changed over time.
2010-10-18 08:04:47 -07:00
Nick Pelly
cd0e839a24 NFC: Move NFC service implementation out of system_server.
NFC service is now an application service in packages/apps/Nfc.

NFC service is registered through ServiceManager.addService(), and the proxy
object NfcAdapter obtains a handle to it through ServiceManager.getService().

**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and
modify service_manager.c, Process.java and PackageManagerService.java in order
to force the com.android.nfc process to take a fixed uid, so that it can use
ServiceManager.addService().

Most of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and
NdefMessage require some in-process native code, so android_com_NdefMessage.cpp
and android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to
a very small library libnfc_ndef.so that implements NDEF message parsing. This
has been added to core.mk so all devices (even without NFC hardware) can work
with NDEF data.

Bug: 3041259
Bug: 3097445
Change-Id: If7f00cd8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
2010-10-17 18:35:29 -07:00
Dianne Hackborn
1769256966 am 10d48f26: am efb58101: Debug logs for issue #3101415: Apps seem to have their UID changed over time.
Merge commit '10d48f26e72dc7978ae683e8f99cc71409eb75ef'

* commit '10d48f26e72dc7978ae683e8f99cc71409eb75ef':
  Debug logs for issue #3101415: Apps seem to have their UID changed over time.
2010-10-17 13:49:16 -07:00
Dianne Hackborn
8bdf5935c0 Work on issue #3101415: Crespo apps seem to have their UID changed over time.
fsync!

Change-Id: Ie6c5397202579935ac69bf61d3e7b3081ecf269c
2010-10-15 14:46:33 -07:00
Dianne Hackborn
efb581018b Debug logs for issue #3101415: Apps seem to have their UID changed over time.
- Activity manager now prints the pid doing a startActivity request.
- Package manager now remembers messages about problems it has parsing
  packages.xml.

Change-Id: I11a75aa3953dbfa5dd41cfbdf69116c764ec228f
2010-10-15 11:22:17 -07:00
Kenny Root
09b35d2fe5 am 89b73a75: am 361a6ad1: Merge "Handle native library deletion in scanPackage" into gingerbread
Merge commit '89b73a75467d85c58467c5b8c080c77d25860fe0'

* commit '89b73a75467d85c58467c5b8c080c77d25860fe0':
  Handle native library deletion in scanPackage
2010-10-15 08:32:43 -07:00
Nick Pelly
bc21fdefdf NFC: Move NFC service implementation out of system_server.
NFC service is now an application service in packages/apps/Nfc.

NFC service is registered through ServiceManager.addService(), and the proxy
object NfcAdapter obtains a handle to it through ServiceManager.getService().

**Important** Had to add new symbols AID_NFC / NFC_UID / android.uid.nfc and
modify service_manager.c, Process.java and PackageManagerService.java in order
to force the com.android.nfc process to take a fixed uid, so that it can use
ServiceManager.addService().

Most of the JNI has moved to packages/apps/Nfc/jni. However NdefRecord and
NdefMessage require some in-process native code, so android_com_NdefMessage.cpp
and android_com_NdefRecord.cpp stay in frameworks/base/core/jni. They link to
a very small library libnfc_ndef.so that implements NDEF message parsing. This
has been added to core.mk so all devices (even without NFC hardware) can work
with NDEF data.

Bug: 3041259
Bug: 3097445
Change-Id: If8f00ce8f2053acfc9319ca366d4a9c02bd396e6
Signed-off-by: Nick Pelly <npelly@google.com>
2010-10-15 02:12:32 -07:00
Andy Stadler
e55fa3b0fe am 8a703c77: am 8e2be267: Add versionCode and versionName to dumpsys packages
Merge commit '8a703c772ef233998fccfbdb159c8879c72fa5d3'

* commit '8a703c772ef233998fccfbdb159c8879c72fa5d3':
  Add versionCode and versionName to dumpsys packages
2010-10-13 23:35:12 -07:00
Kenny Root
70e4210ad9 Handle native library deletion in scanPackage
The deletion of native libraries was initially added to
FileInstallArgs.cleanUpResourcesLI() as a way to get rid of old native
libraries during an upgrade, but it runs well after scanPackage unpacks
the new native libraries. scanPackage now removes old libraries before
unpacking the new ones, so we don't need this code anymore.

Bug: 3087739
Change-Id: I54aca830ec34d6440ba22f117d55aa3107bf5b75
2010-10-13 08:49:24 -07:00
Kenny Root
ab275bb637 am 1c67b7af: am a4e95dfe: Merge "Grant URI permissions to the MCS" into gingerbread
Merge commit '1c67b7af0147080de807db3cc564899db85b43a8'

* commit '1c67b7af0147080de807db3cc564899db85b43a8':
  Grant URI permissions to the MCS
2010-10-12 16:40:47 -07:00
Andy Stadler
8e2be267f5 Add versionCode and versionName to dumpsys packages
bug: 3090491
Change-Id: If116baaeb83bd282c5c5534fde6248f19830a71c
2010-10-12 15:05:06 -07:00
Kenny Root
1112857632 Grant URI permissions to the MCS
When the PackageManagerService is asked to install from a URI, it might
be explicitly granted the permission to read from the URI content
provider. We need to pass along these permissions to the
MediaContainerService (DefaultContainerService) to ensure the MCS can
read from the content provider.

Change-Id: Ie7ddaeb638af82b60792a4c3f8c99e1e8eef1916
2010-10-11 15:11:12 -07:00
Dianne Hackborn
cc60839643 am 681f327e: am 62d8874e: Merge "Fix retaining of granted permissions when updating of system app." into gingerbread
Merge commit '681f327e839a40a4d55d3567af341b9e90f62378'

* commit '681f327e839a40a4d55d3567af341b9e90f62378':
  Fix retaining of granted permissions when updating of system app.
2010-10-10 19:13:09 -07:00
Dianne Hackborn
615e2fa175 am b77455ee: am 78d68836: Implement tracking of package install times.
Merge commit 'b77455ee290691b036ac79236a93e57ff294ef0c'

* commit 'b77455ee290691b036ac79236a93e57ff294ef0c':
  Implement tracking of package install times.
2010-10-10 14:20:34 -07:00
Kenny Root
5bc3addb45 am 0689b60b: am 54e01e0f: Merge "Symlink application lib directory when on SD card" into gingerbread
Merge commit '0689b60b8644d7c4c76e5cdf7e6ce5cc4c5be124'

* commit '0689b60b8644d7c4c76e5cdf7e6ce5cc4c5be124':
  Symlink application lib directory when on SD card
2010-10-10 14:19:52 -07:00
Dianne Hackborn
2fe979fc61 Fix retaining of granted permissions when updating of system app.
Was broken when the app is using a shared user ID.

Change-Id: I088334f6540889969ee4367fa502807ce3f94f6a
2010-10-08 15:07:17 -07:00
Dianne Hackborn
78d688369a Implement tracking of package install times.
Provides information about the time at which the package was
first installed and the time it was last updated.

Change-Id: Icb43f77b5b669a1ce685e8913046b8be386b6175
2010-10-07 18:48:22 -07:00
Kenny Root
6a6b007c77 Symlink application lib directory when on SD card
This will help legacy games that use dlopen() to directly access the
/data/data/<app>/lib directory before the
ApplicationInfo.nativeLibraryDir was part of the API.

Change-Id: Ie9f3e7239b6334708b5d086ffafe66a507f6d9da
2010-10-07 17:20:26 -07:00
Kenny Root
c5610a4c13 am cfc80bd5: am 2c3360fe: Merge "Remove lingering system app native libs in /data" into gingerbread
Merge commit 'cfc80bd5c1e4f0207357b288b1b7b8374a31ba70'

* commit 'cfc80bd5c1e4f0207357b288b1b7b8374a31ba70':
  Remove lingering system app native libs in /data
2010-10-07 12:21:22 -07:00
Kenny Root
13297fddcb am f2cc2e52: am 8735c4cd: Merge "Get correct native library path on reinstall" into gingerbread
Merge commit 'f2cc2e522177683145b2daa0de0ed898b865824d'

* commit 'f2cc2e522177683145b2daa0de0ed898b865824d':
  Get correct native library path on reinstall
2010-10-07 12:20:25 -07:00
Kenny Root
831baa2e25 Remove lingering system app native libs in /data
If a system app had a lingering native library in /data/data/<app>/lib,
it would prefer that over the one in /system/lib due to recent changed
in the Dalvik JNI class loading code.

To "fix" that we need to check if there are any native libraries in a
/data/data/<app>/lib directory for any non-updated system apps and
delete them during scanning.

Change-Id: If3a22e41a8531e9e5a44ba001dcea46253d47d45
2010-10-05 12:56:03 -07:00
Kenny Root
bd135c1931 Get correct native library path on reinstall
If an application moved between internal and external storage during a
reinstall, we were getting the wrong path. This change fixes going from
internal to external and external to internal which need different
fixes.

Bug: 3019708
Change-Id: If5859aeab7505cbbb35ae5724de1224a8733f2e8
2010-10-05 12:33:33 -07:00
Dianne Hackborn
1869ad04c9 am 4e183215: am 1073e3fa: Merge "Don\'t write settings multiple times when unmounting." into gingerbread
Merge commit '4e183215bac239bbc039df361fed034a965030ec'

* commit '4e183215bac239bbc039df361fed034a965030ec':
  Don't write settings multiple times when unmounting.
2010-10-04 12:05:00 -07:00
Dianne Hackborn
3aeee33c72 Don't write settings multiple times when unmounting.
The package manager would write its settings multiple times,
once for each app on the SD card, when unmounting external storage.
This was kind-of slow.

Change-Id: Ic5ce12022a9ce26857d1db3071e316750b03f05a
2010-10-02 19:06:18 -07:00
Dianne Hackborn
dc71b9e4d6 resolved conflicts for merge of 6a3eddb4 to master
Change-Id: I1ca1d100274d4a733ef2bf58b0d5d7217b4f858e
2010-09-30 20:34:34 -07:00
Dianne Hackborn
cef65eeb03 Rub in a little 'ol log-b-gone.
Mmmmmm...  great fresh scent!

Change-Id: I050e70b31b5d4a9c6731f15a4b51a3620a33a78d
2010-09-30 18:27:22 -07:00
Kenny Root
831f898756 am 8f767774: am 465618ed: Merge "Use buffered output during packages.xml write" into gingerbread
Merge commit '8f767774230cba9b5cfc298f2e24972a79cd0182'

* commit '8f767774230cba9b5cfc298f2e24972a79cd0182':
  Use buffered output during packages.xml write
2010-09-27 08:28:07 -07:00
Kenny Root
9f306d78a4 Use buffered output during packages.xml write
FileOutputStream writes data one byte at a time, so use the
BufferedOutputStream to wrap it and write once all the XML serialization
is done.

Change-Id: I419a6fcac2ac9a72a6cf41d4ca6e7ab6c7505618
2010-09-26 11:19:47 -07:00
Dianne Hackborn
fde5e965d4 am 65b5a65e: am 4db643eb: Merge "In theory the package manager now scans /vendor/app" into gingerbread
Merge commit '65b5a65e790458be0d6f70fafa9e151ba22a9e2e'

* commit '65b5a65e790458be0d6f70fafa9e151ba22a9e2e':
  In theory the package manager now scans /vendor/app
2010-09-20 19:33:46 -07:00
Dianne Hackborn
3b4bac7a2a In theory the package manager now scans /vendor/app
Not tested.

Change-Id: Ib6120d645074c95dd0afd1476f6167aec5d50bb9
2010-09-20 16:35:22 -07:00
Kenny Root
685da21c1c am 3ca26914: am 30434415: Merge "Dedupe timestamp in PackageSettings" into gingerbread
Merge commit '3ca2691446d333d52b1c0a39e6df74e03c2407cc'

* commit '3ca2691446d333d52b1c0a39e6df74e03c2407cc':
  Dedupe timestamp in PackageSettings
2010-09-15 07:08:15 -07:00
Kenny Root
7d794fbd30 Dedupe timestamp in PackageSettings
Timestamp data was duplicated making the management of timestamp
unnecessarily complicated.

Change-Id: Ia13be6ee9809a314232453e8627a54f9c9d8374d
2010-09-13 16:34:05 -07:00
Kenny Root
5d8b320428 am 1361a5bd: am 07a9e8d3: Merge changes Ie3648509,I53db73c3 into gingerbread
Merge commit '1361a5bd1eba1cae16c301622324153c3d50b84c'

* commit '1361a5bd1eba1cae16c301622324153c3d50b84c':
  Move native library removal function to helper
  Initialize native library path in PackageSetting
2010-09-12 18:06:07 -07:00
Kenny Root
8f7cc02c7c Move native library removal function to helper
Moves the remoteNativeLibrariesLI call to NativeLibraryHelper to prepare
for being able to symlink the /data/data/<package>/lib dir to the ASEC
container.

Change-Id: Ie3648509c6b6293a8d9bdd815610ab408df5047f
2010-09-12 09:04:56 -07:00
Kenny Root
806cc13a08 Initialize native library path in PackageSetting
During boot-up we weren't paying attention to the nativeLibraryPath that
was read from the package settings XML file which reset the path to the
default /data/data/<package>/lib directory.

This adds nativeLibraryPath as an argument to the PackageSettings
constructor and related functions that will pull that value in from the
settings file.

It also removes the call to nativeLibraryDir.mkdir() which installd does
by itself.

Change-Id: I53db73c3b1bc90997a4a73f7f2fbaee125e6f67e
2010-09-12 09:04:48 -07:00