package com.discord.widgets.contact_sync; import android.content.Context; import android.content.Intent; import android.view.View; import android.view.animation.AnimationUtils; import android.widget.TextView; import androidx.activity.result.ActivityResultLauncher; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentViewModelLazyKt; import androidx.recyclerview.widget.RecyclerView; import b.a.d.e0; import b.a.d.j; import b.a.k.b; import b.d.b.a.a; import com.discord.R; import com.discord.analytics.generated.traits.TrackImpressionMetadata; import com.discord.analytics.utils.ImpressionGroups; import com.discord.app.AppActivity; import com.discord.app.AppFragment; import com.discord.app.AppViewFlipper; import com.discord.app.LoggingConfig; import com.discord.databinding.WidgetContactSyncBinding; import com.discord.utilities.accessibility.AccessibilityUtils; import com.discord.utilities.analytics.AnalyticsTracker; import com.discord.utilities.captcha.CaptchaHelper; import com.discord.utilities.contacts.ContactsProviderUtils; import com.discord.utilities.error.Error; import com.discord.utilities.mg_recycler.MGRecyclerAdapter; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.view.text.LinkifiedTextView; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; import com.discord.views.CheckedSetting; import com.discord.views.LoadingButton; import com.discord.widgets.captcha.WidgetCaptcha; import com.discord.widgets.contact_sync.AddFriendsFailed; import com.discord.widgets.contact_sync.WidgetContactSyncViewModel; import com.google.android.material.badge.BadgeDrawable; import com.google.android.material.button.MaterialButton; import d0.g0.t; import d0.t.u; import d0.z.d.a0; import d0.z.d.m; import java.io.Serializable; import java.util.Collection; import java.util.Objects; import kotlin.Lazy; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.DefaultConstructorMarker; import kotlin.reflect.KProperty; /* compiled from: WidgetContactSync.kt */ public final class WidgetContactSync extends AppFragment { public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.b0(WidgetContactSync.class, "binding", "getBinding()Lcom/discord/databinding/WidgetContactSyncBinding;", 0)}; public static final Companion Companion = new Companion(null); private static final String INTENT_EXTRA_CONTACT_SYNC_ALLOW_EMAIL = "INTENT_EXTRA_CONTACT_SYNC_ALLOW_EMAIL"; private static final String INTENT_EXTRA_CONTACT_SYNC_ALLOW_PHONE = "INTENT_EXTRA_CONTACT_SYNC_ALLOW_PHONE"; private static final String INTENT_EXTRA_CONTACT_SYNC_IMMEDIATELY_PROCEED = "INTENT_EXTRA_CONTACT_SYNC_IMMEDIATELY_PROCEED"; private static final String INTENT_EXTRA_CONTACT_SYNC_MODE = "INTENT_EXTRA_CONTACT_SYNC_MODE"; private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetContactSync$binding$2.INSTANCE, null, 2, null); private final ActivityResultLauncher captchaLauncher = WidgetCaptcha.Companion.registerForResult(this, new WidgetContactSync$captchaLauncher$1(this)); private final TrackImpressionMetadata contactSyncFlowMetadata = new TrackImpressionMetadata(null, null, null, ImpressionGroups.CONTACT_SYNC_FLOW, 7); private int displayedChildIndex; private ContactSyncFriendSuggestionListAdapter friendSuggestionsAdapter; private final LoggingConfig loggingConfig = new LoggingConfig(false, null, new WidgetContactSync$loggingConfig$1(this), 3); private String phoneNumber; private final Lazy viewModel$delegate = FragmentViewModelLazyKt.createViewModelLazy(this, a0.getOrCreateKotlinClass(WidgetContactSyncViewModel.class), new WidgetContactSync$appActivityViewModels$$inlined$activityViewModels$1(this), new e0(new WidgetContactSync$viewModel$2(this))); /* compiled from: WidgetContactSync.kt */ public static final class Companion { private Companion() { } public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } public static /* synthetic */ void launch$default(Companion companion, Context context, ContactSyncMode contactSyncMode, boolean z2, boolean z3, boolean z4, int i, Object obj) { if ((i & 2) != 0) { contactSyncMode = ContactSyncMode.DEFAULT; } companion.launch(context, contactSyncMode, (i & 4) != 0 ? false : z2, (i & 8) != 0 ? true : z3, (i & 16) != 0 ? true : z4); } public final ContactSyncMode getContactSyncModeFromIntent(AppActivity appActivity) { m.checkNotNullParameter(appActivity, "appActivity"); Serializable serializableExtra = appActivity.c().getSerializableExtra(WidgetContactSync.INTENT_EXTRA_CONTACT_SYNC_MODE); Objects.requireNonNull(serializableExtra, "null cannot be cast to non-null type com.discord.widgets.contact_sync.ContactSyncMode"); return (ContactSyncMode) serializableExtra; } public final boolean getEmailDiscoverableFromIntent(AppActivity appActivity) { m.checkNotNullParameter(appActivity, "appActivity"); return appActivity.c().getBooleanExtra(WidgetContactSync.INTENT_EXTRA_CONTACT_SYNC_ALLOW_EMAIL, true); } public final boolean getPhoneDiscoverableFromIntent(AppActivity appActivity) { m.checkNotNullParameter(appActivity, "appActivity"); return appActivity.c().getBooleanExtra(WidgetContactSync.INTENT_EXTRA_CONTACT_SYNC_ALLOW_PHONE, true); } public final void launch(Context context, ContactSyncMode contactSyncMode, boolean z2, boolean z3, boolean z4) { m.checkNotNullParameter(context, "context"); m.checkNotNullParameter(contactSyncMode, "mode"); Intent intent = new Intent(); intent.putExtra(WidgetContactSync.INTENT_EXTRA_CONTACT_SYNC_MODE, contactSyncMode); intent.putExtra(WidgetContactSync.INTENT_EXTRA_CONTACT_SYNC_IMMEDIATELY_PROCEED, z2); intent.putExtra(WidgetContactSync.INTENT_EXTRA_CONTACT_SYNC_ALLOW_PHONE, z3); intent.putExtra(WidgetContactSync.INTENT_EXTRA_CONTACT_SYNC_ALLOW_EMAIL, z4); j.d(context, WidgetContactSync.class, intent); } } public WidgetContactSync() { super(R.layout.widget_contact_sync); } public static final /* synthetic */ void access$configureUI(WidgetContactSync widgetContactSync, WidgetContactSyncViewModel.ViewState viewState) { widgetContactSync.configureUI(viewState); } public static final /* synthetic */ WidgetContactSyncBinding access$getBinding$p(WidgetContactSync widgetContactSync) { return widgetContactSync.getBinding(); } public static final /* synthetic */ TrackImpressionMetadata access$getContactSyncFlowMetadata$p(WidgetContactSync widgetContactSync) { return widgetContactSync.contactSyncFlowMetadata; } public static final /* synthetic */ int access$getDisplayedChildIndex$p(WidgetContactSync widgetContactSync) { return widgetContactSync.displayedChildIndex; } public static final /* synthetic */ WidgetContactSyncViewModel access$getViewModel$p(WidgetContactSync widgetContactSync) { return widgetContactSync.getViewModel(); } public static final /* synthetic */ void access$handleEvent(WidgetContactSync widgetContactSync, WidgetContactSyncViewModel.Event event) { widgetContactSync.handleEvent(event); } public static final /* synthetic */ void access$handlePhoneNumberTextChanged(WidgetContactSync widgetContactSync) { widgetContactSync.handlePhoneNumberTextChanged(); } public static final /* synthetic */ void access$launchCaptchaFlow(WidgetContactSync widgetContactSync, Error error) { widgetContactSync.launchCaptchaFlow(error); } public static final /* synthetic */ void access$onPermissionsDenied(WidgetContactSync widgetContactSync) { widgetContactSync.onPermissionsDenied(); } public static final /* synthetic */ void access$onPermissionsGranted(WidgetContactSync widgetContactSync) { widgetContactSync.onPermissionsGranted(); } public static final /* synthetic */ void access$setDisplayedChildIndex$p(WidgetContactSync widgetContactSync, int i) { widgetContactSync.displayedChildIndex = i; } public static final /* synthetic */ void access$submitPhoneNumber(WidgetContactSync widgetContactSync, CaptchaHelper.CaptchaPayload captchaPayload) { widgetContactSync.submitPhoneNumber(captchaPayload); } private final void configureToolbar(WidgetContactSyncViewModel.ToolbarConfig toolbarConfig) { setActionBarDisplayHomeAsUpEnabled(toolbarConfig.getShowBackButton()); setActionBarOptionsMenu(R.menu.menu_contact_sync, new WidgetContactSync$configureToolbar$1(this), new WidgetContactSync$configureToolbar$2(toolbarConfig)); AppFragment.setOnBackPressed$default(this, new WidgetContactSync$configureToolbar$3(this, toolbarConfig), 0, 2, null); } private final void configureUI(WidgetContactSyncViewModel.ViewState viewState) { this.phoneNumber = viewState.getPhoneNumber(); configureViewFlipper(viewState.getDisplayedChild()); configureToolbar(viewState.getToolbarConfig()); LoadingButton loadingButton = getBinding().e.c; m.checkNotNullExpressionValue(loadingButton, "binding.contactSyncLandi…tactSyncLandingNextButton"); loadingButton.setEnabled(viewState.getLandingNextEnabled()); getBinding().e.c.setIsLoading(viewState.isSubmitting()); getBinding().f.d.setIsLoading(viewState.isSubmitting()); getBinding().c.c.setIsLoading(viewState.isSubmitting()); if (viewState.getPermissionsDenied()) { TextView textView = getBinding().e.f127b; m.checkNotNullExpressionValue(textView, "binding.contactSyncLandi…ncLandingNeedsPermissions"); textView.setVisibility(0); View view = getBinding().e.d; m.checkNotNullExpressionValue(view, "binding.contactSyncLandi…LandingPermissionsDivider"); view.setVisibility(0); getBinding().e.c.setText(b.k(this, R.string.password_manager_open_settings, new Object[0], null, 4)); getBinding().e.c.setOnClickListener(WidgetContactSync$configureUI$1.INSTANCE); } else { TextView textView2 = getBinding().e.f127b; m.checkNotNullExpressionValue(textView2, "binding.contactSyncLandi…ncLandingNeedsPermissions"); textView2.setVisibility(8); View view2 = getBinding().e.d; m.checkNotNullExpressionValue(view2, "binding.contactSyncLandi…LandingPermissionsDivider"); view2.setVisibility(8); getBinding().e.c.setText(b.k(this, R.string.get_started, new Object[0], null, 4)); getBinding().e.c.setOnClickListener(new WidgetContactSync$configureUI$2(this)); } CheckedSetting checkedSetting = getBinding().e.e.c; m.checkNotNullExpressionValue(checkedSetting, "binding.contactSyncLandi…ontactSyncDiscoveryToggle"); checkedSetting.setChecked(viewState.getAllowPhone() || viewState.getAllowEmail()); getBinding().e.e.c.e(new WidgetContactSync$configureUI$3(this)); LinkifiedTextView linkifiedTextView = getBinding().e.e.f155b; m.checkNotNullExpressionValue(linkifiedTextView, "binding.contactSyncLandi…contactSyncDiscoveryInfo2"); b.m(linkifiedTextView, R.string.contact_sync_permissions_description_android, new Object[0], new WidgetContactSync$configureUI$4(this)); getBinding().f.d.setOnClickListener(new WidgetContactSync$configureUI$5(this)); ContactSyncFriendSuggestionListAdapter contactSyncFriendSuggestionListAdapter = this.friendSuggestionsAdapter; if (contactSyncFriendSuggestionListAdapter != null) { contactSyncFriendSuggestionListAdapter.setData(viewState.getFriendSuggestions()); } getBinding().c.c.setText(b.k(this, R.string.next, new Object[0], null, 4)); getBinding().c.c.setOnClickListener(new WidgetContactSync$configureUI$6(this)); getBinding().f2338b.f120b.b(this); getBinding().f2338b.f120b.setCountryCode(viewState.getCountryCode()); getBinding().f2338b.c.setOnClickListener(new WidgetContactSync$configureUI$7(this)); getBinding().f2338b.f120b.a(this, new WidgetContactSync$configureUI$8(this)); getBinding().g.f161b.setOnCodeEntered(new WidgetContactSync$configureUI$9(this)); getBinding().d.f148b.setOnClickListener(new WidgetContactSync$configureUI$10(this, viewState)); getBinding().d.c.setOnClickListener(new WidgetContactSync$configureUI$11(this)); } private final void configureViewFlipper(WidgetContactSyncViewModel.Views views) { int i; int ordinal = views.ordinal(); boolean z2 = true; if (ordinal != this.displayedChildIndex) { AppFragment.hideKeyboard$default(this, null, 1, null); } if (!(views == WidgetContactSyncViewModel.Views.VIEW_LANDING && ((i = this.displayedChildIndex) == 2 || i == 3))) { z2 = false; } if (AccessibilityUtils.INSTANCE.isReducedMotionEnabled()) { AppViewFlipper appViewFlipper = getBinding().h; m.checkNotNullExpressionValue(appViewFlipper, "binding.contactSyncViewFlipper"); appViewFlipper.setInAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.anim_fade_in_fast)); AppViewFlipper appViewFlipper2 = getBinding().h; m.checkNotNullExpressionValue(appViewFlipper2, "binding.contactSyncViewFlipper"); appViewFlipper2.setOutAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.anim_fade_out_fast)); } else { int i2 = this.displayedChildIndex; if (ordinal > i2 || z2) { AppViewFlipper appViewFlipper3 = getBinding().h; m.checkNotNullExpressionValue(appViewFlipper3, "binding.contactSyncViewFlipper"); appViewFlipper3.setInAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.activity_slide_horizontal_open_in)); AppViewFlipper appViewFlipper4 = getBinding().h; m.checkNotNullExpressionValue(appViewFlipper4, "binding.contactSyncViewFlipper"); appViewFlipper4.setOutAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.activity_slide_horizontal_open_out)); } else if (ordinal < i2) { AppViewFlipper appViewFlipper5 = getBinding().h; m.checkNotNullExpressionValue(appViewFlipper5, "binding.contactSyncViewFlipper"); appViewFlipper5.setInAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.activity_slide_horizontal_close_in)); AppViewFlipper appViewFlipper6 = getBinding().h; m.checkNotNullExpressionValue(appViewFlipper6, "binding.contactSyncViewFlipper"); appViewFlipper6.setOutAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.activity_slide_horizontal_close_out)); } } AppViewFlipper appViewFlipper7 = getBinding().h; m.checkNotNullExpressionValue(appViewFlipper7, "binding.contactSyncViewFlipper"); appViewFlipper7.setDisplayedChild(ordinal); this.displayedChildIndex = ordinal; getAppLogger().a(null); } private final WidgetContactSyncBinding getBinding() { return (WidgetContactSyncBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]); } private final WidgetContactSyncViewModel getViewModel() { return (WidgetContactSyncViewModel) this.viewModel$delegate.getValue(); } private final void handleEvent(WidgetContactSyncViewModel.Event event) { if (m.areEqual(event, WidgetContactSyncViewModel.Event.MaybeProceedFromLanding.INSTANCE)) { if (getMostRecentIntent().getBooleanExtra(INTENT_EXTRA_CONTACT_SYNC_IMMEDIATELY_PROCEED, false)) { getViewModel().onLandingNext(); } } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.PermissionsNeeded.INSTANCE)) { requestContactsPermissions(); } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.ContactsEnabled.INSTANCE)) { getViewModel().onContactsFetched(ContactsProviderUtils.INSTANCE.getAllContactPhoneNumbers(requireContext())); } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.RateLimited.INSTANCE)) { b.a.d.m.f(this, b.k(this, R.string.contact_sync_failed_alert_title, new Object[0], null, 4), 1); } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.UploadFailed.INSTANCE)) { b.a.d.m.f(this, b.k(this, R.string.contact_sync_failed_alert_message, new Object[0], null, 4), 1); } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.ContactsEnableFailed.INSTANCE)) { b.a.d.m.f(this, b.k(this, R.string.contact_sync_failed_alert_title, new Object[0], null, 4), 1); } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.AddFriendsFailed.INSTANCE)) { AddFriendsFailed.Companion companion = AddFriendsFailed.Companion; FragmentManager parentFragmentManager = getParentFragmentManager(); m.checkNotNullExpressionValue(parentFragmentManager, "parentFragmentManager"); companion.show(parentFragmentManager).setOnClose(new WidgetContactSync$handleEvent$$inlined$apply$lambda$1(this)); } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.AddFriendsFailedPartial.INSTANCE)) { AddFriendsFailed.Companion companion2 = AddFriendsFailed.Companion; FragmentManager parentFragmentManager2 = getParentFragmentManager(); m.checkNotNullExpressionValue(parentFragmentManager2, "parentFragmentManager"); companion2.show(parentFragmentManager2).setOnClose(new WidgetContactSync$handleEvent$$inlined$apply$lambda$2(this)); } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.PhoneInvalid.INSTANCE)) { b.a.d.m.j(this, b.k(this, R.string.phone_invalid, new Object[0], null, 4), 0, 4); } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.VerificationCodeInvalid.INSTANCE)) { b.a.d.m.j(this, b.k(this, R.string.application_entitlement_code_redemption_invalid, new Object[0], null, 4), 0, 4); } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.VerificationFailed.INSTANCE)) { b.a.d.m.j(this, b.k(this, R.string.phone_failed_to_add, new Object[0], null, 4), 0, 4); } else if (m.areEqual(event, WidgetContactSyncViewModel.Event.Completed.INSTANCE)) { requireAppActivity().finish(); } } private final void handlePhoneNumberTextChanged() { String textOrEmpty = getBinding().f2338b.f120b.getTextOrEmpty(); MaterialButton materialButton = getBinding().f2338b.c; m.checkNotNullExpressionValue(materialButton, "binding.contactSyncAddPh…e.contactSyncAddPhoneNext"); boolean z2 = true; if (!(textOrEmpty.length() > 0) || !t.startsWith$default(textOrEmpty, BadgeDrawable.DEFAULT_EXCEED_MAX_BADGE_NUMBER_SUFFIX, false, 2, null)) { z2 = false; } materialButton.setEnabled(z2); } private final void launchCaptchaFlow(Error error) { WidgetCaptcha.Companion companion = WidgetCaptcha.Companion; Context requireContext = requireContext(); ActivityResultLauncher activityResultLauncher = this.captchaLauncher; Error.Response response = error.getResponse(); m.checkNotNullExpressionValue(response, "error.response"); companion.processErrorsForCaptcha(requireContext, activityResultLauncher, u.toMutableList((Collection) response.getMessages().keySet()), error); } private final void onPermissionsDenied() { getViewModel().onPermissionsDenied(); } private final void onPermissionsGranted() { getViewModel().onPermissionsGranted(); if (this.phoneNumber != null) { ContactsProviderUtils contactsProviderUtils = ContactsProviderUtils.INSTANCE; Context requireContext = requireContext(); String str = this.phoneNumber; m.checkNotNull(str); String ownName = contactsProviderUtils.getOwnName(requireContext, str); if (ownName != null) { getBinding().f.f134b.setText(ownName); TextView textView = getBinding().f.e; m.checkNotNullExpressionValue(textView, "binding.contactSyncName.contactSyncNamePrefillHint"); textView.setVisibility(0); } } } private final void requestContactsPermissions() { if (!ContactsProviderUtils.INSTANCE.hasContactPermissions(requireContext())) { AnalyticsTracker.INSTANCE.permissionsRequested("contacts"); getViewModel().requestingPermissions(); } requestContacts(new WidgetContactSync$requestContactsPermissions$1(this), new WidgetContactSync$requestContactsPermissions$2(this)); } private final void submitPhoneNumber(CaptchaHelper.CaptchaPayload captchaPayload) { getViewModel().onPhoneNumberSubmitted(getBinding().f2338b.f120b.getTextOrEmpty(), captchaPayload); } public static /* synthetic */ void submitPhoneNumber$default(WidgetContactSync widgetContactSync, CaptchaHelper.CaptchaPayload captchaPayload, int i, Object obj) { if ((i & 1) != 0) { captchaPayload = null; } widgetContactSync.submitPhoneNumber(captchaPayload); } @Override // com.discord.app.AppFragment, com.discord.app.AppLogger.a public LoggingConfig getLoggingConfig() { return this.loggingConfig; } @Override // com.discord.app.AppFragment, androidx.fragment.app.Fragment public void onResume() { super.onResume(); if (ContactsProviderUtils.INSTANCE.hasContactPermissions(requireContext())) { getViewModel().onPermissionsBecameAvailable(); } } @Override // com.discord.app.AppFragment public void onViewBound(View view) { m.checkNotNullParameter(view, "view"); super.onViewBound(view); RecyclerView recyclerView = getBinding().c.f141b; MGRecyclerAdapter.Companion companion = MGRecyclerAdapter.Companion; m.checkNotNullExpressionValue(recyclerView, "it"); ContactSyncFriendSuggestionListAdapter contactSyncFriendSuggestionListAdapter = (ContactSyncFriendSuggestionListAdapter) companion.configure(new ContactSyncFriendSuggestionListAdapter(recyclerView)); this.friendSuggestionsAdapter = contactSyncFriendSuggestionListAdapter; if (contactSyncFriendSuggestionListAdapter != null) { contactSyncFriendSuggestionListAdapter.setOnClickFriendSuggestion(new WidgetContactSync$onViewBound$2(this)); } } @Override // com.discord.app.AppFragment public void onViewBoundOrOnResume() { super.onViewBoundOrOnResume(); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle$default(getViewModel().observeViewState(), this, null, 2, null), WidgetContactSync.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetContactSync$onViewBoundOrOnResume$1(this), 62, (Object) null); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.bindToComponentLifecycle$default(getViewModel().observeEvents(), this, null, 2, null), WidgetContactSync.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetContactSync$onViewBoundOrOnResume$2(this), 62, (Object) null); } }