service: am: Add QLaunch launcher

This commit is contained in:
Narr the Reg 2024-02-14 19:03:57 -06:00
parent c7588c042b
commit 2954c01b47
1 changed files with 18 additions and 0 deletions

View File

@ -35,6 +35,21 @@ AppletStorageChannel& InitializeFakeCallerApplet(Core::System& system,
return applet->caller_applet_broker->GetInData(); return applet->caller_applet_broker->GetInData();
} }
void PushInShowQlaunch(Core::System& system, AppletStorageChannel& channel) {
const CommonArguments arguments{
.arguments_version = CommonArgumentVersion::Version3,
.size = CommonArgumentSize::Version3,
.library_version = 0,
.theme_color = ThemeColor::BasicBlack,
.play_startup_sound = true,
.system_tick = system.CoreTiming().GetClockTicks(),
};
std::vector<u8> argument_data(sizeof(arguments));
std::memcpy(argument_data.data(), &arguments, sizeof(arguments));
channel.Push(std::make_shared<IStorage>(system, std::move(argument_data)));
}
void PushInShowAlbum(Core::System& system, AppletStorageChannel& channel) { void PushInShowAlbum(Core::System& system, AppletStorageChannel& channel) {
const CommonArguments arguments{ const CommonArguments arguments{
.arguments_version = CommonArgumentVersion::Version3, .arguments_version = CommonArgumentVersion::Version3,
@ -284,6 +299,9 @@ void AppletManager::CreateAndInsertByFrontendAppletParameters(
// Starting from frontend, some applets require input data. // Starting from frontend, some applets require input data.
switch (applet->applet_id) { switch (applet->applet_id) {
case AppletId::QLaunch:
PushInShowQlaunch(m_system, InitializeFakeCallerApplet(m_system, applet));
break;
case AppletId::Cabinet: case AppletId::Cabinet:
PushInShowCabinetData(m_system, InitializeFakeCallerApplet(m_system, applet)); PushInShowCabinetData(m_system, InitializeFakeCallerApplet(m_system, applet));
break; break;