package androidx.fragment.app; import androidx.collection.SimpleArrayMap; import androidx.fragment.app.Fragment; import java.lang.reflect.InvocationTargetException; /* loaded from: classes2.dex */ public class FragmentFactory { private static final SimpleArrayMap>> sClassCacheMap = new SimpleArrayMap<>(); private static Class loadClass(ClassLoader classLoader, String str) throws ClassNotFoundException { SimpleArrayMap>> simpleArrayMap = sClassCacheMap; SimpleArrayMap> simpleArrayMap2 = simpleArrayMap.get(classLoader); if (simpleArrayMap2 == null) { simpleArrayMap2 = new SimpleArrayMap<>(); simpleArrayMap.put(classLoader, simpleArrayMap2); } Class cls = simpleArrayMap2.get(str); if (cls != null) { return cls; } Class cls2 = Class.forName(str, false, classLoader); simpleArrayMap2.put(str, cls2); return cls2; } /* JADX INFO: Access modifiers changed from: package-private */ public static boolean isFragmentClass(ClassLoader classLoader, String str) { try { return Fragment.class.isAssignableFrom(loadClass(classLoader, str)); } catch (ClassNotFoundException unused) { return false; } } public static Class loadFragmentClass(ClassLoader classLoader, String str) { try { return loadClass(classLoader, str); } catch (ClassCastException e) { throw new Fragment.InstantiationException("Unable to instantiate fragment " + str + ": make sure class is a valid subclass of Fragment", e); } catch (ClassNotFoundException e2) { throw new Fragment.InstantiationException("Unable to instantiate fragment " + str + ": make sure class name exists", e2); } } public Fragment instantiate(ClassLoader classLoader, String str) { try { return loadFragmentClass(classLoader, str).getConstructor(new Class[0]).newInstance(new Object[0]); } catch (IllegalAccessException e) { throw new Fragment.InstantiationException("Unable to instantiate fragment " + str + ": make sure class name exists, is public, and has an empty constructor that is public", e); } catch (InstantiationException e2) { throw new Fragment.InstantiationException("Unable to instantiate fragment " + str + ": make sure class name exists, is public, and has an empty constructor that is public", e2); } catch (NoSuchMethodException e3) { throw new Fragment.InstantiationException("Unable to instantiate fragment " + str + ": could not find Fragment constructor", e3); } catch (InvocationTargetException e4) { throw new Fragment.InstantiationException("Unable to instantiate fragment " + str + ": calling Fragment constructor caused an exception", e4); } } }