Ignore IntelliJ IDEA files.
Improve JavaDoc and clean up code.
Refactor the generate method of this class to be an instance method.
Use a SecureRandom field internally and provide a public reSeed() method for callers to reSeed it periodically.
Add a GoogleAuthenticatorException class to wrap exceptions launched by this class. This base exception class extends RuntimeException.
Encapsulate the key behaviour, such as QR generation, in a dedicated class.
Update code to return a GoogleAuthenticatorKey instance and calculate verification code at UNIX time=0.
Refactor the windowSize field to be an AtomicInteger.
Change authorise() methods in order not to take the time from the external source: the validating code should only trust its own clock.
Introduce meaningful constants, document them and refactor the existing code.
Refactor the existing tests.
Improve JavaDoc and add authorship tags.
Update the test class and properly document it.