dbus: make launch of application with package+component work
This commit is contained in:
parent
60c8cfc9a0
commit
198015c314
3 changed files with 12 additions and 4 deletions
|
|
@ -38,7 +38,7 @@ class Launch : public cli::CommandWithFlagsAndAction {
|
||||||
bool try_launch_activity(const std::shared_ptr<dbus::stub::ApplicationManager> &stub);
|
bool try_launch_activity(const std::shared_ptr<dbus::stub::ApplicationManager> &stub);
|
||||||
|
|
||||||
android::Intent intent_;
|
android::Intent intent_;
|
||||||
wm::Stack::Id stack_;
|
wm::Stack::Id stack_ = wm::Stack::Id::Default;
|
||||||
bool use_system_dbus_ = false;
|
bool use_system_dbus_ = false;
|
||||||
};
|
};
|
||||||
} // namespace cmds
|
} // namespace cmds
|
||||||
|
|
|
||||||
|
|
@ -92,6 +92,10 @@ int ApplicationManager::method_launch(sd_bus_message *m, void *userdata, sd_bus_
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
r = sd_bus_message_exit_container(m);
|
||||||
|
if (r < 0)
|
||||||
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
r = sd_bus_message_exit_container(m);
|
r = sd_bus_message_exit_container(m);
|
||||||
|
|
|
||||||
|
|
@ -114,9 +114,13 @@ void ApplicationManager::launch(const android::Intent &intent,
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
throw std::runtime_error("Failed to construct DBus message");
|
throw std::runtime_error("Failed to construct DBus message");
|
||||||
|
|
||||||
r = sd_bus_call(bus_->raw(), m, 0, nullptr, nullptr);
|
sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||||
if (r < 0)
|
r = sd_bus_call(bus_->raw(), m, 0, &error, nullptr);
|
||||||
throw std::runtime_error("Failed to call Anbox application manager");
|
if (r < 0) {
|
||||||
|
const auto msg = utils::string_format("%s", error.message);
|
||||||
|
sd_bus_error_free(&error);
|
||||||
|
throw std::runtime_error(msg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
core::Property<bool>& ApplicationManager::ready() {
|
core::Property<bool>& ApplicationManager::ready() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue