Rev 16700 | Blame | Compare with Previous | 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.graphics.Paint;import android.net.Uri;import android.os.AsyncTask;import android.os.Bundle;import android.text.Spannable;import android.text.SpannableString;import android.text.TextUtils;import android.text.style.UnderlineSpan;import android.view.KeyEvent;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.Spinner;import android.widget.TextView;import android.widget.Toast;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 com.testin.agent.TestinAgent;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.StringTokenizer;import java.util.regex.Matcher;import java.util.regex.Pattern;public class ContactUsFragment extends Fragment {ArrayList<NameValuePair> contactusNameValuePair;SharedPreferences userData;SharedPreferences apiData;SharedPreferences.Editor userDataEditor;SharedPreferences.Editor apiSettingsEditor;EditText emailId,content;Button submit;TextView contactUsNumber,tapToFAQ;String subject="";EditText otherContent;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View rootView = inflater.inflate(R.layout.fragment_contact_us, container, false);TestinAgent.init(getActivity());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",""));otherContent=(EditText) rootView.findViewById(R.id.otherSubjectContent);emailId =(EditText) rootView.findViewById(R.id.contactUsEmailId);emailId.setText(userData.getString("email","Email"));emailId.setKeyListener(null);final ArrayList<String> issueList = new ArrayList<String>();String issues =apiData.getString("contactus.issues","");StringTokenizer st2 = new StringTokenizer(issues, "|");issueList.add("---Select Issue---");while (st2.hasMoreElements()) {issueList.add(st2.nextToken());}ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),R.layout.spinner_text, issueList);final Spinner spinYear = (Spinner)rootView.findViewById(R.id.contactUsSubject);//adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);//adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);spinYear.setAdapter(adapter);content =(EditText) rootView.findViewById(R.id.contactUsContent);submit = (Button) rootView.findViewById(R.id.contactUsButton);contactUsNumber = (TextView) rootView.findViewById(R.id.contactUsNumber);tapToFAQ = (TextView) rootView.findViewById(R.id.getInTouch);contactUsNumber.setText("Call Us at " +apiData.getString("contactus.number","") + " >");contactUsNumber.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);if(!(userData.getString("id", "").isEmpty())) {new Analytics(ProfitTillConstants.ANALYTICS_URL,AnalyticsUtility.getAnalyticsRequest(getActivity(), userData.getString("id", ""), "Screen", "Contact Us", "Contact Us Screen"),AnalyticsJsonResponse.getAnalyticsRequestInstance(),AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(getActivity());}Spannable spannable=new SpannableString(tapToFAQ.getText().toString());spannable.setSpan(new UnderlineSpan(), 0, tapToFAQ.length(), 0);tapToFAQ.setText(spannable);tapToFAQ.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//getActivity().getSupportActionBar().setCustomView(R.layout.actionbaraboutus);/*AboutUsFragment myProfile = new AboutUsFragment();getActivity().getFragmentManager().beginTransaction().replace(R.id.frame_container, myProfile, "Mike").addToBackStack(null).commit();*/Intent resultIntent = new Intent(getActivity(), MainActivity.class);resultIntent.setAction("11");startActivity(resultIntent);}});spinYear.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view, int position, long id) {subject=spinYear.getSelectedItem().toString();if(position==(issueList.size()-1)){otherContent.setVisibility(View.VISIBLE);}else{otherContent.setVisibility(View.GONE);}}@Overridepublic void onNothingSelected(AdapterView<?> parent) {}});/* contactUsNumber.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {new Analytics(ProfitTillConstants.ANALYTICS_URL,AnalyticsUtility.getAnalyticsRequest(getActivity(), userData.getString("id", ""), "Clicks", "Contact Us", "Call for any query"),AnalyticsJsonResponse.getAnalyticsRequestInstance(),AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(getActivity());Calendar cal = Calendar.getInstance();cal.getTime();SimpleDateFormat sdf = new SimpleDateFormat("HH");int currentHour = Integer.parseInt(sdf.format(cal.getTime()));int timeFrom = Integer.parseInt(apiData.getString("contactus.time.from", "").split(" ")[0]);int timeTo = Integer.parseInt(apiData.getString("contactus.time.to", "").split(" ")[0]);if (currentHour > timeTo || currentHour < timeFrom) {Toast.makeText(getActivity(),"Sorry not the correct time to contact us. Please contact us between "+apiData.getString("contactus.time.from", "") + " to "+ apiData.getString("contactus.time.to", "") ,Toast.LENGTH_SHORT).show();} else {new AlertDialog.Builder(getActivity()).setTitle("Call us").setMessage("Our customer care people are available from " + apiData.getString("contactus.time.from","") + " to " + apiData.getString("contactus.time.to","")).setPositiveButton("Call", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Intent callIntent = new Intent(Intent.ACTION_CALL);callIntent.setData(Uri.parse("tel:0" + apiData.getString("contactus.number", "")));startActivity(callIntent);}}).setNegativeButton("Cancel", null).show();}}});*/submit.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(subject.contains("Other")) {subject = otherContent.getText().toString();}if(TextUtils.isEmpty(emailId.getText().toString())){Toast.makeText(getActivity(),"Please enter a email id.",Toast.LENGTH_SHORT).show();}else if(TextUtils.isEmpty(subject) || subject.contains("Select")){Toast.makeText(getActivity(),"Please enter a subject.",Toast.LENGTH_SHORT).show();}else if(TextUtils.isEmpty(content.getText().toString())){Toast.makeText(getActivity(),"Please enter the message details.",Toast.LENGTH_SHORT).show();}else{Pattern pattern;Matcher matcher;pattern = Pattern.compile(ProfitTillConstants.EMAIL_PATTERN);matcher = pattern.matcher(emailId.getText().toString());if( matcher.matches()){showProgressDialog();new Analytics(ProfitTillConstants.ANALYTICS_URL,AnalyticsUtility.getAnalyticsRequest(getActivity(), userData.getString("id", ""), "Clicks", "Contact Us", "Submit Query"),AnalyticsJsonResponse.getAnalyticsRequestInstance(),AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(getActivity());contactusNameValuePair = new ArrayList<NameValuePair>();contactusNameValuePair.add(new BasicNameValuePair("user_id",userData.getString("id","")));contactusNameValuePair.add(new BasicNameValuePair("email",emailId.getText().toString()));contactusNameValuePair.add(new BasicNameValuePair("subject",subject));contactusNameValuePair.add(new BasicNameValuePair("message",content.getText().toString()));new loadData().execute();}else{Toast.makeText(getActivity(),"Please enter a valid email id",Toast.LENGTH_SHORT).show();}}}});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);}ProgressDialog pDlg;class loadData extends AsyncTask<String, Integer, String> {private StringBuilder sb;private InputStream is;@Overrideprotected void onPreExecute() {super.onPreExecute();}@Overrideprotected String doInBackground(String... arg0) {try {HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost(apiData.getString("feedback.push.api",null));httppost.setHeader("Authorization", ProfitTillConstants.BASIC_AUTH);httppost.setEntity(new UrlEncodedFormEntity(contactusNameValuePair));HttpResponse response = httpclient.execute(httppost);HttpEntity entity = response.getEntity();is = entity.getContent();InputStreamReader ireader = new InputStreamReader(is);BufferedReader bf = new BufferedReader(ireader);sb = new StringBuilder();String line = null;while ((line = bf.readLine()) != null) {sb.append(line);}} catch (Exception e) {}return "success";}@Overrideprotected void onPostExecute(String result) {super.onPostExecute(result);if(pDlg!=null){pDlg.dismiss();}if(!(userData.getString("id", "").isEmpty())) {new Analytics(ProfitTillConstants.ANALYTICS_URL,AnalyticsUtility.getAnalyticsRequest(getActivity(), userData.getString("id", ""), "Click", "Contact Us", "Query Submitted"),AnalyticsJsonResponse.getAnalyticsRequestInstance(),AnalyticsErrorResponse.getAnalyitcsResponseInstance()).anlyticsRequest(getActivity());}Intent i = new Intent(getActivity(),MainActivity.class);i.putExtra("displayView","0");startActivity(i);}}private void showProgressDialog(){pDlg = new ProgressDialog(getActivity());pDlg.setMessage("Submitting your feedback");pDlg.setProgressStyle(ProgressDialog.STYLE_SPINNER);pDlg.setCancelable(false);pDlg.show();}}