Rev 14991 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.saholic.profittill.main;import android.app.Activity;import android.app.AlertDialog;import android.app.ProgressDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.content.SharedPreferences;import android.graphics.Bitmap;import android.net.ConnectivityManager;import android.net.Uri;import android.os.AsyncTask;import android.os.Bundle;import android.app.Fragment;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.HttpAuthHandler;import android.webkit.WebView;import android.webkit.WebViewClient;import com.google.android.gms.analytics.GoogleAnalytics;import com.google.android.gms.analytics.HitBuilders;import com.google.android.gms.analytics.Tracker;import com.mixpanel.android.mpmetrics.MixpanelAPI;import com.saholic.profittill.Constants.ProfitTillConstants;import com.saholic.profittill.R;import com.testin.agent.TestinAgent;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.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;public class MyWallet extends Fragment {WebView myWalletWebView;SharedPreferences userData;SharedPreferences apiData;SharedPreferences.Editor userDataEditor;SharedPreferences.Editor apiSettingsEditor;public MyWallet() {}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// Inflate the layout for this fragmentView rootView = inflater.inflate(R.layout.fragment_my_wallet, container, false);TestinAgent.init(getActivity());MixpanelAPI mixpanel = MixpanelAPI.getInstance(getActivity(), ProfitTillConstants.MIX_PANEL_TOKEN);userData = getActivity().getSharedPreferences("User_Data", Context.MODE_PRIVATE);apiData = getActivity().getSharedPreferences("API_Data", Context.MODE_PRIVATE);userDataEditor = userData.edit();apiSettingsEditor = apiData.edit();TestinAgent.setUserInfo(userData.getString("id", ""));String url = apiData.getString("mywallet.url",null);String id = userData.getString("id",null);String landingUrl = url + "?user_id=" + id;JSONObject props = new JSONObject();try {mixpanel.identify(userData.getString("id",null));props.put("Screen", "My Wallet");mixpanel.track("My Wallet", props);} catch (JSONException e) {e.printStackTrace();}if(isInternetOn()) {WebClientClass webViewClient = new WebClientClass();myWalletWebView = (WebView) rootView.findViewById(R.id.myWalletWebView);myWalletWebView.setClickable(true);myWalletWebView.setFocusableInTouchMode(true);myWalletWebView.getSettings().setDomStorageEnabled(true);myWalletWebView.getSettings().setJavaScriptEnabled(true);myWalletWebView.loadUrl(landingUrl);//myWalletWebView.reload();myWalletWebView.setWebViewClient(webViewClient);}else{SearchFragment nextFrag= new SearchFragment();Bundle args = new Bundle();args.putString("finishingurl", landingUrl);args.putString("fragmentNumber", "17");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;public class WebClientClass extends WebViewClient {ProgressDialog pd = null;@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);obj = new JSONObject();/*CookieManager cookieManager = CookieManager.getInstance();String cookiestring = cookieManager.getCookie(url);Log.d("Cookies setting ","Cookies " + cookiestring);*///cookieManager.removeAllCookie();try {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);} catch (JSONException e) {e.printStackTrace();}new pushData().execute();}@Overridepublic void onPageFinished(WebView view, String url) {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.goBack();return true;}else{Intent i = new Intent(getActivity(),MainActivity.class);i.putExtra("displayView","0");startActivity(i);}break;}}return false;}});super.onPageFinished(view, url);}@Overridepublic void onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler, String host, String realm) {handler.proceed("dtr", "dtr18Feb2015");}@Overridepublic void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {super.onReceivedError(view, errorCode, description, failingUrl);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 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_UP && keyCode == KeyEvent.KEYCODE_BACK){Intent i = new Intent(getActivity(), MainActivity.class);i.putExtra("displayView", "0");startActivity(i);return true;}return false;}});}class pushData extends AsyncTask<String, Integer, String> {@Overrideprotected void onPreExecute() {super.onPreExecute();Log.e("Push Service", "Pre execute");}@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));httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);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){System.out.println("ResponseCode of record: "+ status + " is " + status);return "success";} else {Log.d("ResponseCode",status+"");System.out.println(" NOT Transfered");return "failure";}} catch (ClientProtocolException e) {return "failure";} catch (IOException e) {return "failure";}}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);}}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;}}