Subversion Repositories SmartDukaan

Rev

Rev 15357 | Rev 17063 | 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;
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
}