1 package com.airbnb.lottie; 2 3 import android.annotation.SuppressLint; 4 import android.os.Build; 5 6 import com.airbnb.lottie.utils.Logger; 7 8 import java.util.HashSet; 9 10 class LottieFeatureFlags { 11 12 private final HashSet<LottieFeatureFlag> enabledFlags = new HashSet<>(); 13 14 /** 15 * Returns true if the flag was changed. 16 */ 17 @SuppressLint("DefaultLocale") enableFlag(LottieFeatureFlag flag, boolean enable)18 public boolean enableFlag(LottieFeatureFlag flag, boolean enable) { 19 if (enable) { 20 if (Build.VERSION.SDK_INT < flag.minRequiredSdkVersion) { 21 Logger.warning(String.format("%s is not supported pre SDK %d", flag.name(), flag.minRequiredSdkVersion)); 22 return false; 23 } 24 return enabledFlags.add(flag); 25 } else { 26 return enabledFlags.remove(flag); 27 } 28 } 29 isFlagEnabled(LottieFeatureFlag flag)30 public boolean isFlagEnabled(LottieFeatureFlag flag) { 31 return enabledFlags.contains(flag); 32 } 33 34 } 35