I've come across this library midway through developing my app with the official library, now that I want to switch to this library I'm finding it a bit of a pain since a lot of things are different.
Firstly, can we split the YouTubeListener interface up a bit to match the official library as much as possible, it should make it easier to listen for callbacks on the methods you actually want and get rid of the need of AbstractYouTubeListener.
Which leads me onto my next issue, when I call initialize() I want to know whether it succeeded or failed, I know there's the call to onPlayerReady() but what happens if I decide I don't want the library to handle network changes and the device isn't connected to the internet? If there was an OnInitializedListener that had methods like onInitialiseSuccess() and onInitialiseFailed() then it would make it easier to know what has happened.
Lastly, I'm using MVP in my app which means I need to keep android dependencies out of my Presenter. If I want my Presenter to control the player then my Activity/Fragment needs to match each method on the player load/cue/play/pause etc which seems a bit pointless. It would be better if the onInitialiseSuccess method returned an interface called IYouTubePlayer containing all of the methods the YouTubePlayer implements. That way the Presenter can keep a reference to IYouTubePlayer and control it directly.
I'm willing to do this work myself but I wanted to see if you thought it was good idea before I submit a PR. Let me know what you think.