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