Rev 14792 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.saholic.profittill.main;import android.app.Fragment;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.graphics.Bitmap;import android.net.ConnectivityManager;import android.os.AsyncTask;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.webkit.HttpAuthHandler;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.TextView;import com.google.android.gms.analytics.HitBuilders;import com.google.android.gms.analytics.Tracker;import com.saholic.profittill.Constants.ProfitTillConstants;import com.saholic.profittill.R;import com.saholic.profittill.Utils.AnalyticsUtility;import com.saholic.profittill.Volley.Analytics;import com.saholic.profittill.Volley.AnalyticsErrorResponse;import com.saholic.profittill.Volley.AnalyticsJsonResponse;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 AboutUsFragment extends Fragment {WebView aboutUsWebView;SharedPreferences userData;SharedPreferences apiData;SharedPreferences.Editor userDataEditor;SharedPreferences.Editor apiSettingsEditor;TextView howItWorksLink;public AboutUsFragment() {}@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View rootView = inflater.inflate(R.layout.fragment_about_us, container, false);userData = getActivity().getSharedPreferences("User_Data", Context.MODE_PRIVATE);apiData = getActivity().getSharedPreferences("API_Data", Context.MODE_PRIVATE);userDataEditor = userData.edit();apiSettingsEditor = apiData.edit();String url = apiData.getString("aboutus.url",null);String id = userData.getString("id",null);String landingUrl=url + "?user_id=" + id;Tracker t = ((GoogleAnalyticsTracker) getActivity().getApplicationContext()).getTracker(GoogleAnalyticsTracker.TrackerName.APP_TRACKER);t.setScreenName("About us Screen");t.send(new HitBuilders.ScreenViewBuilder().build());if(isInternetOn()) {WebClientClass webViewClient = new WebClientClass();aboutUsWebView = (WebView) rootView.findViewById(R.id.aboutUsWebView);aboutUsWebView.setClickable(true);aboutUsWebView.setFocusableInTouchMode(true);aboutUsWebView.getSettings().setJavaScriptEnabled(true);aboutUsWebView.loadUrl(landingUrl);aboutUsWebView.setWebViewClient(webViewClient);if(!(userData.getString("id", "").isEmpty())) {new Analytics(ProfitTillConstants.ANALYTICS_URL,AnalyticsUtility.getAnalyticsRequest(getActivity(), userData.getString("id", ""), "Screen", "About Us", "About Us Screen"),AnalyticsJsonResponse.getAnalyticsRequestInstance(),AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(getActivity());}}else{SearchFragment nextFrag= new SearchFragment();Bundle args = new Bundle();args.putString("finishingurl", landingUrl);args.putString("fragmentNumber", "16");nextFrag.setArguments(args);getActivity().getFragmentManager().beginTransaction().replace(R.id.frame_container, nextFrag).addToBackStack(null).commit();}return rootView;}@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;}});}@Overridepublic void onViewCreated(View view, Bundle savedInstanceState) {super.onViewCreated(view, savedInstanceState);}JSONObject obj;public class WebClientClass extends WebViewClient {@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);obj = new JSONObject();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 onReceivedHttpAuthRequest(WebView view,HttpAuthHandler handler, String host, String realm) {handler.proceed("dtr", "dtr18Feb2015");}@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);}}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;}}