1ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazenpackage android.support.v4.app; 2ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen 3ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazenimport android.os.Bundle; 4ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazenimport android.os.Parcelable; 5ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen 6ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazenimport java.util.Arrays; 7ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen 8ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen/** 9ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen * @hide 10ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen */ 11ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazenclass BundleUtil { 12ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen /** 13ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen * Get an array of Bundle objects from a parcelable array field in a bundle. 14ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen * Update the bundle to have a typed array so fetches in the future don't need 15ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen * to do an array copy. 16ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen */ 17ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen public static Bundle[] getBundleArrayFromBundle(Bundle bundle, String key) { 18ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen Parcelable[] array = bundle.getParcelableArray(key); 19ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen if (array instanceof Bundle[] || array == null) { 20ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen return (Bundle[]) array; 21ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen } 22ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen Bundle[] typedArray = Arrays.copyOf(array, array.length, 23ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen Bundle[].class); 24ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen bundle.putParcelableArray(key, typedArray); 25ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen return typedArray; 26ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen } 27ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen} 28