Blame | Last modification | View Log | RSS feed
package com.saholic.profittill.Utils;import android.content.Context;import android.content.SharedPreferences;import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.net.Uri;import android.os.Build;import android.telephony.TelephonyManager;import android.util.Base64;import android.util.Log;import android.webkit.CookieManager;import android.webkit.CookieSyncManager;import com.google.android.gms.analytics.HitBuilders;import com.google.android.gms.analytics.Tracker;import com.saholic.profittill.Constants.ProfitTillConstants;import com.saholic.profittill.main.GoogleAnalyticsTracker;import org.apache.http.NameValuePair;import org.apache.http.message.BasicNameValuePair;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.OutputStream;import java.net.URLDecoder;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.Set;import java.util.StringTokenizer;import java.util.zip.DeflaterOutputStream;/*** Created by kshitij on 23/4/15.*/public class UtilityFunctions {SharedPreferences apiData, userData,apkData;SharedPreferences.Editor apiEditor,userEditor,apkDataEditor;public static String compress(String html){ByteArrayOutputStream baos = new ByteArrayOutputStream();try {OutputStream out = new DeflaterOutputStream(baos);out.write(html.getBytes("UTF-8"));out.close();} catch (IOException e) {throw new AssertionError(e);}Log.d("Returning String ", Base64.encodeToString(baos.toByteArray(), Base64.NO_WRAP) + "");return Base64.encodeToString(baos.toByteArray(),Base64.NO_WRAP);}public static String addParamsToUrl(String urlString, Map<String, String> paramsMap){// String newUrlString = "";Uri.Builder builder = Uri.parse(urlString).buildUpon();for (Map.Entry<String, String> entry : paramsMap.entrySet()) {builder.appendQueryParameter(entry.getKey(), entry.getValue());}return builder.toString();}public ArrayList<NameValuePair> getDeviceInformation(Context c){userData = c.getApplicationContext().getSharedPreferences("User_Data", c.getApplicationContext().MODE_PRIVATE);apkData = c.getApplicationContext().getSharedPreferences("APK_Data", c.getApplicationContext().MODE_PRIVATE);apiData = c.getApplicationContext().getSharedPreferences("API_Data", c.getApplicationContext().MODE_PRIVATE);apkDataEditor = apkData.edit();userEditor = userData.edit();apiEditor = apiData.edit();ArrayList<NameValuePair> deviceDataList=null;try {PackageManager manager = c.getPackageManager();PackageInfo info = manager.getPackageInfo(c.getPackageName(), 0);TelephonyManager telephonyManager = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE);deviceDataList = new ArrayList<>();deviceDataList.add(new BasicNameValuePair("user_id", userData.getString("id", "")));deviceDataList.add(new BasicNameValuePair("versioncode", info.versionCode + ""));deviceDataList.add(new BasicNameValuePair("versionname", info.versionName + ""));deviceDataList.add(new BasicNameValuePair("osversion", android.os.Build.VERSION.SDK_INT + ""));deviceDataList.add(new BasicNameValuePair("imeinumber", telephonyManager.getDeviceId()));deviceDataList.add(new BasicNameValuePair("manufacturer", Build.MANUFACTURER));deviceDataList.add(new BasicNameValuePair("model", Build.MODEL));deviceDataList.add(new BasicNameValuePair("brand", Build.BRAND));deviceDataList.add(new BasicNameValuePair("androidid",androidId(c)));apkDataEditor.putString("versionCode", info.versionCode + "");apkDataEditor.putString("versionName", info.versionName);apkDataEditor.putString("osVersion", android.os.Build.VERSION.SDK_INT + "");apkDataEditor.putString("imeiNumber", telephonyManager.getDeviceId());}catch (Exception e){e.printStackTrace();}return deviceDataList;}/* public static String clearCookiesNew(String domain,Context c) {CookieSyncManager.createInstance(c);CookieManager cookieManager = CookieManager.getInstance();String cookiestring = cookieManager.getCookie(domain);String[] cookies = cookiestring.split(";");Log.d("Cookie is new ","Cookie is new " + cookies);for (int i=0; i<cookies.length; i++) {if(cookies[i].contains("CakeCookie[debuguser]")){return "true";}}return "false";}*/public static String clearCookiesNew(String domain,Context c) {try {CookieSyncManager.createInstance(c.getApplicationContext());CookieManager cookieManager = CookieManager.getInstance();String cookiestring = cookieManager.getCookie(domain);String[] cookies = cookiestring.split(";");for (int i = 0; i < cookies.length; i++) {if (cookies[i].contains("CakeCookie[debuguser]")) {return "true";}}return "false";} catch (Exception e) {e.printStackTrace();Tracker t = ((GoogleAnalyticsTracker) c.getApplicationContext()).getTracker(GoogleAnalyticsTracker.TrackerName.APP_TRACKER);t.send(new HitBuilders.ExceptionBuilder().setDescription("Cookie set Fail").build());return "false";}}public static boolean checkWifi(Context context){boolean checkWifi;ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);if (mWifi==null){checkWifi= Boolean.parseBoolean(null);}else {checkWifi = mWifi.isConnected();}return checkWifi;}public static String getImeiNumber(Context context){TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);return telephonyManager.getDeviceId();}public static String getAppVersion(Context c){String appVersion;try {PackageManager manager = c.getPackageManager();PackageInfo info = manager.getPackageInfo(c.getPackageName(), 0);appVersion=info.versionCode+"";}catch (PackageManager.NameNotFoundException pm){appVersion=null;}return appVersion;}public static String notificationDate(){SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");return sdf.format(new Date());}public static Map<String,String> generateStoreMap(String toConvertString){String[] keyValuePairs = toConvertString.split(",");Map<String,String> map = new HashMap<>();for(String pair : keyValuePairs){String[] entry = pair.split("=");map.put(entry[0].trim(), entry[1].trim());}return map;}public static String getNewStoreId(Map storeMap,String orderUrl){Set<String> keys = storeMap.keySet();for(String i: keys){if(orderUrl.contains(i)){return storeMap.get(i).toString();}}return null;}public String getEmailUrlFromMap(Context c,String url,String defaultUrl){apiData = c.getApplicationContext().getSharedPreferences("API_Data", c.getApplicationContext().MODE_PRIVATE);apiEditor = apiData.edit();Map<String,String> profitmanidUrls=new HashMap<>();profitmanidUrls.put("profitmandi.com/home",apiData.getString("mobile.website.url", "http://" + ProfitTillConstants.DOMAIN+"/deals"));profitmanidUrls.put("profitmandi.com/search",apiData.getString("search.url", "http://" + ProfitTillConstants.DOMAIN+"/search"));profitmanidUrls.put("profitmandi.com/orders",apiData.getString("myorders.url", "http://" + ProfitTillConstants.DOMAIN+"/orders/mine"));profitmanidUrls.put("profitmandi.com/preferences",apiData.getString("preferences.url", "http://" + ProfitTillConstants.DOMAIN+"/preferences/mine"));profitmanidUrls.put("profitmandi.com/product","http://"+ProfitTillConstants.DOMAIN+"/store_products/view");Set<String> keys = profitmanidUrls.keySet();for(String i: keys){if(url.contains(i)){if(url.contains("product")){return profitmanidUrls.get(i).toString() + url.split("product")[1];}else{return profitmanidUrls.get(i).toString();}}}return defaultUrl;}public static Map<String,String> getReferralRequest(Context c,String referrerObject){String decodedUrl = URLDecoder.decode(referrerObject);StringTokenizer st = new StringTokenizer(decodedUrl, "&");Map<String,String> analyticsRequest=new HashMap<>();while (st.hasMoreTokens()) {String token = st.nextToken();String[] sourceValue = token.split("=");analyticsRequest.put(sourceValue[0], sourceValue[1]);}analyticsRequest.put("imeinumber",UtilityFunctions.getImeiNumber(c));return analyticsRequest;}public static String campaignUserId(Uri campaignUri){DESEncrypter desEncrypter = new DESEncrypter(ProfitTillConstants.AUTH_PASSWORD);String urlOpen = desEncrypter.decrypt(campaignUri.getQueryParameter("key"));String campaignUserId=urlOpen.split("user_id=")[1];return campaignUserId;}public static String androidId(Context c) {return "" + android.provider.Settings.Secure.getString(c.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);}public static int getVersionCode(){try {Context c = GoogleAnalyticsTracker.getAppContext();PackageManager manager = c.getPackageManager();PackageInfo info = manager.getPackageInfo(c.getPackageName(), 0);return info.versionCode;}catch (Exception e){return 31;}}}