Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/wear-os-hex-editor-watchface.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2022-03-15 12:52:00 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2022-03-15 12:52:00 +0300
commitf176bdff4c38cc54e78e4e59dd3280249911bb07 (patch)
treef0cff5b0de5b9b4c46e680027b90a34793f0d486
parent84baa17a62e39aa7bc05f9685faa65ca18128e16 (diff)
Support for watches without sensors
-rw-r--r--app/build.gradle2
-rw-r--r--app/src/main/AndroidManifest.xml5
-rw-r--r--app/src/main/java/com/clusterrr/hexeditorwatchface/SettingsMenuAdapter.java26
3 files changed, 23 insertions, 10 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 5b62b2b..fc619e1 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -9,7 +9,7 @@ android {
applicationId "com.clusterrr.hexeditorwatchface"
minSdk 30
targetSdk 32
- versionCode 1
+ versionCode 2
versionName "1.0"
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ad40590..ff85b44 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,13 +9,12 @@
<uses-permission android:name="com.google.android.wearable.permission.RECEIVE_COMPLICATION_DATA" />
<uses-feature android:name="android.hardware.type.watch" />
- <uses-feature android:name="android.hardware.sensor.stepcounter" android:required="true" />
- <uses-feature android:name="android.hardware.sensor.heartrate" android:required="true" />
<application
android:allowBackup="true"
android:label="@string/app_name"
- android:supportsRtl="true">
+ android:supportsRtl="true"
+ android:icon="@drawable/icon">
<meta-data
android:name="com.google.android.wearable.standalone"
diff --git a/app/src/main/java/com/clusterrr/hexeditorwatchface/SettingsMenuAdapter.java b/app/src/main/java/com/clusterrr/hexeditorwatchface/SettingsMenuAdapter.java
index c953726..f6b1f76 100644
--- a/app/src/main/java/com/clusterrr/hexeditorwatchface/SettingsMenuAdapter.java
+++ b/app/src/main/java/com/clusterrr/hexeditorwatchface/SettingsMenuAdapter.java
@@ -1,7 +1,10 @@
package com.clusterrr.hexeditorwatchface;
+import android.content.Context;
import android.content.Intent;
import android.content.res.Resources;
+import android.hardware.Sensor;
+import android.hardware.SensorManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -17,11 +20,13 @@ public class SettingsMenuAdapter extends RecyclerView.Adapter<SettingsMenuAdapte
private final Setting[] mSettings;
private final AppCompatActivity mContext;
private final SettingsMenuAdapter.RecyclerViewHolder[] mHolders;
+ private final SensorManager mSensorManager;
public SettingsMenuAdapter(AppCompatActivity context, Setting[] settings) {
- this.mContext = context;
+ mContext = context;
mSettings = settings;
- this.mHolders = new SettingsMenuAdapter.RecyclerViewHolder[settings.length + 1];
+ mHolders = new SettingsMenuAdapter.RecyclerViewHolder[settings.length + 1];
+ mSensorManager = ((SensorManager)context.getSystemService(Context.SENSOR_SERVICE));
}
public void updateHolder(int pos)
@@ -44,7 +49,7 @@ public class SettingsMenuAdapter extends RecyclerView.Adapter<SettingsMenuAdapte
holder.menuItemSettingRadio.setVisibility(View.GONE);
holder.menuItemSettingExplanation.setVisibility(View.GONE);
} else {
- // Show some explanation
+ // Show some explanation
holder.menuItemSettingKey.setText("Explanation");
holder.menuItemSettingValue.setText("");
@@ -57,10 +62,19 @@ public class SettingsMenuAdapter extends RecyclerView.Adapter<SettingsMenuAdapte
holder.menuItemSettingRadio.setVisibility(View.GONE);
holder.menuItemSettingExplanation.setVisibility(View.VISIBLE);
}
+ boolean enabled = true;
+ if ((pos == SettingsActivity.PREF_KEY_VIGNETTING) && !res.getBoolean(R.bool.is_round))
+ enabled = false;
+ if ((pos == SettingsActivity.PREF_KEY_HEART_RATE) &&
+ (mSensorManager.getDefaultSensor(Sensor.TYPE_HEART_RATE) == null))
+ enabled = false;
+ if ((pos == SettingsActivity.PREF_KEY_STEPS) &&
+ (mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER) == null))
+ enabled = false;
// Disable vignetting for rectangular screens
- holder.menuContainer.setEnabled(res.getBoolean(R.bool.is_round) || pos != SettingsActivity.PREF_KEY_VIGNETTING);
- holder.menuItemSettingKey.setEnabled(res.getBoolean(R.bool.is_round) || pos != SettingsActivity.PREF_KEY_VIGNETTING);
- holder.menuItemSettingValue.setEnabled(res.getBoolean(R.bool.is_round) || pos != SettingsActivity.PREF_KEY_VIGNETTING);
+ holder.menuContainer.setEnabled(enabled);
+ holder.menuItemSettingKey.setEnabled(enabled);
+ holder.menuItemSettingValue.setEnabled(enabled);
}
@NonNull