Closed
Bug 1184211
Opened 9 years ago
Closed 9 years ago
Replace TwoWayView in SearchBar with RecyclerView
Categories
(Firefox for Android Graveyard :: General, defect)
Firefox for Android Graveyard
General
Tracking
(firefox42 fixed)
RESOLVED
FIXED
Firefox 42
Tracking | Status | |
---|---|---|
firefox42 | --- | fixed |
People
(Reporter: jonalmeida, Assigned: jonalmeida)
References
Details
Attachments
(2 files, 3 obsolete files)
Falls under bug 1158303.
Assignee | ||
Comment 1•9 years ago
|
||
Part of search list bug is particular (See: bug 1167942)
Assignee | ||
Updated•9 years ago
|
Assignee | ||
Comment 2•9 years ago
|
||
This is my patch for replacing the TwoWayView with a RecyclerView. The problems that I'm running into are with Robocop not able to find the symbols for RecyclerView. Sebastian, would you know anything about it since you worked on bug 1171288? This the error output I see (Please format this correctly Bugzilla, please): ``` ➜ mozilla-central ./mach build build/mobile/robocop /usr/bin/make -C /Users/jalmeida/hg/mozilla-central/objdir-droid -j8 -s backend.RecursiveMakeBackend /usr/bin/make -C build/mobile/robocop -j8 -s /Users/jalmeida/hg/mozilla-central/mobile/android/tests/browser/robocop/testAddSearchEngine.java:154: error: cannot access RecyclerView SearchEngineBar searchEngineBar = (SearchEngineBar) mSolo.getView(R.id.search_engine_bar); ^ class file for android.support.v7.widget.RecyclerView not found /Users/jalmeida/hg/mozilla-central/mobile/android/tests/browser/robocop/testAddSearchEngine.java:155: error: cannot find symbol if (searchEngineBar == null || searchEngineBar.getAdapter() == null) { ^ symbol: method getAdapter() location: variable searchEngineBar of type SearchEngineBar /Users/jalmeida/hg/mozilla-central/mobile/android/tests/browser/robocop/testAddSearchEngine.java:160: error: cannot find symbol + searchEngineBar.getAdapter().getCount() ^ symbol: method getAdapter() location: variable searchEngineBar of type SearchEngineBar /Users/jalmeida/hg/mozilla-central/mobile/android/tests/browser/robocop/testSearchSuggestions.java:104: error: cannot access OnItemTouchListener BrowserSearch.sSuggestClientFactory = new BrowserSearch.SuggestClientFactory() { ^ class file for android.support.v7.widget.RecyclerView$OnItemTouchListener not found /Users/jalmeida/hg/mozilla-central/mobile/android/tests/browser/robocop/testSearchSuggestions.java:105: error: method does not override or implement a method from a supertype @Override ^ /Users/jalmeida/hg/mozilla-central/mobile/android/tests/browser/robocop/testSearchSuggestions.java:104: error: cannot find symbol BrowserSearch.sSuggestClientFactory = new BrowserSearch.SuggestClientFactory() { ^ symbol: constructor () Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: /Users/jalmeida/hg/mozilla-central/mobile/android/tests/browser/robocop/SessionTest.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 6 errors make[1]: *** [classes.dex] Error 1 make: *** [default] Error 2 ```
Flags: needinfo?(s.kaspari)
Assignee | ||
Comment 3•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=ba6558dc4def
Assignee | ||
Comment 4•9 years ago
|
||
So from the try push above there is no issue, which may mean there's something wrong with my local setup. Pushed for review.
Assignee | ||
Comment 5•9 years ago
|
||
Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian
Attachment #8637049 -
Flags: review?(s.kaspari)
Comment 6•9 years ago
|
||
(In reply to Jonathan Almeida [:jonalmeida] from comment #4) > So from the try push above there is no issue, which may mean there's > something wrong with my local setup. Pushed for review. I'm not sure if your try push ran all the tests. Even though you specified "-u all" it only ran rc1 to rc4 while on TryChooser[1] you can select rc1 - rc10 nowadays. I usually use: "try: -b do -p android-api-9,android-api-11,android-x86 -u robocop-1,robocop-2,robocop-3,robocop-4,robocop-5,robocop-6,robocop-7,robocop-8,robocop-9,robocop-10 -t none" [1] http://trychooser.pub.build.mozilla.org/
Flags: needinfo?(s.kaspari)
Comment 7•9 years ago
|
||
Comment on attachment 8637049 [details] MozReview Request: Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian https://reviewboard.mozilla.org/r/13783/#review12399 ::: mobile/android/base/home/SearchEngineAdapter.java:27 (Diff revision 1) > + private List<SearchEngine> mSearchEngines = new ArrayList<>(); Super NIT: You can use Collections.emptyList() if you want to avoid allocating an empty list. But the returned list will be immutable. See comment below. ::: mobile/android/base/home/SearchEngineAdapter.java:30 (Diff revision 1) > + mSearchEngines.addAll(searchEngines); This is not really what the method signature promisses: Setting instead of adding. We probably always want to set, right? ::: mobile/android/base/home/SearchEngineAdapter.java:76 (Diff revision 1) > + return new SearchEngineViewHolder(createSearchEngineView(parent)); The only point of returning a different view type in getItemViewType() is to return different ViewHolder objects here (because different views will require different view holders). ::: mobile/android/base/home/SearchEngineAdapter.java:85 (Diff revision 1) > + holder.bindItem(null); Calling this for position 0 seems to be unnecessary. ::: mobile/android/base/home/SearchEngineAdapter.java:93 (Diff revision 1) > + return mSearchEngines.size(); I think you want to add +1 here for the label or we'll lose the last search engine. ::: mobile/android/base/home/SearchEngineAdapter.java:105 (Diff revision 1) > + iconView.setScaleType(ImageView.ScaleType.FIT_XY); NIT: We can move this to the XML file (I probably left this here..) ::: mobile/android/base/home/SearchEngineBar.java:127 (Diff revision 1) > - view.setLayoutParams(params); > + // do nothing I wrote RecyclerViewItemClickListener for a specific use case where I needed to listen for normal clicks and long clicks. I thought about later uses cases where you just want to click handler and don't care about long clicks but I didn't want to write code that isn't used. Maybe it makes sense to refactor RecyclerViewItemClickListener to handle these use cases without implementing empty methods. But that's something we can look at in a follow-up bug. ::: mobile/android/base/home/SearchEngineBar.java:84 (Diff revision 1) > - final int searchEngineCount = adapter.getCount() - 1; > + final int searchEngineCount = mAdapter.getItemCount(); Why did you remove the "-1"? There's still the label we need to take care of? ::: mobile/android/base/home/SearchEngineBar.java:98 (Diff revision 1) > } The latest changes for "cutting off" the last visible icon didn't make it into this patch I think. ::: mobile/android/base/home/SearchEngineBar.java:15 (Diff revision 1) > +import android.util.Log; NIT: This import is not used (anymore) ::: mobile/android/base/home/SearchEngineAdapter.java:39 (Diff revision 1) > + private View mView; This shouldn't be needed as you are able to access itemView of the super class. However the point of the ViewHolder is that you do all your findViewById() calls in the constructor and assign the results to members of your ViewHolder class - so that later in bindItem() (which will be called very often when scrolling!) does not need to search views but can just access the members. ::: mobile/android/base/home/SearchEngineAdapter.java:119 (Diff revision 1) > + faviconView.setImageResource(R.drawable.search_icon_inactive); This shouldn't be needed. This view shouldn't be visible before bind() is called. Did you need this to work around some issue? Otherwise let's avoid loading an image we do not display.
Attachment #8637049 -
Flags: review?(s.kaspari)
Assignee | ||
Comment 8•9 years ago
|
||
(In reply to Sebastian Kaspari (:sebastian) from comment #6) > I'm not sure if your try push ran all the tests. Even though you specified > "-u all" it only ran rc1 to rc4 while on TryChooser[1] you can select rc1 - > rc10 nowadays. > > I usually use: "try: -b do -p android-api-9,android-api-11,android-x86 -u > robocop-1,robocop-2,robocop-3,robocop-4,robocop-5,robocop-6,robocop-7, > robocop-8,robocop-9,robocop-10 -t none" > > [1] http://trychooser.pub.build.mozilla.org/ I think I'm going to use that from now on. Looks like that build issue isn't just local: https://treeherder.mozilla.org/#/jobs?repo=try&revision=c5b8731bd40d Yesterday, I was trying to figure out how to add the support library to `build/mobile/robocop/Makefile.in` but I had troubles at finding a way to reference the local android sdk path in there. Any idea at what I could look at? Fixing your comments in the review for now. Thanks!
Flags: needinfo?(s.kaspari)
Comment 9•9 years ago
|
||
(In reply to Jonathan Almeida [:jonalmeida] from comment #8) > Any idea at what I could look at? I don't - yet. I filed bug 1186532 blocking this one. Let's see if we can find a solution.
Flags: needinfo?(s.kaspari)
Assignee | ||
Comment 10•9 years ago
|
||
https://reviewboard.mozilla.org/r/13783/#review12399 > I think you want to add +1 here for the label or we'll lose the last search engine. I removed the +1 because I get IndexOutOfBoundsException when I scroll to the end of the list. > Calling this for position 0 seems to be unnecessary. Good point, I'm not sure why I did that, ha! > The only point of returning a different view type in getItemViewType() is to return different ViewHolder objects here (because different views will require different view holders). I use it to determine if it's a label or search engine because I found it easier to construct each one with the parent ViewGroup. I'm not sure what would be the best way to change this. > I wrote RecyclerViewItemClickListener for a specific use case where I needed to listen for normal clicks and long clicks. I thought about later uses cases where you just want to click handler and don't care about long clicks but I didn't want to write code that isn't used. > > Maybe it makes sense to refactor RecyclerViewItemClickListener to handle these use cases without implementing empty methods. But that's something we can look at in a follow-up bug. Created bug 1186529 for this. > Super NIT: You can use Collections.emptyList() if you want to avoid allocating an empty list. But the returned list will be immutable. See comment below. Thanks, TIL! > The latest changes for "cutting off" the last visible icon didn't make it into this patch I think. Oops! Patch incoming.
Assignee | ||
Comment 11•9 years ago
|
||
Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian Fixes from review comments (Part 1.. of 1?)
Attachment #8637660 -
Flags: review?(s.kaspari)
Assignee | ||
Comment 12•9 years ago
|
||
Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian These are actually changes from bug 1158291 applied on top of the re-written view.
Attachment #8637661 -
Flags: review?(s.kaspari)
Comment 13•9 years ago
|
||
https://reviewboard.mozilla.org/r/13783/#review12399 > I removed the +1 because I get IndexOutOfBoundsException when I scroll to the end of the list. I assume this happened because you need to substract one again when accessing the search engine list because the 'label' is not in there. Summarizing: The adapter takes care of label + search engines (because it needs to create views for them), but the internal list only contains the search engines. > Created bug 1186529 for this. Thanks! :) > I use it to determine if it's a label or search engine because I found it easier to construct each one with the parent ViewGroup. I'm not sure what would be the best way to change this. You base some of your decisions on the 'position' of an item and some others on the ViewHolder. The ViewHolder should take care of most decisions. Their purpose is to avoid the performance overhead of searching views in a tree, see: http://developer.android.com/training/improving-layouts/smooth-scrolling.html#ViewHolder You probably want to create two different ViewHolders when return two different view types. Both view holders can implement a common interface to avoid the need to use instanceof / if statements all over the place.
Comment 14•9 years ago
|
||
Whenever updating a patch feel free to update the existing patch with 'hg commit --amend' and push to reviewboard. Reviewboard is able to handle the different versions over time and I can look at the final result as well as intermediate steps without keeping track of all the different patches (Reviewboard has some nice sliders for that). In this case it would be easier to just review the final result. :)
Comment 15•9 years ago
|
||
https://reviewboard.mozilla.org/r/13781/#review12511 ::: mobile/android/base/home/SearchEngineAdapter.java:87 (Diff revision 2) > + return mSearchEngines.size(); Your current implementation has still an off-by-one error. One search engine is missing. This here is at least one part of the problem. Your adapter size should be mSearchEngines.size() + 1. ::: mobile/android/base/home/SearchEngineBar.java:127 (Diff revision 2) > - private View getSearchEngineView(final int position, View view, final ViewGroup parent) { > + final SearchEngine searchEngine = mAdapter.getItem(position + 1); Are you sure you want to add one here? getItem() substracts one to access mSearchEngines. Everything should be fine without adding one?
Updated•9 years ago
|
Attachment #8637660 -
Flags: review?(s.kaspari) → feedback+
Updated•9 years ago
|
Attachment #8637661 -
Flags: review?(s.kaspari) → feedback+
Comment 16•9 years ago
|
||
This is definitely going into the right direction. My only concerns with the current version: * There's an off-by-one error. Review all your +1 / -1 and compare with the list of a Nightly build. * Try to follow the view holder pattern, avoiding findViewById() in bind()
Assignee | ||
Comment 17•9 years ago
|
||
https://reviewboard.mozilla.org/r/13783/#review12399 > You base some of your decisions on the 'position' of an item and some others on the ViewHolder. The ViewHolder should take care of most decisions. Their purpose is to avoid the performance overhead of searching views in a tree, see: http://developer.android.com/training/improving-layouts/smooth-scrolling.html#ViewHolder > > You probably want to create two different ViewHolders when return two different view types. Both view holders can implement a common interface to avoid the need to use instanceof / if statements all over the place. I think I got it now. I've moved the findViewById for the ImageView to the constructor of the ViewHolder. On bind, I just set the resource there.
Assignee | ||
Comment 18•9 years ago
|
||
Comment on attachment 8637661 [details] MozReview Request: Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian - These are actually changes from bug 1158291 applied on top of the re-written view. - Also includes one off errors, and corrected placement of findViewById in ViewHolder.
Attachment #8637661 -
Flags: feedback+ → review?(s.kaspari)
Assignee | ||
Comment 19•9 years ago
|
||
(In reply to Sebastian Kaspari (:sebastian) from comment #14) > Whenever updating a patch feel free to update the existing patch with 'hg > commit --amend' and push to reviewboard. Reviewboard is able to handle the > different versions over time and I can look at the final result as well as > intermediate steps without keeping track of all the different patches > (Reviewboard has some nice sliders for that). In this case it would be > easier to just review the final result. :) I was trying to separate the original patch from amends, as well as the patch for bug 1158291. I put my last changes to the end of the last patch though (couldn't amend the previous one). > * There's an off-by-one error. Review all your +1 / -1 and compare with the list of a Nightly build. > * Try to follow the view holder pattern, avoiding findViewById() in bind() Fixed these changes! Although note that I've tested everything locally only since I can't test on try until bug 1186532 lands there.
(In reply to Sebastian Kaspari (:sebastian) from comment #6) > I usually use: "try: -b do -p android-api-9,android-api-11,android-x86 -u > robocop-1,robocop-2,robocop-3,robocop-4,robocop-5,robocop-6,robocop-7, > robocop-8,robocop-9,robocop-10 -t none" The number of robocop suites can vary depending on the number of tests so this may miss a suite when tests get added. You can specify 'robocop' to run them all: "try: -b do -p android-api-9,android-api-11,android-x86 -u robocop -t none"
(In reply to Jonathan Almeida [:jonalmeida] from comment #2) > This the error output I see (Please format this correctly Bugzilla, please): For better formatting, you could post this as an attachment (which I usually do, with the important excerpts poorly formatted in my comment), or link to an external source that can do better than plain text attachments (e.g. pastebin, gist), but this is generally less preferable because those sources aren't guaranteed to exist in the future.
Comment 22•9 years ago
|
||
Comment on attachment 8637661 [details] MozReview Request: Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian https://reviewboard.mozilla.org/r/13955/#review12645 Awesome! That's basically a r+. There are two things, see below. Oh, and I like how SearchEngineBar now seems to be much simpler, just by moving out the adapter. :) ::: mobile/android/base/home/SearchEngineAdapter.java:83 (Diff revision 2) > - holder.bindItem(mSearchEngines.get(position)); > + holder.bindItem(mSearchEngines.get(position - 1)); You are duplicating the functionality of getItem() here. Just call getItem(position) :) NIT: Maybe add a comment why we are omitting position 0. (I think the original implementation had something like that.) ::: mobile/android/base/home/SearchEngineAdapter.java:40 (Diff revision 2) > + private ImageView faviconView; This should be final.
Attachment #8637661 -
Flags: review?(s.kaspari)
Comment 23•9 years ago
|
||
Before landing we should probably "--collapse" these changes into a single commit.
Assignee | ||
Comment 24•9 years ago
|
||
> Awesome! That's basically a r+. There are two things, see below. Oh, and I like how SearchEngineBar now seems to be much simpler, just by moving out the adapter. :)
I like it too! :)
I've fixed the two changes you mentioned and folded all the commits into one. By EOD I'll push to try which is plenty of time for your robocop/recyclerview patch to have landed there.
Assignee | ||
Comment 25•9 years ago
|
||
Comment on attachment 8637049 [details] MozReview Request: Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian - Also includes changes from bug 1158291 applied on top of the re-written view.
Attachment #8637049 -
Flags: review?(s.kaspari)
Assignee | ||
Updated•9 years ago
|
Attachment #8637660 -
Attachment is obsolete: true
Assignee | ||
Updated•9 years ago
|
Attachment #8637661 -
Attachment is obsolete: true
Assignee | ||
Comment 26•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=5be2db52163f
bug 1170724 recently landed and will likely bitrot this.
Depends on: 1170724
Updated•9 years ago
|
Attachment #8636935 -
Attachment is obsolete: true
Comment 28•9 years ago
|
||
(In reply to Michael Comella (:mcomella) from comment #20) > The number of robocop suites can vary depending on the number of tests so > this may miss a suite when tests get added. You can specify 'robocop' to run > them all: > "try: -b do -p android-api-9,android-api-11,android-x86 -u robocop -t none" (In reply to Jonathan Almeida [:jonalmeida] from comment #26) > https://treeherder.mozilla.org/#/jobs?repo=try&revision=5be2db52163f This try run with "-u robocop" just ran rc1 - rc4 again. Is this intentional? Locally testAddSearchEngine fails for me. Is this happening for you too?
Flags: needinfo?(jalmeida)
Comment 29•9 years ago
|
||
Comment on attachment 8637049 [details] MozReview Request: Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian https://reviewboard.mozilla.org/r/13783/#review12865 ::: mobile/android/base/home/SearchEngineAdapter.java:35 (Diff revision 2) > + public void setIconContainerWidth(int iconContainerWidth) { NIT: Maybe we should add a comment here explaining what the container size is - and remove the 'public' keyword to make the method access 'package private'.
Attachment #8637049 -
Flags: review?(s.kaspari)
Comment 30•9 years ago
|
||
The code itself is r+ but testAddSearchEngine is failing for me locally.
(In reply to Sebastian Kaspari (:sebastian) from comment #28) > This try run with "-u robocop" just ran rc1 - rc4 again. Is this > intentional? I noticed an fx-team landing [1] also only ran rc1 - rc4 – I wonder if they've been regrouped, or if `-u robocop`, which is probably used for those pushes, is broken. [1]: https://treeherder.mozilla.org/#/jobs?repo=fx-team&revision=d98c9b5082f1
(In reply to Michael Comella (:mcomella) from comment #31) > I noticed an fx-team landing [1] also only ran rc1 - rc4 via irc: <gbrown> mcomella: yes, I think so. are you thinking of rc5 ... on Android 4.0? We don't run those, except on try and beta now (and those for a limited time) 09:42 <gbrown> (you get all the same tests on rc1 .. rc4 on 2.3/4.3 as rc1 .. rc10 on 4.0 -- they are just split up differently)
Assignee | ||
Comment 33•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=a0b63007699e
Assignee | ||
Comment 34•9 years ago
|
||
> Locally testAddSearchEngine fails for me. Is this happening for you too? Just tried it out, and I'm not seeing any failures. > NIT: Maybe we should add a comment here explaining what the container size is - and remove the 'public' keyword to make the method access 'package private'. Fixed! I've pushed to try again with the comments and access changes with my old try syntax: https://treeherder.mozilla.org/#/jobs?repo=try&revision=b5a62c817467
Flags: needinfo?(jalmeida)
Assignee | ||
Comment 35•9 years ago
|
||
Try looks like it's passing with my last push. Sending for review.
Assignee | ||
Comment 36•9 years ago
|
||
Comment on attachment 8637049 [details] MozReview Request: Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian - Also includes changes from bug 1158291 applied on top of the re-written view.
Attachment #8637049 -
Flags: review?(s.kaspari)
Comment 37•9 years ago
|
||
Comment on attachment 8637049 [details] MozReview Request: Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian https://reviewboard.mozilla.org/r/13783/#review12947 Ship It!
Attachment #8637049 -
Flags: review?(s.kaspari) → review+
Assignee | ||
Comment 38•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=47197151bbdf
Assignee | ||
Comment 39•9 years ago
|
||
Rebased and pushed to try one more time to make sure there aren't any issues hitting bug 1170724.
Assignee | ||
Comment 40•9 years ago
|
||
I'm seeing those testAddSearchEngine failures on try now, but I'm still not seeing it locally. Looking into this today..
Assignee | ||
Comment 41•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=c2f97e907c66
Assignee | ||
Comment 42•9 years ago
|
||
Sebastian, I'm seeing an error I'm seeing is that there is no method for getAdapter in RecyclerView. Do you know if this is related to bug 1186532? java.lang.NoSuchMethodError: No virtual method getAdapter()Landroid/support/v7/widget/RecyclerView$Adapter; in class Lorg/mozilla/geck o/home/SearchEngineBar; or its super classes (declaration of 'org.mozilla.gecko.home.SearchEngineBar' appears in /data/app/org.mozilla.fennec_jalmeida-1/base.apk)
Flags: needinfo?(s.kaspari)
Comment 43•9 years ago
|
||
(In reply to Jonathan Almeida (:jonalmeida) from comment #42) > Created attachment 8641203 [details] > no_get_adapter.log > > Sebastian, I'm seeing an error I'm seeing is that there is no method for > getAdapter in RecyclerView. Do you know if this is related to bug 1186532? Proguard seems to be very aggressive and strips a bunch of things. I got it working by overriding getAdapter() and adding the RobocopTarget[1] annotation. I can't come up with anything that's avoiding additional code. Unfortunately we can't annotate RecyclerView's method. > + @RobocopTarget > + @Override > + public SearchEngineAdapter getAdapter() { > + return mAdapter; > + } [1]: https://wiki.mozilla.org/Mobile/Fennec/Android/UITest
Flags: needinfo?(s.kaspari)
Assignee | ||
Comment 44•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=08c9f8f4c079
Assignee | ||
Comment 45•9 years ago
|
||
See last try build (comment 44) which includes a test fix.
Keywords: checkin-needed
Comment 46•9 years ago
|
||
Doesn't apply. Did you push the fixed-up patch to mozreview?
Keywords: checkin-needed
Assignee | ||
Comment 47•9 years ago
|
||
Comment on attachment 8637049 [details] MozReview Request: Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian - Also includes changes from bug 1158291 applied on top of the re-written view.
Attachment #8637049 -
Flags: review+ → review?(s.kaspari)
Comment 48•9 years ago
|
||
Comment on attachment 8637049 [details] MozReview Request: Bug 1184211 - Replace TwoWayView in SearchBar with RecyclerView. r?sebastian https://reviewboard.mozilla.org/r/13783/#review13313 Still r+. The last change added some more code that is not really part of this bug or needed? With this being the last week of the 42 cycle I wonder whether we should land this in 43 next week to give it some more time in Nightly to test. What do you think? But feel free to land this now if you feel positive. :) ::: mobile/android/tests/browser/robocop/AboutHomeTest.java:183 (Diff revision 4) > + protected final RecyclerView findRecyclerViewWithTag(String tag) { This method is not used? I assume this refactoring of findListViewWithTag() is not really part of this bug? ::: mobile/android/tests/browser/robocop/AboutHomeTest.java:245 (Diff revision 4) > - * @param AboutHomeTabs enum item > + * @param tab You fixed the param name but removed the comment :)
Attachment #8637049 -
Flags: review?(s.kaspari) → review+
Comment 49•9 years ago
|
||
(In reply to Sebastian Kaspari (:sebastian) from comment #48) > ::: mobile/android/tests/browser/robocop/AboutHomeTest.java:245 > (Diff revision 4) > > - * @param AboutHomeTabs enum item > > + * @param tab > > You fixed the param name but removed the comment :) Reading this line again I think we can remove the whole line. The comment isn't adding any value. ;)
Assignee | ||
Comment 50•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=89315ecf50bf
https://reviewboard.mozilla.org/r/13783/#review13321 ::: mobile/android/base/home/SearchEngineBar.java:139 (Diff revision 4) > - public int getViewTypeCount() { > + public SearchEngineAdapter getAdapter() { Drive-by: add a comment explaining why this getAdapter override/@RobocopTarget is necessary. Also, weird - can you file, CC me, ckitching, rnewman, and NI nalexander?
Assignee | ||
Comment 52•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=54012d18b094
Assignee | ||
Comment 53•9 years ago
|
||
See comment 50 for try build with r+ (comment 52 includes only comments mentioned in comment 51).
Keywords: checkin-needed
Assignee | ||
Comment 54•9 years ago
|
||
https://reviewboard.mozilla.org/r/13783/#review13313 > This method is not used? I assume this refactoring of findListViewWithTag() is not really part of this bug? I added this initially for trying to fix the build errors with getAdapter(), but I let it in since it might have been useful later. Removed it for now. > You fixed the param name but removed the comment :) Removed entirely!
Assignee | ||
Comment 55•9 years ago
|
||
https://reviewboard.mozilla.org/r/13783/#review13321 > Drive-by: add a comment explaining why this getAdapter override/@RobocopTarget is necessary. > > Also, weird - can you file, CC me, ckitching, rnewman, and NI nalexander? Created bug 1190567 for this.
Comment 56•9 years ago
|
||
this caused conflicts when importing to fx-team patching file mobile/android/base/home/SearchEngineBar.java Hunk #1 FAILED at 0 1 out of 1 hunks FAILED -- saving rejects to file mobile/android/base/home/SearchEngineBar.java.rej could you take a look, thanks!
Flags: needinfo?(jalmeida)
Keywords: checkin-needed
Assignee | ||
Comment 57•9 years ago
|
||
https://treeherder.mozilla.org/#/jobs?repo=try&revision=bdd672e1aa8b
Assignee | ||
Comment 58•9 years ago
|
||
I've rebased and fixed the conflict, as well as kicked off another try build to verify. If all goes well, I'll mark it for checkin.
Flags: needinfo?(jalmeida)
Comment 60•9 years ago
|
||
MozReview rev 08c9f8f4c0798e6f04cf791fbe13f6287126f070 is still not applying to fx-team tip.
Keywords: checkin-needed
Comment 61•9 years ago
|
||
FWIW, the parent rev on that is 2ee9895e032c, which is from 28-July.
Comment 63•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/f52bfe71d212
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox42:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → 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
•