WooDroid/app/src/main/java/me/gilo/wc/utils/AppUtils.java
2019-03-04 05:43:15 +03:00

144 lines
4.7 KiB
Java

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