Proyectos de Subversion Android Microlearning

Rev

Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

package com.cesams.twogetskills.library;

import java.io.File;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.Calendar;
import java.util.Date;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.regex.Pattern;
import android.content.Context;
import android.os.Environment;

public class Functions {
        private static Float scale;
        /*
        private static SimpleDateFormat sdfHora24               = new SimpleDateFormat(Constants.FORMATO_HORA_24, Locale.getDefault()); 
        private static SimpleDateFormat sdfHora12               = new SimpleDateFormat(Constants.FORMATO_HORA_12, Locale.getDefault()); 
        private static SimpleDateFormat sdfFechaHora24          = new SimpleDateFormat(Constants.FORMATO_FECHA_HORA_24, Locale.getDefault());
        private static SimpleDateFormat sdfFechaHora12          = new SimpleDateFormat(Constants.FORMATO_FECHA_HORA_12, Locale.getDefault());
        private static SimpleDateFormat sdfFechaYMD             = new SimpleDateFormat(Constants.FORMATO_FECHA_YMD, Locale.getDefault());
        private static SimpleDateFormat sdfFechaDMY             = new SimpleDateFormat(Constants.FORMATO_FECHA_DMY, Locale.getDefault());
        private static DecimalFormat formatMonto2Decimales      = new DecimalFormat("#,##0.00");
        private static DecimalFormat formatEntero                       = new DecimalFormat("#,##0");
*/
        private Functions() {
                // TODO Auto-generated constructor stub
        }
        /*
    public static Date parseFechaHora24(String timestamp24Horas) {
        try {
                        return sdfFechaHora24.parse(timestamp24Horas);
                } catch (ParseException e) {
                        Calendar c = Calendar.getInstance(Locale.getDefault());
                        return c.getTime();
                }
    }
    
    public static Date parseFechaHora12(String timestamp12Horas) {
        try {
                        return sdfFechaHora12.parse(timestamp12Horas);
                } catch (ParseException e) {
                        Calendar c = Calendar.getInstance(Locale.getDefault());
                        return c.getTime();
                }
    }
    
    public static Date parseFechaYMD(String fechaYMD) {
        try {
                        return sdfFechaYMD.parse(fechaYMD);
                } catch (ParseException e) {
                        Calendar c = Calendar.getInstance(Locale.getDefault());
                        return c.getTime();
                }
    }
    
    public static Date parseFechaDMY(String fechaDMY) {
        try {
                        return sdfFechaDMY.parse(fechaDMY);
                } catch (ParseException e) {
                        Calendar c = Calendar.getInstance(Locale.getDefault());
                        return c.getTime();
                }
    }
    
    public static Date parseHora12(String fechaDMY) {
        try {
                        return sdfHora12.parse(fechaDMY);
                } catch (ParseException e) {
                        Calendar c = Calendar.getInstance(Locale.getDefault());
                        return c.getTime();
                }
    }
    
    public static Date parseHora24(String fechaDMY) {
        try {
                        return sdfHora24.parse(fechaDMY);
                } catch (ParseException e) {
                        Calendar c = Calendar.getInstance(Locale.getDefault());
                        return c.getTime();
                }
    }
    
    public static String formatHora12(Date d) {
        return sdfHora12.format(d);
    }
    
    public static String formatHora24(Date d) {
        return sdfHora24.format(d);
    }
    
    public static String formatFechaHora24(Date d) {
                return sdfFechaHora24.format(d);
    }
    
    public static String formatFechaHora12(Date d) {
                return sdfFechaHora12.format(d);
    }
    
    public static String formatFechaYMD(Date d) {
                return sdfFechaYMD.format(d);
    }
    
    public static String formatFechaDMY(Date d) {
                return sdfFechaDMY.format(d);
    }
    
    public static String formatMonto2Decimales(float monto) {
        return formatMonto2Decimales.format(monto);
    }
    
    public static String formatEntero(long monto) {
        return formatEntero.format(monto);
    }
    */



        
        static Hashtable<String, String> html_specialchars_table = new Hashtable<String, String>();
        static {
                html_specialchars_table.put("&lt;","<");
                html_specialchars_table.put("&gt;",">");
                html_specialchars_table.put("&amp;","&");
                html_specialchars_table.put("&quot;","\"");
        }

        public static String formatTimeLineAddedOn(Date date)
        {
                Calendar cal = Calendar.getInstance();
                cal.setTime(date);

                String s = "";
                int month = cal.get(Calendar.MONTH);

                if(month == Calendar.JANUARY) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Ene " + cal.get(Calendar.YEAR);

                }
                else if(month == Calendar.FEBRUARY) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Feb " + cal.get(Calendar.YEAR);
                }
                else if(month == Calendar.MARCH) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Mar " + cal.get(Calendar.YEAR);
                }
                else if(month == Calendar.APRIL) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Abr " + cal.get(Calendar.YEAR);
                }
                else if(month == Calendar.MAY) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " May " + cal.get(Calendar.YEAR);
                }
                else if(month == Calendar.JUNE) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Jun " + cal.get(Calendar.YEAR);

                }
                else if(month == Calendar.JULY) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Jul " + cal.get(Calendar.YEAR);
                }
                else if(month == Calendar.AUGUST) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Ago " + cal.get(Calendar.YEAR);
                }
                else if(month == Calendar.SEPTEMBER) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Sep " + cal.get(Calendar.YEAR);
                }
                else if(month == Calendar.OCTOBER) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Oct " + cal.get(Calendar.YEAR);
                }
                else if(month == Calendar.NOVEMBER) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Nov " + cal.get(Calendar.YEAR);
                }
                else if(month == Calendar.DECEMBER) {
                        s = cal.get(Calendar.DAY_OF_MONTH) + " Dic " + cal.get(Calendar.YEAR);
                }

                return s;

        }

        public static String trimNull(String s) {

                return s == null || s.equals("null") ? "" : s.trim();
        }

        public static boolean passwordStrengthCheck(String s)  {
                //String regexp = "\\d{1,2}/\\d{1,2}/\\d{4}";
        //String regexp = "^(?=.*\\d+)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{6,16}$";
                String  regexp = "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=[#?!@$^x%x*-]{0,}).{6,16}$";

                return Pattern.matches(regexp, s);
        }



        
        public static int Numero2Int(String numero)
        {
                if(numero == null) {
                        return 0;
                }

                StringBuffer sb = new StringBuffer();
                
                boolean primero = true;
                for (int i = 0; i < numero.length(); i++) 
                {
                        if ((numero.substring(i, i + 1) == "0") && (primero)) 
                        {
                                continue;
                        }
                        primero = false;
                        sb.append(numero.substring(i, i + 1));
                }
                
                if (sb.length() == 0) 
                {
                        return 0;
                } 
                else 
                { 
                        return Integer.parseInt(sb.toString().trim());
                }
        }
        
        public static long Numero2Long(String numero)
        {
                if(numero == null) {
                        return 0;
                }

                StringBuffer sb = new StringBuffer();
                
                boolean primero = true;
                for (int i = 0; i < numero.length(); i++) 
                {
                        if ((numero.substring(i, i + 1) == "0") && (primero)) 
                        {
                                continue;
                        }
                        primero = false;
                        sb.append(numero.substring(i, i + 1));
                }
                
                if (sb.length() == 0) 
                {
                        return 0;
                } 
                else 
                { 
                        return Long.parseLong(sb.toString().trim());
                }
        }


        public static float Numero2Float(String numero) {
                if(numero == null) {
                        return 0;
                }

                StringBuffer sb = new StringBuffer();
                
                boolean primero = true;
                for (int i = 0; i < numero.length(); i++) 
                {
                        if ((numero.substring(i, i + 1) == "0") && (primero)) 
                        {
                                continue;
                        }
                        primero = false;
                        sb.append(numero.substring(i, i + 1));
                }
                
                if (sb.length() == 0) 
                {
                        return 0;
                } 
                else 
                { 
                        return Float.parseFloat(sb.toString().trim());
                }

        }
        
        public static String Long2Numero(long i, int longitud) {
                String s = String.valueOf(i);
        
                if (s.length() < longitud) 
                {
                        StringBuffer sb = new StringBuffer();
                        int max = longitud - s.length();
                        for (i = 0; i < max; i++) 
                        {
                                sb.append('0');
                        }
                        sb.append(s);
                        return sb.toString();
                } 
                else 
                {
                        return s;
                }
        }
        
        public static String Int2Numero(int i, int longitud) {
                String s = String.valueOf(i);
        
                if (s.length() < longitud) 
                {
                        StringBuffer sb = new StringBuffer();
                        int max = longitud - s.length();
                        for (i = 0; i < max; i++) 
                        {
                                sb.append('0');
                        }
                        sb.append(s);
                        return sb.toString();
                } 
                else 
                {
                        return s;
                }
        }
        

        
        public static int countCharacter(String str, char c)
        {
                if (str == null) {
                        return 0;
                }
                else
                {
                        int counter = 0;
                        
                        for (int i = 0; i < str.length(); i++) 
                        {
                                if (c == str.charAt(i)) 
                                {
                                        counter++;
                                }
                        }
                        return counter;
                }
        }
        

        public static int hexToInt(String hex)
        {
                return Integer.parseInt(hex, 16);
        }
        
        
        public static String padRight(String s, int n, char c)
        {
                return padRight(s, n, c, true);
        }
        
        public static String padRight(String s, int n)
        {
                return padRight(s, n, ' ', true);
        }
        
        public static String padRight(String s, int n, char c, boolean hacerTrim)
        {
                if(hacerTrim)
                {
                        s = s.trim();
                }
                if (s.length() > n) 
                {
                        return s.substring(0, n);
                } 
                else 
                {
                        return repetirCaracter(c, n - s.length()) + s;
                }
        }
        
        public static String padLeftImpresion(String s, int n)
        {
                return padLeft(s, n, ' ', false);
        }       
        
        public static String padLeft(String s, int n)
        {
                return padLeft(s, n, ' ', true);
        }
        
        public static String padLeft(String s, int n, char c, boolean hacerTrim)
        {
                if(hacerTrim)
                {
                        s = s.trim();
                }
                if (s.length() > n) 
                {
                        return s.substring(0, n);
                } 
                else
                {
                        return s + repetirCaracter(c, n - s.length());
                }
        }
        
        public static String padCenter(String s, int n, char c)
        {
                return padCenter(s, n, c, true); 
        }
        
        public static String padCenter(String s, int n)
        {
                return padCenter(s, n, ' ', true); 
        }
        
        public static String padCenter(String s, int n, char c, boolean hacerTrim) 
        {
                if(hacerTrim)
                {
                        s = s.trim();
                }
                if (s.length() > n) {
                        return s.substring(0, n - 1);
                }
                else 
                {
                        int l = (n - s.length()) / 2;
                        StringBuffer sb = new StringBuffer();
                        
                        for (int i = 0; i < l; i++) 
                        {
                                sb.append(c);
                        }
                        sb.append(s);
                        
                        if (n > s.length() + l * 2) 
                        { 
                                l++;
                        }
                        for (int i = 0; i < l; i++) 
                        { 
                                sb.append(c);
                        }
                        
                        return sb.toString();
                }
        }
        
        public static String repetirCaracter(char c, int cantidad) 
        {
                StringBuffer sb = new StringBuffer();
                for (int i = 1; i <= cantidad; i++) 
                {
                        sb.append(c);
                }
                return sb.toString();
        }
        

        public static boolean validarFecha(int dia, int mes, int ano) 
        {
                if(dia < 1 || mes < 1 || mes > 12 || ano == 0) {
                        return false;
                } 
                else 
                {
                        if(mes == 2) 
                        {
                                if(esBisiesto(ano)) 
                                {
                                        if( dia > 29 ){
                                                return false;
                                        }       
                                        else {
                                                return true;
                                        }
                                }  
                                else 
                                {
                                        if (dia > 28) 
                                        {
                                                return false;
                                        } else {
                                                return true;
                                        }
                                }
                        } 
                        else 
                        {
                                if(mes == 4 || mes == 6 || mes == 9 || mes == 11) 
                                {
                                        return dia <= 30;
                                } else {
                                        return dia <= 31;
                                }
                        }
                }
        }

        public static boolean esBisiesto(int ano) 
        {
                return((ano%4 == 0 && ano % 100 !=0)|(ano % 400==0));
        }
        
        public static String removerCaracteresEspeciales(String input) 
        {
                
                
                
                
            String original = "áàäéèëíìïóòöúùuñÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÑçÇ";
            String ascii = "aaaeeeiiiooouuunAAAEEEIIIOOOUUUNcC";
            String output = input;
            for (int i=0; i<original.length(); i++) {
                output = output.replace(original.charAt(i), ascii.charAt(i));
            }
            return output;
        }//remove1
        
        public static int diferenciasDeFechas(Date fechaInicial, Date fechaFinal) 
        {
                DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
                String fechaInicioString = df.format(fechaInicial);
                try {
                        fechaInicial = df.parse(fechaInicioString);
                } catch (ParseException ex) {
                }
                String fechaFinalString = df.format(fechaFinal);
                try {
                        fechaFinal = df.parse(fechaFinalString);
                } catch (ParseException ex) {
                }
                long fechaInicialMs = fechaInicial.getTime();
                long fechaFinalMs = fechaFinal.getTime();
                long diferencia = fechaFinalMs - fechaInicialMs;
                double dias = Math.floor(diferencia / (1000 * 60 * 60 * 24));
                return ((int) dias);
        }
        

        public static String htmlSpecialCharsDecode(String s)
        {
                Enumeration<String> en = html_specialchars_table.keys();
                while(en.hasMoreElements()){
                        String key = (String)en.nextElement();
                        String val = (String)html_specialchars_table.get(key);
                        s = s.replaceAll(key, val);
                }
                return s;
        }
        
        public static int dpToPixel(int dp, Context context) {
            if (scale == null) {
                scale = context.getResources().getDisplayMetrics().density;
            }
                
            return (int) ((float) dp * scale);
        }
        

}