A very Happy New Year fellas !
Last time I said, that I’d be working on Bhushan’s new UI branch. This post is about it. He started working on it as part of his GSoC. I took the work of finishing it and merging it into master. However, my work’s still not fully done. So I am for now just working on my branch. I will merge it into master later.
Have a look at what the old UI looked like :
The new UI has a much more minimalistic design. It features a backend strip with various widget like options. For further options within a particular category, it will have a smaller strip beneath it. However, it’s still currently in development.
Here’s how the UI will somewhat look like after it’s been merged into master.
So to start with, I created a backup of Bhushan’s branch and merged master into it. Since, the more time I took to merge master, the hairier it would become. Next I pushed this branch as my working branch and spent some days analyzing the flow of control for various elements and actions. This was a kind of messy job if not tough since we don’t have a documentation for it. I added the all so powerful Debug statements everywhere that I could. Ashish and Bhushan were a huge help too, since I didn’t know what a lot of UI components were doing.
The branch was easily compiled but lacked functionality. So I started with the back button functionality. So that we could go to a previous menu by pressing the backspace button. Now the PMC works in a stack form. Each new page is pushed to the top of the stack and made visible. Every time we press the backspace key, the stack is popped and the previous page is made visible. After this I gave it playback support for Audio and Video. Again figuring out the flow was messy. But finally, it works ! Audio and Video play seamlessly, with the Media Controller and the media controls, both from the controller and keyboard work as expected.
However, there are some issues I am still facing. There is an overlay of different pages during navigation. To be precise, overlay of lists that display the local audio/video content in a list form. I spent some time figuring it out, but then left it aside for now. Also, I’ll be adding capability to view images as well. They work a bit differently as they don’t need a Player Engine like Audio/Video but an Image Viewer. Also, we show these images’ thumbnails in a grid so I’ll have to get that grid browser up and running. If all goes well, we can get at least the current master branch functionality in this new UI. Then I’ll merge and push. I’ll stay positive 🙂
Thanks for reading !