Open davivel opened 9 years ago
Grid lists and lists from Material Design http://www.google.com/design/spec/components/grid-lists.html# http://www.google.com/design/spec/components/lists.html
why just not use recycler view and LayoutManager to show list or Grid? Plus its ViewHolder implementation would save a lot of resources, because currently what we have implemented as ViewHolder in FileListListAdapter is laughable.
@skymania actualy, that's the whole point of this issue.
I hope so.
@skymania since it sounds like you’re experienced, maybe you’re interested in contributing? :) I’m sure if you need any help, @davivel @tobiasKaminsky @AndyScherzinger can help you.
Absolutely! :) The material_toolbar branch is probably a good starting point since it contains most of the material implementation and the latest AppCompat release.
I have implemented toolbar, recycler view and UIL. Currently Im working on navigation drawer but time is not currently on my side so I have no idea when I will have the time to proceed with material implementations. I have to upload all the changes I made on github tho.
@skymania please do a pull request even when it's work in progress so we can already review. If a pull request is too big, risk is high it's very difficult to merge.
@ all how should we all move forward with this overall topic, since we now have this, #1076 and #1090 and @skymania provides the next implementation (which is fine with me) and I provided the action bar variant. So imho we need some kind of coordination to not implement everything twice :)
I’d say we should wait for #1076 to be QA'd and merged – which will hopefully happen soon. Then #1090 shortly after (we need it in the next cycle @davivel).
Then after that we can build on top of that. Otherwise it just becomes unmanageable. There’s no reason to cram all of these improvements in such a short amount of time now. ;)
Sounds reasonable @jancborchardt - thanks for the clarification :)
Finally found some time and I am currently using this for my owncloud server. Still in development tho. Made huge code optimizations so everything is running smooth as it should be.
@skymania did you rewrite one of the material branches of the ownCloud Android app?! :question: @jancborchardt I really do like the way how @skymania is visualizing the link/download with the round icon :+1: more colors/contrast and a bold style (material style)
the master one. 1.8.0
hmm, okay. The fab implementation would have been on the material_fab branch already ;)
Any news on this matter? @skymania fancy some collaboration?
I would start working on this and will create a new branch for the recycler view implementation based on the actual master a.k.a soon to be v2.0.0 all formerly mentioned PRs and issues have been merged or are at least done from a implementation point of view only missing out on review/test/merge.
I will update the issue referencing all the issues. - DONE
Branch has been created: https://github.com/owncloud/android/tree/984_recycler_view
So who every wants to work with me on this, feel free to do so either via direct commits to the branch or PRs targeting 984_recycler_view
also looping in @malkomich since this is an issue raised in 2015 :)
@AndyScherzinger what ever you need you can take from Cirrus. It already has a recycler view implementation.
That would be awesome! :+1:
Two though, just to be save:
@skymania , any chance you make a PR from your fork to ownCloud with the changes for this topic?
@AndyScherzinger , I disabled checkbox on #1559 since it's not merged yet; was a bit confusing. Hope it's OK to you.
Sure, you mean 1559 (?) I guess (drawer) which has just been mentioned because the discussion in this issue simply mentioned drawer, so I referenced it to explicitly document that that part has already been done.
That was, I fixed the comment.
My point is, over here we reserve the word "done" for things tested and merged. In this case I had said "developed". I know, too punctilious for this time... :D
@AndyScherzinger so I sign contribution agreement and we can start? I would love to contribute and do code reviews, but just to warn you, we will have to do shit loads of code changes to get this right :D
That's nice, @skymania .
If you had to do a summary, what would those lot of changes include?
@davivel
and probably something else that I have forgot now :)
@skymania yes that is basically it :) After signing the agreement and sending it to @karlitschek you will get the corresponding access rights to the repo and we can start working on a branch in the owncloud repo itself :)
I am fully aware that it is a huge amount of work that needs to be done, probably larger than what you had to do for cirrus since we do and (and will have) at least two more requirements for the lists:
I am totally in line with your list that will need to be implemented. I also think we will need an abstract implementation for reuse throughout the lists that is able to do the things you and I mentioned.
Really looking forward to the collaboration and finally bringing RecyclerView to the app :+1:
Besides that, #1559 also changes quite a lot just to introduce a new drawer. :)
The agreement can be found here: https://owncloud.org/contribute/agreement/ When I signed it I just sent a scan, which was totally fine :)
@AndyScherzinger done. Lets do some damage :)
Sounds great, guys.
But please, don't forget that we need to keep an order so that the process is manageable. All those changes shouldn't go in a single branch. Each of them should go in a different branch created from master, and target master when done in separate PRs.
I'm eager to see how this progresses :)
@davivel I'll leave making seperate branches to @AndyScherzinger, he knows how the work is done here more than I do. :)
Sure thing, that isn't to much of an issue I can create as many branches as necessary :+1: About the splitting though, I am not sure to which extend we can split it, since a basic recycler implementation would already mean a certain amount of changes. So we could then for example open separate branches for:
Are there any reason the 2.0.0 version is still using ActionBar instead of Toolbar implemetation?
Yes, that is due to the fact that #1559 hasn't yet been merged back to master and thus wasn't released yet.
@AndyScherzinger there I made PR on the branch. Its a start so many functions will not work properly, but basic navigation is implemented. We can go on on from there.
@AndyScherzinger @skymania Confirmed :-)
@skymania sound good to me! Great to have you on board! :+1:
Thnx mate :)
@skymania you should now have write access to the owncloud repo. I would therefor suggest that we just merge your actual PR and that you then switch to a clone of the owncloud repo branch and we simply work on that one and directly push to that one :)
@AndyScherzinger sounds good :+1:
@skymania I just rebased to the latest master to resolve some conflicts with the latest build changes (removal of maven support). So you need to update before doing anymore commits :)
Sorry, but we need to drop issues from milestone 2.4.0 to get it out next to OC 10 server.
This time we'll move topics to backlog
instead of directly to next release, so that we can schedule 2.5.0 properly.
Google states that the new elements for lists and grid view included in the Android Support Library help to improve the performance of lists and grids with tons of elements. I couldn't check it, but it's obvious they enforce the recycling of views instead of simply allowing the option to do it (or the option to forget to do it and have problems; see #955 fixing it). If there is also a better recycling policy behind, we will only notice it by start using them.
Nevertheless, there are other important reasons to embrace this change:
Sure of interest for @tobiasKaminsky , @jancborchardt , and everybody is welcome.
Just please, remember, that #692 should be done first (or at least the part of the build target).
Details
Branch
Implementation will be done on feature branch https://github.com/owncloud/android/tree/984_recycler_view
Issues
Issues referenced/mentioned in this issue and their current status:
TODOs