diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Crediter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Crediter.java index 92a76a5..62d2b5a 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Crediter.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Crediter.java @@ -40,7 +40,7 @@ public class Crediter extends FragmentNFC { * * @return A new instance of fragment Crediter. */ - public static Crediter newInstance(String param1, String param2) { + public static Crediter newInstance() { Crediter fragment = new Crediter(); return fragment; } @@ -67,6 +67,8 @@ public class Crediter extends FragmentNFC { } + + @Override public void onAttach(Context context) { super.onAttach(context); @@ -86,7 +88,7 @@ public class Crediter extends FragmentNFC { @Override public void processNFC() { - + Toast.makeText(getContext(), "DONE !!!!", Toast.LENGTH_LONG).show(); } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Debiter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Debiter.java index e11645f..d4d647c 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Debiter.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Debiter.java @@ -1,14 +1,31 @@ package net.plil.clubinfo.etunicorn.app; import android.content.Context; +import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.EditText; +import android.widget.ProgressBar; +import android.widget.Toast; + +import com.android.volley.Request; +import com.android.volley.Response; +import com.android.volley.VolleyError; +import com.android.volley.toolbox.JsonObjectRequest; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; import net.plil.clubinfo.etunicorn.R; +import net.plil.clubinfo.etunicorn.data.Personne; +import net.plil.clubinfo.etunicorn.utils.VolleyUtils; + +import org.json.JSONException; +import org.json.JSONObject; /** * A simple {@link Fragment} subclass. @@ -19,60 +36,37 @@ import net.plil.clubinfo.etunicorn.R; * create an instance of this fragment. */ public class Debiter extends FragmentNFC { - // TODO: Rename parameter arguments, choose names that match // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER - private static final String ARG_PARAM1 = "param1"; - private static final String ARG_PARAM2 = "param2"; - // TODO: Rename and change types of parameters - private String mParam1; - private String mParam2; + private EditText mMoneyEditText; + private ProgressBar mProgressBar; private OnFragmentInteractionListener mListener; public Debiter() { // Required empty public constructor + } - /** - * Use this factory method to create a new instance of - * this fragment using the provided parameters. - * - * @param param1 Parameter 1. - * @param param2 Parameter 2. - * @return A new instance of fragment Debiter. - */ - // TODO: Rename and change types and number of parameters - public static Debiter newInstance(String param1, String param2) { + public static Debiter newInstance() { Debiter fragment = new Debiter(); - Bundle args = new Bundle(); - args.putString(ARG_PARAM1, param1); - args.putString(ARG_PARAM2, param2); - fragment.setArguments(args); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if (getArguments() != null) { - mParam1 = getArguments().getString(ARG_PARAM1); - mParam2 = getArguments().getString(ARG_PARAM2); - } + + } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_debiter, container, false); - } - - // TODO: Rename method, update argument and hook method into UI event - public void onButtonPressed(Uri uri) { - if (mListener != null) { - mListener.onFragmentInteraction(uri); - } + View view = inflater.inflate(R.layout.fragment_debiter, container, false); + mProgressBar = (ProgressBar) view.findViewById(R.id.debiter_progress); + mMoneyEditText = (EditText) view.findViewById(R.id.debiter_edit_text_money); + return view; } @Override @@ -94,7 +88,29 @@ public class Debiter extends FragmentNFC { @Override public void processNFC() { + mProgressBar.setVisibility(View.VISIBLE); + JSONObject jsonObject = new JSONObject(); + try { + jsonObject.put("participant", 1); + jsonObject.put("acteur", 2); + jsonObject.put("prix", Double.parseDouble(mMoneyEditText.getText().toString())); + } catch (JSONException e){ + e.printStackTrace(); + } + 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); + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + mProgressBar.setVisibility(View.GONE); + } + } + ); + VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); } /** diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/FragmentNFC.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/FragmentNFC.java index eaf2cda..4ca54bd 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/FragmentNFC.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/FragmentNFC.java @@ -1,6 +1,7 @@ package net.plil.clubinfo.etunicorn.app; import android.support.v4.app.Fragment; +import android.view.View; /** * Created by badetitou on 28/01/2017. 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 d337ef8..c5d6cb2 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 @@ -40,6 +40,7 @@ import com.google.gson.Gson; import net.plil.clubinfo.etunicorn.R; import net.plil.clubinfo.etunicorn.data.Personne; +import net.plil.clubinfo.etunicorn.data.User; import net.plil.clubinfo.etunicorn.utils.VolleyUtils; import org.json.JSONException; @@ -165,31 +166,34 @@ public class LoginActivity extends AppCompatActivity { * @param password The password of the person */ private void tryLogin (String username, String password){ - JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/login?login=" + username + "&password=" + password , null, new Response.Listener() { - @Override - public void onResponse(JSONObject response) { - showProgress(false); - try { - Personne p = new Gson().fromJson(response.getJSONObject("").toString(), Personne.class); + User user = new User(); + user.setPassword(password); + user.setUsername(username); + JsonObjectRequest jsonObjectRequest = null; + try { + jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri , new JSONObject(new Gson().toJson(user)), new Response.Listener() { + @Override + public void onResponse(JSONObject response) { + showProgress(false); + Intent intent = new Intent(getApplicationContext(), MainActivity.class); + startActivity(intent); + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + showProgress(false); + Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show(); + + //TODO remove this line Intent intent = new Intent(getApplicationContext(), MainActivity.class); startActivity(intent); - } catch (JSONException e) { - e.printStackTrace(); + // END } } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError error) { - showProgress(false); - Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show(); - - //TODO remove this line - Intent intent = new Intent(getApplicationContext(), MainActivity.class); - startActivity(intent); - // END - } + ); + } catch (JSONException e) { + e.printStackTrace(); } - ); VolleyUtils.getInstance(getApplicationContext()).addToRequestQueue(jsonObjectRequest); } 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 a45afe0..1a485f6 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,13 +2,9 @@ package net.plil.clubinfo.etunicorn.app; import android.app.PendingIntent; import android.content.Intent; -import android.nfc.NdefMessage; +import android.net.Uri; import android.nfc.NfcAdapter; -import android.nfc.Tag; -import android.os.Parcelable; import android.support.design.widget.TabLayout; -import android.support.design.widget.FloatingActionButton; -import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; @@ -17,20 +13,15 @@ import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.os.Bundle; -import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; import android.widget.Toast; import net.plil.clubinfo.etunicorn.R; -import java.util.List; -public class MainActivity extends AppCompatActivity { +public class MainActivity extends AppCompatActivity implements Crediter.OnFragmentInteractionListener, Debiter.OnFragmentInteractionListener{ /** * The {@link android.support.v4.view.PagerAdapter} that will provide @@ -69,7 +60,6 @@ public class MainActivity extends AppCompatActivity { TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); tabLayout.setupWithViewPager(mViewPager); - mAdapter = NfcAdapter.getDefaultAdapter(this); if (mAdapter == null) { //nfc not support your device. @@ -106,8 +96,10 @@ public class MainActivity extends AppCompatActivity { @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); - ((FragmentNFC)mSectionsPagerAdapter.getItem(mViewPager.getCurrentItem())).processNFC(); - Toast.makeText(getBaseContext(),"NFC WORKING", Toast.LENGTH_LONG).show(); + if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { + FragmentNFC fNFC = (FragmentNFC) getSupportFragmentManager().getFragments().get(mViewPager.getCurrentItem()); + fNFC.processNFC(); + } } @Override @@ -124,43 +116,9 @@ public class MainActivity extends AppCompatActivity { } } - /** - * A placeholder fragment containing a simple view. - */ - public static class PlaceholderFragment extends Fragment { - /** - * The fragment argument representing the section number for this - * fragment. - */ - private static final String ARG_SECTION_NUMBER = "section_number"; - - public PlaceholderFragment() { - } - - /** - * Returns a new instance of this fragment for the given section - * number. - */ - public static PlaceholderFragment newInstance(int sectionNumber) { - PlaceholderFragment fragment = new PlaceholderFragment(); - Bundle args = new Bundle(); - args.putInt(ARG_SECTION_NUMBER, sectionNumber); - fragment.setArguments(args); - return fragment; - } + @Override + public void onFragmentInteraction(Uri uri) { - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View rootView; - if (getArguments().getInt(ARG_SECTION_NUMBER) == Action.DEBITER.getValue()) - rootView = inflater.inflate(R.layout.fragment_debiter, container, false); - else if (getArguments().getInt(ARG_SECTION_NUMBER) == Action.CREDITER.getValue()) - rootView = inflater.inflate(R.layout.fragment_crediter, container, false); - else - rootView = inflater.inflate(R.layout.fragment_main, container, false); - return rootView; - } } /** @@ -177,13 +135,18 @@ public class MainActivity extends AppCompatActivity { public Fragment getItem(int position) { // getItem is called to instantiate the fragment for the given page. // Return a PlaceholderFragment (defined as a static inner class below). - return PlaceholderFragment.newInstance(position + 1); + if (position == Action.CREDITER.getValue()) + return Crediter.newInstance(); + else if (position == Action.DEBITER.getValue()) + return Debiter.newInstance(); + else + return null; } @Override public int getCount() { // Show 3 total pages. - return 3; + return 2; } @Override diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/data/User.java b/app/src/main/java/net/plil/clubinfo/etunicorn/data/User.java new file mode 100644 index 0000000..1e76595 --- /dev/null +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/data/User.java @@ -0,0 +1,29 @@ +package net.plil.clubinfo.etunicorn.data; + +/** + * Created by badetitou on 28/01/2017. + */ + +public class User { + private String username; + private String password; + + public User() { + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } +} diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/utils/VolleyUtils.java b/app/src/main/java/net/plil/clubinfo/etunicorn/utils/VolleyUtils.java index 6f2f845..5318cc2 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/utils/VolleyUtils.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/utils/VolleyUtils.java @@ -1,12 +1,9 @@ package net.plil.clubinfo.etunicorn.utils; import android.content.Context; -import android.graphics.Bitmap; -import android.util.LruCache; import com.android.volley.Request; import com.android.volley.RequestQueue; -import com.android.volley.toolbox.ImageLoader; import com.android.volley.toolbox.Volley; /** @@ -22,28 +19,11 @@ public class VolleyUtils { private static VolleyUtils mInstance; private RequestQueue mRequestQueue; - private ImageLoader mImageLoader; private static Context mCtx; private VolleyUtils(Context context) { mCtx = context; mRequestQueue = getRequestQueue(); - - mImageLoader = new ImageLoader(mRequestQueue, - new ImageLoader.ImageCache() { - private final LruCache - cache = new LruCache(20); - - @Override - public Bitmap getBitmap(String url) { - return cache.get(url); - } - - @Override - public void putBitmap(String url, Bitmap bitmap) { - cache.put(url, bitmap); - } - }); } public static synchronized VolleyUtils getInstance(Context context) { @@ -65,9 +45,5 @@ public class VolleyUtils { public void addToRequestQueue(Request req) { getRequestQueue().add(req); } - - public ImageLoader getImageLoader() { - return mImageLoader; - } } diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml index 3eb8996..c3d65a9 100644 --- a/app/src/main/res/layout/activity_login.xml +++ b/app/src/main/res/layout/activity_login.xml @@ -10,7 +10,6 @@ android:paddingTop="@dimen/activity_vertical_margin" tools:context="net.plil.clubinfo.etunicorn.app.LoginActivity"> - - - - + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f5d1635..ad7120c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -14,4 +14,5 @@ Hello blank fragment + Enter value -- libgit2 0.21.2