Rev 15356 | Blame | Last modification | View Log | RSS feed
package com.saholic.profittill.main;import android.app.AlertDialog;import android.app.Fragment;import android.app.ProgressDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.content.SharedPreferences;import android.content.pm.PackageManager;import android.graphics.Bitmap;import android.net.ConnectivityManager;import android.net.Uri;import android.os.AsyncTask;import android.os.Build;import android.os.Bundle;import android.os.Handler;import android.util.Base64;import android.util.Log;import android.view.KeyEvent;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.webkit.CookieManager;import android.webkit.CookieSyncManager;import android.webkit.HttpAuthHandler;import android.webkit.JavascriptInterface;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.Toast;import com.facebook.Session;import com.google.android.gms.common.ConnectionResult;import com.google.android.gms.common.api.GoogleApiClient;import com.google.android.gms.plus.Plus;import com.saholic.profittill.Constants.ProfitTillConstants;import com.saholic.profittill.Database.OrderTransactionDetails;import com.saholic.profittill.R;import com.saholic.profittill.Utils.UtilityFunctions;import com.testin.agent.TestinAgent;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import java.io.IOException;import java.io.InputStream;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.LinkedList;import java.util.List;import java.util.StringTokenizer;public class DealsHomeFragment extends Fragment implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {public DealsHomeFragment(){}static boolean FLAG=false,REDIRECT=false,PAGE_LOAD=false;WebView webView;WebView amazonWebView,amazonOrderHistoryWebView,amazonOrderHistoryCancelledWebView;WebView amazonAllUrlsWebView;SharedPreferences userData;SharedPreferences apiData;SharedPreferences flipkartData;SharedPreferences.Editor userDataEditor;SharedPreferences.Editor apiSettingsEditor;SharedPreferences.Editor flipkartDataEditor;OrderTransactionDetails orderDetails;LinkedList<ArrayList<NameValuePair>> orderLinkedList;SharedPreferences amazonData;String affliateUrl;String landingURL;boolean val=false;String redirectUrls;String pageLoad;SharedPreferences.Editor amazonapiSettingsEditor;List<NameValuePair> amazonOrderTrackingData;int pageRedirect=0;int snapdealPageLoad;String packageName=null;final ArrayList<String> redirectUrlsList = new ArrayList<String>();final ArrayList<String> pageLoadList = new ArrayList<String>();String flipkartUrl;View checkBoxView;boolean flipkartFlag;String saholicUrl;JSONObject jSaholic;JSONArray jsArraySaholic;String snapdealJavascriptUrl;String type1;public GoogleApiClient mGoogleApiClient;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View rootView = inflater.inflate(R.layout.fragment_deals_home, container, false);TestinAgent.init(getActivity());amazonData= getActivity().getSharedPreferences("Amazon_Data", Context.MODE_PRIVATE);userData = getActivity().getSharedPreferences("User_Data", Context.MODE_PRIVATE);apiData = getActivity().getSharedPreferences("API_Data", Context.MODE_PRIVATE);flipkartData = getActivity().getSharedPreferences("Flipkart_Data", Context.MODE_PRIVATE);userDataEditor = userData.edit();apiSettingsEditor = apiData.edit();TestinAgent.setUserInfo(userData.getString("id",""));amazonapiSettingsEditor = amazonData.edit();flipkartDataEditor = flipkartData.edit();affliateUrl=getArguments().getString("key");orderDetails = new OrderTransactionDetails(getActivity());if(isInternetOn()) {if(orderDetails.countTotalRecords()>0){sendQueuedResponse();}type1 = userData.getString("type",null);if(type1!=null && type1.equalsIgnoreCase("google")) {mGoogleApiClient = new GoogleApiClient.Builder(getActivity()).addConnectionCallbacks(this).addOnConnectionFailedListener(this).addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN).build();mGoogleApiClient.connect();}redirectUrls=apiData.getString("profitmandi.redirect.urls","");StringTokenizer st = new StringTokenizer(redirectUrls,"|");while(st.hasMoreTokens()){redirectUrlsList.add( st.nextToken());}pageLoad =apiData.getString("profitmandi.pageloads.pattern","");StringTokenizer st1 = new StringTokenizer(pageLoad,"|");while(st1.hasMoreTokens()){pageLoadList.add( st1.nextToken());}//pageLoadList.add("tag");WebClientClass webViewClient = new WebClientClass();webView = (WebView) rootView.findViewById(R.id.webView);webView.setClickable(true);webView.setFocusableInTouchMode(true);webView.getSettings().setDomStorageEnabled(true);webView.getSettings().setJavaScriptEnabled(true);webView.getSettings().setBuiltInZoomControls(true);webView.addJavascriptInterface(new javascriptInterface(getActivity()), "HTMLOUT");webView.getSettings().setSavePassword(true);CookieManager cookieManager = CookieManager.getInstance();cookieManager.setAcceptCookie(true);if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);webView.getSettings().setAllowContentAccess(true);CookieManager cookieManager1 = CookieManager.getInstance();cookieManager1.setAcceptThirdPartyCookies(webView, true);}if(Uri.parse(getArguments().getString("key")).getHost().contains("api.profittill")) {userDataEditor.putString("saholic.data",UtilityFunctions.clearCookiesNew(getArguments().getString("key"),getActivity())).commit();}webView.loadUrl(getArguments().getString("key"));webView.setWebViewClient(webViewClient);}else{SearchFragment nextFrag= new SearchFragment();Bundle args = new Bundle();args.putString("finishingurl", getArguments().getString("key"));args.putString("fragmentNumber", "1");nextFrag.setArguments(args);getActivity().getFragmentManager().beginTransaction().replace(R.id.frame_container, nextFrag).addToBackStack(null).commit();}return rootView;}@Overridepublic void onViewCreated(View view, Bundle savedInstanceState) {super.onViewCreated(view, savedInstanceState);}JSONObject obj;@Overridepublic void onConnected(Bundle bundle) {}@Overridepublic void onConnectionSuspended(int i) {}@Overridepublic void onConnectionFailed(ConnectionResult connectionResult) {}public class WebClientClass extends WebViewClient {ProgressDialog pd = null;ProgressDialog pd1 = null;ProgressDialog pd2 = null;@Overridepublic void onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler, String host, String realm) {handler.proceed("dtr", "dtr18Feb2015");}@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {if(url.contains(apiData.getString("wallet.auth","api.profittill.com/special/native/login"))){//Toast.makeText(getActivity(),apiData.getString("wallet.error", "Error while logging in to the wallet. Please log in again"), Toast.LENGTH_SHORT).show();android.webkit.CookieManager cookieManager = android.webkit.CookieManager.getInstance();android.webkit.CookieSyncManager.createInstance(getActivity());cookieManager.removeAllCookie();AlertDialog alert;AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());builder.setMessage(apiData.getString("wallet.auth.message","You are not authenticated. Please log in again")).setCancelable(false);alert = builder.create();alert.show();try{if (mGoogleApiClient.isConnected()) {Plus.AccountApi.clearDefaultAccount(mGoogleApiClient);mGoogleApiClient.disconnect();mGoogleApiClient.connect();/* userDataEditor.clear().commit();startActivity(new Intent(getActivity(), LoginActivity.class));*/redirectPage(alert);}else if(Session.getActiveSession() != null){Session.getActiveSession().closeAndClearTokenInformation();Session.setActiveSession(null);/*userDataEditor.clear().commit();startActivity(new Intent(getActivity(), LoginActivity.class));*/redirectPage(alert);}else{if(!mGoogleApiClient.isConnected() || Session.getActiveSession()==null){/*userDataEditor.clear().commit();startActivity(new Intent(getActivity(), LoginActivity.class));*/redirectPage(alert);}}}catch (Exception e){redirectPage(alert);/* userDataEditor.clear().commit();startActivity(new Intent(getActivity(), LoginActivity.class));*/}return true;}if(url.contains("com.saholic.profittill")){Intent intent = null;try {intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getActivity().getPackageName()));} catch (android.content.ActivityNotFoundException anfe) {intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + getActivity().getPackageName()));}startActivity(intent);return true;}if(snapdealPageLoad==1){pd2 = new ProgressDialog(getActivity());pd2.setMessage("Wait for a moment and click again.");pd2.setProgress(view.getProgress());pd2.show();return true;}if(url.startsWith("tel")){Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));startActivity(intent);return true;}return false;}@Overridepublic synchronized void onPageStarted(final WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);final CharSequence[] items = {" Don't show me again "};final ArrayList seletedItems=new ArrayList();try {CookieSyncManager.createInstance(getActivity());CookieManager cookieManager = CookieManager.getInstance();cookieManager.setCookie(url, "token=" + userData.getString("token", ""));cookieManager.setCookie(url, "walletAuthentication=true");if(url.contains("dl.flipkart.com/dl/")){flipkartUrl=url;if(flipkartData.getInt("showagainflag",0)<3) {AlertDialog dialog;AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());builder.setMessage(apiData.getString("flipkart.message", "You won't be able to track your orders & earn cashbacks if you purchase using Flipkart App.")).setView(checkBoxView).setCancelable(false).setPositiveButton("Yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {int i = flipkartData.getInt("showagainflag", 0);flipkartDataEditor.putInt("showagainflag", ++i);flipkartDataEditor.commit();Intent flipkartIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(flipkartUrl));startActivity(flipkartIntent);}}).setNegativeButton("No", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int id) {view.loadUrl(apiData.getString("mobile.website.url", "") + "?user_id=" + userData.getString("id", ""));}});dialog = builder.create();dialog.show();}else if(flipkartData.getInt("showagainflag",0)==3){AlertDialog dialog;AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());checkBoxView = View.inflate(getActivity(), R.layout.checkboxlayout, null);CheckBox checkBox = (CheckBox) checkBoxView.findViewById(R.id.checkbox);checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {flipkartFlag = isChecked;}});checkBox.setText("Don't show me again");builder.setMessage(apiData.getString("flipkart.message", "You won't be able to track your orders & earn cashbacks if you purchase using Flipkart App.")).setView(checkBoxView).setCancelable(false).setPositiveButton("Yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {if (flipkartFlag) {int i = flipkartData.getInt("showagainflag", 0);flipkartDataEditor.putInt("showagainflag", ++i);flipkartDataEditor.commit();}Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(flipkartUrl));startActivity(i);}}).setNegativeButton("No", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int id) {view.loadUrl(apiData.getString("mobile.website.url", "") + "?user_id=" + userData.getString("id", ""));}});dialog = builder.create();dialog.show();}else{Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(flipkartUrl));startActivity(i);}view.stopLoading();}else {for (String s : pageLoadList) {if (url.contains(s)) {PAGE_LOAD = true;}}if (PAGE_LOAD) {//clearCookies(url);Log.d("Cookie after calling", "Cookie after calling" + CookieManager.getInstance().getCookie(url));snapdealPageLoad = 1;PAGE_LOAD = false;} else {snapdealPageLoad = 0;for (String s : redirectUrlsList) {if (url.contains(s)) {REDIRECT = true;break;}}if (REDIRECT) {pageRedirect = 2;REDIRECT = false;} else if (pageRedirect == 2 || pageRedirect == 1) {Toast.makeText(getActivity(), "Redirecting to deals...", Toast.LENGTH_SHORT).show();Intent i = new Intent(getActivity(), MainActivity.class);i.putExtra("displayView", "31");i.putExtra("redirectUrl", apiData.getString("redirect.url", "") + "?user_id=" + userData.getString("id", ""));startActivity(i);pageRedirect = 0;} else {landingURL = url;if (url.contains(apiData.getString("mobile.website.url", null)) || url.equalsIgnoreCase("http://api.profittill.com/categorydeals")) {pd = new ProgressDialog(getActivity());pd.setTitle("Please wait");pd.setMessage("Loading..");pd.show();/*parseCookieString(CookieManager.getInstance().getCookie(".saholic.com"),".saholic.com");Log.d("Cookie","Cookie Overloaded");parseCookieString(CookieManager.getInstance().getCookie("m.saholic.com"));*/}getDisplayActionBar(url);if (displayActionBar) {pd1 = new ProgressDialog(getActivity());pd1.setTitle("Please wait");pd1.setMessage("Loading..");pd1.show();}}}if(Uri.parse(url).getHost().contains("saholic") && userData.getString("saholic.data","false").equalsIgnoreCase("true")){}else {obj = new JSONObject();JSONObject j = new JSONObject();JSONArray jsArray = new JSONArray();j.put("url", url);j.put("user_id", userData.getString("id", null));j.put("time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));jsArray.put(j);obj.put("pushdata", jsArray);new pushData().execute();}storeSubTagId(url);}} catch (Exception e) {e.printStackTrace();}// }}@Overridepublic void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {super.onReceivedError(view, errorCode, description, failingUrl);Log.d("ErrorCode " ,"Error Code"+errorCode);Log.d("Errordescription " ,"description"+description);SearchFragment nextFrag= new SearchFragment();Bundle args = new Bundle();args.putString("finishingurl",failingUrl);nextFrag.setArguments(args);getActivity().getFragmentManager().beginTransaction().replace(R.id.frame_container, nextFrag).addToBackStack(null).commit();}@Overridepublic synchronized void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);Log.d("Progress " , "Progress Finish" + view.getProgress());try {if (url.contains(apiData.getString("mobile.website.url", "")) || url.equalsIgnoreCase("http://api.profittill.com/categorydeals")) {pd.dismiss();}if(snapdealPageLoad==1){snapdealPageLoad=0;}if(pd2!=null){pd2.dismiss();}/*if(Uri.parse(url).getHost().contains("snapdeal") && url.contains("supc")){Log.d("In page Finished","In page finished" + snapdealJavascriptUrl);view.loadUrl(snapdealJavascriptUrl);}*/if(Uri.parse(url).getHost().contains("saholic") && userData.getString("saholic.data","false").equalsIgnoreCase("true")){saholicUrl=url;view.loadUrl("javascript:window.HTMLOUT.saholicHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");}if (url.contains(apiData.getString("amazon.tracking.order.url", ""))) {/* StringTokenizer st2 = new StringTokenizer(url, "&");String orderid = null;while (st2.hasMoreTokens()) {String token = st2.nextToken();if (token.contains("oid")) {orderid = token.split("=")[1];}}amazonOrderTrackingData = new ArrayList<>();amazonOrderTrackingData.add(new BasicNameValuePair("id", orderid));amazonOrderTrackingData.add(new BasicNameValuePair("user_id", userData.getString("id", "")));amazonOrderTrackingData.add(new BasicNameValuePair("order_url", url));amazonOrderTrackingData.add(new BasicNameValuePair("store_id", apiData.getString("store.code.amazon", null)));view.loadUrl("javascript:window.HTMLOUT.amazonOrderTrackingHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");*/ fetchOrderDetails();}if (displayActionBar) {if (url.contains("amazon")) {view.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");pd1.dismiss();amazonWebView = new WebView(webView.getContext());amazonWebView.setVisibility(View.GONE);amazonWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");amazonWebView.getSettings().setJavaScriptEnabled(true);} else {view.loadUrl("javascript:window.HTMLOUT.flipkartHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");pd1.dismiss();}}amazonOrderHistoryWebView = new WebView(webView.getContext());amazonOrderHistoryWebView.setVisibility(View.GONE);amazonOrderHistoryWebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36");amazonOrderHistoryWebView.getSettings().setJavaScriptEnabled(true);amazonOrderHistoryWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");amazonOrderHistoryCancelledWebView = new WebView(webView.getContext());amazonOrderHistoryCancelledWebView.setVisibility(View.GONE);amazonOrderHistoryCancelledWebView.getSettings().setJavaScriptEnabled(true);amazonOrderHistoryCancelledWebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36");amazonOrderHistoryCancelledWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");amazonAllUrlsWebView = new WebView(webView.getContext());amazonAllUrlsWebView.setVisibility(View.GONE);amazonAllUrlsWebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36");amazonAllUrlsWebView.getSettings().setJavaScriptEnabled(true);amazonAllUrlsWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");if (url.contains("https://www.amazon.in/ap/signin")) {if (!FLAG) {FLAG = true;}} else if (FLAG) {//Toast.makeText(getActivity(),"True",Toast.LENGTH_SHORT).show();amazonOrderHistoryWebView = new WebView(webView.getContext());amazonOrderHistoryWebView.setVisibility(View.GONE);amazonOrderHistoryWebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36");amazonOrderHistoryWebView.getSettings().setJavaScriptEnabled(true);amazonOrderHistoryWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");amazonOrderHistoryCancelledWebView = new WebView(webView.getContext());amazonOrderHistoryCancelledWebView.setVisibility(View.GONE);amazonOrderHistoryCancelledWebView.getSettings().setJavaScriptEnabled(true);amazonOrderHistoryCancelledWebView.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36");amazonOrderHistoryCancelledWebView.addJavascriptInterface(new amazonInterface(getActivity()), "HTMLOUT");fetchOrderDetails();FLAG = false;}view.setOnKeyListener(new View.OnKeyListener() {@Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) {if (event.getAction() == KeyEvent.ACTION_DOWN) {WebView webView = (WebView) v;switch (keyCode) {case KeyEvent.KEYCODE_BACK:if ((webView.canGoBack() && !webView.getUrl().contains(apiData.getString("mobile.website.url", null))) || pageRedirect==2) {webView.goBack();pageRedirect=0;snapdealPageLoad=0;return true;} 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", ""))) {Intent i = new Intent(getActivity(), MainActivity.class);i.putExtra("displayView", "0");startActivity(i);return true;} else if (webView.getUrl().contains(apiData.getString("mobile.website.url", null))) {new AlertDialog.Builder(getActivity()).setIcon(android.R.drawable.ic_dialog_alert).setTitle("Exit!").setMessage("Are you sure you want to close?").setPositiveButton("Yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Intent startMain = new Intent(Intent.ACTION_MAIN);startMain.addCategory(Intent.CATEGORY_HOME);startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(startMain);}}).setNegativeButton("No", null).show();} else {Intent i = new Intent(getActivity(), MainActivity.class);i.putExtra("displayView", "0");startActivity(i);return true;}break;}}return false;}});}catch (Exception e){e.printStackTrace();TestinAgent.uploadException(getActivity(),"On Page Finished",e);}}}private boolean appInstalledOrNot(String uri) {PackageManager pm = getActivity().getPackageManager();boolean app_installed = false;try {pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);app_installed = true;}catch (PackageManager.NameNotFoundException e) {app_installed = false;}return app_installed ;}@Overridepublic void onResume() {super.onResume();getView().setFocusableInTouchMode(true);getView().requestFocus();getView().setOnKeyListener(new View.OnKeyListener() {@Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) {if (event.getAction() == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_BACK) {try {if (landingURL.contains((apiData.getString("mobile.website.url", "")))) {new AlertDialog.Builder(getActivity()).setIcon(android.R.drawable.ic_dialog_alert).setTitle("Exit!").setMessage("Are you sure you want to close?").setPositiveButton("Yes", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Intent startMain = new Intent(Intent.ACTION_MAIN);startMain.addCategory(Intent.CATEGORY_HOME);startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(startMain);}}).setNegativeButton("No", null).show();return true;} else {if (webView.canGoBack()) {webView.goBack();} else {Intent i = new Intent(getActivity(), MainActivity.class);i.putExtra("displayView", "0");startActivity(i);}return true;}} catch (Exception e) {e.printStackTrace();return false;}}return false;}});}public void fetchOrderDetails(){if(isInternetOn()) {new FetchOrderURLS().execute();}else{/* getActivity().finish();*/}}public void pushDataInAmazon(String orderId){AmazonOrderDetails amazonOrderClient = new AmazonOrderDetails();nameValuePairsRawHtmlAmazon=new ArrayList<NameValuePair>();nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("user_id",userData.getString("id",null)));nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("id",orderId));nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("store_id",apiData.getString("store.code.amazon",null)));nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("order_url",amazonData.getString("amazonurl","")));//nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("sub_tag",userData.getString("subtag",null)));amazonWebView.loadUrl(amazonData.getString("amazonurl",""));amazonWebView.setWebViewClient(amazonOrderClient);}public void storeSubTagId(String url){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))){StringTokenizer st2 = new StringTokenizer(url, "&");while (st2.hasMoreElements()) {String token=st2.nextToken();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)) ){System.out.println("True");String subtagId=userData.getString("subtag","null");if(subtagId==null){userDataEditor.putString("subtag",token.split("=")[1]);userDataEditor.commit();}else{userDataEditor.remove("subtag");userDataEditor.commit();userDataEditor.putString("subtag",token.split("=")[1]);userDataEditor.commit();}}elsecontinue;}}elsereturn;}boolean displayActionBar;public void getDisplayActionBar(String url) throws Exception{String snapdealConfirmation = apiData.getString("snapdeal.order.success.url",null);String flipkartConfirmation = apiData.getString("flipkart.order.success.url",null);String amazonConfirmation = apiData.getString("amazon.order.success.url",null);String amazonThankYouConfirmation = apiData.getString("amazon.order.success.thankyou.url",null);String saholicConfirmation = apiData.getString("saholic.order.success.url",null);if(url.contains(snapdealConfirmation) || url.contains(flipkartConfirmation) || url.contains(amazonConfirmation) || url.contains(amazonThankYouConfirmation) || url.contains(saholicConfirmation)){displayActionBar=true;String storeID = getStoreId(url);if(storeID==null){Log.e("Deals Page Activity", "Null value returned for storeID");}else{nameValuePairsRawHtml=new ArrayList<NameValuePair>();nameValuePairsRawHtml.add(new BasicNameValuePair("user_id",userData.getString("id",null)));nameValuePairsRawHtml.add(new BasicNameValuePair("store_id",storeID));nameValuePairsRawHtml.add(new BasicNameValuePair("order_url",url));nameValuePairsRawHtml.add(new BasicNameValuePair("sub_tag",userData.getString("subtag",null)));}}else{displayActionBar = false;}return;}public String getStoreId(String url){if(url.contains("snapdeal")){pageRedirect=Integer.parseInt(apiData.getString("pageredirect.snapdeal","0"));return apiData.getString("store.code.snapdeal",null);}else if(url.contains("flipkart")){pageRedirect=Integer.parseInt(apiData.getString("pageredirect.flipkart","0"));return apiData.getString("store.code.flipkart",null);}else if(url.contains("amazon")){pageRedirect=Integer.parseInt(apiData.getString("pageredirect.amazon","0"));return apiData.getString("store.code.amazon",null);}else if(url.contains("saholic")){return apiData.getString("store.code.spice",null);}return null;}class pushData extends AsyncTask<String, Integer, String> {@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected String doInBackground(String... arg0) {HttpClient httpclient = new DefaultHttpClient();try {ArrayList<NameValuePair> nameValuePairs = new ArrayList<>();nameValuePairs.add(new BasicNameValuePair("pushdata",obj.toString()));HttpPost httppost = new HttpPost(apiData.getString("url.push.api",null));final String basicAuth = "Basic " + Base64.encodeToString("dtr:dtr18Feb2015".getBytes(), Base64.NO_WRAP);httppost.setHeader("Authorization", basicAuth);httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));System.out.println(obj.toString());StringEntity se = new StringEntity(obj.toString());HttpResponse response = httpclient.execute(httppost);int status = response.getStatusLine().getStatusCode();if(status == 200){return "success";} else {return "failure";}} catch (ClientProtocolException e) {return "failure";} catch (IOException e) {return "failure";}}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);}}ArrayList<NameValuePair> nameValuePairsRawHtml=new ArrayList<NameValuePair>();ArrayList<NameValuePair> nameValuePairsRawHtmlAmazon=new ArrayList<NameValuePair>();class javascriptInterface{Context mContext;/** Instantiate the interface and set the context */public javascriptInterface(Context c){mContext = c;}/** Show a toast from the web page */@JavascriptInterfacepublic void showToast(String toast) {nameValuePairsRawHtml.add(new BasicNameValuePair("rawhtml", UtilityFunctions.compress(toast)));long x = orderDetails.insertOrderDetails(nameValuePairsRawHtml);List<List<NameValuePair>> postDataNameValuePair = new ArrayList<List<NameValuePair>>();postDataNameValuePair=orderDetails.readData1();for(List<NameValuePair> orderDetail : postDataNameValuePair) {orderDetail.add(new BasicNameValuePair("zip","1"));orderDetail.add(new BasicNameValuePair("wifi",UtilityFunctions.checkWifi(getActivity())+""));orderDetail.add(new BasicNameValuePair("imeinumber",UtilityFunctions.getImeiNumber(getActivity())));orderDetail.add(new BasicNameValuePair("appversion",UtilityFunctions.getAppVersion(getActivity())));PushRawHTML pm =new PushRawHTML();pm.execute(orderDetail);}}@JavascriptInterfacepublic void amazonOrderTrackingHTML(String html) {amazonOrderTrackingData.add(new BasicNameValuePair("rawhtml",UtilityFunctions.compress(html)));amazonOrderTrackingData.add(new BasicNameValuePair("zip","1"));amazonOrderTrackingData.add(new BasicNameValuePair("wifi",UtilityFunctions.checkWifi(getActivity())+""));amazonOrderTrackingData.add(new BasicNameValuePair("imeinumber",UtilityFunctions.getImeiNumber(getActivity())));amazonOrderTrackingData.add(new BasicNameValuePair("appversion",UtilityFunctions.getAppVersion(getActivity())));new AmazonOrderTrackingDetails().execute(amazonOrderTrackingData);}@JavascriptInterfacepublic void showHTML(String html) {showToast(html);}@JavascriptInterfacepublic void flipkartHTML(String html) {nameValuePairsRawHtml.add(new BasicNameValuePair("rawhtml",UtilityFunctions.compress(html)));long x = orderDetails.insertOrderDetails(nameValuePairsRawHtml);List<List<NameValuePair>> postDataNameValuePair = new ArrayList<List<NameValuePair>>();postDataNameValuePair=orderDetails.readData1();for(List<NameValuePair> orderDetail : postDataNameValuePair) {orderDetail.add(new BasicNameValuePair("zip","1"));orderDetail.add(new BasicNameValuePair("wifi",UtilityFunctions.checkWifi(getActivity())+""));orderDetail.add(new BasicNameValuePair("imeinumber",UtilityFunctions.getImeiNumber(getActivity())));orderDetail.add(new BasicNameValuePair("appversion",UtilityFunctions.getAppVersion(getActivity())));new loadData().execute(orderDetail);}}@JavascriptInterfacepublic void saholicHTML(String html) {try {obj = new JSONObject();jSaholic = new JSONObject();jSaholic.put("html", UtilityFunctions.compress(html));jSaholic.put("zip", "1");jSaholic.put("user_id", userData.getString("id", null));} catch (Exception e) {}new checkGateWayProblem().execute(saholicUrl);}}class loadData extends AsyncTask<List<NameValuePair>, Integer, JSONObject> {@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected JSONObject doInBackground(List<NameValuePair>... orderDetail) {try {HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost(apiData.getString("orderpagehtml.push.api", null));httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);httppost.setEntity(new UrlEncodedFormEntity(orderDetail[0]));HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();int status = response.getStatusLine().getStatusCode();if(status == 200){NameValuePair y = orderDetail[0].get(2);int z =orderDetails.deleteRecord(y.getName(),new String[]{y.getValue()});} else {Log.d("Status in load Data " ,"Status Load data " + status);}String getJSON = EntityUtils.toString(entity);if(getJSON==null){return null;}else {JSONObject jObjGmail = new JSONObject(getJSON);return jObjGmail;}} catch (Exception e) {return null;}}@Overrideprotected void onPostExecute(JSONObject result) {if(result==null){//Log.d("Error in fetching result ", "Flipkart html ");}else {try {if (result.getString("message").equalsIgnoreCase("PROCESSED"))orderDetails.deleterecords();} catch (Exception e) {}}super.onPostExecute(result);}}class AmazonOrderDetails extends WebViewClient {@Overridepublic void onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler, String host, String realm) {handler.proceed("dtr", "dtr18Feb2015");}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);}@Overridepublic void onPageFinished(WebView view, String url) {/*Toast.makeText(getActivity(), url, Toast.LENGTH_SHORT).show();*/view.loadUrl("javascript:window.HTMLOUT.showHTML('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");super.onPageFinished(view, url);}}class amazonInterface{Context mContext;/** Instantiate the interface and set the context */public amazonInterface(Context c){mContext = c;}/** Show a toast from the web page */@JavascriptInterfacepublic void showToast(String toast) {nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("rawhtml",UtilityFunctions.compress(toast)));nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("zip","1"));nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("wifi",UtilityFunctions.checkWifi(getActivity())+""));nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("imeinumber",UtilityFunctions.getImeiNumber(getActivity())));nameValuePairsRawHtmlAmazon.add(new BasicNameValuePair("appversion",UtilityFunctions.getAppVersion(getActivity())));if(isInternetOn()) {new amazonPushData().execute(nameValuePairsRawHtmlAmazon);}}@JavascriptInterfacepublic void showHTML(String html) {showToast(html);}@JavascriptInterfacepublic void orderHistory(String html) {List<NameValuePair> amazonOrderHistory = new ArrayList<>();amazonOrderHistory.add(new BasicNameValuePair("url",str.get(0)));amazonOrderHistory.add(new BasicNameValuePair("html",UtilityFunctions.compress(html)));amazonOrderHistory.add(new BasicNameValuePair("zip","1"));amazonOrderHistory.add(new BasicNameValuePair("wifi",UtilityFunctions.checkWifi(getActivity())+""));amazonOrderHistory.add(new BasicNameValuePair("imeinumber",UtilityFunctions.getImeiNumber(getActivity())));amazonOrderHistory.add(new BasicNameValuePair("appversion",UtilityFunctions.getAppVersion(getActivity())));if(isInternetOn()) {new pushQueuedData().execute(amazonOrderHistory);}else{}}@JavascriptInterfacepublic void cancelledHistory(String html) {List<NameValuePair> amazonOrderHistory = new ArrayList<>();amazonOrderHistory.add(new BasicNameValuePair("url",str.get(j++)));amazonOrderHistory.add(new BasicNameValuePair("html",UtilityFunctions.compress(html)));amazonOrderHistory.add(new BasicNameValuePair("zip","1"));amazonOrderHistory.add(new BasicNameValuePair("wifi",UtilityFunctions.checkWifi(getActivity())+""));amazonOrderHistory.add(new BasicNameValuePair("imeinumber",UtilityFunctions.getImeiNumber(getActivity())));amazonOrderHistory.add(new BasicNameValuePair("appversion",UtilityFunctions.getAppVersion(getActivity())));if(isInternetOn()) {new pushCancelledQueuedData().execute(amazonOrderHistory);}else{}}@JavascriptInterfacepublic void amazonOrderUrls(String html) {//Log.e("OrderUrls","Order amazonOrderUrls" + html);List<NameValuePair> amazonOrderHistory = new ArrayList<>();amazonOrderHistory.add(new BasicNameValuePair("url",str.get(1)));amazonOrderHistory.add(new BasicNameValuePair("html",UtilityFunctions.compress(html)));amazonOrderHistory.add(new BasicNameValuePair("zip","1"));amazonOrderHistory.add(new BasicNameValuePair("wifi",UtilityFunctions.checkWifi(getActivity())+""));amazonOrderHistory.add(new BasicNameValuePair("imeinumber",UtilityFunctions.getImeiNumber(getActivity())));amazonOrderHistory.add(new BasicNameValuePair("appversion",UtilityFunctions.getAppVersion(getActivity())));if(isInternetOn()) {new pushCancelledQueuedData().execute(amazonOrderHistory);}else{}}}int j;class amazonPushData extends AsyncTask<List<NameValuePair>, Integer, String> {private StringBuilder sb;private HttpResponse req;private InputStream is;@Overrideprotected void onPreExecute() {super.onPreExecute();Log.e("Pre execute", "Pre execute");}@Overrideprotected String doInBackground(List<NameValuePair>... orderDetail) {try {HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost(apiData.getString("orderpagehtml.push.api",null));httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);httppost.setEntity(new UrlEncodedFormEntity(orderDetail[0]));HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();int status = response.getStatusLine().getStatusCode();if(status == 200){System.out.println("ResponseCode of record: "+ status + " is " + status);NameValuePair y = orderDetail[0].get(2);int z =orderDetails.deleteRecord(y.getName(),new String[]{y.getValue()});amazonapiSettingsEditor.remove("amazonurl");amazonapiSettingsEditor.commit();} else {/*Log.d("ResponseCode",status+"");System.out.println(" NOT Transfered");Log.d("ResponseCode",status+"");*/}/* Log.e("pass 1", "Amazon success ");*/} catch (Exception e) {/* Log.e("Fail 1", e.toString());*/}return "success";}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);new FetchOrderURLS().execute();}}/*class PushRawHTML extends AsyncTask<String, Integer, JSONObject> {private StringBuilder sb;private HttpResponse req;private InputStream is;@Overrideprotected void onPreExecute() {super.onPreExecute();Log.e("Pre execute", "Pre execute");}@Overrideprotected JSONObject doInBackground(String... arg0) {try {HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost(apiData.getString("orderpagehtml.push.api",null));nameValuePairsRawHtml.add(new BasicNameValuePair("sub_tag",userData.getString("subtag",null)));httppost.setEntity(new UrlEncodedFormEntity(nameValuePairsRawHtml));HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));System.out.println(jObjGmail.toString());Log.e("pass 1", "connection success ");return jObjGmail;} catch (Exception e) {Log.e("Fail 1", e.toString());Toast.makeText(getActivity(), "Invalid IP Address", Toast.LENGTH_LONG).show();return null;}}@Overrideprotected void onPostExecute(JSONObject result) {try {if (result.getString("success").equalsIgnoreCase("true") && result.getString("message").equalsIgnoreCase("HTML_REQUIRED")) {amazonapiSettingsEditor.putString("amazonurl",result.getString("url"));amazonapiSettingsEditor.commit();pushDataInAmazon();}}catch (Exception e){Log.e("Post Execute", e.toString());}super.onPostExecute(result);}}*/class PushRawHTML extends AsyncTask<List<NameValuePair>, Integer, JSONObject> {@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected JSONObject doInBackground(List<NameValuePair>... orderDetail) {try {HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost(apiData.getString("orderpagehtml.push.api",null));httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);httppost.setEntity(new UrlEncodedFormEntity(orderDetail[0]));HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();int status = response.getStatusLine().getStatusCode();if(status == 200){NameValuePair y = orderDetail[0].get(2);int z =orderDetails.deleteRecord(y.getName(),new String[]{y.getValue()});} else {}JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));return jObjGmail;} catch (Exception e) {return null;}}@Overrideprotected void onPostExecute(JSONObject result) {super.onPostExecute(result);try {if (result.getString("htmlRequired").equalsIgnoreCase("true")) {String orderId = result.getString("orderId");amazonapiSettingsEditor.putString("amazonurl",result.getString("url"));amazonapiSettingsEditor.commit();pushDataInAmazon(orderId);}}catch (Exception e){}}}class AmazonOrderTrackingDetails extends AsyncTask<List<NameValuePair>, Integer, JSONObject> {@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected JSONObject doInBackground(List<NameValuePair>... arg0) {try {HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost(apiData.getString("orderpagehtml.push.api",null));httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);httppost.setEntity(new UrlEncodedFormEntity(arg0[0]));HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();int status = response.getStatusLine().getStatusCode();if(status == 200){} else {}JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));return jObjGmail;} catch (Exception e) {return null;}}@Overrideprotected void onPostExecute(JSONObject result) {super.onPostExecute(result);}}class pushQueuedData extends AsyncTask<List<NameValuePair>, Integer, String> {private StringBuilder sb;private HttpResponse req;private InputStream is;@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected String doInBackground(List<NameValuePair>... pushOrder) {try {HttpClient httpclient = new DefaultHttpClient();String fetchUrl = apiData.getString("amazon.order.tracking.post.url",null)+"?user_id="+ userData.getString("id","")+"&store_id=" + apiData.getString("store.code.amazon","1");HttpPost httppost = new HttpPost(fetchUrl);httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);httppost.setEntity(new UrlEncodedFormEntity(pushOrder[0]));HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();return "success";} catch (Exception e) {return null;}}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);try {addOrderHistoryCancelled(str.get(1));}catch (Exception e){e.printStackTrace();}}}class pushCancelledQueuedData extends AsyncTask<List<NameValuePair>, Integer, String> {private StringBuilder sb;private HttpResponse req;private InputStream is;@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected String doInBackground(List<NameValuePair>... pushOrder) {try {HttpClient httpclient = new DefaultHttpClient();String fetchUrl = apiData.getString("amazon.order.tracking.post.url",null)+"?user_id="+ userData.getString("id","")+"&store_id=" + apiData.getString("store.code.amazon","1");HttpPost httppost = new HttpPost(fetchUrl);httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);httppost.setEntity(new UrlEncodedFormEntity(pushOrder[0]));HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();return "success";} catch (Exception e) {return "failure";}}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);try {addOrderHistoryCancelled(str.get(++sizeList));}catch(Exception e){e.printStackTrace();}FLAG=false;}}int sizeList;class FetchOrderURLS extends AsyncTask<String, Integer, JSONObject> {@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected JSONObject doInBackground(String... arg0) {HttpClient httpclient = new DefaultHttpClient();try {String fetchUrl = apiData.getString("amazon.order.tracking.get.url",null)+"?user_id="+ userData.getString("id","")+"&store_id=" + apiData.getString("store.code.amazon","1");HttpGet httppost = new HttpGet(fetchUrl);httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();int status = response.getStatusLine().getStatusCode();if(status == 200){} else {}JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));return jObjGmail;} catch (ClientProtocolException e) {return null;} catch (IOException e) {return null;}catch (Exception e){return null;}}@Overrideprotected void onPostExecute(JSONObject result) {super.onPostExecute(result);try {if(result==null){}else{JSONArray js = result.getJSONArray("result");str = new ArrayList<>();for (int i = 0; i < js.length(); i++) {String s = js.getString(i);str.add(s);}sizeList=1;//for getting the url and fetching raw html.j=1;//for url to be incremented that needs to be sent to server.addOrderHistory(str.get(0));}}catch (Exception e){}}}int count=0;List<String> str;public void addOrderHistory(String s){AmazonOrderHistoryDetails amazonOrderClient = new AmazonOrderHistoryDetails();amazonOrderHistoryWebView.loadUrl(s);amazonOrderHistoryWebView.setWebViewClient(amazonOrderClient);}public void addOrderHistoryCancelled(String s){AmazonOrderCancelledDetails amazonOrderClient1 = new AmazonOrderCancelledDetails();amazonOrderHistoryCancelledWebView.loadUrl(s);amazonOrderHistoryCancelledWebView.setWebViewClient(amazonOrderClient1);}public void addAllHistory(List<String> listOfUrls){for(String s : listOfUrls) {AmazonAllOrderHistory amazonOrderClient = new AmazonAllOrderHistory();amazonAllUrlsWebView.loadUrl(s);amazonAllUrlsWebView.setWebViewClient(amazonOrderClient);}}class AmazonAllOrderHistory extends WebViewClient {@Overridepublic void onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler, String host, String realm) {handler.proceed("dtr", "dtr18Feb2015");}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);}@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);if(url.contains("signin")){}else {view.loadUrl("javascript:window.HTMLOUT.amazonOrderUrls('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");}}}class AmazonOrderHistoryDetails extends WebViewClient {@Overridepublic void onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler, String host, String realm) {handler.proceed("dtr", "dtr18Feb2015");}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);}@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);if(url.contains("signin")){}else {view.loadUrl("javascript:window.HTMLOUT.orderHistory('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");}}}class AmazonOrderCancelledDetails extends WebViewClient {@Overridepublic void onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler, String host, String realm) {handler.proceed("dtr", "dtr18Feb2015");}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);}@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);view.loadUrl("javascript:window.HTMLOUT.cancelledHistory('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");}}/*Timer timer;int i=0;public void callAsynchronousTask() {TIMER=false;timer= new Timer();final Handler handler = new Handler();TimerTask doAsynchronousTask = new TimerTask() {@Overridepublic void run() {handler.post(new Runnable() {public void run() {try {Log.e("Url in cancelled order history data","Timer called " + (i++));fetchOrderDetailsTimer();//Toast.makeText(getActivity(),"Timer",Toast.LENGTH_SHORT).show();} catch (Exception e) {}}});}};timer.schedule(doAsynchronousTask, 60000, 10800000); //execute in every 10800000 ms (3 hours)}*/public final boolean isInternetOn() {ConnectivityManager connec =(ConnectivityManager)getActivity().getSystemService(getActivity().getBaseContext().CONNECTIVITY_SERVICE);if ( connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTED ||connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.CONNECTING ||connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTING ||connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.CONNECTED ) {return true;} else if (connec.getNetworkInfo(0).getState() == android.net.NetworkInfo.State.DISCONNECTED ||connec.getNetworkInfo(1).getState() == android.net.NetworkInfo.State.DISCONNECTED ) {return false;}return false;}class FetchAllOrderURLS extends AsyncTask<String, Integer, JSONObject> {@Overrideprotected void onPreExecute() {super.onPreExecute();//Log.e("Push Service FetchOrderURLS", "Pre execute FetchOrderURLS");}@Overrideprotected JSONObject doInBackground(String... arg0) {HttpClient httpclient = new DefaultHttpClient();try {String fetchUrl = apiData.getString("amazon.order.tracking.get.url",null)+"?user_id="+ userData.getString("id","")+"&store_id=" + apiData.getString("store.code.amazon","1");System.out.println("ResponseCode While fetching URL: "+ " is " + fetchUrl);HttpGet httppost = new HttpGet(fetchUrl);httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();int status = response.getStatusLine().getStatusCode();if(status == 200){System.out.println("ResponseCode While fetching URL: "+ status + " is ");} else {Log.d("ResponseCode",status+"");System.out.println(" NOT Transfered");}JSONObject jObjGmail = new JSONObject(EntityUtils.toString(entity));//System.out.println(jObjGmail.toString());return jObjGmail;} catch (ClientProtocolException e) {Log.e("data FetchOrderURLS ","data FetchOrderURLS " + e.getMessage());return null;} catch (IOException e) {Log.e("data FetchOrderURLS ","data FetchOrderURLS " + e.getMessage());return null;}catch (Exception e){Log.e("data FetchOrderURLS ","data FetchOrderURLS " + e.getMessage());return null;}}@Overrideprotected void onPostExecute(JSONObject result) {super.onPostExecute(result);try {if(result==null){}else{JSONArray js = result.getJSONArray("result");str = new ArrayList<>();for (int i = 0; i < js.length(); i++) {String s = js.getString(i);str.add(s);addAllHistory(str);}}System.out.println(str);}catch (Exception e){}Log.e("data","data FetchOrderURLS " + result);}}/*public void clearCookies(String domain) {DefaultHttpClient httpClient=new DefaultHttpClient();Cookie cookie = null;List<Cookie> cookies1 = httpClient.getCookieStore().getCookies();for (int i = 0; i < cookies1.size(); i++) {cookie = cookies1.get(i);}Cookie sessionCookie = cookie;CookieSyncManager.createInstance(getActivity());CookieManager cookieManager1 = CookieManager.getInstance();Log.d("Cookie ","Session Cookie " + sessionCookie);if (sessionCookie != null) {String cookieString = sessionCookie.getName() + "=" + sessionCookie.getValue() + "; domain=" + sessionCookie.getDomain();Log.d("Cookie ","Session Cookie " + cookieString);cookieManager1.setCookie(domain, cookieString);CookieSyncManager.getInstance().sync();}}*//* public List<Cookie> parseCookieString(String cookies) {List<Cookie> cookieList = new ArrayList<Cookie>();Pattern cookiePattern = Pattern.compile("([^=]+)=([^\\;]*);?\\s?");Matcher matcher = cookiePattern.matcher(cookies);while (matcher.find()) {int groupCount = matcher.groupCount();System.out.println("matched: " + matcher.group(0));for (int groupIndex = 0; groupIndex <= groupCount; ++groupIndex) {System.out.println("group[" + groupIndex + "]=" + matcher.group(groupIndex));}String cookieKey = matcher.group(1);String cookieValue = matcher.group(2);Log.d("Key","Cookie Key"+cookieKey);Log.d("Value","Cookie value"+cookieValue);android.webkit.CookieManager.getInstance().setCookie("m.saholic.com", cookieKey+"=");Cookie cookie = new BasicClientCookie(cookieKey, cookieValue);cookieList.add(cookie);}return cookieList;}*//*public List<Cookie> parseCookieString(String cookies,String domain) {List<Cookie> cookieList = new ArrayList<Cookie>();Pattern cookiePattern = Pattern.compile("([^=]+)=([^\\;]*);?\\s?");Matcher matcher = cookiePattern.matcher(cookies);while (matcher.find()) {int groupCount = matcher.groupCount();System.out.println("matched: " + matcher.group(0));for (int groupIndex = 0; groupIndex <= groupCount; ++groupIndex) {System.out.println("group[" + groupIndex + "]=" + matcher.group(groupIndex));}String cookieKey = matcher.group(1);String cookieValue = matcher.group(2);Log.d("Key","Cookie Key"+cookieKey);Log.d("Value","Cookie value"+cookieValue);android.webkit.CookieManager.getInstance().setCookie(domain, cookieKey+"=");Cookie cookie = new BasicClientCookie(cookieKey, cookieValue);cookieList.add(cookie);}return cookieList;}*/class checkGateWayProblem extends AsyncTask<String, Integer, String> {// JSONObject jobj1;@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected String doInBackground(String... arg0) {HttpClient httpclient = new DefaultHttpClient();try {//jobj1 = new JSONObject();HttpPost httppost = new HttpPost(arg0[0]);final String basicAuth = "Basic " + Base64.encodeToString("dtr:dtr18Feb2015".getBytes(), Base64.NO_WRAP);httppost.setHeader("Authorization", basicAuth);HttpResponse response = httpclient.execute(httppost);int status = response.getStatusLine().getStatusCode();jsArraySaholic = new JSONArray();jSaholic.put("url", arg0[0]);jSaholic.put("time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));jSaholic.put("httpstatus", status);jSaholic.put("cookies", CookieManager.getInstance().getCookie(arg0[0]));jsArraySaholic.put(jSaholic);obj.put("pushdata", jsArraySaholic);Log.d("status " ,"Status in checkGatewayProbelm " + status);if(status == 200){return "success";} else {return "failure";}} catch (ClientProtocolException e) {return "failure";} catch (IOException e) {return "failure";}catch (JSONException e){return "failure";}}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);new pushData1().execute(obj);}}class pushData1 extends AsyncTask<JSONObject, Integer, String> {@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected String doInBackground(JSONObject... arg0) {HttpClient httpclient = new DefaultHttpClient();try {ArrayList<NameValuePair> nameValuePairs = new ArrayList<>();nameValuePairs.add(new BasicNameValuePair("pushdata",arg0[0].toString()));HttpPost httppost = new HttpPost(apiData.getString("url.push.api",null));final String basicAuth = "Basic " + Base64.encodeToString("dtr:dtr18Feb2015".getBytes(), Base64.NO_WRAP);httppost.setHeader("Authorization", basicAuth);httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));System.out.println("JSON object in push Data 1 " + arg0[0].toString());StringEntity se = new StringEntity(arg0[0].toString());HttpResponse response = httpclient.execute(httppost);int status = response.getStatusLine().getStatusCode();if(status == 200){return "success";} else {return "failure";}} catch (ClientProtocolException e) {return "failure";} catch (IOException e) {return "failure";}}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);}}/* @Overridepublic void onDestroy() {Log.d("Deals Home on Destroy","Deals Home");super.onDestroy();}@Overridepublic void onDetach() {Log.d("Deals Home on Detach","Deals Home");super.onDetach();}*//*class SnapdealSUPCCall extends AsyncTask<String, Integer, String> {@Overrideprotected void onPreExecute() {Log.d("In Supc ","In supc Call");super.onPreExecute();}@Overrideprotected String doInBackground(String... arg0) {HttpClient httpclient = new DefaultHttpClient();try {String url = arg0[0];String supcUrl = apiData.getString("snapdeal.supc","");HttpGet httppost = new HttpGet(supcUrl + Base64.encodeToString(url.getBytes(),Base64.NO_WRAP));httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();int status = response.getStatusLine().getStatusCode();if (status == 200) {System.out.println("ResponseCode While fetching URL: " + status + " is ");} else {Log.d("ResponseCode", status + "");System.out.println(" NOT Transfered");}String jObjGmail = EntityUtils.toString(entity);System.out.println(jObjGmail);return jObjGmail;} catch (ClientProtocolException e) {Log.e("data FetchOrderURLS ", "data FetchOrderURLS " + e.getMessage());return null;} catch (IOException e) {Log.e("data FetchOrderURLS ", "data FetchOrderURLS " + e.getMessage());return null;} catch (Exception e) {Log.e("data FetchOrderURLS ", "data FetchOrderURLS " + e.getMessage());return null;}}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);snapdealJavascriptUrl=result;Log.d("In Supc ","In supc Call post execute " + result);}}*/public void redirectPage(final AlertDialog builder){Handler h =new Handler();h.postDelayed(new Runnable() {@Overridepublic void run() {if(builder!=null){builder.dismiss();}userDataEditor.clear().commit();startActivity(new Intent(getActivity(), LoginActivity.class));}},3000);}public void sendQueuedResponse(){List<List<NameValuePair>> postDataNameValuePair = new ArrayList<List<NameValuePair>>();postDataNameValuePair=orderDetails.readData1();for(List<NameValuePair> orderDetail : postDataNameValuePair) {orderDetail.add(new BasicNameValuePair("zip", "1"));orderDetail.add(new BasicNameValuePair("wifi",UtilityFunctions.checkWifi(getActivity())+""));orderDetail.add(new BasicNameValuePair("imeinumber",UtilityFunctions.getImeiNumber(getActivity())));orderDetail.add(new BasicNameValuePair("appversion",UtilityFunctions.getAppVersion(getActivity())));PushRawHTML pm =new PushRawHTML();pm.execute(orderDetail);}}}//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//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