diff --git a/app/build.gradle b/app/build.gradle index 0cd1406..043da82 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' apply plugin: 'com.google.gms.google-services' android { - compileSdkVersion 33 + compileSdk 34 // Android 14 useLibrary 'org.apache.http.legacy' defaultConfig { applicationId "uk.org.openseizuredetector" - minSdkVersion 23 - targetSdkVersion 33 + minSdkVersion 23 // Android 6 + targetSdkVersion 33 // Android 13 multiDexEnabled true } @@ -42,15 +42,15 @@ dependencies { // how we use ValueFormatter // FIXME: Update mainactivity so we can use the latest version. implementation 'com.github.PhilJay:MPAndroidChart:v2.1.3' - implementation 'com.getpebble:pebblekit:3.1.0@aar' + implementation 'com.getpebble:pebblekit:4.0.1@aar' // Unit testing dependencies - implementation 'androidx.constraintlayout:constraintlayout:2.1.3' - implementation 'com.google.android.material:material:1.4.0' - implementation 'com.google.firebase:firebase-auth:19.2.0' - implementation 'androidx.test:core:1.4.0' - implementation 'com.google.android.gms:play-services-tflite-java:16.0.0' - implementation 'com.google.android.gms:play-services-tflite-support:16.0.0' - implementation 'androidx.appcompat:appcompat:1.4.1' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'com.google.android.material:material:1.11.0' + implementation 'com.google.firebase:firebase-auth:22.3.1' + implementation 'androidx.test:core:1.5.0' + implementation 'com.google.android.gms:play-services-tflite-java:16.1.0' + implementation 'com.google.android.gms:play-services-tflite-support:16.1.0' + implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation 'org.apache.commons:commons-math3:3.6.1' // google play services used for location finding for SMS alerts. @@ -60,16 +60,16 @@ dependencies { implementation 'com.google.android.gms:play-services-location:+' //implementation 'com.github.RohitSurwase.UCE-Handler:uce_handler:1.3' implementation 'com.android.volley:volley:1.2.1' - implementation platform('com.google.firebase:firebase-bom:29.2.0') + implementation platform('com.google.firebase:firebase-bom:32.7.1') implementation 'com.google.firebase:firebase-analytics' - implementation 'com.firebaseui:firebase-ui-auth:7.2.0' + implementation 'com.firebaseui:firebase-ui-auth:8.0.2' implementation 'com.google.firebase:firebase-firestore' - implementation 'androidx.navigation:navigation-fragment:2.5.2' - implementation 'androidx.navigation:navigation-ui:2.5.2' + implementation 'androidx.navigation:navigation-fragment:2.7.6' + implementation 'androidx.navigation:navigation-ui:2.7.6' testImplementation 'junit:junit:4.13.2' testImplementation "androidx.test:core" - testImplementation 'org.mockito:mockito-core:4.3.1' + testImplementation 'org.mockito:mockito-core:5.9.0' //testImplementation 'org.hamcrest:hamcrest-library:2.2' //testImplementation 'org.robolectric:robolectric:4.7.3' diff --git a/app/src/main/assets/pinetime_sd.zip b/app/src/main/assets/pinetime_sd.zip new file mode 100644 index 0000000..b320637 Binary files /dev/null and b/app/src/main/assets/pinetime_sd.zip differ diff --git a/app/src/main/java/uk/org/openseizuredetector/FragmentCommon.java b/app/src/main/java/uk/org/openseizuredetector/FragmentCommon.java index 57c0785..4030ada 100644 --- a/app/src/main/java/uk/org/openseizuredetector/FragmentCommon.java +++ b/app/src/main/java/uk/org/openseizuredetector/FragmentCommon.java @@ -130,6 +130,11 @@ public class FragmentCommon extends FragmentOsdBaseClass { tv.setBackgroundColor(alarmColour); tv.setTextColor(alarmTextColour); } + if (mConnection.mSdServer.mSdData.alarmState == 4) { + tv.setText(R.string.Fault); + tv.setBackgroundColor(warnColour); + tv.setTextColor(warnTextColour); + } tv = (TextView) mRootView.findViewById(R.id.algsTv); @@ -196,15 +201,18 @@ public class FragmentCommon extends FragmentOsdBaseClass { } tv = (TextView) mRootView.findViewById(R.id.dataSourceInfoTv); + tv.setBackgroundColor(okColour); + tv.setTextColor(okTextColour); if (mConnection.mSdServer.mSdDataSourceName.equals("Phone")) { tv.setText(getString(R.string.DataSource) + " = " + "Phone (Demo Mode)"); tv.setBackgroundColor(warnColour); tv.setTextColor(warnTextColour); + } else if (mConnection.mSdServer.mSdDataSourceName.equals("BLE")) { + tv.setText(getString(R.string.DataSource) + " = " + mConnection.mSdServer.mSdDataSourceName + + " ("+ mConnection.mSdServer.mSdData.watchSdName + ", " + + mConnection.mSdServer.mSdData.watchPartNo+")"); } else { tv.setText(getString(R.string.DataSource) + " = " + mConnection.mSdServer.mSdDataSourceName); - tv.setBackgroundColor(okColour); - tv.setTextColor(okTextColour); - } // deal with latch alarms button diff --git a/app/src/main/java/uk/org/openseizuredetector/FragmentSystem.java b/app/src/main/java/uk/org/openseizuredetector/FragmentSystem.java index 19e22f5..4c34f24 100644 --- a/app/src/main/java/uk/org/openseizuredetector/FragmentSystem.java +++ b/app/src/main/java/uk/org/openseizuredetector/FragmentSystem.java @@ -159,7 +159,9 @@ public class FragmentSystem extends FragmentOsdBaseClass { tv.setTextColor(warnTextColour); } tv = (TextView) mRootView.findViewById(R.id.battTv); - tv.setText(getString(R.string.WatchBatteryEquals) + String.valueOf(mConnection.mSdServer.mSdData.batteryPc) + "%"); + tv.setText(getString(R.string.WatchBatteryEquals) + + String.valueOf(mConnection.mSdServer.mSdData.batteryPc) + "% / " + + String.valueOf(mConnection.mSdServer.mSdData.phoneBatteryPc) + "%"); if (mConnection.mSdServer.mSdData.batteryPc <= 10) { tv.setBackgroundColor(alarmColour); tv.setTextColor(alarmTextColour); diff --git a/app/src/main/java/uk/org/openseizuredetector/MainActivity2.java b/app/src/main/java/uk/org/openseizuredetector/MainActivity2.java index 23d6bac..9719131 100644 --- a/app/src/main/java/uk/org/openseizuredetector/MainActivity2.java +++ b/app/src/main/java/uk/org/openseizuredetector/MainActivity2.java @@ -65,18 +65,7 @@ public class MainActivity2 extends AppCompatActivity { mUtil.writeToSysLogFile("MainActivity2.onCreate()"); mContext = this; - /** - if (savedInstanceState == null) { - // Instantiate a ViewPager2 and a PagerAdapter. - mFragmentPager = findViewById(R.id.fragment_pager); - mFragmentStateAdapter = new ScreenSlideFragmentPagerAdapter(this); - mFragmentPager.setAdapter(mFragmentStateAdapter); - getSupportFragmentManager().beginTransaction() - .setReorderingAllowed(true) - .add(R.id.fragment_common_container_view, FragmentCommon.class, null) - .commit(); - } - */ + } /** @@ -289,17 +278,18 @@ public class MainActivity2 extends AppCompatActivity { @Override public Fragment createFragment(int position) { + // Note - the number of positions must match the value returned by getItemCount() below. switch (position) { case 0: return new FragmentOsdAlg(); case 1: return new FragmentHrAlg(); case 2: - return new FragmentBatt(); - case 3: return new FragmentSystem(); - case 4: - return new FragmentDataSharing(); + //case 3: + // return new FragmentBatt(); + //case 4: + // return new FragmentDataSharing(); default: Log.e(TAG, "createFragment() - invalid Position " + position); @@ -309,7 +299,7 @@ public class MainActivity2 extends AppCompatActivity { @Override public int getItemCount() { - return 5; + return 3; } } diff --git a/app/src/main/java/uk/org/openseizuredetector/SdDataSourceBLE.java b/app/src/main/java/uk/org/openseizuredetector/SdDataSourceBLE.java index daf10dc..27a1332 100644 --- a/app/src/main/java/uk/org/openseizuredetector/SdDataSourceBLE.java +++ b/app/src/main/java/uk/org/openseizuredetector/SdDataSourceBLE.java @@ -36,6 +36,7 @@ import android.bluetooth.BluetoothProfile; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; +import android.net.Uri; import android.os.Handler; import android.preference.PreferenceManager; import android.text.format.Time; @@ -621,5 +622,23 @@ public class SdDataSourceBLE extends SdDataSource { return mBluetoothGatt.getServices(); } + /** + * Install the watch app on the watch. + */ +/* @Override + public void installWatchApp() { + Log.v(TAG, "installWatchApp"); + try { + String url = "http://www.openseizuredetector.org.uk/?page_id=1207"; + Intent i = new Intent(Intent.ACTION_VIEW); + i.setData(Uri.parse(url)); + i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + mContext.startActivity(i); + } catch (Exception ex) { + Log.i(TAG, "exception starting install watch app activity " + ex.toString()); + showToast("Error Displaying Installation Instructions - try http://www.openseizuredetector.org.uk/?page_id=1207 instead"); + } + } + */ } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index cfcb7f5..6fcc495 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -44,7 +44,7 @@ Waiting for Seizure Detector Settings... DataSource OpenSeizureDetector Android App Version - Server Running OK\n + Server Running OK Access Server at Server Stopped WARNING