From 4fe2d9ae4536d22859baee2a33ba421273484ce4 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Thu, 23 Oct 2014 18:08:03 +0300 Subject: [PATCH] Request bluetooth to be discoverable on start. --- .../ensichat/activities/MainActivity.scala | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/app/src/main/scala/com/nutomic/ensichat/activities/MainActivity.scala b/app/src/main/scala/com/nutomic/ensichat/activities/MainActivity.scala index 751c2c3..94b7d68 100644 --- a/app/src/main/scala/com/nutomic/ensichat/activities/MainActivity.scala +++ b/app/src/main/scala/com/nutomic/ensichat/activities/MainActivity.scala @@ -4,27 +4,30 @@ import android.app.Activity import android.bluetooth.BluetoothAdapter import android.content._ import android.os.Bundle -import android.view.{MenuItem, Menu} +import android.view.{Menu, MenuItem} import android.widget.Toast import com.nutomic.ensichat.R import com.nutomic.ensichat.bluetooth.ChatService /** - * Main activity, holds fragments and requests bluetooth to be enabled. + * Main activity, holds fragments and requests Bluetooth to be discoverable. */ class MainActivity extends Activity { - private final val RequestEnableBluetooth = 1 + private val RequestSetDiscoverable = 1 /** - * Initializes layout, starts service and requests bluetooth. + * Initializes layout, starts service and requests Bluetooth to be discoverable. */ override def onCreate(savedInstanceState: Bundle): Unit = { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) startService(new Intent(this, classOf[ChatService])) - val intent: Intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) - startActivityForResult(intent, RequestEnableBluetooth) + + val intent: Intent = new + Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE) + intent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0) + startActivityForResult(intent, RequestSetDiscoverable) } /** @@ -36,12 +39,12 @@ class MainActivity extends Activity { } /** - * Exits with error if bluetooth was not enabled, + * Exits with error if bluetooth was not enabled/not set discoverable, */ override def onActivityResult(requestCode: Int, resultCode: Int, data: Intent): Unit = { requestCode match { - case RequestEnableBluetooth => - if (resultCode != Activity.RESULT_OK) { + case RequestSetDiscoverable => + if (resultCode == Activity.RESULT_CANCELED) { Toast.makeText(this, R.string.bluetooth_required, Toast.LENGTH_LONG).show() finish() }