fix: aggiorna urgenza lista spesa live e più frequentemente

- Cache smart_shopping: 10min → 3min (urgenza fresca)
- backgroundBringSync: ogni 10min → ogni 5min + setInterval continuo
- backgroundBringSync: aggiunge anche 'high' (non solo 'critical') a Bring
- autoSyncUrgencySpecs: aggiorna spec anche se il livello di urgenza sale/scende
- Risultato: Latte/prodotti urgenti compaiono su Bring in max ~5min
This commit is contained in:
dadaloop82
2026-04-21 05:32:06 +00:00
parent cd4fd55006
commit 5bbedc8a3b
645 changed files with 74390 additions and 7 deletions
Binary file not shown.
@@ -0,0 +1,2 @@
#Mon Apr 20 17:42:13 UTC 2026
gradle.version=8.4
Binary file not shown.
@@ -0,0 +1,297 @@
// Generated by view binder compiler. Do not edit!
package it.dadaloop.evershelf.kiosk.databinding;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewbinding.ViewBinding;
import androidx.viewbinding.ViewBindings;
import com.google.android.material.button.MaterialButton;
import it.dadaloop.evershelf.kiosk.R;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
public final class ActivityKioskBinding implements ViewBinding {
@NonNull
private final FrameLayout rootView;
@NonNull
public final MaterialButton btnFinish;
@NonNull
public final MaterialButton btnGetStarted;
@NonNull
public final ImageButton btnSettings;
@NonNull
public final MaterialButton btnSkipScale;
@NonNull
public final MaterialButton btnStep2Back;
@NonNull
public final MaterialButton btnStep2Next;
@NonNull
public final MaterialButton btnStep3Back;
@NonNull
public final MaterialButton btnTestUrl;
@NonNull
public final LinearLayout scaleStatusCard;
@NonNull
public final TextView scaleStatusDetail;
@NonNull
public final TextView scaleStatusIcon;
@NonNull
public final TextView scaleStatusText;
@NonNull
public final LinearLayout splashContainer;
@NonNull
public final LinearLayout step1;
@NonNull
public final LinearLayout step2;
@NonNull
public final LinearLayout step3;
@NonNull
public final LinearLayout stepIndicator;
@NonNull
public final TextView urlStatus;
@NonNull
public final WebView webView;
@NonNull
public final ScrollView wizardContainer;
@NonNull
public final TextView wizardTitle;
@NonNull
public final EditText wizardUrl;
private ActivityKioskBinding(@NonNull FrameLayout rootView, @NonNull MaterialButton btnFinish,
@NonNull MaterialButton btnGetStarted, @NonNull ImageButton btnSettings,
@NonNull MaterialButton btnSkipScale, @NonNull MaterialButton btnStep2Back,
@NonNull MaterialButton btnStep2Next, @NonNull MaterialButton btnStep3Back,
@NonNull MaterialButton btnTestUrl, @NonNull LinearLayout scaleStatusCard,
@NonNull TextView scaleStatusDetail, @NonNull TextView scaleStatusIcon,
@NonNull TextView scaleStatusText, @NonNull LinearLayout splashContainer,
@NonNull LinearLayout step1, @NonNull LinearLayout step2, @NonNull LinearLayout step3,
@NonNull LinearLayout stepIndicator, @NonNull TextView urlStatus, @NonNull WebView webView,
@NonNull ScrollView wizardContainer, @NonNull TextView wizardTitle,
@NonNull EditText wizardUrl) {
this.rootView = rootView;
this.btnFinish = btnFinish;
this.btnGetStarted = btnGetStarted;
this.btnSettings = btnSettings;
this.btnSkipScale = btnSkipScale;
this.btnStep2Back = btnStep2Back;
this.btnStep2Next = btnStep2Next;
this.btnStep3Back = btnStep3Back;
this.btnTestUrl = btnTestUrl;
this.scaleStatusCard = scaleStatusCard;
this.scaleStatusDetail = scaleStatusDetail;
this.scaleStatusIcon = scaleStatusIcon;
this.scaleStatusText = scaleStatusText;
this.splashContainer = splashContainer;
this.step1 = step1;
this.step2 = step2;
this.step3 = step3;
this.stepIndicator = stepIndicator;
this.urlStatus = urlStatus;
this.webView = webView;
this.wizardContainer = wizardContainer;
this.wizardTitle = wizardTitle;
this.wizardUrl = wizardUrl;
}
@Override
@NonNull
public FrameLayout getRoot() {
return rootView;
}
@NonNull
public static ActivityKioskBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static ActivityKioskBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.activity_kiosk, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static ActivityKioskBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.btnFinish;
MaterialButton btnFinish = ViewBindings.findChildViewById(rootView, id);
if (btnFinish == null) {
break missingId;
}
id = R.id.btnGetStarted;
MaterialButton btnGetStarted = ViewBindings.findChildViewById(rootView, id);
if (btnGetStarted == null) {
break missingId;
}
id = R.id.btnSettings;
ImageButton btnSettings = ViewBindings.findChildViewById(rootView, id);
if (btnSettings == null) {
break missingId;
}
id = R.id.btnSkipScale;
MaterialButton btnSkipScale = ViewBindings.findChildViewById(rootView, id);
if (btnSkipScale == null) {
break missingId;
}
id = R.id.btnStep2Back;
MaterialButton btnStep2Back = ViewBindings.findChildViewById(rootView, id);
if (btnStep2Back == null) {
break missingId;
}
id = R.id.btnStep2Next;
MaterialButton btnStep2Next = ViewBindings.findChildViewById(rootView, id);
if (btnStep2Next == null) {
break missingId;
}
id = R.id.btnStep3Back;
MaterialButton btnStep3Back = ViewBindings.findChildViewById(rootView, id);
if (btnStep3Back == null) {
break missingId;
}
id = R.id.btnTestUrl;
MaterialButton btnTestUrl = ViewBindings.findChildViewById(rootView, id);
if (btnTestUrl == null) {
break missingId;
}
id = R.id.scaleStatusCard;
LinearLayout scaleStatusCard = ViewBindings.findChildViewById(rootView, id);
if (scaleStatusCard == null) {
break missingId;
}
id = R.id.scaleStatusDetail;
TextView scaleStatusDetail = ViewBindings.findChildViewById(rootView, id);
if (scaleStatusDetail == null) {
break missingId;
}
id = R.id.scaleStatusIcon;
TextView scaleStatusIcon = ViewBindings.findChildViewById(rootView, id);
if (scaleStatusIcon == null) {
break missingId;
}
id = R.id.scaleStatusText;
TextView scaleStatusText = ViewBindings.findChildViewById(rootView, id);
if (scaleStatusText == null) {
break missingId;
}
id = R.id.splashContainer;
LinearLayout splashContainer = ViewBindings.findChildViewById(rootView, id);
if (splashContainer == null) {
break missingId;
}
id = R.id.step1;
LinearLayout step1 = ViewBindings.findChildViewById(rootView, id);
if (step1 == null) {
break missingId;
}
id = R.id.step2;
LinearLayout step2 = ViewBindings.findChildViewById(rootView, id);
if (step2 == null) {
break missingId;
}
id = R.id.step3;
LinearLayout step3 = ViewBindings.findChildViewById(rootView, id);
if (step3 == null) {
break missingId;
}
id = R.id.stepIndicator;
LinearLayout stepIndicator = ViewBindings.findChildViewById(rootView, id);
if (stepIndicator == null) {
break missingId;
}
id = R.id.urlStatus;
TextView urlStatus = ViewBindings.findChildViewById(rootView, id);
if (urlStatus == null) {
break missingId;
}
id = R.id.webView;
WebView webView = ViewBindings.findChildViewById(rootView, id);
if (webView == null) {
break missingId;
}
id = R.id.wizardContainer;
ScrollView wizardContainer = ViewBindings.findChildViewById(rootView, id);
if (wizardContainer == null) {
break missingId;
}
id = R.id.wizardTitle;
TextView wizardTitle = ViewBindings.findChildViewById(rootView, id);
if (wizardTitle == null) {
break missingId;
}
id = R.id.wizardUrl;
EditText wizardUrl = ViewBindings.findChildViewById(rootView, id);
if (wizardUrl == null) {
break missingId;
}
return new ActivityKioskBinding((FrameLayout) rootView, btnFinish, btnGetStarted, btnSettings,
btnSkipScale, btnStep2Back, btnStep2Next, btnStep3Back, btnTestUrl, scaleStatusCard,
scaleStatusDetail, scaleStatusIcon, scaleStatusText, splashContainer, step1, step2, step3,
stepIndicator, urlStatus, webView, wizardContainer, wizardTitle, wizardUrl);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}
@@ -0,0 +1,135 @@
// Generated by view binder compiler. Do not edit!
package it.dadaloop.evershelf.kiosk.databinding;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ScrollView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewbinding.ViewBinding;
import androidx.viewbinding.ViewBindings;
import com.google.android.material.button.MaterialButton;
import it.dadaloop.evershelf.kiosk.R;
import java.lang.NullPointerException;
import java.lang.Override;
import java.lang.String;
public final class ActivitySettingsBinding implements ViewBinding {
@NonNull
private final ScrollView rootView;
@NonNull
public final ImageButton btnBack;
@NonNull
public final MaterialButton btnRunWizard;
@NonNull
public final MaterialButton btnSave;
@NonNull
public final MaterialButton btnTestConnection;
@NonNull
public final TextView scaleDeviceInfo;
@NonNull
public final TextView scaleGatewayStatus;
@NonNull
public final EditText urlEdit;
private ActivitySettingsBinding(@NonNull ScrollView rootView, @NonNull ImageButton btnBack,
@NonNull MaterialButton btnRunWizard, @NonNull MaterialButton btnSave,
@NonNull MaterialButton btnTestConnection, @NonNull TextView scaleDeviceInfo,
@NonNull TextView scaleGatewayStatus, @NonNull EditText urlEdit) {
this.rootView = rootView;
this.btnBack = btnBack;
this.btnRunWizard = btnRunWizard;
this.btnSave = btnSave;
this.btnTestConnection = btnTestConnection;
this.scaleDeviceInfo = scaleDeviceInfo;
this.scaleGatewayStatus = scaleGatewayStatus;
this.urlEdit = urlEdit;
}
@Override
@NonNull
public ScrollView getRoot() {
return rootView;
}
@NonNull
public static ActivitySettingsBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static ActivitySettingsBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.activity_settings, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static ActivitySettingsBinding bind(@NonNull View rootView) {
// The body of this method is generated in a way you would not otherwise write.
// This is done to optimize the compiled bytecode for size and performance.
int id;
missingId: {
id = R.id.btnBack;
ImageButton btnBack = ViewBindings.findChildViewById(rootView, id);
if (btnBack == null) {
break missingId;
}
id = R.id.btnRunWizard;
MaterialButton btnRunWizard = ViewBindings.findChildViewById(rootView, id);
if (btnRunWizard == null) {
break missingId;
}
id = R.id.btnSave;
MaterialButton btnSave = ViewBindings.findChildViewById(rootView, id);
if (btnSave == null) {
break missingId;
}
id = R.id.btnTestConnection;
MaterialButton btnTestConnection = ViewBindings.findChildViewById(rootView, id);
if (btnTestConnection == null) {
break missingId;
}
id = R.id.scaleDeviceInfo;
TextView scaleDeviceInfo = ViewBindings.findChildViewById(rootView, id);
if (scaleDeviceInfo == null) {
break missingId;
}
id = R.id.scaleGatewayStatus;
TextView scaleGatewayStatus = ViewBindings.findChildViewById(rootView, id);
if (scaleGatewayStatus == null) {
break missingId;
}
id = R.id.urlEdit;
EditText urlEdit = ViewBindings.findChildViewById(rootView, id);
if (urlEdit == null) {
break missingId;
}
return new ActivitySettingsBinding((ScrollView) rootView, btnBack, btnRunWizard, btnSave,
btnTestConnection, scaleDeviceInfo, scaleGatewayStatus, urlEdit);
}
String missingId = rootView.getResources().getResourceName(id);
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
}
}
@@ -0,0 +1,2 @@
#- File Locator -
listingFile=../../../outputs/apk/debug/output-metadata.json
@@ -0,0 +1,2 @@
appMetadataVersion=1.1
androidGradlePluginVersion=8.2.2
@@ -0,0 +1,10 @@
{
"version": 3,
"artifactType": {
"type": "COMPATIBLE_SCREEN_MANIFEST",
"kind": "Directory"
},
"applicationId": "it.dadaloop.evershelf.kiosk",
"variantName": "debug",
"elements": []
}
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_kiosk" modulePackage="it.dadaloop.evershelf.kiosk" filePath="app/src/main/res/layout/activity_kiosk.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/activity_kiosk_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="427" endOffset="13"/></Target><Target id="@+id/splashContainer" view="LinearLayout"><Expressions/><location startLine="7" startOffset="4" endLine="43" endOffset="18"/></Target><Target id="@+id/wizardContainer" view="ScrollView"><Expressions/><location startLine="46" startOffset="4" endLine="403" endOffset="16"/></Target><Target id="@+id/stepIndicator" view="LinearLayout"><Expressions/><location startLine="64" startOffset="12" endLine="70" endOffset="42"/></Target><Target id="@+id/step1" view="LinearLayout"><Expressions/><location startLine="73" startOffset="12" endLine="162" endOffset="26"/></Target><Target id="@+id/wizardTitle" view="TextView"><Expressions/><location startLine="88" startOffset="16" endLine="98" endOffset="56"/></Target><Target id="@+id/btnGetStarted" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="154" startOffset="16" endLine="161" endOffset="54"/></Target><Target id="@+id/step2" view="LinearLayout"><Expressions/><location startLine="165" startOffset="12" endLine="283" endOffset="26"/></Target><Target id="@+id/wizardUrl" view="EditText"><Expressions/><location startLine="208" startOffset="16" endLine="220" endOffset="56"/></Target><Target id="@+id/urlStatus" view="TextView"><Expressions/><location startLine="222" startOffset="16" endLine="229" endOffset="56"/></Target><Target id="@+id/btnTestUrl" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="231" startOffset="16" endLine="241" endOffset="56"/></Target><Target id="@+id/btnStep2Back" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="260" startOffset="20" endLine="271" endOffset="57"/></Target><Target id="@+id/btnStep2Next" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="273" startOffset="20" endLine="281" endOffset="58"/></Target><Target id="@+id/step3" view="LinearLayout"><Expressions/><location startLine="286" startOffset="12" endLine="400" endOffset="26"/></Target><Target id="@+id/scaleStatusCard" view="LinearLayout"><Expressions/><location startLine="321" startOffset="16" endLine="357" endOffset="30"/></Target><Target id="@+id/scaleStatusIcon" view="TextView"><Expressions/><location startLine="330" startOffset="20" endLine="337" endOffset="59"/></Target><Target id="@+id/scaleStatusText" view="TextView"><Expressions/><location startLine="339" startOffset="20" endLine="347" endOffset="59"/></Target><Target id="@+id/scaleStatusDetail" view="TextView"><Expressions/><location startLine="349" startOffset="20" endLine="356" endOffset="50"/></Target><Target id="@+id/btnStep3Back" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="366" startOffset="20" endLine="377" endOffset="57"/></Target><Target id="@+id/btnFinish" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="379" startOffset="20" endLine="387" endOffset="58"/></Target><Target id="@+id/btnSkipScale" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="390" startOffset="16" endLine="399" endOffset="53"/></Target><Target id="@+id/webView" view="WebView"><Expressions/><location startLine="406" startOffset="4" endLine="410" endOffset="35"/></Target><Target id="@+id/btnSettings" view="ImageButton"><Expressions/><location startLine="413" startOffset="4" endLine="425" endOffset="35"/></Target></Targets></Layout>
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_settings" modulePackage="it.dadaloop.evershelf.kiosk" filePath="app/src/main/res/layout/activity_settings.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.ScrollView"><Targets><Target tag="layout/activity_settings_0" view="ScrollView"><Expressions/><location startLine="1" startOffset="0" endLine="194" endOffset="12"/></Target><Target id="@+id/btnBack" view="ImageButton"><Expressions/><location startLine="21" startOffset="12" endLine="29" endOffset="49"/></Target><Target id="@+id/urlEdit" view="EditText"><Expressions/><location startLine="67" startOffset="12" endLine="79" endOffset="52"/></Target><Target id="@+id/btnTestConnection" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="81" startOffset="12" endLine="90" endOffset="45"/></Target><Target id="@+id/scaleGatewayStatus" view="TextView"><Expressions/><location startLine="127" startOffset="16" endLine="133" endOffset="45"/></Target><Target id="@+id/scaleDeviceInfo" view="TextView"><Expressions/><location startLine="136" startOffset="12" endLine="142" endOffset="41"/></Target><Target id="@+id/btnRunWizard" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="164" startOffset="12" endLine="173" endOffset="45"/></Target><Target id="@+id/btnSave" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="183" startOffset="8" endLine="191" endOffset="48"/></Target></Targets></Layout>
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_kiosk" modulePackage="it.dadaloop.evershelf.kiosk" filePath="app/src/main/res/layout/activity_kiosk.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/activity_kiosk_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="427" endOffset="13"/></Target><Target id="@+id/splashContainer" view="LinearLayout"><Expressions/><location startLine="7" startOffset="4" endLine="43" endOffset="18"/></Target><Target id="@+id/wizardContainer" view="ScrollView"><Expressions/><location startLine="46" startOffset="4" endLine="403" endOffset="16"/></Target><Target id="@+id/stepIndicator" view="LinearLayout"><Expressions/><location startLine="64" startOffset="12" endLine="70" endOffset="42"/></Target><Target id="@+id/step1" view="LinearLayout"><Expressions/><location startLine="73" startOffset="12" endLine="162" endOffset="26"/></Target><Target id="@+id/wizardTitle" view="TextView"><Expressions/><location startLine="88" startOffset="16" endLine="98" endOffset="56"/></Target><Target id="@+id/btnGetStarted" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="154" startOffset="16" endLine="161" endOffset="54"/></Target><Target id="@+id/step2" view="LinearLayout"><Expressions/><location startLine="165" startOffset="12" endLine="283" endOffset="26"/></Target><Target id="@+id/wizardUrl" view="EditText"><Expressions/><location startLine="208" startOffset="16" endLine="220" endOffset="56"/></Target><Target id="@+id/urlStatus" view="TextView"><Expressions/><location startLine="222" startOffset="16" endLine="229" endOffset="56"/></Target><Target id="@+id/btnTestUrl" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="231" startOffset="16" endLine="241" endOffset="56"/></Target><Target id="@+id/btnStep2Back" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="260" startOffset="20" endLine="271" endOffset="57"/></Target><Target id="@+id/btnStep2Next" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="273" startOffset="20" endLine="281" endOffset="58"/></Target><Target id="@+id/step3" view="LinearLayout"><Expressions/><location startLine="286" startOffset="12" endLine="400" endOffset="26"/></Target><Target id="@+id/scaleStatusCard" view="LinearLayout"><Expressions/><location startLine="321" startOffset="16" endLine="357" endOffset="30"/></Target><Target id="@+id/scaleStatusIcon" view="TextView"><Expressions/><location startLine="330" startOffset="20" endLine="337" endOffset="59"/></Target><Target id="@+id/scaleStatusText" view="TextView"><Expressions/><location startLine="339" startOffset="20" endLine="347" endOffset="59"/></Target><Target id="@+id/scaleStatusDetail" view="TextView"><Expressions/><location startLine="349" startOffset="20" endLine="356" endOffset="50"/></Target><Target id="@+id/btnStep3Back" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="366" startOffset="20" endLine="377" endOffset="57"/></Target><Target id="@+id/btnFinish" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="379" startOffset="20" endLine="387" endOffset="58"/></Target><Target id="@+id/btnSkipScale" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="390" startOffset="16" endLine="399" endOffset="53"/></Target><Target id="@+id/webView" view="WebView"><Expressions/><location startLine="406" startOffset="4" endLine="410" endOffset="35"/></Target><Target id="@+id/btnSettings" view="ImageButton"><Expressions/><location startLine="413" startOffset="4" endLine="425" endOffset="35"/></Target></Targets></Layout>
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_settings" modulePackage="it.dadaloop.evershelf.kiosk" filePath="app/src/main/res/layout/activity_settings.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.ScrollView"><Targets><Target tag="layout/activity_settings_0" view="ScrollView"><Expressions/><location startLine="1" startOffset="0" endLine="194" endOffset="12"/></Target><Target id="@+id/btnBack" view="ImageButton"><Expressions/><location startLine="21" startOffset="12" endLine="29" endOffset="49"/></Target><Target id="@+id/urlEdit" view="EditText"><Expressions/><location startLine="67" startOffset="12" endLine="79" endOffset="52"/></Target><Target id="@+id/btnTestConnection" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="81" startOffset="12" endLine="90" endOffset="45"/></Target><Target id="@+id/scaleGatewayStatus" view="TextView"><Expressions/><location startLine="127" startOffset="16" endLine="133" endOffset="45"/></Target><Target id="@+id/scaleDeviceInfo" view="TextView"><Expressions/><location startLine="136" startOffset="12" endLine="142" endOffset="41"/></Target><Target id="@+id/btnRunWizard" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="164" startOffset="12" endLine="173" endOffset="45"/></Target><Target id="@+id/btnSave" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="183" startOffset="8" endLine="191" endOffset="48"/></Target></Targets></Layout>

Some files were not shown because too many files have changed in this diff Show More