package androidx.fragment.app; import androidx.annotation.NonNull; import androidx.collection.SimpleArrayMap; import androidx.fragment.app.Fragment; import c.d.b.a.a; import java.lang.reflect.InvocationTargetException; public class FragmentFactory { private static final SimpleArrayMap>> sClassCacheMap = new SimpleArrayMap<>(); public static boolean isFragmentClass(@NonNull ClassLoader classLoader, @NonNull String str) { try { return Fragment.class.isAssignableFrom(loadClass(classLoader, str)); } catch (ClassNotFoundException unused) { return false; } } @NonNull private static Class loadClass(@NonNull ClassLoader classLoader, @NonNull 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 DEBUG: Type inference failed for r3v3. Raw type applied. Possible types: java.lang.Class, java.lang.Class */ @NonNull public static Class loadFragmentClass(@NonNull ClassLoader classLoader, @NonNull String str) { try { return loadClass(classLoader, str); } catch (ClassNotFoundException e) { throw new Fragment.InstantiationException(a.u("Unable to instantiate fragment ", str, ": make sure class name exists"), e); } catch (ClassCastException e2) { throw new Fragment.InstantiationException(a.u("Unable to instantiate fragment ", str, ": make sure class is a valid subclass of Fragment"), e2); } } @NonNull public Fragment instantiate(@NonNull ClassLoader classLoader, @NonNull String str) { try { return (Fragment) loadFragmentClass(classLoader, str).getConstructor(new Class[0]).newInstance(new Object[0]); } catch (InstantiationException e) { throw new Fragment.InstantiationException(a.u("Unable to instantiate fragment ", str, ": make sure class name exists, is public, and has an empty constructor that is public"), e); } catch (IllegalAccessException e2) { throw new Fragment.InstantiationException(a.u("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(a.u("Unable to instantiate fragment ", str, ": could not find Fragment constructor"), e3); } catch (InvocationTargetException e4) { throw new Fragment.InstantiationException(a.u("Unable to instantiate fragment ", str, ": calling Fragment constructor caused an exception"), e4); } } }