aboutsummaryrefslogtreecommitdiffstats
path: root/apps/SdkController/SdkControllerSensor
diff options
context:
space:
mode:
Diffstat (limited to 'apps/SdkController/SdkControllerSensor')
-rwxr-xr-xapps/SdkController/SdkControllerSensor/.classpath1
-rwxr-xr-xapps/SdkController/SdkControllerSensor/AndroidManifest.xml2
-rwxr-xr-xapps/SdkController/SdkControllerSensor/res/values/strings.xml2
-rwxr-xr-xapps/SdkController/SdkControllerSensor/src/com/android/tools/sdkcontroller/sdkcontrollersensor/SdkControllerSensorActivity.java61
4 files changed, 42 insertions, 24 deletions
diff --git a/apps/SdkController/SdkControllerSensor/.classpath b/apps/SdkController/SdkControllerSensor/.classpath
index a4f1e40..57a5df6 100755
--- a/apps/SdkController/SdkControllerSensor/.classpath
+++ b/apps/SdkController/SdkControllerSensor/.classpath
@@ -4,5 +4,6 @@
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/SdkControllerLib"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
diff --git a/apps/SdkController/SdkControllerSensor/AndroidManifest.xml b/apps/SdkController/SdkControllerSensor/AndroidManifest.xml
index 0255cc9..62cc096 100755
--- a/apps/SdkController/SdkControllerSensor/AndroidManifest.xml
+++ b/apps/SdkController/SdkControllerSensor/AndroidManifest.xml
@@ -30,7 +30,7 @@
<activity
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden|mcc|mnc|locale|touchscreen|keyboard|navigation|screenLayout|fontScale"
- android:name=".SdkControllerSensorActivity" >
+ android:name=".SdkControllerSensorActivity" android:launchMode="singleInstance">
<intent-filter >
<action android:name="android.intent.action.MAIN" />
diff --git a/apps/SdkController/SdkControllerSensor/res/values/strings.xml b/apps/SdkController/SdkControllerSensor/res/values/strings.xml
index 29bfa5f..b082a67 100755
--- a/apps/SdkController/SdkControllerSensor/res/values/strings.xml
+++ b/apps/SdkController/SdkControllerSensor/res/values/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <string name="app_name">SDK Controller Sensor</string>
+ <string name="app_name">Sensors SDK Controller</string>
</resources>
diff --git a/apps/SdkController/SdkControllerSensor/src/com/android/tools/sdkcontroller/sdkcontrollersensor/SdkControllerSensorActivity.java b/apps/SdkController/SdkControllerSensor/src/com/android/tools/sdkcontroller/sdkcontrollersensor/SdkControllerSensorActivity.java
index d640f2b..285ea8e 100755
--- a/apps/SdkController/SdkControllerSensor/src/com/android/tools/sdkcontroller/sdkcontrollersensor/SdkControllerSensorActivity.java
+++ b/apps/SdkController/SdkControllerSensor/src/com/android/tools/sdkcontroller/sdkcontrollersensor/SdkControllerSensorActivity.java
@@ -18,21 +18,21 @@ package com.android.tools.sdkcontroller.sdkcontrollersensor;
import java.util.ArrayList;
import java.util.List;
-import java.io.IOException;
import android.app.Activity;
+import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
-import android.hardware.Sensor;
import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
import android.widget.CheckBox;
-import android.widget.TextView;
+import android.widget.CompoundButton;
import android.widget.TableLayout;
import android.widget.TableRow;
-import android.widget.CompoundButton;
-import android.view.LayoutInflater;
-import android.util.Log;
+import android.widget.TextView;
+import android.widget.Toast;
import com.android.tools.sdkcontroller.lib.EmulatorConnection;
import com.android.tools.sdkcontroller.lib.EmulatorConnection.EmulatorConnectionType;
@@ -367,16 +367,23 @@ public class SdkControllerSensorActivity extends Activity implements EmulatorLis
}
// Instantiate emulator connector.
- try {
- // Sensor emulator starts very early during emulator startup. So, as
- // discussed in comments to Emulator class, we must use synchronous
- // type of connection with the emulator.
- mEmulator = new EmulatorConnection(EmulatorConnection.SENSORS_PORT,
- EmulatorConnectionType.SYNC_CONNECTION,
- this);
- } catch (IOException e) {
- Loge("Exception while creating server socket: " + e.getMessage());
- finish();
+ // This will call onEmulatorBindResult with the result.
+ // Sensor emulator starts very early during emulator startup. So, as
+ // discussed in comments to Emulator class, we must use synchronous
+ // type of connection with the emulator.
+ mEmulator = new EmulatorConnection(EmulatorConnection.SENSORS_PORT,
+ EmulatorConnectionType.SYNC_CONNECTION,
+ this);
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+
+ if (mEmulator != null) {
+ mEmulator.setEmulatorListener(null);
+ mEmulator.disconnect();
+ mEmulator = null;
}
}
@@ -415,12 +422,22 @@ public class SdkControllerSensorActivity extends Activity implements EmulatorLis
}
// Instantiate emulator connector for the next client.
- try {
- mEmulator = new EmulatorConnection(EmulatorConnection.SENSORS_PORT,
- EmulatorConnectionType.SYNC_CONNECTION,
- this);
- } catch (IOException e) {
- Loge("Exception while creating server socket: " + e.getMessage());
+ // This will call onEmulatorBindResult with the result.
+ mEmulator = new EmulatorConnection(EmulatorConnection.SENSORS_PORT,
+ EmulatorConnectionType.SYNC_CONNECTION,
+ this);
+ }
+
+ /**
+ * Called with the result from {@code new EmulatorConnection}
+ */
+ @Override
+ public void onEmulatorBindResult(boolean success, Exception e) {
+ if (!success) {
+ String msg = "Failed to connect to server socket";
+ if (e != null) msg += ": " + e.toString();
+ Loge(msg);
+ Toast.makeText(this, msg, Toast.LENGTH_LONG).show();
finish();
}
}