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

Issue 2285833002: Fix suggestion dismissing when underlying data changes (Closed)

Created:
4 years, 3 months ago by Philipp Keck
Modified:
4 years, 3 months ago
CC:
chromium-reviews, ntp-dev+reviews_chromium.org, mvanouwerkerk, Marc Treib
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Fix suggestion dismissing when underlying data changes When a suggestion is dismissed from the NewTabPage using the 'Remove' context menu item, the content that it refers to cannot be looked up from the corresponding ViewHolder, as onBindViewHolder may be called while the context menu is still open (which would result in the wrong suggestion being dismissed). Instead, store the referenced suggestion in the listener for the context menu items. This requires some additional refactorings. When the 'Remove' item is clicked for a suggestion that has been removed for other reasons (section became unavailable, suggestion was invalidated) in the meantime, ignore the call. When it is clicked for a suggestion that as moved out of the visible view, skip the animation and just dismiss it from the underlying data model directly. BUG=641313 Committed: https://crrev.com/1422e8bdc37459916e46959a4685ab16b0771f9b Cr-Commit-Position: refs/heads/master@{#415597}

Patch Set 1 #

Total comments: 26

Patch Set 2 : Rebase #

Patch Set 3 : Peter's comments #

Patch Set 4 : Michael's comments #

Patch Set 5 : Rebase #

Total comments: 15

Patch Set 6 : Michael's comments #

Patch Set 7 : Add SuppressFBWarnings for mImpressionTracker #

Patch Set 8 : Import SuppressFBWarnings from the right namespace #

Messages

Total messages: 35 (20 generated)
Philipp Keck
PTAL The TalkBack works as before.
4 years, 3 months ago (2016-08-26 17:10:06 UTC) #2
PEConn
Just some cursory nits. https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java (right): https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java#newcode103 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java:103: this.mArticle = article; We don't ...
4 years, 3 months ago (2016-08-26 17:21:20 UTC) #10
Philipp Keck
https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java (right): https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java#newcode103 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java:103: this.mArticle = article; On 2016/08/26 17:21:20, PEConn wrote: > ...
4 years, 3 months ago (2016-08-26 17:31:50 UTC) #12
PEConn
https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java (right): https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java#newcode103 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java:103: this.mArticle = article; On 2016/08/26 17:31:50, Philipp Keck wrote: ...
4 years, 3 months ago (2016-08-26 17:34:34 UTC) #14
Michael van Ouwerkerk
https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java (right): https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java#newcode301 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java:301: public int findSuggestion(String suggestionId) { Please rename this to ...
4 years, 3 months ago (2016-08-26 17:49:53 UTC) #15
Philipp Keck
https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java (right): https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java#newcode301 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java:301: public int findSuggestion(String suggestionId) { On 2016/08/26 17:49:52, Michael ...
4 years, 3 months ago (2016-08-29 09:09:02 UTC) #18
Philipp Keck
On 2016/08/29 09:09:02, Philipp Keck wrote: > https://codereview.chromium.org/2285833002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java > File > chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java > (right): > ...
4 years, 3 months ago (2016-08-29 14:06:55 UTC) #19
Philipp Keck
https://codereview.chromium.org/2285833002/diff/80001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java (right): https://codereview.chromium.org/2285833002/diff/80001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java#newcode118 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java:118: if (!ViewCompat.isAttachedToWindow(mNewTabPageRecyclerView)) return true; @peconn Please check this line, ...
4 years, 3 months ago (2016-08-30 08:18:18 UTC) #20
Michael van Ouwerkerk
lgtm with nits https://codereview.chromium.org/2285833002/diff/80001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java (right): https://codereview.chromium.org/2285833002/diff/80001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java#newcode414 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java:414: public void dismissItemWithAnimation(SnippetArticle article) { nit: ...
4 years, 3 months ago (2016-08-30 11:19:39 UTC) #23
PEConn
https://codereview.chromium.org/2285833002/diff/80001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java (right): https://codereview.chromium.org/2285833002/diff/80001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java#newcode118 chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java:118: if (!ViewCompat.isAttachedToWindow(mNewTabPageRecyclerView)) return true; On 2016/08/30 08:18:18, Philipp Keck ...
4 years, 3 months ago (2016-08-30 13:56:39 UTC) #26
PEConn
On 2016/08/30 13:56:39, PEConn wrote: > https://codereview.chromium.org/2285833002/diff/80001/chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java > File > chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticleViewHolder.java > (right): > > ...
4 years, 3 months ago (2016-08-30 14:03:21 UTC) #27
Philipp Keck
peconn@ Please see the last comment. https://codereview.chromium.org/2285833002/diff/80001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java File chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java (right): https://codereview.chromium.org/2285833002/diff/80001/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java#newcode414 chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerView.java:414: public void dismissItemWithAnimation(SnippetArticle ...
4 years, 3 months ago (2016-08-30 14:52:36 UTC) #28
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/2285833002/140001
4 years, 3 months ago (2016-08-31 08:53:25 UTC) #31
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 3 months ago (2016-08-31 09:58:01 UTC) #33
commit-bot: I haz the power
4 years, 3 months ago (2016-08-31 10:00:00 UTC) #35
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/1422e8bdc37459916e46959a4685ab16b0771f9b
Cr-Commit-Position: refs/heads/master@{#415597}

Powered by Google App Engine
This is Rietveld 408576698