Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.kaanaxinc.portalstudio;
- import android.app.Activity;
- import android.bluetooth.BluetoothAdapter;
- import android.bluetooth.BluetoothDevice;
- import android.bluetooth.BluetoothSocket;
- import android.content.Intent;
- import android.graphics.drawable.Drawable;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.ParcelUuid;
- import android.text.Editable;
- import android.text.TextWatcher;
- import android.util.Log;
- import android.view.KeyEvent;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.View.OnKeyListener;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.CheckBox;
- import android.widget.EditText;
- import android.widget.ImageButton;
- import android.widget.ListView;
- import android.widget.RadioGroup;
- import android.widget.TextView;
- import android.widget.Toast;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.io.UnsupportedEncodingException;
- import java.text.NumberFormat;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Set;
- public class MainActivity extends Activity {
- // La chaîne de caractères par défaut
- private final String defaut = "default";
- ImageButton logo = null;
- ImageButton boutonPortail = null;
- EditText codeEntered = null;
- TextView codeSurNotice = null;
- Handler bluetoothIn;
- final int handlerState = 0;
- String messageFinal = "jmesoiejsmoi";
- int[] imageBoutons = {
- R.drawable.boutonouvrir,
- R.drawable.ouvertureencours,
- R.drawable.boutonfermer,
- R.drawable.fermetureencours
- };
- int boutonState = 0;
- BluetoothAdapter blueAdapter = BluetoothAdapter.getDefaultAdapter();
- private OutputStream outputStream;
- private InputStream inStream;
- private void init() throws IOException {
- if (blueAdapter != null) {
- if (blueAdapter.isEnabled()) {
- Set<BluetoothDevice> bondedDevices = blueAdapter.getBondedDevices();
- if(bondedDevices.size() > 0){
- String listview3 = "";
- BluetoothDevice bt2 = null;
- ArrayList<String> listview =
- new ArrayList<String>();//(Arrays.asList(bondedDevices.toString()));
- for(BluetoothDevice bt : bondedDevices) {
- listview3 += (bt.getName());
- listview3 += " - ";
- bt2 = bt;
- }
- //codeSurNotice.setText(listview3);
- BluetoothDevice device = bt2;
- ParcelUuid[] uuids = device.getUuids();
- BluetoothSocket socket = device.createRfcommSocketToServiceRecord(uuids[0].getUuid());
- socket.connect();
- outputStream = socket.getOutputStream();
- inStream = socket.getInputStream();
- }
- Log.e("error", "No appropriate paired devices.");
- }else{
- Log.e("error", "Bluetooth is disabled.");
- }
- }
- }
- public void write(String s) throws IOException {
- outputStream.write(s.getBytes());
- }
- void beginListenForData()
- {
- Thread workerThread = new Thread(new Runnable()
- {
- public void run() {
- byte[] buffer = new byte[256];
- int bytes;
- while(!Thread.currentThread().isInterrupted()) {
- try {
- bytes = inStream.read(buffer); //read bytes from input buffer
- String readMessage = new String(buffer, 0, bytes);
- // Send the obtained bytes to the UI Activity via handler
- bluetoothIn.obtainMessage(handlerState, bytes, -1, readMessage).sendToTarget();
- } catch (IOException e) {
- break;
- }
- }
- }
- });
- workerThread.start();
- }
- void checkBluetooth() {
- //Prompt user to turn on Bluetooth if Bluetooth is disabled
- if (!blueAdapter.isEnabled()) {
- Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
- startActivityForResult(enableBtIntent, 1);
- }
- }
- void codeCorrect() {
- setContentView(R.layout.activity_readytopress);
- //boutonPortail.setOnClickListener(boutonPortailListener);
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // On récupère toutes les vues dont on a besoin
- logo = (ImageButton)findViewById(R.id.logo);
- boutonPortail = (ImageButton)findViewById(R.id.boutonPortail);
- codeEntered = (EditText)findViewById(R.id.codeEntered);
- codeSurNotice = (TextView)findViewById(R.id.codeSurNotice);
- // On attribue un listener adapté aux vues qui en ont besoin
- logo.setOnClickListener(boutonPortailListener);
- codeEntered.addTextChangedListener(textWatcher);
- codeEntered.setOnKeyListener(codeEnteredListener);
- checkBluetooth();
- try {
- init();
- } catch (IOException e2) {
- }
- bluetoothIn = new Handler() {
- public void handleMessage(android.os.Message msg) {
- if (msg.what == handlerState) {
- messageFinal += (String) msg.obj; //for some reason removing the + causes it to remove the first character
- if (messageFinal.contains("@1-L#")) {
- codeCorrect();
- } else {
- if (messageFinal.contains("1-L#")) {
- codeSurNotice.setText("Problème de transmission.");
- } else {
- codeSurNotice.setText("Le code entré est incorrect. Vous avez entré :" + codeEntered.getText());
- }
- }
- }
- }
- };
- }
- public void onResume() {
- super.onResume();
- // connection methods are best here in case program goes into the background etc
- checkBluetooth();
- }
- private TextWatcher textWatcher = new TextWatcher() {
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
- codeSurNotice.setText(defaut);
- }
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- }
- @Override
- public void afterTextChanged(Editable s) {
- }
- };
- // Uniquement pour le bouton "envoyer"
- private OnClickListener logoListener = new OnClickListener() {
- @Override
- public void onClick(View v) {
- try {
- init();
- } catch (IOException e2) {
- }
- }
- };
- private OnClickListener boutonPortailListener = new OnClickListener() {
- @Override
- public void onClick(View v) {
- boutonState++;
- if(boutonState>=4)
- boutonState=0;
- boutonPortail.setImageResource(R.drawable.boutonfermer);
- }
- };
- private OnKeyListener codeEnteredListener = new OnKeyListener() {
- @Override
- public boolean onKey(View v, int keyCode, KeyEvent event) {
- if ((keyCode == KeyEvent.KEYCODE_ENTER) && (event.getAction() == KeyEvent.ACTION_DOWN)) {
- String aEnvoyer = codeEntered.getText().toString();
- messageFinal = "";
- try {
- write(aEnvoyer);
- } catch (IOException e1) {
- Toast.makeText(getBaseContext(), "PortalStudio n'a pas pu envoyer le code.", Toast.LENGTH_SHORT).show();
- }
- beginListenForData();
- return true;
- }
- return false;
- }
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement