Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(227)

Issue 2813703004: chooser: Don't call mutate on new drawable (Closed)

Created:
3 years, 8 months ago by ortuno
Modified:
3 years, 8 months ago
CC:
agrieve+watch_chromium.org, chromium-reviews, ortuno+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

chooser: Don't call mutate on new drawable Stops calling mutate() to avoid creating a new DrawableConstantState and uses the constant state to decided if the icon needs updating. Calling mutate() on new Drawables would cause a new DrawableConstantState to be created for each Drawable. This in turn would cause notifyDataSetChanged to be called for every update to the list. BUG=543466 Review-Url: https://codereview.chromium.org/2813703004 Cr-Commit-Position: refs/heads/master@{#465073} Committed: https://chromium.googlesource.com/chromium/src/+/483ae59e8536d954321f8c29851ca4310f3a33b5

Patch Set 1 #

Total comments: 10

Patch Set 2 : Don't call mutate and compare ConstantState. #

Total comments: 4

Patch Set 3 : Address tedchoc's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+10 lines, -15 lines) Patch
M chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java View 1 1 chunk +1 line, -6 lines 0 comments Download
M chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java View 1 2 2 chunks +8 lines, -2 lines 0 comments Download
M chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java View 3 chunks +1 line, -7 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 24 (11 generated)
ortuno
tedchoc: PTAL. I believe the problem didn't lie with the icons themselves but rather with ...
3 years, 8 months ago (2017-04-11 05:20:57 UTC) #4
Ted C
https://codereview.chromium.org/2813703004/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java File chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java (right): https://codereview.chromium.org/2813703004/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java#newcode354 chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java:354: // If the row is selected create a new ...
3 years, 8 months ago (2017-04-11 20:58:29 UTC) #7
ortuno
https://codereview.chromium.org/2813703004/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java File chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java (right): https://codereview.chromium.org/2813703004/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java#newcode354 chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java:354: // If the row is selected create a new ...
3 years, 8 months ago (2017-04-12 00:47:06 UTC) #8
Ted C
https://codereview.chromium.org/2813703004/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java File chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java (right): https://codereview.chromium.org/2813703004/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java#newcode354 chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java:354: // If the row is selected create a new ...
3 years, 8 months ago (2017-04-12 17:03:28 UTC) #9
Ted C
+dtrainor as he's recently been fighting drawables for in product help
3 years, 8 months ago (2017-04-12 17:03:51 UTC) #11
David Trainor- moved to gerrit
https://codereview.chromium.org/2813703004/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java File chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java (right): https://codereview.chromium.org/2813703004/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java#newcode219 chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java:219: if (!ApiCompatibilityUtils.objectEquals(icon, oldItem.mIcon)) { I think you only really ...
3 years, 8 months ago (2017-04-12 19:29:03 UTC) #12
ortuno
https://codereview.chromium.org/2813703004/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java File chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java (right): https://codereview.chromium.org/2813703004/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java#newcode354 chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java:354: // If the row is selected create a new ...
3 years, 8 months ago (2017-04-13 05:45:40 UTC) #13
ortuno
PTAL again. This follows dtrainor's suggestion to not call mutate() anymore which allows us to ...
3 years, 8 months ago (2017-04-13 05:46:49 UTC) #14
Ted C
lgtm https://codereview.chromium.org/2813703004/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java File chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java (right): https://codereview.chromium.org/2813703004/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java#newcode97 chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java:97: if ((mIcon != null) && !mIcon.getConstantState().equals(icon.getConstantState())) { don't ...
3 years, 8 months ago (2017-04-14 19:40:52 UTC) #15
David Trainor- moved to gerrit
lgtm % ted's nits
3 years, 8 months ago (2017-04-14 23:33:39 UTC) #16
ortuno
Thanks! https://codereview.chromium.org/2813703004/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java File chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java (right): https://codereview.chromium.org/2813703004/diff/20001/chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java#newcode97 chrome/android/java/src/org/chromium/chrome/browser/ItemChooserDialog.java:97: if ((mIcon != null) && !mIcon.getConstantState().equals(icon.getConstantState())) { On ...
3 years, 8 months ago (2017-04-17 23:40:05 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2813703004/40001
3 years, 8 months ago (2017-04-17 23:40:46 UTC) #21
commit-bot: I haz the power
3 years, 8 months ago (2017-04-18 00:17:10 UTC) #24
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://chromium.googlesource.com/chromium/src/+/483ae59e8536d954321f8c29851c...

Powered by Google App Engine
This is Rietveld 408576698