diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 440c1d7..58992cc 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -5,13 +5,19 @@
-
+
+
+
+
+
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 5d19981..fbb6828 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -37,7 +37,7 @@
-
+
diff --git a/app/build.gradle b/app/build.gradle
index 27ac1f0..0511738 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.application'
android {
compileSdkVersion 23
- buildToolsVersion '23.0.3'
+ buildToolsVersion '23.0.2'
defaultConfig {
applicationId "de.fhws.indoor.sensorreadout"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 6eabe13..fbdcffd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,9 +2,9 @@
>
-
+
diff --git a/app/src/main/java/de/fhws/indoor/sensorreadout/MainActivity.java b/app/src/main/java/de/fhws/indoor/sensorreadout/MainActivity.java
index a5219a0..4d1ead3 100644
--- a/app/src/main/java/de/fhws/indoor/sensorreadout/MainActivity.java
+++ b/app/src/main/java/de/fhws/indoor/sensorreadout/MainActivity.java
@@ -2,6 +2,7 @@ package de.fhws.indoor.sensorreadout;
import android.Manifest;
import android.app.Activity;
+import android.app.ActivityManager;
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Color;
@@ -9,6 +10,9 @@ import android.media.MediaPlayer;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.ActivityCompat;
+import android.support.v4.content.pm.ActivityInfoCompat;
+import android.support.wearable.activity.WearableActivity;
+import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
@@ -31,7 +35,7 @@ import de.fhws.indoor.sensorreadout.sensors.mySensor;
import de.fhws.indoor.sensorreadout.sensors.SensorType;
-public class MainActivity extends Activity {
+public class MainActivity extends WearableActivity {
private final ArrayList sensors = new ArrayList();
private final Logger logger = new Logger(this);
@@ -195,6 +199,7 @@ public class MainActivity extends Activity {
@Override public void onData(final SensorType id, final String csv) {return; }
});
+
// bluetooth permission
if(ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.ACCESS_FINE_LOCATION)) {
@@ -204,6 +209,7 @@ public class MainActivity extends Activity {
MY_PERMISSIONS_REQUEST_READ_BT);
}
+
// heartbeat permission
/* if(ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.BODY_SENSORS)) {
@@ -221,7 +227,8 @@ public class MainActivity extends Activity {
loadCounterAny = 0;
logger.start();
final TextView txt = (TextView) findViewById(R.id.txtFile);
- txt.setText(logger.getFile().getAbsolutePath());
+ String path = logger.getFile().getAbsolutePath();
+ txt.setText(path.substring(path.length()-17, path.length()));
for (final mySensor s : sensors) {s.onResume(this);}
}
@@ -272,6 +279,23 @@ public class MainActivity extends Activity {
/** resume activity */
protected void onResume() {
super.onResume();
+
+
+ //print memory info
+ ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();
+ ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
+ activityManager.getMemoryInfo(mi);
+ long availableMegs = mi.availMem / 1048576L;
+
+ Runtime info = Runtime.getRuntime();
+ long freeSize = info.freeMemory();
+ long totalSize = info.totalMemory();
+ long usedSize = totalSize - freeSize;
+
+ Log.d("MemoryInfo: ", String.valueOf(availableMegs));
+ Log.d("FreeSize: ", String.valueOf(freeSize));
+ Log.d("TotalSize: ", String.valueOf(totalSize));
+ Log.d("usedSize: ", String.valueOf(usedSize));
}
@Override
diff --git a/app/src/main/java/de/fhws/indoor/sensorreadout/sensors/WiFi.java b/app/src/main/java/de/fhws/indoor/sensorreadout/sensors/WiFi.java
index fd4f0f5..834614d 100644
--- a/app/src/main/java/de/fhws/indoor/sensorreadout/sensors/WiFi.java
+++ b/app/src/main/java/de/fhws/indoor/sensorreadout/sensors/WiFi.java
@@ -7,6 +7,7 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
+import android.os.Debug;
import android.util.Log;
import java.util.List;
@@ -28,21 +29,35 @@ public class WiFi extends mySensor {
this.wifi = (WifiManager) act.getSystemService(Context.WIFI_SERVICE);
isReceiverRegistered = true;
- this.receiver = new BroadcastReceiver() {
- @Override public void onReceive(Context context, Intent intent) {
- final StringBuilder sb = new StringBuilder(1024);
- final List res = wifi.getScanResults();
- for(final ScanResult sr : res) {
- sb.append(Helper.stripMAC(sr.BSSID)).append(';');
- sb.append(sr.frequency).append(';');
- sb.append(sr.level).append(';');
- }
- if (listener != null && isReceiverRegistered) {listener.onData(sb.toString());}
- startScan();
- //Log.d("wifi", sb.toString());
- }
- };
+ this.wifi.setWifiEnabled(false);
+ this.wifi.setWifiEnabled(true);
+
+ if (wifi == null) {
+ throw new MyException("WIFI not supported!");
+ }
+ if (wifi.isWifiEnabled()) {
+ this.receiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ final StringBuilder sb = new StringBuilder(1024);
+ final List res = wifi.getScanResults();
+ for (final ScanResult sr : res) {
+ sb.append(Helper.stripMAC(sr.BSSID)).append(';');
+ sb.append(sr.frequency).append(';');
+ sb.append(sr.level).append(';');
+ }
+ if (listener != null && isReceiverRegistered) {
+ listener.onData(sb.toString());
+ }
+ startScan();
+ //Log.d("wifi", sb.toString());
+ }
+ };
+ }
+ else {
+ throw new MyException("WIFI not supported!");
+ }
}
@@ -52,8 +67,10 @@ public class WiFi extends mySensor {
try {
//Method startScanActiveMethod = wifi.getClass().getMethod("startScanActive");
//startScanActiveMethod.invoke(wifi);
- wifi.startScan();
- Log.d("wifi", "start scan");
+ if(!wifi.startScan()){
+ throw new MyException("Cant start WiFi!");
+ }
+ //Log.d("wifi", "start scan");
}catch (final Exception e) {
throw new RuntimeException(e);
}
@@ -64,7 +81,7 @@ public class WiFi extends mySensor {
act.registerReceiver(this.receiver, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
isReceiverRegistered = true;
wifi.createWifiLock(wifi.WIFI_MODE_SCAN_ONLY, "ipin");
- wifi.disconnect();
+ //wifi.disconnect();
startScan();
}
diff --git a/app/src/main/java/de/fhws/indoor/sensorreadout/sensors/iBeacon.java b/app/src/main/java/de/fhws/indoor/sensorreadout/sensors/iBeacon.java
index 7ab7d55..3cc2017 100644
--- a/app/src/main/java/de/fhws/indoor/sensorreadout/sensors/iBeacon.java
+++ b/app/src/main/java/de/fhws/indoor/sensorreadout/sensors/iBeacon.java
@@ -57,8 +57,10 @@ public class iBeacon extends mySensor {
private final void enableBT(final Activity act) {
if (bt == null) {throw new RuntimeException("BT not supported!");}
- Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
- act.startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
+ if (!bt.isEnabled()) {
+ Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
+ act.startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
+ }
}
@Override public void onResume(final Activity act) {