content: package fuzion24.device.vulnerability.util;
  
  import android.content.Context;
  import android.content.SharedPreferences;
  
  import java.util.Arrays;
  import java.util.HashSet;
  import java.util.List;
  import java.util.Set;
  
  public class SharedPreferencesUtils {
  
      private static final String PREFS_LAST_LIST_OF_SCANS = "PREFS_LIST_OF_SCANS";
      private static final String PREFS_FIRST_RUN = "PREFS_FIRST_RUN";
      private static final String PREFS_AUTOMATIC_SHARING_ENABLE = "PREFS_AUTOMATIC_SHARING_ENABLE";
      private static final String BUILD_FINGERPRINT_HASH   = "BUILD_FINGERPRINT_HASH";
  
  
      private static final String PREFS_NAME = "com.nowsecure.android.vts.PREFERENCE_FILE_KEY";
  
      private SharedPreferencesUtils() {
      }
  
      private static SharedPreferences getPreferences(Context context) {
          return context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
      }
  
      public static Boolean isAutomaticSharingEnable(Context context) {
          return  getPreferences(context).getBoolean(PREFS_AUTOMATIC_SHARING_ENABLE, false);
      }
  
      public static void setIsAutomaticSharingEnable(Context context, Boolean isAutomaticSharingEnable) {
          getPreferences(context).edit().putBoolean(PREFS_AUTOMATIC_SHARING_ENABLE, isAutomaticSharingEnable).commit();
      }
  
      public static Boolean isTheFirstRun(Context context) {
          return getPreferences(context).getBoolean(PREFS_FIRST_RUN, true);
      }
  
      public static void disableFirstRun(Context context) {
          getPreferences(context).edit().putBoolean(PREFS_FIRST_RUN, false).commit();
      }
  
  
      public static List<String> getTheListOfScansAvailable(Context context) {
          Set<String> listOfPreviousScans = getPreferences(context).getStringSet(PREFS_LAST_LIST_OF_SCANS, null);
  
          if (listOfPreviousScans == null) {
              return null;
          }
  
          List<String> listOfScans = Arrays.asList(listOfPreviousScans.toArray(new String[listOfPreviousScans.size()]));
  
          return listOfScans;
      }
  
      public static void setTheListOfScansAvailable(Context context, List<String> listOfScans) {
          SharedPreferences.Editor editor = getPreferences(context).edit();
  
          editor.putStringSet(PREFS_LAST_LIST_OF_SCANS, new HashSet<>(listOfScans));
  
          editor.apply();
      }
  
      public static void setBuildUpdateFingerPrint(Context context, String fingerprint){
          SharedPreferences.Editor editor = getPreferences(context).edit();
  
          editor.putString(BUILD_FINGERPRINT_HASH, fingerprint);
  
          editor.apply();
      }
  
      public static String getBuildUpdateFingerprint(Context context){
          return getPreferences(context).getString(BUILD_FINGERPRINT_HASH, null);
      }
  
  }
  