Java and Android API Levels - igniterealtime/Smack GitHub Wiki

Currently Required API Levels

Smack currently requires at least the following API levels:

Java API Level: Java 7 (1.7)

Android API Level: 8

Potential relevant features of higher API levels

Android API Level 9

  • Adds Normalizer, would be helpfull to e.g. apply Unicode Normalization Form C (NFC) to resourceparts.
  • Adds TimeUnit.MINUTES, would be useful in util.Async.

Android API Level 19

Branch: android19

Added java.lang.AutoCloseable (Java7 feature), needed for try-with-resources. Experiments show that a few LOCs could be saved by using tyr-with-resources and making PacketCollector implement AutoCloseable (see android19 branch)

Use java.util.Objects, especially Objects.requireNonNull(T o, String message) seems to be handy in many constructors.

Java 8