Advertisement
Guest User

Untitled

a guest
Jan 27th, 2016
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.27 KB | None | 0 0
  1. package com.kaanaxinc.portalstudio;
  2.  
  3. import android.app.Activity;
  4. import android.bluetooth.BluetoothAdapter;
  5. import android.bluetooth.BluetoothDevice;
  6. import android.bluetooth.BluetoothSocket;
  7. import android.content.Intent;
  8. import android.graphics.drawable.Drawable;
  9. import android.os.Bundle;
  10. import android.os.Handler;
  11. import android.os.ParcelUuid;
  12. import android.text.Editable;
  13. import android.text.TextWatcher;
  14. import android.util.Log;
  15. import android.view.KeyEvent;
  16. import android.view.MotionEvent;
  17. import android.view.View;
  18. import android.view.View.OnClickListener;
  19. import android.view.View.OnKeyListener;
  20. import android.widget.ArrayAdapter;
  21. import android.widget.Button;
  22. import android.widget.CheckBox;
  23. import android.widget.EditText;
  24. import android.widget.ImageButton;
  25. import android.widget.ListView;
  26. import android.widget.RadioGroup;
  27. import android.widget.TextView;
  28. import android.widget.Toast;
  29.  
  30. import java.io.IOException;
  31. import java.io.InputStream;
  32. import java.io.OutputStream;
  33. import java.io.UnsupportedEncodingException;
  34. import java.text.NumberFormat;
  35. import java.util.ArrayList;
  36. import java.util.Arrays;
  37. import java.util.List;
  38. import java.util.Set;
  39.  
  40. public class MainActivity extends Activity {
  41. // La chaîne de caractères par défaut
  42. private final String defaut = "default";
  43.  
  44. ImageButton logo = null;
  45. ImageButton boutonPortail = null;
  46. EditText codeEntered = null;
  47.  
  48. TextView codeSurNotice = null;
  49. Handler bluetoothIn;
  50. final int handlerState = 0;
  51. String messageFinal = "jmesoiejsmoi";
  52. int[] imageBoutons = {
  53. R.drawable.boutonouvrir,
  54. R.drawable.ouvertureencours,
  55. R.drawable.boutonfermer,
  56. R.drawable.fermetureencours
  57. };
  58.  
  59. int boutonState = 0;
  60.  
  61. BluetoothAdapter blueAdapter = BluetoothAdapter.getDefaultAdapter();
  62. private OutputStream outputStream;
  63. private InputStream inStream;
  64.  
  65. private void init() throws IOException {
  66.  
  67.  
  68. if (blueAdapter != null) {
  69. if (blueAdapter.isEnabled()) {
  70. Set<BluetoothDevice> bondedDevices = blueAdapter.getBondedDevices();
  71.  
  72. if(bondedDevices.size() > 0){
  73. String listview3 = "";
  74. BluetoothDevice bt2 = null;
  75. ArrayList<String> listview =
  76. new ArrayList<String>();//(Arrays.asList(bondedDevices.toString()));
  77. for(BluetoothDevice bt : bondedDevices) {
  78. listview3 += (bt.getName());
  79. listview3 += " - ";
  80. bt2 = bt;
  81. }
  82. //codeSurNotice.setText(listview3);
  83.  
  84.  
  85. BluetoothDevice device = bt2;
  86. ParcelUuid[] uuids = device.getUuids();
  87. BluetoothSocket socket = device.createRfcommSocketToServiceRecord(uuids[0].getUuid());
  88. socket.connect();
  89. outputStream = socket.getOutputStream();
  90. inStream = socket.getInputStream();
  91. }
  92.  
  93. Log.e("error", "No appropriate paired devices.");
  94. }else{
  95. Log.e("error", "Bluetooth is disabled.");
  96. }
  97. }
  98. }
  99.  
  100. public void write(String s) throws IOException {
  101. outputStream.write(s.getBytes());
  102. }
  103.  
  104. void beginListenForData()
  105. {
  106. Thread workerThread = new Thread(new Runnable()
  107. {
  108. public void run() {
  109.  
  110. byte[] buffer = new byte[256];
  111. int bytes;
  112.  
  113. while(!Thread.currentThread().isInterrupted()) {
  114. try {
  115. bytes = inStream.read(buffer); //read bytes from input buffer
  116. String readMessage = new String(buffer, 0, bytes);
  117. // Send the obtained bytes to the UI Activity via handler
  118. bluetoothIn.obtainMessage(handlerState, bytes, -1, readMessage).sendToTarget();
  119. } catch (IOException e) {
  120. break;
  121. }
  122. }
  123. }
  124. });
  125.  
  126. workerThread.start();
  127. }
  128.  
  129. void checkBluetooth() {
  130. //Prompt user to turn on Bluetooth if Bluetooth is disabled
  131. if (!blueAdapter.isEnabled()) {
  132. Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
  133. startActivityForResult(enableBtIntent, 1);
  134. }
  135. }
  136.  
  137. void codeCorrect() {
  138. setContentView(R.layout.activity_readytopress);
  139. //boutonPortail.setOnClickListener(boutonPortailListener);
  140. }
  141.  
  142. @Override
  143. public void onCreate(Bundle savedInstanceState) {
  144. super.onCreate(savedInstanceState);
  145. setContentView(R.layout.activity_main);
  146. // On récupère toutes les vues dont on a besoin
  147. logo = (ImageButton)findViewById(R.id.logo);
  148. boutonPortail = (ImageButton)findViewById(R.id.boutonPortail);
  149. codeEntered = (EditText)findViewById(R.id.codeEntered);
  150. codeSurNotice = (TextView)findViewById(R.id.codeSurNotice);
  151. // On attribue un listener adapté aux vues qui en ont besoin
  152. logo.setOnClickListener(boutonPortailListener);
  153. codeEntered.addTextChangedListener(textWatcher);
  154. codeEntered.setOnKeyListener(codeEnteredListener);
  155.  
  156. checkBluetooth();
  157.  
  158. try {
  159. init();
  160. } catch (IOException e2) {
  161.  
  162. }
  163. bluetoothIn = new Handler() {
  164. public void handleMessage(android.os.Message msg) {
  165. if (msg.what == handlerState) {
  166. messageFinal += (String) msg.obj; //for some reason removing the + causes it to remove the first character
  167. if (messageFinal.contains("@1-L#")) {
  168. codeCorrect();
  169. } else {
  170. if (messageFinal.contains("1-L#")) {
  171. codeSurNotice.setText("Problème de transmission.");
  172. } else {
  173. codeSurNotice.setText("Le code entré est incorrect. Vous avez entré :" + codeEntered.getText());
  174. }
  175. }
  176. }
  177. }
  178. };
  179.  
  180. }
  181.  
  182. public void onResume() {
  183. super.onResume();
  184. // connection methods are best here in case program goes into the background etc
  185. checkBluetooth();
  186. }
  187.  
  188.  
  189. private TextWatcher textWatcher = new TextWatcher() {
  190.  
  191. @Override
  192. public void onTextChanged(CharSequence s, int start, int before, int count) {
  193. codeSurNotice.setText(defaut);
  194. }
  195. @Override
  196. public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  197.  
  198. }
  199. @Override
  200. public void afterTextChanged(Editable s) {
  201.  
  202. }
  203. };
  204.  
  205. // Uniquement pour le bouton "envoyer"
  206. private OnClickListener logoListener = new OnClickListener() {
  207. @Override
  208. public void onClick(View v) {
  209. try {
  210. init();
  211. } catch (IOException e2) {
  212.  
  213. }
  214. }
  215. };
  216.  
  217. private OnClickListener boutonPortailListener = new OnClickListener() {
  218. @Override
  219. public void onClick(View v) {
  220. boutonState++;
  221. if(boutonState>=4)
  222. boutonState=0;
  223. boutonPortail.setImageResource(R.drawable.boutonfermer);
  224.  
  225. }
  226. };
  227.  
  228. private OnKeyListener codeEnteredListener = new OnKeyListener() {
  229. @Override
  230. public boolean onKey(View v, int keyCode, KeyEvent event) {
  231. if ((keyCode == KeyEvent.KEYCODE_ENTER) && (event.getAction() == KeyEvent.ACTION_DOWN)) {
  232. String aEnvoyer = codeEntered.getText().toString();
  233. messageFinal = "";
  234. try {
  235. write(aEnvoyer);
  236. } catch (IOException e1) {
  237. Toast.makeText(getBaseContext(), "PortalStudio n'a pas pu envoyer le code.", Toast.LENGTH_SHORT).show();
  238. }
  239. beginListenForData();
  240. return true;
  241. }
  242.  
  243. return false;
  244. }
  245. };
  246.  
  247. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement