diff --git a/common/util.cc b/common/util.cc index f4c69eb269..096df85634 100644 --- a/common/util.cc +++ b/common/util.cc @@ -294,4 +294,17 @@ std::string check_output(const std::string& command) { return result; } +bool system_time_valid() { + // Default to August 26, 2024 + tm min_tm = {.tm_year = 2024 - 1900, .tm_mon = 7, .tm_mday = 26}; + time_t min_date = mktime(&min_tm); + + struct stat st; + if (stat("/lib/systemd/systemd", &st) == 0) { + min_date = std::max(min_date, st.st_mtime + 86400); // Add 1 day (86400 seconds) + } + + return time(nullptr) > min_date; +} + } // namespace util diff --git a/common/util.h b/common/util.h index d4106b5002..4fb4b13fae 100644 --- a/common/util.h +++ b/common/util.h @@ -96,6 +96,8 @@ bool create_directories(const std::string &dir, mode_t mode); std::string check_output(const std::string& command); +bool system_time_valid(); + inline void sleep_for(const int milliseconds) { if (milliseconds > 0) { std::this_thread::sleep_for(std::chrono::milliseconds(milliseconds)); diff --git a/selfdrive/ui/qt/widgets/prime.cc b/selfdrive/ui/qt/widgets/prime.cc index 62f5c0ab50..ee820c46a3 100644 --- a/selfdrive/ui/qt/widgets/prime.cc +++ b/selfdrive/ui/qt/widgets/prime.cc @@ -116,6 +116,14 @@ PairingPopup::PairingPopup(QWidget *parent) : DialogBase(parent) { hlayout->addWidget(qr, 1); } +int PairingPopup::exec() { + if (!util::system_time_valid()) { + ConfirmationDialog::alert(tr("Please connect to Wi-Fi to complete initial pairing"), parentWidget()); + return QDialog::Rejected; + } + return DialogBase::exec(); +} + PrimeUserWidget::PrimeUserWidget(QWidget *parent) : QFrame(parent) { setObjectName("primeWidget"); diff --git a/selfdrive/ui/qt/widgets/prime.h b/selfdrive/ui/qt/widgets/prime.h index d1ba334e81..266a90a92c 100644 --- a/selfdrive/ui/qt/widgets/prime.h +++ b/selfdrive/ui/qt/widgets/prime.h @@ -33,6 +33,7 @@ class PairingPopup : public DialogBase { public: explicit PairingPopup(QWidget* parent); + int exec() override; }; diff --git a/selfdrive/ui/translations/main_ar.ts b/selfdrive/ui/translations/main_ar.ts index 2315268a72..39ccf57e7c 100644 --- a/selfdrive/ui/translations/main_ar.ts +++ b/selfdrive/ui/translations/main_ar.ts @@ -460,6 +460,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app اجعل لـconnect.comma.ai إشارة مرجعية على شاشتك الرئيسية من أجل استخدامه مثل أي تطبيق + + Please connect to Wi-Fi to complete initial pairing + + ParamControl diff --git a/selfdrive/ui/translations/main_de.ts b/selfdrive/ui/translations/main_de.ts index 2abed6e305..6112e84a2a 100644 --- a/selfdrive/ui/translations/main_de.ts +++ b/selfdrive/ui/translations/main_de.ts @@ -455,6 +455,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app Füge connect.comma.ai als Lesezeichen auf deinem Homescreen hinzu um es wie eine App zu verwenden + + Please connect to Wi-Fi to complete initial pairing + + ParamControl diff --git a/selfdrive/ui/translations/main_es.ts b/selfdrive/ui/translations/main_es.ts index 38ba964f11..0b6754358b 100644 --- a/selfdrive/ui/translations/main_es.ts +++ b/selfdrive/ui/translations/main_es.ts @@ -456,6 +456,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app Añada connect.comma.ai a su pantalla de inicio para usarlo como una aplicación + + Please connect to Wi-Fi to complete initial pairing + + ParamControl diff --git a/selfdrive/ui/translations/main_fr.ts b/selfdrive/ui/translations/main_fr.ts index f4251bc41d..ab69c34dc5 100644 --- a/selfdrive/ui/translations/main_fr.ts +++ b/selfdrive/ui/translations/main_fr.ts @@ -456,6 +456,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app Ajoutez connect.comma.ai à votre écran d'accueil pour l'utiliser comme une application + + Please connect to Wi-Fi to complete initial pairing + + ParamControl diff --git a/selfdrive/ui/translations/main_ja.ts b/selfdrive/ui/translations/main_ja.ts index bc83d3f9ae..e4565a5c4d 100644 --- a/selfdrive/ui/translations/main_ja.ts +++ b/selfdrive/ui/translations/main_ja.ts @@ -454,6 +454,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app 「connect.comma.ai」をホーム画面に追加して、アプリのように使うことができます。 + + Please connect to Wi-Fi to complete initial pairing + + ParamControl diff --git a/selfdrive/ui/translations/main_ko.ts b/selfdrive/ui/translations/main_ko.ts index 1d2a753e1f..72bce9f144 100644 --- a/selfdrive/ui/translations/main_ko.ts +++ b/selfdrive/ui/translations/main_ko.ts @@ -455,6 +455,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app connect.comma.ai를 앱처럼 사용하려면 홈 화면에 바로가기를 만드세요 + + Please connect to Wi-Fi to complete initial pairing + + ParamControl diff --git a/selfdrive/ui/translations/main_pt-BR.ts b/selfdrive/ui/translations/main_pt-BR.ts index a89c85510e..41d40c5d12 100644 --- a/selfdrive/ui/translations/main_pt-BR.ts +++ b/selfdrive/ui/translations/main_pt-BR.ts @@ -456,6 +456,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app Salve connect.comma.ai como sua página inicial para utilizar como um app + + Please connect to Wi-Fi to complete initial pairing + + ParamControl diff --git a/selfdrive/ui/translations/main_th.ts b/selfdrive/ui/translations/main_th.ts index c2b2771830..3919bb70f1 100644 --- a/selfdrive/ui/translations/main_th.ts +++ b/selfdrive/ui/translations/main_th.ts @@ -455,6 +455,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app จดจำ connect.comma.ai โดยการเพิ่มไปยังหน้าจอโฮม เพื่อใช้งานเหมือนเป็นแอปพลิเคชัน + + Please connect to Wi-Fi to complete initial pairing + + ParamControl diff --git a/selfdrive/ui/translations/main_tr.ts b/selfdrive/ui/translations/main_tr.ts index 9a53449276..f18923cc7b 100644 --- a/selfdrive/ui/translations/main_tr.ts +++ b/selfdrive/ui/translations/main_tr.ts @@ -454,6 +454,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app Uygulama gibi kullanmak için connect.comma.ai sitesini yer işaretlerine ekleyin. + + Please connect to Wi-Fi to complete initial pairing + + ParamControl diff --git a/selfdrive/ui/translations/main_zh-CHS.ts b/selfdrive/ui/translations/main_zh-CHS.ts index f061322c45..6cdbc90e70 100644 --- a/selfdrive/ui/translations/main_zh-CHS.ts +++ b/selfdrive/ui/translations/main_zh-CHS.ts @@ -455,6 +455,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app 将 connect.comma.ai 收藏到您的主屏幕,以便像应用程序一样使用它 + + Please connect to Wi-Fi to complete initial pairing + + ParamControl diff --git a/selfdrive/ui/translations/main_zh-CHT.ts b/selfdrive/ui/translations/main_zh-CHT.ts index 04e76a8d95..eed7e809dd 100644 --- a/selfdrive/ui/translations/main_zh-CHT.ts +++ b/selfdrive/ui/translations/main_zh-CHT.ts @@ -455,6 +455,10 @@ Bookmark connect.comma.ai to your home screen to use it like an app 將 connect.comma.ai 加入您的主螢幕,以便像手機 App 一樣使用它 + + Please connect to Wi-Fi to complete initial pairing + + ParamControl