Skip to content

Commit

Permalink
#336 Present the exact display of the AVR LCD: minor improvements aft…
Browse files Browse the repository at this point in the history
…er testing
  • Loading branch information
mkulesh committed Feb 2, 2025
1 parent a535f95 commit 4e47cb9
Show file tree
Hide file tree
Showing 6 changed files with 38 additions and 8 deletions.
15 changes: 15 additions & 0 deletions integration_test/sim_device_display.dart
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,21 @@ void main() {
await tu.openTab("RC");

final List<String> messages = [
"836F772050616972696E672E2E2E",
"83772050616972696E672E2E2E20",
"832050616972696E672E2E2E2020",
"8350616972696E672E2E2E202020",
"83616972696E672E2E2E20202020",
"836972696E672E2E2E2020202020",
"8372696E672E2E2E202020202020",
"42442F4456442020202D36302E30",
"43424C2F53415420202D36302E30",
"4344202020202020202D36302E30",
"5456202020202020202D36302E30",
"50484F4E4F202020202D36302E30",
"4E45542020202020202D36302E30",
"424C5545544F4F54482D36302E30",
"4368726F6D6563617320372F3130",
"4368726F6D6563617320372F3130",
"20436F6E6E656374696E672E2E2E",
"1B4368726F6D6563617374206275",
Expand Down
3 changes: 3 additions & 0 deletions lib/constants/Dimens.dart
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,9 @@ class ActivityDimens
static EdgeInsetsGeometry get headerPaddingTop
=> EdgeInsets.only(top: DimensTransform.scale(10));

static EdgeInsetsGeometry get deviceDisplayPadding
=> EdgeInsets.symmetric(horizontal: DimensTransform.scale(24), vertical: DimensTransform.scale(6));

static const EdgeInsets noPadding
= EdgeInsets.all(0);
}
Expand Down
6 changes: 6 additions & 0 deletions lib/iscp/StateManager.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ import "messages/DcpMediaItemMsg.dart";
import "messages/DcpReceiverInformationMsg.dart";
import "messages/DcpSearchCriteriaMsg.dart";
import "messages/DcpTunerModeMsg.dart";
import "messages/DeviceDisplayMsg.dart";
import "messages/DisplayModeMsg.dart";
import "messages/EnumParameterMsg.dart";
import "messages/InputSelectorMsg.dart";
Expand Down Expand Up @@ -488,6 +489,11 @@ class StateManager
sendQueries(_state.deviceSettingsState.getQueriesIscp(state.getActiveZone));
sendQueries(_state.soundControlState.getQueriesIscp(state.getActiveZone, state.receiverInformation));
sendQueries(_state.radioState.getQueries(state.getActiveZone));
if (state.receiverInformation.isPioneer)
{
// #336: DeviceDisplayMsg is only available for Pioneer receivers
sendQueries([DeviceDisplayMsg.CODE]);
}
_requestListState();
return changed;
}
Expand Down
5 changes: 4 additions & 1 deletion lib/iscp/state/ReceiverInformation.dart
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import "../messages/ToneCommandMsg.dart";

class ReceiverInformation
{
static const String BRAND_PIONEER = "Pioneer";
static const String _BRAND_PIONEER = "Pioneer";

// From ReceiverInformationMsg
late String _xml;
Expand Down Expand Up @@ -289,6 +289,9 @@ class ReceiverInformation
String get brand
=> _getProperty("brand");

bool get isPioneer
=> brand.toUpperCase() == _BRAND_PIONEER.toUpperCase();

String get model
=> _getProperty("model");

Expand Down
14 changes: 9 additions & 5 deletions lib/views/DeviceDisplayView.dart
Original file line number Diff line number Diff line change
Expand Up @@ -53,20 +53,24 @@ class DeviceDisplayView extends UpdatableView
Logging.info(this, ex.toString());
}

final Widget value = Container(
padding: DialogDimens.rowPadding,
final Widget text = Container(
padding: ActivityDimens.deviceDisplayPadding,
margin: DialogDimens.rowPadding,
decoration: BoxDecoration(
border: Border.all(color: td.disabledColor)
),
alignment: Alignment.center,
child: Text(state.receiverInformation.deviceDisplayValue, style: textStyle),
alignment: Alignment.centerLeft,
child: Text(state.receiverInformation.deviceDisplayValue, style: textStyle, textAlign: TextAlign.start),
);

final Widget field = InkWell(child: text,
onTap: () => stateManager.sendQueries([DeviceDisplayMsg.CODE])
);

return Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
children: [ Expanded(child: value, flex: 1) ]
children: [ Expanded(child: field, flex: 1) ]
);
}
}
3 changes: 1 addition & 2 deletions lib/views/SetupOperationalCommandsView.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import "../constants/Dimens.dart";
import "../iscp/messages/PowerStatusMsg.dart";
import "../iscp/messages/ReceiverInformationMsg.dart";
import "../iscp/messages/SetupOperationCommandMsg.dart";
import "../iscp/state/ReceiverInformation.dart";
import "../views/UpdatableView.dart";
import "../widgets/CustomImageButton.dart";
import "../widgets/CustomTextLabel.dart";
Expand Down Expand Up @@ -47,7 +46,7 @@ class SetupOperationalCommandsView extends UpdatableView
{
cmd.add(SetupOperationCommandMsg.output(SetupOperationCommand.HOME));
}
if (state.receiverInformation.isControlExists("Quick") || state.receiverInformation.brand == ReceiverInformation.BRAND_PIONEER)
if (state.receiverInformation.isControlExists("Quick") || state.receiverInformation.isPioneer)
{
cmd.add(SetupOperationCommandMsg.output(SetupOperationCommand.QUICK));
}
Expand Down

0 comments on commit 4e47cb9

Please sign in to comment.