• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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