diff --git a/PremiereActivite/app/src/main/java/com/example/app_10p5/CarteActivite.java b/PremiereActivite/app/src/main/java/com/example/app_10p5/CarteActivite.java deleted file mode 100644 index f108472..0000000 --- a/PremiereActivite/app/src/main/java/com/example/app_10p5/CarteActivite.java +++ /dev/null @@ -1,162 +0,0 @@ -package com.example.app_10p5; - -import android.app.Activity; -import android.app.PendingIntent; -import android.content.Intent; -import android.content.SharedPreferences; -import android.graphics.drawable.ColorDrawable; -import android.nfc.NfcAdapter; -import android.nfc.Tag; -import android.nfc.tech.MifareClassic; -import android.os.Bundle; -import android.preference.PreferenceManager; -import android.widget.Toast; - -import org.json.JSONObject; - -import java.net.URL; -import java.net.URLEncoder; -import java.util.HashMap; - -/** - * Created by beaus on 24/04/2016. - */ -public class CarteActivite extends Activity implements ASyncResponse { - - private NfcAdapter mNfcAdapter; - private HashMap mParam; - private String mAPI; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.layout_carte); - getActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.colorPrimary))); - - mParam = new HashMap(); - - try { - switch (getIntent().getIntExtra("state", MainActivite.STATE_RIEN)) { - case MainActivite.STATE_COMMANDE: - //TODO: XOR du cancer - //mParam.put("quantite", String.valueOf(getIntent().getIntExtra("quantite", -1))); - mParam.put("montant", URLEncoder.encode(String.valueOf(getIntent().getFloatExtra("montant", -1)), "UTF-8")); - mParam.put("jeton", URLEncoder.encode(getIntent().getStringExtra("token"), "UTF-8")); - mAPI = "api/client/payer"; - break; - case MainActivite.STATE_CREATION_COMPTE: - mParam.put("solde", URLEncoder.encode(String.valueOf(getIntent().getFloatExtra("montant", -1)), "UTF-8")); - mParam.put("jeton", URLEncoder.encode(getIntent().getStringExtra("token"), "UTF-8")); - mAPI = "api/client/ajouter"; - break; - case MainActivite.STATE_RECHARGEMENT: - System.out.println("bite"); - mParam.put("montant", URLEncoder.encode(String.valueOf(getIntent().getFloatExtra("montant", -1)), "UTF-8")); - mParam.put("jeton", URLEncoder.encode(getIntent().getStringExtra("token"), "UTF-8")); - mAPI = "api/client/recharger"; - break; - case MainActivite.STATE_VIDANGE: - mParam.put("jeton", URLEncoder.encode(getIntent().getStringExtra("token"), "UTF-8")); - mAPI = "api/client/vidange"; - break; - case MainActivite.STATE_CONNEXION: //Impossible c'est pas géré ici - case MainActivite.STATE_RIEN: - default: - Toast.makeText(this, "WTF, le cancer est dans l'application!!", Toast.LENGTH_LONG).show(); - finish(); - return; - } - } - catch (Throwable t){ - System.out.println("Exception: " + t.toString()); - } - - mNfcAdapter = NfcAdapter.getDefaultAdapter(this); - - if (mNfcAdapter == null) { - // Stop here, we definitely need NFC - Toast.makeText(this, "This device doesn't support NFC.", Toast.LENGTH_LONG).show(); - finish(); - return; - } - - handleIntent(getIntent()); - } - - @Override - protected void onResume() { - super.onResume(); - setupForegroundDispatch(this, mNfcAdapter); - } - - // Convertit l'array de byte en chaîne hexadécimale (si le byte = 0x63, str = "63"). - private String ByteArrayToHexString(byte [] inarray) { - int i, j, in; - String [] hex = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"}; - String out= ""; - for(j = 0 ; j < inarray.length ; ++j) - { - in = (int) inarray[j] & 0xff; - i = (in >> 4) & 0x0f; - out += hex[i]; - i = in & 0x0f; - out += hex[i]; - } - return out; - } - - @Override - protected void onNewIntent(Intent intent) { - handleIntent(intent); - } - - @Override - protected void onPause() { - stopForegroundDispatch(this, mNfcAdapter); - super.onPause(); - } - - private void handleIntent(Intent intent){ - if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { - String id_carte = ByteArrayToHexString(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID)); - mParam.put("idCarte", id_carte); - clientAPI(); - } - } - - public static void setupForegroundDispatch(final Activity activity, NfcAdapter adapter){ - final Intent intent = new Intent(activity.getApplicationContext(), activity.getClass()); - intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); - final PendingIntent pendingIntent = PendingIntent.getActivity(activity.getApplicationContext(), 0, intent, 0); - adapter.enableForegroundDispatch(activity, pendingIntent, null, null); - } - - public static void stopForegroundDispatch(final Activity activity, NfcAdapter adapter) { - adapter.disableForegroundDispatch(activity); - } - - public void clientAPI() { - try { - SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); - URL url = new URL(settings.getString("server_address", null) + mAPI); - NetworkThread nt = new NetworkThread(url, mParam); - nt.delegate = this; - nt.execute(); - } - catch (Throwable t){ - Toast.makeText(this, "WTF, le cancer est dans l'application!! " + t.toString(), Toast.LENGTH_LONG).show(); - finish(); - return; - } - } - - - /* Retour du NetworkThread */ - @Override - public void processFinish(JSONObject output) { - Intent intent = new Intent(this, CarteActivite.class); - intent.putExtra("json", output.toString()); - setResult(0, intent); - finish(); - } -} diff --git a/PremiereActivite/app/src/main/java/com/example/app_10p5/ConnectionFragment.java b/PremiereActivite/app/src/main/java/com/example/app_10p5/ConnectionFragment.java new file mode 100644 index 0000000..c2bf167 --- /dev/null +++ b/PremiereActivite/app/src/main/java/com/example/app_10p5/ConnectionFragment.java @@ -0,0 +1,23 @@ +package com.example.app_10p5; + +import android.app.Fragment; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +/** + * Created by beaus on 05/05/2016. + */ +public class ConnectionFragment extends Fragment { + @Override + public void onCreate(Bundle savedInstanceState){ + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View ret = inflater.inflate(R.layout.layout_connection, container, false); + return ret; + } +} diff --git a/PremiereActivite/app/src/main/java/com/example/app_10p5/MainActivite.java b/PremiereActivite/app/src/main/java/com/example/app_10p5/MainActivite.java index 3640370..17f3153 100644 --- a/PremiereActivite/app/src/main/java/com/example/app_10p5/MainActivite.java +++ b/PremiereActivite/app/src/main/java/com/example/app_10p5/MainActivite.java @@ -1,30 +1,24 @@ package com.example.app_10p5; import android.app.Activity; +import android.app.Fragment; import android.app.FragmentManager; import android.app.FragmentTransaction; -import android.content.Context; +import android.app.PendingIntent; import android.content.Intent; import android.content.SharedPreferences; -import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.ColorDrawable; +import android.nfc.NfcAdapter; import android.os.Bundle; import android.preference.PreferenceManager; +import android.support.design.widget.Snackbar; import android.support.v4.view.ViewPager; import android.text.TextUtils; -import android.view.Gravity; -import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.EditText; -import android.widget.FrameLayout; -import android.widget.LinearLayout; -import android.widget.PopupMenu; -import android.widget.PopupWindow; +import android.widget.EditText;; import android.widget.Toast; import org.json.JSONObject; @@ -54,6 +48,8 @@ public class MainActivite extends Activity implements ASyncResponse, main_tab_fr private long mTimeToken; private String mUser; + private NfcAdapter mNfcAdapter; + @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); @@ -67,11 +63,12 @@ public class MainActivite extends Activity implements ASyncResponse, main_tab_fr mToken = null; getActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.colorPrimary))); + mNfcAdapter = NfcAdapter.getDefaultAdapter(getApplicationContext()); if(savedInstanceState == null){ FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); - main_tab_frag fragment = new main_tab_frag(); + ConnectionFragment fragment = new ConnectionFragment(); fragmentTransaction.add(R.id.fragment_container, fragment); fragmentTransaction.commit(); } @@ -120,6 +117,39 @@ public class MainActivite extends Activity implements ASyncResponse, main_tab_fr super.onSaveInstanceState(savedInstanceState); } + @Override + public void onPause() { + stopForegroundDispatch(this, mNfcAdapter); + super.onPause(); + } + + @Override + public void onResume() { + super.onResume(); + setupForegroundDispatch(this, mNfcAdapter); + } + + public static void setupForegroundDispatch(final Activity activity, NfcAdapter adapter){ + if(adapter != null){ + final Intent intent = new Intent(activity.getApplicationContext(), activity.getClass()); + intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); + final PendingIntent pendingIntent = PendingIntent.getActivity(activity.getApplicationContext(), 0, intent, 0); + adapter.enableForegroundDispatch(activity, pendingIntent, null, null); + } + else{ + Toast.makeText(activity, "Impossible d'initialiser le NFC", Toast.LENGTH_SHORT).show(); + } + } + + public static void stopForegroundDispatch(final Activity activity, NfcAdapter adapter) { + if(adapter != null){ + adapter.disableForegroundDispatch(activity); + } + else{ + Toast.makeText(activity, "Impossible d'initialiser le NFC", Toast.LENGTH_SHORT).show(); + } + } + public void valideCreationCompte(View v){ if((TextUtils.getTrimmedLength(mToken) == 30) && ((System.currentTimeMillis() - mTimeToken) < EXPIRATION)) { EditText champMontant = (EditText) findViewById(R.id.creation_montant); @@ -138,11 +168,16 @@ public class MainActivite extends Activity implements ASyncResponse, main_tab_fr mState = STATE_CREATION_COMPTE; champMontant.setText(null); - Intent intent = new Intent(this, CarteActivite.class); - intent.putExtra("token", mToken); - intent.putExtra("state", mState); - intent.putExtra("montant", montant); - startActivityForResult(intent, mState); + Bundle b = new Bundle(); + b.putString("token", mToken); + b.putInt("state", mState); + b.putFloat("montant", montant); + + + NFCFragment nfc = new NFCFragment(); + nfc.setArguments(b); + + getFragmentManager().beginTransaction().replace(R.id.fragment_container, nfc).addToBackStack(null).commit(); } else{ Toast.makeText(this, "Valeur incorrecte.", Toast.LENGTH_LONG).show(); @@ -185,12 +220,16 @@ public class MainActivite extends Activity implements ASyncResponse, main_tab_fr champMontant.setText(null); champQuantite.setText(null); - Intent intent = new Intent(this, CarteActivite.class); - intent.putExtra("token", mToken); - intent.putExtra("state", mState); - intent.putExtra("montant", montant); - intent.putExtra("quantite", quantite); - startActivityForResult(intent, mState); + Bundle b = new Bundle(); + b.putString("token", mToken); + b.putInt("state", mState); + b.putFloat("montant", montant); + b.putInt("quantite", quantite); + + NFCFragment nfc = new NFCFragment(); + nfc.setArguments(b); + + getFragmentManager().beginTransaction().replace(R.id.fragment_container, nfc).addToBackStack(null).commit(); } else{ Toast.makeText(this, "Valeur incorrecte ou droit insuffisant.", Toast.LENGTH_LONG).show(); @@ -221,11 +260,15 @@ public class MainActivite extends Activity implements ASyncResponse, main_tab_fr mState = STATE_RECHARGEMENT; champMontant.setText(null); - Intent intent = new Intent(this, CarteActivite.class); - intent.putExtra("token", mToken); - intent.putExtra("state", mState); - intent.putExtra("montant", montant); - startActivityForResult(intent, mState); + Bundle b = new Bundle(); + b.putString("token", mToken); + b.putInt("state", mState); + b.putFloat("montant", montant); + + NFCFragment nfc = new NFCFragment(); + nfc.setArguments(b); + + getFragmentManager().beginTransaction().replace(R.id.fragment_container, nfc).addToBackStack(null).commit(); } else{ Toast.makeText(this, "Valeur incorrecte.", Toast.LENGTH_LONG).show(); @@ -288,10 +331,14 @@ public class MainActivite extends Activity implements ASyncResponse, main_tab_fr if((mDroit >= 2)){ mState = STATE_VIDANGE; - Intent intent = new Intent(this, CarteActivite.class); - intent.putExtra("token", mToken); - intent.putExtra("state", mState); - startActivityForResult(intent, mState); + Bundle b = new Bundle(); + b.putString("token", mToken); + b.putInt("state", mState); + + NFCFragment nfc = new NFCFragment(); + nfc.setArguments(b); + + getFragmentManager().beginTransaction().replace(R.id.fragment_container, nfc).addToBackStack(null).commit(); } else{ Toast.makeText(this, "Droit insuffisant.", Toast.LENGTH_LONG).show(); @@ -303,55 +350,52 @@ public class MainActivite extends Activity implements ASyncResponse, main_tab_fr } @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data){ - //TODO: faire des choses avec ca - - mState = STATE_RIEN; - - try{ - JSONObject json = new JSONObject(data.getStringExtra("json")); - Toast.makeText(this, "Status: " + json.getString("status"), Toast.LENGTH_SHORT).show(); + protected void onNewIntent(Intent intent){ + super.onNewIntent(intent); + Fragment frag = getFragmentManager().findFragmentById(R.id.fragment_container); - } - catch (Throwable t){ - Toast.makeText(this, "Retour", Toast.LENGTH_SHORT).show(); - } - - - switch (requestCode) { - case STATE_COMMANDE: - break; - case STATE_CONNEXION: - break; - case STATE_CREATION_COMPTE: - break; - case STATE_RECHARGEMENT: - break; - case STATE_VIDANGE: - break; - case STATE_RIEN: - default: - Toast.makeText(this, "WTF, le cancer est dans l'application!!", Toast.LENGTH_LONG).show(); - break; + if(mState != STATE_RIEN && frag instanceof NFCFragment){ + NFCFragment nfc = (NFCFragment) frag; + nfc.handleIntent(intent); } } /* Retour du network thread */ @Override public void processFinish(JSONObject output) { + if(output.length() != 0){ try{ if(output.get("status").toString().equals("ok")){ - mToken = output.get("jeton").toString(); - mTimeToken = System.currentTimeMillis(); - mDroit = output.getInt("droit"); - mUser = output.get("login").toString(); - Toast.makeText(this, "Bonjour " + mUser + " vous êtes bien connecté pour " + EXPIRATION / (1000 * 60) + " minutes.", Toast.LENGTH_LONG).show(); - final ViewPager viewPager = (ViewPager) findViewById(R.id.pager); - viewPager.setCurrentItem(1); + switch (mState){ + case STATE_COMMANDE: + Snackbar.make(findViewById(R.id.coordinator), "Client débité de " + output.get("montant") + "€. " + output.get("soldeAncien") + "€ -> " + output.getString("soldeNouveau") + "€", Snackbar.LENGTH_INDEFINITE).show(); + break; + case STATE_CONNEXION: + mToken = output.get("jeton").toString(); + mTimeToken = System.currentTimeMillis(); + mDroit = output.getInt("droit"); + mUser = output.get("login").toString(); + Snackbar.make(findViewById(R.id.coordinator), "Bonjour " + mUser + " vous êtes connecté pour " + EXPIRATION / (1000 * 60) + " minutes.", Snackbar.LENGTH_SHORT).show(); + getFragmentManager().beginTransaction().replace(R.id.fragment_container, new main_tab_frag()).commit(); + break; + case STATE_CREATION_COMPTE: + Snackbar.make(findViewById(R.id.coordinator), "Client créé avec un solde de " + output.get("soldeNouveau") + "€", Snackbar.LENGTH_INDEFINITE).show(); + break; + case STATE_RECHARGEMENT: + Snackbar.make(findViewById(R.id.coordinator), "Client rechargé: " + output.get("soldeAncien") + "€ ->" + output.get("soldeNouveau") + "€", Snackbar.LENGTH_INDEFINITE).show(); + break; + case STATE_VIDANGE: + Snackbar.make(findViewById(R.id.coordinator), "Client vidé: " + output.get("soldeAncien") + "€ -> 0€", Snackbar.LENGTH_INDEFINITE).show(); + break; + case STATE_RIEN: + default: + Toast.makeText(this, "WTF, le cancer est dans l'application!!", Toast.LENGTH_LONG).show(); + break; + } } else{ - Toast.makeText(this, "Erreur dans la requête: " + output.get("status"), Toast.LENGTH_LONG).show(); + Toast.makeText(this, "Erreur: " + output.get("status"), Toast.LENGTH_LONG).show(); } } catch(Throwable t){ @@ -361,6 +405,9 @@ public class MainActivite extends Activity implements ASyncResponse, main_tab_fr else{ Toast.makeText(this, "Impossible de se connecter au serveur", Toast.LENGTH_LONG).show(); } + + mState = STATE_RIEN; + getFragmentManager().popBackStack(); } public String getToken(){ @@ -376,6 +423,7 @@ public class MainActivite extends Activity implements ASyncResponse, main_tab_fr mDroit = 0; mUser = null; mTimeToken = -1; + mState = STATE_RIEN; Toast.makeText(this, "Veuillez vous reconnecter.", Toast.LENGTH_SHORT).show(); final ViewPager viewPager = (ViewPager) findViewById(R.id.pager); diff --git a/PremiereActivite/app/src/main/java/com/example/app_10p5/NFCFragment.java b/PremiereActivite/app/src/main/java/com/example/app_10p5/NFCFragment.java new file mode 100644 index 0000000..9577aaa --- /dev/null +++ b/PremiereActivite/app/src/main/java/com/example/app_10p5/NFCFragment.java @@ -0,0 +1,116 @@ +package com.example.app_10p5; + +import android.app.Fragment; +import android.content.Intent; +import android.content.SharedPreferences; +import android.nfc.NfcAdapter; +import android.os.Bundle; +import android.preference.PreferenceManager; +import android.support.design.widget.Snackbar; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Toast; + +import java.net.URL; +import java.net.URLEncoder; +import java.util.HashMap; + +/** + * Created by beaus on 05/05/2016. + */ +public class NFCFragment extends Fragment { + private HashMap mParam; + private String mAPI; + + @Override + public void onCreate(Bundle savedInstanceState){ + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View ret = inflater.inflate(R.layout.layout_carte, container, false); + + mParam = new HashMap(); + + Bundle b = getArguments(); + + try { + switch (b.getInt("state")) { + case MainActivite.STATE_COMMANDE: + //TODO: XOR du cancer + //mParam.put("quantite", String.valueOf(getIntent().getIntExtra("quantite", -1))); + mParam.put("montant", URLEncoder.encode(String.valueOf(b.getFloat("montant")), "UTF-8")); + mParam.put("jeton", URLEncoder.encode(b.getString("token"), "UTF-8")); + mAPI = "api/client/payer"; + break; + case MainActivite.STATE_CREATION_COMPTE: + mParam.put("solde", URLEncoder.encode(String.valueOf(b.getFloat("montant")), "UTF-8")); + mParam.put("jeton", URLEncoder.encode(b.getString("token"), "UTF-8")); + mAPI = "api/client/ajouter"; + break; + case MainActivite.STATE_RECHARGEMENT: + System.out.println("bite"); + mParam.put("montant", URLEncoder.encode(String.valueOf(b.getFloat("montant")), "UTF-8")); + mParam.put("jeton", URLEncoder.encode(b.getString("token"), "UTF-8")); + mAPI = "api/client/recharger"; + break; + case MainActivite.STATE_VIDANGE: + mParam.put("jeton", URLEncoder.encode(b.getString("token"), "UTF-8")); + mAPI = "api/client/vidange"; + break; + case MainActivite.STATE_CONNEXION: //Impossible c'est pas géré ici + case MainActivite.STATE_RIEN: + default: + Snackbar.make(getActivity().findViewById(R.id.coordinator), "WTF, le cancer est dans l'application!!", Snackbar.LENGTH_INDEFINITE).show(); + } + } + catch (Throwable t){ + System.out.println("Exception: " + t.toString()); + } + + return ret; + } + + // Convertit l'array de byte en chaîne hexadécimale (si le byte = 0x63, str = "63"). + private String ByteArrayToHexString(byte [] inarray) { + int i, j, in; + String [] hex = {"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"}; + String out= ""; + for(j = 0 ; j < inarray.length ; ++j) + { + in = (int) inarray[j] & 0xff; + i = (in >> 4) & 0x0f; + out += hex[i]; + i = in & 0x0f; + out += hex[i]; + } + return out; + } + + + + public void handleIntent(Intent intent){ + if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { + String id_carte = ByteArrayToHexString(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID)); + mParam.put("idCarte", id_carte); + clientAPI(); + } + } + + + + public void clientAPI() { + try { + SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext()); + URL url = new URL(settings.getString("server_address", null) + mAPI); + NetworkThread nt = new NetworkThread(url, mParam); + nt.delegate = (MainActivite) getActivity(); + nt.execute(); + } + catch (Throwable t){ + Toast.makeText(getActivity().getApplicationContext(), "WTF, le cancer est dans l'application!! " + t.toString(), Toast.LENGTH_LONG).show(); + } + } +} diff --git a/PremiereActivite/app/src/main/java/com/example/app_10p5/PagerAdapter.java b/PremiereActivite/app/src/main/java/com/example/app_10p5/PagerAdapter.java index 2c83c6a..592d200 100644 --- a/PremiereActivite/app/src/main/java/com/example/app_10p5/PagerAdapter.java +++ b/PremiereActivite/app/src/main/java/com/example/app_10p5/PagerAdapter.java @@ -31,9 +31,6 @@ public class PagerAdapter extends FragmentStatePagerAdapter { case 3: TabFragment4 tab4 = new TabFragment4(); return tab4; - case 4: - TabFragment5 tab5 = new TabFragment5(); - return tab5; default: return null; } diff --git a/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment1.java b/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment1.java index 3ec34c7..f934c05 100644 --- a/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment1.java +++ b/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment1.java @@ -2,9 +2,11 @@ package com.example.app_10p5; import android.os.Bundle; import android.app.Fragment; +import android.text.InputFilter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.EditText; /** * Created by beaus on 24/04/2016. @@ -13,6 +15,10 @@ import android.view.ViewGroup; public class TabFragment1 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - return inflater.inflate(R.layout.tab_fragment_1, container, false); + View v = inflater.inflate(R.layout.tab_fragment_1, container, false); + EditText et = (EditText) v.findViewById(R.id.commande_prix); + et.setFilters(new InputFilter[]{new DecimalDigitsInputFilter(3, 2)}); + + return v; } } \ No newline at end of file diff --git a/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment2.java b/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment2.java index 2dded82..88a4ee2 100644 --- a/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment2.java +++ b/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment2.java @@ -2,11 +2,9 @@ package com.example.app_10p5; import android.os.Bundle; import android.app.Fragment; -import android.text.InputFilter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.EditText; /** * Created by beaus on 24/04/2016. @@ -16,11 +14,6 @@ public class TabFragment2 extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View v = inflater.inflate(R.layout.tab_fragment_2, container, false);; - - EditText et = (EditText) v.findViewById(R.id.commande_prix); - et.setFilters(new InputFilter[]{new DecimalDigitsInputFilter(3, 2)}); - - return v; + return inflater.inflate(R.layout.tab_fragment_2, container, false); } } diff --git a/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment5.java b/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment5.java deleted file mode 100644 index 7ba4abb..0000000 --- a/PremiereActivite/app/src/main/java/com/example/app_10p5/TabFragment5.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.example.app_10p5; - -import android.os.Bundle; -import android.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -/** - * Created by beaus on 24/04/2016. - */ - -public class TabFragment5 extends Fragment { - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - return inflater.inflate(R.layout.tab_fragment_5, container, false); - } -} \ No newline at end of file diff --git a/PremiereActivite/app/src/main/java/com/example/app_10p5/main_tab_frag.java b/PremiereActivite/app/src/main/java/com/example/app_10p5/main_tab_frag.java index 054f6b3..17f72ac 100644 --- a/PremiereActivite/app/src/main/java/com/example/app_10p5/main_tab_frag.java +++ b/PremiereActivite/app/src/main/java/com/example/app_10p5/main_tab_frag.java @@ -32,7 +32,6 @@ public class main_tab_frag extends Fragment { TabLayout tabLayout = (TabLayout) ret.findViewById(R.id.tab_layout); tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE); - tabLayout.addTab(tabLayout.newTab().setText("Connexion")); tabLayout.addTab(tabLayout.newTab().setText("Commande")); tabLayout.addTab(tabLayout.newTab().setText("Rechargement")); tabLayout.addTab(tabLayout.newTab().setText("Création")); diff --git a/PremiereActivite/app/src/main/res/layout/layout_main.xml b/PremiereActivite/app/src/main/res/layout/layout_main.xml index fb1b72c..cdbb646 100644 --- a/PremiereActivite/app/src/main/res/layout/layout_main.xml +++ b/PremiereActivite/app/src/main/res/layout/layout_main.xml @@ -1,6 +1,11 @@ + + diff --git a/PremiereActivite/app/src/main/res/layout/tab_fragment_1.xml b/PremiereActivite/app/src/main/res/layout/tab_fragment_1.xml index ebd6681..b5eefa3 100644 --- a/PremiereActivite/app/src/main/res/layout/tab_fragment_1.xml +++ b/PremiereActivite/app/src/main/res/layout/tab_fragment_1.xml @@ -4,6 +4,6 @@ android:layout_height="match_parent" android:orientation="vertical"> - + \ No newline at end of file diff --git a/PremiereActivite/app/src/main/res/layout/tab_fragment_2.xml b/PremiereActivite/app/src/main/res/layout/tab_fragment_2.xml index b5eefa3..96af496 100644 --- a/PremiereActivite/app/src/main/res/layout/tab_fragment_2.xml +++ b/PremiereActivite/app/src/main/res/layout/tab_fragment_2.xml @@ -4,6 +4,6 @@ android:layout_height="match_parent" android:orientation="vertical"> - + \ No newline at end of file diff --git a/PremiereActivite/app/src/main/res/layout/tab_fragment_3.xml b/PremiereActivite/app/src/main/res/layout/tab_fragment_3.xml index 96af496..5455b40 100644 --- a/PremiereActivite/app/src/main/res/layout/tab_fragment_3.xml +++ b/PremiereActivite/app/src/main/res/layout/tab_fragment_3.xml @@ -4,6 +4,6 @@ android:layout_height="match_parent" android:orientation="vertical"> - + \ No newline at end of file diff --git a/PremiereActivite/app/src/main/res/layout/tab_fragment_4.xml b/PremiereActivite/app/src/main/res/layout/tab_fragment_4.xml index 5455b40..092bc4e 100644 --- a/PremiereActivite/app/src/main/res/layout/tab_fragment_4.xml +++ b/PremiereActivite/app/src/main/res/layout/tab_fragment_4.xml @@ -4,6 +4,6 @@ android:layout_height="match_parent" android:orientation="vertical"> - + \ No newline at end of file diff --git a/PremiereActivite/app/src/main/res/layout/tab_fragment_5.xml b/PremiereActivite/app/src/main/res/layout/tab_fragment_5.xml deleted file mode 100644 index 092bc4e..0000000 --- a/PremiereActivite/app/src/main/res/layout/tab_fragment_5.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file -- libgit2 0.21.2