package me.gilo.wc.utils; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.os.Handler; import android.support.annotation.StringRes; import android.util.Base64; import android.view.inputmethod.InputMethodManager; import android.widget.Toast; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /* * */ public class AppUtils { Context context; String token; String expiry; public static final String MY_PREFS_NAME = "StarterApp"; public AppUtils(Context context) { this.context = context; } public static void showToast(Context context, @StringRes int text, boolean isLong) { showToast(context, context.getString(text), isLong); } public static void showToast(Context context, String text, boolean isLong) { Toast.makeText(context, text, isLong ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT).show(); } public void saveToken(String token, String expiry){ SharedPreferences.Editor editor = context.getSharedPreferences(MY_PREFS_NAME, context.MODE_PRIVATE).edit(); editor.putString("token", token); editor.putString("expiry", expiry); editor.putBoolean("loggedIn", true); editor.apply(); } public String getToken() { SharedPreferences prefs = context.getSharedPreferences(MY_PREFS_NAME, context.MODE_PRIVATE); return prefs.getString("token", null); } public void saveCartSession(String sessionId, String expiry){ SharedPreferences.Editor editor = context.getSharedPreferences(MY_PREFS_NAME, context.MODE_PRIVATE).edit(); editor.putString("cartSession", sessionId); editor.putString("expiry", expiry); editor.putBoolean("hasSession", true); editor.apply(); } public String getCartSession() { SharedPreferences prefs = context.getSharedPreferences(MY_PREFS_NAME, context.MODE_PRIVATE); return prefs.getString("cartSession", null); } public String getExpiry() { SharedPreferences prefs = context.getSharedPreferences(MY_PREFS_NAME, context.MODE_PRIVATE); return prefs.getString("expiry", null); } public boolean isLoggedIn(){ SharedPreferences prefs = context.getSharedPreferences(MY_PREFS_NAME, context.MODE_PRIVATE); return prefs.getBoolean("loggedIn", false); } public void logOut(){ SharedPreferences.Editor editor = context.getSharedPreferences(MY_PREFS_NAME, context.MODE_PRIVATE).edit(); editor.putString("token", ""); editor.putString("expiry", ""); editor.putBoolean("loggedIn", false); editor.apply(); } public static Date getCurrentDateTime(){ Date currentDate = Calendar.getInstance().getTime(); return currentDate; } public static String getFormattedDateString(Date date) { try { SimpleDateFormat spf = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy"); String dateString = spf.format(date); Date newDate = spf.parse(dateString); spf= new SimpleDateFormat("dd MMM yyyy HH:mm:ss"); return spf.format(newDate); } catch (ParseException e) { e.printStackTrace(); } return null; } public static String generateHash(String password) { MessageDigest md = null; try { md = MessageDigest.getInstance("SHA-512"); md.update(password.getBytes()); byte byteData[] = md.digest(); String base64 = Base64.encodeToString(byteData, Base64.NO_WRAP); return base64; } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return null; } public static void showMessage(Context context, String message) { Toast.makeText(context, message, Toast.LENGTH_LONG).show(); } public static void openKeyboard(final Context context) { new Handler().postDelayed(new Runnable() { @Override public void run() { InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) { imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); } } }, 500); } public static void hideKeyboard(Activity activity) { InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0); } }