Add support for zx_handle_replace.
This is related to https://fxbug.dev/68600.
handle_test has been updated and tested in fuchsia.git locally. Additional tests are added for Handle.duplicate.
This change adds inspect data to the a11y bridge, which can be requested
via the command line.
Inspect nodes are lazy computed, meaning that they are only processed
when invoked, so no extra space is used during normal use.
Bug: fxbug.dev/75100
Test: AccessibilityBridgeTest.InspectData
This refactoring moves the Application Launch and Uninstall methods to
the ApplicationStore class. This simplifies writing tests for Command
classes since the Application class is now a plain old data class, and
ApplicationStore can be replaced with a fake implementation for hermetic
testing, while I'll do in a follow-up patch.
Bug: https://github.com/flutter/flutter/issues/83072
Extracts each of the commands (listapps, install, uninstall, launch)
into a command class that is registered at startup. This simplifies
adding further commands, and cleans up the code a bit.
This is a refactoring that introduces no changes to existing functionality.
This PR accomplishes many things:
- Unblocks input resampling on Fuchsia
- Fixes 2 frame scheduling issues resulting in wasted work and missed frames
- Removes the now-defunct VsyncRecorder class
- Prepares the VsyncWaiter class for the Embedder API by moving all logic out of it
- Adds hundreds of lines of unittests for Fuchsia scheduling logic to validate the performance and correctness benefits
In preparation for #25551, rename SessionConnection to
DefaultSessionConnection. The plan is to have SessionConnection be an
interface we can create a fake of for testing purposes.
Adds an uninstall command that uninstalls the specified application by
its package family name.
This currently attempts to remove for all users, but in future, we may
want to restrict install and uninstall to the current user only.
Also renames ApplicationStore::GetInstalledApplications() to
ApplicationStore::GetApps()
UWP apps must be launched using their package family name, but are
uninstalled using their full package name. This patch updates the
Application class to store both.
Further, when launching UWP apps, we now do a lookup to verify the
package exists before attempting to launch it.
Replaces manual registry crawling with a lookup via
Windows.Management.Deployment.PackageManager. This eliminates the need
for the Registry class.
Covered by existing tests.
Issue: https://github.com/flutter/flutter/issues/81756
uwptool is a helper tool used by the flutter command-line tool. It can
be thought of as analogous to adb for Android or libimobiledevice for
iOS.
Its core functions are:
* List installed apps. (included in this patch)
* Launch an app with a set of launch arguments. (included in this patch)
* Install an app (included in a later patch).
* Uninstall an app (included in a later patch).
Part of https://github.com/flutter/flutter/issues/81756
The Windows registry is structured as a hierarchy of named keys, each of
which may contain a set of named values of various datatypes.
RegistryKey objects own the underlying HKEY handle and ensure cleanup at
or prior to destruction.
This adds a RegistryKey class that does automatic resource management
for registry keys and provides convenience functions for accessing keys
and navigating the key hierarchy.
This is library code to be used in uwptool, which adds an adb-like
helper tool for install, uninstall, and launch of UWP applications for
Windows platforms.
See: https://github.com/flutter/flutter/issues/81756
This offers a small improvement in performance in cases where the input
is a raw char* or wchar_t* string due to not having to perform an
implicit conversion to std::string/std::wstring.
Code cleanup covered by existing tests, which already use raw C strings.