Skip to content

Commit befee3c

Browse files
Add QuickEditor to SignupEpilogueFragment
1 parent 0d378f9 commit befee3c

File tree

1 file changed

+37
-1
lines changed

1 file changed

+37
-1
lines changed

WordPress/src/main/java/org/wordpress/android/ui/accounts/signup/SignupEpilogueFragment.kt

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ import androidx.appcompat.view.ContextThemeWrapper
3030
import androidx.core.widget.NestedScrollView
3131
import androidx.lifecycle.lifecycleScope
3232
import 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
3339
import com.gravatar.services.AvatarService
3440
import com.gravatar.services.GravatarResult
3541
import com.gravatar.types.Email
@@ -70,6 +76,7 @@ import org.wordpress.android.util.StringUtils
7076
import org.wordpress.android.util.ToastUtils
7177
import org.wordpress.android.util.WPAvatarUtils
7278
import org.wordpress.android.util.WPMediaUtils
79+
import org.wordpress.android.util.config.GravatarQuickEditorFeatureConfig
7380
import org.wordpress.android.util.extensions.getColorFromAttribute
7481
import org.wordpress.android.util.extensions.redirectContextClickToLongPressListener
7582
import 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

Comments
 (0)