mirror of
https://github.com/house-of-abbey/GarminHomeAssistant.git
synced 2025-04-30 12:42:27 +00:00
Updated RezStrings.mc
Variables are now read only via getters.
This commit is contained in:
@ -89,40 +89,40 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
mIsApp = true;
|
||||
mQuitTimer = new QuitTimer();
|
||||
RezStrings.update();
|
||||
mApiStatus = RezStrings.strChecking;
|
||||
mMenuStatus = RezStrings.strChecking;
|
||||
mApiStatus = RezStrings.getChecking();
|
||||
mMenuStatus = RezStrings.getChecking();
|
||||
Settings.update();
|
||||
|
||||
if (Settings.getApiKey().length() == 0) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantApp getInitialView(): No API key in the application Settings.");
|
||||
}
|
||||
return ErrorView.create(RezStrings.strNoApiKey + ".");
|
||||
return ErrorView.create(RezStrings.getNoApiKey() + ".");
|
||||
} else if (Settings.getApiUrl().length() == 0) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantApp getInitialView(): No API URL in the application Settings.");
|
||||
}
|
||||
return ErrorView.create(RezStrings.strNoApiUrl + ".");
|
||||
return ErrorView.create(RezStrings.getNoApiUrl() + ".");
|
||||
} else if (Settings.getApiUrl().substring(-1, Settings.getApiUrl().length()).equals("/")) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantApp getInitialView(): API URL must not have a trailing slash '/'.");
|
||||
}
|
||||
return ErrorView.create(RezStrings.strTrailingSlashErr + ".");
|
||||
return ErrorView.create(RezStrings.getTrailingSlashErr() + ".");
|
||||
} else if (Settings.getConfigUrl().length() == 0) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantApp getInitialView(): No configuration URL in the application settings.");
|
||||
}
|
||||
return ErrorView.create(RezStrings.strNoConfigUrl + ".");
|
||||
return ErrorView.create(RezStrings.getNoConfigUrl() + ".");
|
||||
} else if (! System.getDeviceSettings().phoneConnected) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantApp fetchMenuConfig(): No Phone connection, skipping API call.");
|
||||
}
|
||||
return ErrorView.create(RezStrings.strNoPhone + ".");
|
||||
return ErrorView.create(RezStrings.getNoPhone() + ".");
|
||||
} else if (! System.getDeviceSettings().connectionAvailable) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantApp fetchMenuConfig(): No Internet connection, skipping API call.");
|
||||
}
|
||||
return ErrorView.create(RezStrings.strNoInternet + ".");
|
||||
return ErrorView.create(RezStrings.getNoInternet() + ".");
|
||||
} else {
|
||||
fetchMenuConfig();
|
||||
fetchApiStatus();
|
||||
@ -143,7 +143,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchMenuConfig() Response Data: " + data);
|
||||
}
|
||||
|
||||
mMenuStatus = RezStrings.strUnavailable;
|
||||
mMenuStatus = RezStrings.getUnavailable();
|
||||
switch (responseCode) {
|
||||
case Communications.BLE_HOST_TIMEOUT:
|
||||
case Communications.BLE_CONNECTION_UNAVAILABLE:
|
||||
@ -151,7 +151,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchMenuConfig() Response Code: BLE_HOST_TIMEOUT or BLE_CONNECTION_UNAVAILABLE, Bluetooth connection severed.");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strNoPhone + ".");
|
||||
ErrorView.show(RezStrings.getNoPhone() + ".");
|
||||
}
|
||||
break;
|
||||
|
||||
@ -160,7 +160,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchMenuConfig() Response Code: BLE_QUEUE_FULL, API calls too rapid.");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strApiFlood);
|
||||
ErrorView.show(RezStrings.getApiFlood());
|
||||
}
|
||||
break;
|
||||
|
||||
@ -169,7 +169,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchMenuConfig() Response Code: NETWORK_REQUEST_TIMED_OUT, check Internet connection.");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strNoResponse);
|
||||
ErrorView.show(RezStrings.getNoResponse());
|
||||
}
|
||||
break;
|
||||
|
||||
@ -178,7 +178,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchMenuConfig() Response Code: INVALID_HTTP_BODY_IN_NETWORK_RESPONSE, check JSON is returned.");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strNoJson);
|
||||
ErrorView.show(RezStrings.getNoJson());
|
||||
}
|
||||
break;
|
||||
|
||||
@ -187,12 +187,12 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchMenuConfig() Response Code: 404, page not found. Check Configuration URL setting.");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strConfigUrlNotFound);
|
||||
ErrorView.show(RezStrings.getConfigUrlNotFound());
|
||||
}
|
||||
break;
|
||||
|
||||
case 200:
|
||||
mMenuStatus = RezStrings.strAvailable;
|
||||
mMenuStatus = RezStrings.getAvailable();
|
||||
if (!mIsGlance) {
|
||||
mHaMenu = new HomeAssistantView(data, null);
|
||||
mQuitTimer.begin();
|
||||
@ -219,7 +219,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchMenuConfig(): Unhandled HTTP response code = " + responseCode);
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strUnhandledHttpErr + responseCode);
|
||||
ErrorView.show(RezStrings.getUnhandledHttpErr() + responseCode);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -229,7 +229,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
(:glance)
|
||||
function fetchMenuConfig() as Void {
|
||||
if (Settings.getConfigUrl().equals("")) {
|
||||
mMenuStatus = RezStrings.strUnconfigured;
|
||||
mMenuStatus = RezStrings.getUnconfigured();
|
||||
WatchUi.requestUpdate();
|
||||
} else {
|
||||
if (! System.getDeviceSettings().phoneConnected) {
|
||||
@ -239,9 +239,9 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
if (mIsGlance) {
|
||||
WatchUi.requestUpdate();
|
||||
} else {
|
||||
ErrorView.show(RezStrings.strNoPhone + ".");
|
||||
ErrorView.show(RezStrings.getNoPhone() + ".");
|
||||
}
|
||||
mMenuStatus = RezStrings.strUnavailable;
|
||||
mMenuStatus = RezStrings.getUnavailable();
|
||||
} else if (! System.getDeviceSettings().connectionAvailable) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem getState(): No Internet connection, skipping API call.");
|
||||
@ -249,9 +249,9 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
if (mIsGlance) {
|
||||
WatchUi.requestUpdate();
|
||||
} else {
|
||||
ErrorView.show(RezStrings.strNoInternet + ".");
|
||||
ErrorView.show(RezStrings.getNoInternet() + ".");
|
||||
}
|
||||
mMenuStatus = RezStrings.strUnavailable;
|
||||
mMenuStatus = RezStrings.getUnavailable();
|
||||
} else {
|
||||
Communications.makeWebRequest(
|
||||
Settings.getConfigUrl(),
|
||||
@ -275,7 +275,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchApiStatus() Response Data: " + data);
|
||||
}
|
||||
|
||||
mApiStatus = RezStrings.strUnavailable;
|
||||
mApiStatus = RezStrings.getUnavailable();
|
||||
switch (responseCode) {
|
||||
case Communications.BLE_HOST_TIMEOUT:
|
||||
case Communications.BLE_CONNECTION_UNAVAILABLE:
|
||||
@ -283,7 +283,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchApiStatus() Response Code: BLE_HOST_TIMEOUT or BLE_CONNECTION_UNAVAILABLE, Bluetooth connection severed.");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strNoPhone + ".");
|
||||
ErrorView.show(RezStrings.getNoPhone() + ".");
|
||||
}
|
||||
break;
|
||||
|
||||
@ -292,7 +292,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchApiStatus() Response Code: BLE_QUEUE_FULL, API calls too rapid.");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strApiFlood);
|
||||
ErrorView.show(RezStrings.getApiFlood());
|
||||
}
|
||||
break;
|
||||
|
||||
@ -301,7 +301,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchApiStatus() Response Code: NETWORK_REQUEST_TIMED_OUT, check Internet connection.");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strNoResponse);
|
||||
ErrorView.show(RezStrings.getNoResponse());
|
||||
}
|
||||
break;
|
||||
|
||||
@ -310,7 +310,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchApiStatus() Response Code: INVALID_HTTP_BODY_IN_NETWORK_RESPONSE, check JSON is returned.");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strNoJson);
|
||||
ErrorView.show(RezStrings.getNoJson());
|
||||
}
|
||||
break;
|
||||
|
||||
@ -319,7 +319,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchApiStatus() Response Code: 404, page not found. Check Configuration URL setting.");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strConfigUrlNotFound);
|
||||
ErrorView.show(RezStrings.getConfigUrlNotFound());
|
||||
}
|
||||
break;
|
||||
|
||||
@ -329,7 +329,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
msg = data.get("message");
|
||||
}
|
||||
if (msg.equals("API running.")) {
|
||||
mApiStatus = RezStrings.strAvailable;
|
||||
mApiStatus = RezStrings.getAvailable();
|
||||
} else {
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show("API " + mApiStatus + ".");
|
||||
@ -342,7 +342,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp onReturnFetchApiStatus(): Unhandled HTTP response code = " + responseCode);
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strUnhandledHttpErr + responseCode);
|
||||
ErrorView.show(RezStrings.getUnhandledHttpErr() + responseCode);
|
||||
}
|
||||
}
|
||||
WatchUi.requestUpdate();
|
||||
@ -351,28 +351,28 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
(:glance)
|
||||
function fetchApiStatus() as Void {
|
||||
if (Settings.getApiUrl().equals("")) {
|
||||
mApiStatus = RezStrings.strUnconfigured;
|
||||
mApiStatus = RezStrings.getUnconfigured();
|
||||
WatchUi.requestUpdate();
|
||||
} else {
|
||||
if (! System.getDeviceSettings().phoneConnected) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem getState(): No Phone connection, skipping API call.");
|
||||
}
|
||||
mApiStatus = RezStrings.strUnavailable;
|
||||
mApiStatus = RezStrings.getUnavailable();
|
||||
if (mIsGlance) {
|
||||
WatchUi.requestUpdate();
|
||||
} else {
|
||||
ErrorView.show(RezStrings.strNoPhone + ".");
|
||||
ErrorView.show(RezStrings.getNoPhone() + ".");
|
||||
}
|
||||
} else if (! System.getDeviceSettings().connectionAvailable) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem getState(): No Internet connection, skipping API call.");
|
||||
}
|
||||
mApiStatus = RezStrings.strUnavailable;
|
||||
mApiStatus = RezStrings.getUnavailable();
|
||||
if (mIsGlance) {
|
||||
WatchUi.requestUpdate();
|
||||
} else {
|
||||
ErrorView.show(RezStrings.strNoInternet + ".");
|
||||
ErrorView.show(RezStrings.getNoInternet() + ".");
|
||||
}
|
||||
} else {
|
||||
Communications.makeWebRequest(
|
||||
@ -422,7 +422,7 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
System.println("HomeAssistantApp updateNextMenuItem(): No menu items to update");
|
||||
}
|
||||
if (!mIsGlance) {
|
||||
ErrorView.show(RezStrings.strConfigUrlNotFound);
|
||||
ErrorView.show(RezStrings.getConfigUrlNotFound());
|
||||
}
|
||||
} else {
|
||||
itu[mNextItemToUpdate].getState();
|
||||
@ -437,8 +437,8 @@ class HomeAssistantApp extends Application.AppBase {
|
||||
function getGlanceView() as Lang.Array<WatchUi.GlanceView or WatchUi.GlanceViewDelegate> or Null {
|
||||
mIsGlance = true;
|
||||
RezStrings.update_glance();
|
||||
mApiStatus = RezStrings.strChecking;
|
||||
mMenuStatus = RezStrings.strChecking;
|
||||
mApiStatus = RezStrings.getChecking();
|
||||
mMenuStatus = RezStrings.getChecking();
|
||||
updateGlance();
|
||||
Settings.update();
|
||||
mTimer = new Timer.Timer();
|
||||
|
@ -28,7 +28,7 @@ using Toybox.Application.Properties;
|
||||
class HomeAssistantConfirmation extends WatchUi.Confirmation {
|
||||
|
||||
function initialize() {
|
||||
WatchUi.Confirmation.initialize(RezStrings.strConfirm);
|
||||
WatchUi.Confirmation.initialize(RezStrings.getConfirm());
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -40,10 +40,10 @@ class HomeAssistantGlanceView extends WatchUi.GlanceView {
|
||||
|
||||
function onLayout(dc as Graphics.Dc) as Void {
|
||||
var h = dc.getHeight();
|
||||
var tw = dc.getTextWidthInPixels(RezStrings.strGlanceMenu, Graphics.FONT_XTINY);
|
||||
var tw = dc.getTextWidthInPixels(RezStrings.getGlanceMenu(), Graphics.FONT_XTINY);
|
||||
|
||||
mTitle = new WatchUi.Text({
|
||||
:text => RezStrings.strAppName,
|
||||
:text => RezStrings.getAppName(),
|
||||
:color => Graphics.COLOR_WHITE,
|
||||
:font => Graphics.FONT_TINY,
|
||||
:justification => Graphics.TEXT_JUSTIFY_LEFT | Graphics.TEXT_JUSTIFY_VCENTER,
|
||||
@ -60,7 +60,7 @@ class HomeAssistantGlanceView extends WatchUi.GlanceView {
|
||||
:locY => 3 * h / 6
|
||||
});
|
||||
mApiStatus = new WatchUi.Text({
|
||||
:text => RezStrings.strChecking,
|
||||
:text => RezStrings.getChecking(),
|
||||
:color => Graphics.COLOR_WHITE,
|
||||
:font => Graphics.FONT_XTINY,
|
||||
:justification => Graphics.TEXT_JUSTIFY_LEFT | Graphics.TEXT_JUSTIFY_VCENTER,
|
||||
@ -68,7 +68,7 @@ class HomeAssistantGlanceView extends WatchUi.GlanceView {
|
||||
:locY => 3 * h / 6
|
||||
});
|
||||
mMenuText = new WatchUi.Text({
|
||||
:text => RezStrings.strGlanceMenu + ":",
|
||||
:text => RezStrings.getGlanceMenu() + ":",
|
||||
:color => Graphics.COLOR_WHITE,
|
||||
:font => Graphics.FONT_XTINY,
|
||||
:justification => Graphics.TEXT_JUSTIFY_LEFT | Graphics.TEXT_JUSTIFY_VCENTER,
|
||||
@ -76,7 +76,7 @@ class HomeAssistantGlanceView extends WatchUi.GlanceView {
|
||||
:locY => 5 * h / 6
|
||||
});
|
||||
mMenuStatus = new WatchUi.Text({
|
||||
:text => RezStrings.strChecking,
|
||||
:text => RezStrings.getChecking(),
|
||||
:color => Graphics.COLOR_WHITE,
|
||||
:font => Graphics.FONT_XTINY,
|
||||
:justification => Graphics.TEXT_JUSTIFY_LEFT | Graphics.TEXT_JUSTIFY_VCENTER,
|
||||
|
@ -59,7 +59,7 @@ class HomeAssistantMenuItemFactory {
|
||||
function toggle(label as Lang.String or Lang.Symbol, identifier as Lang.Object or Null) as WatchUi.MenuItem {
|
||||
return new HomeAssistantToggleMenuItem(
|
||||
label,
|
||||
Settings.getMenuStyle() == Settings.MENU_STYLE_TEXT ? RezStrings.strLabelToggle : null,
|
||||
Settings.getMenuStyle() == Settings.MENU_STYLE_TEXT ? RezStrings.getLabelToggle() : null,
|
||||
identifier,
|
||||
false,
|
||||
mMenuItemOptions
|
||||
@ -75,7 +75,7 @@ class HomeAssistantMenuItemFactory {
|
||||
if (Settings.getMenuStyle() == Settings.MENU_STYLE_TEXT) {
|
||||
return new HomeAssistantMenuItem(
|
||||
label,
|
||||
RezStrings.strMenuItemTap,
|
||||
RezStrings.getMenuItemTap(),
|
||||
identifier,
|
||||
service,
|
||||
confirm,
|
||||
|
@ -40,21 +40,21 @@ class HomeAssistantService {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantService onReturnCall() Response Code: BLE_HOST_TIMEOUT or BLE_CONNECTION_UNAVAILABLE, Bluetooth connection severed.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoPhone + ".");
|
||||
ErrorView.show(RezStrings.getNoPhone() + ".");
|
||||
break;
|
||||
|
||||
case Communications.BLE_QUEUE_FULL:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantService onReturnCall() Response Code: BLE_QUEUE_FULL, API calls too rapid.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strApiFlood);
|
||||
ErrorView.show(RezStrings.getApiFlood());
|
||||
break;
|
||||
|
||||
case Communications.NETWORK_REQUEST_TIMED_OUT:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantService onReturnCall() Response Code: NETWORK_REQUEST_TIMED_OUT, check Internet connection.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoResponse);
|
||||
ErrorView.show(RezStrings.getNoResponse());
|
||||
break;
|
||||
|
||||
case Communications.NETWORK_RESPONSE_OUT_OF_MEMORY:
|
||||
@ -67,14 +67,14 @@ class HomeAssistantService {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantService onReturnCall() Response Code: INVALID_HTTP_BODY_IN_NETWORK_RESPONSE, check JSON is returned.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoJson);
|
||||
ErrorView.show(RezStrings.getNoJson());
|
||||
break;
|
||||
|
||||
case 404:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantService onReturnCall() Response Code: 404, page not found. Check API URL setting.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strApiUrlNotFound);
|
||||
ErrorView.show(RezStrings.getApiUrlNotFound());
|
||||
break;
|
||||
|
||||
case 200:
|
||||
@ -105,7 +105,7 @@ class HomeAssistantService {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantService onReturnCall(): Unhandled HTTP response code = " + responseCode);
|
||||
}
|
||||
ErrorView.show(RezStrings.strUnhandledHttpErr + responseCode);
|
||||
ErrorView.show(RezStrings.getUnhandledHttpErr() + responseCode);
|
||||
}
|
||||
}
|
||||
|
||||
@ -114,12 +114,12 @@ class HomeAssistantService {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantService call(): No Phone connection, skipping API call.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoPhone + ".");
|
||||
ErrorView.show(RezStrings.getNoPhone() + ".");
|
||||
} else if (! System.getDeviceSettings().connectionAvailable) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantService call(): No Internet connection, skipping API call.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoInternet + ".");
|
||||
ErrorView.show(RezStrings.getNoInternet() + ".");
|
||||
} else {
|
||||
// Can't use null for substring() parameters due to API version level.
|
||||
var url = Settings.getApiUrl() + "/services/" + service.substring(0, service.find(".")) + "/" + service.substring(service.find(".")+1, service.length());
|
||||
|
@ -64,35 +64,35 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnGetState() Response Data: " + data);
|
||||
}
|
||||
|
||||
var status = RezStrings.strUnavailable;
|
||||
var status = RezStrings.getUnavailable();
|
||||
switch (responseCode) {
|
||||
case Communications.BLE_HOST_TIMEOUT:
|
||||
case Communications.BLE_CONNECTION_UNAVAILABLE:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnGetState() Response Code: BLE_HOST_TIMEOUT or BLE_CONNECTION_UNAVAILABLE, Bluetooth connection severed.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoPhone + ".");
|
||||
ErrorView.show(RezStrings.getNoPhone() + ".");
|
||||
break;
|
||||
|
||||
case Communications.BLE_QUEUE_FULL:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnGetState() Response Code: BLE_QUEUE_FULL, API calls too rapid.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strApiFlood);
|
||||
ErrorView.show(RezStrings.getApiFlood());
|
||||
break;
|
||||
|
||||
case Communications.NETWORK_REQUEST_TIMED_OUT:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnGetState() Response Code: NETWORK_REQUEST_TIMED_OUT, check Internet connection.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoResponse);
|
||||
ErrorView.show(RezStrings.getNoResponse());
|
||||
break;
|
||||
|
||||
case Communications.INVALID_HTTP_BODY_IN_NETWORK_RESPONSE:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnGetState() Response Code: INVALID_HTTP_BODY_IN_NETWORK_RESPONSE, check JSON is returned.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoJson);
|
||||
ErrorView.show(RezStrings.getNoJson());
|
||||
break;
|
||||
|
||||
case Communications.NETWORK_RESPONSE_OUT_OF_MEMORY:
|
||||
@ -119,7 +119,7 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnGetState() Response Code: 404, page not found. Check API URL setting.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strApiUrlNotFound);
|
||||
ErrorView.show(RezStrings.getApiUrlNotFound());
|
||||
}
|
||||
break;
|
||||
|
||||
@ -132,7 +132,7 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
||||
break;
|
||||
|
||||
case 200:
|
||||
status = RezStrings.strAvailable;
|
||||
status = RezStrings.getAvailable();
|
||||
var state = data.get("state") as Lang.String;
|
||||
if (Globals.scDebug) {
|
||||
System.println((data.get("attributes") as Lang.Dictionary).get("friendly_name") + " State=" + state);
|
||||
@ -150,7 +150,7 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnGetState(): Unhandled HTTP response code = " + responseCode);
|
||||
}
|
||||
ErrorView.show(RezStrings.strUnhandledHttpErr + responseCode);
|
||||
ErrorView.show(RezStrings.getUnhandledHttpErr() + responseCode);
|
||||
}
|
||||
getApp().setApiStatus(status);
|
||||
}
|
||||
@ -160,14 +160,14 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem getState(): No Phone connection, skipping API call.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoPhone + ".");
|
||||
getApp().setApiStatus(RezStrings.strUnavailable);
|
||||
ErrorView.show(RezStrings.getNoPhone() + ".");
|
||||
getApp().setApiStatus(RezStrings.getUnavailable());
|
||||
} else if (! System.getDeviceSettings().connectionAvailable) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem getState(): No Internet connection, skipping API call.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoInternet + ".");
|
||||
getApp().setApiStatus(RezStrings.strUnavailable);
|
||||
ErrorView.show(RezStrings.getNoInternet() + ".");
|
||||
getApp().setApiStatus(RezStrings.getUnavailable());
|
||||
} else {
|
||||
var url = Settings.getApiUrl() + "/states/" + mIdentifier;
|
||||
if (Globals.scDebug) {
|
||||
@ -196,42 +196,42 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnSetState() Response Data: " + data);
|
||||
}
|
||||
|
||||
var status = RezStrings.strUnavailable;
|
||||
var status = RezStrings.getUnavailable();
|
||||
switch (responseCode) {
|
||||
case Communications.BLE_HOST_TIMEOUT:
|
||||
case Communications.BLE_CONNECTION_UNAVAILABLE:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnSetState() Response Code: BLE_HOST_TIMEOUT or BLE_CONNECTION_UNAVAILABLE, Bluetooth connection severed.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoPhone + ".");
|
||||
ErrorView.show(RezStrings.getNoPhone() + ".");
|
||||
break;
|
||||
|
||||
case Communications.BLE_QUEUE_FULL:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnSetState() Response Code: BLE_QUEUE_FULL, API calls too rapid.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strApiFlood);
|
||||
ErrorView.show(RezStrings.getApiFlood());
|
||||
break;
|
||||
|
||||
case Communications.NETWORK_REQUEST_TIMED_OUT:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnSetState() Response Code: NETWORK_REQUEST_TIMED_OUT, check Internet connection.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoResponse);
|
||||
ErrorView.show(RezStrings.getNoResponse());
|
||||
break;
|
||||
|
||||
case Communications.INVALID_HTTP_BODY_IN_NETWORK_RESPONSE:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnSetState() Response Code: INVALID_HTTP_BODY_IN_NETWORK_RESPONSE, check JSON is returned.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strNoJson);
|
||||
ErrorView.show(RezStrings.getNoJson());
|
||||
break;
|
||||
|
||||
case 404:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnSetState() Response Code: 404, page not found. Check API URL setting.");
|
||||
}
|
||||
ErrorView.show(RezStrings.strApiUrlNotFound);
|
||||
ErrorView.show(RezStrings.getApiUrlNotFound());
|
||||
break;
|
||||
|
||||
case 200:
|
||||
@ -246,14 +246,14 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
||||
setUiToggle(state);
|
||||
}
|
||||
}
|
||||
status = RezStrings.strAvailable;
|
||||
status = RezStrings.getAvailable();
|
||||
break;
|
||||
|
||||
default:
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem onReturnSetState(): Unhandled HTTP response code = " + responseCode);
|
||||
}
|
||||
ErrorView.show(RezStrings.strUnhandledHttpErr + responseCode);
|
||||
ErrorView.show(RezStrings.getUnhandledHttpErr() + responseCode);
|
||||
}
|
||||
getApp().setApiStatus(status);
|
||||
}
|
||||
@ -265,14 +265,14 @@ class HomeAssistantToggleMenuItem extends WatchUi.ToggleMenuItem {
|
||||
}
|
||||
// Toggle the UI back
|
||||
setEnabled(!isEnabled());
|
||||
ErrorView.show(RezStrings.strNoPhone + ".");
|
||||
ErrorView.show(RezStrings.getNoPhone() + ".");
|
||||
} else if (! System.getDeviceSettings().connectionAvailable) {
|
||||
if (Globals.scDebug) {
|
||||
System.println("HomeAssistantToggleMenuItem getState(): No Internet connection, skipping API call.");
|
||||
}
|
||||
// Toggle the UI back
|
||||
setEnabled(!isEnabled());
|
||||
ErrorView.show(RezStrings.strNoInternet + ".");
|
||||
ErrorView.show(RezStrings.getNoInternet() + ".");
|
||||
} else {
|
||||
// Updated SDK and got a new error
|
||||
// ERROR: venu: Cannot find symbol ':substring' on type 'PolyType<Null or $.Toybox.Lang.Object>'.
|
||||
|
@ -28,7 +28,7 @@ class HomeAssistantViewMenuItem extends WatchUi.MenuItem {
|
||||
// definitions.get(...) are Strings here as they have been checked by HomeAssistantView first
|
||||
WatchUi.MenuItem.initialize(
|
||||
definition.get("name") as Lang.String,
|
||||
RezStrings.strMenuItemMenu,
|
||||
RezStrings.getMenuItemMenu(),
|
||||
definition.get("entity") as Lang.String,
|
||||
null
|
||||
);
|
||||
|
@ -26,37 +26,37 @@ using Toybox.WatchUi;
|
||||
class RezStrings {
|
||||
|
||||
(:glance)
|
||||
static var strAppName as Lang.String or Null;
|
||||
static var strMenuItemTap as Lang.String or Null;
|
||||
static var strMenuItemMenu as Lang.String or Null;
|
||||
static var strConfirm as Lang.String or Null;
|
||||
private static var strAppName as Lang.String or Null;
|
||||
private static var strMenuItemTap as Lang.String or Null;
|
||||
private static var strMenuItemMenu as Lang.String or Null;
|
||||
private static var strConfirm as Lang.String or Null;
|
||||
(:glance)
|
||||
static var strNoPhone as Lang.String or Null;
|
||||
static var strNoInternet as Lang.String or Null;
|
||||
static var strNoResponse as Lang.String or Null;
|
||||
private static var strNoPhone as Lang.String or Null;
|
||||
private static var strNoInternet as Lang.String or Null;
|
||||
private static var strNoResponse as Lang.String or Null;
|
||||
(:glance)
|
||||
static var strNoApiKey as Lang.String or Null;
|
||||
private static var strNoApiKey as Lang.String or Null;
|
||||
(:glance)
|
||||
static var strNoApiUrl as Lang.String or Null;
|
||||
private static var strNoApiUrl as Lang.String or Null;
|
||||
(:glance)
|
||||
static var strNoConfigUrl as Lang.String or Null;
|
||||
static var strApiFlood as Lang.String or Null;
|
||||
static var strApiUrlNotFound as Lang.String or Null;
|
||||
static var strConfigUrlNotFound as Lang.String or Null;
|
||||
static var strNoJson as Lang.String or Null;
|
||||
static var strUnhandledHttpErr as Lang.String or Null;
|
||||
static var strTrailingSlashErr as Lang.String or Null;
|
||||
private static var strNoConfigUrl as Lang.String or Null;
|
||||
private static var strApiFlood as Lang.String or Null;
|
||||
private static var strApiUrlNotFound as Lang.String or Null;
|
||||
private static var strConfigUrlNotFound as Lang.String or Null;
|
||||
private static var strNoJson as Lang.String or Null;
|
||||
private static var strUnhandledHttpErr as Lang.String or Null;
|
||||
private static var strTrailingSlashErr as Lang.String or Null;
|
||||
(:glance)
|
||||
static var strAvailable as Lang.String or Null;
|
||||
private static var strAvailable as Lang.String or Null;
|
||||
(:glance)
|
||||
static var strChecking as Lang.String or Null;
|
||||
private static var strChecking as Lang.String or Null;
|
||||
(:glance)
|
||||
static var strUnavailable as Lang.String or Null;
|
||||
private static var strUnavailable as Lang.String or Null;
|
||||
(:glance)
|
||||
static var strUnconfigured as Lang.String or Null;
|
||||
private static var strUnconfigured as Lang.String or Null;
|
||||
(:glance)
|
||||
static var strGlanceMenu as Lang.String or Null;
|
||||
static var strLabelToggle as Lang.Dictionary or Null;
|
||||
private static var strGlanceMenu as Lang.String or Null;
|
||||
private static var strLabelToggle as Lang.Dictionary or Null;
|
||||
|
||||
// Can't initialise a constant directly, have to be initialised via a function
|
||||
// for 'WatchUi.loadResource' to be available.
|
||||
@ -103,4 +103,93 @@ class RezStrings {
|
||||
:disabled => WatchUi.loadResource($.Rez.Strings.MenuItemOff) as Lang.String
|
||||
};
|
||||
}
|
||||
|
||||
static function getAppName() as Lang.String {
|
||||
return strAppName;
|
||||
}
|
||||
|
||||
static function getMenuItemTap() as Lang.String {
|
||||
return strMenuItemTap;
|
||||
}
|
||||
|
||||
static function getMenuItemMenu() as Lang.String {
|
||||
return strMenuItemMenu;
|
||||
}
|
||||
|
||||
static function getConfirm() as Lang.String {
|
||||
return strConfirm;
|
||||
}
|
||||
|
||||
static function getNoPhone() as Lang.String {
|
||||
return strNoPhone;
|
||||
}
|
||||
|
||||
static function getNoInternet() as Lang.String {
|
||||
return strNoInternet;
|
||||
}
|
||||
|
||||
static function getNoResponse() as Lang.String {
|
||||
return strNoResponse;
|
||||
}
|
||||
|
||||
static function getNoApiKey() as Lang.String {
|
||||
return strNoApiKey;
|
||||
}
|
||||
|
||||
static function getNoApiUrl() as Lang.String {
|
||||
return strNoApiUrl;
|
||||
}
|
||||
|
||||
static function getNoConfigUrl() as Lang.String {
|
||||
return strNoConfigUrl;
|
||||
}
|
||||
|
||||
static function getApiFlood() as Lang.String {
|
||||
return strApiFlood;
|
||||
}
|
||||
|
||||
static function getApiUrlNotFound() as Lang.String {
|
||||
return strApiUrlNotFound;
|
||||
}
|
||||
|
||||
static function getConfigUrlNotFound() as Lang.String {
|
||||
return strConfigUrlNotFound;
|
||||
}
|
||||
|
||||
static function getNoJson() as Lang.String {
|
||||
return strNoJson;
|
||||
}
|
||||
|
||||
static function getUnhandledHttpErr() as Lang.String {
|
||||
return strUnhandledHttpErr;
|
||||
}
|
||||
|
||||
static function getTrailingSlashErr() as Lang.String {
|
||||
return strTrailingSlashErr;
|
||||
}
|
||||
|
||||
static function getAvailable() as Lang.String {
|
||||
return strAvailable;
|
||||
}
|
||||
|
||||
static function getChecking() as Lang.String {
|
||||
return strChecking;
|
||||
}
|
||||
|
||||
static function getUnavailable() as Lang.String {
|
||||
return strUnavailable;
|
||||
}
|
||||
|
||||
static function getUnconfigured() as Lang.String {
|
||||
return strUnconfigured;
|
||||
}
|
||||
|
||||
static function getGlanceMenu() as Lang.String {
|
||||
return strGlanceMenu;
|
||||
}
|
||||
|
||||
static function getLabelToggle() as Lang.Dictionary {
|
||||
return strLabelToggle;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ class RootView extends ScalableView {
|
||||
var w = dc.getWidth();
|
||||
|
||||
mTitle = new WatchUi.Text({
|
||||
:text => RezStrings.strAppName,
|
||||
:text => RezStrings.getAppName(),
|
||||
:color => Graphics.COLOR_WHITE,
|
||||
:font => Graphics.FONT_TINY,
|
||||
:justification => Graphics.TEXT_JUSTIFY_CENTER | Graphics.TEXT_JUSTIFY_VCENTER,
|
||||
@ -71,7 +71,7 @@ class RootView extends ScalableView {
|
||||
:locY => pixelsForScreen(50.0)
|
||||
});
|
||||
mApiStatus = new WatchUi.Text({
|
||||
:text => RezStrings.strChecking,
|
||||
:text => RezStrings.getChecking(),
|
||||
:color => Graphics.COLOR_WHITE,
|
||||
:font => Graphics.FONT_XTINY,
|
||||
:justification => Graphics.TEXT_JUSTIFY_LEFT | Graphics.TEXT_JUSTIFY_VCENTER,
|
||||
@ -79,7 +79,7 @@ class RootView extends ScalableView {
|
||||
:locY => pixelsForScreen(50.0)
|
||||
});
|
||||
mMenuText = new WatchUi.Text({
|
||||
:text => RezStrings.strGlanceMenu + ":",
|
||||
:text => RezStrings.getGlanceMenu() + ":",
|
||||
:color => Graphics.COLOR_WHITE,
|
||||
:font => Graphics.FONT_XTINY,
|
||||
:justification => Graphics.TEXT_JUSTIFY_RIGHT | Graphics.TEXT_JUSTIFY_VCENTER,
|
||||
@ -87,7 +87,7 @@ class RootView extends ScalableView {
|
||||
:locY => pixelsForScreen(70.0)
|
||||
});
|
||||
mMenuStatus = new WatchUi.Text({
|
||||
:text => RezStrings.strChecking,
|
||||
:text => RezStrings.getChecking(),
|
||||
:color => Graphics.COLOR_WHITE,
|
||||
:font => Graphics.FONT_XTINY,
|
||||
:justification => Graphics.TEXT_JUSTIFY_LEFT | Graphics.TEXT_JUSTIFY_VCENTER,
|
||||
|
Reference in New Issue
Block a user