A material designed local music player for Android.
kabouzeid / phonograph Goto Github PK
View Code? Open in Web Editor NEWA material designed music player for Android
License: GNU General Public License v3.0
A material designed music player for Android
License: GNU General Public License v3.0
Similar to Play Music
I noticed quite a bit of lag after you change the general theme or colors, it appears to be because you're using the bus system.
Cabinet does it by storing whatever the previous value was when an Activity is first created. When the Activity resumes, it checks if those values changed, and recreates itself if they did.
There is no method (or maybe just not public) available to change the color on runtime. But as it is possible via xml some reflection stuff should do the job here.
The app could have a 'like'/'favorite' system, similar to Google Play Music. When you tap a thumbs up in the now playing screen, it would add the song to a playlist and display the thumbs up icon with the accent color.
There could also be a playlist that displays the last 100 or so played songs.
I fixed that before by using the padding 0dp in v21/styles and setting margins to 0 in the activity. However those values no longer seems to take affect.
I think Google's sample music player will help from Android Wear and Android Auto: https://github.com/googlesamples/android-UniversalMusicPlayer
Chromecast is a bit more difficult, if it isn't in that sample project already.
It doesn't seem to happen in the main activity, only in the artist and album viewer, and in the now playing screen.
The current implementation, with the dialog, is more or less a placeholder.
It doesn't seem to affect anything
Note: RecyclerView.Adapter has methods to update, insert, or remove individual items since notifyDataSetChanged() is rather intensive.
I will fix that tomorrow, too tired now :D
When I come back to the app after playing music for a while, it will be at the top of the list. I think it's a better user experience to always stay at the same scroll position even after the Activity is killed and started again.
I also noticed that if you pause music, and come back to it after the app has been killed by the system, the playing position is lost. I believe Google Play Music remembers your scroll and play positions indefinitely.
Ion is capable of web requests, having both makes the size of the app quite a bit larger
I believe there's a newer solution on Lollipop now.
I know it's important to use translucentStatusBar
to allow this style of UI to work on KitKat, but on Lollipop you should be using only the statusBarColor
along with DrawerLayout#setStatusBarBackgroundColor
so that the status bar color is exactly what is specified by themes.
MDTintHelper is no longer needed
Sorry about the spam of issues, lol. Just logging things so they're not forgotten.
The thumb needs some spacing from the bottom with at least the height of the toolbar. The "line" where the thumb slides on should still go to the very bottom of the screen to keep it looking good.
Best spacing would probably be the fab_activity offset dimen which is also used for the content the fastscroller scrolls here.
An alternative to try would be to place the fastscroller inside the main activity layout and align it to below toolbar and the bottom of the screen.
MDTintHelper.class
decompiled
seekBar.getProgressDrawable().setColorFilter(color, Mode.MULTIPLY);
if(VERSION.SDK_INT >= 16) {
seekBar.getThumb().setColorFilter(color, Mode.MULTIPLY);
}
I think Mode.MULTIPLY is wrong here. Because it multiplies the stock blue color of seekBar with the color we want instead of overwriting the color.
If I set it too pink then the result is purple i.e.
last.fm has a top tracks web service: http://www.last.fm/api/show/artist.getTopTracks
The artist viewer page could display an artist's top tracks and allow you to play them (or buy them via Google Play or whatever if they don't). It could be a configurable setting for those who don't want to see songs they don't have.
KitKat and below only (Lollipop works fine):
The fastscroller moves only when scrolling on the recyclerview itself. Ehen dragging although the fastscroller doesn't move it still scrolls the recyvlerview as it should.
I cannot reproduce which makes it even harder for me to fix. I already use a wakelock in the service and I almost completely compared the wakelock related code with Apollo, CM Music Player (Eleven) and Jams Music Player. I just can't figure out what is wrong here.
Just because it would look cool.
It will get passed through the intent to the tag editor activity.
E.g. an item that's partially under the toolbar will jump over the toolbar when tapped before going to the new Activity.
This requires a bit of reflection
@afollestad I am sure you know how to fix that :D
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.