diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..edfca15 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..3b31283 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/CreateEvent.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/CreateEvent.java index 6dacedb..af93ce3 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/CreateEvent.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/CreateEvent.java @@ -4,6 +4,7 @@ import android.app.DatePickerDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.design.widget.TextInputLayout; import android.support.v4.app.DialogFragment; import android.support.v7.app.AlertDialog; @@ -49,14 +50,23 @@ public class CreateEvent extends DialogFragment { TextInputLayout mPriceInput; TextInputLayout mNameInput; - + ProgressBar mProgressBar; private String[] arraySpinnerDate; private ArrayAdapter adapterDate; + DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() { - ProgressBar mProgressBar; - + @Override + public void onDateSet(DatePicker view, int year, int monthOfYear, + int dayOfMonth) { + myCalendar.set(Calendar.YEAR, year); + myCalendar.set(Calendar.MONTH, monthOfYear); + myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); + updateLabel(); + } + }; @Override + @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the Builder class for convenient dialog construction LayoutInflater inflater = getActivity().getLayoutInflater(); @@ -66,7 +76,7 @@ public class CreateEvent extends DialogFragment { mDate = (Spinner) view.findViewById(R.id.create_event_date); mPriceInput = (TextInputLayout) view.findViewById(R.id.create_event_price_input); mNameInput = (TextInputLayout) view.findViewById(R.id.create_event_name_input); - arraySpinnerDate = new String[] { + arraySpinnerDate = new String[]{ getString(R.string.create_event_date_input) }; adapterDate = new ArrayAdapter<>(getActivity(), @@ -87,7 +97,7 @@ public class CreateEvent extends DialogFragment { mDate.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { - if(event.getAction() == MotionEvent.ACTION_UP) { + if (event.getAction() == MotionEvent.ACTION_UP) { new DatePickerDialog(getContext(), date, myCalendar .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH)).show(); @@ -110,7 +120,7 @@ public class CreateEvent extends DialogFragment { } else { mPriceInput.setError(null); } - if (mName.getText().toString().isEmpty()){ + if (mName.getText().toString().isEmpty()) { mNameInput.setError(getString(R.string.error_create_event_input_nom)); testDateInputOk = false; } else { @@ -130,10 +140,10 @@ public class CreateEvent extends DialogFragment { jsonObject.put("nom", mName.getText().toString()); jsonObject.put("prix", Double.parseDouble(mPrice.getText().toString())); jsonObject.put("date", mDate.getAdapter().getItem(0)); - } catch (JSONException e){ + } catch (JSONException e) { e.printStackTrace(); } - JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/evenement" ,jsonObject , new Response.Listener() { + JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/evenement", jsonObject, new Response.Listener() { @Override public void onResponse(JSONObject response) { mProgressBar.setVisibility(View.GONE); @@ -149,13 +159,14 @@ public class CreateEvent extends DialogFragment { Toast.makeText(getContext(), error.getMessage(), Toast.LENGTH_LONG).show(); } } - ){ + ) { @Override public Map getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(CreateEvent.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } @@ -174,18 +185,6 @@ public class CreateEvent extends DialogFragment { super.onStop(); } - DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() { - - @Override - public void onDateSet(DatePicker view, int year, int monthOfYear, - int dayOfMonth) { - myCalendar.set(Calendar.YEAR, year); - myCalendar.set(Calendar.MONTH, monthOfYear); - myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); - updateLabel(); - } - }; - private void updateLabel() { String myFormat = "yyyy-MM-dd"; //In which you need put here SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE); diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/DeleteEvent.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/DeleteEvent.java index 02a67f3..201b897 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/DeleteEvent.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/DeleteEvent.java @@ -3,6 +3,7 @@ package net.plil.clubinfo.etunicorn.app.event; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.v4.app.DialogFragment; import android.support.v7.app.AlertDialog; import android.view.LayoutInflater; @@ -19,7 +20,6 @@ import com.android.volley.toolbox.JsonObjectRequest; import net.plil.clubinfo.etunicorn.R; import net.plil.clubinfo.etunicorn.app.MainActivity; -import net.plil.clubinfo.etunicorn.data.Consommation; import net.plil.clubinfo.etunicorn.data.Event; import net.plil.clubinfo.etunicorn.utils.VolleyUtils; @@ -33,7 +33,8 @@ public class DeleteEvent extends DialogFragment { ProgressBar mProgressBar; - public DeleteEvent(){} + public DeleteEvent() { + } /** * Create a new instance of MyDialogFragment, providing "num" @@ -52,13 +53,16 @@ public class DeleteEvent extends DialogFragment { @Override + @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the Builder class for convenient dialog construction LayoutInflater inflater = getActivity().getLayoutInflater(); View view = inflater.inflate(R.layout.fragment_delete_event, null); mProgressBar = (ProgressBar) view.findViewById(R.id.delete_event_progress_bar); + final Event event = (Event) getArguments().getSerializable("evenement"); + assert event != null; AlertDialog dialog = new AlertDialog.Builder(getActivity()) @@ -94,18 +98,20 @@ public class DeleteEvent extends DialogFragment { Toast.makeText(getContext(), R.string.delete_refused, Toast.LENGTH_LONG).show(); } } - ){ + ) { @Override public Map getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(DeleteEvent.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } }); - }}); + } + }); return dialog; } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/EventFragment.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/EventFragment.java index 8e34078..9dae2e9 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/EventFragment.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/EventFragment.java @@ -54,7 +54,7 @@ public class EventFragment extends Fragment implements NFCSupport { recyclerView.setLayoutManager(new LinearLayoutManager(context)); List events = new ArrayList<>(); - for (int i = 0; i< 150; ++i) { + for (int i = 0; i < 150; ++i) { Event ev = new Event(); ev.setNomEvent("Hello " + i); ev.setPrice(15.52); @@ -96,10 +96,9 @@ public class EventFragment extends Fragment implements NFCSupport { @Override public void processNFC(String idCardUser) { PaiementEvent paiementEvent = (PaiementEvent) getFragmentManager().findFragmentByTag("paiementEvent"); - if (paiementEvent == null){ + if (paiementEvent == null) { Toast.makeText(getContext(), R.string.payment_consumable_alert_no_selection, Toast.LENGTH_LONG).show(); - } - else { + } else { paiementEvent.processNFC(idCardUser); } } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/ModifyEvent.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/ModifyEvent.java index 1b16ef7..ed15a82 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/ModifyEvent.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/ModifyEvent.java @@ -4,6 +4,7 @@ import android.app.DatePickerDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.design.widget.TextInputLayout; import android.support.v4.app.DialogFragment; import android.support.v7.app.AlertDialog; @@ -42,16 +43,25 @@ import java.util.Map; public class ModifyEvent extends DialogFragment { Calendar myCalendar = Calendar.getInstance(); - private String[] arraySpinnerDate; - private ArrayAdapter adapterDate; - EditText mNom; EditText mPrice; Spinner mDate; ProgressBar mProgressBar; - TextInputLayout mNomInput; TextInputLayout mPriceInput; + private String[] arraySpinnerDate; + private ArrayAdapter adapterDate; + DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() { + + @Override + public void onDateSet(DatePicker view, int year, int monthOfYear, + int dayOfMonth) { + myCalendar.set(Calendar.YEAR, year); + myCalendar.set(Calendar.MONTH, monthOfYear); + myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); + updateLabel(); + } + }; public static ModifyEvent newInstance(Event event) { ModifyEvent f = new ModifyEvent(); @@ -64,8 +74,8 @@ public class ModifyEvent extends DialogFragment { return f; } - @Override + @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the Builder class for convenient dialog construction LayoutInflater inflater = getActivity().getLayoutInflater(); @@ -79,10 +89,11 @@ public class ModifyEvent extends DialogFragment { final Event event = (Event) getArguments().getSerializable("event"); + assert event != null; String myFormat = "yyyy-MM-dd"; //In which you need put here SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE); - arraySpinnerDate = new String[] { + arraySpinnerDate = new String[]{ sdf.format(event.getDate().getTime()) }; adapterDate = new ArrayAdapter<>(getActivity(), @@ -90,7 +101,7 @@ public class ModifyEvent extends DialogFragment { mDate.setAdapter(adapterDate); mNom.setText(event.getNomEvent()); - mPrice.setText(String.format(Locale.US, "%.2f", event.getPrice())); + mPrice.setText(String.format(Locale.US, "%.2f", event.getPrice())); AlertDialog dialog = new AlertDialog.Builder(getActivity()) .setTitle(R.string.modify) @@ -105,7 +116,7 @@ public class ModifyEvent extends DialogFragment { mDate.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { - if(event.getAction() == MotionEvent.ACTION_UP) { + if (event.getAction() == MotionEvent.ACTION_UP) { new DatePickerDialog(getContext(), date, myCalendar .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH)).show(); @@ -131,10 +142,10 @@ public class ModifyEvent extends DialogFragment { if (!mPrice.getText().toString().isEmpty()) jsonObject.put("prix", Double.parseDouble(mPrice.getText().toString())); jsonObject.put("date", mDate.getSelectedItem()); - } catch (JSONException e){ + } catch (JSONException e) { e.printStackTrace(); } - JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/evenement/" + event.getIdEvent() ,jsonObject , new Response.Listener() { + JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/evenement/" + event.getIdEvent(), jsonObject, new Response.Listener() { @Override public void onResponse(JSONObject response) { mProgressBar.setVisibility(View.GONE); @@ -153,13 +164,14 @@ public class ModifyEvent extends DialogFragment { } } - ){ + ) { @Override public Map getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(ModifyEvent.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } @@ -177,18 +189,6 @@ public class ModifyEvent extends DialogFragment { super.onStop(); } - DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() { - - @Override - public void onDateSet(DatePicker view, int year, int monthOfYear, - int dayOfMonth) { - myCalendar.set(Calendar.YEAR, year); - myCalendar.set(Calendar.MONTH, monthOfYear); - myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); - updateLabel(); - } - }; - private void updateLabel() { String myFormat = "yyyy-MM-dd"; //In which you need put here SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE); diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/MyEventRecyclerViewAdapter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/MyEventRecyclerViewAdapter.java index c52468c..8542157 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/MyEventRecyclerViewAdapter.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/MyEventRecyclerViewAdapter.java @@ -17,13 +17,13 @@ import java.util.List; import java.util.Locale; -public class MyEventRecyclerViewAdapter extends RecyclerView.Adapter { +class MyEventRecyclerViewAdapter extends RecyclerView.Adapter { private final List mEvents; private final EventFragment.OnListFragmentInteractionListener mListener; private final Context context; - public MyEventRecyclerViewAdapter(List items, EventFragment.OnListFragmentInteractionListener listener, Context context) { + MyEventRecyclerViewAdapter(List items, EventFragment.OnListFragmentInteractionListener listener, Context context) { mEvents = items; mListener = listener; this.context = context; @@ -89,13 +89,13 @@ public class MyEventRecyclerViewAdapter extends RecyclerView.Adapter getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(PaiementEvent.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } - @Override public void onStop() { VolleyUtils.getInstance(getContext()).getRequestQueue().cancelAll(PaiementEvent.class); diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/LoginActivity.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/LoginActivity.java index f453b3e..c633672 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/LoginActivity.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/LoginActivity.java @@ -4,10 +4,9 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.annotation.TargetApi; import android.content.Intent; -import android.support.v7.app.AppCompatActivity; - import android.os.Build; import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; @@ -37,16 +36,6 @@ import org.json.JSONObject; */ public class LoginActivity extends AppCompatActivity { - /** - * Id to identity READ_CONTACTS permission request. - */ - private static final int REQUEST_READ_CONTACTS = 0; - - /** - * Keep track of the login task to ensure we can cancel it if requested. - */ - - // UI references. private EditText mUsernameView; private EditText mPasswordView; private View mProgressView; @@ -146,14 +135,14 @@ public class LoginActivity extends AppCompatActivity { * @param username The username of the person * @param password The password of the person */ - private void tryLogin (String username, String password){ + private void tryLogin(String username, String password) { User user = new User(); user.setPassword(password); user.setLogin(username); JsonObjectRequest jsonObjectRequest = null; try { - jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/login" , new JSONObject(JsonConverter.getConverter().toJson(user)), new Response.Listener() { + jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/login", new JSONObject(JsonConverter.getConverter().toJson(user)), new Response.Listener() { @Override public void onResponse(JSONObject response) { showProgress(false); diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/MainActivity.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/MainActivity.java index a6ed838..ee0092b 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/MainActivity.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/MainActivity.java @@ -2,11 +2,9 @@ package net.plil.clubinfo.etunicorn.app; import android.app.PendingIntent; import android.content.Intent; -import android.net.Uri; import android.nfc.NfcAdapter; import android.nfc.Tag; import android.os.Bundle; -import android.support.design.widget.AppBarLayout; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; @@ -18,12 +16,12 @@ import android.view.Menu; import android.view.MenuItem; import net.plil.clubinfo.etunicorn.R; +import net.plil.clubinfo.etunicorn.app.consommation.FragmentConsommation; +import net.plil.clubinfo.etunicorn.app.consommation.PaiementConsommation; import net.plil.clubinfo.etunicorn.app.credit.Crediter; import net.plil.clubinfo.etunicorn.app.debit.Debiter; import net.plil.clubinfo.etunicorn.app.event.EventFragment; import net.plil.clubinfo.etunicorn.app.event.PaiementEvent; -import net.plil.clubinfo.etunicorn.app.consommation.FragmentConsommation; -import net.plil.clubinfo.etunicorn.app.consommation.PaiementConsommation; import net.plil.clubinfo.etunicorn.app.personne.PersonOverviewFragment; import net.plil.clubinfo.etunicorn.app.personne.PersonneFragment; import net.plil.clubinfo.etunicorn.data.Consommation; @@ -36,9 +34,11 @@ import net.plil.clubinfo.etunicorn.utils.ConvertBytesToString; public class MainActivity extends AppCompatActivity implements FragmentConsommation.OnListFragmentInteractionListener, EventFragment.OnListFragmentInteractionListener, - PersonneFragment.OnListFragmentInteractionListener -{ + PersonneFragment.OnListFragmentInteractionListener { + public static Session session; + NfcAdapter mAdapter; + PendingIntent mPendingIntent; /** * The {@link android.support.v4.view.PagerAdapter} that will provide * fragments for each of the sections. We use a @@ -47,21 +47,11 @@ public class MainActivity extends AppCompatActivity * may be best to switch to a * {@link android.support.v4.app.FragmentStatePagerAdapter}. */ - private SectionsPagerAdapter mSectionsPagerAdapter; - private int nbPages = 0; - /** * The {@link ViewPager} that will host the section contents. */ private ViewPager mViewPager; - private Toolbar toolbar; - private AppBarLayout appBarLayout; - - public static Session session; - - NfcAdapter mAdapter; - PendingIntent mPendingIntent; @Override protected void onCreate(Bundle savedInstanceState) { @@ -69,35 +59,37 @@ public class MainActivity extends AppCompatActivity Intent intent = this.getIntent(); session = (Session) intent.getSerializableExtra("session"); - if (session.getPersonne().getRole().getNom().equals("admin")){ - nbPages = 5; - Action.CONSOMATION.setValue(2); - Action.EVENT.setValue(3); - Action.PERSONNE.setValue(4); - } else if (session.getPersonne().getRole().getNom().equals("bde")){ - nbPages = 4; - Action.CONSOMATION.setValue(-1); - Action.EVENT.setValue(2); - Action.PERSONNE.setValue(3); - } else if (session.getPersonne().getRole().getNom().equals("bar")){ - nbPages = 3; - Action.CONSOMATION.setValue(2); - Action.EVENT.setValue(-1); - Action.PERSONNE.setValue(-1); - } else { - nbPages = 2; + switch (session.getPersonne().getRole().getNom()) { + case "admin": + nbPages = 5; + Action.CONSOMATION.setValue(2); + Action.EVENT.setValue(3); + Action.PERSONNE.setValue(4); + break; + case "bde": + nbPages = 4; + Action.CONSOMATION.setValue(-1); + Action.EVENT.setValue(2); + Action.PERSONNE.setValue(3); + break; + case "bar": + nbPages = 3; + Action.CONSOMATION.setValue(2); + Action.EVENT.setValue(-1); + Action.PERSONNE.setValue(-1); + break; + default: + nbPages = 2; } - // config other stuff setContentView(R.layout.activity_main); - appBarLayout = (AppBarLayout) findViewById(R.id.appbar); - toolbar = (Toolbar) findViewById(R.id.toolbar); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); // Create the adapter that will return a fragment for each of the three // primary sections of the activity. - mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); + SectionsPagerAdapter mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); // Set up the ViewPager with the sections adapter. mViewPager = (ViewPager) findViewById(R.id.container); @@ -150,13 +142,13 @@ public class MainActivity extends AppCompatActivity } @Override - public void onResume(){ + public void onResume() { super.onResume(); mAdapter.enableForegroundDispatch(this, mPendingIntent, null, null); } @Override - public void onPause(){ + public void onPause() { super.onPause(); if (mAdapter != null) { mAdapter.disableForegroundDispatch(this); @@ -183,13 +175,31 @@ public class MainActivity extends AppCompatActivity } + private enum Action { + DEBITER(0), CREDITER(1), CONSOMATION(2), EVENT(3), PERSONNE(4); + + private int value; + + Action(int value) { + this.value = value; + } + + public int getValue() { + return value; + } + + public void setValue(int value) { + this.value = value; + } + } + /** * A {@link FragmentPagerAdapter} that returns a fragment corresponding to * one of the sections/tabs/pages. */ public class SectionsPagerAdapter extends FragmentPagerAdapter { - public SectionsPagerAdapter(FragmentManager fm) { + SectionsPagerAdapter(FragmentManager fm) { super(fm); } @@ -216,34 +226,17 @@ public class MainActivity extends AppCompatActivity @Override public CharSequence getPageTitle(int position) { - if(position == Action.DEBITER.getValue()) + if (position == Action.DEBITER.getValue()) return "Debiter"; else if (position == Action.CREDITER.getValue()) return "Crediter"; else if (position == Action.CONSOMATION.getValue()) return "Consommation"; - else if(position == Action.EVENT.getValue()) + else if (position == Action.EVENT.getValue()) return getString(R.string.event); - else if(position == Action.PERSONNE.getValue()) + else if (position == Action.PERSONNE.getValue()) return getString(R.string.personne); return null; } } - - private enum Action { - DEBITER(0), CREDITER(1), CONSOMATION(2), EVENT(3), PERSONNE(4); - - private int value; - Action(int value) { - this.value = value; - } - - public int getValue() { - return value; - } - - public void setValue(int value) { - this.value = value; - } - } } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/ConsommationRecyclerViewAdapter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/ConsommationRecyclerViewAdapter.java index 90704d5..73898c1 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/ConsommationRecyclerViewAdapter.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/ConsommationRecyclerViewAdapter.java @@ -1,11 +1,9 @@ package net.plil.clubinfo.etunicorn.app.consommation; -import android.app.Activity; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.PopupMenu; import android.support.v7.widget.RecyclerView; -import android.view.ContextMenu; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; @@ -19,13 +17,13 @@ import java.util.List; import java.util.Locale; -public class ConsommationRecyclerViewAdapter extends RecyclerView.Adapter { +class ConsommationRecyclerViewAdapter extends RecyclerView.Adapter { private final List mValues; private final FragmentConsommation.OnListFragmentInteractionListener mListener; private final Context context; - public ConsommationRecyclerViewAdapter(List items, FragmentConsommation.OnListFragmentInteractionListener listener, Context context) { + ConsommationRecyclerViewAdapter(List items, FragmentConsommation.OnListFragmentInteractionListener listener, Context context) { mValues = items; mListener = listener; this.context = context; @@ -44,7 +42,7 @@ public class ConsommationRecyclerViewAdapter extends RecyclerView.Adapter getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(CreateConsommation.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/DeleteConsommation.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/DeleteConsommation.java index 31a606b..985c78b 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/DeleteConsommation.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/DeleteConsommation.java @@ -3,13 +3,13 @@ package net.plil.clubinfo.etunicorn.app.consommation; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.v4.app.DialogFragment; import android.support.v7.app.AlertDialog; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.ProgressBar; -import android.widget.TextView; import android.widget.Toast; import com.android.volley.AuthFailureError; @@ -23,11 +23,9 @@ import net.plil.clubinfo.etunicorn.app.MainActivity; import net.plil.clubinfo.etunicorn.data.Consommation; import net.plil.clubinfo.etunicorn.utils.VolleyUtils; -import org.json.JSONException; import org.json.JSONObject; import java.util.HashMap; -import java.util.Locale; import java.util.Map; @@ -35,7 +33,8 @@ public class DeleteConsommation extends DialogFragment { ProgressBar mProgressBar; - public DeleteConsommation(){} + public DeleteConsommation() { + } /** * Create a new instance of MyDialogFragment, providing "num" @@ -54,13 +53,16 @@ public class DeleteConsommation extends DialogFragment { @Override + @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the Builder class for convenient dialog construction LayoutInflater inflater = getActivity().getLayoutInflater(); View view = inflater.inflate(R.layout.fragment_delete_consomation, null); mProgressBar = (ProgressBar) view.findViewById(R.id.delete_consommation_progress_bar); + final Consommation consommation = (Consommation) getArguments().getSerializable("consommation"); + assert consommation != null; AlertDialog dialog = new AlertDialog.Builder(getActivity()) @@ -94,13 +96,14 @@ public class DeleteConsommation extends DialogFragment { Toast.makeText(getContext(), R.string.delete_refused, Toast.LENGTH_LONG).show(); } } - ){ + ) { @Override public Map getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(DeleteConsommation.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/FragmentConsommation.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/FragmentConsommation.java index af3ff2b..f6ad374 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/FragmentConsommation.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/FragmentConsommation.java @@ -60,14 +60,14 @@ public class FragmentConsommation extends Fragment implements NFCSupport { c1.setNomConsomation("Hello"); c1.setPrix(12.5); consommationList.add(c1); - for (int i = 0; i< 100; ++i){ + for (int i = 0; i < 100; ++i) { c1 = new Consommation(); c1.setIdConsomation(i); c1.setNomConsomation("World"); c1.setPrix(42.407); consommationList.add(c1); } - recyclerView.setAdapter(new ConsommationRecyclerViewAdapter(consommationList, mListener, this.getActivity())); + recyclerView.setAdapter(new ConsommationRecyclerViewAdapter(consommationList, mListener, this.getActivity())); FloatingActionButton fAB = (FloatingActionButton) view.findViewById(R.id.consomation_add); fAB.setOnClickListener(new View.OnClickListener() { @@ -102,10 +102,9 @@ public class FragmentConsommation extends Fragment implements NFCSupport { @Override public void processNFC(String idCardUser) { PaiementConsommation paiementConsommation = (PaiementConsommation) getFragmentManager().findFragmentByTag("paiementConsommation"); - if (paiementConsommation == null){ + if (paiementConsommation == null) { Toast.makeText(getContext(), R.string.payment_consumable_alert_no_selection, Toast.LENGTH_LONG).show(); - } - else { + } else { paiementConsommation.processNFC(idCardUser); } } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/ModifyConsommation.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/ModifyConsommation.java index 71e433a..326e810 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/ModifyConsommation.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/ModifyConsommation.java @@ -3,6 +3,7 @@ package net.plil.clubinfo.etunicorn.app.consommation; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.design.widget.TextInputLayout; import android.support.v4.app.DialogFragment; import android.support.v7.app.AlertDialog; @@ -53,6 +54,7 @@ public class ModifyConsommation extends DialogFragment { @Override + @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the Builder class for convenient dialog construction final LayoutInflater inflater = getActivity().getLayoutInflater(); @@ -64,9 +66,10 @@ public class ModifyConsommation extends DialogFragment { mPriceInput = (TextInputLayout) view.findViewById(R.id.modify_consommation_input_price); final Consommation consommation = (Consommation) getArguments().getSerializable("consommation"); + assert consommation != null; mNomConsomation.setText(consommation.getNomConsomation()); - mPrice.setText(String.format(Locale.US,"%.2f", consommation.getPrix())); + mPrice.setText(String.format(Locale.US, "%.2f", consommation.getPrix())); AlertDialog dialog = new AlertDialog.Builder(getActivity()) .setTitle(R.string.modify) @@ -87,13 +90,13 @@ public class ModifyConsommation extends DialogFragment { @Override public void onClick(View v) { boolean inputOk = true; - if (mPrice.getText().toString().isEmpty()){ + if (mPrice.getText().toString().isEmpty()) { inputOk = false; mPriceInput.setError(getString(R.string.error_modify_consommation_input_price)); } else { mPriceInput.setError(null); } - if (mNomConsomation.getText().toString().isEmpty()){ + if (mNomConsomation.getText().toString().isEmpty()) { inputOk = false; mNomInput.setError(getString(R.string.error_modify_consommation_input_nom)); } else { @@ -125,19 +128,21 @@ public class ModifyConsommation extends DialogFragment { Toast.makeText(getContext(), R.string.modify_refused, Toast.LENGTH_LONG).show(); } } - ){ + ) { @Override public Map getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(ModifyConsommation.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } } }); - }}); + } + }); dialog.setCanceledOnTouchOutside(false); return dialog; } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/PaiementConsommation.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/PaiementConsommation.java index d95e0b8..727b372 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/PaiementConsommation.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/consommation/PaiementConsommation.java @@ -3,9 +3,9 @@ package net.plil.clubinfo.etunicorn.app.consommation; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.v4.app.DialogFragment; import android.support.v7.app.AlertDialog; -import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.widget.ProgressBar; @@ -21,7 +21,6 @@ import com.android.volley.toolbox.JsonObjectRequest; import net.plil.clubinfo.etunicorn.R; import net.plil.clubinfo.etunicorn.app.MainActivity; import net.plil.clubinfo.etunicorn.app.NFCSupport; -import net.plil.clubinfo.etunicorn.app.event.PaiementEvent; import net.plil.clubinfo.etunicorn.data.Consommation; import net.plil.clubinfo.etunicorn.utils.VolleyUtils; @@ -40,7 +39,8 @@ public class PaiementConsommation extends DialogFragment implements NFCSupport { TextView mPaiementConsommationPrice; int consommationId; - public PaiementConsommation(){} + public PaiementConsommation() { + } /** * Create a new instance of MyDialogFragment, providing "num" @@ -57,6 +57,7 @@ public class PaiementConsommation extends DialogFragment implements NFCSupport { @Override + @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { // Use the Builder class for convenient dialog construction LayoutInflater inflater = getActivity().getLayoutInflater(); @@ -67,6 +68,8 @@ public class PaiementConsommation extends DialogFragment implements NFCSupport { Consommation consommation = (Consommation) getArguments().getSerializable("consommation"); + assert consommation != null; + mPaiementConsommationName.setText(consommation.getNomConsomation()); mPaiementConsommationPrice.setText(String.format(Locale.FRANCE, "%.2f €", consommation.getPrix())); @@ -82,7 +85,7 @@ public class PaiementConsommation extends DialogFragment implements NFCSupport { } }); - Dialog dialog = builder.create(); + Dialog dialog = builder.create(); dialog.setCanceledOnTouchOutside(false); return dialog; } @@ -112,13 +115,14 @@ public class PaiementConsommation extends DialogFragment implements NFCSupport { Toast.makeText(getContext(), R.string.payment_refused, Toast.LENGTH_LONG).show(); } } - ){ + ) { @Override public Map getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(PaiementConsommation.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/credit/Crediter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/credit/Crediter.java index dc0d908..2111060 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/credit/Crediter.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/credit/Crediter.java @@ -29,7 +29,7 @@ import org.json.JSONObject; import java.util.HashMap; import java.util.Map; -public class Crediter extends Fragment implements NFCSupport{ +public class Crediter extends Fragment implements NFCSupport { private EditText mMoneyEditText; private ProgressBar mProgressBar; @@ -70,7 +70,7 @@ public class Crediter extends Fragment implements NFCSupport{ @Override public void processNFC(String idCardUser) { - if(mMoneyEditText.getText().toString().isEmpty()){ + if (mMoneyEditText.getText().toString().isEmpty()) { mMoneyEditText.setError(getString(R.string.error_enter_debit)); return; } @@ -82,10 +82,10 @@ public class Crediter extends Fragment implements NFCSupport{ p.setCarte(idCardUser); jsonObject.put("participant", p); jsonObject.put("prix", Double.parseDouble(mMoneyEditText.getText().toString())); - } catch (JSONException e){ + } catch (JSONException e) { e.printStackTrace(); } - JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/transaction/debit" ,jsonObject , new Response.Listener() { + JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/transaction/debit", jsonObject, new Response.Listener() { @Override public void onResponse(JSONObject response) { mProgressBar.setVisibility(View.GONE); @@ -101,13 +101,14 @@ public class Crediter extends Fragment implements NFCSupport{ Snackbar.make(coordinatorLayout, error.getMessage(), Snackbar.LENGTH_LONG).show(); } } - ){ + ) { @Override public Map getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(Crediter.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/debit/Debiter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/debit/Debiter.java index 51a80c0..f84305f 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/debit/Debiter.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/debit/Debiter.java @@ -74,7 +74,7 @@ public class Debiter extends Fragment implements NFCSupport { @Override public void processNFC(String iDCardUser) { - if(mMoneyEditText.getText().toString().isEmpty()){ + if (mMoneyEditText.getText().toString().isEmpty()) { mMoneyEditText.setError(getString(R.string.error_enter_debit)); return; } @@ -88,10 +88,10 @@ public class Debiter extends Fragment implements NFCSupport { jsonObject.put("participant", p); jsonObject.put("prix", -Double.parseDouble(mMoneyEditText.getText().toString())); mMoneyEditText.setError(null); - } catch (JSONException e){ + } catch (JSONException e) { e.printStackTrace(); } - JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/transaction/credit" ,jsonObject , new Response.Listener() { + JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/transaction/credit", jsonObject, new Response.Listener() { @Override public void onResponse(JSONObject response) { mProgressBar.setVisibility(View.GONE); @@ -108,14 +108,14 @@ public class Debiter extends Fragment implements NFCSupport { Snackbar.make(coordinatorLayout, error.getMessage(), Snackbar.LENGTH_LONG).show(); } - }) - { + }) { @Override public Map getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(Debiter.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/CreatePersonne.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/CreatePersonne.java index 4b5af08..9ebbc01 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/CreatePersonne.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/CreatePersonne.java @@ -4,6 +4,7 @@ import android.app.DatePickerDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.design.widget.TextInputLayout; import android.support.v4.app.DialogFragment; import android.support.v7.app.AlertDialog; @@ -26,8 +27,8 @@ import com.android.volley.toolbox.JsonArrayRequest; import com.android.volley.toolbox.JsonObjectRequest; import net.plil.clubinfo.etunicorn.R; -import net.plil.clubinfo.etunicorn.app.NFCSupport; import net.plil.clubinfo.etunicorn.app.MainActivity; +import net.plil.clubinfo.etunicorn.app.NFCSupport; import net.plil.clubinfo.etunicorn.data.Role; import net.plil.clubinfo.etunicorn.utils.ConvertBytesToString; import net.plil.clubinfo.etunicorn.utils.JsonConverter; @@ -48,30 +49,35 @@ import java.util.Map; public class CreatePersonne extends DialogFragment implements NFCSupport { - private DialogInterface.OnDismissListener onDismissListener; - Calendar myCalendar = Calendar.getInstance(); - - + TextInputLayout mLoginInput; + TextInputLayout mCarteInput; + private DialogInterface.OnDismissListener onDismissListener; private EditText mLogin; private EditText mCarte; private Spinner mNaissance; private Spinner mRole; private ProgressBar mProgressBar; - - TextInputLayout mLoginInput; - TextInputLayout mCarteInput; - private String[] arraySpinnerNaissance; private ArrayAdapter adapterNaissance; + DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int year, int monthOfYear, + int dayOfMonth) { + myCalendar.set(Calendar.YEAR, year); + myCalendar.set(Calendar.MONTH, monthOfYear); + myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); + updateLabel(); + } + }; private List arraySpinnerRole; private ArrayAdapter adapterRole; - @Override + @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { - myCalendar.set(Calendar.YEAR, myCalendar.get(Calendar.YEAR)-18); + myCalendar.set(Calendar.YEAR, myCalendar.get(Calendar.YEAR) - 18); // Use the Builder class for convenient dialog construction LayoutInflater inflater = getActivity().getLayoutInflater(); View view = inflater.inflate(R.layout.fragment_create_personne, null); @@ -89,10 +95,10 @@ public class CreatePersonne extends DialogFragment implements NFCSupport { mRole.setAdapter(adapterRole); changeRolePossibility(); mNaissance = (Spinner) view.findViewById(R.id.create_personne_naissance); - arraySpinnerNaissance = new String[] { + arraySpinnerNaissance = new String[]{ getString(R.string.create_personne_naissance) }; - adapterNaissance = new ArrayAdapter(getActivity(), + adapterNaissance = new ArrayAdapter<>(getActivity(), R.layout.simple_item_layout, arraySpinnerNaissance); mNaissance.setAdapter(adapterNaissance); mProgressBar = (ProgressBar) view.findViewById(R.id.create_personne_progress_bar); @@ -113,11 +119,10 @@ public class CreatePersonne extends DialogFragment implements NFCSupport { button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (mLogin.getText().toString().isEmpty() && mCarte.getText().toString().isEmpty()){ + if (mLogin.getText().toString().isEmpty() && mCarte.getText().toString().isEmpty()) { mLogin.setError(getString(R.string.error_create_personne_login_carte)); mCarte.setError(getString(R.string.error_create_personne_login_carte)); - } - else { + } else { mProgressBar.setVisibility(View.VISIBLE); mLoginInput.setVisibility(View.GONE); mCarteInput.setVisibility(View.GONE); @@ -127,7 +132,7 @@ public class CreatePersonne extends DialogFragment implements NFCSupport { try { if (!mLogin.getText().toString().isEmpty()) jsonObject.put("login", mLogin.getText().toString()); - if(!mCarte.getText().toString().isEmpty()) + if (!mCarte.getText().toString().isEmpty()) jsonObject.put("carte", mCarte.getText().toString()); jsonObject.put("role", JsonConverter.convertToJSONObject(mRole.getSelectedItem())); if (!mNaissance.getSelectedItem().equals(getString(R.string.create_personne_naissance))) @@ -153,14 +158,14 @@ public class CreatePersonne extends DialogFragment implements NFCSupport { Toast.makeText(getContext(), ConvertBytesToString.bytesToStringVolLey(error.networkResponse.data), Toast.LENGTH_LONG).show(); } } - ) - { + ) { @Override public Map getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(CreatePersonne.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } @@ -172,7 +177,7 @@ public class CreatePersonne extends DialogFragment implements NFCSupport { mNaissance.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { - if(event.getAction() == MotionEvent.ACTION_UP) { + if (event.getAction() == MotionEvent.ACTION_UP) { new DatePickerDialog(getContext(), date, myCalendar .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH)).show(); @@ -184,13 +189,13 @@ public class CreatePersonne extends DialogFragment implements NFCSupport { return dialog; } - private void changeRolePossibility(){ - JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, VolleyUtils.baseUri + "/role" ,null , new Response.Listener() { + private void changeRolePossibility() { + JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, VolleyUtils.baseUri + "/role", null, new Response.Listener() { @Override public void onResponse(JSONArray response) { try { arraySpinnerRole.clear(); - for (int i =0; i getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(DeletePersonne.class); VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/ModifyPersonne.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/ModifyPersonne.java index 03caca2..d53d6cb 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/ModifyPersonne.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/ModifyPersonne.java @@ -4,6 +4,7 @@ import android.app.DatePickerDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Bundle; +import android.support.annotation.NonNull; import android.support.design.widget.TextInputLayout; import android.support.v4.app.DialogFragment; import android.support.v7.app.AlertDialog; @@ -26,8 +27,8 @@ import com.android.volley.toolbox.JsonArrayRequest; import com.android.volley.toolbox.JsonObjectRequest; import net.plil.clubinfo.etunicorn.R; -import net.plil.clubinfo.etunicorn.app.NFCSupport; import net.plil.clubinfo.etunicorn.app.MainActivity; +import net.plil.clubinfo.etunicorn.app.NFCSupport; import net.plil.clubinfo.etunicorn.data.Personne; import net.plil.clubinfo.etunicorn.data.Role; import net.plil.clubinfo.etunicorn.utils.ConvertBytesToString; @@ -62,7 +63,17 @@ public class ModifyPersonne extends DialogFragment implements NFCSupport { private String[] arraySpinnerNaissance; private ArrayAdapter adapterNaissance; + DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() { + @Override + public void onDateSet(DatePicker view, int year, int monthOfYear, + int dayOfMonth) { + myCalendar.set(Calendar.YEAR, year); + myCalendar.set(Calendar.MONTH, monthOfYear); + myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); + updateLabel(); + } + }; private List arraySpinnerRole; private ArrayAdapter adapterRole; @@ -77,10 +88,10 @@ public class ModifyPersonne extends DialogFragment implements NFCSupport { return f; } - @Override + @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { - myCalendar.set(Calendar.YEAR, myCalendar.get(Calendar.YEAR)-18); + myCalendar.set(Calendar.YEAR, myCalendar.get(Calendar.YEAR) - 18); // Use the Builder class for convenient dialog construction LayoutInflater inflater = getActivity().getLayoutInflater(); View view = inflater.inflate(R.layout.fragment_modify_personne, null); @@ -94,6 +105,7 @@ public class ModifyPersonne extends DialogFragment implements NFCSupport { mCarteInput = (TextInputLayout) view.findViewById(R.id.modify_personne_carte_input); final Personne personne = (Personne) getArguments().getSerializable("personne"); + assert personne != null; mCarte.setText(personne.getCarte()); mLogin.setText(personne.getLogin()); @@ -107,7 +119,7 @@ public class ModifyPersonne extends DialogFragment implements NFCSupport { mNaissance = (Spinner) view.findViewById(R.id.modify_personne_naissance); final String myFormat = "yyyy-MM-dd"; //In which you need put here SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE); - if (personne.getNaissance() == null){ + if (personne.getNaissance() == null) { arraySpinnerNaissance = new String[]{ getString(R.string.modify_personne_hint_date) }; @@ -116,7 +128,7 @@ public class ModifyPersonne extends DialogFragment implements NFCSupport { sdf.format(personne.getNaissance()) }; } - adapterNaissance = new ArrayAdapter(getActivity(), + adapterNaissance = new ArrayAdapter<>(getActivity(), R.layout.simple_item_layout, arraySpinnerNaissance); mNaissance.setAdapter(adapterNaissance); @@ -150,10 +162,10 @@ public class ModifyPersonne extends DialogFragment implements NFCSupport { jsonObject.put("role", JsonConverter.convertToJSONObject(mRole.getSelectedItem())); if (!mNaissance.getSelectedItem().equals(getString(R.string.modify_personne_hint_date))) jsonObject.put("naissance", mNaissance.getSelectedItem().toString()); - } catch (JSONException e){ + } catch (JSONException e) { e.printStackTrace(); } - JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.PUT, VolleyUtils.baseUri + "/personne/" + personne.getId() ,jsonObject , new Response.Listener() { + JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.PUT, VolleyUtils.baseUri + "/personne/" + personne.getId(), jsonObject, new Response.Listener() { @Override public void onResponse(JSONObject response) { mProgressBar.setVisibility(View.GONE); @@ -168,24 +180,25 @@ public class ModifyPersonne extends DialogFragment implements NFCSupport { if (error.networkResponse != null) Toast.makeText(getContext(), R.string.modify_refused + " : " + ConvertBytesToString.bytesToStringVolLey(error.networkResponse.data), Toast.LENGTH_LONG).show(); else - Toast.makeText(getContext(), "!!" + error.getStackTrace().toString(), Toast.LENGTH_SHORT).show(); + Toast.makeText(getContext(), "!!" + error.getMessage(), Toast.LENGTH_SHORT).show(); mRole.setVisibility(View.VISIBLE); mCarteInput.setVisibility(View.VISIBLE); mLoginInput.setVisibility(View.VISIBLE); mNaissance.setVisibility(View.VISIBLE); } } - ){ + ) { @Override public Map getHeaders() throws AuthFailureError { - Map headers = new HashMap(); + Map headers = new HashMap<>(); headers.put("Authorization", MainActivity.session.getToken()); return headers; - }}; + } + }; jsonObjectRequest.setTag(ModifyPersonne.class); try { - for (String s : jsonObjectRequest.getHeaders().keySet()){ + for (String s : jsonObjectRequest.getHeaders().keySet()) { System.out.println(s + " " + jsonObjectRequest.getHeaders().get(s)); } } catch (AuthFailureError authFailureError) { @@ -201,7 +214,7 @@ public class ModifyPersonne extends DialogFragment implements NFCSupport { mNaissance.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { - if(event.getAction() == MotionEvent.ACTION_UP) { + if (event.getAction() == MotionEvent.ACTION_UP) { new DatePickerDialog(getContext(), date, myCalendar .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH), myCalendar.get(Calendar.DAY_OF_MONTH)).show(); @@ -213,18 +226,6 @@ public class ModifyPersonne extends DialogFragment implements NFCSupport { return dialog; } - DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() { - - @Override - public void onDateSet(DatePicker view, int year, int monthOfYear, - int dayOfMonth) { - myCalendar.set(Calendar.YEAR, year); - myCalendar.set(Calendar.MONTH, monthOfYear); - myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth); - updateLabel(); - } - }; - private void updateLabel() { String myFormat = "yyyy-MM-dd"; //In which you need put here SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE); @@ -240,13 +241,13 @@ public class ModifyPersonne extends DialogFragment implements NFCSupport { super.onStop(); } - private void changeRolePossibility(){ - JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, VolleyUtils.baseUri + "/role" ,null , new Response.Listener() { + private void changeRolePossibility() { + JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, VolleyUtils.baseUri + "/role", null, new Response.Listener() { @Override public void onResponse(JSONArray response) { try { arraySpinnerRole.clear(); - for (int i =0; i { +class MyPersonneRecyclerViewAdapter extends RecyclerView.Adapter { private final List mValues; private final PersonneFragment.OnListFragmentInteractionListener mListener; private final Context context; - public MyPersonneRecyclerViewAdapter(List items, PersonneFragment.OnListFragmentInteractionListener listener, Context context) { + MyPersonneRecyclerViewAdapter(List items, PersonneFragment.OnListFragmentInteractionListener listener, Context context) { mValues = items; mListener = listener; this.context = context; @@ -88,16 +88,16 @@ public class MyPersonneRecyclerViewAdapter extends RecyclerView.Adapter() { + private void setPersonnes() { + JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.GET, VolleyUtils.baseUri + "/personne", null, new Response.Listener() { @Override public void onResponse(JSONArray response) { try { personnes.clear(); - for (int i =0; i