Commit 6e48e148d9c78ce46691219abdeb9c2899e075e8

Authored by badetitou
1 parent 835e9886

Consomation handle stop dialog

app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/CreateConsommation.java
... ... @@ -49,7 +49,12 @@ public class CreateConsommation extends DialogFragment {
49 49 .setTitle(R.string.create_consumable)
50 50 .setView(view)
51 51 .setPositiveButton(R.string.valid, null)
52   - .setNegativeButton(R.string.cancel, null)
  52 + .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
  53 + @Override
  54 + public void onClick(DialogInterface dialog, int which) {
  55 + VolleyUtils.getInstance(getContext()).getRequestQueue().cancelAll(CreateConsommation.class);
  56 + }
  57 + })
53 58 .create();
54 59 dialog.setOnShowListener(new DialogInterface.OnShowListener() {
55 60 @Override
... ... @@ -79,7 +84,7 @@ public class CreateConsommation extends DialogFragment {
79 84 mNomInput.setVisibility(View.GONE);
80 85 JSONObject jsonObject = new JSONObject();
81 86 try {
82   - jsonObject.put("nomConsomation", mNomConsomation.getText().toString());
  87 + jsonObject.put("nom", mNomConsomation.getText().toString());
83 88 jsonObject.put("prix", Double.parseDouble(mPrice.getText().toString()));
84 89 } catch (JSONException e) {
85 90 e.printStackTrace();
... ... @@ -98,14 +103,24 @@ public class CreateConsommation extends DialogFragment {
98 103 }
99 104 }
100 105 );
  106 + jsonObjectRequest.setTag(CreateConsommation.class);
101 107 VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest);
102 108 }
103 109 }
104 110 });
105 111 }
106 112 });
  113 + dialog.setCanceledOnTouchOutside(false);
107 114 return dialog;
108 115 }
109 116  
110 117  
  118 + @Override
  119 + public void onStop() {
  120 + VolleyUtils.getInstance(getContext()).getRequestQueue().cancelAll(CreateConsommation.class);
  121 + dismissAllowingStateLoss();
  122 + super.onStop();
  123 + }
  124 +
  125 +
111 126 }
... ...
app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/DeleteConsommation.java
... ... @@ -7,6 +7,7 @@ import android.support.v4.app.DialogFragment;
7 7 import android.support.v7.app.AlertDialog;
8 8 import android.view.LayoutInflater;
9 9 import android.view.View;
  10 +import android.widget.Button;
10 11 import android.widget.ProgressBar;
11 12 import android.widget.TextView;
12 13 import android.widget.Toast;
... ... @@ -58,15 +59,23 @@ public class DeleteConsommation extends DialogFragment {
58 59 final Consommation consommation = (Consommation) getArguments().getSerializable("consommation");
59 60  
60 61  
61   - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
62   - builder
  62 + AlertDialog dialog = new AlertDialog.Builder(getActivity())
63 63 .setTitle(R.string.verif_delete_consomation)
64 64 .setView(view)
65   - .setPositiveButton(R.string.delete, new DialogInterface.OnClickListener() {
  65 + .setPositiveButton(R.string.delete, null)
  66 + .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
  67 + public void onClick(DialogInterface dialog, int id) {
  68 + VolleyUtils.getInstance(getContext()).getRequestQueue().cancelAll(DeleteConsommation.class);
  69 + }
  70 + }).create();
  71 + dialog.setOnShowListener(new DialogInterface.OnShowListener() {
  72 + @Override
  73 + public void onShow(DialogInterface dialog) {
  74 + Button button = ((AlertDialog) dialog).getButton(AlertDialog.BUTTON_POSITIVE);
  75 + button.setOnClickListener(new View.OnClickListener() {
66 76 @Override
67   - public void onClick(DialogInterface dialog, int which) {
  77 + public void onClick(View v) {
68 78 mProgressBar.setVisibility(View.VISIBLE);
69   -
70 79 JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.DELETE, VolleyUtils.baseUri + "/consomation/" + consommation.getIdConsomation(), null, new Response.Listener<JSONObject>() {
71 80 @Override
72 81 public void onResponse(JSONObject response) {
... ... @@ -79,20 +88,24 @@ public class DeleteConsommation extends DialogFragment {
79 88 public void onErrorResponse(VolleyError error) {
80 89 mProgressBar.setVisibility(View.GONE);
81 90 Toast.makeText(getContext(), R.string.delete_refused, Toast.LENGTH_LONG).show();
82   - dismiss();
83 91 }
84 92 }
85 93 );
86   -
  94 + jsonObjectRequest.setTag(DeleteConsommation.class);
87 95 VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest);
88 96 }
89   - })
90   - .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
91   - public void onClick(DialogInterface dialog, int id) {
92   -
93   - }
94 97 });
95   - return builder.create();
  98 + }
  99 + });
  100 + dialog.setCanceledOnTouchOutside(false);
  101 + return dialog;
  102 + }
  103 +
  104 + @Override
  105 + public void onStop() {
  106 + VolleyUtils.getInstance(getContext()).getRequestQueue().cancelAll(DeleteConsommation.class);
  107 + dismissAllowingStateLoss();
  108 + super.onStop();
96 109 }
97 110  
98 111  
... ...
app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/FragmentConsommation.java
... ... @@ -105,7 +105,7 @@ public class FragmentConsommation extends FragmentNFC {
105 105 Toast.makeText(getContext(), R.string.payment_consumable_alert_no_selection, Toast.LENGTH_LONG).show();
106 106 }
107 107 else {
108   - paiementConsommation.processNFC();
  108 + paiementConsommation.processNFC(idCardUser);
109 109 }
110 110 }
111 111  
... ...
app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/ModifyConsommation.java
... ... @@ -3,10 +3,12 @@ package net.plil.clubinfo.etunicorn.app.consommation;
3 3 import android.app.Dialog;
4 4 import android.content.DialogInterface;
5 5 import android.os.Bundle;
  6 +import android.support.design.widget.TextInputLayout;
6 7 import android.support.v4.app.DialogFragment;
7 8 import android.support.v7.app.AlertDialog;
8 9 import android.view.LayoutInflater;
9 10 import android.view.View;
  11 +import android.widget.Button;
10 12 import android.widget.EditText;
11 13 import android.widget.ProgressBar;
12 14 import android.widget.Toast;
... ... @@ -30,6 +32,8 @@ public class ModifyConsommation extends DialogFragment {
30 32  
31 33 EditText mNomConsomation;
32 34 EditText mPrice;
  35 + TextInputLayout mPriceInput;
  36 + TextInputLayout mNomInput;
33 37 ProgressBar mProgressBar;
34 38  
35 39 public static ModifyConsommation newInstance(Consommation consommation) {
... ... @@ -47,62 +51,92 @@ public class ModifyConsommation extends DialogFragment {
47 51 @Override
48 52 public Dialog onCreateDialog(Bundle savedInstanceState) {
49 53 // Use the Builder class for convenient dialog construction
50   - LayoutInflater inflater = getActivity().getLayoutInflater();
  54 + final LayoutInflater inflater = getActivity().getLayoutInflater();
51 55 View view = inflater.inflate(R.layout.fragment_modify_consommation, null);
52 56 mNomConsomation = (EditText) view.findViewById(R.id.modify_consommation_name);
53 57 mPrice = (EditText) view.findViewById(R.id.modify_consommation_price);
54 58 mProgressBar = (ProgressBar) view.findViewById(R.id.modify_consommation_progress_bar);
  59 + mNomInput = (TextInputLayout) view.findViewById(R.id.modify_consommation_input_name);
  60 + mPriceInput = (TextInputLayout) view.findViewById(R.id.modify_consommation_input_price);
55 61  
56 62 final Consommation consommation = (Consommation) getArguments().getSerializable("consommation");
57 63  
58 64 mNomConsomation.setText(consommation.getNomConsomation());
59   - mPrice.setText(String.format(Locale.FRANCE,"%.2f", consommation.getPrix()));
  65 + mPrice.setText(String.format(Locale.US,"%.2f", consommation.getPrix()));
60 66  
61   - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
62   - builder
  67 + AlertDialog dialog = new AlertDialog.Builder(getActivity())
63 68 .setTitle(R.string.modify)
64 69 .setView(view)
65   - .setPositiveButton(R.string.modify, new DialogInterface.OnClickListener() {
  70 + .setPositiveButton(R.string.modify, null)
  71 + .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
66 72 public void onClick(DialogInterface dialog, int id) {
  73 + VolleyUtils.getInstance(getContext()).getRequestQueue().cancelAll(ModifyConsommation.class);
  74 + }
  75 + }).create();
  76 + // Create the AlertDialog object and return it
67 77  
68   - mProgressBar.setVisibility(View.VISIBLE);
69   - mPrice.setVisibility(View.GONE);
70   - mNomConsomation.setVisibility(View.GONE);
71   - JSONObject jsonObject = new JSONObject();
72   - try {
73   - jsonObject.put("nomConsomation", mNomConsomation.getText().toString());
74   - jsonObject.put("prix", Double.parseDouble(mPrice.getText().toString()));
75   - } catch (JSONException e){
76   - e.printStackTrace();
  78 + dialog.setOnShowListener(new DialogInterface.OnShowListener() {
  79 + @Override
  80 + public void onShow(DialogInterface dialog) {
  81 + Button button = ((AlertDialog) dialog).getButton(AlertDialog.BUTTON_POSITIVE);
  82 + button.setOnClickListener(new View.OnClickListener() {
  83 + @Override
  84 + public void onClick(View v) {
  85 + boolean inputOk = true;
  86 + if (mPrice.getText().toString().isEmpty()){
  87 + inputOk = false;
  88 + mPriceInput.setError(getString(R.string.error_modify_consommation_input_price));
  89 + } else {
  90 + mPriceInput.setError(null);
77 91 }
78   - JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.PUT, VolleyUtils.baseUri + "/consomation/" + consommation.getIdConsomation() ,jsonObject , new Response.Listener<JSONObject>() {
79   - @Override
80   - public void onResponse(JSONObject response) {
81   - mProgressBar.setVisibility(View.GONE);
82   - Toast.makeText(getContext(), R.string.modify_done, Toast.LENGTH_LONG).show();
83   -
  92 + if (mNomConsomation.getText().toString().isEmpty()){
  93 + inputOk = false;
  94 + mNomInput.setError(getString(R.string.error_modify_consommation_input_nom));
  95 + } else {
  96 + mNomInput.setError(null);
  97 + }
  98 + if (inputOk) {
  99 + mProgressBar.setVisibility(View.VISIBLE);
  100 + mPriceInput.setVisibility(View.GONE);
  101 + mNomInput.setVisibility(View.GONE);
  102 + JSONObject jsonObject = new JSONObject();
  103 + try {
  104 + jsonObject.put("nom", mNomConsomation.getText().toString());
  105 + jsonObject.put("prix", Double.parseDouble(mPrice.getText().toString()));
  106 + } catch (JSONException e) {
  107 + e.printStackTrace();
84 108 }
85   - }, new Response.ErrorListener() {
86   - @Override
87   - public void onErrorResponse(VolleyError error) {
88   - mProgressBar.setVisibility(View.GONE);
89   - Toast.makeText(getContext(), R.string.modify_refused, Toast.LENGTH_LONG).show();
90   -
  109 + JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.PUT, VolleyUtils.baseUri + "/consomation/" + consommation.getIdConsomation(), jsonObject, new Response.Listener<JSONObject>() {
  110 + @Override
  111 + public void onResponse(JSONObject response) {
  112 + mProgressBar.setVisibility(View.GONE);
  113 + Toast.makeText(getContext(), R.string.modify_done, Toast.LENGTH_LONG).show();
  114 + dismiss();
  115 +
  116 + }
  117 + }, new Response.ErrorListener() {
  118 + @Override
  119 + public void onErrorResponse(VolleyError error) {
  120 + mProgressBar.setVisibility(View.GONE);
  121 + Toast.makeText(getContext(), R.string.modify_refused, Toast.LENGTH_LONG).show();
  122 + }
91 123 }
  124 + );
  125 + jsonObjectRequest.setTag(ModifyConsommation.class);
  126 + VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest);
92 127 }
93   - );
94   -
95   - VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest);
96   - }
97   - })
98   - .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
99   - public void onClick(DialogInterface dialog, int id) {
100   - // User cancelled the dialog
101 128 }
102 129 });
103   - // Create the AlertDialog object and return it
104   - return builder.create();
  130 + }});
  131 + dialog.setCanceledOnTouchOutside(false);
  132 + return dialog;
105 133 }
106 134  
  135 + @Override
  136 + public void onStop() {
  137 + VolleyUtils.getInstance(getContext()).getRequestQueue().cancelAll(ModifyConsommation.class);
  138 + dismissAllowingStateLoss();
  139 + super.onStop();
  140 + }
107 141  
108 142 }
... ...
app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/PaiementConsommation.java
... ... @@ -5,6 +5,7 @@ import android.content.DialogInterface;
5 5 import android.os.Bundle;
6 6 import android.support.v4.app.DialogFragment;
7 7 import android.support.v7.app.AlertDialog;
  8 +import android.view.KeyEvent;
8 9 import android.view.LayoutInflater;
9 10 import android.view.View;
10 11 import android.widget.ProgressBar;
... ... @@ -72,9 +73,9 @@ public class PaiementConsommation extends DialogFragment {
72 73 .setView(view)
73 74 .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
74 75 public void onClick(DialogInterface dialog, int id) {
  76 + VolleyUtils.getInstance(getContext()).getRequestQueue().cancelAll(PaiementConsommation.class);
75 77 }
76 78 });
77   - // Create the AlertDialog object and return it
78 79  
79 80 Dialog dialog = builder.create();
80 81 dialog.setCanceledOnTouchOutside(false);
... ... @@ -82,12 +83,12 @@ public class PaiementConsommation extends DialogFragment {
82 83 }
83 84  
84 85  
85   - public void processNFC() {
  86 + public void processNFC(String idCardUser) {
  87 + Toast.makeText(getContext(), "Hello " + idCardUser, Toast.LENGTH_LONG).show();
86 88 mProgressBar.setVisibility(View.VISIBLE);
87 89 JSONObject jsonObject = new JSONObject();
88 90 try {
89   - jsonObject.put("participant", 1);
90   - jsonObject.put("acteur", 2);
  91 + jsonObject.put("participant", idCardUser);
91 92 jsonObject.put("id", consommationId);
92 93 } catch (JSONException e) {
93 94 e.printStackTrace();
... ... @@ -104,7 +105,6 @@ public class PaiementConsommation extends DialogFragment {
104 105 public void onErrorResponse(VolleyError error) {
105 106 mProgressBar.setVisibility(View.GONE);
106 107 Toast.makeText(getContext(), R.string.payment_refused, Toast.LENGTH_LONG).show();
107   - dismiss();
108 108 }
109 109 }
110 110 );
... ... @@ -112,21 +112,12 @@ public class PaiementConsommation extends DialogFragment {
112 112 VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest);
113 113 }
114 114  
115   - @Override
116   - public void onCancel(DialogInterface dialog) {
117   - VolleyUtils.getInstance(getContext()).getRequestQueue().cancelAll(PaiementConsommation.class);
118   - super.onCancel(dialog);
119   - }
120 115  
121 116 @Override
122 117 public void onStop() {
123 118 VolleyUtils.getInstance(getContext()).getRequestQueue().cancelAll(PaiementConsommation.class);
  119 + dismissAllowingStateLoss();
124 120 super.onStop();
125 121 }
126 122  
127   - @Override
128   - public void onPause() {
129   - super.onPause();
130   - dismiss();
131   - }
132 123 }
... ...
app/src/main/res/layout/fragment_modify_consommation.xml
... ... @@ -5,15 +5,27 @@
5 5 tools:context="net.plil.clubinfo.etunicorn.app.consommation.ModifyConsommation"
6 6 android:orientation="vertical">
7 7  
8   - <EditText
  8 + <android.support.design.widget.TextInputLayout
9 9 android:layout_width="match_parent"
10 10 android:layout_height="wrap_content"
11   - android:id="@+id/modify_consommation_name" />
  11 + android:id="@+id/modify_consommation_input_name">
  12 + <android.support.design.widget.TextInputEditText
  13 + android:layout_width="match_parent"
  14 + android:layout_height="wrap_content"
  15 + android:id="@+id/modify_consommation_name"
  16 + android:hint="@string/modify_consomation_hint_name"/>
  17 + </android.support.design.widget.TextInputLayout>
12 18  
13   - <EditText
  19 + <android.support.design.widget.TextInputLayout
14 20 android:layout_width="match_parent"
15 21 android:layout_height="wrap_content"
16   - android:id="@+id/modify_consommation_price"/>
  22 + android:id="@+id/modify_consommation_input_price">
  23 + <android.support.design.widget.TextInputEditText
  24 + android:layout_width="match_parent"
  25 + android:layout_height="wrap_content"
  26 + android:id="@+id/modify_consommation_price"
  27 + android:hint="@string/modify_consomation_hint_price"/>
  28 + </android.support.design.widget.TextInputLayout>
17 29  
18 30 <ProgressBar
19 31 style="?android:attr/progressBarStyle"
... ...
app/src/main/res/values/strings.xml
... ... @@ -44,4 +44,8 @@
44 44 <string name="error_enter_debit">Please enter a value before using your NFC card</string>
45 45 <string name="error_create_consomation_input_price">Enter the price</string>
46 46 <string name="error_create_consomation_input_nom">Enter the name</string>
  47 + <string name="error_modify_consommation_input_price">Enter the new price</string>
  48 + <string name="error_modify_consommation_input_nom">Enter the new name</string>
  49 + <string name="modify_consomation_hint_name">Name</string>
  50 + <string name="modify_consomation_hint_price">Price</string>
47 51 </resources>
... ...