While Java still have a bright future with Android development let's not forget two huge things:
I don't know Kotlin much but from what I've heard it clearly has a lot of potential and could easily replace Java for native Android development (it's officially supported).
As for Flutter, well, it's still young but very promising. It's not a language, it's a full framework to create Android and iOS apps... as well as Fuschia apps. So I guess Google has great plans for it in the future and I wouldn't be surprised to see it become a standard way of developing mobile apps.
I've been working a lot recently with Kotlin, and if anything, I think it will actually help prolong the lifespan of Java. While Flutter requires you to completely restart your app in Dart, Kotlin compiled directly to Java classfiles, which allows the transition to be as quick or as gradual as needed.
Kotlin is an amazing language, but a large part of why it is so great is because it is basically just (a lot of) syntactic sugar over Java itself. This keeps people in the Java ecosystem, and it has no intention of replacing the ecosystem.
When people talk about "java going away", I don't think they really realize how huge the Java ecosystem is. The Java ecosystem isn't going anywhere, and neither Kotlin, Scala, Groovy, or anything else is seeking to usurp the Java ecosystem. Rather, these languages are all great because of that ecosystem, and they are all helping to keep the Java language alive and push it more into being a better language itself. I don't think we would have seen functional programming brought to Java 8 if not for Scala, and similar small things, like better type inference the var keyword in Java 10, stem from Kotlin. Java is growing an evolving just like any major language, and its platform is just getting bigger and better along with it. It is not going anywhere, either as a language or as a platform.
On another note, I've never understood why so many people see C# as modern, while calling Java old. C# was created in 2000, just 4 years after Java, which means it is nearly as ancient a language (by computing standards) as Java (1996) and PHP (1995).
What you are saying is right. The most relevant difference for me would be that it is Open Source. So imagine having to choose between paying for Java updates or using something that looks like Java but it's free, what would you do?
Are you aware of OpenJDK? It's opensource, so why the heck pay for updates?
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.