Advertisement
Guest User

Feedback Form

a guest
Feb 9th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.34 KB | None | 0 0
  1. package example.hadi.main;
  2.  
  3. import android.app.Activity;
  4. import android.app.ProgressDialog;
  5. import android.content.Context;
  6. import android.content.Intent;
  7. import android.content.SharedPreferences;
  8. import android.database.Cursor;
  9. import android.os.AsyncTask;
  10. import android.os.Bundle;
  11. import android.os.Handler;
  12. import android.support.v4.app.Fragment;
  13. import android.support.v4.app.FragmentActivity;
  14. import android.util.Log;
  15. import android.view.LayoutInflater;
  16. import android.view.MenuItem;
  17. import android.view.View;
  18. import android.view.ViewGroup;
  19. import android.widget.AdapterView;
  20. import android.widget.Button;
  21. import android.widget.EditText;
  22. import android.widget.ImageButton;
  23. import android.widget.ProgressBar;
  24. import android.widget.TextView;
  25. import android.widget.Toast;
  26.  
  27.  
  28. import org.json.JSONException;
  29. import org.json.JSONObject;
  30.  
  31. import java.io.IOException;
  32.  
  33. import example.hadi.R;
  34. import example.hadi.adapter.ListAdapterPickup;
  35. import example.hadi.utils.Config;
  36. import example.hadi.utils.ConnectionManager;
  37. import example.hadi.utils.DBHelper;
  38. import example.hadi.utils.MainActivityFeedb;
  39.  
  40. /**
  41. * Created by adminhadi on 2/9/16.
  42. */
  43. public class FeedbackActivity extends Fragment {
  44. private Button _send;
  45. // private EditText _ket, _subject;
  46. TextView _ket, _subject ;
  47. private ImageButton fab;
  48. private ProgressBar progressBarFooter;
  49. private ProgressDialog _progressDialog;
  50. private FeedbackAsync feedbackTask;
  51. private boolean isTaskRunning = false;
  52. private Context _context;
  53. private static final String TAG_STATUS_CODE = "status_code";
  54. private static final String TAG_MESSAGE = "status";
  55. //dblocal
  56. private Handler mHandler;
  57. int from_Where_I_Am_Coming = 0;
  58. private DBHelper mydb ;
  59. int id_To_Update = 0;
  60.  
  61. @Override
  62. public void onActivityCreated(Bundle savedInstanceState) {
  63. super.onActivityCreated(savedInstanceState);
  64. if (isTaskRunning) {
  65. _progressDialog = ProgressDialog.show(getActivity(),"Loading",getActivity().getResources().getString(R.string.process));
  66. }
  67. }
  68.  
  69. public static Fragment newInstance(Context context) {
  70. FeedbackActivity feedbackActivity = new FeedbackActivity();
  71. return feedbackActivity;
  72. }
  73.  
  74. public View rootView;
  75.  
  76. @Override
  77. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  78. rootView = inflater.inflate(R.layout.activity_feedback, container, false);
  79. _send = (Button) rootView.findViewById(R.id.send);
  80. _subject = (TextView) rootView.findViewById(R.id.feedback_title);
  81. _ket = (TextView) rootView.findViewById(R.id.feedback);
  82. mydb = new DBHelper(FeedbackActivity.super.getActivity());
  83. mHandler = new Handler();
  84. fab = (ImageButton) rootView.findViewById(R.id.fab);
  85. fab.setOnClickListener(fabListener);
  86. _send.setOnClickListener(new View.OnClickListener() {
  87. @Override
  88. public void onClick(View v) {
  89. if(!isTaskRunning) {
  90. if (_ket == null || _ket.length() < 1) {
  91. Toast.makeText(getActivity(), getActivity().getResources().getString(R.string.feedback_no_ket), Toast.LENGTH_SHORT).show();
  92. } else if (_subject == null || _subject.length() < 1) {
  93. Toast.makeText(getActivity(), getActivity().getResources().getString(R.string.feedback_no_subject), Toast.LENGTH_SHORT).show();
  94. } else {
  95. executeAsyntask();
  96. }
  97. }
  98. }
  99. });
  100. return rootView;
  101. }
  102.  
  103. private void executeAsyntask () {
  104. feedbackTask = new FeedbackAsync();
  105. feedbackTask.execute();
  106. }
  107. class FeedbackAsync extends AsyncTask <String, String, String> {
  108.  
  109. int status_code;
  110. String session, title, feedback, gadget, response, contact, url, message;
  111.  
  112. @Override
  113. protected void onPreExecute() {
  114. super.onPreExecute();
  115. if (!isTaskRunning) {
  116. isTaskRunning = true;
  117. _progressDialog = new ProgressDialog(getActivity());
  118. _progressDialog.setMessage(getActivity().getResources().getString(R.string.feedback_send));
  119. _progressDialog.setIndeterminate(false);
  120. _progressDialog.setCancelable(false);
  121. _progressDialog.show();
  122. } else {
  123. feedbackTask.cancel(true);
  124. return;
  125. }
  126. }
  127.  
  128. @Override
  129. protected String doInBackground(String... params) {
  130. SharedPreferences session = getActivity().getSharedPreferences(
  131. Config.KEY_SESSION, Context.MODE_PRIVATE);
  132. this.session = session.getString("s", null);
  133. _context = getActivity();
  134. if (this.session == null || this.session.length() < 1) {
  135. Intent i = new Intent(getActivity(), MainActivity.class);
  136. startActivity(i);
  137. // close this activity
  138. getActivity().finish();
  139. }
  140. title = _subject.getText().toString();
  141. feedback = _ket.getText().toString();
  142. gadget = getActivity().getResources().getString(R.string.feedback_gadget);
  143. contact = "";
  144. try {
  145. url = ConnectionManager.CM_URL_FEEDBACK;
  146. response = ConnectionManager.requestFeedback(url, title, feedback, gadget, this.session,
  147. contact, _context);
  148. if (response != null) {
  149. JSONObject jsonObject = new JSONObject(response.toString());
  150. if (jsonObject != null) {
  151. //Log.d("json!", jsonObject.toString());
  152. status_code = jsonObject.getInt(TAG_STATUS_CODE);
  153. message = jsonObject.getString(TAG_MESSAGE);
  154. }
  155. }
  156. } catch (IOException e) {
  157. e.printStackTrace();
  158. } catch (JSONException e) {
  159. e.printStackTrace();
  160. }
  161. return message;
  162. }
  163. @Override
  164. protected void onPostExecute(String s) {
  165. super.onPostExecute(s);
  166. if (_progressDialog != null && _progressDialog.isShowing()) {
  167. _progressDialog.dismiss();
  168. }
  169. _subject.setText("");
  170. _ket.setText("");
  171. Toast.makeText(getActivity(), s, Toast.LENGTH_SHORT).show();
  172. isTaskRunning = false;
  173. }
  174. }
  175.  
  176. @Override
  177. public void onCreate(Bundle savedInstanceState) {
  178. super.onCreate(savedInstanceState);
  179. setHasOptionsMenu(true);
  180. Bundle extras = getActivity().getIntent().getExtras();
  181. if(extras !=null)
  182. {
  183. int Value = extras.getInt("id");
  184.  
  185. if(Value>0){
  186. //means this is the view part not the add contact part.
  187. Cursor rs = mydb.getData(Value);
  188. id_To_Update = Value;
  189. rs.moveToFirst();
  190. String nam = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_TITLE));
  191. String phon = rs.getString(rs.getColumnIndex(DBHelper.CONTACTS_COLUMN_FEEDBACK));
  192. if (!rs.isClosed())
  193. {
  194. rs.close();
  195. }
  196. Button b = (Button) rootView.findViewById(R.id.send);
  197. b.setVisibility(View.INVISIBLE);
  198.  
  199. _subject.setText((CharSequence) nam);
  200. _subject.setFocusable(false);
  201. _subject.setClickable(false);
  202.  
  203. _ket.setText((CharSequence) phon);
  204. _ket.setFocusable(false);
  205. _ket.setClickable(false);
  206. }
  207. }
  208. }
  209. public void run(View view)
  210. {
  211. Bundle extras = getActivity().getIntent().getExtras();
  212. if(extras !=null)
  213. {
  214. int Value = extras.getInt("id");
  215. if(Value>0){
  216. if(mydb.updateContact(id_To_Update,_subject.getText().toString(), _ket.getText().toString())){
  217. Toast.makeText(getActivity(), "Updated", Toast.LENGTH_SHORT).show();
  218. Intent intent = new Intent(getActivity(),MainActivityFeedb.class);
  219. startActivity(intent);
  220. }
  221. else{
  222. Toast.makeText(getActivity(), "not Updated", Toast.LENGTH_SHORT).show();
  223. }
  224. }
  225. else{
  226. if(mydb.insertContact(_subject.getText().toString(), _ket.getText().toString())){
  227. Toast.makeText(getActivity(), "done", Toast.LENGTH_SHORT).show();
  228. }
  229.  
  230. else{
  231. Toast.makeText(getActivity(), "not done", Toast.LENGTH_SHORT).show();
  232. }
  233. Intent intent = new Intent(getActivity(),MainActivityFeedb.class);
  234. startActivity(intent);
  235. }
  236. }
  237.  
  238. }
  239. private View.OnClickListener fabListener = new View.OnClickListener() {
  240. @Override
  241. public void onClick(View v) {
  242. Intent in = new Intent(getActivity(), MainActivityFeedb.class);
  243. startActivity(in);
  244. }
  245. };
  246.  
  247. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement