| 15357 |
manas |
1 |
package com.saholic.profittill.Utils;
|
|
|
2 |
|
|
|
3 |
import android.content.Context;
|
|
|
4 |
import android.content.SharedPreferences;
|
|
|
5 |
import android.content.pm.PackageInfo;
|
|
|
6 |
import android.content.pm.PackageManager;
|
|
|
7 |
import android.net.ConnectivityManager;
|
|
|
8 |
import android.net.NetworkInfo;
|
|
|
9 |
import android.os.Build;
|
|
|
10 |
import android.telephony.TelephonyManager;
|
|
|
11 |
import android.util.Base64;
|
|
|
12 |
import android.util.Log;
|
|
|
13 |
import android.webkit.CookieManager;
|
|
|
14 |
import android.webkit.CookieSyncManager;
|
|
|
15 |
|
|
|
16 |
import com.google.android.gms.analytics.HitBuilders;
|
|
|
17 |
import com.google.android.gms.analytics.Tracker;
|
| 16080 |
manas |
18 |
import com.saholic.profittill.Constants.ProfitTillConstants;
|
| 15357 |
manas |
19 |
import com.saholic.profittill.main.GoogleAnalyticsTracker;
|
|
|
20 |
|
|
|
21 |
import org.apache.http.NameValuePair;
|
|
|
22 |
import org.apache.http.message.BasicNameValuePair;
|
|
|
23 |
|
|
|
24 |
import java.io.ByteArrayOutputStream;
|
|
|
25 |
import java.io.IOException;
|
|
|
26 |
import java.io.OutputStream;
|
|
|
27 |
import java.text.SimpleDateFormat;
|
|
|
28 |
import java.util.ArrayList;
|
|
|
29 |
import java.util.Date;
|
| 16080 |
manas |
30 |
import java.util.HashMap;
|
|
|
31 |
import java.util.Map;
|
|
|
32 |
import java.util.Set;
|
| 15357 |
manas |
33 |
import java.util.zip.DeflaterOutputStream;
|
|
|
34 |
|
|
|
35 |
/**
|
|
|
36 |
* Created by kshitij on 23/4/15.
|
|
|
37 |
*/
|
|
|
38 |
public class UtilityFunctions {
|
|
|
39 |
SharedPreferences apiData, userData,apkData;
|
|
|
40 |
SharedPreferences.Editor apiEditor,userEditor,apkDataEditor;
|
|
|
41 |
public static String compress(String html){
|
|
|
42 |
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
|
|
43 |
try {
|
|
|
44 |
OutputStream out = new DeflaterOutputStream(baos);
|
|
|
45 |
out.write(html.getBytes("UTF-8"));
|
|
|
46 |
out.close();
|
|
|
47 |
} catch (IOException e) {
|
|
|
48 |
throw new AssertionError(e);
|
|
|
49 |
}
|
|
|
50 |
Log.d("Returning String ", Base64.encodeToString(baos.toByteArray(), Base64.NO_WRAP) + "");
|
|
|
51 |
return Base64.encodeToString(baos.toByteArray(),Base64.NO_WRAP);
|
|
|
52 |
}
|
|
|
53 |
|
|
|
54 |
public ArrayList<NameValuePair> getDeviceInformation(Context c){
|
|
|
55 |
userData = c.getApplicationContext().getSharedPreferences("User_Data", c.getApplicationContext().MODE_PRIVATE);
|
|
|
56 |
apkData = c.getApplicationContext().getSharedPreferences("APK_Data", c.getApplicationContext().MODE_PRIVATE);
|
|
|
57 |
apiData = c.getApplicationContext().getSharedPreferences("API_Data", c.getApplicationContext().MODE_PRIVATE);
|
|
|
58 |
apkDataEditor = apkData.edit();
|
|
|
59 |
userEditor = userData.edit();
|
|
|
60 |
apiEditor = apiData.edit();
|
|
|
61 |
ArrayList<NameValuePair> deviceDataList=null;
|
|
|
62 |
try {
|
|
|
63 |
PackageManager manager = c.getPackageManager();
|
|
|
64 |
PackageInfo info = manager.getPackageInfo(c.getPackageName(), 0);
|
|
|
65 |
TelephonyManager telephonyManager = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE);
|
|
|
66 |
deviceDataList = new ArrayList<>();
|
|
|
67 |
deviceDataList.add(new BasicNameValuePair("user_id", userData.getString("id", "")));
|
|
|
68 |
deviceDataList.add(new BasicNameValuePair("versioncode", info.versionCode + ""));
|
|
|
69 |
deviceDataList.add(new BasicNameValuePair("versionname", info.versionName + ""));
|
|
|
70 |
deviceDataList.add(new BasicNameValuePair("osversion", android.os.Build.VERSION.SDK_INT + ""));
|
|
|
71 |
deviceDataList.add(new BasicNameValuePair("imeinumber", telephonyManager.getDeviceId()));
|
|
|
72 |
deviceDataList.add(new BasicNameValuePair("manufacturer", Build.MANUFACTURER));
|
|
|
73 |
deviceDataList.add(new BasicNameValuePair("model", Build.MODEL));
|
|
|
74 |
deviceDataList.add(new BasicNameValuePair("brand", Build.BRAND));
|
|
|
75 |
apkDataEditor.putString("versionCode", info.versionCode + "");
|
|
|
76 |
apkDataEditor.putString("versionName", info.versionName);
|
|
|
77 |
apkDataEditor.putString("osVersion", android.os.Build.VERSION.SDK_INT + "");
|
|
|
78 |
apkDataEditor.putString("imeiNumber", telephonyManager.getDeviceId());
|
|
|
79 |
}catch (Exception e){
|
|
|
80 |
e.printStackTrace();
|
|
|
81 |
}
|
|
|
82 |
return deviceDataList;
|
|
|
83 |
}
|
|
|
84 |
|
|
|
85 |
/* public static String clearCookiesNew(String domain,Context c) {
|
|
|
86 |
CookieSyncManager.createInstance(c);
|
|
|
87 |
CookieManager cookieManager = CookieManager.getInstance();
|
|
|
88 |
String cookiestring = cookieManager.getCookie(domain);
|
|
|
89 |
String[] cookies = cookiestring.split(";");
|
|
|
90 |
Log.d("Cookie is new ","Cookie is new " + cookies);
|
|
|
91 |
for (int i=0; i<cookies.length; i++) {
|
|
|
92 |
if(cookies[i].contains("CakeCookie[debuguser]")){
|
|
|
93 |
return "true";
|
|
|
94 |
}
|
|
|
95 |
}
|
|
|
96 |
return "false";
|
|
|
97 |
}*/
|
|
|
98 |
|
|
|
99 |
public static String clearCookiesNew(String domain,Context c) {
|
|
|
100 |
try {
|
|
|
101 |
CookieSyncManager.createInstance(c.getApplicationContext());
|
|
|
102 |
CookieManager cookieManager = CookieManager.getInstance();
|
|
|
103 |
String cookiestring = cookieManager.getCookie(domain);
|
|
|
104 |
String[] cookies = cookiestring.split(";");
|
|
|
105 |
for (int i = 0; i < cookies.length; i++) {
|
|
|
106 |
if (cookies[i].contains("CakeCookie[debuguser]")) {
|
|
|
107 |
return "true";
|
|
|
108 |
}
|
|
|
109 |
}
|
|
|
110 |
return "false";
|
|
|
111 |
} catch (Exception e) {
|
|
|
112 |
e.printStackTrace();
|
|
|
113 |
Tracker t = ((GoogleAnalyticsTracker) c.getApplicationContext()).getTracker(
|
|
|
114 |
GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
|
|
|
115 |
t.send(new HitBuilders.ExceptionBuilder().setDescription("Cookie set Fail").build());
|
|
|
116 |
return "false";
|
|
|
117 |
}
|
|
|
118 |
}
|
|
|
119 |
|
|
|
120 |
public static boolean checkWifi(Context context){
|
|
|
121 |
boolean checkWifi;
|
|
|
122 |
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
|
|
123 |
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
|
|
|
124 |
if (mWifi==null){
|
|
|
125 |
checkWifi= Boolean.parseBoolean(null);
|
|
|
126 |
}else {
|
|
|
127 |
if (mWifi.isConnected()) {
|
|
|
128 |
checkWifi = true;
|
|
|
129 |
} else {
|
|
|
130 |
checkWifi = false;
|
|
|
131 |
}
|
|
|
132 |
}
|
|
|
133 |
return checkWifi;
|
|
|
134 |
}
|
|
|
135 |
|
|
|
136 |
public static String getImeiNumber(Context context){
|
|
|
137 |
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
|
|
|
138 |
return telephonyManager.getDeviceId();
|
|
|
139 |
}
|
|
|
140 |
|
|
|
141 |
public static String getAppVersion(Context c){
|
|
|
142 |
String appVersion;
|
|
|
143 |
try {
|
|
|
144 |
PackageManager manager = c.getPackageManager();
|
|
|
145 |
PackageInfo info = manager.getPackageInfo(c.getPackageName(), 0);
|
|
|
146 |
appVersion=info.versionCode+"";
|
|
|
147 |
}catch (PackageManager.NameNotFoundException pm){
|
|
|
148 |
appVersion=null;
|
|
|
149 |
}
|
|
|
150 |
return appVersion;
|
|
|
151 |
}
|
|
|
152 |
|
|
|
153 |
public static String notificationDate(){
|
|
|
154 |
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
155 |
return sdf.format(new Date());
|
|
|
156 |
}
|
| 16080 |
manas |
157 |
|
|
|
158 |
public static Map<String,String> generateStoreMap(String toConvertString){
|
|
|
159 |
String[] keyValuePairs = toConvertString.split(",");
|
|
|
160 |
Map<String,String> map = new HashMap<>();
|
|
|
161 |
|
|
|
162 |
for(String pair : keyValuePairs)
|
|
|
163 |
{
|
|
|
164 |
String[] entry = pair.split("=");
|
|
|
165 |
map.put(entry[0].trim(), entry[1].trim());
|
|
|
166 |
}
|
|
|
167 |
return map;
|
|
|
168 |
}
|
|
|
169 |
|
|
|
170 |
public static String getNewStoreId(Map storeMap,String orderUrl){
|
|
|
171 |
Set<String> keys = storeMap.keySet();
|
|
|
172 |
for(String i: keys)
|
|
|
173 |
{
|
|
|
174 |
if(orderUrl.contains(i)){
|
|
|
175 |
return storeMap.get(i).toString();
|
|
|
176 |
}
|
|
|
177 |
}
|
|
|
178 |
return null;
|
|
|
179 |
}
|
|
|
180 |
|
|
|
181 |
public String getEmailUrlFromMap(Context c,String url,String defaultUrl){
|
|
|
182 |
apiData = c.getApplicationContext().getSharedPreferences("API_Data", c.getApplicationContext().MODE_PRIVATE);
|
|
|
183 |
apiEditor = apiData.edit();
|
|
|
184 |
Map<String,String> profitmanidUrls=new HashMap<>();
|
|
|
185 |
profitmanidUrls.put("profitmandi.com/home",apiData.getString("mobile.website.url", "http://" + ProfitTillConstants.DOMAIN+"/deals"));
|
|
|
186 |
profitmanidUrls.put("profitmandi.com/search",apiData.getString("search.url", "http://" + ProfitTillConstants.DOMAIN+"/search"));
|
|
|
187 |
profitmanidUrls.put("profitmandi.com/orders",apiData.getString("myorders.url", "http://" + ProfitTillConstants.DOMAIN+"/orders/mine"));
|
|
|
188 |
profitmanidUrls.put("profitmandi.com/preferences",apiData.getString("preferences.url", "http://" + ProfitTillConstants.DOMAIN+"/preferences/mine"));
|
|
|
189 |
profitmanidUrls.put("profitmandi.com/product","http://"+ProfitTillConstants.DOMAIN+"/store_products/view");
|
|
|
190 |
Set<String> keys = profitmanidUrls.keySet();
|
|
|
191 |
for(String i: keys){
|
|
|
192 |
if(url.contains(i)){
|
|
|
193 |
if(url.contains("product")){
|
|
|
194 |
return profitmanidUrls.get(i).toString() + url.split("product")[1];
|
|
|
195 |
}else{
|
|
|
196 |
return profitmanidUrls.get(i).toString();
|
|
|
197 |
}
|
|
|
198 |
}
|
|
|
199 |
}
|
|
|
200 |
return defaultUrl;
|
|
|
201 |
}
|
| 15357 |
manas |
202 |
}
|