ui: refactor setPrimeType (#28143)

handle prime type change in new function UIState::setPrimeType
pull/28199/head
Dean Lee 2 years ago committed by GitHub
parent 0c00099437
commit 8ca3be9788
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      selfdrive/ui/qt/offroad/wifiManager.cc
  2. 2
      selfdrive/ui/qt/onroad.cc
  3. 4
      selfdrive/ui/qt/widgets/prime.cc
  4. 15
      selfdrive/ui/ui.cc
  5. 10
      selfdrive/ui/ui.h

@ -415,7 +415,7 @@ void WifiManager::addTetheringConnection() {
}
void WifiManager::tetheringActivated(QDBusPendingCallWatcher *call) {
int prime_type = uiState()->prime_type;
int prime_type = uiState()->primeType();
int ipv4_forward = (prime_type == PrimeType::NONE || prime_type == PrimeType::LITE);
if (!ipv4_forward) {

@ -89,7 +89,7 @@ void OnroadWindow::mousePressEvent(QMouseEvent* e) {
void OnroadWindow::offroadTransition(bool offroad) {
#ifdef ENABLE_MAPS
if (!offroad) {
if (map == nullptr && (uiState()->prime_type || !MAPBOX_TOKEN.isEmpty())) {
if (map == nullptr && (uiState()->primeType() || !MAPBOX_TOKEN.isEmpty())) {
MapWindow * m = new MapWindow(get_mapbox_settings());
map = m;

@ -277,7 +277,7 @@ SetupWidget::SetupWidget(QWidget* parent) : QFrame(parent) {
primeUser = new PrimeUserWidget;
mainLayout->addWidget(primeUser);
mainLayout->setCurrentWidget(uiState()->prime_type ? (QWidget*)primeUser : (QWidget*)primeAd);
mainLayout->setCurrentWidget(uiState()->primeType() ? (QWidget*)primeUser : (QWidget*)primeAd);
setFixedWidth(750);
setStyleSheet(R"(
@ -312,7 +312,7 @@ void SetupWidget::replyFinished(const QString &response, bool success) {
QJsonObject json = doc.object();
int prime_type = json["prime_type"].toInt();
uiState()->prime_type = prime_type;
uiState()->setPrimeType(prime_type);
if (!json["is_paired"].toBool()) {
mainLayout->setCurrentIndex(0);

@ -238,13 +238,6 @@ void UIState::updateStatus() {
started_prev = scene.started;
emit offroadTransition(!scene.started);
}
// Handle prime type change
if (prime_type != prime_type_prev) {
prime_type_prev = prime_type;
emit primeTypeChanged(prime_type);
Params().put("PrimeType", std::to_string(prime_type));
}
}
UIState::UIState(QObject *parent) : QObject(parent) {
@ -275,6 +268,14 @@ void UIState::update() {
emit uiUpdate(*this);
}
void UIState::setPrimeType(int type) {
if (type != prime_type) {
prime_type = type;
Params().put("PrimeType", std::to_string(prime_type));
emit primeTypeChanged(prime_type);
}
}
Device::Device(QObject *parent) : brightness_filter(BACKLIGHT_OFFROAD, BACKLIGHT_TS, BACKLIGHT_DT), QObject(parent) {
setAwake(true);
resetInteractiveTimout();

@ -133,10 +133,13 @@ public:
void updateStatus();
inline bool worldObjectsVisible() const {
return sm->rcv_frame("liveCalibration") > scene.started_frame;
};
}
inline bool engaged() const {
return scene.started && (*sm)["controlsState"].getControlsState().getEnabled();
};
}
void setPrimeType(int type);
inline int primeType() const { return prime_type; }
int fb_w = 0, fb_h = 0;
@ -146,7 +149,6 @@ public:
UIScene scene = {};
bool awake;
int prime_type;
QString language;
QTransform car_space_transform;
@ -162,7 +164,7 @@ private slots:
private:
QTimer *timer;
bool started_prev = false;
int prime_type_prev = -1;
int prime_type = -1;
};
UIState *uiState();

Loading…
Cancel
Save