Subversion Repositories SmartDukaan

Rev

Rev 17063 | Rev 19653 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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;
18082 manas 9
import android.net.Uri;
15357 manas 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;
16080 manas 19
import com.saholic.profittill.Constants.ProfitTillConstants;
15357 manas 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;
17063 manas 28
import java.net.URLDecoder;
15357 manas 29
import java.text.SimpleDateFormat;
30
import java.util.ArrayList;
31
import java.util.Date;
16080 manas 32
import java.util.HashMap;
33
import java.util.Map;
34
import java.util.Set;
17063 manas 35
import java.util.StringTokenizer;
15357 manas 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
 
57
    public ArrayList<NameValuePair> getDeviceInformation(Context c){
58
        userData = c.getApplicationContext().getSharedPreferences("User_Data", c.getApplicationContext().MODE_PRIVATE);
59
        apkData = c.getApplicationContext().getSharedPreferences("APK_Data", c.getApplicationContext().MODE_PRIVATE);
60
        apiData = c.getApplicationContext().getSharedPreferences("API_Data", c.getApplicationContext().MODE_PRIVATE);
61
        apkDataEditor = apkData.edit();
62
        userEditor = userData.edit();
63
        apiEditor = apiData.edit();
64
        ArrayList<NameValuePair> deviceDataList=null;
65
        try {
66
            PackageManager manager = c.getPackageManager();
67
            PackageInfo info = manager.getPackageInfo(c.getPackageName(), 0);
68
            TelephonyManager telephonyManager = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE);
69
            deviceDataList = new ArrayList<>();
70
            deviceDataList.add(new BasicNameValuePair("user_id", userData.getString("id", "")));
71
            deviceDataList.add(new BasicNameValuePair("versioncode", info.versionCode + ""));
72
            deviceDataList.add(new BasicNameValuePair("versionname", info.versionName + ""));
73
            deviceDataList.add(new BasicNameValuePair("osversion", android.os.Build.VERSION.SDK_INT + ""));
74
            deviceDataList.add(new BasicNameValuePair("imeinumber", telephonyManager.getDeviceId()));
75
            deviceDataList.add(new BasicNameValuePair("manufacturer", Build.MANUFACTURER));
76
            deviceDataList.add(new BasicNameValuePair("model", Build.MODEL));
77
            deviceDataList.add(new BasicNameValuePair("brand", Build.BRAND));
78
            apkDataEditor.putString("versionCode", info.versionCode + "");
79
            apkDataEditor.putString("versionName", info.versionName);
80
            apkDataEditor.putString("osVersion", android.os.Build.VERSION.SDK_INT + "");
81
            apkDataEditor.putString("imeiNumber", telephonyManager.getDeviceId());
82
        }catch (Exception e){
83
            e.printStackTrace();
84
        }
85
        return deviceDataList;
86
    }
87
 
88
   /* public static String clearCookiesNew(String domain,Context c) {
89
        CookieSyncManager.createInstance(c);
90
        CookieManager cookieManager = CookieManager.getInstance();
91
        String cookiestring = cookieManager.getCookie(domain);
92
        String[] cookies =  cookiestring.split(";");
93
        Log.d("Cookie is new  ","Cookie is new " + cookies);
94
        for (int i=0; i<cookies.length; i++) {
95
            if(cookies[i].contains("CakeCookie[debuguser]")){
96
                return "true";
97
            }
98
        }
99
        return "false";
100
    }*/
101
 
102
    public static String clearCookiesNew(String domain,Context c) {
103
        try {
104
            CookieSyncManager.createInstance(c.getApplicationContext());
105
            CookieManager cookieManager = CookieManager.getInstance();
106
            String cookiestring = cookieManager.getCookie(domain);
107
            String[] cookies = cookiestring.split(";");
108
            for (int i = 0; i < cookies.length; i++) {
109
                if (cookies[i].contains("CakeCookie[debuguser]")) {
110
                    return "true";
111
                }
112
            }
113
            return "false";
114
        } catch (Exception e) {
115
            e.printStackTrace();
116
            Tracker t = ((GoogleAnalyticsTracker) c.getApplicationContext()).getTracker(
117
                    GoogleAnalyticsTracker.TrackerName.APP_TRACKER);
118
            t.send(new HitBuilders.ExceptionBuilder().setDescription("Cookie set Fail").build());
119
            return "false";
120
        }
121
    }
122
 
123
    public static boolean checkWifi(Context context){
124
        boolean checkWifi;
125
        ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
126
        NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
127
        if (mWifi==null){
128
            checkWifi= Boolean.parseBoolean(null);
129
        }else {
130
            if (mWifi.isConnected()) {
131
                checkWifi = true;
132
            } else {
133
                checkWifi = false;
134
            }
135
        }
136
        return checkWifi;
137
    }
138
 
139
    public static String getImeiNumber(Context context){
140
        TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
141
        return telephonyManager.getDeviceId();
142
    }
143
 
144
    public static String getAppVersion(Context c){
145
        String appVersion;
146
        try {
147
            PackageManager manager = c.getPackageManager();
148
            PackageInfo info = manager.getPackageInfo(c.getPackageName(), 0);
149
            appVersion=info.versionCode+"";
150
        }catch (PackageManager.NameNotFoundException pm){
151
            appVersion=null;
152
        }
153
        return appVersion;
154
    }
155
 
156
    public static String notificationDate(){
157
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
158
        return sdf.format(new Date());
159
    }
16080 manas 160
 
161
    public static Map<String,String> generateStoreMap(String toConvertString){
162
        String[] keyValuePairs = toConvertString.split(",");
163
        Map<String,String> map = new HashMap<>();
164
 
165
        for(String pair : keyValuePairs)
166
        {
167
            String[] entry = pair.split("=");
168
            map.put(entry[0].trim(), entry[1].trim());
169
        }
170
        return map;
171
    }
172
 
173
    public static String getNewStoreId(Map storeMap,String orderUrl){
174
        Set<String> keys = storeMap.keySet();
175
        for(String i: keys)
176
        {
177
            if(orderUrl.contains(i)){
178
                return storeMap.get(i).toString();
179
            }
180
        }
181
        return null;
182
    }
183
 
184
    public String getEmailUrlFromMap(Context c,String url,String defaultUrl){
185
        apiData = c.getApplicationContext().getSharedPreferences("API_Data", c.getApplicationContext().MODE_PRIVATE);
186
        apiEditor = apiData.edit();
187
        Map<String,String> profitmanidUrls=new HashMap<>();
188
        profitmanidUrls.put("profitmandi.com/home",apiData.getString("mobile.website.url", "http://" + ProfitTillConstants.DOMAIN+"/deals"));
189
        profitmanidUrls.put("profitmandi.com/search",apiData.getString("search.url", "http://" + ProfitTillConstants.DOMAIN+"/search"));
190
        profitmanidUrls.put("profitmandi.com/orders",apiData.getString("myorders.url", "http://" + ProfitTillConstants.DOMAIN+"/orders/mine"));
191
        profitmanidUrls.put("profitmandi.com/preferences",apiData.getString("preferences.url", "http://" + ProfitTillConstants.DOMAIN+"/preferences/mine"));
192
        profitmanidUrls.put("profitmandi.com/product","http://"+ProfitTillConstants.DOMAIN+"/store_products/view");
193
        Set<String> keys = profitmanidUrls.keySet();
194
        for(String i: keys){
195
            if(url.contains(i)){
196
                if(url.contains("product")){
197
                    return profitmanidUrls.get(i).toString() + url.split("product")[1];
198
                }else{
199
                    return profitmanidUrls.get(i).toString();
200
                }
201
            }
202
        }
203
        return defaultUrl;
204
    }
17063 manas 205
 
206
    public static Map<String,String> getReferralRequest(Context c,String referrerObject){
207
        String decodedUrl = URLDecoder.decode(referrerObject);
208
        StringTokenizer st = new StringTokenizer(decodedUrl, "&");
209
        Map<String,String> analyticsRequest=new HashMap<>();
210
        while (st.hasMoreTokens()) {
211
            String token = st.nextToken();
212
            String[] sourceValue = token.split("=");
213
            analyticsRequest.put(sourceValue[0], sourceValue[1]);
214
        }
215
        analyticsRequest.put("imeinumber",UtilityFunctions.getImeiNumber(c));
216
        return analyticsRequest;
217
    }
18082 manas 218
 
219
    public static String campaignUserId(Uri campaignUri){
220
 
221
        DESEncrypter desEncrypter = new DESEncrypter(ProfitTillConstants.AUTH_PASSWORD);
222
        String urlOpen = desEncrypter.decrypt(campaignUri.getQueryParameter("key"));
223
        String campaignUserId=urlOpen.split("user_id=")[1];
224
        return campaignUserId;
225
    }
15357 manas 226
}