19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.os; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 19c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedyimport android.annotation.Nullable; 20b87655b3e551c6a32f34084c8533800bbd1aff7dDianne Hackbornimport android.util.ArrayMap; 215ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkeyimport android.util.Size; 225ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkeyimport android.util.SizeF; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.SparseArray; 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.io.Serializable; 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport java.util.ArrayList; 27aeb16e2435f9975b9fa1fc4b747796647a21292eJeff Sharkeyimport java.util.List; 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * A mapping from String values to various Parcelable types. 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 330a8e160eb56f3b8f504b37349a79ec4edb7e5039Craig Mautnerpublic final class Bundle extends BaseBundle implements Cloneable, Parcelable { 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final Bundle EMPTY; 358aee64d18b6b90e46e886a80d8de0467d682ddc4Dianne Hackborn static final Parcel EMPTY_PARCEL; 36e784d1e4cfeaf3a9accd7caa33c087abd8f39040Dianne Hackborn 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project static { 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project EMPTY = new Bundle(); 39b87655b3e551c6a32f34084c8533800bbd1aff7dDianne Hackborn EMPTY.mMap = ArrayMap.EMPTY; 400a8e160eb56f3b8f504b37349a79ec4edb7e5039Craig Mautner EMPTY_PARCEL = BaseBundle.EMPTY_PARCEL; 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private boolean mHasFds = false; 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private boolean mFdsKnown = true; 459ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn private boolean mAllowFds = true; 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constructs a new, empty Bundle. 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Bundle() { 51719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super(); 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constructs a Bundle whose data is stored as a Parcel. The data 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * will be unparcelled on first contact, using the assigned ClassLoader. 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param parcelledData a Parcel containing a Bundle 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Bundle(Parcel parcelledData) { 61719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super(parcelledData); 62719e6b167041ffaffc2245f692714c8de191863fCraig Mautner 63719e6b167041ffaffc2245f692714c8de191863fCraig Mautner mHasFds = mParcelledData.hasFileDescriptors(); 64719e6b167041ffaffc2245f692714c8de191863fCraig Mautner mFdsKnown = true; 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 676aff905048ba3b03724f17e2aba9089872e14cd2Dianne Hackborn /* package */ Bundle(Parcel parcelledData, int length) { 68719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super(parcelledData, length); 69719e6b167041ffaffc2245f692714c8de191863fCraig Mautner 70719e6b167041ffaffc2245f692714c8de191863fCraig Mautner mHasFds = mParcelledData.hasFileDescriptors(); 71719e6b167041ffaffc2245f692714c8de191863fCraig Mautner mFdsKnown = true; 726aff905048ba3b03724f17e2aba9089872e14cd2Dianne Hackborn } 736aff905048ba3b03724f17e2aba9089872e14cd2Dianne Hackborn 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constructs a new, empty Bundle that uses a specific ClassLoader for 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * instantiating Parcelable and Serializable objects. 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param loader An explicit ClassLoader to use when instantiating objects 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * inside of the Bundle. 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Bundle(ClassLoader loader) { 82719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super(loader); 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constructs a new, empty Bundle sized to hold the given number of 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * elements. The Bundle will grow as needed. 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param capacity the initial capacity of the Bundle 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Bundle(int capacity) { 92719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super(capacity); 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Constructs a Bundle containing a copy of the mappings from the given 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bundle. 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param b a Bundle to be copied. 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Bundle(Bundle b) { 102719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super(b); 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mHasFds = b.mHasFds; 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mFdsKnown = b.mFdsKnown; 106719e6b167041ffaffc2245f692714c8de191863fCraig Mautner } 107719e6b167041ffaffc2245f692714c8de191863fCraig Mautner 108719e6b167041ffaffc2245f692714c8de191863fCraig Mautner /** 109719e6b167041ffaffc2245f692714c8de191863fCraig Mautner * Constructs a Bundle containing a copy of the mappings from the given 110719e6b167041ffaffc2245f692714c8de191863fCraig Mautner * PersistableBundle. 111719e6b167041ffaffc2245f692714c8de191863fCraig Mautner * 112719e6b167041ffaffc2245f692714c8de191863fCraig Mautner * @param b a Bundle to be copied. 113719e6b167041ffaffc2245f692714c8de191863fCraig Mautner */ 114719e6b167041ffaffc2245f692714c8de191863fCraig Mautner public Bundle(PersistableBundle b) { 115719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super(b); 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1191877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick * Make a Bundle for a single key/value pair. 1201877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick * 1211877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick * @hide 1221877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick */ 1231877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick public static Bundle forPair(String key, String value) { 1241877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick Bundle b = new Bundle(1); 1251877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick b.putString(key, value); 1261877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick return b; 1271877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick } 1281877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick 1291877d0158b529663b8315482e7346a7bcaa96166Brad Fitzpatrick /** 1309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Changes the ClassLoader this Bundle uses when instantiating objects. 1319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param loader An explicit ClassLoader to use when instantiating objects 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * inside of the Bundle. 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 135719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void setClassLoader(ClassLoader loader) { 137719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.setClassLoader(loader); 1389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1415164246d7e47b9c995ca1e1587f3056eb777f60bDianne Hackborn * Return the ClassLoader currently associated with this Bundle. 1425164246d7e47b9c995ca1e1587f3056eb777f60bDianne Hackborn */ 143719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 1445164246d7e47b9c995ca1e1587f3056eb777f60bDianne Hackborn public ClassLoader getClassLoader() { 145719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getClassLoader(); 1465164246d7e47b9c995ca1e1587f3056eb777f60bDianne Hackborn } 1479ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn 1489ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn /** @hide */ 1499ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn public boolean setAllowFds(boolean allowFds) { 1509ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn boolean orig = mAllowFds; 1519ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn mAllowFds = allowFds; 1529ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn return orig; 1539ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn } 1549ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn 1555164246d7e47b9c995ca1e1587f3056eb777f60bDianne Hackborn /** 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Clones the current Bundle. The internal map is cloned, but the keys and 1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * values to which it refers are copied by reference. 1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Object clone() { 1619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new Bundle(this); 1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Removes all elements from the mapping of this Bundle. 1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 167719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void clear() { 169719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.clear(); 170719e6b167041ffaffc2245f692714c8de191863fCraig Mautner 1719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mHasFds = false; 1729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mFdsKnown = true; 1739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 1769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts all mappings from the given Bundle into this Bundle. 1779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 178719e6b167041ffaffc2245f692714c8de191863fCraig Mautner * @param bundle a Bundle 1799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 180719e6b167041ffaffc2245f692714c8de191863fCraig Mautner public void putAll(Bundle bundle) { 1819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 182719e6b167041ffaffc2245f692714c8de191863fCraig Mautner bundle.unparcel(); 183719e6b167041ffaffc2245f692714c8de191863fCraig Mautner mMap.putAll(bundle.mMap); 1849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // fd state is now known if and only if both bundles already knew 186719e6b167041ffaffc2245f692714c8de191863fCraig Mautner mHasFds |= bundle.mHasFds; 187719e6b167041ffaffc2245f692714c8de191863fCraig Mautner mFdsKnown = mFdsKnown && bundle.mFdsKnown; 188719e6b167041ffaffc2245f692714c8de191863fCraig Mautner } 189719e6b167041ffaffc2245f692714c8de191863fCraig Mautner 190719e6b167041ffaffc2245f692714c8de191863fCraig Mautner /** 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Reports whether the bundle contains any parcelled file descriptors. 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean hasFileDescriptors() { 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (!mFdsKnown) { 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project boolean fdFound = false; // keep going until we find one or run out of data 196719e6b167041ffaffc2245f692714c8de191863fCraig Mautner 1979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mParcelledData != null) { 1989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mParcelledData.hasFileDescriptors()) { 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fdFound = true; 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else { 2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // It's been unparcelled, so we need to walk the map 203b87655b3e551c6a32f34084c8533800bbd1aff7dDianne Hackborn for (int i=mMap.size()-1; i>=0; i--) { 204b87655b3e551c6a32f34084c8533800bbd1aff7dDianne Hackborn Object obj = mMap.valueAt(i); 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (obj instanceof Parcelable) { 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if ((((Parcelable)obj).describeContents() 2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project & Parcelable.CONTENTS_FILE_DESCRIPTOR) != 0) { 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fdFound = true; 2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else if (obj instanceof Parcelable[]) { 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcelable[] array = (Parcelable[]) obj; 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project for (int n = array.length - 1; n >= 0; n--) { 214e58c7858a39d58a222fe8302dc5ffbe4a25c5bf1Taiju Tsuiki Parcelable p = array[n]; 215e58c7858a39d58a222fe8302dc5ffbe4a25c5bf1Taiju Tsuiki if (p != null && ((p.describeContents() 216e58c7858a39d58a222fe8302dc5ffbe4a25c5bf1Taiju Tsuiki & Parcelable.CONTENTS_FILE_DESCRIPTOR) != 0)) { 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fdFound = true; 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else if (obj instanceof SparseArray) { 2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SparseArray<? extends Parcelable> array = 2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project (SparseArray<? extends Parcelable>) obj; 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project for (int n = array.size() - 1; n >= 0; n--) { 225ecd21848731f55978cdac739e6d4460a83449202Taiju Tsuiki Parcelable p = array.valueAt(n); 226ecd21848731f55978cdac739e6d4460a83449202Taiju Tsuiki if (p != null && (p.describeContents() 2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project & Parcelable.CONTENTS_FILE_DESCRIPTOR) != 0) { 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fdFound = true; 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } else if (obj instanceof ArrayList) { 2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project ArrayList array = (ArrayList) obj; 2349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // an ArrayList here might contain either Strings or 2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Parcelables; only look inside for Parcelables 236719e6b167041ffaffc2245f692714c8de191863fCraig Mautner if (!array.isEmpty() && (array.get(0) instanceof Parcelable)) { 2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project for (int n = array.size() - 1; n >= 0; n--) { 2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Parcelable p = (Parcelable) array.get(n); 2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (p != null && ((p.describeContents() 2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project & Parcelable.CONTENTS_FILE_DESCRIPTOR) != 0)) { 2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project fdFound = true; 2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project break; 2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mHasFds = fdFound; 2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mFdsKnown = true; 2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mHasFds; 2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 255719e6b167041ffaffc2245f692714c8de191863fCraig Mautner 2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 257a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn * Filter values in Bundle to only basic types. 258a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn * @hide 259a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn */ 260a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn public void filterValues() { 261a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn unparcel(); 262a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn if (mMap != null) { 263a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn for (int i = mMap.size() - 1; i >= 0; i--) { 264a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn Object value = mMap.valueAt(i); 265a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn if (PersistableBundle.isValidType(value)) { 266a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn continue; 267a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn } 268a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn if (value instanceof Bundle) { 269a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn ((Bundle)value).filterValues(); 270a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn } 271a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn if (value.getClass().getName().startsWith("android.")) { 272a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn continue; 273a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn } 274a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn mMap.removeAt(i); 275a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn } 276a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn } 277a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn } 278a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn 279a83ce1dd2ad3a6b71e90ff4845afc1299fe17b9dDianne Hackborn /** 2809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a byte value into the mapping of this Bundle, replacing 2819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. 2829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 2849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a byte 2859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 286719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 287c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putByte(@Nullable String key, byte value) { 288719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putByte(key, value); 2899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 2929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a char value into the mapping of this Bundle, replacing 2939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. 2949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 2959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 296c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy * @param value a char 2979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 298719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 299c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putChar(@Nullable String key, char value) { 300719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putChar(key, value); 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a short value into the mapping of this Bundle, replacing 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a short 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 310719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 311c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putShort(@Nullable String key, short value) { 312719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putShort(key, value); 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a float value into the mapping of this Bundle, replacing 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a float 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 322719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 323c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putFloat(@Nullable String key, float value) { 324719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putFloat(key, value); 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a CharSequence value into the mapping of this Bundle, replacing 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a CharSequence, or null 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 334719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 335c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putCharSequence(@Nullable String key, @Nullable CharSequence value) { 336719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putCharSequence(key, value); 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a Parcelable value into the mapping of this Bundle, replacing 3419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 3429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 3449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a Parcelable object, or null 3459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 346c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putParcelable(@Nullable String key, @Nullable Parcelable value) { 3479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 3489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mMap.put(key, value); 3499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mFdsKnown = false; 3509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3535ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * Inserts a Size value into the mapping of this Bundle, replacing 3545ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * any existing value for the given key. Either key or value may be null. 3555ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * 3565ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * @param key a String, or null 3575ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * @param value a Size object, or null 3585ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey */ 359c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putSize(@Nullable String key, @Nullable Size value) { 3605ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey unparcel(); 3615ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey mMap.put(key, value); 3625ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey } 3635ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey 3645ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey /** 3655ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * Inserts a SizeF value into the mapping of this Bundle, replacing 3665ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * any existing value for the given key. Either key or value may be null. 3675ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * 3685ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * @param key a String, or null 3695ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * @param value a SizeF object, or null 3705ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey */ 371c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putSizeF(@Nullable String key, @Nullable SizeF value) { 3725ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey unparcel(); 3735ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey mMap.put(key, value); 3745ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey } 3755ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey 3765ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey /** 3779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts an array of Parcelable values into the mapping of this Bundle, 3789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * replacing any existing value for the given key. Either key or value may 3799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be null. 3809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 3829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value an array of Parcelable objects, or null 3839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 384c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putParcelableArray(@Nullable String key, @Nullable Parcelable[] value) { 3859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 3869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mMap.put(key, value); 3879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mFdsKnown = false; 3889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 3919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a List of Parcelable values into the mapping of this Bundle, 3929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * replacing any existing value for the given key. Either key or value may 3939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * be null. 3949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 3959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 3969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value an ArrayList of Parcelable objects, or null 3979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 398c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putParcelableArrayList(@Nullable String key, 399c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable ArrayList<? extends Parcelable> value) { 4009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 4019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mMap.put(key, value); 4029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mFdsKnown = false; 4039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 405aeb16e2435f9975b9fa1fc4b747796647a21292eJeff Sharkey /** {@hide} */ 406aeb16e2435f9975b9fa1fc4b747796647a21292eJeff Sharkey public void putParcelableList(String key, List<? extends Parcelable> value) { 407aeb16e2435f9975b9fa1fc4b747796647a21292eJeff Sharkey unparcel(); 408aeb16e2435f9975b9fa1fc4b747796647a21292eJeff Sharkey mMap.put(key, value); 409aeb16e2435f9975b9fa1fc4b747796647a21292eJeff Sharkey mFdsKnown = false; 410aeb16e2435f9975b9fa1fc4b747796647a21292eJeff Sharkey } 411aeb16e2435f9975b9fa1fc4b747796647a21292eJeff Sharkey 4129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a SparceArray of Parcelable values into the mapping of this 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Bundle, replacing any existing value for the given key. Either key 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * or value may be null. 4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a SparseArray of Parcelable objects, or null 4199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 420c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putSparseParcelableArray(@Nullable String key, 421c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable SparseArray<? extends Parcelable> value) { 4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 4239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mMap.put(key, value); 4249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mFdsKnown = false; 4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts an ArrayList<Integer> value into the mapping of this Bundle, replacing 4299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 4309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 4329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value an ArrayList<Integer> object, or null 4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 434719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 435c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putIntegerArrayList(@Nullable String key, @Nullable ArrayList<Integer> value) { 436719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putIntegerArrayList(key, value); 4379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts an ArrayList<String> value into the mapping of this Bundle, replacing 4419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 4449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value an ArrayList<String> object, or null 4459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 446719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 447c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putStringArrayList(@Nullable String key, @Nullable ArrayList<String> value) { 448719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putStringArrayList(key, value); 4499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 45208bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * Inserts an ArrayList<CharSequence> value into the mapping of this Bundle, replacing 45308bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * any existing value for the given key. Either key or value may be null. 45408bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * 45508bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * @param key a String, or null 45608bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * @param value an ArrayList<CharSequence> object, or null 45708bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert */ 458719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 459c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putCharSequenceArrayList(@Nullable String key, 460c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable ArrayList<CharSequence> value) { 461719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putCharSequenceArrayList(key, value); 46208bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert } 46308bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert 46408bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert /** 4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a Serializable value into the mapping of this Bundle, replacing 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a Serializable object, or null 4709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 471719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 472c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putSerializable(@Nullable String key, @Nullable Serializable value) { 473719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putSerializable(key, value); 4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a byte array value into the mapping of this Bundle, replacing 4789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 4799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 4819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a byte array object, or null 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 483719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 484c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putByteArray(@Nullable String key, @Nullable byte[] value) { 485719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putByteArray(key, value); 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a short array value into the mapping of this Bundle, replacing 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 4939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a short array object, or null 4949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 495719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 496c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putShortArray(@Nullable String key, @Nullable short[] value) { 497719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putShortArray(key, value); 4989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a char array value into the mapping of this Bundle, replacing 5029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 5039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a char array object, or null 5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 507719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 508c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putCharArray(@Nullable String key, @Nullable char[] value) { 509719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putCharArray(key, value); 5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a float array value into the mapping of this Bundle, replacing 5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a float array object, or null 5189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 519719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 520c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putFloatArray(@Nullable String key, @Nullable float[] value) { 521719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putFloatArray(key, value); 5229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 52508bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * Inserts a CharSequence array value into the mapping of this Bundle, replacing 52608bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * any existing value for the given key. Either key or value may be null. 52708bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * 52808bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * @param key a String, or null 52908bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * @param value a CharSequence array object, or null 53008bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert */ 531719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 532c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putCharSequenceArray(@Nullable String key, @Nullable CharSequence[] value) { 533719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.putCharSequenceArray(key, value); 53408bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert } 53508bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert 53608bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert /** 5379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts a Bundle value into the mapping of this Bundle, replacing 5389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 5399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 5419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value a Bundle object, or null 5429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 543c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putBundle(@Nullable String key, @Nullable Bundle value) { 5449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 5459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mMap.put(key, value); 5469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5493cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * Inserts an {@link IBinder} value into the mapping of this Bundle, replacing 5503cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * any existing value for the given key. Either key or value may be null. 5513cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * 5523cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * <p class="note">You should be very careful when using this function. In many 5533cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * places where Bundles are used (such as inside of Intent objects), the Bundle 5543cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * can live longer inside of another process than the process that had originally 5553cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * created it. In that case, the IBinder you supply here will become invalid 5563cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * when your process goes away, and no longer usable, even if a new process is 5573cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * created for you later on.</p> 5583cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * 5593cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * @param key a String, or null 5603cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * @param value an IBinder object, or null 5613cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn */ 562c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putBinder(@Nullable String key, @Nullable IBinder value) { 5633cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn unparcel(); 5643cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn mMap.put(key, value); 5653cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn } 5663cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn 5673cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn /** 5689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Inserts an IBinder value into the mapping of this Bundle, replacing 5699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * any existing value for the given key. Either key or value may be null. 5709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param value an IBinder object, or null 5739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated 5753cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * @hide This is the old name of the function. 5769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 5779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 578c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public void putIBinder(@Nullable String key, @Nullable IBinder value) { 5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 5809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mMap.put(key, value); 5819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or (byte) 0 if 5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key. 5869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String 5889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a byte value 5899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 590719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 5919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public byte getByte(String key) { 592719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getByte(key); 5939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 5969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or defaultValue if 5979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key. 5989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 5999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String 6009f6cb87522d395eacd87dff1da525f4dc9809d27Nicolas Klein * @param defaultValue Value to return if key does not exist 6019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a byte value 6029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 603719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 6049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Byte getByte(String key, byte defaultValue) { 605719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getByte(key, defaultValue); 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6099f6cb87522d395eacd87dff1da525f4dc9809d27Nicolas Klein * Returns the value associated with the given key, or (char) 0 if 6109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key. 6119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String 6139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a char value 6149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 615719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 6169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public char getChar(String key) { 617719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getChar(key); 6189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6219f6cb87522d395eacd87dff1da525f4dc9809d27Nicolas Klein * Returns the value associated with the given key, or defaultValue if 6229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key. 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String 6259f6cb87522d395eacd87dff1da525f4dc9809d27Nicolas Klein * @param defaultValue Value to return if key does not exist 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a char value 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 628719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public char getChar(String key, char defaultValue) { 630719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getChar(key, defaultValue); 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or (short) 0 if 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key. 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a short value 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 640719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public short getShort(String key) { 642719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getShort(key); 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or defaultValue if 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key. 6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String 6509f6cb87522d395eacd87dff1da525f4dc9809d27Nicolas Klein * @param defaultValue Value to return if key does not exist 6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a short value 6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 653719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public short getShort(String key, short defaultValue) { 655719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getShort(key, defaultValue); 6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or 0.0f if 6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key. 6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String 6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a float value 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 665719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public float getFloat(String key) { 667719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getFloat(key); 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or defaultValue if 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key. 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String 6759f6cb87522d395eacd87dff1da525f4dc9809d27Nicolas Klein * @param defaultValue Value to return if key does not exist 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a float value 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 678719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public float getFloat(String key, float defaultValue) { 680719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getFloat(key, defaultValue); 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 6849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 6859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a CharSequence value, or null 6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 691719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 692c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 693c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public CharSequence getCharSequence(@Nullable String key) { 694719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getCharSequence(key); 6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 698e3a7f628c6d9fef42be24999b3137ebe5c6f3525Dianne Hackborn * Returns the value associated with the given key, or defaultValue if 699ca2197b0457b1626b95a053d835ceaca43ac0286Narayan Kamath * no mapping of the desired type exists for the given key or if a null 700ca2197b0457b1626b95a053d835ceaca43ac0286Narayan Kamath * value is explicitly associatd with the given key. 701e3a7f628c6d9fef42be24999b3137ebe5c6f3525Dianne Hackborn * 702e3a7f628c6d9fef42be24999b3137ebe5c6f3525Dianne Hackborn * @param key a String, or null 703ca2197b0457b1626b95a053d835ceaca43ac0286Narayan Kamath * @param defaultValue Value to return if key does not exist or if a null 704ca2197b0457b1626b95a053d835ceaca43ac0286Narayan Kamath * value is associated with the given key. 705116751d84f6d276f2cac7074abd9f8ba23742958Christopher Tate * @return the CharSequence value associated with the given key, or defaultValue 706116751d84f6d276f2cac7074abd9f8ba23742958Christopher Tate * if no valid CharSequence object is currently mapped to that key. 707e3a7f628c6d9fef42be24999b3137ebe5c6f3525Dianne Hackborn */ 708719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 709c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public CharSequence getCharSequence(@Nullable String key, CharSequence defaultValue) { 710719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getCharSequence(key, defaultValue); 711e3a7f628c6d9fef42be24999b3137ebe5c6f3525Dianne Hackborn } 712e3a7f628c6d9fef42be24999b3137ebe5c6f3525Dianne Hackborn 713e3a7f628c6d9fef42be24999b3137ebe5c6f3525Dianne Hackborn /** 7149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 7169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 7195ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * @return a Size value, or null 7205ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey */ 721c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 722c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public Size getSize(@Nullable String key) { 7235ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey unparcel(); 7245ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey final Object o = mMap.get(key); 7255ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey try { 7265ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey return (Size) o; 7275ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey } catch (ClassCastException e) { 7285ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey typeWarning(key, o, "Size", e); 7295ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey return null; 7305ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey } 7315ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey } 7325ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey 7335ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey /** 7345ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * Returns the value associated with the given key, or null if 7355ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * no mapping of the desired type exists for the given key or a null 7365ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * value is explicitly associated with the key. 7375ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * 7385ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * @param key a String, or null 7395ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * @return a Size value, or null 7405ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey */ 741c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 742c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public SizeF getSizeF(@Nullable String key) { 7435ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey unparcel(); 7445ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey final Object o = mMap.get(key); 7455ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey try { 7465ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey return (SizeF) o; 7475ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey } catch (ClassCastException e) { 7485ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey typeWarning(key, o, "SizeF", e); 7495ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey return null; 7505ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey } 7515ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey } 7525ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey 7535ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey /** 7545ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * Returns the value associated with the given key, or null if 7555ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * no mapping of the desired type exists for the given key or a null 7565ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * value is explicitly associated with the key. 7575ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * 7585ef33984d0cc50bf4654b0d8e9557ac34d44fdddJeff Sharkey * @param key a String, or null 7599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a Bundle value, or null 7609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 761c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 762c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public Bundle getBundle(@Nullable String key) { 7639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 7649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Object o = mMap.get(key); 7659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (o == null) { 7669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 7679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 7699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (Bundle) o; 7709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (ClassCastException e) { 7719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project typeWarning(key, o, "Bundle", e); 7729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 7739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 7779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 7789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 7799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 7809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 7819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 7829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a Parcelable value, or null 7839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 784c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 785c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public <T extends Parcelable> T getParcelable(@Nullable String key) { 7869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 7879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Object o = mMap.get(key); 7889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (o == null) { 7899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 7909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 7929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (T) o; 7939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (ClassCastException e) { 7949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project typeWarning(key, o, "Parcelable", e); 7959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 7969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 8019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 8029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 8039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 8059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a Parcelable[] value, or null 8069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 807c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 808c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public Parcelable[] getParcelableArray(@Nullable String key) { 8099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 8109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Object o = mMap.get(key); 8119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (o == null) { 8129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 8139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 8159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (Parcelable[]) o; 8169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (ClassCastException e) { 8179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project typeWarning(key, o, "Parcelable[]", e); 8189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 8199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 8249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 8259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 8269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 8289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return an ArrayList<T> value, or null 8299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 830c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 831c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public <T extends Parcelable> ArrayList<T> getParcelableArrayList(@Nullable String key) { 8329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 8339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Object o = mMap.get(key); 8349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (o == null) { 8359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 8369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 8389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (ArrayList<T>) o; 8399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (ClassCastException e) { 8409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project typeWarning(key, o, "ArrayList", e); 8419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 8429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 8479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 8489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 8499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 8519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a SparseArray of T values, or null 8539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 854c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 855c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public <T extends Parcelable> SparseArray<T> getSparseParcelableArray(@Nullable String key) { 8569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 8579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Object o = mMap.get(key); 8589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (o == null) { 8599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 8609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 8629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (SparseArray<T>) o; 8639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (ClassCastException e) { 8649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project typeWarning(key, o, "SparseArray", e); 8659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 8669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 8719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 8729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 8739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 8759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a Serializable value, or null 8769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 877719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 878c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 879c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public Serializable getSerializable(@Nullable String key) { 880719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getSerializable(key); 8819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 8859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 8869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 8879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 8889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 8899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return an ArrayList<String> value, or null 8909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 891719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 892c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 893c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public ArrayList<Integer> getIntegerArrayList(@Nullable String key) { 894719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getIntegerArrayList(key); 8959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 8979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 8989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 8999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 9009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 9019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 9029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 9039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return an ArrayList<String> value, or null 9049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 905719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 906c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 907c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public ArrayList<String> getStringArrayList(@Nullable String key) { 908719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getStringArrayList(key); 9099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 9139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 9149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 9159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 9169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 91708bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * @return an ArrayList<CharSequence> value, or null 91808bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert */ 919719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 920c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 921c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public ArrayList<CharSequence> getCharSequenceArrayList(@Nullable String key) { 922719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getCharSequenceArrayList(key); 92308bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert } 92408bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert 92508bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert /** 92608bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * Returns the value associated with the given key, or null if 92708bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * no mapping of the desired type exists for the given key or a null 9289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 9299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 9309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 9319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a byte[] value, or null 9329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 933719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 934c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 935c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public byte[] getByteArray(@Nullable String key) { 936719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getByteArray(key); 9379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 9419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 9429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 9439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 9449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 9459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a short[] value, or null 9469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 947719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 948c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 949c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public short[] getShortArray(@Nullable String key) { 950719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getShortArray(key); 9519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 9559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 9569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 9579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 9589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 9599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a char[] value, or null 9609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 961719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 962c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 963c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public char[] getCharArray(@Nullable String key) { 964719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getCharArray(key); 9659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 9699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 9709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 9719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 9729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 9739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return a float[] value, or null 9749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 975719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 976c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 977c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public float[] getFloatArray(@Nullable String key) { 978719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getFloatArray(key); 9799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 9809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 9819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 9829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns the value associated with the given key, or null if 9839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * no mapping of the desired type exists for the given key or a null 9849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * value is explicitly associated with the key. 9859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 9869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param key a String, or null 98708bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * @return a CharSequence[] value, or null 98808bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert */ 989719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 990c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 991c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public CharSequence[] getCharSequenceArray(@Nullable String key) { 992719e6b167041ffaffc2245f692714c8de191863fCraig Mautner return super.getCharSequenceArray(key); 99308bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert } 99408bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert 99508bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert /** 99608bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * Returns the value associated with the given key, or null if 99708bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * no mapping of the desired type exists for the given key or a null 99808bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * value is explicitly associated with the key. 99908bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * 100008bbffb049c135c5dfd40d261118c90d1a6dc111Bjorn Bringert * @param key a String, or null 10019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return an IBinder value, or null 10023cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn */ 1003c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 1004c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public IBinder getBinder(@Nullable String key) { 10053cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn unparcel(); 10063cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn Object o = mMap.get(key); 10073cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn if (o == null) { 10083cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn return null; 10093cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn } 10103cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn try { 10113cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn return (IBinder) o; 10123cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn } catch (ClassCastException e) { 10133cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn typeWarning(key, o, "IBinder", e); 10143cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn return null; 10153cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn } 10163cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn } 10173cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn 10183cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn /** 10193cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * Returns the value associated with the given key, or null if 10203cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * no mapping of the desired type exists for the given key or a null 10213cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * value is explicitly associated with the key. 10223cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * 10233cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * @param key a String, or null 10243cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * @return an IBinder value, or null 10259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 10269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @deprecated 10273cbdddbd5ce6f52688d88f120c1e5214ed6afbdaDianne Hackborn * @hide This is the old name of the function. 10289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Deprecated 1030c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy @Nullable 1031c6a65dff3d9ed3e75f9f4f5abbf24e3d10bdba8bScott Kennedy public IBinder getIBinder(@Nullable String key) { 10329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project unparcel(); 10339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Object o = mMap.get(key); 10349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (o == null) { 10359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 10369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project try { 10389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return (IBinder) o; 10399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } catch (ClassCastException e) { 10409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project typeWarning(key, o, "IBinder", e); 10419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return null; 10429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public static final Parcelable.Creator<Bundle> CREATOR = 10469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Parcelable.Creator<Bundle>() { 1047719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 10489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Bundle createFromParcel(Parcel in) { 10499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return in.readBundle(); 10509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1052719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 10539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public Bundle[] newArray(int size) { 10549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return new Bundle[size]; 10559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 10579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 10599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Report the nature of this Parcelable's contents 10609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1061719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 10629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public int describeContents() { 10639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int mask = 0; 10649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (hasFileDescriptors()) { 10659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mask |= Parcelable.CONTENTS_FILE_DESCRIPTOR; 10669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mask; 10689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1069719e6b167041ffaffc2245f692714c8de191863fCraig Mautner 10709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 10719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Writes the Bundle contents to a Parcel, typically in order for 10729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * it to be passed through an IBinder connection. 10739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param parcel The parcel to copy this bundle to. 10749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 1075719e6b167041ffaffc2245f692714c8de191863fCraig Mautner @Override 10769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void writeToParcel(Parcel parcel, int flags) { 1077c04db7e06737c5b9bae276ac462858d44002672eDianne Hackborn final boolean oldAllowFds = parcel.pushAllowFds(mAllowFds); 10789ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn try { 1079719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.writeToParcelInner(parcel, flags); 10809ecebbfbf768fd63e9a6c9a09c86d81c7737ee2dDianne Hackborn } finally { 1081c04db7e06737c5b9bae276ac462858d44002672eDianne Hackborn parcel.restoreAllowFds(oldAllowFds); 10826aff905048ba3b03724f17e2aba9089872e14cd2Dianne Hackborn } 10839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 10869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Reads the Parcel contents into this Bundle, typically in order for 10879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * it to be passed through an IBinder connection. 10889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @param parcel The parcel to overwrite this bundle from. 10899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 10909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void readFromParcel(Parcel parcel) { 1091719e6b167041ffaffc2245f692714c8de191863fCraig Mautner super.readFromParcelInner(parcel); 1092719e6b167041ffaffc2245f692714c8de191863fCraig Mautner mHasFds = mParcelledData.hasFileDescriptors(); 10934a7d824c3b41eafc4ff91d3253ff8a9ebd60a454Dianne Hackborn mFdsKnown = true; 10949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 10959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 10969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 10979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public synchronized String toString() { 10989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mParcelledData != null) { 10998aee64d18b6b90e46e886a80d8de0467d682ddc4Dianne Hackborn if (mParcelledData == EMPTY_PARCEL) { 11008aee64d18b6b90e46e886a80d8de0467d682ddc4Dianne Hackborn return "Bundle[EMPTY_PARCEL]"; 11018aee64d18b6b90e46e886a80d8de0467d682ddc4Dianne Hackborn } else { 11028aee64d18b6b90e46e886a80d8de0467d682ddc4Dianne Hackborn return "Bundle[mParcelledData.dataSize=" + 11038aee64d18b6b90e46e886a80d8de0467d682ddc4Dianne Hackborn mParcelledData.dataSize() + "]"; 11048aee64d18b6b90e46e886a80d8de0467d682ddc4Dianne Hackborn } 11059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 11069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return "Bundle[" + mMap.toString() + "]"; 11079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1108719e6b167041ffaffc2245f692714c8de191863fCraig Mautner 11099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 1110