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 Hazenclass BundleUtil { 9ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen /** 10ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen * Get an array of Bundle objects from a parcelable array field in a bundle. 11ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen * Update the bundle to have a typed array so fetches in the future don't need 12ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen * to do an array copy. 13ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen */ 14ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen public static Bundle[] getBundleArrayFromBundle(Bundle bundle, String key) { 15ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen Parcelable[] array = bundle.getParcelableArray(key); 16ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen if (array instanceof Bundle[] || array == null) { 17ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen return (Bundle[]) array; 18ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen } 19ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen Bundle[] typedArray = Arrays.copyOf(array, array.length, 20ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen Bundle[].class); 21ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen bundle.putParcelableArray(key, typedArray); 22ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen return typedArray; 23ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen } 24ce16e4276c2f61109a23b3f6707cfcd87b07c735Griff Hazen} 25