package androidx.activity.result; import android.annotation.SuppressLint; import android.content.Intent; import android.os.Bundle; import android.util.Log; import androidx.activity.result.contract.ActivityResultContract; import androidx.annotation.MainThread; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.app.ActivityOptionsCompat; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleEventObserver; import androidx.lifecycle.LifecycleOwner; import c.d.b.a.a; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Random; public abstract class ActivityResultRegistry { private static final int INITIAL_REQUEST_CODE_VALUE = 65536; private static final String KEY_COMPONENT_ACTIVITY_PENDING_RESULTS = "KEY_COMPONENT_ACTIVITY_PENDING_RESULT"; private static final String KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT = "KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT"; private static final String KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS = "KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS"; private static final String KEY_COMPONENT_ACTIVITY_REGISTERED_RCS = "KEY_COMPONENT_ACTIVITY_REGISTERED_RCS"; private static final String LOG_TAG = "ActivityResultRegistry"; public final transient Map> mKeyToCallback = new HashMap(); private final Map mKeyToLifecycleContainers = new HashMap(); private final Map mKeyToRc = new HashMap(); public final Map mParsedPendingResults = new HashMap(); public final Bundle mPendingResults = new Bundle(); private Random mRandom = new Random(); private final Map mRcToKey = new HashMap(); /* renamed from: androidx.activity.result.ActivityResultRegistry$1 reason: invalid class name */ public class AnonymousClass1 implements LifecycleEventObserver { public final /* synthetic */ ActivityResultCallback val$callback; public final /* synthetic */ ActivityResultContract val$contract; public final /* synthetic */ String val$key; public AnonymousClass1(String str, ActivityResultCallback activityResultCallback, ActivityResultContract activityResultContract) { this.val$key = str; this.val$callback = activityResultCallback; this.val$contract = activityResultContract; } @Override // androidx.lifecycle.LifecycleEventObserver public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner, @NonNull Lifecycle.Event event) { if (Lifecycle.Event.ON_START.equals(event)) { ActivityResultRegistry.this.mKeyToCallback.put(this.val$key, new CallbackAndContract<>(this.val$callback, this.val$contract)); if (ActivityResultRegistry.this.mParsedPendingResults.containsKey(this.val$key)) { Object obj = ActivityResultRegistry.this.mParsedPendingResults.get(this.val$key); ActivityResultRegistry.this.mParsedPendingResults.remove(this.val$key); this.val$callback.onActivityResult(obj); } ActivityResult activityResult = (ActivityResult) ActivityResultRegistry.this.mPendingResults.getParcelable(this.val$key); if (activityResult != null) { ActivityResultRegistry.this.mPendingResults.remove(this.val$key); this.val$callback.onActivityResult(this.val$contract.parseResult(activityResult.getResultCode(), activityResult.getData())); } } else if (Lifecycle.Event.ON_STOP.equals(event)) { ActivityResultRegistry.this.mKeyToCallback.remove(this.val$key); } else if (Lifecycle.Event.ON_DESTROY.equals(event)) { ActivityResultRegistry.this.unregister(this.val$key); } } } /* renamed from: androidx.activity.result.ActivityResultRegistry$2 reason: invalid class name */ public class AnonymousClass2 extends ActivityResultLauncher { public final /* synthetic */ ActivityResultContract val$contract; public final /* synthetic */ String val$key; public final /* synthetic */ int val$requestCode; public AnonymousClass2(int i, ActivityResultContract activityResultContract, String str) { this.val$requestCode = i; this.val$contract = activityResultContract; this.val$key = str; } @Override // androidx.activity.result.ActivityResultLauncher @NonNull public ActivityResultContract getContract() { return this.val$contract; } @Override // androidx.activity.result.ActivityResultLauncher public void launch(I i, @Nullable ActivityOptionsCompat activityOptionsCompat) { ActivityResultRegistry.this.onLaunch(this.val$requestCode, this.val$contract, i, activityOptionsCompat); } @Override // androidx.activity.result.ActivityResultLauncher public void unregister() { ActivityResultRegistry.this.unregister(this.val$key); } } /* renamed from: androidx.activity.result.ActivityResultRegistry$3 reason: invalid class name */ public class AnonymousClass3 extends ActivityResultLauncher { public final /* synthetic */ ActivityResultContract val$contract; public final /* synthetic */ String val$key; public final /* synthetic */ int val$requestCode; public AnonymousClass3(int i, ActivityResultContract activityResultContract, String str) { this.val$requestCode = i; this.val$contract = activityResultContract; this.val$key = str; } @Override // androidx.activity.result.ActivityResultLauncher @NonNull public ActivityResultContract getContract() { return this.val$contract; } @Override // androidx.activity.result.ActivityResultLauncher public void launch(I i, @Nullable ActivityOptionsCompat activityOptionsCompat) { ActivityResultRegistry.this.onLaunch(this.val$requestCode, this.val$contract, i, activityOptionsCompat); } @Override // androidx.activity.result.ActivityResultLauncher public void unregister() { ActivityResultRegistry.this.unregister(this.val$key); } } public static class CallbackAndContract { public final ActivityResultCallback mCallback; public final ActivityResultContract mContract; public CallbackAndContract(ActivityResultCallback activityResultCallback, ActivityResultContract activityResultContract) { this.mCallback = activityResultCallback; this.mContract = activityResultContract; } } public static class LifecycleContainer { public final Lifecycle mLifecycle; private final ArrayList mObservers = new ArrayList<>(); public LifecycleContainer(@NonNull Lifecycle lifecycle) { this.mLifecycle = lifecycle; } public void addObserver(@NonNull LifecycleEventObserver lifecycleEventObserver) { this.mLifecycle.addObserver(lifecycleEventObserver); this.mObservers.add(lifecycleEventObserver); } public void clearObservers() { Iterator it = this.mObservers.iterator(); while (it.hasNext()) { this.mLifecycle.removeObserver(it.next()); } this.mObservers.clear(); } } private void bindRcKey(int i, String str) { this.mRcToKey.put(Integer.valueOf(i), str); this.mKeyToRc.put(str, Integer.valueOf(i)); } private void doDispatch(String str, int i, @Nullable Intent intent, @Nullable CallbackAndContract callbackAndContract) { ActivityResultCallback activityResultCallback; if (callbackAndContract == null || (activityResultCallback = callbackAndContract.mCallback) == null) { this.mParsedPendingResults.remove(str); this.mPendingResults.putParcelable(str, new ActivityResult(i, intent)); return; } activityResultCallback.onActivityResult(callbackAndContract.mContract.parseResult(i, intent)); } private int generateRandomNumber() { int nextInt = this.mRandom.nextInt(2147418112); while (true) { int i = nextInt + 65536; if (!this.mRcToKey.containsKey(Integer.valueOf(i))) { return i; } nextInt = this.mRandom.nextInt(2147418112); } } private int registerKey(String str) { Integer num = this.mKeyToRc.get(str); if (num != null) { return num.intValue(); } int generateRandomNumber = generateRandomNumber(); bindRcKey(generateRandomNumber, str); return generateRandomNumber; } @MainThread public final boolean dispatchResult(int i, int i2, @Nullable Intent intent) { String str = this.mRcToKey.get(Integer.valueOf(i)); if (str == null) { return false; } doDispatch(str, i2, intent, this.mKeyToCallback.get(str)); return true; } @MainThread public final boolean dispatchResult(int i, @SuppressLint({"UnknownNullness"}) O o) { ActivityResultCallback activityResultCallback; String str = this.mRcToKey.get(Integer.valueOf(i)); if (str == null) { return false; } CallbackAndContract callbackAndContract = this.mKeyToCallback.get(str); if (callbackAndContract == null || (activityResultCallback = callbackAndContract.mCallback) == null) { this.mPendingResults.remove(str); this.mParsedPendingResults.put(str, o); return true; } activityResultCallback.onActivityResult(o); return true; } @MainThread public abstract void onLaunch(int i, @NonNull ActivityResultContract activityResultContract, @SuppressLint({"UnknownNullness"}) I i2, @Nullable ActivityOptionsCompat activityOptionsCompat); public final void onRestoreInstanceState(@Nullable Bundle bundle) { if (bundle != null) { ArrayList integerArrayList = bundle.getIntegerArrayList(KEY_COMPONENT_ACTIVITY_REGISTERED_RCS); ArrayList stringArrayList = bundle.getStringArrayList(KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS); if (!(stringArrayList == null || integerArrayList == null)) { int size = stringArrayList.size(); for (int i = 0; i < size; i++) { bindRcKey(integerArrayList.get(i).intValue(), stringArrayList.get(i)); } this.mRandom = (Random) bundle.getSerializable(KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT); this.mPendingResults.putAll(bundle.getBundle(KEY_COMPONENT_ACTIVITY_PENDING_RESULTS)); } } } public final void onSaveInstanceState(@NonNull Bundle bundle) { bundle.putIntegerArrayList(KEY_COMPONENT_ACTIVITY_REGISTERED_RCS, new ArrayList<>(this.mRcToKey.keySet())); bundle.putStringArrayList(KEY_COMPONENT_ACTIVITY_REGISTERED_KEYS, new ArrayList<>(this.mRcToKey.values())); bundle.putBundle(KEY_COMPONENT_ACTIVITY_PENDING_RESULTS, (Bundle) this.mPendingResults.clone()); bundle.putSerializable(KEY_COMPONENT_ACTIVITY_RANDOM_OBJECT, this.mRandom); } /* JADX DEBUG: Multi-variable search result rejected for r6v0, resolved type: androidx.activity.result.ActivityResultCallback */ /* JADX WARN: Multi-variable type inference failed */ @NonNull public final ActivityResultLauncher register(@NonNull String str, @NonNull ActivityResultContract activityResultContract, @NonNull ActivityResultCallback activityResultCallback) { int registerKey = registerKey(str); this.mKeyToCallback.put(str, new CallbackAndContract<>(activityResultCallback, activityResultContract)); if (this.mParsedPendingResults.containsKey(str)) { Object obj = this.mParsedPendingResults.get(str); this.mParsedPendingResults.remove(str); activityResultCallback.onActivityResult(obj); } ActivityResult activityResult = (ActivityResult) this.mPendingResults.getParcelable(str); if (activityResult != null) { this.mPendingResults.remove(str); activityResultCallback.onActivityResult(activityResultContract.parseResult(activityResult.getResultCode(), activityResult.getData())); } return new AnonymousClass3(registerKey, activityResultContract, str); } @NonNull public final ActivityResultLauncher register(@NonNull String str, @NonNull LifecycleOwner lifecycleOwner, @NonNull ActivityResultContract activityResultContract, @NonNull ActivityResultCallback activityResultCallback) { Lifecycle lifecycle = lifecycleOwner.getLifecycle(); if (!lifecycle.getCurrentState().isAtLeast(Lifecycle.State.STARTED)) { int registerKey = registerKey(str); LifecycleContainer lifecycleContainer = this.mKeyToLifecycleContainers.get(str); if (lifecycleContainer == null) { lifecycleContainer = new LifecycleContainer(lifecycle); } lifecycleContainer.addObserver(new AnonymousClass1(str, activityResultCallback, activityResultContract)); this.mKeyToLifecycleContainers.put(str, lifecycleContainer); return new AnonymousClass2(registerKey, activityResultContract, str); } throw new IllegalStateException("LifecycleOwner " + lifecycleOwner + " is attempting to register while current state is " + lifecycle.getCurrentState() + ". LifecycleOwners must call register before they are STARTED."); } @MainThread public final void unregister(@NonNull String str) { Integer remove = this.mKeyToRc.remove(str); if (remove != null) { this.mRcToKey.remove(remove); } this.mKeyToCallback.remove(str); if (this.mParsedPendingResults.containsKey(str)) { StringBuilder Q = a.Q("Dropping pending result for request ", str, ": "); Q.append(this.mParsedPendingResults.get(str)); Log.w(LOG_TAG, Q.toString()); this.mParsedPendingResults.remove(str); } if (this.mPendingResults.containsKey(str)) { StringBuilder Q2 = a.Q("Dropping pending result for request ", str, ": "); Q2.append(this.mPendingResults.getParcelable(str)); Log.w(LOG_TAG, Q2.toString()); this.mPendingResults.remove(str); } LifecycleContainer lifecycleContainer = this.mKeyToLifecycleContainers.get(str); if (lifecycleContainer != null) { lifecycleContainer.clearObservers(); this.mKeyToLifecycleContainers.remove(str); } } }