[-]
[+]
|
Changed |
_service:tar_git:waydroid-runner.spec
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,7 +2,7 @@
<service name="tar_git">
<param name="url">https://github.com/sailfishos-open/waydroid-runner.git</param>
<param name="branch"></param>
- <param name="revision">0.1.0</param>
+ <param name="revision">0.2.0</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Changed |
_service:tar_git:waydroid-runner-0.2.0.tar.bz2/src/runner.cpp
^
|
@@ -95,9 +95,19 @@
void Runner::start()
{
+ // shouldn't happen
if (!m_process_session)
{
- std::cerr << "Session process not available, cannot start\n";
+ m_status = tr("Session process not available, cannot start");
+ emit statusChanged();
+ return;
+ }
+
+ checkStatus();
+ if (m_status_session_running)
+ {
+ m_status = tr("Android session started already. Stop that session and restart this application.");
+ emit statusChanged();
return;
}
@@ -106,26 +116,45 @@
emit statusChanged();
}
-void Runner::onCheckSession()
+void Runner::checkStatus()
{
- // check if session is running
QProcess check;
- bool container = false;
- bool session = false;
+ m_status_container_running = false;
+ m_status_session_running = false;
+ m_status_wayland_socket = QString();
check.start(WAYDROID_PATH, QStringList() << "status");
check.waitForFinished();
auto stdout = check.readAllStandardOutput().split('\n');
+ QString wd = QStringLiteral("Wayland display:");
for (QString line: stdout)
{
if (line.indexOf("Container:") >= 0 && line.indexOf("RUNNING") > 0)
- container = true;
+ m_status_container_running = true;
if (line.indexOf("Session:") >= 0 && line.indexOf("RUNNING") > 0)
- session = true;
+ m_status_session_running = true;
+ int wdi = line.indexOf(wd);
+ if (wdi >= 0)
+ m_status_wayland_socket = line.mid(wdi + wd.length()).trimmed();
}
+}
- if (session && container)
+void Runner::onCheckSession()
+{
+ // check if session is running
+ checkStatus();
+ if (m_status_session_running && m_status_container_running)
{
+ qDebug() << "Current Wayland socket: " << m_status_wayland_socket;
+ if (m_wayland_socket != m_status_wayland_socket)
+ {
+ std::cerr << "Android session running using Wayland display: " << m_status_wayland_socket.toStdString() << "\n"
+ << "Expected value: " << m_wayland_socket.toStdString() << std::endl;
+ m_status = tr("Unexpected Wayland display setting for running Android session. Stopping the execution.");
+ emit statusChanged();
+ return;
+ }
+
// this called only once as timer single shots will not be requested
m_process_fullui->start(WAYDROID_PATH, QStringList() << "show-full-ui");
m_status = tr("Waiting for Android UI");
|
[-]
[+]
|
Changed |
_service:tar_git:waydroid-runner-0.2.0.tar.bz2/src/runner.h
^
|
@@ -69,6 +69,9 @@
void exit();
protected:
+ void checkStatus();
+
+protected:
void onError(QProcess::ProcessError error);
void onFinished(int /*exitCode*/, QProcess::ExitStatus exitStatus);
void onCheckSession();
@@ -81,6 +84,9 @@
QString m_wayland_socket;
QString m_status;
+ bool m_status_session_running{false};
+ bool m_status_container_running{false};
+ QString m_status_wayland_socket;
bool m_crashed;
int m_exitCode;
};
|
[-]
[+]
|
Changed |
_service:tar_git:waydroid-runner-0.2.0.tar.bz2/translations/waydroid-runner-de_DE.ts
^
|
@@ -9,27 +9,42 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/runner.cpp" line="105"/>
+ <location filename="../src/runner.cpp" line="101"/>
+ <source>Session process not available, cannot start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/runner.cpp" line="109"/>
+ <source>Android session started already. Stop that session and restart this application.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/runner.cpp" line="115"/>
<source>Starting Android session</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/runner.cpp" line="131"/>
+ <location filename="../src/runner.cpp" line="153"/>
+ <source>Unexpected Wayland display setting for running Android session. Stopping the execution.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/runner.cpp" line="160"/>
<source>Waiting for Android UI</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/runner.cpp" line="162"/>
+ <location filename="../src/runner.cpp" line="191"/>
<source>Android session crashed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/runner.cpp" line="164"/>
+ <location filename="../src/runner.cpp" line="193"/>
<source>Android session finished with the exit code %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/runner.cpp" line="166"/>
+ <location filename="../src/runner.cpp" line="195"/>
<source>Android session finished</source>
<translation type="unfinished"></translation>
</message>
|
[-]
[+]
|
Changed |
_service:tar_git:waydroid-runner-0.2.0.tar.bz2/translations/waydroid-runner.ts
^
|
@@ -9,27 +9,42 @@
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/runner.cpp" line="105"/>
+ <location filename="../src/runner.cpp" line="101"/>
+ <source>Session process not available, cannot start</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/runner.cpp" line="109"/>
+ <source>Android session started already. Stop that session and restart this application.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/runner.cpp" line="115"/>
<source>Starting Android session</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/runner.cpp" line="131"/>
+ <location filename="../src/runner.cpp" line="153"/>
+ <source>Unexpected Wayland display setting for running Android session. Stopping the execution.</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/runner.cpp" line="160"/>
<source>Waiting for Android UI</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/runner.cpp" line="162"/>
+ <location filename="../src/runner.cpp" line="191"/>
<source>Android session crashed</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/runner.cpp" line="164"/>
+ <location filename="../src/runner.cpp" line="193"/>
<source>Android session finished with the exit code %1</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="../src/runner.cpp" line="166"/>
+ <location filename="../src/runner.cpp" line="195"/>
<source>Android session finished</source>
<translation type="unfinished"></translation>
</message>
|