From 2883bab710a9fbb4cc50eaa94c583a4a3128f5df Mon Sep 17 00:00:00 2001 From: iejMac <61431446+iejMac@users.noreply.github.com> Date: Tue, 6 Apr 2021 19:35:09 -0700 Subject: [PATCH] close android activities when settings is closed (#20604) * close android activities * new line * only if activity is launched * fix old-commit-hash: 27ebd334dcccbd7bbd6280ed2bb57cbad456a6c7 --- selfdrive/hardware/eon/hardware.h | 7 +++++++ selfdrive/ui/qt/offroad/settings.cc | 7 +++++++ selfdrive/ui/qt/offroad/settings.hpp | 3 +++ 3 files changed, 17 insertions(+) diff --git a/selfdrive/hardware/eon/hardware.h b/selfdrive/hardware/eon/hardware.h index bcf99a6284..a28864acfd 100644 --- a/selfdrive/hardware/eon/hardware.h +++ b/selfdrive/hardware/eon/hardware.h @@ -47,6 +47,13 @@ public: int ret = std::system("dumpsys SurfaceFlinger --list | grep -Fq 'com.android.settings'"); launched_activity = ret == 0; } + + static void close_activities() { + if(launched_activity){ + std::system("pm disable com.android.settings && pm enable com.android.settings"); + } + } + static void launch_activity(std::string activity, std::string opts = "") { if (!launched_activity) { std::string cmd = "am start -n " + activity + " " + opts + diff --git a/selfdrive/ui/qt/offroad/settings.cc b/selfdrive/ui/qt/offroad/settings.cc index 7c5537f618..624cbc8f5f 100644 --- a/selfdrive/ui/qt/offroad/settings.cc +++ b/selfdrive/ui/qt/offroad/settings.cc @@ -328,3 +328,10 @@ SettingsWindow::SettingsWindow(QWidget *parent) : QFrame(parent) { } )"); } + +void SettingsWindow::hideEvent(QHideEvent *event){ +#ifdef QCOM + HardwareEon::close_activities(); +#endif +} + diff --git a/selfdrive/ui/qt/offroad/settings.hpp b/selfdrive/ui/qt/offroad/settings.hpp index 2dee5b62d1..58bdc2be8f 100644 --- a/selfdrive/ui/qt/offroad/settings.hpp +++ b/selfdrive/ui/qt/offroad/settings.hpp @@ -37,6 +37,9 @@ class SettingsWindow : public QFrame { public: explicit SettingsWindow(QWidget *parent = 0); +protected: + void hideEvent(QHideEvent *event); + signals: void closeSettings(); void offroadTransition(bool offroad);