@@ -43,6 +43,7 @@ import org.wordpress.android.fluxc.store.AccountStore
4343import org.wordpress.android.fluxc.store.AccountStore.OnAccountChanged
4444import org.wordpress.android.fluxc.store.PostStore
4545import org.wordpress.android.fluxc.store.SiteStore
46+ import org.wordpress.android.fluxc.utils.AppLogWrapper
4647import org.wordpress.android.models.JetpackPoweredScreen
4748import org.wordpress.android.ui.ActivityLauncher
4849import org.wordpress.android.ui.about.UnifiedAboutActivity
@@ -131,6 +132,9 @@ class MeFragment : Fragment(R.layout.me_fragment), OnScrollToTopListener {
131132 @Inject
132133 lateinit var domainManagementFeatureConfig: DomainManagementFeatureConfig
133134
135+ @Inject
136+ lateinit var appLogWrapper: AppLogWrapper
137+
134138 private val viewModel: MeViewModel by viewModels()
135139 private val emailVerificationViewModel: EmailVerificationViewModel by viewModels()
136140
@@ -237,58 +241,71 @@ class MeFragment : Fragment(R.layout.me_fragment), OnScrollToTopListener {
237241 }
238242
239243 private fun MeFragmentBinding.showAvatarPicker () {
244+ appLogWrapper.d(AppLog .T .MAIN , " Gravatar: Opening avatar editor" )
240245 withVeryfiedEmail(unverifiedEmailMessageRes = R .string.avatar_update_email_unverified) {
241246 showQuickEditor(page = AvatarPickerAndAboutEditorConfiguration .Page .AvatarPicker )
242247 }
243248 }
244249
245250 private fun MeFragmentBinding.showProfileEditor () {
251+ appLogWrapper.d(AppLog .T .MAIN , " Gravatar: Opening profile editor" )
246252 withVeryfiedEmail(unverifiedEmailMessageRes = R .string.about_update_email_unverified) {
247253 showQuickEditor(page = AvatarPickerAndAboutEditorConfiguration .Page .AboutEditor )
248254 }
249255 }
250256
257+ @Suppress(" TooGenericExceptionCaught" )
251258 private fun MeFragmentBinding.showQuickEditor (
252259 page : AvatarPickerAndAboutEditorConfiguration .Page
253260 ) {
254- GravatarQuickEditor .show(
255- fragment = this @MeFragment,
256- gravatarQuickEditorParams = GravatarQuickEditorParams {
257- email = Email (accountStore.account.email)
258- scopeOption = QuickEditorScopeOption .avatarAndAbout {
259- initialPage = page
260- fields = setOf (
261- AboutInputField .FirstName ,
262- AboutInputField .LastName ,
263- AboutInputField .DisplayName ,
264- AboutInputField .AboutMe
265- )
266- }
267- },
268- authenticationMethod = AuthenticationMethod .Bearer (accountStore.accessToken.orEmpty()),
269- updateHandler = { event ->
270- when (event) {
271- AvatarPickerResult -> {
272- loadAvatar(null , true )
261+ try {
262+ appLogWrapper.d(AppLog .T .MAIN , " Gravatar: Showing Gravatar quick editor: ${page.value} " )
263+ GravatarQuickEditor .show(
264+ fragment = this @MeFragment,
265+ gravatarQuickEditorParams = GravatarQuickEditorParams {
266+ email = Email (accountStore.account.email)
267+ scopeOption = QuickEditorScopeOption .avatarAndAbout {
268+ initialPage = page
269+ fields = setOf (
270+ AboutInputField .FirstName ,
271+ AboutInputField .LastName ,
272+ AboutInputField .DisplayName ,
273+ AboutInputField .AboutMe
274+ )
273275 }
276+ },
277+ authenticationMethod = AuthenticationMethod .Bearer (accountStore.accessToken.orEmpty()),
278+ updateHandler = { event ->
279+ when (event) {
280+ AvatarPickerResult -> {
281+ loadAvatar(null , true )
282+ }
274283
275- is AboutEditorResult -> {
276- meDisplayName.text = event.profile.displayName.ifEmpty { accountStore.account.displayName }
277- }
284+ is AboutEditorResult -> {
285+ meDisplayName.text = event.profile.displayName.ifEmpty { accountStore.account.displayName }
286+ }
278287
279- else -> Unit
288+ else -> Unit
289+ }
290+ },
291+ onDismiss = {
292+ appLogWrapper.d(AppLog .T .MAIN , " Gravatar: Gravatar quick editor dismissed: ${page.value} " )
280293 }
281- },
282- )
294+ )
295+ } catch (exception: Exception ) {
296+ appLogWrapper.d(AppLog .T .MAIN , " Gravatar: Error opening Gravatar quick editor: ${exception.message} " )
297+ }
283298 }
284299
285300 private fun withVeryfiedEmail (
286301 @StringRes unverifiedEmailMessageRes : Int ,
287302 action : () -> Unit ,
288303 ) {
289304 if (accountStore.account.emailVerified) {
305+ appLogWrapper.d(AppLog .T .MAIN , " Email verified" )
290306 action()
291307 } else {
308+ appLogWrapper.d(AppLog .T .MAIN , " Email not verified" )
292309 view?.let { view ->
293310 sequencer.enqueue(
294311 SnackbarItem (
0 commit comments