Initial implementation of bluetooth classes
This commit is contained in:
parent
a7704dc9cd
commit
97328f9978
6 changed files with 254 additions and 182 deletions
|
|
@ -38,6 +38,8 @@
|
||||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||||
|
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||||
|
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
|
||||||
<uses-permission android:name="android.permission.CALL_PHONE" />
|
<uses-permission android:name="android.permission.CALL_PHONE" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.SEND_SMS" />
|
<uses-permission android:name="android.permission.SEND_SMS" />
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,12 @@
|
||||||
package com.ericsson.uecontrol.core.logic;
|
package com.ericsson.uecontrol.core.logic;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.bluetooth.BluetoothAdapter;
|
|
||||||
import android.bluetooth.BluetoothDevice;
|
import android.bluetooth.BluetoothDevice;
|
||||||
import android.bluetooth.BluetoothServerSocket;
|
|
||||||
import android.bluetooth.BluetoothSocket;
|
|
||||||
import android.content.BroadcastReceiver;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.IntentFilter;
|
|
||||||
import com.ericsson.uecontrol.core.UeBehaviour;
|
import com.ericsson.uecontrol.core.UeBehaviour;
|
||||||
import com.ericsson.uecontrol.core.util.Configurator.Configurable;
|
import com.ericsson.uecontrol.core.util.BluetoothServer;
|
||||||
import com.ericsson.uecontrol.gui.MainActivity;
|
import com.ericsson.uecontrol.core.util.BluetoothUtil;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.util.List;
|
||||||
import java.util.Set;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by ezivkoc on 2015-01-19.
|
* Created by ezivkoc on 2015-01-19.
|
||||||
|
|
@ -27,11 +17,16 @@ public class UeBehaviourSynchronize extends UeBehaviour {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void execute() throws Exception {
|
protected void execute() throws Exception {
|
||||||
log.debug("Terminating execution");
|
log.debug("Searching paired devices...");
|
||||||
super.getExecutor().setNextBehaviour(0);
|
List<BluetoothDevice> devices = BluetoothUtil.filterWithService(BluetoothUtil.getPairedDevices(), SERVICE_UUID);
|
||||||
log.debug("Resetting executor");
|
if(devices.isEmpty()){
|
||||||
super.getExecutor().reset();
|
log.debug("No paired devices found, starting discovery...");
|
||||||
Thread.sleep(VISUAL_SLEEP_PERIOD); // Sleep as a visual queue
|
devices = BluetoothUtil.filterWithService(BluetoothUtil.discover(), SERVICE_UUID);
|
||||||
|
if(devices.isEmpty()){
|
||||||
|
log.debug("No discoverable devices, setting up server...");
|
||||||
|
//BluetoothServer server = new BluetoothServer("uecontrol_sync", SERVICE_UUID);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -42,169 +37,6 @@ public class UeBehaviourSynchronize extends UeBehaviour {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "Will stop synchronize with a remote device";
|
return "Will synchronize with another remote device";
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class AcceptThread extends Thread {
|
|
||||||
private final BluetoothServerSocket mmServerSocket;
|
|
||||||
|
|
||||||
public AcceptThread() {
|
|
||||||
// Use a temporary object that is later assigned to mmServerSocket,
|
|
||||||
// because mmServerSocket is final
|
|
||||||
BluetoothServerSocket tmp = null;
|
|
||||||
try {
|
|
||||||
BluetoothAdapter mBluetoothAdapter = BluetoothUtil.getAdapter();
|
|
||||||
// MY_UUID is the app's UUID string, also used by the client code
|
|
||||||
tmp = mBluetoothAdapter.listenUsingRfcommWithServiceRecord("uecontrol", UUID.fromString(SERVICE_UUID));
|
|
||||||
} catch (IOException e) { }
|
|
||||||
mmServerSocket = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void run() {
|
|
||||||
try {
|
|
||||||
BluetoothSocket socket = null;
|
|
||||||
// Keep listening until exception occurs or a socket is returned
|
|
||||||
while (true) {
|
|
||||||
try {
|
|
||||||
socket = mmServerSocket.accept();
|
|
||||||
} catch (IOException e) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
// If a connection was accepted
|
|
||||||
if (socket != null) {
|
|
||||||
// Do work to manage the connection (in a separate thread)
|
|
||||||
manageConnectedSocket(socket);
|
|
||||||
mmServerSocket.close();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}catch (Exception e){
|
|
||||||
log.trace(null, e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void manageConnectedSocket(BluetoothSocket socket) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Will cancel the listening socket, and cause the thread to finish */
|
|
||||||
public void cancel() {
|
|
||||||
try {
|
|
||||||
mmServerSocket.close();
|
|
||||||
} catch (IOException e) { }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private class ConnectThread extends Thread {
|
|
||||||
private final BluetoothSocket mmSocket;
|
|
||||||
private final BluetoothDevice mmDevice;
|
|
||||||
|
|
||||||
public ConnectThread(BluetoothDevice device) {
|
|
||||||
// Use a temporary object that is later assigned to mmSocket,
|
|
||||||
// because mmSocket is final
|
|
||||||
BluetoothSocket tmp = null;
|
|
||||||
mmDevice = device;
|
|
||||||
|
|
||||||
// Get a BluetoothSocket to connect with the given BluetoothDevice
|
|
||||||
try {
|
|
||||||
// MY_UUID is the app's UUID string, also used by the server code
|
|
||||||
tmp = device.createRfcommSocketToServiceRecord(UUID.fromString(SERVICE_UUID));
|
|
||||||
} catch (IOException e) { }
|
|
||||||
mmSocket = tmp;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void run() {
|
|
||||||
BluetoothAdapter mBluetoothAdapter = BluetoothUtil.getAdapter();
|
|
||||||
// Cancel discovery because it will slow down the connection
|
|
||||||
mBluetoothAdapter.cancelDiscovery();
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Connect the device through the socket. This will block
|
|
||||||
// until it succeeds or throws an exception
|
|
||||||
mmSocket.connect();
|
|
||||||
} catch (IOException connectException) {
|
|
||||||
// Unable to connect; close the socket and get out
|
|
||||||
try {
|
|
||||||
mmSocket.close();
|
|
||||||
} catch (IOException closeException) { }
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Do work to manage the connection (in a separate thread)
|
|
||||||
manageConnectedSocket(mmSocket);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void manageConnectedSocket(BluetoothSocket mmSocket) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Will cancel an in-progress connection, and close the socket */
|
|
||||||
public void cancel() {
|
|
||||||
try {
|
|
||||||
mmSocket.close();
|
|
||||||
} catch (IOException e) { }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
class BluetoothUtil{
|
|
||||||
public static BluetoothAdapter getAdapter(){
|
|
||||||
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
|
|
||||||
if (mBluetoothAdapter == null) {
|
|
||||||
if (!mBluetoothAdapter.isEnabled()) {
|
|
||||||
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
|
|
||||||
((Activity)MainActivity.getContext()).startActivityForResult(enableBtIntent, 1515);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return mBluetoothAdapter;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void getPairedDevices(){
|
|
||||||
BluetoothAdapter mBluetoothAdapter = getAdapter();
|
|
||||||
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
|
|
||||||
// If there are paired devices
|
|
||||||
if (pairedDevices.size() > 0) {
|
|
||||||
// Loop through paired devices
|
|
||||||
for (BluetoothDevice device : pairedDevices) {
|
|
||||||
// Add the name and address to an array adapter to show in a ListView
|
|
||||||
//log.debug("Paired: " + device.getName() + "\n" + device.getAddress());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void discover(){
|
|
||||||
// Create a BroadcastReceiver for ACTION_FOUND
|
|
||||||
final BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
|
||||||
public void onReceive(Context context, Intent intent) {
|
|
||||||
String action = intent.getAction();
|
|
||||||
// When discovery finds a device
|
|
||||||
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
|
|
||||||
// Get the BluetoothDevice object from the Intent
|
|
||||||
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
|
|
||||||
// Add the name and address to an array adapter to show in a ListView
|
|
||||||
//log.debug("Discovered: "+device.getName() + "\n" + device.getAddress());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
// Register the BroadcastReceiver
|
|
||||||
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
|
|
||||||
MainActivity.getContext().registerReceiver(mReceiver, filter); // Don't forget to unregister during onDestroy
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDiscoverable(){
|
|
||||||
Intent discoverableIntent = new
|
|
||||||
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
|
|
||||||
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
|
|
||||||
MainActivity.getContext().startActivity(discoverableIntent);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
65
app/src/main/java/com/ericsson/uecontrol/core/util/BluetoothClient.java
Executable file
65
app/src/main/java/com/ericsson/uecontrol/core/util/BluetoothClient.java
Executable file
|
|
@ -0,0 +1,65 @@
|
||||||
|
package com.ericsson.uecontrol.core.util;
|
||||||
|
|
||||||
|
import android.bluetooth.BluetoothAdapter;
|
||||||
|
import android.bluetooth.BluetoothDevice;
|
||||||
|
import android.bluetooth.BluetoothSocket;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class BluetoothClient extends Thread {
|
||||||
|
private static final Logger log = Logger.getLogger(BluetoothClient.class);
|
||||||
|
|
||||||
|
private BluetoothSocket mmSocket;
|
||||||
|
private BluetoothDevice mmDevice;
|
||||||
|
|
||||||
|
public BluetoothClient(BluetoothDevice device, String service_uuid) {
|
||||||
|
mmDevice = device;
|
||||||
|
|
||||||
|
// Get a BluetoothSocket to connect with the given BluetoothDevice
|
||||||
|
try {
|
||||||
|
// MY_UUID is the app's UUID string, also used by the server code
|
||||||
|
mmSocket = device.createRfcommSocketToServiceRecord(UUID.fromString(service_uuid));
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.trace(null, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void run() {
|
||||||
|
BluetoothAdapter mBluetoothAdapter = BluetoothUtil.getAdapter();
|
||||||
|
// Cancel discovery because it will slow down the connection
|
||||||
|
mBluetoothAdapter.cancelDiscovery();
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Connect the device through the socket. This will block
|
||||||
|
// until it succeeds or throws an exception
|
||||||
|
mmSocket.connect();
|
||||||
|
} catch (IOException connectException) {
|
||||||
|
// Unable to connect; close the socket and get out
|
||||||
|
try {
|
||||||
|
mmSocket.close();
|
||||||
|
} catch (IOException closeException) {
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Do work to manage the connection (in a separate thread)
|
||||||
|
manageConnectedSocket(mmSocket);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void manageConnectedSocket(BluetoothSocket mmSocket) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Will terminate an in-progress connection, and close the socket
|
||||||
|
*/
|
||||||
|
public void close() {
|
||||||
|
try {
|
||||||
|
mmSocket.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.trace(null, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
61
app/src/main/java/com/ericsson/uecontrol/core/util/BluetoothServer.java
Executable file
61
app/src/main/java/com/ericsson/uecontrol/core/util/BluetoothServer.java
Executable file
|
|
@ -0,0 +1,61 @@
|
||||||
|
package com.ericsson.uecontrol.core.util;
|
||||||
|
|
||||||
|
import android.bluetooth.BluetoothAdapter;
|
||||||
|
import android.bluetooth.BluetoothServerSocket;
|
||||||
|
import android.bluetooth.BluetoothSocket;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class BluetoothServer extends Thread {
|
||||||
|
private static final Logger log = Logger.getLogger(BluetoothServer.class);
|
||||||
|
|
||||||
|
private BluetoothServerSocket mmServerSocket;
|
||||||
|
|
||||||
|
public BluetoothServer(String service, String service_uuid) {
|
||||||
|
try {
|
||||||
|
BluetoothAdapter mBluetoothAdapter = BluetoothUtil.getAdapter();
|
||||||
|
// MY_UUID is the app's UUID string, also used by the client code
|
||||||
|
mmServerSocket = mBluetoothAdapter.listenUsingRfcommWithServiceRecord(service, UUID.fromString(service_uuid));
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.trace(null, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
BluetoothSocket socket = null;
|
||||||
|
// Keep listening until exception occurs or a socket is returned
|
||||||
|
while (true) {
|
||||||
|
try {
|
||||||
|
socket = mmServerSocket.accept();
|
||||||
|
} catch (IOException e) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// If a connection was accepted
|
||||||
|
if (socket != null) {
|
||||||
|
// Do work to manage the connection (in a separate thread)
|
||||||
|
manageConnectedSocket(socket);
|
||||||
|
mmServerSocket.close();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
log.trace(null, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void manageConnectedSocket(BluetoothSocket socket) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Will cancel the listening socket, and cause the thread to finish
|
||||||
|
*/
|
||||||
|
public void close() {
|
||||||
|
try {
|
||||||
|
mmServerSocket.close();
|
||||||
|
} catch (IOException e) { }
|
||||||
|
}
|
||||||
|
}
|
||||||
111
app/src/main/java/com/ericsson/uecontrol/core/util/BluetoothUtil.java
Executable file
111
app/src/main/java/com/ericsson/uecontrol/core/util/BluetoothUtil.java
Executable file
|
|
@ -0,0 +1,111 @@
|
||||||
|
package com.ericsson.uecontrol.core.util;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.bluetooth.BluetoothAdapter;
|
||||||
|
import android.bluetooth.BluetoothDevice;
|
||||||
|
import android.content.BroadcastReceiver;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.IntentFilter;
|
||||||
|
import com.ericsson.uecontrol.gui.MainActivity;
|
||||||
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public class BluetoothUtil {
|
||||||
|
private static final Logger log = Logger.getLogger(BluetoothUtil.class);
|
||||||
|
|
||||||
|
public static BluetoothAdapter getAdapter() {
|
||||||
|
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
|
||||||
|
if (mBluetoothAdapter != null) {
|
||||||
|
if (!mBluetoothAdapter.isEnabled()) {
|
||||||
|
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
|
||||||
|
((Activity) MainActivity.getContext()).startActivityForResult(enableBtIntent, 1515);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
log.error("Device does not support Bluetooth");
|
||||||
|
return mBluetoothAdapter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<BluetoothDevice> getPairedDevices() {
|
||||||
|
ArrayList<BluetoothDevice> list = new ArrayList<BluetoothDevice>();
|
||||||
|
BluetoothAdapter mBluetoothAdapter = getAdapter();
|
||||||
|
|
||||||
|
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
|
||||||
|
for (BluetoothDevice device : pairedDevices) {
|
||||||
|
log.debug("Paired device: " + device.getName() + " | " + device.getAddress());
|
||||||
|
list.add(device);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<BluetoothDevice> discover() {
|
||||||
|
final ArrayList<BluetoothDevice> list = new ArrayList<BluetoothDevice>();
|
||||||
|
BluetoothAdapter mBluetoothAdapter = getAdapter();
|
||||||
|
|
||||||
|
// Create a BroadcastReceiver for ACTION_FOUND
|
||||||
|
final BroadcastReceiver mReceiver = new BroadcastReceiver() {
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
String action = intent.getAction();
|
||||||
|
// When discovery finds a device
|
||||||
|
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
|
||||||
|
// Get the BluetoothDevice object from the Intent
|
||||||
|
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
|
||||||
|
|
||||||
|
log.debug("Discovered: " + device.getName() + " | " + device.getAddress());
|
||||||
|
list.add(device);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Register the BroadcastReceiver
|
||||||
|
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
|
||||||
|
MainActivity.getContext().registerReceiver(mReceiver, filter); // Don't forget to unregister during onDestroy
|
||||||
|
|
||||||
|
log.debug("Starting Bluetooth discovery...");
|
||||||
|
mBluetoothAdapter.startDiscovery();
|
||||||
|
|
||||||
|
Thread.sleep(12000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
log.trace(null, e);
|
||||||
|
} finally {
|
||||||
|
log.debug("Canceling Bluetooth discovery...");
|
||||||
|
mBluetoothAdapter.cancelDiscovery();
|
||||||
|
MainActivity.getContext().unregisterReceiver(mReceiver);
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean containsService(BluetoothDevice device, String service_uuid){
|
||||||
|
if(device == null || device.getUuids() == null)
|
||||||
|
return false;
|
||||||
|
UUID uuid = UUID.fromString(service_uuid);
|
||||||
|
for(int i=0; i<device.getUuids().length; i++){
|
||||||
|
if(device.getUuids()[i].getUuid().equals(uuid)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static List<BluetoothDevice> filterWithService(List<BluetoothDevice> list, String service_uuid){
|
||||||
|
ArrayList<BluetoothDevice> filtered = new ArrayList<BluetoothDevice>();
|
||||||
|
for(int i=0; i<list.size(); i++){
|
||||||
|
if(containsService(list.get(i), service_uuid))
|
||||||
|
filtered.add(list.get(i));
|
||||||
|
}
|
||||||
|
return filtered;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDiscoverable() {
|
||||||
|
Intent discoverableIntent = new
|
||||||
|
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
|
||||||
|
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 60);
|
||||||
|
MainActivity.getContext().startActivity(discoverableIntent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
<item>com.ericsson.uecontrol.core.logic.UeBehaviourIterator</item>
|
<item>com.ericsson.uecontrol.core.logic.UeBehaviourIterator</item>
|
||||||
<item>com.ericsson.uecontrol.core.logic.UeBehaviourStop</item>
|
<item>com.ericsson.uecontrol.core.logic.UeBehaviourStop</item>
|
||||||
|
<item>com.ericsson.uecontrol.core.logic.UeBehaviourSynchronize</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="throughput_types">
|
<string-array name="throughput_types">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue