2214b828e5e527cc12a75970edbf3faf7f8c2384 |
|
02-Apr-2018 |
Takamasa Kuramitsu <takamasa.kuramitsu@sony.com> |
Fix reading exception from Parcel It fails to read exception from Parcel using Parcel#readException(int, String) because this method doesn't take into account the remote stack trace info added in writeException(). Test: Manual Bug: 77495513 Change-Id: I7b646b4a591306832897a42c4ed205d00019cc2b
/frameworks/base/core/java/android/os/Parcel.java
|
ced54398cc0dfd2f782153560c2ffd0eb8743045 |
|
26-Feb-2018 |
Dianne Hackborn <hackbod@google.com> |
Work on issue #74404949: Screen state usage API Add usage stats tracking of screen time. There are two new events, one for when the device is an interactive state, the other for when it is non-interactive. Also add a whole new usage stats API for retrieving aggregated data that is associated with general events, not particular packages. In this case it allows you to find the time the device spent interactive and non-interactive and the count of the transitions in to each of those states. Bug: 74404949 Test: atest CtsUsageStatsTestCases:UsageStatsTest\#testInteractiveEvents Change-Id: Ibe6d55e2aecb0c8519b1358644378ec5c7a4250d
/frameworks/base/core/java/android/os/Parcel.java
|
3b946f43a430f9c2b4d65148984dd77748991023 |
|
27-Nov-2017 |
Fyodor Kupolov <fkupolov@google.com> |
Use the root case to set remote stack trace for Otherwise it may cause ISE if a cause has already been set like in ParcelableException. Test: manual install/uninstall an app on secondary user Bug: 69704045 Change-Id: Ia8631ea76d5acf38e60fc609eef65f010ade21b5
/frameworks/base/core/java/android/os/Parcel.java
|
679d9987961da426e48ec92f23f6bab5af95ac9d |
|
21-Nov-2017 |
Fyodor Kupolov <fkupolov@google.com> |
Use newline to separate stack trace lines It was unintentionally removed in patchset 3 of ag/3221176 Test: manual Change-Id: Iede0bfe1b5d622fda794ddf4a0bcdbdaeeb4939d
/frameworks/base/core/java/android/os/Parcel.java
|
a81b8c0932fa6a2198558b164a1aebdad0fcecc3 |
|
14-Nov-2017 |
Fyodor Kupolov <fkupolov@google.com> |
Provide remote stack trace information The stack is truncated up to 5 lines at parcel time. When unparceling, a separate RemoteException will be created and set as a cause of the exception being thrown. Performance results(in nanoseconds): timeWriteExceptionWithStackTraceParceling 4168 timeWriteException 2201 timeReadException 15878 timeReadExceptionWithStackTraceParceling 23805 Test: manual + ParcelPerfTest Bug: 36561158 Change-Id: I18b64a6c39c24ab067115874ddb5bd71f556a601
/frameworks/base/core/java/android/os/Parcel.java
|
d7bd9190759e3a6658455ada987453928caec8a8 |
|
07-Nov-2017 |
John Reck <jreck@google.com> |
Remove unneeded JNI method Test: ran PFD CTS tests Change-Id: I9a40319595c757835f7e19a50dc0311077c9e627
/frameworks/base/core/java/android/os/Parcel.java
|
fb92184ebc7da516b8cb59932e1be6421879fa0a |
|
26-Oct-2017 |
Adrian Roos <roosa@google.com> |
Notification: Fix PendingIntent whitelisting Fixes several issues with the way PendingIntents are being whitelisted from background check with Notifications. Most visibly, this causes the whitelisting not to work on Notifications that use the DecoratedContentViewStyle, but there are some conditions where the whitelisting breaks for regular notifications too. - After a Notification is rebuilt with Notification.Builder, the set of PendingIntents in the notification was not rebuilt. This broke the whitelisting whenever a PendingIntent is added after the Notification was already sent once. Workaround for broken platform releases: always use a fresh Notification object, or clone before sending. - Fixes PendingIntent.writePendingIntentOrNullToParcel to invoke the OnMarshalListener. This broke whitelisting for any PendingIntents attached to custom RemoteViews. Workaround for broken platform releases: Also attach the PendingIntent to the Notification's extras. - Changes RemoteViews to keep the parcel cookies that were present during unparceling, such that they can be reapplied when it gets cloned. This broke whitelisting for any PendingIntents attached to a DecoratedContentViewStyle *even if added to extras*. Workaround for broken platform releases: none. - Fixes Notification.whitelistToken mistakenly being static. There's an unlikely race condition where the field could be overriden with null by an incoming notification right as another notification is sent out. Workaround for broken platform releases: none. Test: runtest -x core/tests/coretests/src/android/app/NotificationTest.java && runtest -x core/tests/coretests/src/android/widget/RemoteViewsTest.java Bug: 68218899 Change-Id: I02e44040604a1d24422340611ae9e0332a611800
/frameworks/base/core/java/android/os/Parcel.java
|
0e60f22d2dd0ad2b30f38f4b55847a239d27eef5 |
|
22-Sep-2017 |
Sunny Goyal <sunnygoyal@google.com> |
Fixing method asymmetry in Parcel Test: manually Change-Id: I2a8321023b40cc74b7026eb0fb32a9cc5f5543a9
/frameworks/base/core/java/android/os/Parcel.java
|
9852897bf6a1d4c01ebb5afddaa13be5285810b9 |
|
01-Sep-2017 |
Felipe Leme <felipeal@google.com> |
New Autofill API: SaveRequest.getDatasetIds() Test: modified some existing CTS tests to use it Test: cts-tradefed run commandAndExit cts-dev -m CtsAutoFillServiceTestCases Fixes: 64843801 Change-Id: I95fe7766f19e5a9eea9d7138636a15cc832c704c
/frameworks/base/core/java/android/os/Parcel.java
|
4501c61d65f0590bdc4e6a8a6f3a1b0cf2165b9f |
|
28-Jul-2017 |
Makoto Onuki <omakoto@google.com> |
Reduce duplicate strings due to the package cache. Change from the previous attempt: - Fixed the helper class. The original version had a few bugs. - Bundle.readFromParcel() now handles a Parcel with a read-write helper properly. ** Comparison ** The following charts are the actual measurement with and without the fix, using "dumpsys system". - The red bar is "total private dirty". - The X axsis is time since boot. Without fix: - #1 First boot: -- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=1971317391 -- Private dirty stabilizes at ~16.8M. -- Loading system packages took 1.8 seconds. - #2 Second boot: -- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=982210726 -- Private dirty stabilizes at ~17.5M. -- Loading system packages took 0.5 seconds. With fix: - #3 First boot: -- https://docs.google.com/spreadsheets/d/1R6lL0AnAp93HnrqWujJFNgOjj6wvGicgDlbDAevbc3g/edit#gid=791764875 -- Private dirty stabilizes at around the same level as #1. -- Loading system packages took 1.9 seconds. - #4 Second boot: -- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=1820894299 -- Private dirty stabilizes at around the same level as #1. -- Loading system packages took 0.7 seconds. Package manager start up time with and without the fix: - (Ignored ones that are too fast; probably the thermal throttling didn't kick in.) - https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=499396796 - Before: 3.5 seconds (average of 5 reboots) - After: 3.6 seconds (average of 5 reboots) Package scan speed comparison: - With the fix, first boot. 08-03 08:49:56.851 1000 779 779 I PackageManager: Finished scanning system apps. Time: 2133 ms, packageCount: 143 , timePerPackage: 14 , cached: 0 08-03 08:49:56.971 1000 779 779 I PackageManager: Finished scanning non-system apps. Time: 121 ms, packageCount: 11 , timePerPackage: 11 , cached: 0 - With the fix, second boot. 08-03 08:53:29.387 1000 779 779 I PackageManager: Finished scanning system apps. Time: 484 ms, packageCount: 143 , timePerPackage: 3 , cached: 143 08-03 08:53:29.424 1000 779 779 I PackageManager: Finished scanning non-system apps. Time: 37 ms, packageCount: 11 , timePerPackage: 3 , cached: 11 ** Conclusion ** - This CL wil slightly slow down the boot time (0.2 seconds on a thermal-throttled bullhead), but the system server's ram consumption will go down to the no-cache level. - Using the package cache is still faster than not using it. Test: build, boot, reboot, adb-install, reboot Test: bit FrameworksCoreTests:android.content.pm.PackageParserTest Test: bit FrameworksServicesTests:com.android.server.pm.PackageParserTest Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsOsTestCases -t android.os.cts.BundleTest Bug: 64112468 Change-Id: I30691a032cb1dd1c7f6c1966a096c2f0d07a09cb
/frameworks/base/core/java/android/os/Parcel.java
|
18482aef9eb1680d5027b4de2643c57302be556c |
|
02-Aug-2017 |
Dianne Hackborn <hackbod@google.com> |
Improve docs about exceptions through Binder. Test: built Change-Id: I5b6af61daa373c92f7d7b3b341a20fbd9e691da9
/frameworks/base/core/java/android/os/Parcel.java
|
63e624a61ed3ba3a2d003b5249c46100e0fe68b1 |
|
01-Aug-2017 |
Makoto Onuki <omakoto@google.com> |
Revert "Reduce duplicate strings due to the package cache." The pool is just broken.... I need to fix it and re-evaluate. This reverts commit e86a29c6e60a58ad42aeaa990d8ba665964dbe31. Change-Id: I296df71e76ffff1d1d0fc8a50e3493e20c124a7b
/frameworks/base/core/java/android/os/Parcel.java
|
e86a29c6e60a58ad42aeaa990d8ba665964dbe31 |
|
28-Jul-2017 |
Makoto Onuki <omakoto@google.com> |
Reduce duplicate strings due to the package cache. The following charts are the actual measurement with and without the fix, using "dumpsys system". - The red bar is "total private dirty". - The X axsis is time since boot. Without fix: - First boot: https://docs.google.com/spreadsheets/d/1R6lL0AnAp93HnrqWujJFNgOjj6wvGicgDlbDAevbc3g/edit#gid=0 Private dirty stabilizes at ~16.8M. - Second boot: https://docs.google.com/spreadsheets/d/1R6lL0AnAp93HnrqWujJFNgOjj6wvGicgDlbDAevbc3g/edit#gid=1918404197 Private dirty stabilizes at ~17.8M. With fix: - First boot: https://docs.google.com/spreadsheets/d/1R6lL0AnAp93HnrqWujJFNgOjj6wvGicgDlbDAevbc3g/edit#gid=791764875 Private dirty stabilizes at ~17.0M. - Second boot: https://docs.google.com/spreadsheets/d/1R6lL0AnAp93HnrqWujJFNgOjj6wvGicgDlbDAevbc3g/edit#gid=1820894299 Private dirty stabilizes at ~17.0M. Test: build, boot, reboot, adb-install, reboot bit FrameworksCoreTests:android.content.pm.PackageParserTest Bug: 64112468 Change-Id: I5ae9c1b2d021fe62526d4e0dd1a52a962b48206e
/frameworks/base/core/java/android/os/Parcel.java
|
d8aad5ac388340512a628bb5820d45afa6709ee5 |
|
11-Jul-2017 |
Bin Chen <bin0515@gmail.com> |
Merge "Fix typo in Parcel javadoc." am: ed0e6009df am: d29e275b5b am: 4d4b9a2ac6 am: 3f24335abf Change-Id: I565836c25a2e932c75959f99aacd0955a201a668
|
3f24335abf6ae4f0885a24b5efc93f27b3a8d087 |
|
11-Jul-2017 |
Bin Chen <bin0515@gmail.com> |
Merge "Fix typo in Parcel javadoc." am: ed0e6009df am: d29e275b5b am: 4d4b9a2ac6 Change-Id: Ief5a7469fbf2161d116dc210f3aa007bb4d69455
|
d29e275b5b281ace17b7fc0ecc6f1a004ef9de37 |
|
11-Jul-2017 |
Bin Chen <bin0515@gmail.com> |
Merge "Fix typo in Parcel javadoc." am: ed0e6009df Change-Id: I06d3ac4d00cfec5179ca6e636365617c644f9fcd
|
b6b12b567de17aa573bf875770b2493639c5821d |
|
11-Jul-2017 |
Bin Chen <bin0515@gmail.com> |
Fix typo in Parcel javadoc. Change-Id: Ida05259143e86c15c2ed69eeb7566d39b60fa823
/frameworks/base/core/java/android/os/Parcel.java
|
b148b6c3c8547143946726a4f6143106406f2fd2 |
|
27-Jun-2017 |
Makoto Onuki <omakoto@google.com> |
Parcel: Use @CriticalNative when possible. - Change some methods from FastNative to CritcialNative - Change nativeGetBlobAshmemSize to CritcalNative - ParcelPerfTest.java (CorePerfTests) bullhead-userdebug + prep_buller.sh, mean(ns), changed methods only -- After timeGetDataCapacity_mean 166 +39.16% timeGetDataPosition_mean 169 +53.25% timeReadByte_mean 296 +39.86% timeReadLong_mean 284 +61.97% timeSetDataPosition_mean 173 +34.10% timeGetDataSize_mean 173 +37.57% timeReadInt_mean 284 +57.04% -- Before timeGetDataCapacity_mean 231 timeGetDataPosition_mean 259 timeReadByte_mean 414 timeReadLong_mean 460 timeSetDataPosition_mean 232 timeGetDataSize_mean 238 timeReadInt_mean 446 Bug: 62135986 Test: bit CtsOsTestCases:android.os.cts.ParcelTest Change-Id: I8c7ede25c87017ef2c7a49beaa3ac781c08ea365
/frameworks/base/core/java/android/os/Parcel.java
|
291ba2f0a47fe89f141fb615e2e4edafe356b6d1 |
|
19-May-2017 |
Michael Wachenschwanz <mwachens@google.com> |
Merge "DO NOT MERGE Revert "WTF Logging for catching memory issue in Parcel"" into oc-dev am: 61e2b15866 am: d6066c83ca Change-Id: I9877b678a244e0149ba6bb6aa4a8185113571374
|
61e2b158661f75f1e128a6bd81bd296cadeb84b0 |
|
19-May-2017 |
Michael Wachenschwanz <mwachens@google.com> |
Merge "DO NOT MERGE Revert "WTF Logging for catching memory issue in Parcel"" into oc-dev
|
138bebf4c18d0b573732aac6faa4573a57c295f5 |
|
19-May-2017 |
Michael Wachenschwanz <mwachens@google.com> |
DO NOT MERGE Revert "WTF Logging for catching memory issue in Parcel" This reverts commit 101e38cbeceb0e1c0a27f1917d9ab0aabed26e49. Bug: 37298089 Change-Id: Ia468d50fd1e4ca2ffa6145967bf3c847ed1929b8
/frameworks/base/core/java/android/os/Parcel.java
|
61960cec37b078c41dca1401ad537e0806aded29 |
|
12-May-2017 |
Jocelyn Dang <jocelyndang@google.com> |
Merge "Don't allocate new array in Parcel#readByteArray"
|
c3b938ca5ed1385ea07a500abfba31ee4943c096 |
|
11-May-2017 |
Dianne Hackborn <hackbod@google.com> |
Merge "Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist" into oc-dev
|
983055231b999e450def3e3df377fb4e23420711 |
|
06-May-2017 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #37360626: Apps can schedule alarms (and other things) with temp whitelist There is now an IBinder "token" that must be specified when setting the whitelist duration for an Intent. To have the whitelist supplied, the caller to send a PendingIntent must pass in the same token. The PendingIntent and IntentSender classes now internally maintain this token to pass in when their send() is called. The big complexity for making this work is we now need to associate this whitelist token correctly with the actual PendingIntent objects that applications and other code is getting. To do this, we propagate the token in the Notification object, and have a new API on Parcel that allows us to make it available to PendingIntent when it is unmarshalled. And this allows to deal with PendingIntents appearing in nested bundles, as we can propagate that information from the original Parcel to the new Parcel that Bundle keeps to delay unmarshalling. Test: manual Change-Id: Idda00490ccfe2be37e4ab21354b9ab7528a52750
/frameworks/base/core/java/android/os/Parcel.java
|
101e38cbeceb0e1c0a27f1917d9ab0aabed26e49 |
|
10-May-2017 |
Michael Wachenschwanz <mwachens@google.com> |
WTF Logging for catching memory issue in Parcel Catch an exception sent from native code looking for a specific known bug and report via wtf which code path is hitting the bug. Revert this change once bug has been resolved. Bug: 37298089 Test: manual Change-Id: Ieb98a8a82a9a2cffe4d0cfbbc8333f453b3e36d5 Signed-off-by: Michael Wachenschwanz <mwachens@google.com>
/frameworks/base/core/java/android/os/Parcel.java
|
4610044cb970d25548307b9f28f79b537c15eceb |
|
06-May-2017 |
Jocelyn Dang <jocelyndang@google.com> |
Don't allocate new array in Parcel#readByteArray Fixes: 36951854 Test: manual Change-Id: I8545e5ee1fcd702f728da75d856959b1a6df6c1a
/frameworks/base/core/java/android/os/Parcel.java
|
a4d34d971c9566a162a53e6b027ba2bc341ae5b4 |
|
27-Apr-2017 |
Jeff Sharkey <jsharkey@android.com> |
Respond to API council feedback. Move aggressive allocation to @SystemApi, which means we can hide the "flags" API variants. Remove UUID APIs, since we should use existing Serializable APIs. Relax permission checks to allow apps to ask for their own stats. Improve docs. Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest Bug: 37534687, 37534941, 37718184, 37738770 Change-Id: I6a763fb3ab3169c8d3329765bb31e1ee08d9ced7
/frameworks/base/core/java/android/os/Parcel.java
|
789a8fc792725e4988ff43d554b3c8c037c41921 |
|
16-Apr-2017 |
Jeff Sharkey <jsharkey@android.com> |
Storage API polishing. Based on API council feedback, switch to using real UUID objects instead of Strings. Since UUID is a general-purpose utility class that will be passed around quite a bit, add it to Parcel and Bundle. Define well-known namespaced UUID values for "default" and "primary physical" storage devices, which will let us annotate a bunch of things with @NonNull. Define new extras for MANAGE_STORAGE intent that apps can use to signal where and how much space they'd like the user to free up. Test: cts-tradefed run commandAndExit cts-dev -m CtsAppSecurityHostTestCases -t android.appsecurity.cts.StorageHostTest Bug: 37325923, 35812899, 35806020 Change-Id: I8421b126d680f69141a361c1e77223fe2bf4a325
/frameworks/base/core/java/android/os/Parcel.java
|
7da13d7c3e5b48c0410ae869c5679652de97e5aa |
|
05-Apr-2017 |
Dianne Hackborn <hackbod@google.com> |
Add new "work queue" feature to JobScheduler. This gives semantics similar to the start command queue of services. The implementation is currently lacking in URI permission grant handling of the work intents; that will be coming in a follow-up change. This includes a first step of adjusting/fixing locking within JobSchedulerService. The JobServiceContext class has a bunch of stuff it does that assumes it doesn't need locking because it schedules the work on a handler. However, to be able to correctly implement the work finish flow (that takes care of stopping the job when there is no more work), we can't dispatch these asynchronously so need to get rid of that and just do explicit locking. The switch to explicit locking is half-way there (again the remaining part will be a follow-on CL). Right now we have the locking, but still also the handler. But it turns out there were a number of things we were doing without a lock held where we actually should have been holding a lock, so this is better anyway. Test: new tests added Change-Id: Iebd098046209b28e60fd2f4d855d7f91cd3a8b03
/frameworks/base/core/java/android/os/Parcel.java
|
72ba815ca41e72a3d12ae8dff1d6806220060b11 |
|
27-Mar-2017 |
Jeff Sharkey <jsharkey@google.com> |
Merge "Add a new "virtual disk" feature."
|
e53e2d9576cbcf6fc2bd9c8674e162bef7297226 |
|
26-Mar-2017 |
Jeff Sharkey <jsharkey@android.com> |
Add a new "virtual disk" feature. It's extremely difficult to test storage related logic on devices that don't have physical SD card slots. So to support better debugging and testing, add a new "virtual disk" feature which mounts a 512MB file through loop device. Also move ParcelFileDescriptor.open() over to using Os.open() so that it gets StrictMode treatment. Bug: 34903607 Test: builds, boots, virtual disk works Change-Id: I072a3a412cfcc8a2a3472919b7273a1ed794fd98
/frameworks/base/core/java/android/os/Parcel.java
|
205656d31f189375610b932758e398b70386884b |
|
23-Mar-2017 |
Adam Lesinski <adamlesinski@google.com> |
Hide Parcel#readSparseIntArray and Parcel#writeSparseIntArray They were added for a CL that later stopped using them, so there is no current need for them in public API. Bug: 35812784 Change-Id: I2a9a30bee65894235f2cc81ab1bd5a37c9296c02 Test: build succeeds
/frameworks/base/core/java/android/os/Parcel.java
|
36e866b8e0ec08e45b5e7fbc65aeeb3a9bb7b11e |
|
24-Feb-2017 |
Eugene Susla <eugenesusla@google.com> |
Support multiple filters per association request By supporting multiple filters per one request we should be able to cover multiple kinds of use cases such as: - Letting the user select from a list of devices of more then one medium type (e.g. Bluetooth and BLE) - Allowing to provide multiple criteria for any field (e.g. filtering by more than one service UUID) Bug: 30932767 Test: Provide multiple filters and ensure that devices matching either are shown in the list to choose from. Ensure wifi SSIDs are shown in the list if wifi filter is provided Change-Id: I0a978787551a1ee5750ec5544b241d3bbfed5a7c
/frameworks/base/core/java/android/os/Parcel.java
|
d66c95fa907dc9eb3d7238fbbf3dc6dbd4b243a0 |
|
09-Mar-2017 |
Hector Tellez <htellez@google.com> |
Revert "Support multiple filters per association request" This reverts commit e70e6aa62c6f3a9a79624a4f9d97df95edda0364. Change-Id: I12857cbbea0a0c74521191ab5e3713db230626ab
/frameworks/base/core/java/android/os/Parcel.java
|
e70e6aa62c6f3a9a79624a4f9d97df95edda0364 |
|
24-Feb-2017 |
Eugene Susla <eugenesusla@google.com> |
Support multiple filters per association request By supporting multiple filters per one request we should be able to cover multiple kinds of use cases such as: - Letting the user select from a list of devices of more then one medium type (e.g. Bluetooth and BLE) - Allowing to provide multiple criteria for any field (e.g. filtering by more than one service UUID) Bug: 30932767 Test: Provide multiple filters and ensure that devices matching either are shown in the list to choose from. Ensure wifi SSIDs are shown in the list if wifi filter is provided Change-Id: I6621da388e2bf4ed97c5af2692629a321d0b63c7
/frameworks/base/core/java/android/os/Parcel.java
|
0f4928f1f73407485d6d94beda1dba1a2360ebbf |
|
03-Feb-2017 |
Svet Ganov <svetoslavganov@google.com> |
Refactoring of auto fill - lifecycle, auth, improvements 1. Move management of the remote fill service in a dedicated class that abstracts away the async and ephemeral nature of the binding. 2. Update auth to move fingerprint out of the platform and allow response and dataset auth. 3. Cleaned up the fill and save callback classes. 4. The UI is now shared among all sessions and cleaned up. 5. Reshuffled the remote callbacks to have cleaner separation. 6. Cleaned up and tightened the reponse and dataset classes. 7. Added API to support communicationn with intent based auth. Test: CTS + manually bug:31001899 Change-Id: Idc924a01d1aea82807e0397ff7293d2b8470d4d6
/frameworks/base/core/java/android/os/Parcel.java
|
9cd7af310c8948c87dd609c4015ec086e26aed3b |
|
04-Jan-2017 |
Robert Quattlebaum <rquattle@google.com> |
Minor updates to reflect libbinder changes. * Parcel: Update comment to reflect new file path * IpPrefix: Update AIDL file to indicate appropriate C++ header Change-Id: Ia9edccca5e8ef1f36a709b593a768003e1234dfa
/frameworks/base/core/java/android/os/Parcel.java
|
4e8628157ad0c8c52e74b720eb0328086272ffda |
|
22-Nov-2016 |
Adam Lesinski <adamlesinski@google.com> |
Add support for Split APK dependcies Apps can now declare in their base APK AndroidManifest.xml that they want to have their split APKs loaded in isolated Contexts. This means code and resources from the split get loaded into their own ClassLoader and AssetManager. <manifest xmlns:android="..." ... android:isolatedSplits="true" ... In order to make this more useful, splits can declare dependencies on other splits, which will all get pulled in to the Context and run as expected at runtime. A split declares its dependency on another split by using the tag <uses-split> in its AndroidManifest.xml: <manifest xmlns:android="..."> ... <uses-split android:name="feature_split_1" /> ... A split can have a single parent on which it depends on. This is due to the limitation of having a single ClassLoader parent. All splits depend on the base APK implicitly. PackageManager verifies that no cycles exist and that each dependency is present before allowing an installation to succeed. The runtime will then load splits based on the dependencies. Given the following APKs: base <-- split A <-- split C ^----- split B If an Activity defined in split C is launched, then the base, split A, and split C will be loaded into the ClassLoader defined for the Activity's Context. The AssetManager will similarly be loaded with the resources of the splits. A split can be manually loaded by creating a Context for that split, defined by its name: Context.createContextForSplit("my_feature_split_1"); All installed Activities, Services, Receivers, and Providers are accessible to other apps via Intent resolution. When they are instantiated, they are given the appropriate Context that satisfies any dependencies the split they were defined in stipulated. Test: WIP (CTS tests to come) Change-Id: I8989712b241b7bc84381f2919d88455fcad62161
/frameworks/base/core/java/android/os/Parcel.java
|
f5d2c7278e0b8745405d1dbbe4554c515ac215a3 |
|
21-Jan-2017 |
Jeff Sharkey <jsharkey@android.com> |
Merge "Add Binder support for Parcelable exceptions." am: a2ef6b5741 am: c3fbf32011 am: 4a0a4664b9 am: 7bb9ccc1e5 Change-Id: I9346a576d57c9f7093b875c4a43134f2ef095018
|
e628b7d446484bbcf467536769a301760eeb097b |
|
17-Jan-2017 |
Jeff Sharkey <jsharkey@android.com> |
Add Binder support for Parcelable exceptions. If an Exception thrown by a Binder call implements the Parcelable interface, then parcel it and rethrow back at the caller. There is strict requirement that these Parcelable exceptions must be defined by the system (as determined by checking the ClassLoader). We prefix the Parcelable contents with a length so that native code can skip over the blobs. Define a new ParcelableException class that can be used to transport exceptions that cannot be modified to add Parcelable behavior, and switch ExceptionUtils to use this new class for sending IOExceptions. Test: builds, boots, wrapped exceptions work Bug: 33749182 Change-Id: I1352ea1566ddf01120d9d0e819ba6f70fc407e11
/frameworks/base/core/java/android/os/Parcel.java
|
bea4871fc8096617fffb21cd44ff82bd0e3523d3 |
|
01-Dec-2016 |
Narayan Kamath <narayan@google.com> |
Parcel: Add support for reading/writing lists of Parcelables. Follows the same marshalling scheme as other list types, such as lists of Strings etc. Bug: 30792387 Test: ParcelTest Change-Id: I2003f4fcf4de5a1bee060f3c2723cfb155105b14
/frameworks/base/core/java/android/os/Parcel.java
|
71207b5a11c1aaede2ccc2380a9c55b6ff0162d3 |
|
28-Sep-2016 |
John Reck <jreck@google.com> |
Switch Parcel to FastNative Also fixes ParcelBenchmark to have bounded memory usage to avoid OOM'ing during runs Test: refactor, no behavior change ParcelBenchmark results from bullhead Before: timeReadByte 74.43ns timeReadInt 74.49ns timeReadLong 74.13ns timeWriteByte 81.81ns timeWriteInt 82.09ns timeWriteLong 81.84ns After: timeReadByte 47.08ns timeReadInt 48.38ns timeReadLong 48.16ns timeWriteByte 55.90ns timeWriteInt 55.85ns timeWriteLong 56.58ns Change-Id: I61b823d1d2beb86e00c196abd4dce65efa8fa7f0
/frameworks/base/core/java/android/os/Parcel.java
|
440a1ea8e2204ecb171e0187318beb2f08f6012c |
|
20-Jul-2016 |
Makoto Onuki <omakoto@google.com> |
Support multiple intents in ShortcutInfo Also fix b/30230996. TODO: Support the sourceBounds argument to LauncherApps. startShortcut(). Bug 30218829 Bug 30230996 Change-Id: Ibb6c59d5b7c0a320c21d09436d016d0eac94644f
/frameworks/base/core/java/android/os/Parcel.java
|
ddb948896ca7059161e09d0063b3332352772c0a |
|
24-Jun-2016 |
Svet Ganov <svetoslavganov@google.com> |
Mark app pending intents in notification extras We need to make every peniding intent that went in the notification system to allow special handling of such intents when fired by a notification listener. If a pending intent from a notification is sent from a notification listener, we white-list the source app to run in data saver mode for a short period of time. The problem is that actions and the notificaion can have extras which bundles may contain pending intents but the system cannot look into the bundles as they may contain custom parcelable objects. To address this we keep a list of all pending intents in the notification allowing the system to access them without touching the bundle. Currently the pending intents are written to the parcel twice, once in the bundle and once as the explicit list. We can come up with a scheme to optimize this but since pending itents are just a binder pointer it is not worth the excecise. bug:29480440 Change-Id: I7328a47017ca226117adf7054900836619f5679b
/frameworks/base/core/java/android/os/Parcel.java
|
3cefe6a991ba650375e663e7095266e2273d2372 |
|
14-Dec-2015 |
Samuel Tan <samueltan@google.com> |
Add comments to keep Java and native binder PersistableBundle in sync Add comments stating that certain methods of the Java binder framework should be kept in sync with the corresponding methods mirrored in the native PersistableBundle implementation. BUG: 25815410 Change-Id: I475b2e9a527291eea58c8178cd733c444dfcfed5
/frameworks/base/core/java/android/os/Parcel.java
|
ceafe5ed8a9968752c9454ae67428caf8c6719e6 |
|
12-Dec-2015 |
Samuel Tan <samueltan@google.com> |
Fix PersistableBundle handling in Parcel.writeValue Previously, in Parcel.writeValue, PersistableBundle objects would be handled as Parcelable types, since we check for the Parcelable type before the PersistableBundle type (and PersistableBundle implements the Parcelable interface). Fix this by moving the PersistableBundle type "if" condition above the Parcealble type "if" condition. Also, add a comment that explicitly states this nuance, in order to prevent future regressions. BUG: 25815410 Change-Id: Ia86aa5fc39423422342df0609a0d37e7f38d7ddd
/frameworks/base/core/java/android/os/Parcel.java
|
85eaca25fe2a89f883e9a87d8f411cfb315f3e03 |
|
09-Dec-2015 |
Christopher Wiley <wiley@google.com> |
Merge "Rethrow remote's ServiceSpecificException"
|
ff8ef28e73c0959a4993fea975d0bdefbc27a20b |
|
08-Dec-2015 |
Samuel Tan <samueltan@google.com> |
Merge "Add support for reading and writing double array values" am: 61c0b7cd4d * commit '61c0b7cd4d73381a2f4e3d3836389b130b5006d9': Add support for reading and writing double array values
|
80fd1208b99fbb88f24faa5d55183cdbbdeb6777 |
|
23-Nov-2015 |
Christopher Wiley <wiley@google.com> |
Rethrow remote's ServiceSpecificException Certain system services would like to throw exceptions with specific error codes, so that the framework can catch these specific conditions and express them appropriately. Bug: 25800533 Change-Id: I94b3d30fa131f5e14bba893c971615840085459f
/frameworks/base/core/java/android/os/Parcel.java
|
a8036660ea522e8509e4fd5c79bd4466ac6d9179 |
|
23-Nov-2015 |
Samuel Tan <samueltan@google.com> |
Add support for reading and writing double array values Add support for reading and writing double arrays in Parcel.readValue() and Parcel.writeValue. Also, remove some trailing whitespaces in Parcel.java. BUG: 25848659 Change-Id: Ib5430f492df4195051b83d9bf2b5163ec684bbff
/frameworks/base/core/java/android/os/Parcel.java
|
7a38be61124fb1d75ed73cdd4050ba25047d2b03 |
|
13-Nov-2015 |
Casey Dahlin <sadmac@google.com> |
Merge "Add hidden support for arrays of raw file descriptors" am: 376d5f350c * commit '376d5f350c6618d915338a9927b5d0f5fb61eba8': Add hidden support for arrays of raw file descriptors
|
2f974b252f819405a54798c9736f448f979a095f |
|
05-Nov-2015 |
Casey Dahlin <sadmac@google.com> |
Add hidden support for arrays of raw file descriptors Change-Id: I4013e0700369764a26485d8620ebf16d8bea1951 Test: Built and ran Android in an emulator Bug: 25242023 Signed-off-by: Casey Dahlin <sadmac@google.com>
/frameworks/base/core/java/android/os/Parcel.java
|
0450565d9a6de0f0828c9ad8ce16c8645c6f394c |
|
23-Oct-2015 |
Adrian Roos <roosa@google.com> |
Revert "Revert "Track ashmem memory usage in Parcel"" This reverts commit e2adb2cf0f2c90c77fab3f09285a92e05e70b567. Bug: 25004154 Change-Id: I9b432d1ebc39f3bbcd7afdefc403f0fb6ced8158
/frameworks/base/core/java/android/os/Parcel.java
|
e2adb2cf0f2c90c77fab3f09285a92e05e70b567 |
|
23-Oct-2015 |
Ian Pedowitz <ijpedowitz@google.com> |
Revert "Track ashmem memory usage in Parcel" This reverts commit ab3f9724035046d65124a72db2a09c824b3d5c67. Bug: 25169267 Bug: 25191602 Bug: 25004154 Change-Id: Ic51e62515273e4687359dfd9ff770a4d06c0c667
/frameworks/base/core/java/android/os/Parcel.java
|
ab3f9724035046d65124a72db2a09c824b3d5c67 |
|
21-Oct-2015 |
Adrian Roos <roosa@google.com> |
Track ashmem memory usage in Parcel Bug: 25004154 Change-Id: Id9d5656dd0605f1b50525596b75601309f67ebdc (cherry picked from commit 4701a496a5477a7de01fbc9eaf4af9812f83770c)
/frameworks/base/core/java/android/os/Parcel.java
|
b9f7aac3488873677377b36c57338d758098f78e |
|
04-Mar-2015 |
Dan Sandler <dsandler@android.com> |
Icon: a clean, parcelable place for images. Binder APIs which wish to consume Bitmaps *and* drawable resources can now do so by using Icon, a kind of union type that accommodates each of these. Icon also accepts byte arrays holding compressed Bitmaps (PNG, JPEG, etc), which saves clients the additional memory cost of decoding and sending full uncompressed bitmaps through Binder interfaces. Receiving clients can call loadDrawable{,Async} and then getDrawable to start immediately using the image in an ImageView or other Drawable-hosting container. Bug: 19609468 Change-Id: Ic1343711c2ac0b15876b46f0b6008b0108a49470
/frameworks/base/core/java/android/os/Parcel.java
|
8dea8744ac12a97533e8de0f8e56a58d630eb489 |
|
20-Apr-2015 |
Jens Ole Lauridsen <jlauridsen@google.com> |
parcel: Add efficient methods for writing and reading a parcelable. The documentation used to recommend calling Parcelable.writeToParcel instead of using the Parcel API for sending Parcelable types. This leaves the developer to have to deal with null values and makes it harder to create tools that generate correct efficient code. I suggest that we add a these 2 methods: writeTypedObject and createTypedObject as an alternative. Change-Id: I85443417909dcb9590d3f0a72f0130a4da4ead38
/frameworks/base/core/java/android/os/Parcel.java
|
52dbaa08cdb7866fa51f98e4572f17077c492554 |
|
22-Apr-2015 |
Neil Fuller <nfuller@google.com> |
Merge "Add checks for types in Parcel / avoid class initialization"
|
aa861666ed537389e335f586bc84fe8ddb9fb026 |
|
21-Apr-2015 |
Dan Sandler <dsandler@android.com> |
Fix build. Change-Id: I0e419fdb36cedba67fc6da7f71134d9728f66150
/frameworks/base/core/java/android/os/Parcel.java
|
44e440cc7e834de7811f005998acb32716835b00 |
|
20-Apr-2015 |
Neil Fuller <nfuller@google.com> |
Add checks for types in Parcel / avoid class initialization Make Parcel more stringent to avoid initializing classes that are not related to Parcelable. Two new checks: 1) That the class found on the stream implements Parcelable. 2) That the type of the CREATOR field declared on the class found on the stream actually implements Parcelable.Creator. For (1) the new check that a class in the stream is actually Parcelable. This will affect handling of invalid streams or code that didn't obey the requirements. For (2) this change could break some apps that had a CREATOR field in a Parcelable class that was not declared to be (at least) a Parcelable.Creator: it is no longer sufficient for the type to implement Parcelable.Creator, the field must be declared as such. This change includes doc updates for Parcelable to make the requirement around the declared type of the CREATOR field more concrete. This change also makes the generics slightly tidier/explicit, annotates code as unchecked where needed and removes some assumptions that can not be guaranteed with Java's type system and the current definitions. For example, there's no guarantee right now that Parcelable.Creator returns objects that are actually Parcelable, or that the CREATOR object associated with a Parcelable will return objects of the surrounding class. The first we can't do something about without breaking the public API (due to implementations like TextUtils.CHAR_SEQUENCE_CREATOR). The second is currently typically implicitly enforced with an implicit cast in the (app's) calling code (e.g. callers to readParcelable() that causes a language-introduced cast to the type expected). A larger refactoring of Parcel would be required to ensure that the class that is produced by Creator is of a type compatible with the class that declared CREATOR, and is not a goal for this change. A fix is included for a class that doesn't implement Parcelable like it should and would probably fail check (1). Bug: 1171613 Change-Id: I31d07516efee29a320e80f4bc4f96aaac628f81c
/frameworks/base/core/java/android/os/Parcel.java
|
5ce0430edfc176de29c0cf503975570dfda8111f |
|
10-Apr-2015 |
Dan Sandler <dsandler@android.com> |
Add ashmem stats to Parcels. Developers can now analyze the true RAM cost of the parcels they create when those parcels contain ashmem blobs (such as Bitmap data). Requires change Ifaf115da in frameworks/native. Bug: 20079551 Change-Id: Ifaf115dabd1a59cdb1b46e2d49c41f64ac107de4
/frameworks/base/core/java/android/os/Parcel.java
|
3d07c94c393831091958fe6a98811843db8973bd |
|
14-Mar-2015 |
Dianne Hackborn <hackbod@google.com> |
Add new voice request for picking from a list. Also add API for voice interaction service to control whether the system should hold a wake lock while it is working with an activity (and actually *do* hold a wake lock while doing so, duh!). And while in there, clean up the launching wake lock to correctly give blame to the app that is launching. Change-Id: I7cc4d566b80f59fe0a9ac51ae9bbb7188a01f433
/frameworks/base/core/java/android/os/Parcel.java
|
9adf1c54226940e9f9065d92b4edd2b232122302 |
|
05-Feb-2015 |
John Spurlock <jspurlock@google.com> |
am ac7b9dd3: am 42d3b66f: am e0852368: Fix a few typos in Parcel.java. * commit 'ac7b9dd39f64118a2129c17cdc7b6c93e53e1c42': Fix a few typos in Parcel.java.
|
e08523684d5414117f81debd4eb14bc8eb494c29 |
|
04-Feb-2015 |
John Spurlock <jspurlock@google.com> |
Fix a few typos in Parcel.java. Change-Id: Ic1674fc72f08a0f3536b4870a5ce7d14ee6fcc16
/frameworks/base/core/java/android/os/Parcel.java
|
fabb70b2efbd125f74923d19ab12bc8e1371ed1f |
|
11-Nov-2014 |
Dianne Hackborn <hackbod@google.com> |
Add reporting of Parcel memory/count. Also fix issue #18340771: Dumpsys Procstats missing a newline Change-Id: I0c612187a3fb4d7eeafbf97d373efdef732c477e
/frameworks/base/core/java/android/os/Parcel.java
|
33d738a10209d4dc882a65285d6e71cfaeabe769 |
|
12-Sep-2014 |
Dianne Hackborn <hackbod@google.com> |
Allow throwing UnsupportedOperationException across Binder. Change-Id: I3a9b81958886033d546c3a20331716dbb9492365
/frameworks/base/core/java/android/os/Parcel.java
|
5ef33984d0cc50bf4654b0d8e9557ac34d44fddd |
|
05-Sep-2014 |
Jeff Sharkey <jsharkey@android.com> |
Move Size parceling to Bundle. Size itself shouldn't be Parcelable, since that would be a layering violation. Bug: 17390381 Change-Id: Ica62709bd889db51c916c550a0146714b002baa3
/frameworks/base/core/java/android/os/Parcel.java
|
9c3e74f1f77d3b29ad47d2c74b0a0061e67c76f1 |
|
14-Aug-2014 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #16794553: Duplicate ArrayMap entries in Bundle... ...can lead to launching of un-exported activities We now validate the array map after unparcelling to make sure there are no duplicate keys. And to make up for the performance overhead this introduces, I switched the parcelling/unparcelling code to write keys as explicit string objects rather than generic values. There was no reason to use generic values since the write method itself only accepts an array map with String keys. Change-Id: I57bda9eb79ceaaa9c1b94ad49d9e462b52102149
/frameworks/base/core/java/android/os/Parcel.java
|
39c12fab49075b715c253c68c84b5c10c3150197 |
|
26-Jul-2014 |
Sandeep Siddhartha <sansid@google.com> |
Use blob (shared memory) for large data in sound model/recognition event/config Also add a missing null check in writeBlob Bug: 16516353 Change-Id: Ie702f8daae541cab7c2cee6e13d49e7fc84c84e1
/frameworks/base/core/java/android/os/Parcel.java
|
90d7a3e996ee3a6e33e655341c5d301fbe30cd58 |
|
26-Jul-2014 |
Sandeep Siddhartha <sansid@google.com> |
Add read/writeBlob to Parcel These are {@hide}en for now. Bug: 16516353 Change-Id: Ie1635617ee8611a78be9068a7ce674e34c30301d
/frameworks/base/core/java/android/os/Parcel.java
|
719e6b167041ffaffc2245f692714c8de191863f |
|
05-Apr-2014 |
Craig Mautner <cmautner@google.com> |
Introduce PersistableBundle The PersistableBundle class is similar to Bundle except that only objects that have meaning across reboots can be stored and there is a limited number of types that can be stored. More specifically Binders, FileDescriptors, Parcelables, Booleans, Bytes, Shorts, Chars, CharSequences, Floats, and ArrayLists cannot be stored. Fixes bug 13736007. Change-Id: If6595b2e6fd92af6b7f60c4f7140ae867c258794
/frameworks/base/core/java/android/os/Parcel.java
|
5784f159ab9da9dd89c82926abdda26916503325 |
|
21-Feb-2014 |
Elliott Hughes <enh@google.com> |
am 48dcf9d5: am d7d37256: am b2f07b27: am 4a809272: Merge "Fix documentation for Parcel.readException()." * commit '48dcf9d5f59acf53a3ac0eda141ec323534a3321': Fix documentation for Parcel.readException().
|
4a80927241b3168d9d5138c46c22385d6467a736 |
|
21-Feb-2014 |
Elliott Hughes <enh@google.com> |
Merge "Fix documentation for Parcel.readException()."
|
5ea06c59be1f7a0495378f703562ee02eaad99d8 |
|
13-Feb-2014 |
Paul Duffin <paulduffin@google.com> |
am 4de91118: am 0741e11c: am 75d67c6a: am d562a9b5: Merge "Improve Parcel\'s handling of non-primitive arrays" * commit '4de9111819638b70dd6fb58094d7a61477fc59da': Improve Parcel's handling of non-primitive arrays
|
ac5a0828c14eea59f2ffda85432ad1977d3e1ce0 |
|
03-Feb-2014 |
Paul Duffin <paulduffin@google.com> |
Improve Parcel's handling of non-primitive arrays Treat arrays other than actual Object arrays (i.e. those whose component type is actually Object) and the primitive arrays already handled specially by Parcel as Serializable's. Issue: 64583 Change-Id: I3ff797f3262e77e4de27f35709bceee5410d1ed4
/frameworks/base/core/java/android/os/Parcel.java
|
ef099b71838e15758c8e859af21748a123bb4a99 |
|
29-Jan-2014 |
Narayan Kamath <narayan@google.com> |
am 4a587146: am 09d07d0d: am e3e4b405: am 9846fb69: am 50afaefd: Merge "AArch64: Make Binder and Parcel 64-bit compatible" * commit '4a58714606fdeb2e740b0ce51ea5074783e2ecf4': AArch64: Make Binder and Parcel 64-bit compatible
|
8ab665dda40ab10e60fc69392022171f454af530 |
|
22-Jan-2014 |
Ashok Bhat <ashok.bhat@arm.com> |
AArch64: Make Binder and Parcel 64-bit compatible Changes include [x] Long is used to store native pointers [x] Added new method obtain(long obj) to Parcel. Binder uses this method instead of obtain(int obj). [x] obtain(int) has been changed to throw unsupported operation exception. Change-Id: I408e0f2a24deb28c9277d86670653a51eb314266 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>
/frameworks/base/core/java/android/os/Parcel.java
|
b34a4615f82a4ad8ce2c0687f47e2113e057e893 |
|
23-Jan-2014 |
Narayan Kamath <narayan@google.com> |
Hide android.os.Parcel.obtain(int). This will break on 64 bit because 64 bit pointers are wider than java int. Also, this method technically isn't a public API because it's a protected method on a final class. It shows up in our api.txt files because of a quirk in the API generation system. Change-Id: I2b574943008ed34696b048195c0cac6af1aa0a3b
/frameworks/base/core/java/android/os/Parcel.java
|
5002b8c972967b9f0f58dcefe6e37ea79fa9a179 |
|
10-Jan-2014 |
John Spurlock <jspurlock@google.com> |
Use custom classloader if provided for Serializables. If an explicit classloader is provided during unparcel, use it when deserializing java serializables. Change-Id: I2b354f0b55359201528234b8095aa0bc102928ec
/frameworks/base/core/java/android/os/Parcel.java
|
879ea451cefa535803d9742506cf51e2e0df75a7 |
|
02-Jan-2014 |
Mark Doliner <markdoliner@google.com> |
Fix documentation for Parcel.readException(). The old documentation was kind of useless and not clear, so this is an improvement. In addition to this change, I think this method should probably be private instead of public, especially since the values for code are private. But it's too late to change that now. Also the method name is pretty poor, since it's not actually reading anything. Something like "throwException" would be more appropriate. I'm open to suggestions on how to improve this situation. Maybe mark the method as deprecated with a comment that it will be made private in the future? Change-Id: I830f2bcf606714bd130d8c953aa33974b33c9a83
/frameworks/base/core/java/android/os/Parcel.java
|
8aee64d18b6b90e46e886a80d8de0467d682ddc4 |
|
25-Oct-2013 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #11290095: Parcel change causing crashing in KLP... ...when reading from empty byte[] Better handling of empty bundles and parcels. Change-Id: Ie9182e43a52b8f163e8fb20bd1d110e0832683e6
/frameworks/base/core/java/android/os/Parcel.java
|
4a7d824c3b41eafc4ff91d3253ff8a9ebd60a454 |
|
03-Oct-2013 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #10921903: CTS: android.os.cts.ParcelTest#testReadBundle... ...fails from KRS84 across all platforms My fix for issue #10807048 was wrong, wrong, wrong. The problem was actually just a stupid mistake in ArrayMap.erase(). This makes it all right. Change-Id: I762f7a2d5100bceb86a091ab3d6368edc21b4266
/frameworks/base/core/java/android/os/Parcel.java
|
e784d1e4cfeaf3a9accd7caa33c087abd8f39040 |
|
21-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #10807048: Groupon: The application crash when user rotates... ...device to another mode (portrait or landscape) on Main page. So, it turns out that Bundle claimed to have an invariant that either mParcelledData or mMap would hold its data, never both. The new implementation on top of ArrayMap assumed this was the case. However, there is one situation where it is not true: an application can take an existing Bundle that contains data, and call readFromParcel() on it. The implementation of readFromParcel() would just pull out the parceled data and stuff it in to mParcelledData for later unparceling, even if that Bundle already had a non-empty mMap. To fix this, we just look for this case in readFromParcel() and immediately unparcel at that point into the existing map, using a new unparcelling method that doesn't rely on the target map being empty. Change-Id: Ib816b6876a6cd2760b7a3372c7a79ca2f12dfeba
/frameworks/base/core/java/android/os/Parcel.java
|
7e7144218e8681fff2065a891de517bad6fe1b38 |
|
14-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Implement #10666712: NetworkOnMainThreadException should be... ...relayed back to calling application What's one more exception between friends? Change-Id: Ib83c7bfbddd397457dcdbe506a8cd2bc0f4fb70b
/frameworks/base/core/java/android/os/Parcel.java
|
da5a3e12f4f8f965c57d6f93c74190f43ea233f3 |
|
11-Aug-2013 |
Jeff Sharkey <jsharkey@android.com> |
Richer ParcelFileDescriptor close events. When reading from the end of a pipe or socket, there is no way to tell if the other end has finished successfully, encountered an error, or outright crashed. To solve this, we create a second socketpair() as a communication channel between the two ends of a pipe or socket pair, sending a status code with details about why the ParcelFileDescriptor was closed. The writer end of a pipe or socket can closeWithError() to send a message to the reader end. When the reader encounters EOF, they call checkError() to detect if any error occured. This also detects the case where the remote process died without sending a success message. This design is also extended to support regular files on disk, using the communication channel above to detect various remote close events or crashes, and delivering that event to a supplied OnCloseListener. Replaces JNI with best-practice Libcore.os calls, and deprecates some flags to match Context. Bug: 10330121 Change-Id: I8cfa1e4fb6f57397667c7f785106193e0faccad3
/frameworks/base/core/java/android/os/Parcel.java
|
b87655b3e551c6a32f34084c8533800bbd1aff7d |
|
18-Jul-2013 |
Dianne Hackborn <hackbod@google.com> |
Switch Bundle's implementation over to ArrayMap. That was... um... easier than I thought it was going to be. Change-Id: Id8f2211c1d5f8145e0bb009dca0f62a590f2b860
/frameworks/base/core/java/android/os/Parcel.java
|
dcbaf661bfa931f481022c27987798a03ce7a932 |
|
26-Apr-2013 |
Daniel Sandler <dsandler@android.com> |
Filter out dangerous CharSequences in Notification. If an app mistakenly puts some Parcelable implementation of CharSequence in here, Bundle will try to marshal the derived class, which is going to be bad news when we try to unparcel it in another process. Additionally add a proper stack trace to unparceling failures (otherwise you have no idea where the bad parcel was being used). Bug: 8725271 Change-Id: Ide19b986d65c7f47929cf2dde4e62b762c469fee
/frameworks/base/core/java/android/os/Parcel.java
|
d8e1dbb6bc1fbaf4f2e38c3ba92ced94270deaac |
|
18-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
Rework ParceledListSlice to be much easier to use. Take advantage of this to return better information about packages filtered by permissions -- include the permissions they have in the requested array. Also fix issue #8026793 (Contact picture shows default pic while searching for a contact in qsb) by using the base package name of the Context when reporting the app name of an operation. Otherwise you could make a resource-only context for another application and do calls through that and get reported as the wrong app. Change-Id: I5e0488bf773acea5a3d22f245641828e1a106fb8
/frameworks/base/core/java/android/os/Parcel.java
|
97a72f6693a7bee3255b2307c6bb18f66669a36c |
|
11-Jan-2013 |
Irfan Sheriff <isheriff@google.com> |
Handle missing static for CREATOR I made a mistake of missing out on static for CREATOR on a Parcelable and it threw a NPE which was not obvious. We do not get NoSuchFieldException when CREATOR exists but is not static. Change-Id: Ib06f60797c00722075255d45e8189f8cebef9ae2
/frameworks/base/core/java/android/os/Parcel.java
|
f76a50ce8fdc6aea22cabc77b2977a1a15a79630 |
|
09-Mar-2012 |
Ken Wakasa <kwakasa@google.com> |
Fix obvious typos under frameworks/base/core Change-Id: Ia5fc3db1bb51824e7523885553be926bcc42d736
/frameworks/base/core/java/android/os/Parcel.java
|
047238ced42eea812de9d39a9f32e94d002bfa5c |
|
08-Mar-2012 |
Jeff Sharkey <jsharkey@android.com> |
Switch Parcel to static JNI calls, pass pointer. Instead of using parcelForJavaObject(), pass down the mNativeObj pointer explicitly. Benchmarks show that writeInt() is roughly 3x faster with this approach. Change-Id: I24ca235c334c44be716070aa8066ec8a429eadb7
/frameworks/base/core/java/android/os/Parcel.java
|
c04db7e06737c5b9bae276ac462858d44002672e |
|
04-Oct-2011 |
Dianne Hackborn <hackbod@google.com> |
Fix handling of "allow fds" state. Didn't take into account nesting of bundles. Boo. Change-Id: Ic8cf21ad8d6f4938a3e105128624c9d162310d01
/frameworks/base/core/java/android/os/Parcel.java
|
9ecebbfbf768fd63e9a6c9a09c86d81c7737ee2d |
|
29-Sep-2011 |
Dianne Hackborn <hackbod@google.com> |
Add mechanism for Parcel to not allow FDs to be written to it. This is to help implement issue #5224703. Change-Id: I026a5890495537d15b57fe61227a640aac806d46
/frameworks/base/core/java/android/os/Parcel.java
|
b46ed7636be9341b6ce0b158b3d86f34a437e6da |
|
03-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
Add new Fragment API for explicitly saving/restoring state. Also fix issue #4519821: Blank screen displayed on tapping "Battery Use" option in the settings We weren't correctly doing the full Activity resume code when coming back from delivering a new Intent or result. And fix a fragment problem where we still weren't correctly restoring the state of list views. (I think this was from a bad manual-merge from master.) Change-Id: If79dc7e998155c39ab8c04781f6c73a82238a9ef
/frameworks/base/core/java/android/os/Parcel.java
|
9a84983a9fd9959671e102045eaf185b83291269 |
|
08-Apr-2011 |
Dianne Hackborn <hackbod@google.com> |
DO NOT MERGE. Integrate from master: Improve activity manager debug dumps. Activity manager now does all dump requests into apps asynchronously, so it can nicely timeout if there is an app problem. Also lots of general cleanup of the am dump output. Change-Id: I99447b87f77a701af52aeca984d93dfe931f065d
/frameworks/base/core/java/android/os/Parcel.java
|
c9119f5034d36f548bbddd8f60291e24ab4e270b |
|
01-Mar-2011 |
Dianne Hackborn <hackbod@google.com> |
Add ParcelFileDescriptor APIs to get raw fd. Change-Id: I66ba72ffffd27237e60c9411453eef950ae62705
/frameworks/base/core/java/android/os/Parcel.java
|
a28b83ee04ca25100781f37a50665d6e1b05e3a2 |
|
28-Feb-2011 |
Elliott Hughes <enh@google.com> |
Fix Parcel.writeNative to not ignore 'offset'. Also switch to using libcore's array bounds checking. (This variant had no detail message and was missing the length check.) Bug: http://code.google.com/p/android/issues/detail?id=15075 Change-Id: Icfc045bd59403b59f02d95c8514abf881d3996e5
/frameworks/base/core/java/android/os/Parcel.java
|
3c1363beec9c142c062d8704b8bef4230b42eae5 |
|
20-Jul-2010 |
Dan Egnor <egnor@google.com> |
am 2f0dc6d9: Merge "COMMENT ONLY change to add some warnings about ParcelFileDescriptor behavior with Parcel.writeValue()." into froyo Merge commit '2f0dc6d9f50ceece294e9db393583e655d3bf781' into gingerbread * commit '2f0dc6d9f50ceece294e9db393583e655d3bf781': COMMENT ONLY change to add some warnings about ParcelFileDescriptor
|
b3e4ef37021a9e5518fdbc7d0cbb0a1709d5301b |
|
20-Jul-2010 |
Dan Egnor <egnor@google.com> |
COMMENT ONLY change to add some warnings about ParcelFileDescriptor behavior with Parcel.writeValue(). Change-Id: If55fcce29559379855735ff5297cf4f46d5d6be6 Bug: 2847738
/frameworks/base/core/java/android/os/Parcel.java
|
703e5d3c7fbeb8ca0978045db01d40318f838612 |
|
15-Jul-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
StrictMode: avoid an allocation in common case Make the initialValue() of the ThreadLocal be null, so checking it doesn't cause one to be created in the case of an RPC call not using StrictMode. Change-Id: I3ea19ce444a1b3c39a6e53c5cb5d4faf4b07a6c8
/frameworks/base/core/java/android/os/Parcel.java
|
5b747191ff8ad43a54d41faf50436271d1d7fcc8 |
|
12-Jul-2010 |
Brad Fitzpatrick <bradfitz@android.com> |
StrictMode: gather and return violating stacks in Binder replies Now, when Thread A has a strict mode policy in effect and does a Binder call to Thread B (most likely in another process), the strict mode policy is passed along, but with the GATHER penalty bit set which overrides other policies and instead gathers all offending stack traces to a threadlocal which are then written back in the Parcel's reply header. Change-Id: I7d4497032a0609b37b1a2a15855f5c929ba0584d
/frameworks/base/core/java/android/os/Parcel.java
|
08bbffb049c135c5dfd40d261118c90d1a6dc111 |
|
25-Feb-2010 |
Bjorn Bringert <bringert@android.com> |
Support CharSequence lists+arrays in Bundle+Intent Fixes http://b/issue?id=2468093 Change-Id: Id82686f6ca8c9501f6db8a07018278a78ddacd05
/frameworks/base/core/java/android/os/Parcel.java
|
6aff905048ba3b03724f17e2aba9089872e14cd2 |
|
22-May-2009 |
Dianne Hackborn <hackbod@google.com> |
Fix a major bug in Bundle when unparcelling from AIDL. There was a serious problem in the Bundle(Parcel) and readFromParcel() methods, where it wasn't doing the copying of the Parcel that Parcel.readBundle() does and is a basic requirement for it to work correctly. This re-arranges the code to make all of these functions (hopefully) correct. Also fix a problem in Parcel where we were not duping fds when copying data from one Parcel to another.
/frameworks/base/core/java/android/os/Parcel.java
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/os/Parcel.java
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/os/Parcel.java
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/core/java/android/os/Parcel.java
|