mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2025-12-10 07:25:37 -05:00
bluetooth: swap to signalStrength
This commit is contained in:
@@ -26,9 +26,9 @@ Singleton {
|
|||||||
return [];
|
return [];
|
||||||
|
|
||||||
var filtered = Bluetooth.devices.values.filter((dev) => {
|
var filtered = Bluetooth.devices.values.filter((dev) => {
|
||||||
return dev && !dev.paired && !dev.pairing && !dev.blocked && isValidDevice(dev) && (dev.rssi === undefined || dev.rssi !== 0);
|
return dev && !dev.paired && !dev.pairing && !dev.blocked && isValidDevice(dev) && (dev.signalStrength === undefined || dev.signalStrength > 0);
|
||||||
});
|
});
|
||||||
return sortByRssi(filtered);
|
return sortBySignalStrength(filtered);
|
||||||
}
|
}
|
||||||
readonly property var allDevicesWithBattery: {
|
readonly property var allDevicesWithBattery: {
|
||||||
if (!adapter || !adapter.devices)
|
if (!adapter || !adapter.devices)
|
||||||
@@ -39,11 +39,11 @@ Singleton {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function sortByRssi(devices) {
|
function sortBySignalStrength(devices) {
|
||||||
return devices.sort((a, b) => {
|
return devices.sort((a, b) => {
|
||||||
var aRssi = (a.rssi !== undefined && a.rssi !== 0) ? a.rssi : -100;
|
var aSignal = (a.signalStrength !== undefined && a.signalStrength > 0) ? a.signalStrength : 0;
|
||||||
var bRssi = (b.rssi !== undefined && b.rssi !== 0) ? b.rssi : -100;
|
var bSignal = (b.signalStrength !== undefined && b.signalStrength > 0) ? b.signalStrength : 0;
|
||||||
return bRssi - aRssi;
|
return bSignal - aSignal;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ Singleton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function debugDevice(device) {
|
function debugDevice(device) {
|
||||||
console.log("Device:", device.name, "paired:", device.paired, "connected:", device.connected, "rssi:", device.rssi);
|
console.log("Device:", device.name, "paired:", device.paired, "connected:", device.connected, "signalStrength:", device.signalStrength);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPairingStatus(device) {
|
function getPairingStatus(device) {
|
||||||
@@ -149,40 +149,40 @@ Singleton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getSignalStrength(device) {
|
function getSignalStrength(device) {
|
||||||
if (!device || device.rssi === undefined || device.rssi === 0)
|
if (!device || device.signalStrength === undefined || device.signalStrength <= 0)
|
||||||
return "Unknown";
|
return "Unknown";
|
||||||
|
|
||||||
var rssi = device.rssi;
|
var signal = device.signalStrength;
|
||||||
if (rssi >= -50)
|
if (signal >= 80)
|
||||||
return "Excellent";
|
return "Excellent";
|
||||||
|
|
||||||
if (rssi >= -60)
|
if (signal >= 60)
|
||||||
return "Good";
|
return "Good";
|
||||||
|
|
||||||
if (rssi >= -70)
|
if (signal >= 40)
|
||||||
return "Fair";
|
return "Fair";
|
||||||
|
|
||||||
if (rssi >= -80)
|
if (signal >= 20)
|
||||||
return "Poor";
|
return "Poor";
|
||||||
|
|
||||||
return "Very Poor";
|
return "Very Poor";
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSignalIcon(device) {
|
function getSignalIcon(device) {
|
||||||
if (!device || device.rssi === undefined || device.rssi === 0)
|
if (!device || device.signalStrength === undefined || device.signalStrength <= 0)
|
||||||
return "signal_cellular_null";
|
return "signal_cellular_null";
|
||||||
|
|
||||||
var rssi = device.rssi;
|
var signal = device.signalStrength;
|
||||||
if (rssi >= -50)
|
if (signal >= 80)
|
||||||
return "signal_cellular_4_bar";
|
return "signal_cellular_4_bar";
|
||||||
|
|
||||||
if (rssi >= -60)
|
if (signal >= 60)
|
||||||
return "signal_cellular_3_bar";
|
return "signal_cellular_3_bar";
|
||||||
|
|
||||||
if (rssi >= -70)
|
if (signal >= 40)
|
||||||
return "signal_cellular_2_bar";
|
return "signal_cellular_2_bar";
|
||||||
|
|
||||||
if (rssi >= -80)
|
if (signal >= 20)
|
||||||
return "signal_cellular_1_bar";
|
return "signal_cellular_1_bar";
|
||||||
|
|
||||||
return "signal_cellular_0_bar";
|
return "signal_cellular_0_bar";
|
||||||
|
|||||||
@@ -398,14 +398,14 @@ Item {
|
|||||||
font.family: Theme.iconFont
|
font.family: Theme.iconFont
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
color: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.7)
|
color: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.7)
|
||||||
visible: modelData.rssi !== undefined && modelData.rssi !== 0 && pairingStatus === "available"
|
visible: modelData.signalStrength !== undefined && modelData.signalStrength > 0 && pairingStatus === "available"
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
text: (modelData.rssi !== undefined && modelData.rssi !== 0) ? modelData.rssi + "dBm" : ""
|
text: (modelData.signalStrength !== undefined && modelData.signalStrength > 0) ? modelData.signalStrength + "%" : ""
|
||||||
font.pixelSize: Theme.fontSizeSmall
|
font.pixelSize: Theme.fontSizeSmall
|
||||||
color: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.5)
|
color: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.5)
|
||||||
visible: modelData.rssi !== undefined && modelData.rssi !== 0 && pairingStatus === "available"
|
visible: modelData.signalStrength !== undefined && modelData.signalStrength > 0 && pairingStatus === "available"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user