Blame view

PremiereActivite/app/src/main/java/com/example/app_10p5/NFCFragment.java 3.65 KB
c8059613   JLo'w   Re-fonte de l'app...
1
2
  package com.example.app_10p5;
  
6feece85   JLo'w   ajout NFC
3
  import android.content.Intent;
edd209be   JLo'w   URL encode + pref...
4
  import android.content.SharedPreferences;
6feece85   JLo'w   ajout NFC
5
  import android.nfc.NfcAdapter;
c8059613   JLo'w   Re-fonte de l'app...
6
  import android.os.Bundle;
edd209be   JLo'w   URL encode + pref...
7
  import android.preference.PreferenceManager;
76de4d29   JLo'w   Connexion et NFC ...
8
9
10
11
  import android.support.design.widget.Snackbar;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
6feece85   JLo'w   ajout NFC
12
13
  import android.widget.Toast;
  
520cecde   JLo'w   Un petit plus, un...
14
  import java.net.URL;
edd209be   JLo'w   URL encode + pref...
15
  import java.net.URLEncoder;
520cecde   JLo'w   Un petit plus, un...
16
  import java.util.HashMap;
c8059613   JLo'w   Re-fonte de l'app...
17
18
  
  /**
fde33444   JLo'w   Update header ave...
19
   * Created by Jean-loup Beaussart on 05/05/2016.
c8059613   JLo'w   Re-fonte de l'app...
20
   */
6ff8ec9b   JLo'w   Système d'héritag...
21
  public class NFCFragment extends NFC {
520cecde   JLo'w   Un petit plus, un...
22
23
24
      private HashMap<String, String> mParam;
      private String mAPI;
  
c8059613   JLo'w   Re-fonte de l'app...
25
      @Override
76de4d29   JLo'w   Connexion et NFC ...
26
27
      public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
          View ret = inflater.inflate(R.layout.layout_carte, container, false);
6feece85   JLo'w   ajout NFC
28
  
d57b6aad   JLo'w   Oups paramètres n...
29
          mParam = new HashMap<String, String>();
520cecde   JLo'w   Un petit plus, un...
30
  
76de4d29   JLo'w   Connexion et NFC ...
31
32
          Bundle b = getArguments();
  
edd209be   JLo'w   URL encode + pref...
33
          try {
86ba2e51   JLo'w   XOR du cancer
34
              mParam.put("jeton", URLEncoder.encode(b.getString("token"), "UTF-8"));
76de4d29   JLo'w   Connexion et NFC ...
35
              switch (b.getInt("state")) {
edd209be   JLo'w   URL encode + pref...
36
                  case MainActivite.STATE_COMMANDE:
86ba2e51   JLo'w   XOR du cancer
37
38
39
40
41
42
43
                      if(b.getInt("quantite") != 0){
                          mParam.put("quantite", URLEncoder.encode(String.valueOf(b.getInt("quantite")), "UTF-8"));
                      }
                      else{
                          mParam.put("montant", URLEncoder.encode(String.valueOf(b.getFloat("montant")), "UTF-8"));
  
                      }
edd209be   JLo'w   URL encode + pref...
44
45
46
                      mAPI = "api/client/payer";
                      break;
                  case MainActivite.STATE_CREATION_COMPTE:
76de4d29   JLo'w   Connexion et NFC ...
47
                      mParam.put("solde", URLEncoder.encode(String.valueOf(b.getFloat("montant")), "UTF-8"));
edd209be   JLo'w   URL encode + pref...
48
49
50
                      mAPI = "api/client/ajouter";
                      break;
                  case MainActivite.STATE_RECHARGEMENT:
76de4d29   JLo'w   Connexion et NFC ...
51
                      mParam.put("montant", URLEncoder.encode(String.valueOf(b.getFloat("montant")), "UTF-8"));
edd209be   JLo'w   URL encode + pref...
52
53
54
                      mAPI = "api/client/recharger";
                      break;
                  case MainActivite.STATE_VIDANGE:
edd209be   JLo'w   URL encode + pref...
55
56
57
                      mAPI = "api/client/vidange";
                      break;
                  case MainActivite.STATE_CONNEXION:  //Impossible c'est pas géré ici
2596297c   JLo'w   Ajout d'annuler e...
58
59
                  case MainActivite.STATE_ANNULER:
                  case MainActivite.STATE_REFAIRE:
edd209be   JLo'w   URL encode + pref...
60
                  case MainActivite.STATE_RIEN:
9142a050   JLo'w   Ajout de l'appel ...
61
                  case MainActivite.STATE_DECONNEXION:
edd209be   JLo'w   URL encode + pref...
62
                  default:
76de4d29   JLo'w   Connexion et NFC ...
63
                      Snackbar.make(getActivity().findViewById(R.id.coordinator), "WTF, le cancer est dans l'application!!", Snackbar.LENGTH_INDEFINITE).show();
edd209be   JLo'w   URL encode + pref...
64
65
66
67
              }
          }
          catch (Throwable t){
              System.out.println("Exception: " + t.toString());
86ba2e51   JLo'w   XOR du cancer
68
              Snackbar.make(getActivity().findViewById(R.id.coordinator), "WTF, le cancer est dans l'application!! " + t.toString(), Snackbar.LENGTH_INDEFINITE).show();
520cecde   JLo'w   Un petit plus, un...
69
70
          }
  
76de4d29   JLo'w   Connexion et NFC ...
71
          return ret;
6feece85   JLo'w   ajout NFC
72
73
      }
  
6ff8ec9b   JLo'w   Système d'héritag...
74
      @Override
76de4d29   JLo'w   Connexion et NFC ...
75
      public void handleIntent(Intent intent){
6ff8ec9b   JLo'w   Système d'héritag...
76
77
78
          String id_carte = ByteArrayToHexString(intent.getByteArrayExtra(NfcAdapter.EXTRA_ID));
          mParam.put("idCarte", id_carte);
          clientAPI();
6feece85   JLo'w   ajout NFC
79
80
      }
  
76de4d29   JLo'w   Connexion et NFC ...
81
  
0e3ce293   JLo'w   Corrections mineu...
82
      private void clientAPI() {
520cecde   JLo'w   Un petit plus, un...
83
          try {
76de4d29   JLo'w   Connexion et NFC ...
84
              SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getActivity().getApplicationContext());
edd209be   JLo'w   URL encode + pref...
85
              URL url = new URL(settings.getString("server_address", null) + mAPI);
520cecde   JLo'w   Un petit plus, un...
86
              NetworkThread nt = new NetworkThread(url, mParam);
76de4d29   JLo'w   Connexion et NFC ...
87
              nt.delegate = (MainActivite) getActivity();
520cecde   JLo'w   Un petit plus, un...
88
89
90
              nt.execute();
          }
          catch (Throwable t){
76de4d29   JLo'w   Connexion et NFC ...
91
              Toast.makeText(getActivity().getApplicationContext(), "WTF, le cancer est dans l'application!! " + t.toString(), Toast.LENGTH_LONG).show();
520cecde   JLo'w   Un petit plus, un...
92
93
          }
      }
c8059613   JLo'w   Re-fonte de l'app...
94
  }