@@ -30,6 +30,12 @@ import androidx.appcompat.view.ContextThemeWrapper
3030import androidx.core.widget.NestedScrollView
3131import androidx.lifecycle.lifecycleScope
3232import com.google.android.material.dialog.MaterialAlertDialogBuilder
33+ import com.gravatar.AvatarQueryOptions
34+ import com.gravatar.AvatarUrl
35+ import com.gravatar.quickeditor.GravatarQuickEditor
36+ import com.gravatar.quickeditor.ui.editor.AuthenticationMethod
37+ import com.gravatar.quickeditor.ui.editor.AvatarPickerContentLayout
38+ import com.gravatar.quickeditor.ui.editor.GravatarQuickEditorParams
3339import com.gravatar.services.AvatarService
3440import com.gravatar.services.GravatarResult
3541import com.gravatar.types.Email
@@ -70,6 +76,7 @@ import org.wordpress.android.util.StringUtils
7076import org.wordpress.android.util.ToastUtils
7177import org.wordpress.android.util.WPAvatarUtils
7278import org.wordpress.android.util.WPMediaUtils
79+ import org.wordpress.android.util.config.GravatarQuickEditorFeatureConfig
7380import org.wordpress.android.util.extensions.getColorFromAttribute
7481import org.wordpress.android.util.extensions.redirectContextClickToLongPressListener
7582import org.wordpress.android.util.image.ImageManager
@@ -134,6 +141,9 @@ class SignupEpilogueFragment : LoginBaseFormFragment<SignupEpilogueListener?>(),
134141 @Inject
135142 lateinit var mAvatarService: AvatarService
136143
144+ @Inject
145+ lateinit var gravatarQuickEditorFeatureConfig: GravatarQuickEditorFeatureConfig
146+
137147 @LayoutRes
138148 override fun getContentLayout (): Int {
139149 return 0 // no content layout; entire view is inflated in createMainView
@@ -163,7 +173,33 @@ class SignupEpilogueFragment : LoginBaseFormFragment<SignupEpilogueListener?>(),
163173 headerAvatarLayout.isEnabled = mIsEmailSignup
164174 headerAvatarLayout.setOnClickListener {
165175 mUnifiedLoginTracker.trackClick(UnifiedLoginTracker .Click .SELECT_AVATAR )
166- mMediaPickerLauncher.showGravatarPicker(this @SignupEpilogueFragment)
176+ if (gravatarQuickEditorFeatureConfig.isEnabled()) {
177+ GravatarQuickEditor .show(
178+ fragment = this ,
179+ gravatarQuickEditorParams = GravatarQuickEditorParams {
180+ email = Email (mEmailAddress)
181+ avatarPickerContentLayout = AvatarPickerContentLayout .Horizontal
182+ },
183+ authenticationMethod = AuthenticationMethod .Bearer (mAccount.accessToken.orEmpty()),
184+ onAvatarSelected = {
185+ mPhotoUrl = AvatarUrl (
186+ email = Email (mEmailAddress),
187+ avatarQueryOptions = AvatarQueryOptions {
188+ preferredSize = resources.getDimensionPixelSize(R .dimen.avatar_sz_large)
189+ }
190+ ).url(cacheBuster = System .currentTimeMillis().toString()).toString()
191+ mImageManager.loadIntoCircle(
192+ mHeaderAvatar,
193+ ImageType .AVATAR_WITHOUT_BACKGROUND ,
194+ mPhotoUrl
195+ )
196+ mHeaderAvatarAdd.visibility = View .GONE
197+ mIsAvatarAdded = true
198+ },
199+ )
200+ } else {
201+ mMediaPickerLauncher.showGravatarPicker(this @SignupEpilogueFragment)
202+ }
167203 }
168204 headerAvatarLayout.setOnLongClickListener {
169205 ToastUtils .showToast(
0 commit comments