From ee621a7d7849ccfdad7d98a2c4ae297e00490976 Mon Sep 17 00:00:00 2001 From: Felix Ableitner Date: Sat, 22 Aug 2015 19:42:28 +0200 Subject: [PATCH] Don't show Bluetooth visibility dialog so often. --- .../activities/FirstStartActivity.scala | 4 +++- .../ensichat/activities/MainActivity.scala | 19 ++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/src/main/scala/com/nutomic/ensichat/activities/FirstStartActivity.scala b/app/src/main/scala/com/nutomic/ensichat/activities/FirstStartActivity.scala index 05c54ec..d66367f 100644 --- a/app/src/main/scala/com/nutomic/ensichat/activities/FirstStartActivity.scala +++ b/app/src/main/scala/com/nutomic/ensichat/activities/FirstStartActivity.scala @@ -76,7 +76,9 @@ class FirstStartActivity extends AppCompatActivity with OnEditorActionListener w } def startMainActivity(): Unit = { - startActivity(new Intent(this, classOf[MainActivity])) + val intent = new Intent(this, classOf[MainActivity]) + intent.setAction(MainActivity.ActionRequestBluetooth) + startActivity(intent) finish() } 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 a4a8550..b430a10 100644 --- a/app/src/main/scala/com/nutomic/ensichat/activities/MainActivity.scala +++ b/app/src/main/scala/com/nutomic/ensichat/activities/MainActivity.scala @@ -12,9 +12,18 @@ import com.nutomic.ensichat.protocol.Address object MainActivity { + /** + * If this action is set, a dialog will be shown to request the device to be discoverable. + * + * This should only be used when the app is started from a launcher + * (eg from [[FirstStartActivity]]). + */ + val ActionRequestBluetooth = "request_bluetooth" + val ActionOpenChat = "open_chat" val ExtraAddress = "address" + } /** @@ -35,9 +44,13 @@ class MainActivity extends EnsichatActivity { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - val intent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE) - intent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0) - startActivityForResult(intent, RequestSetDiscoverable) + if (getIntent.getAction == MainActivity.ActionRequestBluetooth) { + val intent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE) + intent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 0) + startActivityForResult(intent, RequestSetDiscoverable) + // Make sure this code isn't executed after screen rotate etc. + getIntent.setAction(null) + } val fm = getFragmentManager if (savedInstanceState != null) {