Cool Java fundamentals for Android development

Hello everyone!

I'm engineer of IT with background in C#, PHP and Java. My wish is to learn to develop Android applications. My question is, how much of Java do I need to know before I start learning Android? ATM I have passed basics in Java, primitive/reference types, collections, loops, casting, wrapping/unwrapping, exceptions, polymorphism, inheritance, (everything about OOP). Now I stopped at Swing GUI. Should I avoid it? Do I need listeners/events in Android apps? Threads? Can someone write me down what do I need to complete my Java knowledge before I start my Android journey? I would appreciate that!

(How much I )

Thanks and BR,