Closed
Bug 1177855
Opened 9 years ago
Closed 9 years ago
Firefox Account profile images/avatars UI polish
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(firefox42 fixed)
RESOLVED
FIXED
Firefox 42
Tracking | Status | |
---|---|---|
firefox42 | --- | fixed |
People
(Reporter: vivek, Assigned: vivek, Mentored)
Details
Attachments
(8 files, 1 obsolete file)
10.98 KB,
patch
|
Details | Diff | Splinter Review | |
7.06 KB,
patch
|
Details | Diff | Splinter Review | |
40 bytes,
text/x-review-board-request
|
Details | |
40 bytes,
text/x-review-board-request
|
nalexander
:
review+
|
Details |
40 bytes,
text/x-review-board-request
|
Details | |
40 bytes,
text/x-review-board-request
|
nalexander
:
review+
|
Details |
40 bytes,
text/x-review-board-request
|
Details | |
40 bytes,
text/x-review-board-request
|
nalexander
:
review+
|
Details |
This is bug to track the following improvements 1) Load the avatar in a neat rounded image 2) Cleanup profile fetch logic 3) Add profile fetch to a background services may be to sync services
Assignee | ||
Comment 1•9 years ago
|
||
Used picasso to download and show the avatar as preference icon.
Attachment #8626683 -
Flags: review?(nalexander)
Comment 2•9 years ago
|
||
Comment on attachment 8626683 [details] [diff] [review] part1.patch Review of attachment 8626683 [details] [diff] [review]: ----------------------------------------------------------------- Nifty! This will be tricky to upstream to android-sync, because of Picasso, but I think we should go ahead and deal with that later. Just some nits and small changes, please. ::: mobile/android/base/fxa/activities/FxAccountStatusFragment.java @@ +654,5 @@ > handler.removeCallbacks(profileFetchRunnable); > } > > + if (!profileJson.containsKey(FxAccountConstants.KEY_PROFILE_JSON_AVATAR) > + && !profileJson.containsKey(FxAccountConstants.KEY_PROFILE_JSON_USERNAME)) { nit: && on first line, so the ! aligns. @@ +675,5 @@ > + } > + > + // Icon update from java is not supported prior to API 11, skip the avatar image fetch and update for older device. > + if (!AppConstants.Versions.feature11Plus || TextUtils.isEmpty(avatarURI)) { > + Logger.info(LOG_TAG, "Skipping profile image fetch."); Let's improve our lives later: separate checks, descriptive log messages. @@ +679,5 @@ > + Logger.info(LOG_TAG, "Skipping profile image fetch."); > + return; > + } > + > + Picasso.with(getActivity()) Move .with onto a new line so all the '.'s align. @@ +805,5 @@ > > /** > + * A Target listener to update the profile avatar image. > + */ > + private class ProfileAvatarTarget implements Target { This is generally useful. Extract it to a helper class (new file, named like PicassoPreferenceIconTarget) that takes all the parameters (fallback, corner radius, etc). @@ +815,5 @@ > + } > + > + @Override > + public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { > + // Icon update from java is not supported prior to API 11 nit: capitalize Java, full sentence (trailing period). ::: mobile/android/base/resources/values/fxaccount_dimens.xml @@ +26,5 @@ > > <integer name="preference_fragment_scrollbarStyle">0x02000000</integer> <!-- outsideOverlay --> > + > + <!-- Profile avatar image height. --> > + <dimen name="fxaccount_profile_target_height">48dp</dimen> nit: indentation is looking funky here. Why is this not called fxaccount_profile_avatar_image_height? What does "target" mean?
Attachment #8626683 -
Flags: review?(nalexander) → feedback+
Assignee | ||
Comment 3•9 years ago
|
||
review nits addressed
Attachment #8626683 -
Attachment is obsolete: true
Attachment #8626800 -
Flags: review?(nalexander)
Assignee | ||
Comment 4•9 years ago
|
||
* Added profile fetch to SyncAdapter * Added check for cache staleness
Attachment #8626802 -
Flags: review?(nalexander)
Comment 5•9 years ago
|
||
Bug 1177855 - Partial review comments. * First, the new target needed to be generalized (no reference to profile) and was not handling corner radius correctly. Please test that the new approach is correct! * Second, we shouldn't be re-creating the Picasso Target frequently. Cache it and re-use it. * Third, an AndroidFxAccount is transient, so it's not a good place to cache. Drop the cached JSON entirely and just synchronize (statically, across instances) reading and writing to the AccountManager. * Fourth, use FxAccountUtils.pii rather than Logger.pii.
Assignee | ||
Comment 6•9 years ago
|
||
Bug 1177855: Fetch and show avatar image as preference icon -r=nalexander.
Attachment #8627933 -
Flags: review?(nalexander)
Attachment #8627934 -
Flags: review?(nalexander)
Assignee | ||
Comment 7•9 years ago
|
||
Bug 1177855: Fetch and show avatar image as preference icon -r=nalexander.
Assignee | ||
Comment 8•9 years ago
|
||
Bug 1177855 : Miscellaneous improvements related to profile avatar caching -r=nalexander.
Attachment #8627935 -
Flags: review?(nalexander)
Attachment #8627936 -
Flags: review?(nalexander)
Assignee | ||
Comment 9•9 years ago
|
||
Bug 1177855 : Miscellaneous improvements related to profile avatar caching -r=nalexander.
Assignee | ||
Comment 10•9 years ago
|
||
Bug 1177855 - simplified avatar fetch logic r?nalexander. * Generalized PicassoPreferenceIcon implementation * Cleaned up profile caching and simplified the complex profile fetch rate limiter logic * profile always de-serialized from account manager rather from a cache. * UI always updated asynchronously through broadcast after sync. A defaul icon is used as fallback during the on going sync.
Attachment #8627937 -
Flags: review?(nalexander)
Comment 11•9 years ago
|
||
url: https://hg.mozilla.org/integration/fx-team/rev/1aa1e439591173468690fe2868574a033a7d223d changeset: 1aa1e439591173468690fe2868574a033a7d223d user: vivek <vivekb.balakrishnan@gmail.com> date: Tue Jun 30 21:09:44 2015 -0700 description: Bug 1177855: Fetch and show avatar image as preference icon. r=nalexander The profile JSON is stored in the Account bundle. There's no need to bump the bundle version, since missing (i.e., null) profile JSON is legal. This introduces and uses a general-purpose PicassoPreferenceIcon Picasso Target that, on API 11+ devices, dynamically loads a preference icon.
Updated•9 years ago
|
Attachment #8626800 -
Flags: review?(nalexander)
Updated•9 years ago
|
Attachment #8626802 -
Flags: review?(nalexander)
Updated•9 years ago
|
Attachment #8627933 -
Flags: review?(nalexander) → review+
Comment 12•9 years ago
|
||
Comment on attachment 8627933 [details] MozReview Request: Bug 1177855: Fetch and show avatar image as preference icon -r=nalexander. https://reviewboard.mozilla.org/r/12341/#review10821 Ship It!
Comment 13•9 years ago
|
||
Comment on attachment 8627935 [details] MozReview Request: Bug 1177855 : Miscellaneous improvements related to profile avatar caching -r=nalexander. https://reviewboard.mozilla.org/r/12343/#review10823 Ship It!
Attachment #8627935 -
Flags: review?(nalexander) → review+
Updated•9 years ago
|
Attachment #8627937 -
Flags: review?(nalexander) → review+
Comment 14•9 years ago
|
||
Comment on attachment 8627937 [details] MozReview Request: Bug 1177855 - simplified avatar fetch logic r?nalexander. https://reviewboard.mozilla.org/r/12345/#review10825 Ship It!
Comment 15•9 years ago
|
||
https://reviewboard.mozilla.org/r/12341/#review10827 Ship It!
Comment 16•9 years ago
|
||
https://reviewboard.mozilla.org/r/12343/#review10829 Ship It!
Comment 17•9 years ago
|
||
mozreview has complete lost it, so I can't clear the remaining flags. In any case, I reviewed this and landed with some further simplifications. vivek: good work! On to the next!
Status: NEW → ASSIGNED
Updated•9 years ago
|
Attachment #8627934 -
Flags: review?(nalexander)
Updated•9 years ago
|
Attachment #8627936 -
Flags: review?(nalexander)
Comment 18•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/1aa1e4395911
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
status-firefox42:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 41
Updated•9 years ago
|
Target Milestone: Firefox 41 → Firefox 42
Updated•3 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•