From 204403056e6c8adc14406be5e64c4f1996e185bc Mon Sep 17 00:00:00 2001 From: Alessandro Astone Date: Wed, 25 Jan 2023 17:08:00 +0100 Subject: [PATCH] session: Provide waydroid.background_start bool Can be used by hwcomposer for example to decide whether or not to show the android bootanimation --- tools/actions/app_manager.py | 2 +- tools/actions/session_manager.py | 4 +++- tools/config/__init__.py | 3 ++- tools/helpers/images.py | 1 + tools/services/hardware_manager.py | 1 + 5 files changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/actions/app_manager.py b/tools/actions/app_manager.py index 53234ac..ae9cb25 100644 --- a/tools/actions/app_manager.py +++ b/tools/actions/app_manager.py @@ -69,7 +69,7 @@ def maybeLaunchLater(args, launchNow): launchNow() except dbus.DBusException: logging.error("Starting waydroid session") - tools.actions.session_manager.start(args, launchNow) + tools.actions.session_manager.start(args, launchNow, background=False) def launch(args): def justLaunch(): diff --git a/tools/actions/session_manager.py b/tools/actions/session_manager.py index 6709e14..d2daf7a 100644 --- a/tools/actions/session_manager.py +++ b/tools/actions/session_manager.py @@ -30,7 +30,7 @@ def service(args, looper): dbus_obj = DbusSessionManager(looper, dbus.SessionBus(), '/SessionManager', args) looper.run() -def start(args, unlocked_cb=None): +def start(args, unlocked_cb=None, background=True): try: name = dbus.service.BusName("id.waydro.Session", dbus.SessionBus(), do_not_queue=True) except dbus.exceptions.NameExistsException: @@ -72,6 +72,8 @@ def start(args, unlocked_cb=None): dpi = "0" session["lcd_density"] = dpi + session["background_start"] = "true" if background else "false" + mainloop = GLib.MainLoop() def sigint_handler(data): diff --git a/tools/config/__init__.py b/tools/config/__init__.py index 354f384..76a2162 100644 --- a/tools/config/__init__.py +++ b/tools/config/__init__.py @@ -60,7 +60,8 @@ session_defaults = { "wayland_display": str(os.environ.get('WAYLAND_DISPLAY')), "pulse_runtime_path": str(os.environ.get('PULSE_RUNTIME_PATH')), "state": "STOPPED", - "lcd_density": "0" + "lcd_density": "0", + "background_start": "true" } session_defaults["config_path"] = defaults["work"] + "/session.cfg" session_defaults["waydroid_data"] = session_defaults["xdg_data_home"] + \ diff --git a/tools/helpers/images.py b/tools/helpers/images.py index 3f1929c..740dbc5 100644 --- a/tools/helpers/images.py +++ b/tools/helpers/images.py @@ -122,6 +122,7 @@ def make_prop(args, cfg, full_props_path): add_prop("waydroid.xdg_runtime_dir", "xdg_runtime_dir") add_prop("waydroid.pulse_runtime_path", "pulse_runtime_path") add_prop("waydroid.wayland_display", "wayland_display") + add_prop("waydroid.background_start", "background_start") if which("waydroid-sensord") is None: props.append("waydroid.stub_sensors_hal=1") dpi = cfg["lcd_density"] diff --git a/tools/services/hardware_manager.py b/tools/services/hardware_manager.py index efc3236..76104cb 100644 --- a/tools/services/hardware_manager.py +++ b/tools/services/hardware_manager.py @@ -33,6 +33,7 @@ def start(args): helpers.images.umount_rootfs(args) helpers.images.replace(args, system_zip, system_time, vendor_zip, vendor_time) + args.session["background_start"] = "false" helpers.images.mount_rootfs(args, args.images_path, args.session) helpers.protocol.set_aidl_version(args) helpers.lxc.start(args) -- 2.47.3