package cgeo.geocaching.compatibility;
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.support.annotation.NonNull;
public final class Compatibility {
private static final int SDK_VERSION = Build.VERSION.SDK_INT;
private static final AndroidLevel19Interface LEVEL_19;
static {
LEVEL_19 = SDK_VERSION >= 19 ? new AndroidLevel19() : new AndroidLevel19Emulation();
}
private Compatibility() {
// utility class
}
public static void importGpxFromStorageAccessFramework(@NonNull final Activity activity, final int requestCodeImportGpx) {
LEVEL_19.importGpxFromStorageAccessFramework(activity, requestCodeImportGpx);
}
public static boolean isStorageAccessFrameworkAvailable() {
return SDK_VERSION >= 19;
}
@SuppressWarnings("deprecation")
// the non replacement method is only available on level 21, therefore we ignore this deprecation
public static Drawable getDrawable(final Resources resources, final int markerId) {
return resources.getDrawable(markerId);
}
}