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); } }