Subversion Repositories SmartDukaan

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
14792 manas 1
package com.saholic.profittill.main;
2
 
14991 manas 3
import android.app.Activity;
14792 manas 4
import android.app.AlertDialog;
5
import android.app.ProgressDialog;
6
import android.content.Context;
7
import android.content.DialogInterface;
8
import android.content.Intent;
9
import android.content.SharedPreferences;
10
import android.content.pm.PackageManager;
11
import android.graphics.Bitmap;
12
import android.net.ConnectivityManager;
13
import android.net.Uri;
14
import android.os.AsyncTask;
15
import android.os.Build;
16
import android.os.Bundle;
17
import android.app.Fragment;
18
import android.os.Message;
19
import android.util.Base64;
20
import android.util.Log;
21
import android.view.KeyEvent;
22
import android.view.LayoutInflater;
23
import android.view.MotionEvent;
24
import android.view.View;
25
import android.view.ViewGroup;
26
import android.webkit.CookieManager;
27
import android.webkit.CookieSyncManager;
28
import android.webkit.HttpAuthHandler;
29
import android.webkit.JavascriptInterface;
30
import android.webkit.WebChromeClient;
31
import android.webkit.WebSettings;
32
import android.webkit.WebView;
33
import android.webkit.WebViewClient;
34
import android.webkit.WebViewDatabase;
35
import android.widget.CheckBox;
36
import android.widget.CompoundButton;
37
import android.widget.Toast;
38
import com.mixpanel.android.mpmetrics.MixpanelAPI;
39
import com.saholic.profittill.Constants.ProfitTillConstants;
40
import com.saholic.profittill.Database.OrderTransactionDetails;
41
import com.saholic.profittill.R;
14991 manas 42
import com.saholic.profittill.Utils.UtilityFunctions;
14792 manas 43
import com.saholic.profittill.Utils.WebKitCookieManagerProxy;
44
import com.testin.agent.TestinAgent;
45
 
46
 
47
import org.apache.http.Header;
48
import org.apache.http.HttpEntity;
49
import org.apache.http.HttpResponse;
50
import org.apache.http.NameValuePair;
51
import org.apache.http.client.ClientProtocolException;
52
import org.apache.http.client.HttpClient;
53
import org.apache.http.client.entity.UrlEncodedFormEntity;
54
import org.apache.http.client.methods.HttpGet;
55
import org.apache.http.client.methods.HttpPost;
56
import org.apache.http.cookie.Cookie;
57
import org.apache.http.entity.StringEntity;
58
import org.apache.http.impl.client.DefaultHttpClient;
59
import org.apache.http.impl.cookie.BasicClientCookie;
60
import org.apache.http.impl.cookie.RFC2109Spec;
61
import org.apache.http.message.BasicNameValuePair;
62
 
63
import org.apache.http.util.EntityUtils;
64
import org.json.JSONArray;
65
import org.json.JSONException;
66
import org.json.JSONObject;
14991 manas 67
 
68
import java.io.ByteArrayOutputStream;
14792 manas 69
import java.io.IOException;
70
import java.io.InputStream;
14991 manas 71
import java.nio.charset.StandardCharsets;
14792 manas 72
import java.text.SimpleDateFormat;
73
import java.util.ArrayList;
74
import java.util.Date;
75
import java.util.LinkedList;
76
import java.util.List;
77
import java.util.StringTokenizer;
78
import java.util.regex.Matcher;
79
import java.util.regex.Pattern;
14991 manas 80
import java.util.zip.Deflater;
81
import java.util.zip.GZIPOutputStream;
14792 manas 82
 
83
public class DealsHomeFragment extends Fragment {
84
 
85
    public DealsHomeFragment(){
86
 
87
    }
88
 
89
    static boolean FLAG=false,REDIRECT=false,PAGE_LOAD=false;
90
    WebView webView;
91
    WebView amazonWebView,amazonOrderHistoryWebView,amazonOrderHistoryCancelledWebView;
92
    WebView amazonAllUrlsWebView;
93
    SharedPreferences userData;
94
    SharedPreferences apiData;
95
    SharedPreferences flipkartData;
96
    SharedPreferences.Editor userDataEditor;
97
    SharedPreferences.Editor apiSettingsEditor;
98
    SharedPreferences.Editor flipkartDataEditor;
99
    OrderTransactionDetails orderDetails;
100
    LinkedList<ArrayList<NameValuePair>> orderLinkedList;
101
    SharedPreferences amazonData;
102
    String affliateUrl;
103
    String landingURL;
104
    boolean val=false;
105
    String redirectUrls;
106
    String pageLoad;
107
    SharedPreferences.Editor amazonapiSettingsEditor;
108
    List<NameValuePair> amazonOrderTrackingData;
109
    int pageRedirect=0;
110
    int snapdealPageLoad;
111
    int snapdealPageLoad1;
112
    String packageName=null;
113
    final ArrayList<String> redirectUrlsList = new ArrayList<String>();
114
    final ArrayList<String> pageLoadList = new ArrayList<String>();
115
    String flipkartUrl;
116
    View checkBoxView;
117
    boolean flipkartFlag;
14991 manas 118
    String saholicUrl;
119
    JSONObject jSaholic;
120
    JSONArray jsArraySaholic;
121
    UtilityFunctions utf;
122
 
14792 manas 123
    @Override
124
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
125
                             Bundle savedInstanceState) {
126
 
127
 
128
        View rootView = inflater.inflate(R.layout.fragment_deals_home, container, false);
129
 
130
        TestinAgent.init(getActivity());
131
        amazonData= getActivity().getSharedPreferences("Amazon_Data", Context.MODE_PRIVATE);
132
        userData = getActivity().getSharedPreferences("User_Data", Context.MODE_PRIVATE);
133
        apiData = getActivity().getSharedPreferences("API_Data", Context.MODE_PRIVATE);
134
        flipkartData = getActivity().getSharedPreferences("Flipkart_Data", Context.MODE_PRIVATE);
135
        userDataEditor = userData.edit();
136
        apiSettingsEditor = apiData.edit();
137
        TestinAgent.setUserInfo(userData.getString("id",""));
138
        amazonapiSettingsEditor = amazonData.edit();
139
        flipkartDataEditor = flipkartData.edit();
140
        affliateUrl=getArguments().getString("key");
141
        orderDetails =  new OrderTransactionDetails(getActivity());
14808 manas 142
        Log.d("Order details","Orders");
14792 manas 143
 
144
 
145
      if(isInternetOn()) {
146
              redirectUrls=apiData.getString("profitmandi.redirect.urls","");
147
              StringTokenizer st = new StringTokenizer(redirectUrls,"|");
148
              while(st.hasMoreTokens()){
149
                  redirectUrlsList.add( st.nextToken());
150
              }
14991 manas 151
             pageLoad  =apiData.getString("profitmandi.pageloads.pattern","");
14792 manas 152
              StringTokenizer st1 = new StringTokenizer(pageLoad,"|");
153
              while(st1.hasMoreTokens()){
154
                  pageLoadList.add( st1.nextToken());
155
              }
14808 manas 156
              //pageLoadList.add("tag");
14792 manas 157
            WebClientClass webViewClient = new WebClientClass();
158
            webView = (WebView) rootView.findViewById(R.id.webView);
159
            webView.setClickable(true);
160
            webView.setFocusableInTouchMode(true);
161
            webView.getSettings().setDomStorageEnabled(true);
162
            webView.getSettings().setJavaScriptEnabled(true);
163
            webView.getSettings().setBuiltInZoomControls(true);
164
            webView.addJavascriptInterface(new javascriptInterface(getActivity()), "HTMLOUT");
165
            webView.getSettings().setSavePassword(true);
166
            CookieManager cookieManager = CookieManager.getInstance();
167
            cookieManager.setAcceptCookie(true);
168
 
169
          if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
170
              webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
171
              webView.getSettings().setAllowContentAccess(true);
172
              CookieManager cookieManager1 = CookieManager.getInstance();
173
              cookieManager1.setAcceptThirdPartyCookies(webView, true);
174
          }
14991 manas 175
          if(Uri.parse(getArguments().getString("key")).getHost().contains("api.profittill")) {
176
             userDataEditor.putString("saholic.data",UtilityFunctions.clearCookiesNew(getArguments().getString("key"),getActivity())).commit();
177
          }
14792 manas 178
            webView.loadUrl(getArguments().getString("key"));
179
            webView.setWebViewClient(webViewClient);
180
 
181
         }
182
        else{
183
            SearchFragment nextFrag= new SearchFragment();
184
            Bundle args = new Bundle();
185
            args.putString("finishingurl", getArguments().getString("key"));
186
            args.putString("fragmentNumber", "1");
187
            nextFrag.setArguments(args);
188
            getActivity().getFragmentManager().beginTransaction()
189
                    .replace(R.id.frame_container, nextFrag)
190
                    .addToBackStack(null)
191
                    .commit();
192
        }
193
        return rootView;
194
    }
195
 
196
    @Override
197
    public void onViewCreated(View view, Bundle savedInstanceState) {
198
        super.onViewCreated(view, savedInstanceState);
199
    }
200
 
201
 
202
 
203
 
204
    JSONObject obj;
205
    public class WebClientClass extends WebViewClient {
206
        ProgressDialog pd = null;
207
        ProgressDialog pd1 = null;
208
        ProgressDialog pd2 = null;
209
 
210
        @Override
211
        public void onReceivedHttpAuthRequest(WebView view,
212
                                              HttpAuthHandler handler, String host, String realm) {
213
 
214
            handler.proceed("dtr", "dtr18Feb2015");
215
 
216
        }
217
 
218
 
219
        @Override
220
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
221
 
222
          /* if(url.contains("flipkart") && apiData.getString("flipkart.appopen","").equalsIgnoreCase("true")){
223
                StringTokenizer st = new StringTokenizer(url,";");
224
                while(st.hasMoreTokens()){
225
                    String token=st.nextToken();
226
                    if(token.contains("package")){
227
                        packageName = token.split("=")[1];
228
                        System.out.println(packageName);
229
                    }
230
               }
231
               final boolean checkAppInstalled = appInstalledOrNot(packageName);
232
 
233
                new AlertDialog.Builder(getActivity())
234
                        .setMessage(apiData.getString("flipkart.message","You won't be able to track your orders & earn cashbacks if you purchase using Flipkart App."))
235
                        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
236
                            @Override
237
                            public void onClick(DialogInterface dialog, int which) {
238
                               *//* if(checkAppInstalled){
239
                                    Intent LaunchIntent = getActivity().getPackageManager()
240
                                            .getLaunchIntentForPackage(packageName);
241
                                    *//**//*String url1 ="http://dl.flipkart.com/dl/huawei-honor-6-h60-l04/p/itmdzm66rhvhchha?pid=MOBDZM5TMHQHGWDD&affid=saholic1g&affExtParam1=SHA21427733689";
242
                                    *//**//*
243
                                    LaunchIntent.setData(Uri.parse(flipkartUrl));
244
                                    startActivity(LaunchIntent);
245
                                }else {
246
                                    Intent intent = null;
247
                                    try {
248
                                        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + packageName));
249
                                        //intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
250
                                    } catch (android.content.ActivityNotFoundException anfe) {
251
                                        intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + packageName));
252
                                    }
253
 
254
                                    startActivity(intent);
255
                                }*//*
256
                                Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(flipkartUrl));
257
                                startActivity(i);
258
                            }
259
 
260
                        })
261
                        .setNegativeButton("No", null)
262
                        .show();
263
 
264
 
265
                return true;
266
            }*/
267
            if(url.contains("com.saholic.profittill")){
268
                Intent intent = null;
269
                try {
270
                    intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getActivity().getPackageName()));
271
                } catch (android.content.ActivityNotFoundException anfe) {
272
                    intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + getActivity().getPackageName()));
273
                }
274
                startActivity(intent);
275
                return true;
276
            }
277
            if(snapdealPageLoad==1){
278
                pd2 = new ProgressDialog(getActivity());
279
                pd2.setMessage("Wait for a moment and click again.");
280
                pd2.setProgress(view.getProgress());
281
                pd2.show();
282
                return true;
283
            }
284
            if(url.startsWith("tel")){
285
                Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
286
                startActivity(intent);
287
                return true;
288
            }
289
            return false;
290
 
291
        }
292
 
293
        @Override
294
        public synchronized  void onPageStarted(final WebView view, String url, Bitmap favicon) {
295
            super.onPageStarted(view, url, favicon);
296
            final CharSequence[] items = {" Don't show me again "};
297
            final ArrayList seletedItems=new ArrayList();
298
                try {
14991 manas 299
                    CookieSyncManager.createInstance(getActivity());
300
                    CookieManager cookieManager = CookieManager.getInstance();
301
                    cookieManager.setCookie(url, "token="+userData.getString("token",""));
14792 manas 302
                    if(url.contains("dl.flipkart.com/dl/")){
303
                        flipkartUrl=url;
304
 
305
                        if(flipkartData.getInt("showagainflag",0)<3) {
306
                            AlertDialog dialog;
307
                            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
308
                            builder.setMessage(apiData.getString("flipkart.message", "You won't be able to track your orders & earn cashbacks if you purchase using Flipkart App."))
309
                                    .setView(checkBoxView)
310
                                    .setCancelable(false)
311
                                    .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
312
                                        @Override
313
                                        public void onClick(DialogInterface dialog, int which) {
314
                                                int i = flipkartData.getInt("showagainflag", 0);
315
                                                flipkartDataEditor.putInt("showagainflag", ++i);
316
                                                flipkartDataEditor.commit();
317
                                            Intent flipkartIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(flipkartUrl));
318
                                            startActivity(flipkartIntent);
319
                                        }
320
                                    })
321
                                    .setNegativeButton("No", new DialogInterface.OnClickListener() {
322
                                        @Override
323
                                        public void onClick(DialogInterface dialog, int id) {
324
                                            view.loadUrl(apiData.getString("mobile.website.url", "") + "?user_id=" + userData.getString("id", ""));
325
 
326
                                        }
327
                                    });
328
                            dialog = builder.create();
329
                            dialog.show();
330
                        }else if(flipkartData.getInt("showagainflag",0)==3){
331
                            AlertDialog dialog;
332
                            AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
333
                            checkBoxView = View.inflate(getActivity(), R.layout.checkboxlayout, null);
334
                            CheckBox checkBox = (CheckBox) checkBoxView.findViewById(R.id.checkbox);
335
                            checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
336
 
337
                                @Override
338
                                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
339
                                    flipkartFlag = isChecked;
340
                                }
341
                            });
342
                            checkBox.setText("Don't show me again");
343
                            builder.setMessage(apiData.getString("flipkart.message", "You won't be able to track your orders & earn cashbacks if you purchase using Flipkart App."))
344
                                    .setView(checkBoxView)
345
                                    .setCancelable(false)
346
                                    .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
347
                                        @Override
348
                                        public void onClick(DialogInterface dialog, int which) {
349
                                            if (flipkartFlag) {
350
                                                int i = flipkartData.getInt("showagainflag", 0);
351
                                                flipkartDataEditor.putInt("showagainflag", ++i);
352
                                                flipkartDataEditor.commit();
353
                                            }
354
                                            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(flipkartUrl));
355
                                            startActivity(i);
356
                                        }
357
                                    })
358
                                    .setNegativeButton("No", new DialogInterface.OnClickListener() {
359
                                        @Override
360
                                        public void onClick(DialogInterface dialog, int id) {
361
                                            view.loadUrl(apiData.getString("mobile.website.url", "") + "?user_id=" + userData.getString("id", ""));
362
 
363
                                        }
364
                                    });
365
                            dialog = builder.create();
366
                            dialog.show();
367
                        }
368
                        else{
369
                            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(flipkartUrl));
370
                            startActivity(i);
371
                        }
372
                        view.stopLoading();
373
                    }
374
                    else {
375
                        for (String s : pageLoadList) {
376
                            if (url.contains(s)) {
377
                                PAGE_LOAD = true;
378
 
379
                            }
380
                        }
381
                        if (PAGE_LOAD) {
382
                            //clearCookies(url);
383
                            Log.d("Cookie after calling", "Cookie after calling" + CookieManager.getInstance().getCookie(url));
384
                            snapdealPageLoad = 1;
385
                            PAGE_LOAD = false;
386
                        } else {
387
                            snapdealPageLoad = 0;
388
                            for (String s : redirectUrlsList) {
389
                                if (url.contains(s)) {
390
                                    REDIRECT = true;
391
                                    break;
392
                                }
393
                            }
394
                            if (REDIRECT) {
395
                                pageRedirect = 2;
396
                                REDIRECT = false;
397
                            } else if (pageRedirect == 2 || pageRedirect == 1) {
398
                                Toast.makeText(getActivity(), "Redirecting to deals...", Toast.LENGTH_SHORT).show();
399
                                Intent i = new Intent(getActivity(), MainActivity.class);
400
                                i.putExtra("displayView", "31");
401
                                i.putExtra("redirectUrl", apiData.getString("redirect.url", "") + "?user_id=" + userData.getString("id", ""));
402
                                startActivity(i);
403
                                pageRedirect = 0;
404
                            } else {
405
                                landingURL = url;
406
                                if (url.contains(apiData.getString("mobile.website.url", null)) || url.equalsIgnoreCase("http://api.profittill.com/categorydeals")) {
407
                                    pd = new ProgressDialog(getActivity());
408
                                    pd.setTitle("Please wait");
409
                                    pd.setMessage("Loading..");
410
                                    pd.show();
411
                                    /*parseCookieString(CookieManager.getInstance().getCookie(".saholic.com"),".saholic.com");
412
                                    Log.d("Cookie","Cookie Overloaded");
413
                                    parseCookieString(CookieManager.getInstance().getCookie("m.saholic.com"));*/
414
                                }
415
                                getDisplayActionBar(url);
416
                                if (displayActionBar) {
417
                                    pd1 = new ProgressDialog(getActivity());
418
                                    pd1.setTitle("Please wait");
419
                                    pd1.setMessage("Loading..");
420
                                    pd1.show();
421
                                }
422
                            }
423
                        }
14991 manas 424
                        if(Uri.parse(url).getHost().contains("saholic") && apiData.getString("saholic.data","false").equalsIgnoreCase("true")){
14792 manas 425
 
14991 manas 426
                        }else {
427
                            obj = new JSONObject();
428
                            JSONObject j = new JSONObject();
429
                            JSONArray jsArray = new JSONArray();
430
                            j.put("url", url);
431
                            j.put("user_id", userData.getString("id", null));
432
                            j.put("time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
433
                            jsArray.put(j);
434
                            obj.put("pushdata", jsArray);
435
                            new pushData().execute();
436
                        }
14792 manas 437
                        storeSubTagId(url);
438
                    }
439
                } catch (Exception e) {
440
                    e.printStackTrace();
441
                }
442
           // }
443
        }
444
 
445
 
446
 
447
        @Override
448
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
449
            super.onReceivedError(view, errorCode, description, failingUrl);
450
            Log.d("ErrorCode " ,"Error Code"+errorCode);
451
            Log.d("Errordescription " ,"description"+description);
452
            SearchFragment nextFrag= new SearchFragment();
453
            Bundle args = new Bundle();
454
            args.putString("finishingurl",failingUrl);
455
            nextFrag.setArguments(args);
456
            getActivity().getFragmentManager().beginTransaction()
457
                    .replace(R.id.frame_container, nextFrag)
458
                    .addToBackStack(null)
459
                    .commit();
460
        }
461
 
462
        @Override
463
        public synchronized  void onPageFinished(WebView view, String url) {
464
        super.onPageFinished(view, url);
465
            Log.d("Progress " , "Progress Finish" + view.getProgress());
466
        try {
467
 
468
            if (url.contains(apiData.getString("mobile.website.url", "")) || url.equalsIgnoreCase("http://api.profittill.com/categorydeals")) {
469
                pd.dismiss();
470
            }
471
            if(snapdealPageLoad==1){
472
                snapdealPageLoad=0;
473
            }
474
            if(pd2!=null){
475
                pd2.dismiss();
476
            }
14991 manas 477
            if(Uri.parse(url).getHost().contains("saholic") && apiData.getString("saholic.data","false").equalsIgnoreCase("true")){
478
                saholicUrl=url;
479
                view.loadUrl("javascript:window.HTMLOUT.saholicHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
480
            }
14792 manas 481
            if (url.contains(apiData.getString("amazon.tracking.order.url", ""))) {
482
               /* StringTokenizer st2 = new StringTokenizer(url, "&");
483
                String orderid = null;
484
                while (st2.hasMoreTokens()) {
485
                    String token = st2.nextToken();
486
                    if (token.contains("oid")) {
487
                        orderid = token.split("=")[1];
488
                    }
489
                }
490
                amazonOrderTrackingData = new ArrayList<>();
491
                amazonOrderTrackingData.add(new BasicNameValuePair("id", orderid));
492
                amazonOrderTrackingData.add(new BasicNameValuePair("user_id", userData.getString("id", "")));
493
                amazonOrderTrackingData.add(new BasicNameValuePair("order_url", url));
494
                amazonOrderTrackingData.add(new BasicNameValuePair("store_id", apiData.getString("store.code.amazon", null)));
495
                view.loadUrl("javascript:window.HTMLOUT.amazonOrderTrackingHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
496
       */        fetchOrderDetails();
497
            }
498
 
499
            if (displayActionBar) {
500
                if (url.contains("amazon")) {
501
                    view.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
502
                    pd1.dismiss();
503
                    amazonWebView = new WebView(webView.getContext());
504
                    amazonWebView.setVisibility(View.GONE);
505
                    amazonWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");
506
                    amazonWebView.getSettings().setJavaScriptEnabled(true);
507
 
508
                } else {
509
                    view.loadUrl("javascript:window.HTMLOUT.flipkartHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
510
                    pd1.dismiss();
511
                }
512
            }
513
 
514
            amazonOrderHistoryWebView = new WebView(webView.getContext());
515
            amazonOrderHistoryWebView.setVisibility(View.GONE);
516
            amazonOrderHistoryWebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36");
517
            amazonOrderHistoryWebView.getSettings().setJavaScriptEnabled(true);
518
            amazonOrderHistoryWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");
519
 
520
            amazonOrderHistoryCancelledWebView = new WebView(webView.getContext());
521
            amazonOrderHistoryCancelledWebView.setVisibility(View.GONE);
522
            amazonOrderHistoryCancelledWebView.getSettings().setJavaScriptEnabled(true);
523
            amazonOrderHistoryCancelledWebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36");
524
            amazonOrderHistoryCancelledWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");
525
 
526
            amazonAllUrlsWebView = new WebView(webView.getContext());
527
            amazonAllUrlsWebView.setVisibility(View.GONE);
528
            amazonAllUrlsWebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36");
529
            amazonAllUrlsWebView.getSettings().setJavaScriptEnabled(true);
530
            amazonAllUrlsWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");
531
 
532
            if (url.contains("https://www.amazon.in/ap/signin")) {
533
                if (!FLAG) {
534
                    FLAG = true;
535
                }
536
            } else if (FLAG) {
537
                //Toast.makeText(getActivity(),"True",Toast.LENGTH_SHORT).show();
538
                amazonOrderHistoryWebView = new WebView(webView.getContext());
539
                amazonOrderHistoryWebView.setVisibility(View.GONE);
540
                amazonOrderHistoryWebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36");
541
                amazonOrderHistoryWebView.getSettings().setJavaScriptEnabled(true);
542
                amazonOrderHistoryWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");
543
                amazonOrderHistoryCancelledWebView = new WebView(webView.getContext());
544
                amazonOrderHistoryCancelledWebView.setVisibility(View.GONE);
545
                amazonOrderHistoryCancelledWebView.getSettings().setJavaScriptEnabled(true);
546
                amazonOrderHistoryCancelledWebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36");
547
                amazonOrderHistoryCancelledWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");
548
                fetchOrderDetails();
549
                FLAG = false;
550
            }
551
 
552
            view.setOnKeyListener(new View.OnKeyListener() {
553
                @Override
554
                public boolean onKey(View v, int keyCode, KeyEvent event) {
555
                    if (event.getAction() == KeyEvent.ACTION_DOWN) {
556
                        WebView webView = (WebView) v;
557
                        switch (keyCode) {
558
                            case KeyEvent.KEYCODE_BACK:
559
                                if ((webView.canGoBack() && !webView.getUrl().contains(apiData.getString("mobile.website.url", null))) || pageRedirect==2) {
560
                                    webView.goBack();
561
                                    pageRedirect=0;
562
                                    snapdealPageLoad=0;
563
                                    return true;
564
                                } else if (affliateUrl.contains("flipkart") || affliateUrl.contains("amazon") || affliateUrl.contains("snapdeal") || affliateUrl.contains("saholic") || affliateUrl.contains(apiData.getString("myorders.url", "")) || affliateUrl.contains(apiData.getString("search.url", ""))) {
565
                                    Intent i = new Intent(getActivity(), MainActivity.class);
566
                                    i.putExtra("displayView", "0");
567
                                    startActivity(i);
568
                                    return true;
569
                                } else if (webView.getUrl().contains(apiData.getString("mobile.website.url", null))) {
570
                                    new AlertDialog.Builder(getActivity())
571
                                            .setIcon(android.R.drawable.ic_dialog_alert)
572
                                            .setTitle("Exit!")
573
                                            .setMessage("Are you sure you want to close?")
574
                                            .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
575
                                                @Override
576
                                                public void onClick(DialogInterface dialog, int which) {
577
                                                    Intent startMain = new Intent(Intent.ACTION_MAIN);
578
                                                    startMain.addCategory(Intent.CATEGORY_HOME);
579
                                                    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
580
 
581
                                                    startActivity(startMain);
582
                                                }
583
 
584
                                            })
585
                                            .setNegativeButton("No", null)
586
                                            .show();
587
                                } else {
588
                                    Intent i = new Intent(getActivity(), MainActivity.class);
589
                                    i.putExtra("displayView", "0");
590
                                    startActivity(i);
591
                                    return true;
592
                                }
593
 
594
                                break;
595
                        }
596
                    }
597
 
598
                    return false;
599
                }
600
            });
601
 
602
        }catch (Exception e){
603
            e.printStackTrace();
604
            TestinAgent.uploadException(getActivity(),"On Page Finished",e);
605
        }
606
        }
607
    }
608
    private boolean appInstalledOrNot(String uri) {
609
        PackageManager pm = getActivity().getPackageManager();
610
        boolean app_installed = false;
611
        try {
612
            pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
613
            app_installed = true;
614
        }
615
        catch (PackageManager.NameNotFoundException e) {
616
            app_installed = false;
617
        }
618
        return app_installed ;
619
    }
620
    @Override
621
    public void onResume() {
622
        super.onResume();
623
        getView().setFocusableInTouchMode(true);
624
        getView().requestFocus();
625
        getView().setOnKeyListener(new View.OnKeyListener() {
626
            @Override
627
            public boolean onKey(View v, int keyCode, KeyEvent event) {
628
 
629
                if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_BACK) {
630
                    try {
631
                        if (landingURL.contains((apiData.getString("mobile.website.url", "")))) {
632
                            new AlertDialog.Builder(getActivity())
633
                                    .setIcon(android.R.drawable.ic_dialog_alert)
634
                                    .setTitle("Exit!")
635
                                    .setMessage("Are you sure you want to close?")
636
                                    .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
637
                                        @Override
638
                                        public void onClick(DialogInterface dialog, int which) {
639
                                            Intent startMain = new Intent(Intent.ACTION_MAIN);
640
                                            startMain.addCategory(Intent.CATEGORY_HOME);
641
                                            startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
642
                                            startActivity(startMain);
643
                                        }
644
 
645
                                    })
646
                                    .setNegativeButton("No", null)
647
                                    .show();
648
                            return true;
649
                        } else {
650
                            if (webView.canGoBack()) {
651
                                webView.goBack();
652
                            } else {
653
                                Intent i = new Intent(getActivity(), MainActivity.class);
654
                                i.putExtra("displayView", "0");
655
                                startActivity(i);
656
                            }
657
                            return true;
658
 
659
                        }
660
 
661
                    } catch (Exception e) {
662
                        e.printStackTrace();
663
                        return false;
664
                    }
665
                }
666
                return false;
667
                }
668
 
669
        });
670
    }
671
 
672
    public void fetchOrderDetails(){
673
        if(isInternetOn()) {
674
           new FetchOrderURLS().execute();
675
        }
676
        else{
677
           /* getActivity().finish();*/
678
        }
679
    }
680
 
681
    public void pushDataInAmazon(String orderId){
682
 
683
        AmazonOrderDetails amazonOrderClient = new AmazonOrderDetails();
684
        nameValuePairsRawHtmlAmazon=new ArrayList<NameValuePair>();
685
        nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("user_id",userData.getString("id",null)));
686
        nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("id",orderId));
687
        nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("store_id",apiData.getString("store.code.amazon",null)));
688
        nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("order_url",amazonData.getString("amazonurl","")));
689
        //nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("sub_tag",userData.getString("subtag",null)));
690
        amazonWebView.loadUrl(amazonData.getString("amazonurl",""));
691
        amazonWebView.setWebViewClient(amazonOrderClient);
692
 
693
    }
694
 
695
    public void storeSubTagId(String url){
696
 
697
        if(url.contains(apiData.getString("store.subtag.snapdeal",null)) || url.contains(apiData.getString("store.subtag.flipkart",null)) || url.contains(apiData.getString("store.subtag.amazon",null)))
698
        {
699
 
700
            StringTokenizer st2 = new StringTokenizer(url, "&");
701
            while (st2.hasMoreElements()) {
702
                String token=st2.nextToken();
703
                if(token.contains(apiData.getString("store.subtag.snapdeal",null)) || token.contains(apiData.getString("store.subtag.flipkart",null)) || token.contains(apiData.getString("store.subtag.amazon",null)) ){
704
                    System.out.println("True");
705
                    String subtagId=userData.getString("subtag","null");
706
                    if(subtagId==null){
707
                        userDataEditor.putString("subtag",token.split("=")[1]);
708
                        userDataEditor.commit();
709
                    }
710
                    else{
711
                        userDataEditor.remove("subtag");
712
                        userDataEditor.commit();
713
                        userDataEditor.putString("subtag",token.split("=")[1]);
714
                        userDataEditor.commit();
715
                    }
716
 
717
                }
718
                else
719
                    continue;
720
            }
721
        }
722
        else
723
            return;
724
    }
725
 
726
 
727
    boolean displayActionBar;
728
    public void getDisplayActionBar(String url) throws Exception{
729
        String snapdealConfirmation = apiData.getString("snapdeal.order.success.url",null);
730
        String flipkartConfirmation = apiData.getString("flipkart.order.success.url",null);
731
        String amazonConfirmation = apiData.getString("amazon.order.success.url",null);
732
        String amazonThankYouConfirmation = apiData.getString("amazon.order.success.thankyou.url",null);
733
        String saholicConfirmation = apiData.getString("saholic.order.success.url",null);
734
        if(url.contains(snapdealConfirmation) || url.contains(flipkartConfirmation) || url.contains(amazonConfirmation) || url.contains(amazonThankYouConfirmation) || url.contains(saholicConfirmation)){
735
            displayActionBar=true;
736
            String storeID = getStoreId(url);
737
            if(storeID==null){
738
                Log.e("Deals Page Activity", "Null value returned for storeID");
739
            }
740
            else{
741
                nameValuePairsRawHtml=new ArrayList<NameValuePair>();
742
                nameValuePairsRawHtml.add(new BasicNameValuePair("user_id",userData.getString("id",null)));
743
                nameValuePairsRawHtml.add(new BasicNameValuePair("store_id",storeID));
744
                nameValuePairsRawHtml.add(new BasicNameValuePair("order_url",url));
745
                nameValuePairsRawHtml.add(new BasicNameValuePair("sub_tag",userData.getString("subtag",null)));
746
            }
747
        }
748
        else{
749
            displayActionBar = false;
750
        }
751
        return;
752
    }
753
 
754
 
755
    public String getStoreId(String url){
756
        if(url.contains("snapdeal")){
757
            pageRedirect=Integer.parseInt(apiData.getString("pageredirect.snapdeal","0"));
758
            return apiData.getString("store.code.snapdeal",null);
759
        }
760
        else if(url.contains("flipkart")){
761
            pageRedirect=Integer.parseInt(apiData.getString("pageredirect.flipkart","0"));
762
            return apiData.getString("store.code.flipkart",null);
763
        }
764
        else if(url.contains("amazon")){
765
            pageRedirect=Integer.parseInt(apiData.getString("pageredirect.amazon","0"));
766
            return apiData.getString("store.code.amazon",null);
767
        }
768
        else if(url.contains("saholic")){
769
            return apiData.getString("store.code.spice",null);
770
        }
771
        return null;
772
    }
773
 
774
    class pushData extends AsyncTask<String, Integer, String> {
775
 
776
        @Override
777
        protected void onPreExecute() {
778
            super.onPreExecute();
779
        }
780
 
781
        @Override
782
        protected String doInBackground(String... arg0) {
783
            HttpClient httpclient = new DefaultHttpClient();
784
            try {
785
 
786
                ArrayList<NameValuePair> nameValuePairs = new ArrayList<>();
787
                nameValuePairs.add(new BasicNameValuePair("pushdata",obj.toString()));
788
 
789
                HttpPost httppost = new HttpPost(apiData.getString("url.push.api",null));
790
                final String basicAuth = "Basic " + Base64.encodeToString("dtr:dtr18Feb2015".getBytes(), Base64.NO_WRAP);
791
                httppost.setHeader("Authorization", basicAuth);
792
 
793
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
794
                System.out.println(obj.toString());
795
                StringEntity se = new StringEntity(obj.toString());
796
                HttpResponse response = httpclient.execute(httppost);
797
                int status = response.getStatusLine().getStatusCode();
798
 
799
                if(status == 200){
800
                    return "success";
801
                } else {
802
                    return "failure";
803
                }
804
 
805
            } catch (ClientProtocolException e) {
806
                return "failure";
807
            } catch (IOException e) {
808
                return "failure";
809
            }
810
        }
811
 
812
        @Override
813
        protected void onPostExecute(String result) {
814
            super.onPostExecute(result);
815
        }
816
    }
817
    ArrayList<NameValuePair> nameValuePairsRawHtml=new ArrayList<NameValuePair>();
818
    ArrayList<NameValuePair> nameValuePairsRawHtmlAmazon=new ArrayList<NameValuePair>();
819
    class javascriptInterface{
820
 
821
        Context mContext;
822
 
823
        /** Instantiate the interface and set the context */
824
        public javascriptInterface(Context c){
825
            mContext = c;
826
        }
827
 
828
        /** Show a toast from the web page */
829
        @JavascriptInterface
830
        public void showToast(String toast) {
14991 manas 831
            nameValuePairsRawHtml.add(new BasicNameValuePair("rawhtml", UtilityFunctions.compress(toast)));
14792 manas 832
            long x = orderDetails.insertOrderDetails(nameValuePairsRawHtml);
833
            List<List<NameValuePair>> postDataNameValuePair =  new ArrayList<List<NameValuePair>>();
834
            postDataNameValuePair=orderDetails.readData1();
835
            for(List<NameValuePair> orderDetail : postDataNameValuePair) {
14991 manas 836
                orderDetail.add(new BasicNameValuePair("zip","1"));
14792 manas 837
                PushRawHTML pm =new  PushRawHTML();
838
                pm.execute(orderDetail);
839
            }
840
        }
841
 
842
        @JavascriptInterface
843
        public void  amazonOrderTrackingHTML(String html) {
14991 manas 844
            amazonOrderTrackingData.add(new BasicNameValuePair("rawhtml",UtilityFunctions.compress(html)));
845
            amazonOrderTrackingData.add(new BasicNameValuePair("zip","1"));
14792 manas 846
            new AmazonOrderTrackingDetails().execute(amazonOrderTrackingData);
847
        }
848
 
849
        @JavascriptInterface
850
        public void showHTML(String html) {
851
            showToast(html);
852
        }
853
 
854
        @JavascriptInterface
855
        public void flipkartHTML(String html) {
14991 manas 856
            nameValuePairsRawHtml.add(new BasicNameValuePair("rawhtml",UtilityFunctions.compress(html)));
14792 manas 857
            long x = orderDetails.insertOrderDetails(nameValuePairsRawHtml);
858
            List<List<NameValuePair>> postDataNameValuePair =  new ArrayList<List<NameValuePair>>();
859
            postDataNameValuePair=orderDetails.readData1();
860
            for(List<NameValuePair> orderDetail : postDataNameValuePair) {
14991 manas 861
                orderDetail.add(new BasicNameValuePair("zip","1"));
14792 manas 862
                new loadData().execute(orderDetail);
863
            }
864
        }
14991 manas 865
 
866
        @JavascriptInterface
867
        public void saholicHTML(String html) {
868
 
869
            try {
870
                obj = new JSONObject();
871
                jSaholic = new JSONObject();
872
                jSaholic.put("html", UtilityFunctions.compress(html));
873
                jSaholic.put("zip", "1");
874
                jSaholic.put("user_id", userData.getString("id", null));
875
            } catch (Exception e) {
876
 
877
            }
878
            new checkGateWayProblem().execute(saholicUrl);
879
        }
14792 manas 880
    }
881
 
882
 
883
 
884
 
885
    class loadData extends AsyncTask<List<NameValuePair>, Integer, JSONObject> {
886
 
887
        @Override
888
        protected void onPreExecute() {
889
            super.onPreExecute();
890
        }
891
 
892
        @Override
893
        protected JSONObject doInBackground(List<NameValuePair>... orderDetail) {
894
 
895
 
896
                try {
897
                    HttpClient httpclient = new DefaultHttpClient();
898
                    HttpPost httppost = new HttpPost(apiData.getString("orderpagehtml.push.api", null));
899
                    httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
900
 
901
                    httppost.setEntity(new UrlEncodedFormEntity(orderDetail[0]));
902
                    HttpResponse response = httpclient.execute(httppost);
903
                    HttpEntity entity = response.getEntity();
904
 
905
                    int status = response.getStatusLine().getStatusCode();
906
 
907
                    if(status == 200){
908
                        NameValuePair y = orderDetail[0].get(2);
909
                        int z =orderDetails.deleteRecord(y.getName(),new String[]{y.getValue()});
910
                    } else {
14991 manas 911
                        Log.d("Status in load Data " ,"Status Load data " + status);
912
 
14792 manas 913
                    }
914
                    String getJSON = EntityUtils.toString(entity);
915
                    if(getJSON==null){
916
                        return null;
917
                    }else {
918
                        JSONObject jObjGmail = new JSONObject(getJSON);
919
                        return jObjGmail;
920
                    }
921
                } catch (Exception e) {
922
                    return null;
923
                }
924
            }
925
 
926
 
927
        @Override
928
        protected void onPostExecute(JSONObject result) {
929
            if(result==null){
930
                //Log.d("Error in fetching result ", "Flipkart html ");
931
            }
932
            else {
933
               try {
934
                    if (result.getString("message").equalsIgnoreCase("PROCESSED"))
935
                        orderDetails.deleterecords();
936
                } catch (Exception e) {
937
                }
938
            }
939
            super.onPostExecute(result);
940
        }
941
    }
942
 
943
 
944
    class AmazonOrderDetails extends WebViewClient {
945
 
946
        @Override
947
        public void onReceivedHttpAuthRequest(WebView view,
948
                                              HttpAuthHandler handler, String host, String realm) {
949
 
950
            handler.proceed("dtr", "dtr18Feb2015");
951
 
952
        }
953
 
954
        @Override
955
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
956
            super.onPageStarted(view, url, favicon);
957
        }
958
 
959
        @Override
960
        public void onPageFinished(WebView view, String url) {
961
            /*Toast.makeText(getActivity(), url, Toast.LENGTH_SHORT).show();*/
962
            view.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
963
            super.onPageFinished(view, url);
964
        }
965
    }
966
 
967
    class amazonInterface{
968
 
969
        Context mContext;
970
 
971
        /** Instantiate the interface and set the context */
972
        public amazonInterface(Context c){
973
            mContext = c;
974
        }
975
 
976
        /** Show a toast from the web page */
977
        @JavascriptInterface
978
        public void showToast(String toast) {
14991 manas 979
            nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("rawhtml",UtilityFunctions.compress(toast)));
980
            nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("zip","1"));
14792 manas 981
            if(isInternetOn()) {
982
                    new amazonPushData().execute(nameValuePairsRawHtmlAmazon);
983
          }
984
        }
985
 
986
 
987
        @JavascriptInterface
988
        public void showHTML(String html) {
989
            showToast(html);
990
        }
991
 
992
        @JavascriptInterface
993
        public void orderHistory(String html) {
994
            List<NameValuePair> amazonOrderHistory = new ArrayList<>();
995
            amazonOrderHistory.add(new BasicNameValuePair("url",str.get(0)));
14991 manas 996
            amazonOrderHistory.add(new BasicNameValuePair("html",UtilityFunctions.compress(html)));
997
            amazonOrderHistory.add(new BasicNameValuePair("zip","1"));
14792 manas 998
            if(isInternetOn()) {
999
                new pushQueuedData().execute(amazonOrderHistory);
1000
            }
1001
            else{
1002
 
1003
            }
1004
        }
1005
        @JavascriptInterface
1006
        public void cancelledHistory(String html) {
1007
            List<NameValuePair> amazonOrderHistory = new ArrayList<>();
1008
            amazonOrderHistory.add(new BasicNameValuePair("url",str.get(j++)));
14991 manas 1009
            amazonOrderHistory.add(new BasicNameValuePair("html",UtilityFunctions.compress(html)));
1010
            amazonOrderHistory.add(new BasicNameValuePair("zip","1"));
14792 manas 1011
            if(isInternetOn()) {
1012
                new pushCancelledQueuedData().execute(amazonOrderHistory);
1013
            }
1014
            else{
1015
 
1016
            }
1017
        }
1018
 
1019
        @JavascriptInterface
1020
        public void amazonOrderUrls(String html) {
1021
            //Log.e("OrderUrls","Order amazonOrderUrls" + html);
1022
            List<NameValuePair> amazonOrderHistory = new ArrayList<>();
1023
            amazonOrderHistory.add(new BasicNameValuePair("url",str.get(1)));
14991 manas 1024
            amazonOrderHistory.add(new BasicNameValuePair("html",UtilityFunctions.compress(html)));
1025
            amazonOrderHistory.add(new BasicNameValuePair("zip","1"));
14792 manas 1026
            if(isInternetOn()) {
1027
                new pushCancelledQueuedData().execute(amazonOrderHistory);
1028
            }
1029
            else{
1030
 
1031
            }
1032
        }
1033
 
1034
    }
1035
    int j;
1036
    class amazonPushData extends AsyncTask<List<NameValuePair>, Integer, String> {
1037
        private StringBuilder sb;
1038
 
1039
        private HttpResponse req;
1040
        private InputStream is;
1041
 
1042
        @Override
1043
        protected void onPreExecute() {
1044
            super.onPreExecute();
1045
            Log.e("Pre execute", "Pre execute");
1046
 
1047
        }
1048
 
1049
        @Override
1050
        protected String doInBackground(List<NameValuePair>... orderDetail) {
1051
            try {
1052
                HttpClient httpclient = new DefaultHttpClient();
1053
                HttpPost httppost = new HttpPost(apiData.getString("orderpagehtml.push.api",null));
1054
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
1055
                httppost.setEntity(new UrlEncodedFormEntity(orderDetail[0]));
1056
                HttpResponse response = httpclient.execute(httppost);
1057
                HttpEntity entity = response.getEntity();
1058
                int status = response.getStatusLine().getStatusCode();
1059
 
1060
                if(status == 200){
1061
                    System.out.println("ResponseCode of record: "+ status + " is " + status);
1062
                    NameValuePair y = orderDetail[0].get(2);
1063
                    int z =orderDetails.deleteRecord(y.getName(),new String[]{y.getValue()});
1064
                    amazonapiSettingsEditor.remove("amazonurl");
1065
                    amazonapiSettingsEditor.commit();
1066
                } else {
1067
                    /*Log.d("ResponseCode",status+"");
1068
                    System.out.println(" NOT Transfered");
1069
                    Log.d("ResponseCode",status+"");*/
1070
                }
1071
/*                Log.e("pass 1", "Amazon success ");*/
1072
            } catch (Exception e) {
1073
/*                Log.e("Fail 1", e.toString());*/
1074
 
1075
            }
1076
            return "success";
1077
        }
1078
 
1079
        @Override
1080
        protected void onPostExecute(String result) {
1081
            super.onPostExecute(result);
1082
            new FetchOrderURLS().execute();
1083
        }
1084
    }
1085
 
1086
 
1087
    /*class PushRawHTML extends AsyncTask<String, Integer, JSONObject> {
1088
        private StringBuilder sb;
1089
 
1090
        private HttpResponse req;
1091
        private InputStream is;
1092
 
1093
        @Override
1094
        protected void onPreExecute() {
1095
            super.onPreExecute();
1096
            Log.e("Pre execute", "Pre execute");
1097
 
1098
        }
1099
 
1100
        @Override
1101
        protected JSONObject doInBackground(String... arg0) {
1102
 
1103
            try {
1104
                HttpClient httpclient = new DefaultHttpClient();
1105
                HttpPost httppost = new HttpPost(apiData.getString("orderpagehtml.push.api",null));
1106
                nameValuePairsRawHtml.add(new BasicNameValuePair("sub_tag",userData.getString("subtag",null)));
1107
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairsRawHtml));
1108
                HttpResponse response = httpclient.execute(httppost);
1109
                HttpEntity entity = response.getEntity();
1110
                JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));
1111
                System.out.println(jObjGmail.toString());
1112
                Log.e("pass 1", "connection success ");
1113
                return jObjGmail;
1114
 
1115
            } catch (Exception e) {
1116
                Log.e("Fail 1", e.toString());
1117
                Toast.makeText(getActivity(), "Invalid IP Address", Toast.LENGTH_LONG).show();
1118
                return null;
1119
            }
1120
 
1121
        }
1122
 
1123
        @Override
1124
        protected void onPostExecute(JSONObject result) {
1125
            try {
1126
                if (result.getString("success").equalsIgnoreCase("true") && result.getString("message").equalsIgnoreCase("HTML_REQUIRED")) {
1127
                    amazonapiSettingsEditor.putString("amazonurl",result.getString("url"));
1128
                    amazonapiSettingsEditor.commit();
1129
                    pushDataInAmazon();
1130
                }
1131
            }catch (Exception e){
1132
                Log.e("Post Execute", e.toString());
1133
            }
1134
 
1135
            super.onPostExecute(result);
1136
        }
1137
    }*/
1138
 
1139
    class PushRawHTML extends AsyncTask<List<NameValuePair>, Integer, JSONObject> {
1140
        private StringBuilder sb;
1141
 
1142
        private HttpResponse req;
1143
        private InputStream is;
1144
 
1145
        @Override
1146
        protected void onPreExecute() {
1147
            super.onPreExecute();
1148
            Log.e("Pre execute", "Pre execute");
1149
 
1150
        }
1151
 
1152
        @Override
1153
        protected JSONObject doInBackground(List<NameValuePair>... orderDetail) {
1154
 
1155
            try {
1156
                HttpClient httpclient = new DefaultHttpClient();
1157
                HttpPost httppost = new HttpPost(apiData.getString("orderpagehtml.push.api",null));
1158
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
1159
                httppost.setEntity(new UrlEncodedFormEntity(orderDetail[0]));
1160
                HttpResponse response = httpclient.execute(httppost);
1161
                HttpEntity entity = response.getEntity();
1162
                int status = response.getStatusLine().getStatusCode();
1163
 
1164
                if(status == 200){
1165
                    //System.out.println("ResponseCode of record: "+ status + " is " + status);
1166
                    NameValuePair y = orderDetail[0].get(2);
1167
                    //System.out.println("Value to be deleted is " + " is " + y.getValue());
1168
                    int z =orderDetails.deleteRecord(y.getName(),new String[]{y.getValue()});
1169
                    //Log.d("inserting into database","1 " + z);
1170
                } else {
1171
                /*    Log.d("ResponseCode",status+"");
1172
                    System.out.println(" NOT Transfered");
1173
                    Log.d("ResponseCode",status+"");*/
1174
                }
1175
                JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));
1176
                System.out.println(jObjGmail.toString());
1177
                Log.e("pass 1", "connection success ");
1178
                return jObjGmail;
1179
            } catch (Exception e) {
1180
               /* Log.e("Fail 1", e.toString());*/
1181
                return null;
1182
            }
1183
        }
1184
 
1185
        @Override
1186
        protected void onPostExecute(JSONObject result) {
1187
            super.onPostExecute(result);
1188
            try {
1189
                if (result.getString("htmlRequired").equalsIgnoreCase("true")) {
1190
                    String orderId = result.getString("orderId");
1191
                    amazonapiSettingsEditor.putString("amazonurl",result.getString("url"));
1192
                    amazonapiSettingsEditor.commit();
1193
                    pushDataInAmazon(orderId);
1194
                }
1195
            }catch (Exception e){
1196
            }
1197
 
1198
 
1199
        }
1200
    }
1201
 
1202
    class AmazonOrderTrackingDetails extends AsyncTask<List<NameValuePair>, Integer, JSONObject> {
1203
        private StringBuilder sb;
1204
 
1205
        private HttpResponse req;
1206
        private InputStream is;
1207
 
1208
        @Override
1209
        protected void onPreExecute() {
1210
            super.onPreExecute();
1211
            Log.e("Pre execute", "AmazonOrderTrackingDetails");
1212
        }
1213
 
1214
        @Override
1215
        protected JSONObject doInBackground(List<NameValuePair>... arg0) {
1216
            Log.e("Pre execute", "AmazonOrderTrackingDetails");
1217
            try {
1218
                HttpClient httpclient = new DefaultHttpClient();
1219
                HttpPost httppost = new HttpPost(apiData.getString("orderpagehtml.push.api",null));
1220
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
1221
                httppost.setEntity(new UrlEncodedFormEntity(arg0[0]));
1222
                HttpResponse response = httpclient.execute(httppost);
1223
                HttpEntity entity = response.getEntity();
1224
                int status = response.getStatusLine().getStatusCode();
1225
 
1226
                if(status == 200){
1227
                } else {
1228
                }
1229
                JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));
1230
                return jObjGmail;
1231
 
1232
            } catch (Exception e) {
1233
                return null;
1234
            }
1235
        }
1236
 
1237
        @Override
1238
        protected void onPostExecute(JSONObject result) {
1239
            super.onPostExecute(result);
1240
        }
1241
    }
1242
 
1243
    class pushQueuedData extends AsyncTask<List<NameValuePair>, Integer, String> {
1244
        private StringBuilder sb;
1245
 
1246
        private HttpResponse req;
1247
        private InputStream is;
1248
 
1249
        @Override
1250
        protected void onPreExecute() {
1251
            super.onPreExecute();
1252
        }
1253
 
1254
        @Override
1255
        protected String doInBackground(List<NameValuePair>... pushOrder) {
1256
 
1257
            try {
1258
                HttpClient httpclient = new DefaultHttpClient();
1259
 
1260
                String fetchUrl = apiData.getString("amazon.order.tracking.post.url",null)+"?user_id="+ userData.getString("id","")+"&store_id=" + apiData.getString("store.code.amazon","1");
1261
                HttpPost httppost = new HttpPost(fetchUrl);
1262
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
1263
                httppost.setEntity(new UrlEncodedFormEntity(pushOrder[0]));
1264
                HttpResponse response = httpclient.execute(httppost);
1265
                HttpEntity entity = response.getEntity();
1266
                return "success";
1267
 
1268
            } catch (Exception e) {
1269
                return null;
1270
            }
1271
 
1272
        }
1273
 
1274
        @Override
1275
        protected void onPostExecute(String result) {
1276
            super.onPostExecute(result);
1277
            try {
1278
                addOrderHistoryCancelled(str.get(1));
1279
            }catch (Exception e){
1280
                e.printStackTrace();
1281
            }
1282
        }
1283
    }
1284
 
1285
    class pushCancelledQueuedData extends AsyncTask<List<NameValuePair>, Integer, String> {
1286
        private StringBuilder sb;
1287
 
1288
        private HttpResponse req;
1289
        private InputStream is;
1290
 
1291
        @Override
1292
        protected void onPreExecute() {
1293
            super.onPreExecute();
1294
        }
1295
 
1296
        @Override
1297
        protected String doInBackground(List<NameValuePair>... pushOrder) {
1298
 
1299
            try {
1300
                HttpClient httpclient = new DefaultHttpClient();
1301
 
1302
                String fetchUrl = apiData.getString("amazon.order.tracking.post.url",null)+"?user_id="+ userData.getString("id","")+"&store_id=" + apiData.getString("store.code.amazon","1");
1303
                HttpPost httppost = new HttpPost(fetchUrl);
1304
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
1305
                httppost.setEntity(new UrlEncodedFormEntity(pushOrder[0]));
1306
                HttpResponse response = httpclient.execute(httppost);
1307
                HttpEntity entity = response.getEntity();
1308
 
1309
            return "success";
1310
            } catch (Exception e) {
1311
                return "failure";
1312
            }
1313
 
1314
        }
1315
 
1316
        @Override
1317
        protected void onPostExecute(String result) {
1318
            super.onPostExecute(result);
1319
            try {
1320
                addOrderHistoryCancelled(str.get(++sizeList));
1321
            }catch(Exception e){
1322
                e.printStackTrace();
1323
            }
1324
            FLAG=false;
1325
        }
1326
    }
1327
 
1328
    int sizeList;
1329
    class FetchOrderURLS extends AsyncTask<String, Integer, JSONObject> {
1330
 
1331
        @Override
1332
        protected void onPreExecute() {
1333
            super.onPreExecute();
1334
        }
1335
 
1336
        @Override
1337
        protected JSONObject doInBackground(String... arg0) {
1338
            HttpClient httpclient = new DefaultHttpClient();
1339
            try {
1340
                String fetchUrl = apiData.getString("amazon.order.tracking.get.url",null)+"?user_id="+ userData.getString("id","")+"&store_id=" + apiData.getString("store.code.amazon","1");
1341
                HttpGet httppost = new HttpGet(fetchUrl);
1342
 
1343
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
1344
                HttpResponse response = httpclient.execute(httppost);
1345
                HttpEntity entity = response.getEntity();
1346
                int status = response.getStatusLine().getStatusCode();
1347
                if(status == 200){
1348
                } else {
1349
                }
1350
 
1351
                JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));
1352
                return jObjGmail;
1353
 
1354
            } catch (ClientProtocolException e) {
1355
                return null;
1356
            } catch (IOException e) {
1357
                return null;
1358
            }catch (Exception e){
1359
                return null;
1360
            }
1361
        }
1362
 
1363
        @Override
1364
        protected void onPostExecute(JSONObject result) {
1365
            super.onPostExecute(result);
1366
            try {
1367
                if(result==null){
1368
 
1369
                }else{
1370
                    JSONArray js = result.getJSONArray("result");
1371
                    str = new ArrayList<>();
1372
                    for (int i = 0; i < js.length(); i++) {
1373
                        String s = js.getString(i);
1374
                        str.add(s);
1375
                    }
1376
                    sizeList=1;//for getting the url and fetching raw html.
1377
                    j=1;//for url to be incremented that needs to be sent to server.
1378
                    addOrderHistory(str.get(0));
1379
                }
1380
            }catch (Exception e){
1381
            }
1382
        }
1383
    }
1384
    int count=0;
1385
    List<String> str;
1386
    public void addOrderHistory(String s){
1387
        AmazonOrderHistoryDetails amazonOrderClient = new AmazonOrderHistoryDetails();
1388
        amazonOrderHistoryWebView.loadUrl(s);
1389
        amazonOrderHistoryWebView.setWebViewClient(amazonOrderClient);
1390
    }
1391
    public void addOrderHistoryCancelled(String s){
1392
        AmazonOrderCancelledDetails amazonOrderClient1 = new AmazonOrderCancelledDetails();
1393
        amazonOrderHistoryCancelledWebView.loadUrl(s);
1394
        amazonOrderHistoryCancelledWebView.setWebViewClient(amazonOrderClient1);
1395
    }
1396
 
1397
    public void addAllHistory(List<String> listOfUrls){
1398
        for(String s : listOfUrls) {
1399
 
1400
            AmazonAllOrderHistory amazonOrderClient = new AmazonAllOrderHistory();
1401
            amazonAllUrlsWebView.loadUrl(s);
1402
            amazonAllUrlsWebView.setWebViewClient(amazonOrderClient);
1403
        }
1404
    }
1405
 
1406
    class AmazonAllOrderHistory extends WebViewClient {
1407
 
1408
        @Override
1409
        public void onReceivedHttpAuthRequest(WebView view,
1410
                                              HttpAuthHandler handler, String host, String realm) {
1411
 
1412
            handler.proceed("dtr", "dtr18Feb2015");
1413
 
1414
        }
1415
 
1416
        @Override
1417
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
1418
            super.onPageStarted(view, url, favicon);
1419
        }
1420
 
1421
        @Override
1422
        public void onPageFinished(WebView view, String url) {
1423
            super.onPageFinished(view, url);
1424
            if(url.contains("signin")){
1425
            }
1426
            else {
1427
                view.loadUrl("javascript:window.HTMLOUT.amazonOrderUrls('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
1428
            }
1429
        }
1430
    }
1431
 
1432
    class AmazonOrderHistoryDetails extends WebViewClient {
1433
 
1434
        @Override
1435
        public void onReceivedHttpAuthRequest(WebView view,
1436
                                              HttpAuthHandler handler, String host, String realm) {
1437
 
1438
            handler.proceed("dtr", "dtr18Feb2015");
1439
 
1440
        }
1441
 
1442
        @Override
1443
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
1444
            super.onPageStarted(view, url, favicon);
1445
        }
1446
 
1447
        @Override
1448
        public void onPageFinished(WebView view, String url) {
1449
            super.onPageFinished(view, url);
1450
            if(url.contains("signin")){
1451
                }
1452
            else {
1453
                view.loadUrl("javascript:window.HTMLOUT.orderHistory('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
1454
            }
1455
        }
1456
    }
1457
 
1458
    class AmazonOrderCancelledDetails extends WebViewClient {
1459
 
1460
        @Override
1461
        public void onReceivedHttpAuthRequest(WebView view,
1462
                                              HttpAuthHandler handler, String host, String realm) {
1463
 
1464
            handler.proceed("dtr", "dtr18Feb2015");
1465
 
1466
        }
1467
 
1468
        @Override
1469
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
1470
            super.onPageStarted(view, url, favicon);
1471
        }
1472
 
1473
        @Override
1474
        public void onPageFinished(WebView view, String url) {
1475
            super.onPageFinished(view, url);
1476
            view.loadUrl("javascript:window.HTMLOUT.cancelledHistory('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
1477
        }
1478
    }
1479
 
1480
/*
1481
    Timer timer;
1482
    int i=0;
1483
    public void callAsynchronousTask() {
1484
        TIMER=false;
1485
        timer= new Timer();
1486
        final Handler handler = new Handler();
1487
 
1488
        TimerTask doAsynchronousTask = new TimerTask() {
1489
            @Override
1490
            public void run() {
1491
                handler.post(new Runnable() {
1492
                    public void run() {
1493
                        try {
1494
 
1495
                            Log.e("Url in cancelled order history data","Timer called " + (i++));
1496
                            fetchOrderDetailsTimer();
1497
                            //Toast.makeText(getActivity(),"Timer",Toast.LENGTH_SHORT).show();
1498
                        } catch (Exception e) {
1499
                        }
1500
                    }
1501
                });
1502
            }
1503
        };
1504
        timer.schedule(doAsynchronousTask, 60000, 10800000); //execute in every 10800000 ms (3 hours)
1505
    }
1506
*/
1507
 
1508
 
1509
    public final boolean isInternetOn() {
1510
 
1511
        ConnectivityManager connec =
1512
                (ConnectivityManager)getActivity().getSystemService(getActivity().getBaseContext().CONNECTIVITY_SERVICE);
1513
 
1514
        if ( connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTED ||
1515
                connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTING ||
1516
                connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTING ||
1517
                connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTED ) {
1518
            return true;
1519
 
1520
        } else if (
1521
                connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.DISCONNECTED ||
1522
                        connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.DISCONNECTED  ) {
1523
 
1524
            return false;
1525
        }
1526
        return false;
1527
    }
1528
    class FetchAllOrderURLS extends AsyncTask<String, Integer, JSONObject> {
1529
 
1530
        @Override
1531
        protected void onPreExecute() {
1532
            super.onPreExecute();
1533
            //Log.e("Push Service FetchOrderURLS", "Pre execute FetchOrderURLS");
1534
        }
1535
 
1536
        @Override
1537
        protected JSONObject doInBackground(String... arg0) {
1538
            HttpClient httpclient = new DefaultHttpClient();
1539
            try {
1540
                String fetchUrl = apiData.getString("amazon.order.tracking.get.url",null)+"?user_id="+ userData.getString("id","")+"&store_id=" + apiData.getString("store.code.amazon","1");
1541
                System.out.println("ResponseCode While fetching URL: "+ " is " + fetchUrl);
1542
                HttpGet httppost = new HttpGet(fetchUrl);
1543
 
1544
                httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);
1545
                HttpResponse response = httpclient.execute(httppost);
1546
                HttpEntity entity = response.getEntity();
1547
                int status = response.getStatusLine().getStatusCode();
1548
                if(status == 200){
1549
                    System.out.println("ResponseCode While fetching URL: "+ status + " is ");
1550
                } else {
1551
                    Log.d("ResponseCode",status+"");
1552
                    System.out.println(" NOT Transfered");
1553
                }
1554
 
1555
                JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));
1556
                //System.out.println(jObjGmail.toString());
1557
                return jObjGmail;
1558
 
1559
            } catch (ClientProtocolException e) {
1560
                Log.e("data FetchOrderURLS ","data FetchOrderURLS " + e.getMessage());
1561
                return null;
1562
            } catch (IOException e) {
1563
                Log.e("data FetchOrderURLS ","data FetchOrderURLS " + e.getMessage());
1564
                return null;
1565
            }catch (Exception e){
1566
                Log.e("data FetchOrderURLS ","data FetchOrderURLS " + e.getMessage());
1567
                return null;
1568
            }
1569
        }
1570
 
1571
        @Override
1572
        protected void onPostExecute(JSONObject result) {
1573
            super.onPostExecute(result);
1574
            try {
1575
                if(result==null){
1576
 
1577
                }else{
1578
                    JSONArray js = result.getJSONArray("result");
1579
                    str = new ArrayList<>();
1580
                    for (int i = 0; i < js.length(); i++) {
1581
                        String s = js.getString(i);
1582
                        str.add(s);
1583
                        addAllHistory(str);
1584
                    }
1585
                }
1586
                System.out.println(str);
1587
            }catch (Exception e){
1588
            }
1589
            Log.e("data","data FetchOrderURLS " + result);
1590
       }
1591
    }
1592
 
14991 manas 1593
    /*public void clearCookies(String domain) {
14792 manas 1594
        DefaultHttpClient httpClient=new DefaultHttpClient();
1595
        Cookie cookie = null;
1596
 
1597
        List<Cookie> cookies1 = httpClient.getCookieStore().getCookies();
1598
        for (int i = 0; i < cookies1.size(); i++) {
1599
            cookie = cookies1.get(i);
1600
        }
1601
        Cookie sessionCookie = cookie;
1602
        CookieSyncManager.createInstance(getActivity());
1603
        CookieManager cookieManager1 = CookieManager.getInstance();
1604
        Log.d("Cookie ","Session Cookie " + sessionCookie);
1605
        if (sessionCookie != null) {
14991 manas 1606
 
14792 manas 1607
            String cookieString = sessionCookie.getName() + "=" + sessionCookie.getValue() + "; domain=" + sessionCookie.getDomain();
1608
            Log.d("Cookie ","Session Cookie " + cookieString);
1609
            cookieManager1.setCookie(domain, cookieString);
1610
            CookieSyncManager.getInstance().sync();
1611
        }
14991 manas 1612
    }*/
14792 manas 1613
 
14991 manas 1614
/*    public List<Cookie> parseCookieString(String cookies) {
14792 manas 1615
        List<Cookie> cookieList = new ArrayList<Cookie>();
1616
        Pattern cookiePattern = Pattern.compile("([^=]+)=([^\\;]*);?\\s?");
1617
        Matcher matcher = cookiePattern.matcher(cookies);
1618
        while (matcher.find()) {
1619
            int groupCount = matcher.groupCount();
1620
            System.out.println("matched: " + matcher.group(0));
1621
            for (int groupIndex = 0; groupIndex <= groupCount; ++groupIndex) {
1622
                System.out.println("group[" + groupIndex + "]=" + matcher.group(groupIndex));
1623
            }
1624
            String cookieKey = matcher.group(1);
1625
            String cookieValue = matcher.group(2);
1626
            Log.d("Key","Cookie Key"+cookieKey);
1627
            Log.d("Value","Cookie value"+cookieValue);
1628
            android.webkit.CookieManager.getInstance().setCookie("m.saholic.com", cookieKey+"=");
1629
            Cookie cookie = new BasicClientCookie(cookieKey, cookieValue);
1630
            cookieList.add(cookie);
1631
        }
1632
        return cookieList;
14991 manas 1633
    }*/
1634
/*
14792 manas 1635
    public List<Cookie> parseCookieString(String cookies,String domain) {
1636
        List<Cookie> cookieList = new ArrayList<Cookie>();
1637
        Pattern cookiePattern = Pattern.compile("([^=]+)=([^\\;]*);?\\s?");
1638
        Matcher matcher = cookiePattern.matcher(cookies);
1639
        while (matcher.find()) {
1640
            int groupCount = matcher.groupCount();
1641
            System.out.println("matched: " + matcher.group(0));
1642
            for (int groupIndex = 0; groupIndex <= groupCount; ++groupIndex) {
1643
                System.out.println("group[" + groupIndex + "]=" + matcher.group(groupIndex));
1644
            }
1645
            String cookieKey = matcher.group(1);
1646
            String cookieValue = matcher.group(2);
1647
            Log.d("Key","Cookie Key"+cookieKey);
1648
            Log.d("Value","Cookie value"+cookieValue);
1649
            android.webkit.CookieManager.getInstance().setCookie(domain, cookieKey+"=");
1650
            Cookie cookie = new BasicClientCookie(cookieKey, cookieValue);
1651
            cookieList.add(cookie);
1652
        }
1653
        return cookieList;
1654
    }
14991 manas 1655
*/
1656
 
1657
    class checkGateWayProblem extends AsyncTask<String, Integer, String> {
1658
 
1659
        // JSONObject jobj1;
1660
 
1661
        @Override
1662
        protected void onPreExecute() {
1663
            super.onPreExecute();
1664
        }
1665
 
1666
        @Override
1667
        protected String doInBackground(String... arg0) {
1668
            HttpClient httpclient = new DefaultHttpClient();
1669
            try {
1670
                //jobj1 = new JSONObject();
1671
                HttpPost httppost = new HttpPost(arg0[0]);
1672
                final String basicAuth = "Basic " + Base64.encodeToString("dtr:dtr18Feb2015".getBytes(), Base64.NO_WRAP);
1673
                httppost.setHeader("Authorization", basicAuth);
1674
                HttpResponse response = httpclient.execute(httppost);
1675
                int status = response.getStatusLine().getStatusCode();
1676
 
1677
                jsArraySaholic = new JSONArray();
1678
                jSaholic.put("url", arg0[0]);
1679
 
1680
                jSaholic.put("time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
1681
                jSaholic.put("httpstatus", status);
1682
                jSaholic.put("cookies", CookieManager.getInstance().getCookie(arg0[0]));
1683
                jsArraySaholic.put(jSaholic);
1684
                obj.put("pushdata", jsArraySaholic);
1685
                Log.d("status " ,"Status in checkGatewayProbelm " + status);
1686
                if(status == 200){
1687
                    return "success";
1688
                } else {
1689
                    return "failure";
1690
                }
1691
 
1692
            } catch (ClientProtocolException e) {
1693
                return "failure";
1694
            } catch (IOException e) {
1695
                return "failure";
1696
            }catch (JSONException e){
1697
                return "failure";
1698
            }
1699
        }
1700
 
1701
        @Override
1702
        protected void onPostExecute(String result) {
1703
            super.onPostExecute(result);
1704
            new pushData1().execute(obj);
1705
        }
1706
    }
1707
    class pushData1 extends AsyncTask<JSONObject, Integer, String> {
1708
 
1709
        @Override
1710
        protected void onPreExecute() {
1711
            super.onPreExecute();
1712
        }
1713
 
1714
        @Override
1715
        protected String doInBackground(JSONObject... arg0) {
1716
            HttpClient httpclient = new DefaultHttpClient();
1717
            try {
1718
                ArrayList<NameValuePair> nameValuePairs = new ArrayList<>();
1719
                nameValuePairs.add(new BasicNameValuePair("pushdata",arg0[0].toString()));
1720
                HttpPost httppost = new HttpPost(apiData.getString("url.push.api",null));
1721
                final String basicAuth = "Basic " + Base64.encodeToString("dtr:dtr18Feb2015".getBytes(), Base64.NO_WRAP);
1722
                httppost.setHeader("Authorization", basicAuth);
1723
 
1724
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
1725
                System.out.println("JSON object in push Data 1 " + arg0[0].toString());
1726
                StringEntity se = new StringEntity(arg0[0].toString());
1727
                HttpResponse response = httpclient.execute(httppost);
1728
                int status = response.getStatusLine().getStatusCode();
1729
 
1730
                if(status == 200){
1731
                    return "success";
1732
                } else {
1733
                    return "failure";
1734
                }
1735
 
1736
            } catch (ClientProtocolException e) {
1737
                return "failure";
1738
            } catch (IOException e) {
1739
                return "failure";
1740
            }
1741
        }
1742
 
1743
        @Override
1744
        protected void onPostExecute(String result) {
1745
            super.onPostExecute(result);
1746
        }
1747
    }
1748
 
1749
 /*   @Override
1750
    public void onDestroy() {
1751
        Log.d("Deals Home on Destroy","Deals Home");
1752
        super.onDestroy();
1753
    }
1754
 
1755
    @Override
1756
    public void onDetach() {
1757
        Log.d("Deals Home on Detach","Deals Home");
1758
        super.onDetach();
1759
    }
1760
*/
14792 manas 1761
}
1762
 
1763
 
1764
//https://www.amazon.in/ap/forgotpassword?suppressSignInRadioButtons=0&openid.pape.max_auth_age=0&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&prevRID=1JZA0HFF0Z954AGQ0HX2&pageId=anywhere_in&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&siteState=IMBMsgs.&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&openid.assoc_handle=anywhere_in&showRmrMe=1&openid.return_to=https%3A%2F%2Fwww.amazon.in%2Fgp%2Fcheckoutportal%2Fenter-checkout.html%3Fie%3DUTF8%26asin%3DB00GX9XFRM%26buyNow%3D1%26cartCustomerID%3DA36HI1A7IGU0T1%26fromSignIn%3D1%26offeringID%3DJh6%25252F3Ub%25252BpthAXjVfYxwB75kQiqEGByG9y2mMF1g%25252BhlBjgWsDLnX4sroH6dhJsVS9lMBaR%25252FW2m%25252FhYIqNkUAKNs97nPaxfPIbRsqftx5EseYCQWzJ45%25252F%25252BU3bW8p6PLoKGRkCg7s50jNROGKZHzSy3aBXT5iLQ1ALRG%26registryID%3D%26registryItemID%3D%26sessionID%3D276-7977280-3606555
1765
 
1766
//https://www.amazon.in/ap/register?suppressSignInRadioButtons=0&openid.pape.max_auth_age=0&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&prevRID=1JZA0HFF0Z954AGQ0HX2&pageId=anywhere_in&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&siteState=IMBMsgs.&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&openid.assoc_handle=anywhere_in&showRmrMe=1&openid.return_to=https%3A%2F%2Fwww.amazon.in%2Fgp%2Fcheckoutportal%2Fenter-checkout.html%3Fie%3DUTF8%26asin%3DB00GX9XFRM%26buyNow%3D1%26cartCustomerID%3DA36HI1A7IGU0T1%26fromSignIn%3D1%26offeringID%3DJh6%25252F3Ub%25252BpthAXjVfYxwB75kQiqEGByG9y2mMF1g%25252BhlBjgWsDLnX4sroH6dhJsVS9lMBaR%25252FW2m%25252FhYIqNkUAKNs97nPaxfPIbRsqftx5EseYCQWzJ45%25252F%25252BU3bW8p6PLoKGRkCg7s50jNROGKZHzSy3aBXT5iLQ1ALRG%26registryID%3D%26registryItemID%3D%26sessionID%3D276-7977280-3606555