Skip to content

Commit 69709a6

Browse files
Merge pull request #762 from SUPLA/develop
v25.10
2 parents 9173891 + 87b7f3d commit 69709a6

File tree

524 files changed

+8252
-6426
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

524 files changed

+8252
-6426
lines changed

app/build.gradle.kts

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ android {
2727
minSdk = libs.versions.minSdk.get().toInt()
2828
targetSdk = libs.versions.targetSdk.get().toInt()
2929
multiDexEnabled = true
30-
versionCode = 297
31-
versionName = "25.08"
30+
versionCode = 304
31+
versionName = "25.10"
3232

3333
ndk {
3434
moduleName = "suplaclient"
@@ -180,6 +180,7 @@ dependencies {
180180
implementation(libs.guava)
181181
implementation(libs.reorderable)
182182
implementation(libs.google.barcode.scanner)
183+
implementation(libs.timber)
183184

184185
coreLibraryDesugaring(libs.android.tools.desugar)
185186

@@ -232,7 +233,3 @@ spotless {
232233
}
233234
}
234235

235-
composeCompiler {
236-
featureFlags.add(ComposeFeatureFlag.StrongSkipping)
237-
}
238-

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,7 @@
102102
android:name=".MainActivity"
103103
android:exported="true"
104104
android:launchMode="singleTop"
105-
android:windowSoftInputMode="adjustResize"
106-
android:screenOrientation="sensorPortrait">
105+
android:windowSoftInputMode="adjustResize">
107106

108107
<intent-filter>
109108
<action android:name="android.intent.action.MAIN" />
@@ -114,8 +113,7 @@
114113

115114
<activity
116115
android:name=".cfg.CfgActivity"
117-
android:launchMode="singleTop"
118-
android:screenOrientation="sensorPortrait" />
116+
android:launchMode="singleTop" />
119117

120118
<activity
121119
android:name=".ZWaveConfigurationWizardActivity"

app/src/main/java/org/supla/android/ChannelDetailDigiglass.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
import java.util.TimerTask;
1010
import org.supla.android.db.Channel;
1111
import org.supla.android.db.ChannelBase;
12-
import org.supla.android.lib.DigiglassValue;
1312
import org.supla.android.lib.SuplaClient;
1413
import org.supla.android.lib.SuplaConst;
1514
import org.supla.android.listview.DetailLayout;
15+
import org.supla.core.shared.data.model.function.digiglass.DigiglassValue;
1616

1717
public class ChannelDetailDigiglass extends DetailLayout
1818
implements View.OnClickListener, DigiglassController.OnSectionClickListener {

app/src/main/java/org/supla/android/ChannelDetailThermostatHP.java

Lines changed: 5 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -24,24 +24,16 @@ of the License, or (at your option) any later version.
2424
import android.os.Handler;
2525
import android.util.AttributeSet;
2626
import android.view.View;
27-
import android.widget.AdapterView;
28-
import android.widget.AdapterView.OnItemSelectedListener;
29-
import android.widget.ArrayAdapter;
3027
import android.widget.Button;
31-
import android.widget.LinearLayout;
3228
import android.widget.ListView;
33-
import android.widget.ProgressBar;
3429
import android.widget.RelativeLayout;
35-
import android.widget.Spinner;
3630
import android.widget.TextView;
37-
import com.github.mikephil.charting.charts.CombinedChart;
3831
import dagger.hilt.android.AndroidEntryPoint;
3932
import java.util.Arrays;
4033
import java.util.List;
4134
import java.util.Timer;
4235
import java.util.TimerTask;
4336
import javax.inject.Inject;
44-
import org.supla.android.charts.ThermostatChartHelper;
4537
import org.supla.android.db.Channel;
4638
import org.supla.android.db.ChannelGroup;
4739
import org.supla.android.lib.SuplaChannelThermostatValue;
@@ -51,14 +43,11 @@ of the License, or (at your option) any later version.
5143
import org.supla.android.listview.DetailLayout;
5244
import org.supla.android.listview.ThermostatHPListViewCursorAdapter;
5345
import org.supla.android.profile.ProfileIdHolder;
54-
import org.supla.android.restapi.DownloadThermostatMeasurements;
55-
import org.supla.android.restapi.SuplaRestApiClientTask;
46+
import timber.log.Timber;
5647

5748
@AndroidEntryPoint
5849
public class ChannelDetailThermostatHP extends DetailLayout
59-
implements View.OnClickListener,
60-
SuplaRestApiClientTask.IAsyncResults,
61-
SuplaThermostatCalendar.OnCalendarTouchListener {
50+
implements View.OnClickListener, SuplaThermostatCalendar.OnCalendarTouchListener {
6251

6352
public static final int BTN_SET_OFF_UNKNOWN = -1;
6453
public static final int BTN_SET_OFF = 0;
@@ -82,20 +71,15 @@ public class ChannelDetailThermostatHP extends DetailLayout
8271
private Double presetTemperatureMax = null;
8372
private Double measuredTemperatureMin = 0.00;
8473
private Double measuredTemperatureMax = null;
85-
private DownloadThermostatMeasurements dtm;
86-
private ThermostatChartHelper chartHelper;
8774
private RelativeLayout rlMain;
8875
private RelativeLayout rlSettings;
8976
private RelativeLayout rlSchedule;
90-
private ProgressBar progressBar;
9177
private List<CfgItem> cfgItems;
9278
private Timer delayTimer1;
9379
private Timer refreshTimer1;
9480
private Handler uiHandler;
95-
private LinearLayout llChart;
9681
private ListView lvChannelList;
9782
private TextView tvErrorMessage;
98-
private Spinner icSpinnerSlave;
9983

10084
@Inject ProfileIdHolder profileIdHolder;
10185

@@ -135,9 +119,6 @@ protected void init() {
135119
mCalendar.setOnCalendarTouchListener(this);
136120
mCalendar.setFirtsDay(2);
137121

138-
progressBar = findViewById(R.id.hpProgressBar);
139-
progressBar.setVisibility(INVISIBLE);
140-
141122
tvTemperature = findViewById(R.id.hpTvTemperature);
142123

143124
btnSettings = findViewById(R.id.hpBtnSettings);
@@ -172,22 +153,6 @@ protected void init() {
172153
btnMinus = findViewById(R.id.hpBtnMinus);
173154
btnMinus.setOnClickListener(this);
174155

175-
chartHelper = new ThermostatChartHelper(getContext());
176-
CombinedChart chart = findViewById(R.id.hpCombinedChart);
177-
chartHelper.setCombinedChart(chart);
178-
179-
ArrayAdapter<String> adapter =
180-
new ArrayAdapter<>(
181-
this.getContext(),
182-
android.R.layout.simple_spinner_item,
183-
chartHelper.getSlaveSpinnerItems(null));
184-
185-
icSpinnerSlave = findViewById(R.id.icSpinnerSlave);
186-
icSpinnerSlave.setAdapter(adapter);
187-
icSpinnerSlave.setOnItemSelectedListener(dateRangeSelectedListener(chart));
188-
189-
llChart = findViewById(R.id.hpllChart);
190-
191156
tvErrorMessage = findViewById(R.id.hpTvErrorMessage);
192157
tvErrorMessage.setVisibility(GONE);
193158

@@ -309,12 +274,10 @@ public void setMainViewVisible() {
309274
if (isGroup()) {
310275
btnSchedule.setVisibility(GONE);
311276
btnSettings.setVisibility(GONE);
312-
llChart.setVisibility(GONE);
313277
lvChannelList.setVisibility(VISIBLE);
314278
} else {
315279
btnSchedule.setVisibility(VISIBLE);
316280
btnSchedule.setVisibility(VISIBLE);
317-
llChart.setVisibility(VISIBLE);
318281
lvChannelList.setVisibility(GONE);
319282
}
320283

@@ -325,13 +288,12 @@ public void setMainViewVisible() {
325288

326289
private void updateCalendarComfortLabel(CfgItem item) {
327290
Resources res = getResources();
328-
mCalendar.setProgram1Label(
329-
res.getText(R.string.hp_calendar_comfort) + " " + item.value + "\u00B0");
291+
mCalendar.setProgram1Label(res.getText(R.string.hp_calendar_comfort) + " " + item.value + "°");
330292
}
331293

332294
private void updateCalendarECOLabel(CfgItem item) {
333295
Resources res = getResources();
334-
mCalendar.setProgram0Label(res.getText(R.string.hp_calendar_eco) + " " + item.value + "\u00B0");
296+
mCalendar.setProgram0Label(res.getText(R.string.hp_calendar_eco) + " " + item.value + "°");
335297
}
336298

337299
public void setCfgValue(int id, int value) {
@@ -420,7 +382,7 @@ public void OnChannelDataChanged() {
420382
}
421383

422384
if (thermostat.getTurboTime() != null) {
423-
Trace.d("TURBO", Integer.toString(thermostat.getTurboTime()));
385+
Timber.d("TURBO: %d", thermostat.getTurboTime());
424386
setCfgValue(CfgItem.ID_TURBO_TIME, thermostat.getTurboTime());
425387
}
426388

@@ -460,22 +422,6 @@ public void OnChannelDataChanged() {
460422
}
461423
}
462424

463-
private void runDownloadTask() {
464-
if (dtm != null && !dtm.isAlive(90)) {
465-
dtm.cancel(true);
466-
dtm = null;
467-
}
468-
469-
if (dtm == null) {
470-
dtm =
471-
new DownloadThermostatMeasurements(
472-
this.getContext(), profileIdHolder.getProfileId().intValue());
473-
dtm.setChannelId(getRemoteId());
474-
dtm.setDelegate(this);
475-
dtm.execute();
476-
}
477-
}
478-
479425
@Override
480426
public void onDetailShow() {
481427
super.onDetailShow();
@@ -500,12 +446,6 @@ public void run() {
500446
setMainViewVisible();
501447

502448
OnChannelDataChanged();
503-
504-
if (!isGroup()) {
505-
chartHelper.load(getRemoteId());
506-
507-
runDownloadTask();
508-
}
509449
}
510450

511451
@Override
@@ -669,25 +609,6 @@ public void setTemperature(int idx, Double temperature) {
669609
deviceCalCfgRequest(SuplaConst.SUPLA_THERMOSTAT_CMD_SET_TEMPERATURE, 0, data);
670610
}
671611

672-
@Override
673-
public void onRestApiTaskStarted(SuplaRestApiClientTask task) {
674-
progressBar.setVisibility(VISIBLE);
675-
chartHelper.setDownloadProgress(0d);
676-
}
677-
678-
@Override
679-
public void onRestApiTaskFinished(SuplaRestApiClientTask task) {
680-
dtm = null;
681-
progressBar.setVisibility(INVISIBLE);
682-
chartHelper.setDownloadProgress(null);
683-
chartHelper.load(getRemoteId());
684-
}
685-
686-
@Override
687-
public void onRestApiTaskProgressUpdate(SuplaRestApiClientTask task, Double progress) {
688-
chartHelper.setDownloadProgress(progress);
689-
}
690-
691612
private void cancelDelayTimer1() {
692613
if (delayTimer1 != null) {
693614
delayTimer1.cancel();
@@ -905,28 +826,4 @@ public void setValue(int value) {
905826
displayValue();
906827
}
907828
}
908-
909-
private OnItemSelectedListener dateRangeSelectedListener(CombinedChart chart) {
910-
return new OnItemSelectedListener() {
911-
@Override
912-
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
913-
chartHelper.setDateRangeBySpinners(null, icSpinnerSlave);
914-
chartHelper.load(getRemoteId(), 0);
915-
916-
new Handler()
917-
.postDelayed(
918-
() -> {
919-
if (icSpinnerSlave.getSelectedItemPosition() == 4) {
920-
chartHelper.moveToEnd();
921-
} else if (chart != null) {
922-
chart.fitScreen();
923-
}
924-
},
925-
100);
926-
}
927-
928-
@Override
929-
public void onNothingSelected(AdapterView<?> adapterView) {}
930-
};
931-
}
932829
}

app/src/main/java/org/supla/android/DiwCalibrationTool.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import androidx.appcompat.widget.AppCompatImageView;
1111
import androidx.core.content.res.ResourcesCompat;
1212
import org.supla.android.lib.SuplaConst;
13+
import timber.log.Timber;
1314

1415
public class DiwCalibrationTool extends DimmerCalibrationTool
1516
implements SuplaRangeCalibrationWheel.OnChangeListener {
@@ -57,7 +58,7 @@ public DiwCalibrationTool(ChannelDetailRGBW detailRGB) {
5758

5859
@Override
5960
protected void onSuperuserOnAuthorizarionSuccess() {
60-
Trace.d("calcfg", "onSuperuserOnAuthorizarionSuccess");
61+
Timber.d("calcfg: %s", "onSuperuserOnAuthorizarionSuccess");
6162
calCfgRequest(DIW_CMD_ENTER_CFG_MODE);
6263
}
6364

0 commit comments

Comments
 (0)