| 21480 |
rajender |
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.net.Uri;
|
|
|
10 |
import android.os.Build;
|
|
|
11 |
import android.telephony.TelephonyManager;
|
|
|
12 |
import android.util.Base64;
|
|
|
13 |
import android.util.Log;
|
|
|
14 |
import android.webkit.CookieManager;
|
|
|
15 |
import android.webkit.CookieSyncManager;
|
|
|
16 |
|
|
|
17 |
import com.google.android.gms.analytics.HitBuilders;
|
|
|
18 |
import com.google.android.gms.analytics.Tracker;
|
|
|
19 |
import com.saholic.profittill.Constants.ProfitTillConstants;
|
|
|
20 |
import com.saholic.profittill.main.GoogleAnalyticsTracker;
|
|
|
21 |
|
|
|
22 |
import org.apache.http.NameValuePair;
|
|
|
23 |
import org.apache.http.message.BasicNameValuePair;
|
|
|
24 |
|
|
|
25 |
import java.io.ByteArrayOutputStream;
|
|
|
26 |
import java.io.IOException;
|
|
|
27 |
import java.io.OutputStream;
|
|
|
28 |
import java.net.URLDecoder;
|
|
|
29 |
import java.text.SimpleDateFormat;
|
|
|
30 |
import java.util.ArrayList;
|
|
|
31 |
import java.util.Date;
|
|
|
32 |
import java.util.HashMap;
|
|
|
33 |
import java.util.Map;
|
|
|
34 |
import java.util.Set;
|
|
|
35 |
import java.util.StringTokenizer;
|
|
|
36 |
import java.util.zip.DeflaterOutputStream;
|
|
|
37 |
|
|
|
38 |
/**
|
|
|
39 |
* Created by kshitij on 23/4/15.
|
|
|
40 |
*/
|
|
|
41 |
public class UtilityFunctions {
|
|
|
42 |
SharedPreferences apiData, userData,apkData;
|
|
|
43 |
SharedPreferences.Editor apiEditor,userEditor,apkDataEditor;
|
|
|
44 |
public static String compress(String html){
|
|
|
45 |
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
|
|
46 |
try {
|
|
|
47 |
OutputStream out = new DeflaterOutputStream(baos);
|
|
|
48 |
out.write(html.getBytes("UTF-8"));
|
|
|
49 |
out.close();
|
|
|
50 |
} catch (IOException e) {
|
|
|
51 |
throw new AssertionError(e);
|
|
|
52 |
}
|
|
|
53 |
Log.d("Returning String ", Base64.encodeToString(baos.toByteArray(), Base64.NO_WRAP) + "");
|
|
|
54 |
return Base64.encodeToString(baos.toByteArray(),Base64.NO_WRAP);
|
|
|
55 |
}
|
|
|
56 |
public static String addParamsToUrl(String urlString, Map<String, String> paramsMap){
|
|
|
57 |
// String newUrlString = "";
|
|
|
58 |
Uri.Builder builder = Uri.parse(urlString).buildUpon();
|
|
|
59 |
for (Map.Entry<String, String> entry : paramsMap.entrySet()) {
|
|
|
60 |
builder.appendQueryParameter(entry.getKey(), entry.getValue());
|
|
|
61 |
}
|
|
|
62 |
return builder.toString();
|
|
|
63 |
|
|
|
64 |
}
|
|
|
65 |
|
|
|
66 |
public ArrayList<NameValuePair> getDeviceInformation(Context c){
|
|
|
67 |
userData = c.getApplicationContext().getSharedPreferences("User_Data", c.getApplicationContext().MODE_PRIVATE);
|
|
|
68 |
apkData = c.getApplicationContext().getSharedPreferences("APK_Data", c.getApplicationContext().MODE_PRIVATE);
|
|
|
69 |
apiData = c.getApplicationContext().getSharedPreferences("API_Data", c.getApplicationContext().MODE_PRIVATE);
|
|
|
70 |
apkDataEditor = apkData.edit();
|
|
|
71 |
userEditor = userData.edit();
|
|
|
72 |
apiEditor = apiData.edit();
|
|
|
73 |
ArrayList<NameValuePair> deviceDataList=null;
|
|
|
74 |
try {
|
|
|
75 |
PackageManager manager = c.getPackageManager();
|
|
|
76 |
PackageInfo info = manager.getPackageInfo(c.getPackageName(), 0);
|
| 22836 |
rajender |
77 |
TelephonyManager telephonyManager = (TelephonyManager) c.getSystemService(c.TELEPHONY_SERVICE);
|
| 21480 |
rajender |
78 |
deviceDataList = new ArrayList<>();
|
|
|
79 |
deviceDataList.add(new BasicNameValuePair("user_id", userData.getString("id", "")));
|
|
|
80 |
deviceDataList.add(new BasicNameValuePair("versioncode", info.versionCode + ""));
|
|
|
81 |
deviceDataList.add(new BasicNameValuePair("versionname", info.versionName + ""));
|
|
|
82 |
deviceDataList.add(new BasicNameValuePair("osversion", android.os.Build.VERSION.SDK_INT + ""));
|
|
|
83 |
deviceDataList.add(new BasicNameValuePair("imeinumber", telephonyManager.getDeviceId()));
|
|
|
84 |
deviceDataList.add(new BasicNameValuePair("manufacturer", Build.MANUFACTURER));
|
|
|
85 |
deviceDataList.add(new BasicNameValuePair("model", Build.MODEL));
|
|
|
86 |
deviceDataList.add(new BasicNameValuePair("brand", Build.BRAND));
|
|
|
87 |
deviceDataList.add(new BasicNameValuePair("androidid",androidId(c)));
|
|
|
88 |
apkDataEditor.putString("versionCode", info.versionCode + "");
|
|
|
89 |
apkDataEditor.putString("versionName", info.versionName);
|
|
|
90 |
apkDataEditor.putString("osVersion", android.os.Build.VERSION.SDK_INT + "");
|
|
|
91 |
apkDataEditor.putString("imeiNumber", telephonyManager.getDeviceId());
|
| 22836 |
rajender |
92 |
apkDataEditor.commit();
|
|
|
93 |
}
|
|
|
94 |
catch (Exception e){
|
| 21480 |
rajender |
95 |
e.printStackTrace();
|
|
|
96 |
}
|
|
|
97 |
return deviceDataList;
|
|
|
98 |
}
|
|
|
99 |
|
|
|
100 |
/* public static String clearCookiesNew(String domain,Context c) {
|
|
|
101 |
CookieSyncManager.createInstance(c);
|
|
|
102 |
CookieManager cookieManager = CookieManager.getInstance();
|
|
|
103 |
String cookiestring = cookieManager.getCookie(domain);
|
|
|
104 |
String[] cookies = cookiestring.split(";");
|
|
|
105 |
Log.d("Cookie is new ","Cookie is new " + cookies);
|
|
|
106 |
for (int i=0; i<cookies.length; i++) {
|
|
|
107 |
if(cookies[i].contains("CakeCookie[debuguser]")){
|
|
|
108 |
return "true";
|
|
|
109 |
}
|
|
|
110 |
}
|
|
|
111 |
return "false";
|
|
|
112 |
}*/
|
|
|
113 |
|
|
|
114 |
public static String clearCookiesNew(String domain,Context c) {
|
|
|
115 |
try {
|
|
|
116 |
CookieSyncManager.createInstance(c.getApplicationContext());
|
|
|
117 |
CookieManager cookieManager = CookieManager.getInstance();
|
|
|
118 |
String cookiestring = cookieManager.getCookie(domain);
|
|
|
119 |
String[] cookies = cookiestring.split(";");
|
|
|
120 |
for (int i = 0; i < cookies.length; i++) {
|
|
|
121 |
if (cookies[i].contains("CakeCookie[debuguser]")) {
|
|
|
122 |
return "true";
|
|
|
123 |
}
|
|
|
124 |
}
|
|
|
125 |
return "false";
|
|
|
126 |
} catch (Exception e) {
|
|
|
127 |
e.printStackTrace();
|
|
|
128 |
Tracker t = ((GoogleAnalyticsTracker) c.getApplicationContext()).getTracker(
|
|
|
129 |
GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
|
|
|
130 |
t.send(new HitBuilders.ExceptionBuilder().setDescription("Cookie set Fail").build());
|
|
|
131 |
return "false";
|
|
|
132 |
}
|
|
|
133 |
}
|
|
|
134 |
|
|
|
135 |
public static boolean checkWifi(Context context){
|
|
|
136 |
boolean checkWifi;
|
|
|
137 |
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
|
|
|
138 |
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
|
|
|
139 |
if (mWifi==null){
|
|
|
140 |
checkWifi= Boolean.parseBoolean(null);
|
|
|
141 |
}else {
|
|
|
142 |
checkWifi = mWifi.isConnected();
|
|
|
143 |
}
|
|
|
144 |
return checkWifi;
|
|
|
145 |
}
|
|
|
146 |
|
|
|
147 |
public static String getImeiNumber(Context context){
|
|
|
148 |
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
|
|
|
149 |
return telephonyManager.getDeviceId();
|
|
|
150 |
}
|
|
|
151 |
|
|
|
152 |
public static String getAppVersion(Context c){
|
|
|
153 |
String appVersion;
|
|
|
154 |
try {
|
|
|
155 |
PackageManager manager = c.getPackageManager();
|
|
|
156 |
PackageInfo info = manager.getPackageInfo(c.getPackageName(), 0);
|
|
|
157 |
appVersion=info.versionCode+"";
|
|
|
158 |
}catch (PackageManager.NameNotFoundException pm){
|
|
|
159 |
appVersion=null;
|
|
|
160 |
}
|
|
|
161 |
return appVersion;
|
|
|
162 |
}
|
|
|
163 |
|
|
|
164 |
public static String notificationDate(){
|
|
|
165 |
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
166 |
return sdf.format(new Date());
|
|
|
167 |
}
|
|
|
168 |
|
|
|
169 |
public static Map<String,String> generateStoreMap(String toConvertString){
|
|
|
170 |
String[] keyValuePairs = toConvertString.split(",");
|
|
|
171 |
Map<String,String> map = new HashMap<>();
|
|
|
172 |
|
|
|
173 |
for(String pair : keyValuePairs)
|
|
|
174 |
{
|
|
|
175 |
String[] entry = pair.split("=");
|
|
|
176 |
map.put(entry[0].trim(), entry[1].trim());
|
|
|
177 |
}
|
|
|
178 |
return map;
|
|
|
179 |
}
|
|
|
180 |
|
|
|
181 |
public static String getNewStoreId(Map storeMap,String orderUrl){
|
|
|
182 |
Set<String> keys = storeMap.keySet();
|
|
|
183 |
for(String i: keys)
|
|
|
184 |
{
|
|
|
185 |
if(orderUrl.contains(i)){
|
|
|
186 |
return storeMap.get(i).toString();
|
|
|
187 |
}
|
|
|
188 |
}
|
|
|
189 |
return null;
|
|
|
190 |
}
|
|
|
191 |
|
| 22836 |
rajender |
192 |
/* public String getEmailUrlFromMap(Context c,String url,String defaultUrl){
|
| 21480 |
rajender |
193 |
apiData = c.getApplicationContext().getSharedPreferences("API_Data", c.getApplicationContext().MODE_PRIVATE);
|
|
|
194 |
apiEditor = apiData.edit();
|
|
|
195 |
Map<String,String> profitmanidUrls=new HashMap<>();
|
|
|
196 |
profitmanidUrls.put("profitmandi.com/home",apiData.getString("mobile.website.url", "http://" + ProfitTillConstants.DOMAIN+"/deals"));
|
|
|
197 |
profitmanidUrls.put("profitmandi.com/search",apiData.getString("search.url", "http://" + ProfitTillConstants.DOMAIN+"/search"));
|
|
|
198 |
profitmanidUrls.put("profitmandi.com/orders",apiData.getString("myorders.url", "http://" + ProfitTillConstants.DOMAIN+"/orders/mine"));
|
|
|
199 |
profitmanidUrls.put("profitmandi.com/preferences",apiData.getString("preferences.url", "http://" + ProfitTillConstants.DOMAIN+"/preferences/mine"));
|
|
|
200 |
profitmanidUrls.put("profitmandi.com/product","http://"+ProfitTillConstants.DOMAIN+"/store_products/view");
|
|
|
201 |
Set<String> keys = profitmanidUrls.keySet();
|
|
|
202 |
for(String i: keys){
|
|
|
203 |
if(url.contains(i)){
|
|
|
204 |
if(url.contains("product")){
|
|
|
205 |
return profitmanidUrls.get(i).toString() + url.split("product")[1];
|
|
|
206 |
}else{
|
|
|
207 |
return profitmanidUrls.get(i).toString();
|
|
|
208 |
}
|
|
|
209 |
}
|
|
|
210 |
}
|
|
|
211 |
return defaultUrl;
|
| 22836 |
rajender |
212 |
}*/
|
| 21480 |
rajender |
213 |
|
|
|
214 |
public static Map<String,String> getReferralRequest(Context c,String referrerObject){
|
|
|
215 |
String decodedUrl = URLDecoder.decode(referrerObject);
|
|
|
216 |
StringTokenizer st = new StringTokenizer(decodedUrl, "&");
|
|
|
217 |
Map<String,String> analyticsRequest=new HashMap<>();
|
|
|
218 |
while (st.hasMoreTokens()) {
|
|
|
219 |
String token = st.nextToken();
|
|
|
220 |
String[] sourceValue = token.split("=");
|
|
|
221 |
analyticsRequest.put(sourceValue[0], sourceValue[1]);
|
|
|
222 |
}
|
|
|
223 |
analyticsRequest.put("imeinumber",UtilityFunctions.getImeiNumber(c));
|
|
|
224 |
return analyticsRequest;
|
|
|
225 |
}
|
|
|
226 |
|
|
|
227 |
public static String campaignUserId(Uri campaignUri){
|
|
|
228 |
|
|
|
229 |
DESEncrypter desEncrypter = new DESEncrypter(ProfitTillConstants.AUTH_PASSWORD);
|
|
|
230 |
String urlOpen = desEncrypter.decrypt(campaignUri.getQueryParameter("key"));
|
|
|
231 |
String campaignUserId=urlOpen.split("user_id=")[1];
|
|
|
232 |
return campaignUserId;
|
|
|
233 |
}
|
|
|
234 |
|
|
|
235 |
public static String androidId(Context c) {
|
|
|
236 |
return "" + android.provider.Settings.Secure.getString(c.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
|
|
|
237 |
}
|
|
|
238 |
|
|
|
239 |
public static int getVersionCode(){
|
|
|
240 |
try {
|
|
|
241 |
Context c = GoogleAnalyticsTracker.getAppContext();
|
|
|
242 |
PackageManager manager = c.getPackageManager();
|
|
|
243 |
PackageInfo info = manager.getPackageInfo(c.getPackageName(), 0);
|
|
|
244 |
return info.versionCode;
|
|
|
245 |
}catch (Exception e){
|
|
|
246 |
return 31;
|
|
|
247 |
}
|
|
|
248 |
}
|
|
|
249 |
}
|