mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge
synced 2024-11-25 19:36:50 +01:00
added hardware version dependant function limiting
This commit is contained in:
parent
2ca1d69a17
commit
d802aa4ab1
@ -13,6 +13,8 @@ import android.content.IntentFilter;
|
|||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
import android.net.wifi.aware.Characteristics;
|
import android.net.wifi.aware.Characteristics;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
@ -106,8 +108,6 @@ public class QHybridSupport extends QHybridBaseSupport {
|
|||||||
|
|
||||||
private long timeOffset;
|
private long timeOffset;
|
||||||
|
|
||||||
boolean supportsExtendedVibration;
|
|
||||||
|
|
||||||
private UploadFileRequest uploadFileRequest;
|
private UploadFileRequest uploadFileRequest;
|
||||||
|
|
||||||
private PendingIntent dumpIntent;
|
private PendingIntent dumpIntent;
|
||||||
@ -135,6 +135,14 @@ public class QHybridSupport extends QHybridBaseSupport {
|
|||||||
fillResponseList();
|
fillResponseList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean supportsExtendedVibration() {
|
||||||
|
switch (modelNumber) {
|
||||||
|
case "HL.0.0": return false;
|
||||||
|
case "HW.0.0": return true;
|
||||||
|
}
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
|
|
||||||
private void fillResponseList() {
|
private void fillResponseList() {
|
||||||
Class<? extends Request>[] classes = new Class[]{
|
Class<? extends Request>[] classes = new Class[]{
|
||||||
BatteryLevelRequest.class,
|
BatteryLevelRequest.class,
|
||||||
@ -238,7 +246,7 @@ public class QHybridSupport extends QHybridBaseSupport {
|
|||||||
|
|
||||||
Log.d("Service", "handling notification");
|
Log.d("Service", "handling notification");
|
||||||
|
|
||||||
if(config.getRespectSilentMode()) {
|
if (config.getRespectSilentMode()) {
|
||||||
int mode = ((AudioManager) getContext().getApplicationContext().getSystemService(Context.AUDIO_SERVICE)).getRingerMode();
|
int mode = ((AudioManager) getContext().getApplicationContext().getSystemService(Context.AUDIO_SERVICE)).getRingerMode();
|
||||||
if (mode == AudioManager.RINGER_MODE_SILENT) return;
|
if (mode == AudioManager.RINGER_MODE_SILENT) return;
|
||||||
}
|
}
|
||||||
@ -263,9 +271,13 @@ public class QHybridSupport extends QHybridBaseSupport {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFindDevice(boolean start) {
|
public void onFindDevice(boolean start) {
|
||||||
if (start && !supportsExtendedVibration) {
|
try {
|
||||||
Toast.makeText(getContext(), "Device does not support brr brr", Toast.LENGTH_SHORT).show();
|
if (start && !supportsExtendedVibration()) {
|
||||||
return;
|
Toast.makeText(getContext(), "Device does not support brr brr", Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}catch (UnsupportedOperationException e){
|
||||||
|
Toast.makeText(getContext(), "Please contact dakhnod@gmail.com\n" + modelNumber, Toast.LENGTH_SHORT).show();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (start && searchDevice) return;
|
if (start && searchDevice) return;
|
||||||
@ -363,6 +375,17 @@ public class QHybridSupport extends QHybridBaseSupport {
|
|||||||
case "00002a24-0000-1000-8000-00805f9b34fb": {
|
case "00002a24-0000-1000-8000-00805f9b34fb": {
|
||||||
modelNumber = characteristic.getStringValue(0);
|
modelNumber = characteristic.getStringValue(0);
|
||||||
gbDevice.setModel(modelNumber);
|
gbDevice.setModel(modelNumber);
|
||||||
|
try {
|
||||||
|
gbDevice.addDeviceInfo(new GenericItem(ITEM_EXTENDED_VIBRATION_SUPPORT, String.valueOf(supportsExtendedVibration())));
|
||||||
|
}catch (UnsupportedOperationException e){
|
||||||
|
new Handler(Looper.getMainLooper()).post(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
Toast.makeText(getContext(), "Please contact dakhnod@gmail.com\n" + modelNumber, Toast.LENGTH_SHORT).show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
gbDevice.addDeviceInfo(new GenericItem(ITEM_EXTENDED_VIBRATION_SUPPORT, String.valueOf(supportsExtendedVibration())));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "00002a26-0000-1000-8000-00805f9b34fb": {
|
case "00002a26-0000-1000-8000-00805f9b34fb": {
|
||||||
@ -500,9 +523,7 @@ public class QHybridSupport extends QHybridBaseSupport {
|
|||||||
gbDevice.addDeviceInfo(new GenericItem(ITEM_STEP_GOAL, String.valueOf(((GetStepGoalRequest) request).stepGoal)));
|
gbDevice.addDeviceInfo(new GenericItem(ITEM_STEP_GOAL, String.valueOf(((GetStepGoalRequest) request).stepGoal)));
|
||||||
} else if (request instanceof GetVibrationStrengthRequest) {
|
} else if (request instanceof GetVibrationStrengthRequest) {
|
||||||
int strength = ((GetVibrationStrengthRequest) request).strength;
|
int strength = ((GetVibrationStrengthRequest) request).strength;
|
||||||
this.supportsExtendedVibration = strength == 25 || strength == 50 || strength == 100;
|
|
||||||
gbDevice.addDeviceInfo(new GenericItem(ITEM_VIBRATION_STRENGTH, String.valueOf(strength)));
|
gbDevice.addDeviceInfo(new GenericItem(ITEM_VIBRATION_STRENGTH, String.valueOf(strength)));
|
||||||
gbDevice.addDeviceInfo(new GenericItem(ITEM_EXTENDED_VIBRATION_SUPPORT, String.valueOf(supportsExtendedVibration)));
|
|
||||||
} else if (fileRequest instanceof ListFilesRequest) {
|
} else if (fileRequest instanceof ListFilesRequest) {
|
||||||
ListFilesRequest r = (ListFilesRequest) fileRequest;
|
ListFilesRequest r = (ListFilesRequest) fileRequest;
|
||||||
//if(r.fileCount != -1){
|
//if(r.fileCount != -1){
|
||||||
|
Loading…
Reference in New Issue
Block a user