package com.utopiaindustries.hseobservationsapp.helper; import android.content.Context; import android.content.SharedPreferences; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.text.TextUtils; import android.util.Log; import androidx.preference.PreferenceManager; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.List; public class Helper { public static final String project_file = "Quality-Control"; public static final String departmentId = "departId"; public static final String departmentName = "departName"; public static final String locationSiteId = "locationSiteId"; public static final String locationSiteName = "locationSiteName"; public static final String unitId = "unitId"; public static final String unitName = "unitName"; public static final String floorId = "floorId"; public static final String floorName = "floorName"; public static final String logInUser = "LogInUser"; public static final String firstTimeApiCall = "isFirstTimeApiCall"; public static final String homeSite = "Sites"; public static final String superVisor = "SuperVisor"; public static final String recordType = "RecordType"; public static final String observationClass = "observationClass"; public static final String observationSubClass = "observationSubClass"; public static final String hseFloors = "hseFloors"; public static final String hseActivities = "hseActivities"; public static final String hseDepartment = "hseDepartment"; public static final String hseIncidentTypes = "hseIncidentTypes"; public static final String hseInjuredBodyPart = "hseInjuredBodyPart"; public static final String hsePtwType = "hsePtwType"; public static final String hseSafetyTrainingTopics = "hseSafetyTrainingTopics"; public static final String hseBuildings = "hseBuildings"; public static final String hseInjuries = "hseInjuries"; public static boolean isValidEmail(CharSequence target) { return !TextUtils.isEmpty(target) && android.util.Patterns.EMAIL_ADDRESS.matcher(target).matches(); } public static boolean isNetworkConnected(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo(); return activeNetwork != null && activeNetwork.isConnectedOrConnecting(); } static public void setPreferenceObject(Context c, Object modal, String key) { SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(c.getApplicationContext()); SharedPreferences.Editor prefsEditor = appSharedPrefs.edit(); Gson gson = new Gson(); String jsonObject = gson.toJson(modal); prefsEditor.putString(key, jsonObject); prefsEditor.commit(); } /*static public QualityControlResponse getPreferenceObjectJson(Context c, String key) { SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(c.getApplicationContext()); String json = appSharedPrefs.getString(key, ""); Gson gson = new Gson(); QualityControlResponse selectedUser = gson.fromJson(json, QualityControlResponse.class); return selectedUser; }*/ /*static public void saveArrayList(List list, String key, Context context){ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = prefs.edit(); Gson gson = new Gson(); String json = gson.toJson(list); editor.putString(key, json); editor.apply(); }*/ /*static public List getArrayList(String key, Context context){ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); // Check if the key exists if (!prefs.contains(key)) { return null; // Return null if the key doesn't exist } Gson gson = new Gson(); String json = prefs.getString(key, null); Type type = new TypeToken>() {}.getType(); return gson.fromJson(json, type); }*/ static public void RemoveArrayList(String key, Context context) { if (context != null) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); if (prefs.contains(key)) { // Check if the key exists SharedPreferences.Editor editor = prefs.edit(); editor.remove(key); // Remove the key-value pair editor.apply(); // Apply changes ///Log.e("SharedPreferences", "Key '" + key + "' removed successfully."); } else { Log.e("SharedPreferences", "Key '" + key + "' does not exist."); } } } //for department, site, unit, floor public static void saveList(List list, String key, Context context) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = prefs.edit(); Gson gson = new Gson(); String json = gson.toJson(list); // Convert the list to JSON editor.putString(key, json); editor.apply(); // Save to SharedPreferences } public static List getList(String key, Context context, Class clazz) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); // Check if the key exists if (!prefs.contains(key)) { return new ArrayList<>(); // Return an empty list if the key doesn't exist } Gson gson = new Gson(); String json = prefs.getString(key, null); Type type = TypeToken.getParameterized(ArrayList.class, clazz).getType(); // Use the provided class type return gson.fromJson(json, type); // Convert JSON back to the list } }