Advertisement
Guest User

Untitled

a guest
Jul 20th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.69 KB | None | 0 0
  1. package com.example.alex.returnzero;
  2.  
  3. import android.Manifest;
  4. import android.bluetooth.BluetoothAdapter;
  5. import android.bluetooth.BluetoothDevice;
  6. import android.bluetooth.BluetoothSocket;
  7. import android.content.BroadcastReceiver;
  8. import android.content.Context;
  9. import android.content.Intent;
  10. import android.content.IntentFilter;
  11. import android.graphics.Color;
  12. import android.graphics.PorterDuff;
  13. import android.graphics.drawable.Drawable;
  14. import android.graphics.drawable.StateListDrawable;
  15. import android.media.AudioRecord;
  16. import android.media.MediaPlayer;
  17. import android.support.v4.app.ActivityCompat;
  18. import android.support.v7.app.AppCompatActivity;
  19. import android.os.Bundle;
  20. import android.util.Pair;
  21. import android.view.MotionEvent;
  22. import android.view.View;
  23. import android.widget.AdapterView;
  24. import android.widget.ArrayAdapter;
  25. import android.widget.ImageButton;
  26. import android.widget.ListView;
  27. import android.widget.Toast;
  28.  
  29. import java.io.IOException;
  30. import java.util.ArrayList;
  31. import java.util.Set;
  32. import java.util.UUID;
  33.  
  34.  
  35. public class MainActivity extends AppCompatActivity {
  36.  
  37. ImageButton one, many;
  38. ImageButton connect, disconnect;
  39. boolean broadcasting ;
  40. private BluetoothAdapter bluetoothAdapter;
  41. private ArrayList<String> mDeviceList = new ArrayList<String>();
  42. private static final UUID MY_UUID = UUID.fromString("0000110E-0000-1000-8000-00805F9B34FB");
  43. ListView listView;
  44. boolean isConnected = false;
  45. BluetoothConnector bluetoothConnector = null;
  46. AudioInput audioInput = null;
  47. private static int BufferElements2Rec = 1024;
  48.  
  49. @Override
  50. protected void onCreate(Bundle savedInstanceState) {
  51. super.onCreate(savedInstanceState);
  52. int MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION = 1;
  53. ActivityCompat.requestPermissions(this,
  54. new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.RECORD_AUDIO },
  55. MY_PERMISSIONS_REQUEST_ACCESS_COARSE_LOCATION);
  56. setContentView(R.layout.activity_main);
  57. broadcasting = false;
  58. many = findViewById(R.id.button);
  59. bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
  60. Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
  61.  
  62. many.setOnClickListener(new View.OnClickListener() {
  63. @Override
  64. public void onClick(View v) {
  65. Intent intent = new Intent(MainActivity.this, OneToMany.class);
  66. startActivity(intent);
  67. }
  68. });
  69. one = findViewById(R.id.button2);
  70. one.setOnClickListener(new View.OnClickListener() {
  71. @Override
  72. public void onClick(View v) {
  73. Intent intent = new Intent(MainActivity.this, OneToOne.class);
  74. startActivity(intent);
  75. }
  76. });
  77. connect = findViewById(R.id.connect);
  78.  
  79. connect.setOnClickListener(new View.OnClickListener() {
  80.  
  81. @Override
  82. public void onClick(View v) {
  83. if(!broadcasting)
  84. {
  85. if (bluetoothConnector != null) {
  86. AudioInputFactory audioInputFactory = new AudioInputFactory();
  87. AudioRecord audioRecord = audioInputFactory.findAudioRecord();
  88. audioInput = new AudioInput(audioRecord);
  89. audioInput.setBluetoothConnector(bluetoothConnector);
  90. try {
  91. audioInput.start();
  92. } catch (IOException e) {
  93. e.printStackTrace();
  94. }
  95. }
  96. Toast.makeText(MainActivity.this,
  97. "Connected to network", Toast.LENGTH_LONG).show();
  98. broadcasting = true;
  99.  
  100. // audioPlayer();
  101. }
  102.  
  103. }
  104. });
  105. disconnect = findViewById(R.id.disconnect);
  106. disconnect.setOnClickListener(new View.OnClickListener() {
  107.  
  108. @Override
  109. public void onClick(View v)
  110. {
  111. if(broadcasting)
  112. {
  113. Toast.makeText(MainActivity.this,
  114. "Disconnected from network", Toast.LENGTH_LONG).show();
  115. broadcasting = false;
  116. if (bluetoothConnector != null) {
  117. try {
  118. bluetoothConnector.read(BufferElements2Rec);
  119. } catch (IOException e) {
  120. e.printStackTrace();
  121. }
  122. }
  123. Toast.makeText(MainActivity.this,
  124. "Connected to network", Toast.LENGTH_LONG).show();
  125. broadcasting = true;
  126.  
  127. }
  128.  
  129. }
  130. });
  131. bluetoothAdapter.startDiscovery();
  132. listView = (ListView) findViewById(R.id.listView);
  133. for(BluetoothDevice bt : pairedDevices) {
  134. if (bt.getName() != null && bt.getName().contains("HMI"))
  135. mDeviceList.add(bt.getName() + "\n" + bt.getAddress());
  136.  
  137. listView.setAdapter(new ArrayAdapter<String>(this,
  138. android.R.layout.simple_list_item_1, mDeviceList));
  139. //listView.getItemAtPosition(mDeviceList.size()-1)
  140. }
  141. listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  142. @Override
  143. public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
  144. String data=(String)adapterView.getItemAtPosition(i);
  145. String address = data.substring(data.length()-17);
  146. System.out.println(address);
  147. BluetoothDevice connect_device = bluetoothAdapter.getRemoteDevice(address);
  148.  
  149. bluetoothConnector = new BluetoothConnector(connect_device, false, bluetoothAdapter, null);
  150.  
  151. try {
  152. bluetoothConnector.connect();
  153. bluetoothConnector.write("start".getBytes(), 4);
  154. isConnected = true;
  155. //
  156. // BluetoothSocket bluetoothSocket = bluetoothConnector.getBluetoothSocket();
  157. // bluetoothSocket.connect();
  158.  
  159. // new MainActivity1.clientSock().start();
  160. } catch (IOException e) {
  161. isConnected = false;
  162. e.printStackTrace();
  163. }
  164.  
  165. }
  166. });
  167.  
  168. IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
  169. registerReceiver(mReceiver, filter);
  170.  
  171. }
  172.  
  173. private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
  174. public void onReceive(Context context, Intent intent) {
  175. String action = intent.getAction();
  176. if (BluetoothDevice.ACTION_FOUND.equals(action)) {
  177. BluetoothDevice device = intent
  178. .getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
  179. if (device.getName() != null && device.getName().contains("HMI"))
  180. mDeviceList.add(device.getName() + "\n" + device.getAddress());
  181.  
  182. System.out.println("BT" + device.getName() + "\n" + device.getAddress());
  183. //boolean add = uuids.add(new Pair(device.getAddress(), device.getUuids()));
  184.  
  185. listView.setAdapter(new ArrayAdapter<String>(context,
  186. android.R.layout.simple_list_item_1, mDeviceList));
  187. }
  188. }
  189. };
  190.  
  191. public void audioPlayer() {
  192. MediaPlayer mp = MediaPlayer.create(MainActivity.this, R.raw.muzica);
  193. mp.start();
  194.  
  195. }
  196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement