From 5210731e6953be2895927b122929222f94020af0 Mon Sep 17 00:00:00 2001 From: jonasbark Date: Thu, 27 Mar 2025 22:20:06 +0100 Subject: [PATCH 001/636] Initial commit --- LICENSE | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 674 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..f288702d2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. From d7b43854f99e6e88f395b413ce25dcbc11e194f4 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 11:18:16 +0100 Subject: [PATCH 002/636] change app icon --- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 10951 -> 10861 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 5805 -> 5523 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 16887 -> 17753 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 31199 -> 37637 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 48182 -> 66156 bytes flutter_launcher_icons.yaml | 4 ++-- icon.png | Bin 227724 -> 568328 bytes .../AppIcon.appiconset/app_icon_1024.png | Bin 525473 -> 1298051 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 26000 -> 29978 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 990 -> 982 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 72237 -> 118223 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 3044 -> 2908 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 202423 -> 491040 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 9118 -> 8884 bytes web/favicon.png | Bin 990 -> 982 bytes web/icons/Icon-192.png | Bin 48182 -> 66156 bytes web/icons/Icon-512.png | Bin 202423 -> 491040 bytes web/icons/Icon-maskable-192.png | Bin 48182 -> 66156 bytes web/icons/Icon-maskable-512.png | Bin 202423 -> 491040 bytes web/manifest.json | 4 ++-- windows/runner/resources/app_icon.ico | Bin 5827 -> 5545 bytes 21 files changed, 4 insertions(+), 4 deletions(-) diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index 8c8df10b117e84eba7898901b7324848ef9b0799..0d2e0b407651fac6d1bc87171989bf47aa299b37 100644 GIT binary patch literal 10861 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 diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 8bc86a0d47d70b61a2b947a8ed42a60bf6e61655..46211158ffe5c3dc596d121460c0ef92c42e6b52 100644 GIT binary patch literal 5523 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 V$QDF_6|vp;n}( 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 literal 16887 zcmV(?K-a&CP))gaXIGA%*={4{Qd++4IlF`Y6h)5(=<;nUApwdnX_jy4<9z<__xsW2mRl0<>eA)GKD~PnC>Vf5b+&BZxGEi;yOz(O0a^2tb^%w zPzJxpjI5JV<9_}(Wbl*u=PzH{^5y5B&tAH8>EcZrH)Q`eH2jYl(4<+j$Wi0pe(sK2 z+CT3#jc6e_;_2k$kx)AS#|J6SG52T0xeE)CXGgR2i;&l@^9c*RK2r(@_qm)oOg$eE zk(3bM?uFsQ+YKE$Z2W?S3!fi8bja6NuU-jVz&||xH3K4IV(`v8@7~*|U*GZ35#cr6 zQvUzzVE^N*7iZQrH~UA|pzxbUxqiJLn0sr-4t++C8ui@QU(G#KP*Cu%*7C0y(Bh_6 z(eHim!Q>Vx!VcXT`e@Xaai_l77=<9?& zp|~LB?@@-biKXtEI%P_SUcDcD=c$2Dypxu8n(w)YS)8!N8S{@No~Z8-9Vsv{%8C>Jn#bek5U}v}H{UdR z{q`N5UwrnN-e1m|nf6y-(#Jny!1FJTZ2tO~F-!b@PdUMNVSCBn+W8QPR#FuJ#mT~K zY|T7{Tq}TXNwtw+`W&ZM0<->+}*|5-6#!4U8FH2e6Yk2lq-RkP2Vqerj&JCpRc40z_b=j)6aGvzW6>HU=CnxQuZJ zf5Fl-`;c!asUcqYEQUbP!k@uQI1|W06>p6A?)9$ucZUvV-C9{(NHp;wqDzLAYt|#b zFsM$JgkHUN16Hryh`8to3>)wSh7EcG;gLQaoJtxnpqTKx?qP}O*Mt$#zyHGv(vBYK z@WK1Zyf+#y1qdbBUmV3hB_*9sNQkM>*W^LvP0bp^Z+cP4H9+SFD$Bc) zorl-on~2HNXJF7{k73y0#}E@89&+E1+v&9uLrDW820`p=W5#^DdGnTb8`rNZF?lPI z0j0{7Bjetm_*rapM2ef%TDppx2xmbIT%Km1+>ViZe?YeKtb{UnOb@)ohs3ZLRF5iy zI&o!C(G!C{egG!aVlj}&F$rGr1=r?dM&1^!~fFb%|dBhfx71%1ljfc9|} z;Wtc}{8~i2xsu7pHRZ3gz@1#VZNI%N^<80#sQNe2CX@*?)Vf6z+|;tMU`T#`K7L)Z z77G?H#?ocKq9AC2<4F8Q8E4O;bB_n{NS_BW?)8@u9Tf(H5LlEd!mImHtpN7IjLMZO zbpPn%srL^Y@W?lR%YZIDdQ|Drv->+l7<=Y&i`S7dB~{z=F5rQk^Kd%vs`#48y@e+X zwNJVLGw?_9Ea-9!7Ak{q>W!at6hgo7n^svI5>fzEezLYGc=;M~Pa zcy-iUn6qFBm|+TS2!de7+&TDj&o2D%?R>;Uh1vJjbg-?2T8DThYLOm2yHB3?)!emf ze_MUdy@YER@Wz-iZ}>c(DA<7*Y~xds+2O~&!mD`T&v`hTpA92Oz>QyYcpQdQ?}%s0 z*F~7Z*R+!iLB?D>E)EG?pK!&Xg8w2+6)aF|pjv~72W3i?#`MV((YI$$3?12bx#KZ0sAW<4Cvkekw$gv z)aj+9-UuEnZd>Ql-I1;ntKipY@Lft8UQg(m=vfPRRN2d z_dp9;KK9TrV2Co|%$| ztT_C%{5QNfdYqsF4?*WGT7>6DzJflzdgA$~oi_WIWlNX5a18@$)~y@Sv_Zq}PAq4X z`~VWO#|2u1K|2>B(<&69B{z~cBqU>6y)J_InteO6&SBuDFR{JoA{b0CpAQD}f=~*} zLr^ZEl9XuU@59jIME`F=x(gRBf*E|RmP)uR6a<2p`Q<#!nX>@T4;zM&FAkFyzyNyQ zdpBYtWAQ-W0SK_5SiztBcH!ygM&PrLC&D0B39Hp>mf>)lHtp`exlOy5*8jd%oNO~- z;K0G%{624DNnb907!azcA}T#xUdPCcJuJIkG6X zd8UX!i0KiDn8y>2WPcpqtbH5&c9K)F1GSSZSGZ|h$JtU9@ffb}I@b|7t<2;Z!F~61 z#jFL3@ki=5Cy7&BEo2ODeeeO6ulxm*-+Kp*8r2imxZ}1qnE3V>41NA(Fhi!)3l=Rw z&6+hZV%T7SP=S=%_hcbC2#E~$S8Cj}*{$n;U%MiN0c~!(y{DnQ(RB`{9&q&jRru{< z8Vu7T9<)?=3_fq%1LZt^abAE?4Bh$-K0lQT=J5#ge!*DbhQ=iepy0{3~>IBV%&r>esA+`Za2xfA3y+YxG4-{&W_m%$S4x!aNBea*ZE61mqI~-R|xr^k~Za zV{zo*VQkr%D#*qe`r6pB_-_7JfJjGOm@acCZIqQR9eYpZ%2kJDWTY1g2Gpxrt4Xxq zAIn_XZb^|(;QwwtYR}KGydHSCWE%uyYTSlfqbe$HGfY3Y9y5+?fEnS3VR{kn@nc+r zd+M0d(h`zFEQk$eVKGIo7hxcNg&QtF@#ZNmN>}> zl9H0}=ID{=+xr1@?eQ=&PM;KJhWm!c20e+Ym6xGm!#ePWc`;+ghiKNa0}6vdfhGO2 z`d6&qxDhws)T~5-;sU|3c&(=-=w-Q6y&)3${D=8brEQ!4<3Uv$b%s%9nn9j7EI<6M0M4?f&y&Xo{GY} z0z^hch#E5?p*cs;vJf5-jvH#%m5!Q_ka9XLW`a1zbn?tujC=cCfm$)tc# zYQYLvh>VIxkM8%OO{B8CQ*!clmx_n7QY=r>}gP$6P^}nrv>19Z+ zToI2v)EA%5oUNqBgYj=qz_KOZi4d2m{*DlB6pqMZZQ9-3;hXu20k__IYdsQbD6fex zxKkRnYq)=7m`{rBp>)k_~ zKjQhPF@OFy$jr+Hk4V;U+>EuqZ$P`YEue9U;yH^&DXCPUvheDH0hKFOtghv#eC0X=kh7gC?AUaUNny>hg)N-3d!ad|M~QOY`UBw`~v@et*9hSz2P3)$?`(X(u1ie z9~p-h6>ErRjfso_0tP6tBmsCEi#DA?Aq@rZ8u(?yCS>L2At5R%Bx^2ig1EWiv^D}1 z)Rg&&K1+7D7?K!NMrvDAQ_;3nOYz430|x~GTefJ426gKQhBa+i5ATg1g@HqctD72_ zK4TUh?A23THK}ww`t|LNkEcyn#RrCI)25+qn-+HHsS#OXx6v>pr=&Cy45(JUy6FuI zD|bEj%hbZ>r|$%{3c)ObAPn4_SRY;fZyeW#?U603y_Zr-dIMXX`mqRV| zSUwrQp4}y2f>#6%pMUZpdUWd~uGg>Ez4-XE8Q8sVpSbz-Bp~vl9NIz{s8N_MCIDii$v} z2jMgvUCY#kHd_T?*mCxmh`*^}pmtn2w2ZBw!b*mfCl273^M^ou9yRT#YAF1dxXb3D86k*-nx7~zk?~I43um@)M^RR1b(M&m7Lz(evl`CN8 zr;~9s;}jaU=qON5{*_V*u}EF>n}8UoDm$viExb4BGZdK-;-XyVrhPRZJ-Xc`LrPFQ z+_xv5e|fCX3T7Di{L49*`0jWiFx9G6M$^Vku$4zd!~hRsH*VR2Zk_M6*Jn!(leK1# zDYeqW?UP{`e+$WnaeK-;#tJOlQa%M$d{N?Qxxu*_$j6!dJiu=X7`lC84S3ZZ1-El4 zj64(6D*@J6e+{x=x}ojw5(Gb8xQOgt6a2VIo^HgMU;wR!B8ZK z93B=X{03EUbDP$!K`g2o8cl55u~RV7pd90}aCetZ*t%n$0uSzs_4oY_15#x;?_qVheZtJ78T*u58lViPYxC#BR6k6 zv=qUH0eHPWm^`xw>J&|s zki78hKx|CigRIQ+@Oy#hpMC-sbFy0QkQ+6uj~%;q31(NRnhb-OU^FPM^ynkKvFOK@ z*tzcj8q}?h_N`ih(tvaerWpd0bAh4EvKhebcCiG~ZM5Y3-7D5Yn?Vy1fPr!x>tW6b zJhhtA@d1q8_A?q+O+km!RYJne7_S$<4H$v!Rs+}qt%H3oWi6WE-i{sc z-RfV#3=d{}y9l%AEC35w988qKI};7ODw>hGxo98Z4@jIq0`>!QZ7}&mihnOy@;ycj zABI}ht3oe=8<|#3>SO)#nfUsfh3If=N8Hq;i5*7jir2SuKfycie+(;V;q@`E!k`qo zkvJ;Shm}8kiCudSqIS)i2s5F84_*$i1QXzbCUhZ3FhDomx$%?Y+Q6T!j3>;kLm~gX zvq}o?tn#$Xa2af8s!uB&7KXQ5-zm7SiErrs3XP%vpFF<)>{D3s%Wtqav55i8?~~!9 z1bO72p|VR3h%qNIBMvWJ2}fuq$1n5Il&P5V{sfhcsrLy*O0_C@<)z^&WuPHmh95~u ziI_0q4PkcpjVPplAhLxNUeiR=2DJnYxR5yM3Xv5#1!T$^4RaWv9fKA!*wX1bTrsly z2yM|)cn%3=9(6vn-!FbCp^%hf`n-7v7(6FXC=S)xvO@isEa-<+&)of-q3E0ax%-2! z7cRnx=bk~Oisc0o%3OW}A(p_6Fv)Wa>ShX20HO1#$(1OAIm65PnnRaO zYzV^!*_8RT!A@JM9Hw1U9#zEW{~ru0A3$7b@-+nf2S>?$Jj#m@0$zUGd*C3BoH&8} zyh0IGB*eywM5l_7Kxru_Or44;-z@=SJ|W>8E@lcW`|-zR7&3o8jF9q?G!X_f;8HS`=EMqC5-yu6Qz(ATHH_@DHW43Z`qHc(Pizn zt@!qbrMUmzZcbN}sG2g7{4gbX8b!)4EW~~N`eD<~J@PzCF=$YKygqy+>NIbTiJZrKt~4txTgI^8OLRtQ`JTVh#==lmNI zX_E_8jQgwZ;(tMT3Ec)PyfJAaCVcTFf*wBzH2}k_A{I+&y8+AR!;VvD@Z`G_UzIG&FAjWvVwT{@xfTLd8=xY zqG-{wDMr6M65(DShCeq9BVT(MqDzOUZ%zw&|;uWc_J9ps8QDd+(;}n?b z2VsU1SP8H(3VU41!`nP~e<(3P4Zi^5V#58H|Jh`;sC$E0&(MJb@ZP6Wd20<0r=P&m zD^tR!M1BxL4cba*S5##ZhnRih;3M91 z<53b#7_zf-uw~;`+|uGkag|qwK87zBe1o$W&kNJQ0k7^|IxESeBGH2Cz2VDwW%Qf) zeBQT;s6dUBWGwpXE5t@ci0hA=FbU({`!KWU(1+QLG{#-U32@<=;%8u)f89MK`7 zeEH^-Pf?~!89dgjCnEe|7|^#D#!i|ngk)ptPHfz^4K15BRcoUvIwp8y{JWSmbq1&* ziO)mKZ@-v@Sl&EkFwFmE5ynmUz(stX4apGT%$ZY2shWZcWy*n1x5dZCqITUnxc9z$ zar8(!MvobXA6Kpt4O%cvy!6^A)T&VnH{H|}FeQYpQ4$+`bG)_Fk7`5R4(6;F5DLWo z^WGXJGP(i7U&O_n0@0Sj@%x^4cEF7HC%~)AS*qAB`kDyEk+fqN`sO$p*Henv@Nm!~ zirj)i(U0@;o8!>!j@wW=Asz!BydUpv1`8L=vBN~o zqiQM1m^*hGM!)tpKKyLDFh>P}B0Ms1Fj6~A>WKq;hu82>@j}uTeU#y&LbfTX?Ac%*a9f7<8s(SY=eD?MmxOna= zhKv~}uA7-(i1#K>!P{eAMY+TTJld-}rp}lxn7Cri8tmG;4-MJ2R;56`uFOM&42ufdEb652>9!|wMgChCz>^B z;2M0DSuQtIZ;p8pdk-DNs^8X%^Uq#9gHNW-z=+{P1k0E!d2pZ{Vh6|9%qYN}3I7YJ zcc0IjTR-}I4lLpoP9@Ao@a4xJAei~M%rQewegUS=m@9gcc$%MFwK86M{&^7w4u5VS7A{$cqJZe> z$K;QvV$Q5-s)zz*84{WrrA-2NUrb{u;$PJ;6Glprvm*ZrtjwTg_SInHiK!sq7Z;{8u&V(adG zSg~%sf<7$V(f($<@xlwD$A=?}Z#+K)?R)eS5||e(!WZ8xzza`3iBfU#m^SHcbi4l{ z@n~x|ZNbfVbdfr5$Sz8c$He?EW}tnWo9zIV6L0O>O}LnqrxG8A7l%KGh_En0i0W0U zpw9z6Fni9|g5XPk{0UDFeHM)x+<^Og^+a@3xDYG?nd~JdCgSl&`(whSkHk7IUdP$ubLf-O|oUhX@nJKb{G9 zd+;HwO*;i*Szx>|%d+4j44=I>UgF_Q#?Y;sH$rly3OIHmT{yd+SO1RTPYx1(gGVQJ zZI#=4F42Of7H@pTXH!2yhjwi=u%%!Of-PHj*{?Z--Sy5+QmWNs4}W$DzWRC*ih_lL z33I>w7GHg{5Ys=OiH;iLeJB#dtzW;cj0Om?t61MI{0_e#ILsq|i3lL?wBp}Y=0#ccKy0_5EdSWg2F;^&C{pP%3D!Ytg(ZRkU&V$%$XzL#Tr`!#F*v39nK;^USWYf zz{ZO@QPEL0N~kMX+xP4R6(%-lqm@#U36`(jsFJjx?IUagn+A$3iiJNczvjM@QaVX8 za3wPnhck|&c5)SkLQ=c!{PNYSTB48;9}8ya#sdjDa6eJRkx88hIk6)4?%C~XRgozq z-~Xaw`EodN^qBZ4J3Gtq6b@t*QZ&_h08t!qV|E_c6{&xJcsP{EJDqvODp-WVq9XWt z#;M>jey4JY> zJOhL_+o!uS;*jg;ny{S&l`!H{(&1__LPAVD&&U-$3DS-nL*u%&L(tW}y?WsNnX_>= zJ6oDSiwRXuDpeXat5!uIP$=5fEgFPjF&sU50#~xLMZ^*j=0~NZBw^zTv9NdVA%M>m zix8JeC;<%pd-p~{WR&njRP~r@%UZr{S)p0n&m26&qc6)Y#w%ULFMy5UoSs54`)uFmYPo);^O0MvDZ-!&pn6>7jpXq_Z}6vwjS`;SP-L* zLF3D+T_agY4KGCVuxj;hYtg7q9Vxl$nx)GmV#WM9cd=Y^1?_QIdT{k%U8s>v9F`y4fR!D zl9Fb|uwla=uq-MCfImxeHM`YB7m4`iruo-4T{9vCVgGkf1VPKj4UiBKg^PJI$@%p2 zxp<=g!-$RybCit%b?el^rWH$Y?Bodqf<>rOxrzuq?TI!)QWMi>&cx-MD-xCDy+n84 zE$Xf^g9awNGamQd+YLj94#%Fu$8k@WPMA4;8hnmpP+*s?qycx{))pgPC7>cCHZkeL zk1_9y*8C~JOLTawuHn#AUW8KS6q2+jW_DME zhOUs9fX~Lgjvj*t$(xx31BbtWtjsJt`RK!T;m!_%9GMcx zA(4%)>{COx{!Udq{(6%-D-2Z@VC?`|_+y+jbJb}+=&k;>e{JdjF593(cVT6Ty z(V|7u60}v?;rjJzV(@^6@!==a#X3%%K8uc>I^okPQ_$s(+ax&+tp%`G$yB|0&z?Q# z)u%r)b8=NiP0{_HZn&9uR3to6(IBM0bCOX`7*vm?i~Z3Nh!~gQ%wPmAZF&qIT-aqA`}$pqgmU4})A zmms-n71XL#L!hZSxw$x=ejNJ`9v0xAu0M0Lk&=>vIbY01WO$e?#4ueacDJyEQi;HE z4tnjTq4EH#b7psAmTR!=dWRcO;zyX@z|6@LaMx{ZF?je$T;Tv1k2HvhJx7jU&*8() zHSK;xA3!A`+O%qbc{67qAud6Nl6}NIePrGXy$c@NK}mCB#wQ0_r}<izpkAR6_Y5OTtwylnxS5U;GMB=qFd*#7&ZD$ zY}~fhsn@z;4*g`5qEUmo7%}2G+}iP0k*zZ^{!}bI*6Rr=MLPD0*u6)p)zJ+_SaMRf zMB);SgAgataB)PY{vkv$kX)rQzMD52X~&LZ@ej-K-O69Eedi8XJPI)ZZ%iZx^yr1# z+O|fAHmwAF!Q0w3M#N_fsA`wg_=�Y$vC->K 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 literal 48182 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%0D>^(l^B`4)H85Zw6r$p`gZSsjJ1>+|s18 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 z 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�n@;s6iE+sK^^rBqtnFCm}jD6*Ix3p=9BP?4%#SwZN9C*Euz8B(#?>s0_`u zd79?e{1*|Fi$kweYq;B@`7Z~E8O zZ@&3gk(viZjW|H-^SmDpQ{vuq5xcBtxNZZ!P&7SA7!I!XDu=2B7fRzl+R%v&O%z6J zM;d=ngndZ~Di3B_z_f}9dQMIwLj7CSf zKy!BN1mkYXE@LwBDSi)59#-Y;pN=s9&7Wvv2ITXWU;UN8+8Hq*J;3&vt;v$7fqGP}CC$mEV z|CKW|VOzS$%QENV;?5Tfmr5Mq9f&kGop>@DTGZ9{KmG;wM%A|SFK3yIcBpR3l}w>8 zapZCbrU)q2a5YKLLHXt2NQ0N8dl>r0y}@v8+`ska*6y8qsv|%BTjNWX_pvyKlcNGu zl}q`Mzo23iQH~cH!8!3D-?*&&>>^t(UQqLzW)h$z250on{EdaK(>1ftoTsJ`z!; zg#1xxl$qG17^y|Bbd->UIoiPPh9P=5Go{*yL8&mNQHm(d!LZa|nlVrfrJ^fILjkD` ze%T{^=sgfqL#0qWcOfBt36RJkp^6RyrC5ytq*z@3engdTHz6wEv=LV?r!F((P@x@F z@nIXg75$Xl2AUU;00%{B0DGyzzsQrFxLQE9u`>=T>0%=ZFbhOzR7Dw4Lv&P1gsG_Z zPDdLnEnQ@&$kBjpI^4`Gy}%xQ_Q z753pWv7q&7uKL9coRW!SNL=qhiXg1O+E2}sYmqMS!A6OZQ-JYNsF`N zaOVSV&igQ#Fm&AS%{IJSg84;{Ha*iD*&=jJfMS1@8KSe(6yitB(j5cMem|)qEg1%$fO1>2S@%AQQ@maeU?oq3yVZq z=_F`2HaBWsWnOPtTCD%oFTSz5+GuiSi7_4x54&DPy}b!!-UPszkipcr5EGU)h+ zWW!2VD1yXOH8V`a6&)FDdC$?X+OmCnJ=olAKKpk!Htk-o_1tGa8!D{ius#73ga$Do z@GL7>5R*a}o4d;vgiT!mD?Vi?tB}?a5j#ie{rBcC{$n@U)+4m;*OR~qahmr}vFsaZWn2|m=2&WIQcx3ST0c)Vqc zYbNHu|NEZ*@gMn->v&b@$-&0*ax>HKx0pDLdc9%I^%1@yG^aSuTVBpfy$&uc)HmOJ zbHmC+%hMe2`)~gMOhyQ<-kiDUz=1w^4p@!ocGSR^0Vs`ZEMNhVwh$81O?@Dy*vO43w0qiQy;ozhkM}{IAw;)oFWkBB!socAFT!t-ckM7)i11m?-?)4>xy`B8%LVxlKou8kpr9wXbNEqdZItmg4h8GO*w`~ zg20I^xbreojMp)OkxvM-44>;?L27i>(S#`g*((~mAE&cQs~G3P&POVI*g$p!4Ml3gB8<=^yGY&P z;KFt%POOaH`ObH@@4ox)W}V0F&(8Piox656S3UKq_0?Bj-JH4ajAjdWNC;_o@-5b3 z&jJC%WW(d4oo{K@Jo`quJb56r2|XNK{!tR?UHTK*LL`WaE8;-Um3|G5{D_%+G|_+( z8zY~Y4$sR{j`;EW3N7etX)j>0qo71xJF;sS1wHvByupymZBB+;gEc$;g3 zRdxG>8!1747P0PaM?tk>mx962I;md67Ku_37>rF z=?yQ!^of^h_y6ky1ct3{myi3m+;U6%s;jQrJaqW*@0_uB&+BbML`e(0tp-cT3zR&fdZ$s?n`{gF4epUY~8 z*^i5XJR@L$2?-q}CZEKhUq!6|U}`gzf{l||1ONj&Mkzr_JfS>#8t%bQNx%rD5t

O_TYR@uLl9W_&4G^z;53Ch(FU`#cR?Rwu9eW1nr0Xb^QtHK#@s8E`ky za=HU`*e)@lc(J~iF}ABYXif0f;xu5+LMkq?0(k{A!-23CH4Igi-N242YE3r{D%RBa z?O&12p6nGPYc|UDy3$tifkmVtV|bg%prYyI5BYSlo#Mb5B0*YB*^b%tTEsvQy<92z zH{r(5#7O4%yieLgBI5)WQm{3BAWMS;O4wi!U@~rkIR;Wp#G#LoBrohJLrCQpilK?B zz%=oa)QFovfTMgOqS8=iww^#3739Gm6!If`!~!ZD8vz_mR67lvr0GubO$P@GWpXJU zE@m_(qAr-q3xY@xl@T22wU1PMI|0(65TGX3#L}h_2_{;ICUR7|(k9Gh6_Riu9BJf) z-xW2A$*9pigOQ2WI8}GA9MHtJij;0gJsG$i-Py7kWD@#?A>?V`G(#0B!<&>Vc2%w7 zXrVy^njtR%Wz4g>)t)oY zZeH}_7q(vTyzd!5{n^iKZQrq#i)JU%;treR0oRg_s*ROZmx(<{9WzOUf21=>gSLvn0 zsS#dL&if!(ahYvSudFsZcWh;_AJq%H&Sb@6D@V{9phsg!2)>kqF-D>UB%M}FY#PLp zhSSCs2m9cOum@kB$#de!H@FjW*!uM6ZmOR3w5xnXG#AH_wX{FJpw`Hzz%jhCih^>R zArU?dtoK06*wV-CuZQb1%A<$an0-BtfI)^FDaeDW)TXWOkup4&zEn^v4TzW{&9!Qf zR+P%ZFR5g>2k0aR*GzEB*a2JF#wFyO9>5o&sSZAFx*9KS-PXC`Z~xC%U;F&$UH`!w zZ(QcR8&a!SnHbKVI+arzKCtSWAEDjvpVjL19vr{=)vq3UY9sv9>%a0P41DCDPhioc zh|7ztd4xj4)3Js)m}8Zrl5;wAMp6Vf_XRM4@)VQH6LGM3p8;&ONseS=D#%d{XNou$ z)F*^aNHYvicPW58?@|ErIC`kd05ibB!1V}%X3T0C+^ms`!j#BxAdom>lzErCK+Gxt z=OsJiSAFsW^`Ct9qpkU?zPFkm4n}>R-EIhS5oQJp2RK*OlOvL=VlqXRu@0cdIo1yr ziV8YTA~uoa^sS$7=DSjy}-5 z^FQ5Gec}E)>qpj4HLbxa=gyYuYcIZX{Pw56u(f+(E2iCqI>$PCi?n16Gd_Wt05Qc_ zE@pU!vWhtSZ0cfO1L5?`u6z`lZfuDqq(IOH{-CMH=|XHWDO6xY1Dps38Q>&a2thzx z%w$<>OuR{&Pw@*nkVtVtb0ycLVO{S+bGjrOn9^OnAPO~rHJhkQNy1JznD($w^PJ+5 zJEw!}U^u9XSU8dihH_#pEghAEj67^!-XM>w5i$IehFrCufrgRYcY?||#pN{Z{3`z<+MT(9>3LkF?dcj7k!7Zo)2Mmx~6dibwi!CJ1iUaMV zyd-m}Os><^9}NIlc;a7rP%K;_fhSW}PJ@cDH08*bSFKFsvk%(9DK70bgXRaR$doQh zLD)e8#S+m*CrSlh5T{<{?7)wX>C*&I07Vi5QAT&m;Ad-%9Qk5ocX4yAYtV!cZDgu% zDYfT6U9DwPcY%00y9Ye+Z(E2vRXm;}NPBLK#2_~Yx%v8$V<(4ucW+DF&de<}7hHTP zk4WHpB(T##xj3u#fqxFT8|$Z9J_35Uv5sXn;K~QCz&%=6+S$JD<*#gh=C!Y?F1X+V zTr5}miUPET+y=QiF{U<% zsw#jp>K}o|h8_o$iH7lS0X)-?zD|}Xp5;A7#LVcxMVD9i-t*PEw{=Igylp49F2?gD zL%S(UcHnP;tO|;-)g6#R(KdNBABS>IW^h069O59@~xAFB79v9Ic{ zohEuvD4|;LaP%&4s*LEMA;zar)sWq*D|9j2+Z6?zRhZvwEEc-IzTpq`APU-M+~j8? zdO{Wjgp>erInMD^yrQ5|NP>a0Fqo7=-zNSb4v?Y%5ynmu1M=9f*nsWC53LPDZm=A0 z-@aq!#L1J7?AWnm&tLu3UvYY4-0pK~Bf_E<7g&xDv$KuYkx#Fa*z3!^IHlor61FRv zO?rGQKX=`ASMQ>WF6tjTbnkcU+js6ijCdS2vlfiU+7uz8XLvacN5^0!8=n1x6-5uA z^d@bic79uriD)bkRBI6mF}`WpjreXk+SVu2g+|3#iRqXn3`! zE7g!N5mW1kglY6<#w8}`(CamSe$P$S|NMd9sFp5%#<(-T)aJ3T+?}AYv<&WJ<{)&8 zm>e|~iHoy2i%|egswj@pYRRX|6;W&ST)X`<)rEU6ZEkw`8(Z7ScLUy%=Ujvrap9C4 z_k)-5Clc_O0%UMdENlO$kub_Ynx8b6h+VQz%d`t5__tywML;(907RV)LI^~PxnkOYCyIz?4D#ipa^q^ z`!rW)eX8hAuL%yJN-uzs*rZ`t(VXzqt3Vt`&1i~;G}70sCPV02#+N|5E!Z@0tfULp z2(OqS-ssptojv%Yx+GQlA|hqQA0Z(Z4-N_#NDwae5v=4V+p|sJundHes6A`+m828s! zi6%uavqT=5=M%koj8&)A>dvrW*dx%$Zj^g>$L8uvedH0+|A1TiqB+#aZD*c&X7w|_ z_@>rte(V**Iu~$~N*Fkr&CRu%7YuT-c(19rqXKF5Fx|!c#dICj!XBBCK0p&Ic#U-h z044UL(zL* zPf3e&%^AFqYqLLqpr;`)x+a0Ih)$j9340~`AOtb%yGl){SdDopZy)f02i18`QtQ}* zUsvYw`szmBiNuWyOwz~_tQr_js>RAHFqrJUTdj<0s%i@$kgU)%u} zJq;6y788jK8~^4x&oL{0YafxB_Ar!qcK0{9@Mm9tW39u*K*Ca{;~tqML7DQ@7G=3d zCk}v$pp4E%zoghWRsyV8hAzSqUVLLCVW5Xmp^>J`PNfm_aVor#I>3e}nSs{c@#xTD z@M{7dv8l;1U>H)yrWUP?H|GKx-Pu{YJQ$YA29CO$qWu!u4Rpc+n$T4WNAOMgOSZT&b zhcU^iZoHJB(PLC<(uU14rkPDp2t{M{*g6-zy9^Knv^^hG&m5xif5=1o_}LeR_*F;IA# z7GQ>Fg^Dp2)=I#ZXxhPn8Hp4x^mPCZQc1(E^9dr=5rb`o&$hbI7n1CzRg_Uq#KLqaz<&&f3UP4N#)$n%-#$5xb+VkRRni#d$(aFQ96i+%_SXSD%Bny?Wirdm<26f6Vb zw~SG7T*T*B@@VU3xnEyBg#&^H7xt$k#2w(2u=Ga0On}4;8;M}#GdB59Le9W!bd;PZ zEAA5?_6rZ#cwl1(DubVOP!qPqZF6{18u`?$a!u+TOP9%<6SN_xk$hf99vTsLn-ke2Cay8>}UXaY%t? zhM+il{K^c@5LT&t5}xcPHjzOrtPqhHJcd>*txL0V49T7iJv|a{hCb6D)MAyuajyi7 zk0YvPw=6PKXb<20zCWFL&8x2C5{Gtc_c@n<0H=U>2q1!iDvry9io7(j6C`v1=qf92 z2)rZSwjIa9_BsGI6G=FCTeH=p58k0xysv{x{ZM>;^)wxw)><5oCEe2n9aRRER7O`+ z8&yM1l{a3&NTq2OqcQW9lVw(vkWY1Rm^hO7n36>$?`K9xF{MY8lnp!d$5nlsFUyrB zqsmH?;z*7_Mx(j~?1Y0H`AEvhfj)n9hAzl(+NZUB`}XmjcinZ{B?k^%_K}Z#WGlCV z0xr)!?DfX3PHO0Z~1^_10UrTzttTry1&a zTPs)ZV}O7mZfYaY!pb(7psFh^2rqn~L=OysQdDbqkH*!~BJHfbGON>1ZAm@7_14(8 zw6R&-23RciUla>5SE$KJxkx7d2{$55=fhy89ISwR+?l}u&VoF%^vBlM$NS#(>Z;kX zzqP#YT&AjAuMm$h=m|C`BZ^XMLM+RSmx(BnCvarJ{FNTagXH*kGv=I})kJi&dB+!< zH$3~g`q#euB@tu5BTEgX2~EUF!it&@lxCC)HsT;O<{YCTg=^IB9-rfD;z(8{{29pn%D;+JtpH1i%b=U}3zE96dR5Ef3yWSxuN z2mk{5tY7@-n1;3%Lj<}aFmQ~)zX*vQ#hK^Llcp! z*nytDVpt^htfam4i#QXx3L8#EDiM|JLoKIdCW!>nkGaZVKNRCrlz3kB08 z;U_~S^v`%v0bPLtHS$CLjap*VF2ckOqMuAj0!AX3BcG8+Uv))fzNvtLHYsWcpZ|O@ zF%{YXu91NUv$S|X5QBex%dNLp*IfSO=DbUvQm?G8!H1)C2MqjI9?DG=n=G8uWM6f? zBC%YF0!?*QekwffAp_#4JXbnoqb-9H2Q5!}%GK2;KK`-htX;b$ zKag-Faw3a8^N;vT=)K47%36U+aUjho-Bw8U++9VqI zf=$ezae$0=zV>>K=S_5Yn(xOx@$u>hU-%*fZZ&((KG2>FtqxarcEpA<|A3c7uA}e~3jH;P^7$9`?kS0dJym}?! zqKQi~)Yj%g8k(u5GN?S;5YR6t-06#=;(#3FFM}L|+Cs0=VQr4F)IV;IVCNzRMt2c8!dY3n3uTQ)T#|JdjB#vG5vcGC0qKX~uiTW4oab~@YU zMzh0Kwc6R}cGv2arKLWnHVlu^!(4RfB*F>C-o1Oh;1cP+^$)s7qH6oD?f=?4H2Rxf zH$aXMYx9Zc@z@l6$J2OMEWr6W70W-SJDk-e&L~m6ID*awtqc>C5E?-u(MT`aNVil& z3qZn%5D^`5q5%YBaZSK#18oqPb}<4`?q%k3)Iu)$YEwzh@DdHrAYT6dw^XC~h4Hq% z=Zrv$iD=GHLz{Ng>+7Bri!4zaPB?*AM`LU}Q&BmuV-6Jr+-;^cSB*}e827*Ox$*D+ z(9c%C!X$#1eS^TjJ5$X0&lH;c$|Q!s?z6*vr?M(GphCsbC2f?0mdspO5*G*l zv&*+MNGhn#T%IoN?kowSTdj-+&F_BUhSnK>@+4lf?`q7vQno`gn&=Cz;tFlLrHfg#))2XH(V6OyQ_ zqR1tVV1@mPisW`0P;4!v#arMVS8PsyiUBCU{OCk*b2_Csg%Xd^a?=i>2Y>1D13B5* zg)+2r$W6BdYuSXTZlTyz(G_Mi=Sh9KjbZAnCX{TUz-dY!8nQT`-Q*DeS6G?>yb`d< zP@o9%3K7Wbrut8qA!R5~NnBATFFTjfFlX!7hd(UH&JH5(Kj9WgBy7^5BVXhdCJ_XR z9U`vAW0w#2}wFdT?)cLPDyi4dMJ@MUJ0j+{fK6KyI5dG zz><_GlE#8Q@g>lqCL6dXI%7;5Yag5@kPuNaKq(azHTy}=$P+8%<8ZB=`3nuwkPgMh zVnjP6a_KRW5DoU1qB&U#E@8&A9q;r0;ut8xI&n3aI6$G1&_-W%H4arkmX<@qb!+LO zg_liOP6_Rt-s>UeHnsJqRlV}%FISzaH^U>|e6BRB2?hW%iDk4S;cGAYN=KGZ%)OjU z77)xy3Jvp)HMd-=81l@UAy?@S`|D29t6lrgZ1x?vyxM)otyb!U}xY$NV3;5L3UT zp(~iScW}TDC|4>h4NUp3hb#2t!zKu|n=W^>o$jwS{lR+m121@C^_4qrN1^fP;rnl6 z{BW9td1MAi?)YXW16LzBY2lk~z3&O)GGT`raPYuJgKTmU{f@JrRIi;pHGJxKT^(U( zXM3*iaBQZ{xO$DzL4QU&XgdUl6b348q*mw^vlLyGf%fpi_0uUDDvGV*FV-WWeREa> z2nz?SsE?F-Miz`4Oob?VX^0z#2=2S)3IU&g4*2baPrm3$|LRq*devzj7}n!S+Cv^@iQVUTuGqMJf@>vMnP^pabG^j2ZBY@5`TQ3< z)58C+U&PPsYg+foPkwUdY0r52an7mF@}Qc59RR(=jEq+Ez zmw35Ln1VP3dx49lBo>1Lf1GYacVT}#(;dI!Z~v_Nz?VMWEFF9X6FMiGBi>TWqi4H%5gkl5d?-Z%gq1Gh zVRZdScX6V@708&W!>K5Q>a^$U!P+rSXMC~x=*!0+9E8)`vChl5oc2pYioAi32h)0uR>0@2rOi)$ z`opacfBG+)&AHyV+P<&d*}cEo%B#o++%CeYGu)WjIJ6mHuzpe$Oqc*d9pov6Hiib5 zrf(i(X3f22)#l07s(J9X=E$4=sOE*iEPrtAhkg+$5vPbt-=Z`7F@ADO4%Hl#RNNs% zcYk9~R09JTl<|2uJ3k8z!trc{*sb$PlA!4$#r*c@pmO%tfq(d~yDP&{Pn?_hE z3~Wo4jcmytJ5#C@xe0NqL&6^=p@L%Us~PPt8Ko%x9&^W^q!5Y2M81&FFWd+Ush}s~ zA~gM#K~$iJ(`Rm+g*MCOm^?u}P@13UA)pH8ju6qQh?~L*9-KZtq$GUt3zf#v$h6;N-x!FV zv?&l+;Qz9S#HM^4;KkQGNq^}?CaEerT@VI#;HFrxiozN|YTDnK6w!k9ku(a+u=M9! zFryLP;ra5ch^f8QjZ7Gsny3;+udLJ8>82Kz?S3wgXIql{Y$3mb<=7VkF@2&=NF!zYH#U*VJ z$75Qp!OCiN>ezk7W9k3GA9`8+NAG)gwQK8ExHT=7yQ_Ymi=oh&M_ORxBph`@TcUBI zKhO}x7)c#%216zvL=puwiqGN`JVGBIfHFElQ{`|uzR?hTRfkX@jq&l>xr}!_J7bnf zg%6kNs#0su`Iqt<4eq4lnu+O>6s^&L0m=NJDWDj47xBQxTqLrhmVp2!n>@>++gosI zGk)ywoz2Vs#ZR=~fBo-ytrrLEuJQ}K|NJ11HbF>Ip6=&1cGh|0xwes&9>zxp%LD^y zP(nqE_p$9K4JWkufi{9k*a!?BbaPUQT1g-Jpf09QXs@J~_~$e%=^$##Bdmf5De1xt zt@%|2xjRJy>(S!kV%0yrGWer^_ov&J_wV0Q^SZ3T>~Pp#T^;jy?BQw7e=YX=Lsulc zM#8T4|CUxHkOK{>iqjdq6Sircan3mx^k&*iOjo$U0icThjsOS?7GjEk7(dBgiJdiI z4>VV0yZ~^(6Ag1)GOg)HGa=W&xPrBOxmQe}BTC9(if>vEl=37l*p`O@t{`SXevup= z^rRNHg#=SLi6bow{9M7?ZT{x)t*sB-^r3q0;%k(eNi>A&o(%MAq|^rVk`MZsZfqzW ziRn-no}^AO�)dNZ^2siWVh*6;jJ^(TMqt@Vp8ybN`4dTujf#tnbJ$hnFuC=n_a zjtk)gQl*^|v1ygl3BR#_HW1G#FReULZWH@@5wcpW19a_}#5-`!8&^utKrXY_y3Su=HX?3Bnqse1fG%BH}5iAd?&~sPOY~ zGaL>$1L-%N9b3nnt$}R-u)iR&gHhN*cC(5RViFK!Hp$f3 z&~9o~z{X2L45jTJV4#X9PIF8iGV`!0ymTR5(w5;p`GOnpBa)4aChq#-SNqzFYDJbm z4eeT3p$+2kjqv(JD9FQ4d;vY8teF&g6ldeMptzXw%f&iE z#|DbPx61@F^Mi#R$M?UGAL5wKdfbn7ziYBe8vg8$#3C~JQ znvBj2ol^A^a0H(JQbvKS{?U;#5TsB;M6E)#XhZ>@xC*QaQ#UB%zY>@-M54365f;yo z(Cf&pS#6+Y@}kd#!Ae*}g~2#_(-CcnTHOwK)kT}8g$|d3%rxwRO}Hk?GLB}L$PAEq zRCVUN)max^-r9ZsldD#5vHti+|Ge70ZAWw272nl5dg3u}6&=sb&yRSDrUyzyt65J^ zavJD1O1lxm1`dS|_NkA!RHBzF8Zj1#VPfPnlf;4$0EUTvt_MVRF(qemEncg~Gc(p$ zG4bJCNAJ09)SBT%U>$VlshZL-E5}K+xv=UjF=mDd>J>D|>y0j7*R5`+*&MEqJ9C}7 zyJdIl&)@r=@o&HDdQLa>xb_^!;Z_c$Dlvcs)YhdQIF*s1c#eK&K2r>!z!P9!Tt_>p zAU`&6hDbe<+1M0^$_T@MdMGiC9m#~tB0iHXJGdMnvh>pBB%OHB3$%O&EI`GVt%*-l zDxDbKNMI+%AT@F7x~{n`cxGXFaei)Y@yg>|aSEZTz1kU%78Y8oELAaypk>u|65+KH z)<694!!?uNocVYEzxqK9W3u8EqTbmz-nG2^ZbWf>)f8f^GVvw>iT%(#3s^uxO!`_1 zbOHuIiXtFQp9y0Aik+Zodiq99!K9o&)Yg)LALSuq*Z6T@k0@+8p$M``y^#cyP-wP- zP?6cL9^%8Z%KE3AjYQ3Qx}A4Y}V zp83$w@-*0ah60YkLu*K)Cyv}(wI4WC{oQrH);w$fljzU6OkYZa&wB_asj{#uC2)a9 z00}bDgWcj_Qm2;7yKPcf<7gD%DG1=yG*CIcKyBXn1%fP#@M4U?c%%K&PrR?*{h-o)OmgJN3JD&L{7`{)rZ~c8ZZp`}S5$>cP}TFLOLW1$1GfiW&TDX&3a4n}H`?Tuf3V6D*jBmz_|b zwrrOGvOd;<6F_M7$G~e>F2?all$C zw7Y|+GDIq=iw--nu_Bn+P}QIh30bqHvxkCQl8g~TaL`|? zckka#{j-}Bhr^uFhwv-cX__x}#-U2Cts_TFV-exbvf zt#W*6$za<#y#KD@1arH6W+@yip>Jh_s+S_dACjEp=ma9+j0k)=6*0VN56M%bv%Ip{ z%$5ECb=6n7?260YJk3L=xG|#NPOtYTc@ikavT9HgJJjsIhjLnVr6xzEW!etVd5IwA%PVn?_3lqYosj)}pFP1xI40GDL2_ zG7T90Nrn<>b9Fo$j_OoWVuz=8hypVFmN~kKE-AuM`Va8X^D4KEOLiDREEGkh6k=Tj z4`kWc7&Mo^?>~0eHt%ldHf?KGd31{tmXxAr1Bx;N9a<0q2yGU~w0zx9n;Aqf7tW(X zu?A12n<&SR931uzJ=`4l`FAwmarQ;bL*P(rym5}=_9c*V+|l+OiKto6-bBY=Oh2Nk z!+J)WL5#wyL=^&Wd?*+y0VPDazQ_byut*7Yb=sf5Gr=IPF!@=aQ3__ z+sWw}Zz}WtYVKr#1B+cU1fz)&-yluIWXxmV1w?fV2n6E;a&=%IsrXEGP}+<1RMn?D z{T}8)aVSQ$6J2Q}nWQw-C>5BY1{>v187XH{7>fE4)hGx7dDax0LBv-6GzbzT6=Z1M z0GgWGMYKE>RP3M>sVWAy!ihq%arhrZCjXP`@c?IU3|pyd2gIH)Nnh-1=5sZ9}ltjtLE>ubA$GF1ajICs~I%@Yd^|ga^A8!Sp;HZN^BvV-7`OceAwS6y`ttNfNNEkuqjj1n}$4P6Hx&Y2sM5Qu*%19SZt9J z+6GhO7nv~&@+cW4^f|zTgLP_%Z8O&|TqmzuZ8NqA#bgGeQ+yiZBiqsV#q;u%l27ZuCz_7Wv4lI35N@_U%`BDd#<%62hIOZW)oy%P# zSXUD#0l()j)s=+?ln#S(-qD9NdO;0o(2UbLy<%4C%hZ!hS(@%Yrcx;eYHPwt27sp5 zkF1IdI^>9_c!!kOZb*DxqzUFS=xEsRT>tM2e+iC~i!lx{CyKM+n+! z(tkk6`9%HQeZMFZ%IZUF$UNQ>E zLT!xIo#W-^gLe;iz2#NSuYdl(w*8APDVs09mM6!}anJ5LAl3_ao)4K6^vO6_FVh?# zfQ(WrGZvB$pUTz|f!vhVR;|NZ!tQ`ya%*YNtQJ?wMccR49s_eo19TOuBQJKdMGbyc z!s;Q$)owAo^4hZ^otf&$^HMM8NCzmDR=PJ;Y0IIe)IIeuP*?;yp$HOehW!OIQmRhr zCP3&}-5q`%9~sIOSqF`i$<+WE`(s)?*bA)`Q5RSf?*KFWsKb}FLn2aA9nut2cWh?5 z08RpyvTNZ-v~s}!5Y-&Xbyw*sX|-eo@v@p_B?w1bmOEi2i|S@ll`*woZJ38lyiT;p zjDXIhF>@aKnh;8u+K~pW6Pl111t$Ro3JGEa0zWh{N~i~s%FFNQkUfeau0#mx8c=w~ z)DTNYY3s7}LdAiBb*KO~1kJe*WGU?z((olnTvowTnsZK5pr7nO0EQce(s4vVEeNW(yKj zpZkj-_1d3(EvdtXJ0|G8JlCy*TD6-|8cvI{R1Z~Y#%O#rx~eJ%rQRcdA8YBaeqII9 z=gIQw3<$vNWGF%)5p{f`E!enp!K(@QC%!k!ygqv2#EH(foqO877d)ly&unWx_}7Z3?};9rAzcZ_>vxE*qtwII9C;W9J@cJAJ*X}Nkbt`j;4zquq=wvp~{7_n%HBV>)E8UOh=~|D( zI3VcMsD=H}+(88+Ol?n7qbSuJkiyonn{Afp-y83Bx+`l7YrI8mV&^%#uU=T_FR^lA z#u^0FHZysMf(rz4ju-x;?H}YVa?PVPgfgJPfwp;MB5R=A_ z3fcG_jnX4t1zFuOb{D%cQ%99XYQi5!o()GgaU0djhbg$SyuQ*t?T_D5p8KI+>n-iv z*=&9Cb2^jLyBNs$kSp%`uSSS%E zvr$qL%4tB!lv2PGxwN^C5=Jqw`z9iX#?R~k1YG)$Zidcp@z&&ymDXP2@M&N zUE#oo_5w*#B0aJgan%70Gpy7uBFINj?D*@C11jOL>3|lJl;|l9EE}(?aCcPEbXDrN z;#K@`pd2vk+@1U&LSDigRl$zdSjva4z#(Nq7R1c9+jL}CsKvebzU8MYm!Of?G!jwE#e&jVBpcVBIE^FS+b z_F4GUr=!-?3taM;KY6Td*|EFbd+F0*&~0vf#Vg9}+?H}|{$$~Wjb)sdJZ<0zJeW|w z0*(^Luj8u@cS&&)3ygdL)pGn8KG288;6JC^@y!s4;0XkpH{~3ua|NjFEH0nQ3(WRE z@_@IoHjf^-s~IB(@cN!*RO+Szeqct?K39m=ykDp1!M1QxoCz1&+y$c9Dg^%tkZ|6BEtM=n@BOB`}|U z^lfgUK3$X*oX^XPnjj!-pRxvczJM!5^+Fe!kc1!Q524A4cJq_T2Z}<~fZdY>f2Qao z*a$&AU*M0Ar@QD&6;Z?qYm3|V;iCSd>gdoyk_lcNMg7TylNok+iV}~%=0#bAy5aBz zAAM74xEFTE>62Z-I zWG46=njr#%Fm9smjI-8btog(Hzuav9o!7Q^9K2^Zb>UOX%+9@Km5VCf;aW=*py5bn zn5Rl`3ZiIUJ+!Y-v*3&KVgs!i&m)y_45Jpz%(WurM#HQ>%B31R4=URcq5_PDZjL|P z-MV9MyK{V&tG#$UvIf7>Kp4_kl>>|@H^|eDsw}q^acv zGvUE9{A+(6&84WReo#eZ)O)N?Vx=PO+6PqLaw5>EfdCMgya`iIz8H)lCm7TR3-t!h zSktgbmVH-SYwUw$uYFR^oBXQjaF|I$c5%(qi` zR#kN(q`sv&E1(c$`AJHZH(&)#qTELeEaFE-v?t_l)_fsmdCv#l!<`5#gOkTkmI>a9 z$uuHeGYx5DqqELSyPVl%@&LXpJEIMA1+v0G|2}FkI)kWQqi}jPe&EnM{&D)(Kx^}a z6k4E`KB!NCwQqfq5?^={uL}-&2S&G9TRqiXUOZK}TcT_^>%w-CLB#gWTgzL2>m4Y+ z+nt`CElhjUHi%a~pfC}K76LI$9{Ke}DeGnUAS%#Hb#Ic*Ax`qGRbmL+T0Gt_qFxfA zS8q%!&El!~&fNIaaDH(1h#%yaw>V68ES{Ky5kXE5O-J* z)?H>g8WwiWH{(;|!`}3c-uvG3_HyeTcM@hN;|2~qaBe(-F|=1jz*A=&@B)~LU0R69 z9$zRKJ0Va;0+BeDA_bA`S}>JwTX11Jw5^ZasTj>*7jSDxX=77lL}OMUU=jUBfec?z zm(_jQ#lbv^a)XJQ&_(T1j|pfhx;3WeF-qe;hJA3wr58VwM{><^QmKHes`r2OfCfY((N>k-ZS>@j;V`0|PgxZFQOU zu>~S_8mEY>^y&Bz0UvjGnnDCb8$4Si0AoO$zteeWwW{U-06+jqL_t(gcG@q-)ti}^ zfT)zIg2|wYUr5uD20yk4wF?9-Ml$6nZ6lEY=70#phatXghEcG&>Z9*2%WF%`?4Bp` z!YLjKMWAJd3i<{>ksEn&`>Jx-XZ9PnqYM8BabXD$oOZar*lv8~i{<^-zrI{?=DFTF zR5ie931`>}mMuHD61Wsf?;z;MPxKPSjJG35WHtvFY1vG5DmsnLZk0Ew;Cim2US?6& zv;O35HM{s8_Ao=}=7G zNmLcEL=~dMNeeZom8R*G zve+n(HRP6D%|}w0Q<_sGzM;)P1Z6rmO|A)~qZOT9cd#~EQb}R2Qo~hPQV_bZ$>$5g zQ3d5a_aDb;Uo9mRVK#zzS6mwo|zlW%+4`Y(2osx zwNdDM+pOm)E@o$L3J201z^-rTs-W~A_@3+wlmt+aWbC#>!qRbnwP*9t_8FxyAh2Kr z0(7n!^Q4&dW$q2+ZF+mozl7drro7>GuPr-w?=EXA>!m+7$@oCOge4EN>iI-1dtIK?Bud9}u)`|iLa z>8Qs03?{tvZ%d&DF^U^WIf7G0!sv_5ndXc?VjJHMzBCHRGIq@0j)I;teR zQ3#4eGin>opo~)V7}!CKLs_d4TVb3M;!romSfUl-M-e{Y<1oPKT0<&p- zjmQ!Ix&Y3RLpp8Y#${BLBC#o0&YTiG)r`RO5$cDC1=JE!O4w@ni6+x!Lda-PGlWGX zvyih0RG}?OKaog{LW7^mT{Q@gV2H9he|hhh+ppaDsWNflGvpKlXLc5`Y)DnN1`#qr zjT9U9A-DpkBfR6!|n*ViIuV<+lQ( zKsH-Gg%A>a7@KV0pRS>i4A)c3w#7`2F?MFxr%ILHIPH3@d~N@|?Y7@|MY(m~SKFDV zKQE8I9W1Xf2jR75DQ!{HbS_lk(sB@*$Or6CE`Y3~f&#AT*H zE$V>{9i#>f?4pwig>n|+Fe#Pbs0R6I87eczt4AtUQW7DBuXIMEUwxM>J8%b)FwIN^ z?t%eeB}t*6QJqRsx}Qpjk7&G@Gp!<=&?i_aXr&MUHO7M!^(^96QDGoeA?V*_GlaG-~$$^BAnO#+{RM7(2Q9>+j3xkGal*1AVU-BLqMk=`<4}TF!y6pU4MHo_e{u zvQ~CK@vL@c*V*OhV~1Pb6*74Hd*9zo(5ZL1`^~#fvNF(tg;5|n#-M!oGfLJFE@6Y8 zN)5n@O~qmi($OvH?pCi;|DM&j)|+>YaFup>>C|x3B!h{Q$Gv{v`VNh8ZdqmdCYsf@ z(lKI44W~(a1_ov0t!j{sSQ9%Eo-pE&^_S~q)6OSQuW6rj^)*yvJ^SQ@&lTbc!QNF9 zEut2tG|(2=I<3!+U4J3|}P+r=) z8+s*C*&NN-cs0LFY#m8)yu>VzlvRP>%B%~52^XOPErH<|3{cei+OmR_E3UZYKYiiM zGxM$upLOD*%To+u8ECX#-r#MZ?eXd9#zmKc`?fYT;zgjr;;EBI8If(~RzX*nFf$R2 zBca?2>F6BWhi(W{fs};EwLxzet zHrK+K!*`YrW@LZ|OWC?8W(?#446_1D_kXVat}~z2{KX4@R^Q{Fn=cdaSzP2O!fS$% z!lyARQlJP8sdv_+;MEpjhClhij(`TBq#+LjVxPysWmEuh{OZsBY4g4>d}Po$^Wx67 zxxM&;rzf0}qAL`W-~lmL?Kml7f}|LqfWmf+>S(|*i%~}~)g)mbjB1@Ug!b7NHeT17 zG$oJcXLM>ST{(H8tUUNt-ekJ79DCib^XiUny(0u9Iei?k1kd&vPD)ojIvk;%AgGHQ zW#JU*^(u8&n^bgSPBf*l96w4Edr&A}l6T)a@u3{YBklLpcj_yh!$CQ#C$}&)uG3kh zwx=aL>=ZsJ0bgk1tjL=Pjn^47RI+YQT!U-n57C_6rezv&V4)eSWMB^zDgwhQBH%wm z4@Y_lE2P91{i23EAi$m)Hz7@?h8VGlof0E*5ftJ%(@>}34PNEoTgJkrj{&}jjEIo% zn?q-B?TzeJIRagFsUc(A9BzRBYY9^#pTRFc;(S&l52Cgig)~O8t6D;qzNHRTG_^|5 zLX@c4GF2}LsZ`Knv}D_z$;v=U&e0fC87U-b6kJ=b=?ghMs6iw^r!;zr|`Y8rT@<_3i^&*GVD=2?!Ja^MO9B<%2~CWWY8>|L<7c1vzlh$BIs1kaDOn<}(`k67q?IfHg` z6OEkNkfcclMYJY1t|$;*Lg0S=Ud2N|fW)QYWT94JI?6aAnC3p;oMo&Q$y zAeBLrV&09&kXK2Bh|{097R0XdnIaD+)1c)2LJlR5RbGh4NOWROSjKjW2NQ zG&KOZPVJfm-W2RW9bjb6pIU5gyY<%Q^I!a8`S>S4QSQ9$Hm2>D6+~ii^NX2wI`xUE z&1K8hJ-m?$_r|7c+#1PyDYz??aHIk-i`U}AQ}1Bd3l+L8Fi43aVsg--7=Vf~4IyGD z!w{@SD2he6gvwlZGsT*Y`6G{)g~t!ER${z8cKl>BJvCmImN{!>K%ldz7eb1vLtc4T z39yvSGz7!MD_Fjej2Pu#CQo5#%gX5@ARs|cj7U)R8E&4vkMVFR24c;Be#=|iUwr+~ zmFev}nyJY-%EC{ynpc@23Of{`!jq%tP)b`H{eA7YfkP>I1~EU6KepciT66N`$uh|T z)3x*!7kbG1)%;$N?TWbysub7eCa_^rskL z@q#ZPSv7GJV&W$3>+Vqz(jbxXSSd)=m=5u6*Pa35zZ|iYn`7L9T!_(iF=&BUyZ_js z@}v*^O0!G@m_7GO5b-cPgyxY_kcz5osJ2`6#Y!UnQ4lT$EV<}q5Jo>a^Hp}m^aPW> zUT*ehGzF~+LWb`w2uAS{gxbioI8Ft=99thUB>G@WlUxsJ7h$zvCjeAM z**c6Wb*w?Mq072xLL#U%!P{=nkxMj+&SYmSCB6t2#aI7=F6|ZIdI>e4PfGPalZ9Z| z(J@h$?D;Z2+qzwcTN_7URtTWb5p3t&HsyS%E*2kzhg_@;dlo#T=OZ7=sMH(`=pt=B z8(?V~jxj3=Dtjs?Jk=4`io~`MSRx-vcV$6NZH&~>Ae5ybBRt1bo?O7<*AdeQt{4T! z7xeY#oSvJaE)|~o6v8+ZQtwVf0Z4U(c+^it=ge}kP=zrr0SLVHf9GoL)bt9f#f*v( z-V}0EKllM4eCDPO8x3(B=hsibrvA~8_^E;qbEt8pq{`t|;|qsKB0j$zcv%mW>JcP_ zkj7`jRQpEI)Rzw*BeUM6{CqU4_E5pP1xk zOz+%PX681d++JB(JIcYkM%=CIlfvbHY>9VsxYw6&>`) zS@0Y^pF+}cgKmPWF&2&Em^NR+v$i7EpdzT+5#rX9zwxTU+Sc*z);*V%!Sd3^ut!%% zNv{?lMBv~?K%$#9++uwBvapEgXP+oq^wt^Ub-N40<*)p8=L@fXTYL5H3!7E0J9K!` zo6`}(LVQYFm;=^%+7nn^hZre^J#6Z%AFTrX%FAXcE29?n&=PX=d0K9_eEgx?hu44T zO`T@fp5fNL=QX@og~mL{>(SvQVF#ZMzx0-n(Rpk{y0KC!rd&u!hoO_BIt5ezijVNj z()4-jU#C7UYk7U4EI;~K+n(4@nepbLi=SS8;VI89KYY%U%O(uGE@I+{4|d_iB%Om{ z7y)7u$wsuaBfD)x3S4qDB@UqvxoZ`$(MpUK(j_*qOP*&AE>)of(u^8VqHw}>)Q6O( z-2;lCwIa98P!VFFkZp__id3{2;VVwj+G(IS{;V3sP+4z{Cy{|Kl8b0n+c3w!_@)?j zqDdP;vZLmjCOrV7{SarzHh_#WR8~D2pT$xtgi<(+ijXK()4<#@zKuwbMfD7nC0*60 z$Ebkhgk_XU3S4v~tE+SfQO0nmX&ms`5vU+@bU)VV*q7QWNHmbSjnr$Cl}~`_xye^8 zgay4XlUk=SL5M$iR7A)mYf%VQqV{Z1!Cc{)$tx9<)*Z-{pn%|`5lL820#SG+CPJ%` z$qumM+EF$s@-tt1<}mYxl##5Wsv?_@`4-VF9aI6sY^#oF3sf3biDVFw4Nobwxsx7V z)R7Km87Y_29GvztWzPvis%F7tWJJ0AIj2vWGmQjydnvSpuX19@`7%E1`T)WjiL91# z45r*L=0%F-@4oP*_9uV(wdH}kzlLYyQRH-aWdH2;J)Ox-(;jjabim1v_j;gsfTDj4 zTKiK3){E7#?#!OPF1m_ehat;D?re`P^c+uY%Q$a49_vjG4}J4ast=mqde^(kYi_&| zpj>PBfm`(2^z0yoZ6Xe8Qc=;NI!3Ei*k9M4C0s5>c>Ws;u7zw=AOv$KRfX_SA)?({bu~GUq!Xt@2RaK&;fg z5wY!zF)*a3;c^rUF1PO3UT*#R?GJtO&;IQE(*p@6AU0MeCpX3x7n$YamKc^)_;4z! z{O`As(jEJi#f{aKDSA{d2QZ&t)ZvOiTo?H0JGRH^po%O}iGFE#^ayGAQ>5sUftV4> zN)S&gMJh_gfmAT|#&Zp7)CO}^t@g%+)Qf4VC*RanHL8@mDri}B=`f>(c^eX|hu?hb zX9jQh%-efgu6RKitS$|?j*k$sp`%6Xz<@P`wG?;~(|}}$2x&S$%}hFTDU2~X$G`IF z_TPNh4b6YK_J_IqV^yyRRz1XX2O%5J1CKTrpCrw&#Bf|_>68>D11|LfE1j1*Xu^J& zD8@4xfZD$2_FI~tzUl34Isc+&ZhAL*r5zIl9L|Xgalr|7eq`=6=k+N20ls9 zw^Mb%OTesCyAaUF@Gw&k9C+JSRc`fX@KLPz4EaVKeMp?-(>Z$;fjvDMcCavrhz}(NkSS`2FZy&&85palJ`N$c z`b`1Gb@&EF^_griiB8ZwK!6AdwWR#y0m>l}#FQFAU<}FH%1wfEw2H`38eJVpSwSgc z3@A9nfxVnl1EQqWF`JY@g=+MPC_&VY#~iPdqn6SgP|K};Q%K4v4Jh;mP%$A%3Lp`- zv~R95+pQ~-XGFCOaOw_xgCGDYUnOL^ilLmRR642am6*6jJ&vP;*K~I|KoS6ij8e!q z4MS5QfZ{+DS_DizJ{FU?J}gKCpcPVpYEBJ!+QyJOgFZ`8QZkg*8Zh_=J7k0;H<>~y z+M<;5o~{Z$3K*sFYs#dsRK?G)U7UWUe}=r}>`gc@g+J<1m=y5_zwr&Jal=?I{y}N) zIp{H9(AKWx;>5v86YeZ`aExAXPy1!pB{BIxyBKGxLE&xdRAOcJ!;c(o{{1ii$MT`y ze;<#+cHlrroZM1o=qx5DCx(O7HA0fa984>ls__?eri(T5qXz|6(71Ny9Vy71jRKPy z?ea?FKF{f4Hl%s{(E~iKbE&-WM}Ktq#~=9v&UtxB*0MLyV-MKW0Rf80$#q(c_+X-A zp&NsRO5!ppqfbm)Jy9Qyv+$)i*?7E#f*oe6xRIYX5>L!-QI~^>shQq7o#U=^FJdv_ z+DJ02sG$fYb@G=zLwbVeRWY=f|8Ps2(~wl6quc= z>5+m`T@JPjXe6$9NCiDBKZXzDlGNd03zVlEQ;v3$h~gj({`l6~?3T@A3oEPbe|XDV zwqAANg}ue$aAIu0GX50?5@U5B!6M87>nDWv|KDgbarCP*Nfqg%Jrw;u=0X!TWO9Z6?b}TxHvvURb8i`;OuG)TV|TvLOOxMkJzOIGLC$ z+iEaF8C|4Cq3fW@s$SbC47=szUAMH~d&zT~KmYz8cf86X$Q8yHC<<`Vk$R+Jbqx4W zOUZ1cHcNTKAez#FI6$Y=1&sbgv%slwbJ#PsFYmqOzn53t{QG6%vVT%0`%?@c)1;7gGzP69h!^RY|o-|XLdhQ{pL)qw&D$+6;GKuC9(~8oxb_&>X zV1Rk0pnk{Vj5C!A0;m1f*NDg2n7YYgq4@yTqciay+qdTU+EwefL)T&Uma_Bo| zOFswz69L4x5Tir6MZYRk|ARnUh9Lnuk_s`Wtb${72r3RyK(tDs%rxjE_=h562ZNpZ zsza-a8~?$QhCs+;Ab#z4!w$tnLpBC-{ZLwe6@)^o12i7`fg=T703-mBOvP1Ud7#{m zLLAjOX2DGal~#k2Q(lk>qL8ATovSt)tv`~fh^(4=5Tc%~Cx9LPKn7tgWfXM@jQTrm zGk>H1kfn9kfi}JkDOWlvnHI&aM7XhIW^kvyFZkp`aAJUaIiPQZqAKI>#4I4z|s0?)Lgq?XGjq zYmT#!kQrBqFqrYt*Nn|@aPgX?C=ih}UmQq@XD6}m2QMLpJ$~@M^1SO`R6g<1Kgy+m z#ib=4TBTr=L7NCe>#-SSNS`oR2}e{d2<2D>X4dgX1{`3gw2$}#<<*H+F<%wMK9H8e zY1Pv|*&au(k>(j~>ce0<5nM2Ae2(g7Mjov??n9!&WU>k8kEx;iq$^rzfwqSL3=`4YBpS zEa#aSQGip)ZO(~TKr{G(O?c`@p{tncLj?!7nF^!$DXteJikWB`HR7%;j0*gthK%~i z*AN5^n-e`1XRkI)3ib&$p6Bz@Dx|pK6Yu90XPe6euS(?&l}_76jiFqrJ1fAbgU}YW zXT2P>11t}_WNosKjvdS&yr4GAKy`E*+r+V|P(G3v6(c1}Gl67i=9M(|HD&qX1I@`V-n>5c(EaUCJm-g+ z$A9?)ojYFi`sSsVUD=Ki6&SqmLZ3zM6<;A%Gbq60JX0cI8hhZtm-A}cgOR>!ReZyw z!Y9-V$o{lS5aa3Gl>)y3X)j<_d_?22gASuPexU*_ zgDe_X51wI!uii*GK?;ZcXbol21KMp$6hvllk=)>fizt^(Kqt24^DhL!8q7H2peBpV&g6B3&>Tl@zDvS&eY zD$;PCE2({I)NV6=QIL-^Xc%dU5^z)wk+~(*b2YFiMeEWhQ_#w_DmfDBz z`SS4K{s+tW*w|ova#ECXM))Wd_Nt3dI&3t?=q9dBT3S`qp$bF_dL~d9>`|Y$i#kod zeRpTa8RwP5`yXtlC&$~RB^J3eqtlzv%8IYu}_<#!YE%WPdFL83np41V`Kw>3k#u&tvVeSjn~ zxj@b!g5RJ1>yHoL`S}la#-DU`nQo@&{a0zNUWJB|?qq|8P3A+XOt6LssrGo8oG@TH z#*!8P@W%xSJB&DcJkJ_Bizf~@gG2W><6Now}08wWOs7$tz=G8r>gs+J>V9f|2Q)EeHj@fi{0gd=*5Zzu>(YNh2T??(w z3*any5f18eT%&{P1>qcjNk)yjCbNM>c3LAp=#V`sMJfxyD+Nbll0rze5xH^1X1a06DW?IiPC7(82D1?6C=PC8bYK5Q^~#LXgsj?C95t#-JM~LL2sl#0 znS5QqfN#?@SP3B(qe)R&qL5T0AcMb{?JU@1ctyUmQq>bB8Gq6HQ3*vu%XkJzVX9|& z2-XD9`D;n3SWRrGriP3F(lwojL$1*90cg^yZPW5A@ufzOZ|f3B0*xp=w0S$z zA;s80M7ljZ^}+}&LB+r-o}Pa@G^h;IhGL>x(D#A=Rfg4fy&=MomzrH{b+Maq=1x)xjEXGhM@eZb%MA z^{&>vIg3VabcMR%T}VhpJi$h~M%lD!syTSy?c8oUUQR76aPrqF^Yh2(AIG@4j*Glr zvp@y94`#uCbr1VHwI*4c7%7YqRDA54qUb=Q%E^|gh!#Osutnv5E3;xlNP22cJyE7M zUkM-$p*t6P$YrBE1ldv7aH;j^-JHo$yXKQiCNFJkckSHKz2olt?t0H(e)?&b&dqJd zerrDIa)PT8KHYM4db%ygf-dC0^`#%2J^-KCqeo6wGcOnS37(ulsHSwZ~ zBo?YhkBDMO5F%A|Le-bpWJ?o6*sv$X_#?j*H3nfu+k~>KMM~c#RAYI39M=gU zXFwT2@R(ORV`tr-a??B8GP|Q}nVMxp#<{z`fq7N4Ry8s~NH)*~AH;EC`+9ZiH7x3| z7>}9G^*e8Ee&)M>va@%3D`TN`ai&wIt|Sx=xdAE>y7T8sHbK*!qF3w(B{K~=9! z3IKC9ta5|#%Rl$g;X6O~o=*R~r#-wjsb;hMj3YxR_wP# z#teh2HQdw)jPL*?kj-grkpmP5FE(*73Wy>>W}S#9$PCU9Bhx~0F;!4YM=!c@RZ`AI z$wXqlbtQfk40GdE1YML+YqO`M5`wc|^;|MOC-g@?A>%~>D((VwaKV_K%Tq7JH8WRwrs zs9Of6Qwj<;6+9jhp@JINLpkIca*+kARvc(Hy(Fim>JEAi9;)^g(3WTW_nR74lZFaI zDwnm}l~^K~G}ri72A-tJ1$$FS`Xhy_RZ62u+pohD4ItA1j!@CA#RM+zXi!9GL&XFD zri2}29aM;q(keB#Z|F3X;?Q=Mag#kbso!El9uzrq~g2Mn9(8GqDovV1Xfh6NMPD#RU|Z zWQ>3ax|-skVc;ODLX+SgeU)kI#Tdy3?Wj|wrgo$; z_ua)v_NnDJp7DI}GY99O#KJ~~xV0$Ql8c)1fd9lQEFnE9r_VkjQq`FM_Rts<$ z1hi_3DHC)AdN9Wf?%RSaNw=svHHh|CBPdMk@ew!msg?%ej|$X(NChi8p_mt#B9+=f zC|wEzX};6`VMSXW=2zQ>5gamSWsru1?I;1zKm#(JNzi=UM`Pd*Tj|3X-!@Ai&~m6` zaEmd62ARd8lIaJm3V8^LnNxw<4eE^+Lr#Z<78?0@l%p&b7YRcIi$+2fVvsZ(+mdY< zxe5d!0~nQLq@Fxca1v2*jx@bjPji{S$YzFFqB@G`E0_qPx4yVpC~c-%fSxzUN85}hQxM_>>v=J?j6 zXF6aspgOW%g_5MvY{5djVzGWX>(VPSb9UiH7d7|Z{Q%3em;*&Cp1aYKlugLdsp5K? z1%E899*nLInrw8+tUk1#GcVdkN;U$T5C`~%1FFu7mv&%qi?l1ib-dviF zP46L5&+$j);X8VUwvswDlY=cmQJU4YwKCo3!C@1#<;}nPOJ!+cndf&*G1E&8&Oo4L z6r(JmL2FiTRt&=rsHJTNdXc>0B}x@P#Z$)!;)IAN-zuGqSWrl8mRDYi$EW=AN|E}e zCvZ5UK7rzmN(X`BE2;FmPHD81XJ*KLRu>>%8rg7mk#v<(Xp`Z;aQ0u1~N= za(aV_iEej^my*nq9t%+YAKgCt+0TNHXQxe0J|B(neg)3UNnu@pFxV7eWJ_|ADpM3~*Cngv$6v8^>Pza#nkM>AaxhfJpSwuoKbA*fT5=`M3&r#{g)=#1ruJ_x&5PxtS zbm)2p01ck^$qxRw3%uuBc2 zY90t1Zt}F@Mojq_y+awg%Qjj2FB!t0%)P&RO=IRM<8Ii=5 zEP$1$hk+=rZ+Ra!wLk(FzQhTmbg@>awmPB&W=%JxJp`nxsU$cxsUP@50 zk-->GWsn=g0Twz@OR5t5(p%7C*kdLO;^abDYf+7V0}nu}akXJwgz6C0IqIh1R1Fdb zhQ=hdsKhnTa>fFVf=`%CGZ_+Uk!Ufc)S4tHi7&)AL1!w~fH-ICy!BDcYh`I^p)*)n z>72FatmgQ!W97}i{!~BN2>`JaUA#M5I+GE88|595iSMo@`R3M)ud?zB2zxL|Mv0=fAZE& zd-=7UO_N+xTv{-60#SGHUvJbG_)v{Qd->E=Q#K|s@T2BwhotnW1H$=lemzg2{O~{j zx#sql{7l)!+d0=5cJLsxjyHtq(%vv?ct<|!!$auMazKQ_g5Nm~{2RT23NVhPRHjSy za^evGh>v?>ZFNu0(<`K+z_hb#f>0fbfezZK;osnCCtwq!B4lwl%n%!ESqg(mpJ9^& zMHqR55t)N_bm`y5VPt>|!7U5(6p6Gt=n|J|RGI0~ltEDplcsCeDATh}mw0i+v0K_2 z+(NywpsPkfu~e+8@`MN}+}>`-v!j}7*rFt+CDGGYjjA2Vr*RYW;g8Tlk0R&=Jr~cc zj~*r#iYu=h<>g^yCCAo630NjzurIlAmZ5MhL2&@vXFC^576e2<%1tBi(Yj>80EJthV(~=};1G7~%UXHT3s^nc zN`28v(UCs(qE@c%Q8Xh7VC$kmg@$0DV6iqdwJ%kT?=~mCbFoWo`Ijrp$K|VzmBIR= z{}yw#Lmu4Ra?xYNP1Po^R#hf>VRijl3r1~-hx|NnE+p5Xu)4b347scA-~R0D%Hq;$ z?~1FQ)hy0G-X8kK?L29q+e}XIR3ZZ~?v8M38ofDo=Y)iIq`KqXHWHH69*)^{ofXcg5*8`|zH1)$Sk1}A;QBKQovWT9)rmt+^nTgx1A zv2o%+u60NlQRAGGdYr^}dfhc%Jc%C5CFh^}L(9t#E%#>o8wfSzQG{i3-4&~)tWHi! z^?$oXuDMNfPf?|Mp#w|@4KU{@f!EF+zP2JRD5w$~2<{^O7V&7tW2CBhm07&{po4Cu zj&}I*PGjVPetswy-_(qH2Z{V(dXx1aespKs7^4X%l(haoyXg#o7kVibr zK=$y9^{uQVwu%5Z)0TxFj zMvq5>2AH<<>Imc{{(4AWu0y0wq~IkthZi3!FZ}SYl-?y*l`Ug)?HVImo;yQ0*L|r% zLxo88qb=$dpNJ|1tmjIb zJv}vUz&=eh0_e%K-Ha?O$Pxd}-zX<3o{~W~p2Q#wwNRYPuMsuvLXy^tN5eN-9i7TK zrl&eq0;5>@hO9qE%xDS4n3v&g_H0?1&QpkQjR-W9oM;eA?LJ3pA39MlWTC}L3F?81 zde5NHp`rY>e~OIi1q)!3T$L;7=uB*afsp2k?hO(OY9hALP9lXauR<{jC>mdkzT&2~ zmJV}*fdUruWgv}s5TyfLN3uDv;f$oUuAR2frd#^;lZO4*9A$G8CRA0ml*c;omy? zo-}N=W|*P?v?T(!-knY^I%JtSbhKAa2AV!imzuek+X)CNMV65?0hzzdsR|S?1w} zJSd9nPT9R{2alXyD~A{orF-Rd~8(*|vRm^X+=@)N|+2~&DJV34Ba8BcxMHL_b*L(xG@R~C=% zhZM`{g|sw-k)t@9jm7A|_(^b<6#p>lI?v1 z;9nTH2DIS}3rQFs+h&b4Uq`Y|2EVNIrMpD&$CggA#N?6Y?_d0CCoOq6rZ+XAr{Own z4uxw^<q_g9Fzs3Mv%-4kvCRyahAmYgWd&{XiZW+Ah>g$L1 zzWfc%<}${>c$Jd_U(FH=@US^N185!YO#wX6xaQ0^&vJu2E~)dOKOpc2Zf6nTZmQ}B zQE;dPb{Sq}gn{goOQjStmwX2$l=9r^v=1Z$5*D);(7I>`cx;KnkReP^0Dpiyo**gf z!-LYJ4n8=d7Fd}Y(;y`keV{(l$ipgN&a|)zrrjsK^ z$Z|#!A=E?gRQK01q@&Q0F!cZ4%t%d{DM_v>h9@H6LzV=v)T&?tvTb+>J$%YN#(Nad z8AwIH=qOsykcra(PIfIPNJ`Rua0w{t3pWBe^g=`4=>&t<@Z%@=H3D2Th_!vn@QbpfTDFNNC_-T8TWNgnV1FD3I(3Z zRYkJ4?NV*XCC;s%P?kgsratn(oOl2X`#zYET{X{L@Lb8q5_A~8tH(xRn_#)xn@+p{ z06+jqL_t(jyG~R(HO~`xID>!sGp=ZOUqW>ld}w5 zrUpKipNq2U2<@N{{o9Fjh^Ilrg8NKqhIof!+I~qw=Pc#Z4l38DtV#goAyaRn&m9R% zyeGBSyz2vhNZNWiwKR|Ny`xY6;9m!*Qe`}(mbFN1CrLCef97%EfZz4H?ZnnS-TnLT z>^=7QF>Z*N&W)gYmFrRD&Oi$RkRMmFHOEo#3F&G{2cYp=Sd*akZ~-d8hXb^SZ3MvP zF$&2{7)2Q;>MMGq?#2wRenL6g1Ng{iU&m4i_iFP{B^=gV#L4`%2uY(gapxmSQSx?b z+qTPjLD%%g$#q^$HO^hathig^-nH&h*N0M7RMKX{3Q!(Jf~c~Tg9i`JF^^9#O&6O0 z0ur4goxKhnk%XhIB?I5M5IUr&3c-2!L+sIbYca7B=h4IO`PlnQXUlFzzKm{hRyp!7eJJ26j!Oh9r+k=c zU9efhIrRJP4*Yi_E@Z=8=mpLUoPvcY~Hf{%!Y@z6M-}Q+%8!eC=mGNU@HEyT} zf6Po3?VVZ_Q#jaZYG02?cL01q>5Bo8L09F78mMgF5hO66pgNLUbYzQ#Iw=`}Xd&nu z3{`3DB+w+=?8S?dl4;k7Sl}`nJ@TD^VAd!Vv{f$i5P;}OJNM>8bE;Y>iY#`HhSf|= z=+P9Het4VC2O4Shni?GXyn)}c%C1I&LZ`$K4sOYbC}gWe>KkXOI#8*Xt6>CXqf{jn zogs*g3au!iE-Wcg14ATQ0~Ej$AvMFBzCtS$Fm6%h=iiAW3Q?WPSjcw6agStD#7(*#- zr-GGI#4#gMD2*u=^H0ivkgg@Qo;&G8zymIi_#(QIkpq-v%~YZeTin(}8@P2+(mh5! zqYGN(1y!o)%bxsnSwFGLb?{RQ^GMPyzxVFnY`^q3w>n|oE*?2hHdaotUVzcI<4sh7 zH{*p+hZ$jtUmxn#@u7D?q)2(Y7F_|pKz;<|{SIsGnHOJS%EsKLS#(BsHNoOE&46r_ z7A^K+*A-|cs~UCa^$r|?$EhJ1HX=y`{Eq}hD+o!yL3yt9Qh;|!bk{akhOfNgUzC~c z=X6$%Jlb$KytBWAS^hF1bk+FDQwKu7q~>yi#&lkLaGhXxgG;cLsdM0ricpEr3H8)dc2h*hEwQ+kjT~K ziUE+6pg>$kWeGTuC{9Ny!=R*X1abm7ZAyJdsL}xfP=&Yj<6=n@80; zP^?HTlNC)0e6a)6JPFY%Xij&c8KWAViu_#FgoNP>bjoX+vv`zSmEk0YP$V5?Wh8-? zHyExSnt!}`^szhJ$urOA?RYEpyViz8lr9LbT&VxZL%V}Fw*pC#fW>1axJuJ+7axDP zGqGu=yz|;02@gEjv5Hb7sebAKWTCI2PbX1r2Uk#C zr1={qXdNgyYSx8G)-9ErKSMO%mf)9fhbk1wF%WbC6{rf?bRTkM9%WjOp(|e)4J}}O zoCmskJ^1+}$N?-BB&IwthM>(PXDNwEkt!@y0DSBW;K@I5sTI_=W2IIL1Oml(IALrJ z6L+as+oL7w1`+eMDFjg@N2&*WwR+skV5xv%i^hOyjbSxiK3gyjf&3?(fsPK?P{6r#6j0I+FgQKsus4I_mqf3Q{Kg&3u&kyfo4w5mT^ zNcvgk;x6NpiW>bRI8^ynB=ZDgY10JEPaw0aMLnZ**9^;88NJECs;Q45V8(8)56Rg+ zD{Tyc!wUFRu)U)p_>doC1ZgEkh|xhZ>LNG7$iOf!KK`gqvW|n{1S~o2Qh}>*wJl{b zkuWWfw1}u&1}#Yt8n_JVEMz1wDH)7`O^{jK3o}YEmcrngAWGCDC2ES`qH@h4JsFv$ zm!>|xOmQgL(MXsB#s*ZPA{-SFtohe^;Uibc#%{ndQIxls2C6uQFg_<7Bkyqr)wT z-nC<|J3d@qUc#G(?V$sA;#Z}8^xy&dI~@^kU|f>RC&E;vjA_sy)wRC-IIgjo#b zV`IJU?CkUf$Cj6Q*!dE(MLic;autl5RF>=yMw^!TpZ1&EZo3WDvxcP8|DH4{P>H|( zR0c3t*KkK(JvU?QIZaJs0Md@Bj24G-dM+gr8(i+1s9UW38h7GG?WgCk1+(1o#kGpaaPbl+SCr zSy?kYbWi&`-}{OV502)V;i^29r&?4|MIW^}&Nsv0EMUb&!WgrLblj5E0aKhcInj!x zzpwne|50v#=qv5qxlil#nK{A0Apkh9FgpE0>xm|;=_ITKM2>TLJ_|3C%^mOaXp6P7 zdf%<>mFGRRee8z+RHj+?!=uRPt~e9XSWaI;&`EMlq=lUbQ@L!aG%_gyZt8#)i|O+) z(Yuh_1}S^0P)$8VQe-Dsa9|r}ElN+xhO%U2J}mqt3%!LMh2*b;SQtv+w0>#@bET)h zU``AiXNX?`1m+0}N~=fZ!UKEgPoKA}PAfak&kReHQ~KHqCD0nf8Xg#wvnn9O%;8U9 zGcN)VCm`foKxlta2(pmHVW=ywgF$}emr!E9>A}DrJ5J!jRg#8d%w74ZAuT|Vf}njh zl|V^B|EXZU9WfQsrlT@MOc2hDk)&ZYh_u5bZzxg z$jP&mbu0y!Dit9WlS|s3ia&V0%H2V;)(8-8hs)X+c3g`{+Vg=0aFkZvoLmHH$=$0yMctaQoPSC;yT z#RA3F1Z7g=5-}Al@CM-Ui=v(V5Js4Aj^XGv+=Kd9}ZaqL%Dt z>ju+NbBuD@r$7Da3D4;CnPBtMm$IM|@~NfsMZ4^a29J!iHYL@Ow2GaQBG$dtx}EMQ zB3p&LeE8uvQO2_qFZkO&GGT`pX{-?8%)HishN`uivzhYe;(0mIE)Twb-`@_Wcb~(U z0P~7Vk?c#^wRvcFe_imQJc>XjAR{Cf8n~?S=)Pw6_Vb#TUVJr7^eF0TGk+~dJw3`w zNl_+gsSD-sul5I46>YM0K-Yn}kdbFxH1GZN2iozS7jYYw&oRNT7#zemAmxOELejmc zb21Ttz~?n@HAo~zEYOkfwa*P+9lUhkE#)bfT+_Mr`q!jeufvPu$(1Hc3*raWPb zP%1=csrqqUf$FKMkvNui1(;exm11B~BsEnTbwveT)lV(p@IijuCt<7NBeCj-Ln@#g z9ZD~vJg@~QIOX8jN=YM0+BFaQmNFM9vA>twIH)e-uHjwaUNw#X))=SeQ`9p`%WGT8 zBXXcxRkFC7dt_Tbwn@=+3pQFxiAY&EkF_D4CS^P2A1Wm4Z<-`l31knnj%qLlOKQ|Z zP^x-1)l4SOWr>;P;uua!WH;nkDgI;!90pX3QCMgY|3Esho@QI!9=35ouu3kr2YB=W zLw0Je-!l`U7@k!&6@gbXl}O8c|EY?0a+0}PKN zs|3iFk2NHOQ@P+ei4G`e?+8zAUKUn5<*P7XOm(}@R0`_`m-Ff9z11pZE4USn`maXKcRE;CvR$h^}qZk z;&i&>JW3k{>Csd|0{Vx{8t8y9fPi)(5B-5x#S=eOX>^g`B7ZiA0)$1nnO<+17f^1n zBJMrE_3PqpPCUAgnUyisS?x8AR97n7+a-NQKOM(w}42_%#K)NJbPy@A|t50b!xlhq5pnWrYF_9CKhd;z0Lx*GwAn)YpAM<*&n2jheH^QRf`?=%@p zQOuf2))e|P$|Rp8#|(;Mt;z#Y^*&0{uPNgQW2LMfBv6 zC<9yM0=SJH64HnbB+Fq{0I8Dy|LA%Xc+1YRPWM}D?{oHD9{BqlOy~^zz z5V^teYf4&@VAJ6%-iJv#U~MbsmP_w72YWe4meP=b&lrrzvcbw)cubJ)S!krFy$U&x zeTXMI4lb0!X4r)T#a*nfJG~PIw*2YAUC7}(K|lp2#e{HNP$L7&J#7{2H?r3|2Tza=?>v5v=lnQ1P6LCyr+%m2YLp zzZM0j|FEfZVYp-Gt};Hmqk6+H{9L(bFHcpBk4qRJq@Tjb4`_raXE}`0QmN6ChbS;( zAjt}Mr13N7W!BWZbQiP?r`bnBg8P3HWmWAth8W2KLW82jW{!|)%1 z026vr~8r{9t z*SRwvG*U`}-=jWUjW@o2yQ-e?_y3j6oP*Kaj?0~PN$BBQb2PF+EGIkIu#1`vHM(4+ z+lIq1B+{B4LdzU;yR!F7<@ry0L38W(zTB}CL1{E%do8|=nK}UmoWO#9eXo@;d9)`= z!zian!WX%6)~2FpoGBAsrtzWtW=~o;)Jp`Ta;vu>%Hz=~C;y6zWSC1J$+}9^Y3$;E z;L5o<)IxDe4Kr-DE9IC2`3~F_k3`rpi5FlNkziW{G~ucBj~I)v+68?5nW~ttYz2VN zk5ECehiL%IyPRq^n-wf?KDU~GD3%bc515q3I!JVW2e1?{QQHR^HVSYCbf#fHP;QGx zC6p2W2!B#Zad4+aR1QI;34oc3>X*RP{MdunV@X9;f>wjvN(cbaG#A_hGBiZIxmU2n`d0pFHe1eAAb5le@^QuyR>lC%Xxq^$`_P*0TesFH7fuJ|;Ro+6 zljFS6vmRsPKg`QTiv}R!E^!8w8VS2d;1`o0an1ydw zUUxoASd=?#iOOyiwa={2wJ}JoMG+BR91{~lYsgkB3lBEj%9~JqHXz(qSFB$@zfwol~5nP+n(5S=(ju@xW zOa$Y+pC49l?Bs}9p+z=OE==*+z{H_Ni(7(|e}ouzB3no1bO`{^`{6vP3ub3mdcJR? zU$1p|z=lV4$D3|<-Pc^TA2}4UckoA?ZR*E8?rS?~sQ`%Bp+{({#J0$AXgpH}+<_B} z3RGgn4i6F&&h7mesJN9+qo;^TkfBXz*2xeI2BIL~&t&LaG6bKY&|1JUH`1VMnbVObvCq=5|myYH;J^l;a0AohC1GE;`dS(<9pzcOubuVUd0LUD`kr%!ayrW zD$(`S=B)u^#4n(0RLT(CGOiJg#*~0vX1Q&-O1`*cEf8|a9c4(6NXnqC4|u9kp)t1Z^e)s!j8=lGDT)wh=@XbfzZPc z#>Xc*&GhQT%IfN9Y}g%N^HSteY{DApqos)4^*_86qDR)U*q;Z{27Pj6Je32fitHd zmC08dT+;c-F{l*zk9XWs%6YrX1m!tjL{z-76VcdTf*2*7hdc#AvSU=W&}xQG7|S5b zrynjmFL=!0%BkJ-87Q^Eb0EZhD3k&jOC8Xm>6Ug`Y*~Y1OG)3do z4KZi$`F!)7M?a(bhv)tXPb@(wod{P*u?8eVEqQ=Ax;x>ON_ z<;1>eZJ8X>w?iJd6{PjiMi_;1U_~52&lpthECMJgRf*>SIyI?UwK~P5M74iu;HS0f z;DSD@T9{}B(FqJT?SNG>!nBBmLY#B3=`AS2HXHZmMkfP?VlfC(hi2G1c2&UJ7KUIY zBsfzdd`z2`%T&m*)!*#HC=da}|FsEi!4}Ky<1#Ocen+dBQG*6_AYu$N_9fJ4P_&fS zf7D^(i%0=$x}Yr)F@crM!Va+1f2u`03PbuySC$f?^(zUxYcd7xfv?~MXon`ek-I4| zLjXv5>{@yN9K0q%l;ct^N#+iiI)P>-9RidYFXB{ulP>ibt@43)!d7S&AAl8tB)ba2 zKmNP8VjU^wpZUO6S3w~tF37^;v2{W4rP0fgR3aP*(IbHdEQLs-g+eLhD9Fv3MzXMZ zidaA(F^kB8Tc-I1;+OEX6n>$P33Y`_&xpaDtDxopMmuAwYI*TYGdnfy+eD$SGkoO! zJ2?xF#&T>HrBJ~RFM>?v7(nI)V4IFFkl-f_h?8DVv$nbf5yLXO^V04YKK1ePo)3J8 zu~V;1@CVntg^UL|L9JqpJ}nz~f?du{{*5u(hJpt%@DU<*q)))0(jtRL4_KC1SzB(- z+qScuzx&E+_3Uw$pr;Jr6$e5%nGL7ReQ4M;(;yXa{wpBZahgD`unxLSjNt0=x$5DE zAE;O0Z`=0s%lZH@qXT`FW(6Y~@d`7j0BGa`X)=ZwfTsR*T`b;$W`I)NYceQ7_1K@b z->P?+X-dm1T%`*cqc_=IpBf*Z z>aMdVqV5d3%t~y~NnCH570vN~`vBf9t7x99;Q|fqlc2LYJJITH6HjQ7c=(qqh*jDY zH5SXA6ybU>EoJJRz8Q;rO4Wd>f|OHuSMmJUk}-$yt-vTN-wdg2E)p_msC z^7fI3Zf&M_Ud#(V?Q&4mK&<3_b8lsW#vIfwzpBEmQT@T^BYv zepD_MRwSiyP+JZqS5RTwkb{hrCp-RmTOKU;n#FrQIoh-R(alF*^lI$RJ`WH4N(G;o zT%bl;$bgkHomo9nLMv*cd2ou)WQE~0tOS6Y5B!kS%8EoA-d5;9uz^sGO4(FOi5_`} zfpZ{1iT2b8tg0}PBNf1DSrVg3fX|wc7zC8zA3BmwX+eHu;KP}X0;mve6(Ta^FGLN> zhA%pZy`TlbkZ*^Cd@AO@h6jMeQ(>A(rw(|qK}ZJ!6bT9vL$-9esIHX3N?1&NYLa1) zNKL<0eV|a1z`-XS2$HnRND0TK1}#2!a?r{KK&=o31r+W8D+Dk`JTM0dA=aWYXZW(D z;3+G+TAmRo&^*N=Bq7;o722f&+XhlwO|8JKT>$<=3+2SK$1IDEqDQse0iIC0Q?I@~aUcaSx!Qa#R%&DiS_+6I+YY7L}Jks0;*k zjSWywe61zs(uyq-^kg%v|ET5GPt|OzV&IEadReRCn6|bWwV^$*^{vR8oXkj*rTs!k zE#}pnql~yT}{m^At z)folnCAqFLfstEEx{zWX7}^A+A-SDQ6$Kui;4#gAF0nPBdndm?E+0MV<|^lvQussYUY8LzjIR zyjgRKH;~qy$@1er_QO0PIvkC2_6}n{7;>=6JUsQOAR~YT4(6u`Zwg39jqikF@a5UL zG`cb$5YpmHw+PXLW*;3OpbSnPKH{s^6{o#Pq1%K(rMi?@F~1r#)!h!*mrTk zrI!kJ^mDHwKC@^uF)_|zTj@Fwzx5GL_-y%BuU_c|K*So*2u#Iu7_a~l{l_;2@u1|3|WcdI8OixeVq=g0~U*HQeOfG^$T^e`7pu`{mY0>ee2mbtE zH0R?r^N(|b%GmkV9@2@(cqHEW}nk;CjXon>2^kwOxAql;62qt`|qi?Ui?@(5gYL# zX|aRsykk&FpNbZ+wxm5EO?Lm}=}nK0t$8qafn}VDEf>`fzT%DbI94_stV^w1N~MxI z+yW`)k!wXNaY{e|BzBR#*+YVKN@F%Ui@zY10g5Y(jDv&>3L(Jyx#pO9glfws{A4sL z)h%)XZhk0cRly-YnWKnNBVMRUh*4Q;0_s&6&~T~3(8CXGXkKQUr_#k%=Ug5NI|l zD7?r8P{~o&QbavTQeFVS;B*fu*X$rIz`~&<5+Z=3$%_GkfN#~digY=Fro5;s2u0Hl z)3sbvWlGK2LkF0Mq8jO<028gClpvBLSSWV<(rQb7$>ct4s61;+8zq##TtStzd&dt% zP?&s?E05f1Tx!sQ>cpC&0-p3ci%T~hj?EGe^Lc>g4#81go7O)81_jiEQFEeHlD!wC zzW{(3!-h!|BL5tFqShi?BDnDqKr+O?bfH9}c~OtT21au58KC+^nr5uNsS^``d_X3S zN;5Z>h6Z-{aehGzR9fg92NA_1A-=ryPBFk3;H)m!{OK=h*XBVpQNNa@p;Gz`NrpD4 zHd;!Go-*M0V6~{bLucY_nPma}>>|q?$bJ6sUakoE3V?I)0}rPM^RH_d~6zRsT{n+-k}C6Kk4aVTE^2rx8F@wMI)WaHkODo zWn6i>Oye0C9EjZ5adAoJs%xLr?eoflF_==hd__L3B})QnqSuy;sgSFWqAeO$Cw>$a z)td3@zy9eTp^c`Vob2&q%PcF}%3nSI6)?i{t|OjQiEFe` z1VTf?IVs4m&7uO7RXWH(lVE0=#Ob6m!nC);qn_0&1zz-l-zpQ2x)vj6?Z7jwjgGjX zTp7_IkuRs8g%fj;SulVVz+&PJp4Gz92S@eVV&~*5f6KRm(_v-}lG=8NfJi~_XhLZY ze0qZF&_it~q`ibbDD&22?)4L8m7UCyiLNJzpf)tgPdGOEVxTkx@Fzfuk-^7o8S$PE zV9|rV5NxJX2C27Ar&NI)FNzDI0WLF!X{|(H6t^0Hgzj%JMds2?S|H{cLI|ITG=->% zwyie=9u^vB<9t@sAzH@+@C?Kd2pmN3n3x`&aMMP$@^Oz)>`#SAQ33$e$f?xHi2tm{ zpZGwiP_2PTn97w;gFfXHns{YUBS#H%cBm030h1VQDM}C#LlDFX0;f zpI}Q$cm|U6P(sWSOF8d1xsaL!G35>i@iAx*aX^PLs_>=7#ZsU_w8}&}RbM!kn9#*6 z4UqI-)#jBJM}27Zv=`A?8?nfxL@AqCb_-FkUh${r$R5n9#IS-(0-5SsI0Ye#YfOPw zOR%ikTG=y72J4P`VZ!bpamS&X|6xdAEfdh70cBcDmsC3TsLU1zfx`AV#D*vptD&_D z;6NNlV44BR5E(&3DSYw-U0L2(DKk?u<>7sM0Xb-nA39JbCVkUF>tc}**ibi9>9QmX z;)}N8Mubgi_d~cG4!2+YsEW52k6!kZKZQ#%XbY-o)5m4t#pOZI0G z89K*fPy{8RyINmfFS{wlvYtZMWTKTa!Y_$LCn=F4A?E2H{=;TC%^TBp zT)?Y&`)!L3r>xg)I)W3$z&+=wUIAF~>1+cI1?hGt$^viUD~I=2hhFuzGG2|Ln+*tz zH!EBu7xTsnAxyWH3+5Q9;>L8yhqixFE)kvMwM>%EW-oql9r1O;a&DS7Pzp>K>wbgGM|d`J{$92n>}YGM{_lJRb$ z1~;JyJAgdOSxWj_TndRR2!JL;l$OD-FpWRSuw!!T@g*sID1br?2qdDu$ON*aB1|b$ zp+baIfjvOQjm}7K_0zHpbh)5t+M2`|H5!J*Yl8tDqLD6A(&o|hX)I_gW)xDiG7Ex1 z;Tlu{A7GnbW+hK+(A(sVSr@=E2yG=MUlt14mXTw>9XHCN7HnG_Ze>tGcuPSm!UHUN z4+tA#Sq2aE%31y>sV#8lKMP>|4&22AU|!p6ZeSX6Es~jQE`+5MwI!`@qazMdNkn4Y zOB8h|6{#5_@B`97=O`#8r3$yOoyERTc)(=QwZ$zDKt?)LfpHNesuF#WgmwK%saDID zg;CN}g|d`jpKAxc9f!hc#Z_-=YSiULg**e!0a6=fePh_^uhYTc$%l63E*+RuPopNt z77x(Em%^3&{3&|~;m_Qlbfr?GMITsh+7!`|V0-Ii=ffCK|=oL8M;NYE|cqT%C{U-GFpZ1h(>0I7`4?&!Sdzx`2pVM=f6g$jj2$6`~`>nc%7JRAAlnexZiQX_T6i}H9B@2Aja~B8)?hn-yM;yoNm1F zM&Br%4~kZvdWK^~1syzuHQIlykIbZ#LpI`#ASD;3wNA+ZD1cR+?4r()=cNuo_sqIv zTiGZKf9hY@E>4M&juo(xTkGO>>Dd3`LlzrjF#PH-eXLWawpN@#Y2!du#g__#BO!`O ztb8=@aO~e&p!PH!1QeVKE?*Mz>*>y!;YYhE1-adH;3SsC0T2c zh!+LXQakWfL8EcJ{9}*YQ|`L+6V=4!H?Zc&C! z`@?nKD#$5y8~wEn9vx%ln__ZBk4)yaOO$?XfPUw1&KOfyn+)#XXHf%+Apxs%glgDy+fGPKv@egAqPtH!9dJI?;w#}6eV^@ zGnRoST9Xgq$|vQNAXknDxE7QYq3@6iMbuUdVvNRtO9?TV0!JZ+ngCTOTq%8WkYY&D zf*^=;&=RFUi2n?HMjEaG2a!OPxYoR&K&g{Uy7rkHcw_f|dzn?`1b7nw4lL1HjVmYg z0-ZZm?nixSfRwNbf8ZRG87~nYH6jPFMy2^BdsBV>AlDG(7q<$+z7rUfHQ(x+-w4(s zqyt((k%a^t*ISygKK|*GTaz=hJSD-)4>$#q#|;56Hk_KC8P3jbD|2&OMl*9WWoCAk zQyc9>FwpfST?9D=8KDDA{fbCAhAOeadN?C7YLFd?#_UrOdMt%jv=If5&>4uJu>Sh; zV2v|*Uh-ovYJTSr-c=9S%(!-TftO~{^lL$)!xq$a*yih;n$WaqK<0|pM}e&m`ptF* ziwfrItFI(~tV~T!(r3wT<5o=6QBJPii>N?!Y#8Rp#|l0sFZIk zE1&$QkI_#Vjn2%^^E4Pw8bbx11j7JOCBpH)QbK`|CB0N4JDnSpO#a%^O4+h&4K`46nT86`quD51gOr)%IGnN) ziePhx6grZ&_6{*BiL1r$b8D~1{%-NHuY^?dkCw&_Sp6M?JJerU+G?tWp z04rPxGBid;$j_k z#?Bj^OWlIazz|LQE!+&O^;Tf#O{U=sz?5z6Gp-CEs%r-^8EaEeC2%3>{}>vGuQCj?afX%mYL|WfyT87O29FeRRzC!y2=cn}isqTGo**8eGm0nx?E>t zUPu6*Rvsb(P*GSflu4M~!!RdO>j<1Htk1F`LzX~qk3oh4&2fX{V2Ema1?KyS{OCty zEl1LXYUf4?Y6JGXLRSPG1o1n~MP{@>^{uS<5}(}V&wDQcsVF3zDv-w~|PPhkUUl&|yyi zqu2HFvp@Cf@~zMPj%wl5L6~PQi70SG(p;Mq4FoN!~L{r;Pdo zo+)>LIH;pYD2k*#Af?Jd_=J9v@iv*eJEI1U1%2j zy#0^f%J#|Wdb@$kd7BP9lj7KD#uMz)s}?4I*hA|OF$uL0KH}T43&g4t$$>tl+ES08 zEz2!wRc;g}oz&U?wQa7U7Q`V&dX&kxbXaP%~e;?`QgR! zbiUYHj6hiiqY-C64G6@DkVqD?b2l0zs0^W^l`!ZdQ0qD<(|v1Lv4(8(LW4>j3fk$4 zwMLg#Lw>lH20=W+PPqWK=Y7!Uje4j8a64dDhDH1rS-CeZ;?OrBl4{JDDF*dvIoia~ zCq^oU9x%2*g+yT?YOp~}5hGs=SdIv&fF{~m+jcYd;4%%)0TM-u*T{>-4J7>P1nN}e zs)8R|^lXlkmz1RxbVy{>W#7vbKEg#LGLbeEI;E6~{^&ShamZ<8gKP3Bi(Nqg*CY#9 zLP8q-G8*IvhjimMA`cPvQZ)YT_O}|c2fTIBhg5K3K#`9Wb03k;aHNr9`3RtG&jIAW_lNNz2^1mfVUzN_*ImEAF zD3}oM+?0;pb}f)_E9qqSW;vi38-4#@ytlmMr7s6eXGq9qc-C$1x%>9c8-F?L{HhCt z9KF<=YW~A3f2Mx>n}4-TOwUxDObPk4g_s_!M4;`+CSrvvlA>{Ffewg3^md!TKup#R z(i9^g4xQ zj!&}_U^o3kuA*^G0@&E1=D^e|F^h1D_N(#kXk}@s?rqso-t)dcFE9L_?`A1-RC>e@ zpX{@9?FaokFCW8c`%Y1s%a-&JfE3o4(Pf}gF<|}hM?Xl#zZ_2Vrjh+3gCQQ+Z+%F~ zYFTMzT6Q54t{IwWUJ5}oP!QU?R*Fv4P$aF5$JES^6o^|ymbQ#t9OH{UbGuG-nAokc zDOb^`JWUHA5h5v}%P+~INVl03{mj;0kC#7=mg&S2fmz-dAMl1JhVGjmJ-CLw4hvtb-|^Jv(C!1@5hPlbDys4YHaxqHIR;0`HO$a9 z5o_o=1|~*DjN@b}>0?USo^79S@s>~iRn@uXNo6aNWX!AjS$`YDVp{Pbbq%fqP6Ue0 z$gR=RwMY9~W8-CU2&S_Kh9Cd2w{)f;4AbO#%o%rqfHr zoe&nmB3{EdD2<%7{%k-rZkO>%Y{$VwUG6@9sQk=l{JqX*enuY8_ijx587ML=rgChA|d{j*5-IHcg2;C?`n< z+ICoT&~$Al>~|_F`T{*I4+HAdw|(`F^5h$z!ejrNdwlG+Vf#59%$K-AFOGwrNx}K& zw(R0L=s|t?o;~I9*FC9RcKM#N>w*i)o(p%COE15yY}+=+Ov^+yJ(ZakfN3H;TW-IB z8`t;zz*bz&Yfvb|yd*BeRSIUgjWHe+AVtsoKy2-`RfKE8=8r^2Ti*L1&Nn_Bf!2)r z$O^TvdAMyxn7(#MB9BHE+J(pmK|vUTCPFA->7}AJXko76pPB8zs;wEgn3nZWtMgDK zk;TWK$lkH4im<<lfY*002M$Nkl^06;F&B_PlN<0XvR3m*{Wusp4n|5}HJtih0w zy)kiDQ0v1sGnoMmR572MrKVmB&@_pIXwhe%E>qOdVi0$u8U6Q28Pt&BnKsd)Btwpo zLyy}G2_(uZUs$8)FlUA6$1sm*z(cmj2x?n0Z2)0Fp1&8{OQp&gK+s4TVDlkLvv#R$+nPUk*V{*TeeK@z=&P@x(c?V|h>*q(-579?BPd&25HB~#&mI)s0AcV9 zJ&8UNM}BlA1GYNGUsx~>Slb^?ooEIN%cJSp+4}g&6TC=pvO0YKUFE`Sp2#!n%i4rR zBYkT)bd3~C)n2x#%%Z>>RrL%jJ8%{|Cz_KmJiSN)C|=a|zBk z0uW|8o+3mX#e%K`A4jWXeA|$ULmu;MqF> z7bIGr3owYUO%n_M!D|dqPw0U_Blv{R&7$_T#t9ou^Z(p_XI18Q5VRS;Y1csXhhCvh zN+SqWHl5InnC+NqN`+R!mb_U!db0GkY%7o7c?nUQEeBxAx-PYylva`FJXvlqH+g|J zU5*=t?Ill~(rSU$(WD)sZu#{ue5|aE&Xk$0Ph@JyQI5hByFxSe2#bI4$xbCEqJV}; zcIj47T2+sx#>VRT`)@5zdDJsIPuq2wXHQ_>9P2I*0f=f~OVH31d1{wDgakgrmGpC| zK~YbSs##McB*Q;}gA=a0=t2m`IZ)=AAN()PzI|V*%8nhQ&iR*CvppWO0sv$AvW5k$ zF3*>T&YWp};QenMO;7CTe)J{3T%LKsrO?iDjh%te;jg_463DRci{Mo?idO*IDI_Tg znh9h~2ttq;ELu*x5kVm(Kv2of6=!;|-ITo%gKxU=$$%JEulT8-8s2l~J)H#}sk-dq zJ@wkgIwO%l2)}d0V%XtxjE{ zL`{LW?3O-9md`IN)Ju!2BW6j;u_K4;FW>n!(wCSu>9g%*y`G?BwBv&Fo81@f2G5SN zrPnE!U2#oy^Ru5hyzaUuFl{)g&(XY&XEen5rNw7f={hz}d^B4P&z4zRL{lJ0N-U5>41#YnkOnqncf+8l0r7{D(qbAH67p0GwEzeh zM`-i|qFaTlOfWd`#UWeu>(Ck`IRN29x!5EH0TY{$9XOLe3W8dfku(}JOav=5S%Y!e zlH71iX>1&-xez_c6yz4Nu|<<4$XF2Rw7A_Ron#Wpk?;0{b7gi0Pcg0#&SRO_r&8u% zJBJX8-7cJAM(MRZc6r(aBGcAT>U`Q;E}?)=S`vZFF{%2CjRHg}3VJPVx&}%W-zQ`N zp4(?ef1-TwFaLY0?I*TX&v6wz0gxyEGWo zP>NWf1{DGPgNq<V7`7r2pj8OMo;u{%pg)-feHNHr~3b-@@C+p1ISTB}@TuOST~dwsdru4Ozpn1)1#rI2GH2Rh|)Pj zj=Jodpo3!f6DZXR&xdb3vVZi#r+j;P|9AX&0xuh)Fk6JDsf(j+n*u9#3CB*hU=GH7 zs79WM*Er>!v?Wb$z^>B4Rd2AK&|@b$2E@$c*ziYw^yT&MyzPzk=fC*n(R~lyU)^@w z{bg-!Nu#S=)_}m##1s;nU=Ibt>2m}wl4xkieT~V8v-JrY{d#G6xh$=%WVNWj+HV#Y z7n+r&#nBr3Cm5kPYyfjMrU3;2iVg)aFM!wyQG5*ENMDDJg>3%Dlw~9LECq2X$3y^* z`Q2bWHWCFS4Fn300x2t`W_ogKeZvjcRp0;p-`~9a$A7#`&rBl=ER^5_YrxPs^e?pp zXuyOtcF@~v!w9%fCi>TwNkgy@&O#{(!! zYa$Sw3&a$)l+uxQ3jv9=7%D|vF2mqKg7)>M05Wb-i9Z7<(5L}G>yik1yV~4_RjB7u zpyrD~&(@mKsY(io4rH94OE(~lSiY?w)!v0deFHQh){d3lkYY*MtYChOkX$*mvNDq2 zHnhXC1REW>NMmGOrW1@Hu)$X(oF=8M&bSO3w4ZR?hWb{}A_r7(5&z*Y;?Seaam!7g zJrI*NK-J9FZOlv#M$dTWv#LYKj#oEc`-HM*&&B0mKmGa9BS%hQ`z-H49E)?+v4h9U zWmjI=u<5dS=z)hu#}D3HUjL@IcHj8=*V3S|gJ;ms!G)w93z1U4NS;x0^Cbh{3g=C%~tTtl#>T zPw-U8YBM{xmE{wfVmCJ_0r^EDTpC7{fTY^u(&4f12zJ^o78l*lQ$`QnRsZgb{v-Pm zdTa#c2wzH&s#YANMf^}>KglLSiU`fhPn9Tr{?ScAQ0X$`M`YNIo%42H%$rI3{H-#=(xf1ff6UE{ICi{R<1M4rh(}tPiQcmN%Cfla{OYg2 z_Sv#;d9}Lbg|BLQ><8!%*7DXnma?ddl)xTm^8%)&UGfy1q)KK;f*-qET(@W~poLh7 zKED@ih6GsYzW)P%UZ!`ju-A6eQqvJ7ei#8~d;oo&p&*E6Xbm zxskd0f@A|F#1R49h*Y;TPD*xz(Q0~H%AdCiB4eK&XVMh4#;eD9M2~6M1b8C~-H@uk zwp@?anJmZkSC{&oBfNd~i(mdi`OIfOTYl~}uNl1XB`@o|`}f~j^_bFj=!5fWD+mgC zDNcK0+7%GeWHg}#5D88osChn=4I~kfj7RY0DkfmlQ8P_ho0ZyW zy{HCelwc@xu?yRB zij_H7j|A@W#;ik!4h)y)=SSB(=GuC>4_-*S?2?PvbFjhQMbM7}jUKamU>tzXY@Mm* z=TD91PoHXbU9hWr{P2C{_ul#T=8eDd3(Of3xyD-$2NVlYZ`!GyU#oYcwSVsd)ATyXhibOatkw!0A(GKk4a zC9(iKrf-MVZyYW&bCghWYP)s-GdhnY;gg3SBwn4YcJJKTStXWDP1up3fYb=fajY#^ z+kM8AB$#_H_(CMKVz5VHN~dX5bymjb0>v^?l8=?50V%eMN=q?GOOuM$P#RG9HomDX z>u!EggOYTAc;Io==XB1Aojd2p24g#hycCi-hT+E8fL)g@x>9bs=_akG?B2b*?aXlg zN5qh}P4NiWXb{hc02z&|95TS97$CxYl@@nF6;Ne?{E*f%LOJ4IDj@*{!Hqu=3B@T% z8$^({f||iNX}Q2aYr;$Ca1_wI@7~+kA8|o5&dL~hQKb&wlHl2SiqQJ4!il61hTQjN{81+%oP3QiqfOScf8#Un zFJqTH79%sb89kuHF9AW3Vc6L(;RDGTyz~yd#;Q3|zE_<*ytkU$c4_(PtDb6u##3t< zjfN)zt_IaY+%!E{b%;hJ0}rI?F*;E!DWe<`jHu5mbKNCAbM=$TmmmCG^TQv1KlxN) zL_l>g+jqVJWyL5Q|_m4LIhy1|ngOvop z0`H4UtJQjcofo~a8^U=LW+rlaE9=cJpRo0f#bL$`jO144m&)lA^X2IAW7UEE4>t!M zK3E-k-}JO+mv4REcQuc@;l}QV-u>TL za+xh3`s=@C9z?aE82!`NNb~<(`zk~RD~{DUG>hbQ$j*)%K|N-)qZW14>{u2 zY$3R9%)*9=Xo| z6bT4BE7H&ZoLnWF}= zbyh(EDv}YKl*c%^vDaDaudtn9+yO+hy2wkQf$EG!*g{~+AzdnHf*%lX3MO2KSQKSz z4t>OEdaekE!p2D3W^XoPdo&+7Mlh_+Sg^QwHUqBPZ~w9xW#Qz}&KMgHCBsi< zk_pzf^|+NnQf!LCOVynAh(-)QpJQ!yvU=06zOHPnk9Z7rij`ZKC+4!X3@WLFYuXf0 zQ>q{p2$8wpu@_5GLK#DO+7Q6f=JYvJLgBpkFa8o@+E~ zQVTzkmHPE{2;+0pWR>#zH@p=yB*s>pNvws)4Q$FJ%>_(yjXh|<{s1NRPZ~u5Z5nlQ zUXe_tf~e?Wfmn%A3b@cfo=ug8%8$Y$MX`_vo|Fr^cm^D_+(@UzK;<{|44ipjQEj}; zPn@h-=LSAIgO_i7V@86Ri2CN6ZyxO1w@-Y0Sd0}l;Q_*USVv*ezomHz+o}c* zyaA*R2opB%$jWXFm8~IXHecG94B6MTf1wkhg!XI?%Bed5Drl;xP#R#s0+7lkQjcqQ z*LKII7`$!NdynrOb$4G%Pt_4Ogh>xXx$dr5TA2e$&5Av*>_d=X0A(4TKGOWq6TUS_ znctH-?Hmv^>)DVZsZuMUVT5nT9V|NlUv+|0lwmuzz~%e*-i8yeG!v|^jp%i{9|X#= zUusws=3P&QJ=_HEv18*%43JEsyE~~F@9TdX1i1c2>&I;0<9^ZTQQXR! zntaK5evNGaij8XcTC~0-KNN@(G!p2+L{%g|$c&ReHp&Oz|7W9}=WnV1@SVRm{QM_B zR(<}KZgt^RkMHb0e`ndYWlOxHZCo7f2Vt|Yu)vZ?w_2w!Hf&a%Ct$B8k+7R(iu%mT z8Ur27n+DJq?qC2-Z;WklXwQ)on{q3+xwvs^u)1nLj<(z9tH|&5mzT?Nq zMbt)Do;^ChD6u#_nGYeNqu!)4qQe87+eUbnr$=H@Zat}MU*u6JS=J4X`? zI1WAhaC7MuSHRk!96NTpSy}C;0phVsglUNHG^=!y`#p{Vz=g)fvGKv6zVOmV;pW}3 zbvhzU2f$&%t@45ZB;pTL$DUfzL_T&qXz=6~*0m3N0Go+aktK}|Nn!_xN%|?L#rR;p zk#@)u==Im%FuLKXH&?gc`l+&I+XdC2y9yMr>mf*n@TOWe1CS9^xGq{jhNgg47!Wk) zUwTD#bl<(rZ@lfTo!@-JuQ3CtW^JPBH8c8fBm||{VjFPmE*WgK2T;f@fEBTBAlWT$ zV#JUh4$9xCp7qr08(x1|P9Hx|?|#%{8FVZ`7gmee1Iz)DV$%)OZ+x6q44CbS5z3M> z>?Rm*-v4KRH2Ty3^3G~;~UT#DTL`!B0_!SII?uE6U)~@^aH&GE4KhMUD-=#RHK!& zM@&y5BqMH*>lBoqn{K+v*1tY=>QsChFYx&Tfh%(U?DNA9*QpRyv|o^|k4LpC4B=W; zSx7YEG0ah4FhKM@o4}%6J29b)f=19dkq}~~#B>cQItB=t_SVy7uj{X$I^ttB)nsoA zoBWVO%s`+ZaWtgO8TTYUlqZQV{gtM9yQqPFL=b2ih{6Jx#())>k$;Ga zm(p}5>-pmkH5cx>yj;hzu$o6Y*Wfg~2_;CQZ^`11JPGwD@+U#=!-yJ1L4Mm!?l45O z^ZL`D`S&{>~gNoS(- zpWpG0=5wF<*Re-G=J9ki2csijzoWV9_S;7f-v7Yx#Obru{KAscZobNxep$CZyRh7x zVOC&%alR}ruJRs$#nIWbXPe{4nGra4qAW6sJ8^1Zbc&6nXHP9Rr%s(_o%wk6$RkI~ zzWoRJJvKVSw6N2WMDvP03k}tWOlCFI=6-Q6U?v|g3X-MTk5Gf4ih?Wd*$DV{T2HU zA1W7JvInCXH78G=>HvcdKARnoGfu*Pm3*#AQ+^RJ3P`JN6m^RNvPGoOhpBL*qs4r3 z5osgp*ciGX91CwbGV=_YMX{q3y2vK zP_d0B_Cf*$NQ^CzqSX<;j3ZbMwn15kXQ?U_S_Vul40z= zWnj}KQidKJxa}G9qw)Z*ocRhUSMk8@GhX$E%M&aIxY2fUVtUAQLNizyRI97&%~PN8 zboTfxR9og|t0~S(@iFKlhYpvGH3JHIv&H3)L#vRcC;pBNx6IC!`O^y^91efwS6)kB z7oNL3b>)CTv0+2GP|p#bX^~2+SyF|mQRtwmMfX;zPORIQnM`JY3 zK6zr7`H>tbRs|Ky3)6ml*^>Kj4ffdJgm+-twm3 z7}7ziCMRZ@m7vq&rb`~z_BpLpXV}=z3Mxky z5M%9LSv5>bqQ)ge6QGY9wcrX|7{|U0joO#;5AL=pCXr-$No`p|^CZw!4;i77e7qsd zDTnxmxfwJf3+Zo#p&g=Y!hjFwX$D!eLlqpUH6++|2VIw0&HtYtUF?P%ZiqF&%s3Km zGqHg%rolu7$Wih@f`!VP0+ja1U;b?iba)K`^r2irv{Ix(IgLuX(y|yra5}Th6(4ni zB4NgiJbuCcM7rjs{PsOxF4e?X#ZwIq{nAib4NCZFV+vyoWvV+z{@h4`otoj|+Sz7q za##KMi>|UAhgJiEBO92-3H?PgD8C0d4wZ-GS1eH$V)yobhS!16CHAbB_od!%Nl?8oj+l?X=pqNJuNNrsE<=k z^nBrmZ4V1_8B<4y;1Z4hpi?ay(Tx7IXVBwoY}d-i@A_it?z))v57ulp)H34$`_sll z&R~Fltx6(sLs`HLS=Hm8Y&k_hE}++t`Q-LJqy5M3Dfb>Z$f5~-31dB2H6y5@DuPRB zRp8WYh8kGW^F+{8N42 z`4?2{i>IrHzJ7P-;DLwn&2exuCRt}{k`{DwY69oedU#NU&cGUtI~`Cby5KPToH%x3 zoY^i14UBW?6zJ&erQnfQ4&$1hA>L0h0_vAj$4)g5J+!Yn^1%Lbc;CM2!TawokL-P@ zI&$D3%Os~c+-j92l@0nY9O+9(p^WvKsoq2+i2}MFhPAY^Oe3&VotZyfP8>Z|4(xlV zIezSDvvlSRf&OH3{J=w9pnmhmPbE7-HcuRHQ!Fw^IZn^~e36v09&iu55kwsfUWqTx28$-}UxWS(`AD5;WhDh|J zoXk?1;*zL^gjo$oZsoBhSc13~a#+L`w5u>?&DH<`C*h=Of!Z8KzImcNsS*B#B4-+AXBRzsE$ zn7VRL5&2+;9(5Y+@$LK%24SodH=s%LNLsErq>9H|FJ(Y6Ebsl`-_n1wtAPEx-gHIK?sWi!iUH;K`7*;Dx8T`&~zeRq^nNue`qed!h(P0qA znVRGpnb?jfM&w5O3Q&q+E6h%E(ymKU)GOt$cqKZmP3?h*8lSruviqT_FW1nH08i6xX~ ze;gYd;Vp5x#3fgu`mQ!)Yh9*s#J#m1fX?>ep!j zC?q4@B8?1FWQI|SMQynlqI7DCnaGPVY8jf}X7l8O3b>x_C`K4zDNks17}H8caDc@r z*st7YsgD=0QugylzBVc|TX^(>Mur{u#xl|w4OpDYPyiy$QIBSQ9q^;^$Ob$e)e%Yt~u9RKp z^Q`m~Yu=nB3MfIMXUR|^%15W=R&pa4otHDmyNkdE1lMbtEr>cn^kE>Q! zmYYdBWAyE5Qh`NTJ%bPRsjFfkSI7dgXXe6F)JSx4G{ZbWH8wfbEv)0e>CVrN{`-Y5 zX6tHQCg{G0!{`L4+Afqyyd8G!*v^RZ)%=~hQw_+hs*E($)A+h{o*f;P8@omtSp=vU3l4*sH@>g6Wx2jhR9LHqyXpN_bQLj z<~=CVURd)e;{+l7nSPYSxthd#3pj%XDx7dWcwiqBSUmaRfn~r;IK%*4dhw8&iLKkq zV{d%w=)nCC@yz&+^vQaNdTC{)oH~8Fdid}`bi69(C`XH?31!AjiTfzupud9IHO&&d zF$Iy}=ff40ExoB(>JH1UOE2r(bH|sVAF^n}Tt3pr^e9&r5F|#AoT!A>uo3N})jcw& ztk-r1P^>5*hBC;;;HQN3!srM7q*UuNLLvl5L4uBLkmV#GhYGrmZJMS+IXx#uNX5j# zV!BKK+O;^Qu*h#a>Vh(6)8j+-JXd5d*P^7u68ga=Br?$?vj=(lNXpY1pgL3$`;)l1 zg!n-vE1IjwDT}J%4qvh{Z=dd>vDqXR^?FJ|5}5m=AO{Fx4m^jgf6^crkV07GsjQfu zhX}1pc6l8%hV7EWh(2z-1><&oCgEa8l;bp0RFn{-TJ3^&c;qopP5J6exOWqwXXB{Q z&EYsp5OmU6Q#*X(Sp7F2`at+` zm1)BFI(jC6H0^Zf5CGrdWc{LZrR-Xn#;DcYznyuzAhKnmo^ zbIjIXIajVGdSU!ed;~AWbq}=fb|D*!Rtfy*UpDsC0WhQS{yKZmyVcLX`W2(szUI~C z$iDlkOCNWASzlaI@q`2fqmFrW5o{m22FeIaqam@+V$ie)NZ5 zSbCGwqZRyhOnYz1qBdm9p+N@(^hz{;S=Lun98^(2N3dKP758U(H>fT=?|cYgcJuhr za@qEsWq#e$YI)j(T)a5)fiWP73fk;ef=hwujlLI&({@2uns@*CUygp}r~d;plq{Pv zv+m|DWoK}ty-3UpEbTvu5aT!@l%W9aPVuW8>OegIKqDBfSq`aUY=*uN1lU%g$Rpw1 zW?XYa5^2k<4@_z*6o?>pQy+sW-QJYzwPPCuP9Gj%!%ep^Ge&7<&6t~z%>U0%Gn~L& zbPWQrZF`Ih!(y_Y3fQpG3`$yo6Cofzl29%3B`MTS0D>}rZT5zcwVhA+lS>86wWQ0b zf+y}LjfeqQYzNpi8$BSxwLI}3dt`6byX4Vy@D)2vpmaDhptGt7#u(`A+}_s_7;=|By}PRWSZcm*?~q2r)R;&9vYN092tH0*FQU& zdd!n+PTAyCA&=Mz&Q>IVqFbdJ{itfqO||hM2y+be$_DRdJ$bzR&8vP*4PpnpQ^bf$ z3)fbJBDGG(4RJ^=Z~!j^1Y<}JaEfRaG%RwZ{^&ItFgAEvq15l$drw_WOm48@XDkOG zQ8QCF(4%`H5LpMVUMJ=#6iC`E_X-)HQ5Q_`{1`)2AW!dTKELl?3c(HmisK=HXGcd% zQIsJX$hLio8aV2=$iO!Y;CV&8uErz2;Rv zQ@!SwUN?FtySN{`>vVn5mDiTS5=7?8fws1W!PI@vsVzLdgz2Ed{u(F8Lm5F1tr5J} zc*Jg^ImY_s>RDcr2Jd5>ditDi`?l)2>`!>wlb_N&_VJIV*&Zurj~{P#U3eZs?ltdx z$Ghr(smBK=*g*O4!3Rg{XHKXJ41h_Av59j1)1O_w`+J{P9(%==)f1m|UDccD4YzII zp@BFOgTD^(f76$3gj&)J={ubX;lhlLgU zQ`U&q94$xb@n8KoOQ=z|<&qI~OP`6+4E7+T)Y6lz;i)I4@l9?Efegr?o>(*xorPa| zf+U!p0H|=ROApOHYji7865GD8!k2mSU>Gn^p%JwtYp7bjjT;4^pf!#FB1$EG5P+FZ zrX-_Z_w*SVba?B48`$>d^bwZ*x;(mV4AFl`B$mR|1{m11E(U32J%A1%fh2=Ce)TdI zM4JhyvAaz`00XAqzE}#-^fQ2AXPnp!T1d4~1%-P&)}f+Z*k5Kz?zX$WQttlh-Q`PP zzN>uhmQS&ycAO_Jc;zB3>eih*>uSWw*Nl9rC&M%a zsu9i+q>}@!$a0OSh)@6`i)exIP(kRia-m`1-EOnIw8+xl*80T!sdC=j*5>H`hpSz? zFDVRew3RYs@JnAo$;VWw9%q0ipW}?S>CDz==g*ey7hO?KAKp9I`@r7r)z@6b>j;pm zkD3{Sz^~=TNZ}EPP!8d=zgnr0&R(7c65V9l3~?aa^_3+K)Y?|RbAfjZzvmfWBptWTvkL%dUd#!-|&HR#US0p>CxZw4pdRlp#*!EqKk+R#7Jq31JXGhzI-Bv-yggM1W-J z))-}*!%Oo_1Fj4?IEcf{)A1FOyNGV%PIlI^+^MZWP{sri;pJNP>+K&Ez*c7e7^{(hCb_C4_MAW z2pUC5Qi4jZ${(!*Dq z%O8DxJdBDM!A4y=P*hT_Ze*uR3NacZBF z6rPiBNPwsP!=2QTjAhalq7~*?F#2oC8k=TDi#1_DZP3^)b?AFi8G>o4I9hSYCFnX)*)gcXf=V&_oV|L}p)-Us&A$B*rI`CV5E z_Iw#U82s)!mn$y4s-n&3Nuw1u>8-L1hqR2a{-Z@OAX^(>g;!*%d?7y)Bxm9D zN%^XN^$q_?o2eI<7n=zVvf|mkMBa2fHJ^yXlBlj#s~U|F#ZrNy75F9hnw$U(rE1rD zq=?vl1RwO~l|XDK%(o)cJK2p#Ra<7}%Co-XyUH#9_z{TTZ8*}DsF}cy;VBCdk{~FI zD#`;CYNw+(tak0%(a@2ofAB|tVtB``pV1m!PN*l?BncZ-RX)mC3b1u34PzJ=2Xb&v zGNt%#d6FZUQV;kV)>i)W@4l_3BQcymaiSTUny%5gj%=*AzLA_7fegg}!u-uaPYA}% zp{wkz+CEr0d%SakBO=c`Z+l*yfRTb)`&QuKgbMg45$}RN0Dy(I5|A2x+BVSW*pkQ& zEhf&qYGnfuy$+hAIYCo63@Qlx7IL83jwe!vVZN=boJC+K(aqw3H1-pYuywb|HqA>eH5>c2m?s>cU0fP$V~S~JVk;$?|5F*}0!Lv-sSv9v zqsCCCEX-HApb$J=7V^Q$&fba#1j`?P<{z7C`z1&n262&Wph~Y4m5_u}B7=0H?}~7oC=}!d5{eQem1_u@9H$f7|n`eP6qyx#s#CD;^DF#%ILY5*zM^V97|jSo)Zp z^63;Ft@APBsx#3UAD&)YYfe10x7xa8OSQuK?Z4f2>u~3`?e!GFV|MFI=Zed(E>}PH ziKF+u_s=-4`^M24OBmbFyO@0sr)Zx_dGGt)H}<{X_d?FqCx|7A_(HH{COzP-8Q7OX z;dBDvf%CuVyb>fdibxL05PG{T6cwm|gc_4?t6GT!)zuOVH56)Xf$}736CkxV z@xm@ZfIvLlktKOnha$LzR8=bo)4bz~#Q?fTph_5#Co7^PiwB&TFmo+~3!i<7b-;pC zk9dI4V>gJpdhdHa(7f^$FJ-U5MD>JgpIUdu$2bCMFj_cshNZnV?10lxmRD}Usja;8fUL-J)&bKAEuD{+$bbY?GTFg?|}GdsnGOZHOu$T6L0 zAHU@^5<~;jidQ>}gkS&#{13L?175PLy3;+U>gLe5gL12-ZV6>X5C|kp5E%>@lhG4k z(!+-584NZIHehCOz#f8ajLkE_2yARbGS3)+$rxiKAq1@mlDegCb&faRx}oa4@B8m+ z#_#>6`gYX`d#}9KUOSw9hFN4eKfMRbY1O~;UtW)r484?rH}W+_hbG__F`}d-BhpVH zhcx1zh7gVwzf1)Y%1{klRMy5LtVv_U{4h6es2z<7Izo_k9&6^ha;r$Zmf(G``Ipas zrk)&|s1EMiP2#krTH(=bLVR=xcu2Ex!JzDzK$p!%3|bE0V}5qNHOO0_x8MBzwI!N4 zNBkIyw;e1^hhmq8%;+l?C4&k9r2T>;j0I1DY#{=Yc1EY3g|FkIj9BqDz2k@XRcD@i zk(=4|=#WrTp&M^)n>AbrL@sFq=^W4|lU1R+wZ-1#`b~oi(}(IWedTM_>t6M8_Sr{N zx(>lp<>8g_Z&2nM_asz7co$vw3Dt4Q9!-z(ybomrp;Vv(uI(i#W#IxgcermEGX-O? zceGNAX5`r78iS2KMnpn~T_Zxbh<6mpMhNp7SgSj{UBahQT<7wOMB=KeuF~*-@j+Fg z-KN>zHoy@yz6}ZTsa-_N{8$w1SQfWYTii!2k$vF!DjzB#PQ22tAUNfOoBVKq=O-cH zhznlx4p@jo)`@Mx2@0vddSHi(;2?%~R`5b;>H|{8ME-`5VyoN}5MnnZ(PGk`GIq=a z^U)*i$MBvAD$wY-L|WFMFu!0Ux6pcUd5A0|<8n}gnE;8>nhGWKF|{#R-M=(j9bSB( z9zE;PU}ET5>}HY*N`@5$atusmLl}o)O36G$Xx8SA9%v1XZ>pYu!Nbw1K5PyQN*L5Q z?1#c7Ql^4B5xUYWb||eNGJsIr{hOpt5y}mJ=#Y1{)ZIb$pzpQV^t#(&u#_F#C>K5< zgR)8t%+eLXV@jMMDR@8w$WmqaQ4}i2`zy$TQAE1kJUKf;9i_`g3Mmvog%QdtZ)gk( z54fv=z=!hD6J<>oFun<&`(W1wO^no298WU2Um(UclsN(4T`QaF8Bcjeb^D!nG!J?3 zLwY~|@eQqwr=4A$cJ>x~jJ?j>5^pgYV0i@ZK;bD4!7Q;qM294c=RA2o0o#8Or2pHS z-(3Cox4(;EKG~j~p2r-U_N9+_bkiE0Z1&u@t9kFAeW2BupB;G6gD)qZH@#yA?{7Wp zc`vG8di6^ox@IvO>mp!<#dVI*m=R-WWe(^H%r z$CirN!@W1OAwRKCby?(R;L!4vH9}Lh8k$zmorsPv#2Tnb-ojcn@{frN8)a#05fF!F z>?J7`Z6FJhnyD_lB&|^&@fSQ4!t`YcpV2v^XlUfDZ^&F04+P*@+~H7 z@&spZi4cx8_msC8b$llr>yk!rH&bYj(8#pvZ+`PzY?Ousd5OXeKl~0ekwYw|9j+!O zCU}c1%T|XbSf4c73{R}DHqcAM(j#gc4@L@G6H}9pPLuPo-e6>?o*W;q2S^e%#un37 zbcxvsku8t)7W!a}dhoO$o8EEVB!k72wy%C%es3iM6fF(%&J(} zbu>G|CFL0S;?olWs83;*Ii3QocS7>3Kv>F^r zQ!}B8CO~n53fIde9SB;I>V!@mhHB8FmpLVxwA&KNsPH+Q%Aq(UOl5(SHZ$C3Lg9=^ zXVJx$Rc~ad8Cjq+WjNF=zC&!$bAB$f9i+g;KwfX}wOE_udY`;JZ|3e~8WLJ3P+ zqMxD-E~y8mBxM_wQe1*sg^8N15i3bOOJMPAqIc)f-E}iM z$xXwssw+}UFtQ!B#Rq|MBYHv+WI~TN%c9FxHFId~W!o+dUAT9T{Y5NJNyy4Tj2$7$ zGg_$#xCL9KC022?z=SMrsD!*szG~k3!>_YCZ?ZQrFs9cKOkr7l2tXl0Q$%ENmRoAV zYO*VCwHY0%nd(qbUVMVBE(A5uO_gL^!wjsy%M(TG2}M-in> zJfs%9a7b~e@c|H5n4ZZq=yy)v&8RIaCsq+a(MW`6hAS3$lx>-(Cqpa9X`+LX5qvSc zj9=(((#MjJx%u`~YebZ++az7ak7!1U9Fz&(q$yJv0GcS2@r93Y(~G({v{D3;xMCY> zL!>N}XYNwm3^P+4`aSn$ATFZxIp*2tl}_*Ci!N>!7w4<@|MiFJxBt#tI9_C-+WEdK zqh6ew@9}U3iO)o9VPVb)Q;lZht5!7zWuvEUW~QP|(s7JUs8(A`%ggjqd%at3y3tki z)vI3q((2&!EF?AULx&HvXAkc0oqX~c&9#5~H>!v|E0{mwZ9~p~vs-5EZY->^@k4y3 z&y798I=o|M+91h`sj__qM6E|77{sBWIr4(?WmXMGQaN!HMRE#}lf)X9Fh=?` z4%9@Z$XV?HBHbAqG6^EoMD`rms7RMxXg=Q7s>-iKliqL&6sR;`w1{N-$zTb67$zJw zU6^2sn){j#{>zs}AQtGrzKrWo&us-zVA-O(H~rwo_Jt3W+E zc!H1wdzpvb5SA^F*2$U~=7mv$E~`&0^OVK((HXWFU_muS^Grw#o8+D05rYdoO{Bof z`_S*g>>^UrGJWfH)`-)m8DT1}ZZDwek)h#gZGMh`%}b{kCgMp8pBAWAmRD$GmROWI zPQDabOXe#ZrQ;29#Lqp@*gFGVNB9~$qh#CAs;ifIUVEJ8e>CtXfA|jGhC0k9ZwtKpkffc0X$>e%4J9W{{!e`3oU5D_ zl5-Q~g9hAyrKb>Ieb-ywP?JbB^D{F{Z;Y|linkE494y%waaW(hHo*Z#b;Y1H+gT*F z^-X@H9{dq$Qz&blXV^rM`DhC`Th4HBJqof3&bP8vxCKncM|Z*t^0 zUs57ZhFgRJr!?q@5CFKEHvtB4>H|L(K)Jxj0u*iL0n{Z@P&n?RYiHLyciaU>e(HLq z)g9!77?caS1_WT-d+)tb59Z3Kx)|}LGI5KhwKiD6xr(nRw?GjxYiy7RHDQEM5127^ ztN;prK`r%#WcWvIzFNhY31sP300|Si0kKm<6s_NbI1_`{_3_1-s?BCkge4RNqX2eB zU5nz9ssp)V1fb2IODphc7b`Ia&4guZ@M+sFao|!$cqqc2qQnkQXePTSA6(Vek%;Ycq^RV*mg^07*naR5qH0 zxi7r?(MTvF4_uIR4NOWfVh3EFdDc12ojbqZ>TbJ8o`7V_OmI@x@Mr{rY5{mt(cT$QPk#NELd!>%^YhUcm5T2rWorXPjvF0I>?VY&}1tRBjP)UTmuJk2V2C( zslo$3JD3tZz;9UsxI~K10a{5#rr;Nz+X8bQ+v)OHJdoVIgB9-!vu##zS8sdM?^Mry z_H*ioU3_Wp)*F7ME@SDxV->s4_2E>#i+eMuY4!I>D;^c5}|w zvw0EHcyrI4KWon%KZH@V+k5xiA9rJSJ{I#;t$+OhXF!<0-Zy(wQ|oz-ebG?t1h)4v zRYOa3hp4n-d3LIi6adsV3ednItY+LCb#Z9=i)5JRkVa*X@F-y7ge)!Tkh&5M4;<=U zR?@jJw!p&_ksBh!Jjw5hc_YjCC!m3skxrn4(x{)t8xpuKQAJDGkcJhvL95^?afv#X z$-OjRu|2L3Pz_aRN#%i=y8MMT%D^_t%+wus^ia7*=yF&12d2T%yci~9yRapDoC-_> zQ6!X6($dQr>k=3}U?m}!uDI$6{4}lSzWimqFMsyh`h_ofUj2dh{aLf)-kpQ%81i53 zb!xUHH`fB2+yc#!6H%iwrZ^Zwrc& z)^DmIoSx}0c7Yvcn=#g5Ai6;o8p7oOqhP&-rRD1AzC%2n!GcG5Dpp{mWmJr}_{z&L zqZXWlH-gXN7A1vT;F!){zt0oD#1j+`4T_8D;yVBxpV(L}Pao^uc*{=*p7Eq7055M# zrYImm9L*Nla;8=2ZhD64A)^-o2~s^7QE}ZML3ITexurI}TuO!$fuJG58O38;eUtP) z8du8sVxuayw`YT`>gt!hruxUf|2XwdV=WbLX|CNA3Q4Dnkfc+TAyGO4Sa3WW%{xQZ zPCotYfg`(r-t5?MU+aPgZ6gM-)2A+`tgMLr8!2Q**%9ZUwr{7!Ux+2DLDLhu65=22 zITCNSoqY}h8E9r^4%H`(ZDT~o*rRorzTvI905%vG;+T#B*RgYMIP2E!bnD3tC)aaF z_VzkU%Wa-)gIAtgf+Ryh+C7od_QEBwN#_hqkRxPi=Cu3j- z2_E22g|G=bdWdP4C_EK%u2@n(MKm5E0gH$R`>?4}^>e)zz@ zbzB_`#T?KmC}6w$z%|XKgeao|3K%@BBJUEVQ|WcCrr<^~W$&vZAQ7D)kI0(%2Pj>h z+J;5R53#~OA)_!OH{kIqs&6;5JZi_AAbC+E89bepunHPS0*WLP_R<(~lHf%P{_`UT zd12IaJwCq8m*2p<27rcfYUWa+4s%G86&Xzcr6sX3QHC@U&B}3%a>F^T(?_P9_jFG@ z1j2X+B?v~wVD%4&Y8j!1_MqrXObH5GArxyjr(bKafpvAwrH^XA|2v;> zvl@nO;|L(p!W2I7*Yy<&3u~0|Yfh!KQ$z>_x7_{jQbKP?gXl9_+`Y=@pH80i(krt#8 zg6f7xJsFuGK(n30#pj(@ADcbidc?yX-rWA9|ENyhd`>mS+dFv?nIm@0m^&3jFk{Gj zc!;5F9xq*4bNsl?>w}kC^`Rr(<+c6oc}6&}t?Env@)cf^bSAH0AF=D${_K~p?>^*$ z3)?H~ddF&br!1feO2_~SD|QaBF#8)>8I3$)6&~Opw^rI5z<&IxaK|Mt@&*6i(Ou-Y zOxc+MHI#{upI3wuo=w|X`#iIiEdod8ZS~QF()AjRiZQE zBN7oIfVgXzfO@Ts`+aJ;Xb{W4R1%b$6m?+;?CRF4u+guo5vL&E;Te)C&&PzaU=RfK zVB8W2e(pJ)t9^$RcyK0euqH-O>#ps$fveR!vUhLuoM*qR_57=Uwb^#TgX?3*j^S1e zR}YS~Mo!&OGaG%nc-nfW{&1gzNB)B9g|{Twm(2 zc7h=5&)p}k$b(H9M`;UKub?AxW z^3jp#kUEN!8y*t6q_UlXfX3Pc#C<|x0+aDe3|fpy z8XlU?09uA$WXT93i(rQs;r+_z ztp{A>I>L7R=U;Sb>+ajPgIU^Smq3SBL}BRWCw1c$rV@yOeupO1n_He6;7OHg?#Q0@ z?YG_5d*q`o2OUW{oFT*)hAl(q*8`cw0V^ z6o>8v=oJdnW9PO^MJ<%D4{hX%g@^)48^-0|@d0DGVhx*WURn|n03j-aOZYGR0GCq! zQ;4X8{~VQ&WOGavTMB^CJ}?CBee7Xwxnd)#ufjL|AVY!>t;1nr#AbPb z56CQ-TA1l=J^gIvI9jU+h8uksfQSsdfHMlCqUdFX766jqkB}v^EaG;Yf!Q8AgstlR zysv_lQPtGws0&k|z=bIoguIeT(ykHEy6kqy2m;3@j;q)f!4C(Z?Zxt{BllHr<>g^i zCUaTFB4}^)!lZ^OL3siY{hm1DOhqd&{-kf0jD@GTqUS|1;134^J;-%M3!xl?yj0F!qhXF!*3hWcHR&_XE zVrYg9Z@RoD+Y!j>+>=gapvf2i!ZZ|v4(gJMp}^92M#@?Wfr$TT3>9eznsj(DP!(ao zyE2e@ZyH>wk!FNb1|rSF}I#+3T7YJo_1K9t&YQ1dldkV381EkVGnRQ+z&L;zhQJWJ6PstW}8_aQ(WM!v#UJ9NB+=W>5x9KZ-mP++*5*_fswk^`q=bz z`}oXprqI}YiZwjGmqi=*-G~vnflgY9E6Ut`_8ev75o-6EKoW?a4idYhrZeCxt&JrP z!yrEdps+l}{=pmDBK9dkR>FD>ifmieXHi@rN1afL zPVh%5^$WUfG=mU-H0{&{bx^}?%)mODQ`D=u$AAMLRci#A9v0`BZwn8UbAqF_imHay9`b?NDgfbsDrJ*i#>cYKI17kL7~&QMvCA%FuJby{cnCb(^`WA zV{Klq1BiZ_6B4OnNC&dXKujMTS~~>svCBvu?g=}oDTnC9qKA-yR7t|clm0+oItOX!FI`)s~{MhhHKer5l zN>%9^Rr9eTJ*U8e(dZ2+X$Sozf=c`|btui4ZDYJeX9B5Il=$PQfdGOG1ll8G5HK>( zT3K5hnp^CwF*BS=+9e`AoApX+`4~$i?&6Ctj$GgrMwAt1Q}7`rj7!fhqK}{w3nUhS z@m+waFXW~;P!iV_4zMBR#fKI5-1Iam@5^ei?VJ@s%G^W9-`5YGS&h; z#uoDwG)LjUmK13>24VyTKGjX*w>CFhUvcU-*J&~ty+T+`9|NEffaob&APN>pp|H(} zM==c*!6hfw0=1usgVZkT?3MhdL9E5+$)RA>iAy@WSta{6f zt>&&DRquKFYpbz=G1~D}HxFWdL0wn{`P*_~+E!IY1|zUar!?BkNWG+EXCA-@H!{Ga z4PgQZNV6p9VBJOlD?+9Jh61pzuo#YY6C@%NQ{%n$n>NsQs;e(t z_xIJ`|NSSMmpuP@HG5jnJ}g6pYQSqCPjT5`7@Q~``$EFFyq74zxAx>Xg(hqdI*lZZ z!Jw5Cj)3^$zd!2J>sAwLY`mPAvS=aHq@DGebxLLPZH`LhR4g1)fcuh)i7<*6focl= zPtk-^h0wR$7?(E8fqy_recu3Tnr%$0gv)L{4ptkiQcmE^V%VokIrv+@ho z+8lLlfRGAgC?N|2Lef%BlLBr(Bn1K~nVQ#H;*DPBJuXgx6prLIkxK#GWe(I3=$hkHV!N@^P>_#ei(rm|o{K2AXA z7-EEqu15BSVeFh_zL6eBejfC9rgrvp? zpw_CBPCrw|n=gI!TkOB*_!*os4=gFEA~{-Tj32I*h{nrZZiRUW5@+CWqvc*|EYuc6 zb@dCMt5SN)B#uB4q}BNFMU4o~Q)B{bd^;#vEESIrnJ-!vBR0O z?LNb2r^wtQ@j>T^d;^&qoG3LpQi)Q4I;2Cs6JGt5OKgsdsEIFXg>P$zJjav#gzVU6 z-}ku>q@aaxw`nFBa5r7qQXaezfQ@-r5xDxF-nCKWRf^Qbx zc^xr|lZ^7jNk&+_W$i%IvQ!GP6B8`snSM-CU@YE}q{tBhm-nwBUBt+)4k}NrJg~!bNOg%73!$Q$;Oev~zjE13zY?JDoQ%|v)%F*6AdP0sj z*jnUmc#{(+_f8v|3dNBLLmA4401A3j&A$ACn=hRJbVw)djk1v0FwBX<>iAR3COnp1ddH zhd=y}*3CEmsCD_{pU4Qsf#$ZGeppW*pYCqlbW(3>J&zbO5;4wBnB&9a)d;(n+KXGG zd*f2rY#v7N+cdc$L2-G77unE@^iyIp^g;zp>CVt9Jh?# z$^&Eyy3A1rQTWwZ`ymQA@=cFR%K$RAE$5;@QB?J|T!jNqC=*Z?k1n~Zxy0JJn6VX3 zxoxxwHHsod0EB~5UU5bcDZ-hCOB%}dBCx-L+qA1~=bT4RajkymyWdkk?BNe#x@)vK zeBg-I%{xyVp!JQhydBfE4&!63lTJRVIcd|TX49sP^~O!>cm?-VHAUh$#fC|fyccC` zWW1T&u(7*t-TKzLlTWTqNJfCkzBa%f;{88^EaGI*0?xa##s~zXVXG@_xW$&uq!@S^ z%rMMH#!kk(!UG>2l}AWKM-f6sSd;|zU@O5}KiP-EDM*8kPl=%wG@@&gyg1Yku6cH? zBQIup<26nNvxId@bB*uv=6sA=Ig`5Dz99mOj zQ}iB(TC+#@Is%AxQw&J4EqKDbEzf^DKH8P2CC@3z5f(v;@?#(S7-D3a3)zJveT~9= zsADC+q>Y5p&=UJCym1}5LO;B--#sI7qyy*#&U#z7Zq~KfDU`>(c_K#hWT65kCF|f& z2(V_V0t!wo!JUZ1gaJh{Cx7ofwP3O;)_ydD9Prhb z3pco=gl(1s1W(suRST#bpao_r(w91nQ-g~LQHII&;m7`g`_ZzR3O_*dNCz;Y)Z#^) z6aZYD$W`nHwGCoVESV*Pe8{Qib3>S5r&UG&I6Wx}l@y|5E1<-9Whq_~%G@L^W+LH~ z1YfVi^R(T$*{++$AXU&&Efy*}9-`%8#wtK&Evl#_AgF&O!nLL2%~Q^OBrK3kud;m9 zCYWJdX^-R(fO3-)1;HuGFkb>#n0G9K4>ckPu89kx6)#|s8b<_qRAuherH8VNWi-{# zUiHrQ;K3u!;;tRMqMOVeDk$p11xVM2cL+9g#K2E&(}y+Q-U6peo@d^9{Gl~_=Pk{| z;8g3rYu;9oR@BP|ti)%?01gg{0eZ+yNcRskHX~A42D2QJ3|JKt0m?2%nm_++b@+q> zBnj#AqIsw)K`JyV$T>|9Vvj{8uRts)mE4uPTt(&P;fwP#FtplScKIXg8@~7L`slIa z^$TA7^4_66J6pHi^n?1oyLT{Aj+Us!BZ4Fnqt)2>SZ{=`AOp|L780zG$K291jM7Wh z5ksSiHdIKVX0GPA0q(dp+?f?>$wo&7Q-0t?w!$N~VGbBv2wcjjKV!6Nx1N4s14<#Y zQv*R5q?!Q@yvjr)l#=LGgXkknMJQsFifc+R14SHY+ft;k)DIY9hxrXiO++ne2~>p> z6#~U7z_Yl4-XxiTP*G3;9I67H@-zm@h>`|5SPvWtl@k;WFiUB>#rg#U9C^24EPPNw zj6hRvz!9qVcy0WeBI&*B_kWkp?r?SeKYvkLs*5hXkVk-5w93Y(G6BjO1YX7ls5N$$ z-Er%Ws(XHVQ~U1iH`aIEa#QQx?LTbpz2&B6$89&%J8r+Zy6=vgTRXPj*xq^DEzQoK z+*Iwj^S0*T-UsSKjP5zF&+F%T3&B8pV#7(zrjt(Ztv_i~GsycghDIHYV3vU%^BM+e zlE8WldJ`FffPCeFZe<*s@+^O6ic)q1_oNNlxCaz zDJP}eD|Y3OWeA2oW$9`DI8>APo8}>JW>dO_)hQ?!cWn(@eA$-NGcub{t!*{-EG^mG2ESQ`{fY71&X-0rC zt{E{v4o}jEu;4(>Jf~|F`}GW6xC1Tu;VOGnjJZIdS)QLWA=BU>$WdHi08IW9v*<(d zDhm1Gj-u8ZTtvSHO{~LWXI^Mv)W!8Y%8$Smj`Y58m-d1}RD{?BQe~wy(Q#~_b9^L2 z-*N%=hyX;&KZp%`+KyVY0a5k2gNC_hbX8R{E&4c|Gs9WM34yM`;j&Zl75OSi2D(_e zN2}~gMaQpvV3l(J`D0WEap@MuwqrKRL(%EAvc`|vDfYS)C40D zjba826@u0b-GF3DRg`S-poYPgqACXfn1FA_9H_=d*Vl^+bNsG@L^wn_m>RN4*EvE! zD12;9$i{)u!CzN+Dq>)4qIDYUK*$Ga5MBA83A>Id79Yw(JF?5KA~70i9GE9WAPYr< z^TQ7FaTVLky2le;4de;g%*;X(g<#S7=9-00p241(kT~!Klc&LIi8UV8?0o&YZ4bA* z==>^Ex~2t6NXMY2{XFt4;z|5D2H+hF^#z%L!?6LD3Nb=rtIR>S(#3XHuyw9=eOAel zGmLm@XuSE!Z~s~Q!5@ArZ@fHIx6iq#nq0TR!4w`X;GHB?vx)4nPr9OPvkmqd+5I5S zJ;&C)-5uMjQ#W5y-}9Q^XPk(|obKqEsUhrukLJ%2@F13t25Qq%K7Hb2Q@9Z|AW)N| zMr=tIDWvofru-q2+*K_2IYN!)dDkF^oyfnY2P7{=P_U!rF^HGqgizN=!`MoPmm^gR zjMK3Z(1!K(=dZiATKc<>)^GZqw^x7jp%2ve-Eq9yeBOoC$iO)EvfQknKsGaT^e|Vd zb(0g-k)^}+!9z!@&8Kexk+fkWH~?`M^tvZ}K$K1&U1=BG*LFBpyM?zD1Oio(4Z@s* zDF{SqQLHrXm^uSP092-NGaLm>@^7+86)2#z!b)HOwH+hjMr4rc*=phd-W+f<(#40l}eaa%L^xRztMKW>COI}jF`jxM?BT?VGb63su zmG5+8I)la>di9xM_61?L(rWJ5(faboJ-NQmuK(*(DB=OQO{Z+;iJ#GGYTY`^5F~hM zT!&}y8DULJLBKY`*(NbJf!^^20(oKu@Y11noQ{!EM<;CoyDMzF%ni2rB|a?ozV?l; zwk|mD-0CfFepA&sHeU~K*=iYPW7yRdM{w=aC^Y!_>c4)ye$a3Hx=|HWuD(#eNLfwm zr09*_x3-vgmr80;O>qrtrUuSLEw5M`b=Wy_EQB*_2+a>AR4aNl*|r`XEb}-6mT37; z(`xoZ4cC6i`TzXmKWYB&zxeYWTYcaL-Vf9tZHz znX&bRK5!-A;QbWl1{k3wekJj}v7td0(zANCJ-9SbuMDtr>n{=s$V7=um;0JzKU$VU zS*+dxEvOP~?71s-@*`~tToR*|Si*RNNI`AF2|U*1A^#H0y~BMFQL=Ah*0)KO0ePb| zF#x#43h3dI@eh&F!!?j#5HzY+UG#|R`k#KY>5}c2EP{}RffP9bB1wU$B+JH^H-&Z@m7cvmV6i6FpOV9}4KKp!9^YS83x|16=~VRx zPkBS{x374z-b1@;H-=$+&3V!Vdz~b~R7wj58oqgJKj1q0v=_cTu|QA`Eiq zBbBHFv{L)RV(5h6-fp}9l9EW$uo#lCP*?GH~< zZ<^%t-EWN-I<_tcwC zzMScY5#MXl^PSMHOA+P7*ibdIuhaYX_19MuPV2`A9hevu^Nr-r$zF%4}1ORr_* z0RGmR2_Ba<@Gl-dT(3W81GKr%3Pkj+6AO+FIE7?GWF&B&iXk7?sPImqbsJd|b)-5# z{WDKL4GkB=(TA)HBq@R~IRi0gEIaY4{r_lPdh}-O3;WkmXxvFik$!d6V;|kUYx@nh zk{U=UYI7`8(5ZJ4sP#}CO97-UadgzD<;Et*>p2FG4$aQBCYct?XoZF>z6j1nIqetF zAS_NUL6DqW+8osWovLy)#N`DbEhJk*hmxPDS6xXL+(C)lV`2i6c8m2*B70#napxlC(~mv0)&alY44t@ zUZl%Vhtitq` z@{>0HDNb7iPxO!!jeH@H{#%=+pZu_1x%CJ2@|{1f)_#6_Gr^;ck2>?g)hC|+mg@N1KU%%@u}@{!W|Tr? zBgx~DHIINL_Fc0Gd8d4ftSEUOAM@r+>;Gr_}%A+HUe-4>z@rv;!R>v>!_Rn_n z)1ThhI`7g))(7@IP)*M-!%DB7nw+dGGl=m?%O^kn5!iw#4N$QY-#_4cZfV7a(f{~RyO|oFtRMTh$5wy!!T;IX zx%1Z6(n6Xxg^5jDGL?E zc!dVRo)gvj@d@s6-GIeS*L3i*m}dXpdnw=Q{qFDnHeh{@tf}7np7&rnY+yAri<(e2 zi-Rx^!kb~233yO^|ArqSFb3k%sZu$yC(K0`0c2T}AG1{_Trp3LZJ;By3}-Z;%G64*65HmO_@)e`PF+!uNU0=IlJ%5vqA=GzQ7VZHvLiHWT0Wh4 zq=H8&*SMd!1PU~Pbf^)lk;JI!|nuBxu;em7K; zdT>qZlG;liV&oQyDnt-m;Dirf;m@)J9KIzny_y)NN)JUA_MmXVQ7BDa1qWzq8|W=0 zKMFqFT1S+Crhmo=-b(AF(W&a4PrthThu{5dHMiybYUGrS^%w&!9n*A#;I>P&3LHuG z0I$!Tu4Z>^Z=HPlrQKIt_^9?OsX0$!(8ZvW0iLqJ$H5?l=@t2qd07Q7#pty-=;4Ax zZW>FC-^c~`{HrJaO8vM`{6RB+#u@b(>o@4+BYb3p4LK0a@)Urf@|-58AZQF%$B!R{ z#BTkG=e$bkwRk>MdcnI&>W8sIiIFyjkGEA`BCN?Hx`qgzECeBfL_lsds&`Frmhw%0HB0 zv_Nzo%d))cBZ?K_aJ_GdGTpaIJeY#qLU-P^+be1ZO_7WY7ZlW299rE9y%-+sf-on! z3`pSMt)OjoAH4PEA5>e%ZBbO7PC~8)q_Qhmy4iN?m4baoL z3QiK6q&N+>g;@Vk5A&4L%{SfLz38Iz2X@`Rv$^1ci>rlU`czBodN?}KTUuUi4G)g@ z)}3-zef+?E_51(g&+9k8@xQVw;z~1Y3?L$wVQ~P0-#o=e-7WgDciJ<|0UBum$pd(y zmg^qKp-DE~Q>43YaAM%)FL+^f%?qASEUBt5ef9d*M?dn(>N{WlVsGD$I~4;=57who z>+8|U2}nme%7rJax;*Wn00&4O&^Y}7CUlvWnK^ott}XA)Sz2i``r@<;1N>~6!dBl; zc>Lq)Z-4tcgp>{Spv%t)Mr|KkGPA_E_uhXOFJZE=#x%Ms{MZ^2(A8V`S{jIwpJ$WD(# z#K`yk@w=;k`p0Xl1)k<$4^l>8n2K~hI-_I2hc$voh%uBXe%EpFd`vYza|~1!@9}V7 z3Bc={KA#CWQVSI^OZ8?RYnA|ROc3W2qP9jENi~~R7Chn0^%W%4Ydzx$S6Zl=IX=T? znrtlqErb*@H-l3o2qLU8KuUyEA8NlAih=f%m5)LQ}r})1i8}k4m&4OXk zkVXfL%~fj_1}^o6R#$o>K$-6{iW^QSRz0zPqW0aoiZ4HCx|4(ev-3PUR|K4@2ZO~4 z8VLz}9Jr8j+FfpVSEi#YrJ{xUk;6cVfVnTpTxY03m03#pTF*q6-&|9Td6AD+h@rge zm!8{u?=Qc$T6^GUP3PXbd&ih(Vg`)e6d~Acj_FO#@l4nLJv*w|TW_c?+_bsb`Rd=} ziEJDjf%Alo!4n*apJ6aN=;Bt8332Ly3ue3ywiyjiLW>4gdhMUjgA5S-H)KkoFUssW2XO{~;J;OaeGp#uIQf9}A6MnGlxp?T*XfaHo)B(HlM|_d+p}*Gq$L#_7}eRB^;gP7D8Y2zATfmpdo(|siTP4|qqDeFEzQpjEX+<< zbMw^k-Bciq|g2-9N|40SK@>iL=dd-1CkUnU3KAz%)5 zkMkOFw)%DorJ8rEY+~E=q5aK6AO6s0{m5W5cl4+dr3usj2I}8^$J?N>$BVt@X#DU- zQizd>$$|0lA)3i{dueWgpyrb*gP>r32LZwh_6V!;L{W==5cZ{0HMuWJtyF6-3cMJ?9`olc&;5$=%*Nqz@7#<)+9s)Z} z3Y=?U{7DcWeI~z_j=8hcfW_o%4V(I54!vgEwsS1dTVynPl=rRhMqzAIUqqT3IMAp| zi-UdGE-|8x%`3+CQYTOIfUs)qzV~i0Q3aPGd>GgvuYiE2UyubX<(H4K(?gm~!$@%? z?4N2fz_;?I3^%y~Rc>wQLVqbNFw~WI@qJSal;ibG5{sTgXrPeVVd9Bh{V??2>R@Ya zVYIWnycV&t(U+Ta^sB08iJ)bvzAH3b7IOiBu;c{wfP&&sZpUARV;hEo(8X0*qKt+@ zIgZfHi*%N#J z_Ub>W&)c}UUc762_vkI(Y90E?zjqI8|9oKy) zW#;iSS^!rt3lB6NXqqGiilpE0NBdI-U2u7npsbzhm+H(&l{n`#2ai#~M7O@>MZeYF zcE&~B`CI{qZMyx=^a0?qh7e<$IaWH{%g(i&cDLN zMZ`$JAeYj(n*WPVr$KHZ0cX)!5e;Ik|H zhJNt{M5L(HucR)@gc6EGxR?N52eE1X4HFbI2uPW7AlOpa z^FS@Pl%m9iaSqUa@jxk|G)<0xNGCugJus?$S}V-bWnCriar_T|_c8jst>*BNgG^D4 zXAJ=hGHq~LzDaY2O{UhJbSm}R)p=)~$@^FqqetGA3^Ify{fgT}7I;Z-u@m`Aqe(qp z1;uC|_c zp_?%^JX*+mfZQ2wWq^^9+DA4Q=a#i1-gJ2so>!|6eDFi4fM`8p4}o}uXWH|A%;k^n zu>)h*>5Zfb$_VAKFBL=oZx*AVdJ-ic@1uMbtZQ?CPpz^!m5Jr=z2jXZ@9f{O zx+s5Zt1M^*rUQ*^F*wA)4~7nHx)si6R-sL>+t_^XS6+OLe$ZN)o2QZXC3(7xhUbj9 zbig`*e7e$sOw(idPk8J52(XOsR+WF&ve1EGk*snx`)XDfX5B~3HJ6m7fYK_=*!030 zWHE9CJ}_fDobz-FGf{NHD0Bh9voC2+X0=EAY>=jV$=*tq$7t0IyYI zKvu(NU1c_K!+HdOzm$vj)!IcslE;7>{v-7DTS8P!Ex+fPz%rNP{eJ(LOL% zi7u3c1<`;(gL0)B4@NTV5&A5E<Z@YN}JtCf{dK7g;c- zSap{>z3zd1KwquC_QH4co^tNRzH5P`Iyjlcz}jv;FM5c$fZiGEQU`Z?*)JO1O<%u;ejlF!3;=|@dE+{$)QFe zHGouB^cobSR7S6$GAJ>!!Zj*V(3QgC^a}tP9A(J8G(P%K5XfZ=g~}Gj5eNj@V1`32 z4+hm1VmO5yE<|sk2%d8)9r|3xbqlYc_MiR&M~E_{C`@$guAa_aXa+(b9UkjF`^7J< zzVf-x*N=X}la*%o$g%16*vLe+sNq?GzV zsH)Y7S}TjN6|ojVH7_Alm4%?aRIqZOLpr==lBVo(kK2+YK0lxb0A+Vh zG@U$^G|?Lv8Lyu4oM*M~xbIa}vGtzTz z(D7>n0?2}pUj>QZyQp-W*Mgg{Pp+HlEwkCynde=?XpGO2(ZxehK1%E81Eb1_9N;Xb zaG#KU_uR&w)>Z4+(fMk_*l=%VewO!}@SYQpBn(m59LQdzf1bopp(lLAMxn*al*?uF zRpz%?C|Qq;@F35~MEmlqp4Hs^y|2}0UG$J@ey(G35|7in9Hh@oiZ~;cv~-3+7$4*j zk7POTX=i%NH-3W)4_2?-6W4#)qv2uxPY@K6o!rKwj}=a--Ig8yU7FJ1mv zOsAPxS?w)wUvv52e<0lPEo5v+5xvqx)Zqm>Kw>o0!qBvL3r6a2pkY7+{~SvPkkt4| zMr9A&c$6yTo+(y|USM`e!>WD$BGDK#d#i;22jRjU(*=ty_Fm{tGWhbVXFs_4ua`Zk z^^Qk8wRO!UR}P$e(wRLnAod0CKq2{tu2N)b7Jw%Bf(!>nxC~-7=p~9_1UijvZSX@l zILY9VJX&;^h-A~;RU2c&~7A7|CEF5JKYC*`31h{jXBtw>gkac3l6mn-&t2j{SU z+i(AtR$VX5FVYq&D)qkF^e6uXIN#DJ^F{S48kkyPNN<;@$j+9Q=0F7<9arK-OnyGEN+DC zNC^hzF#=I5nu>ISEy{&LKg9>Vq`dLB0(2oy2%vT5Nx_Eg5CYey~ftFDAYW}F&0KWv~?bSfJEO8#2ZCNMt*h06p%x=EplT(Uu;DH_YG1SYXZSF#67}A*JCCqp+qLvWv^It5S>V{#NZ*RgN z|6|W#U!b0PgTKH8ZYgNcGH}={wwXdpKm)2rl*OxT7q|(jR12aZRy9hC{a)K75_oJw?I8m;06~)Cf;?L(DUnvw1jURb{IR5V$49X!CKjdg?OkZ5cG^;okgl;! zyR(^a@E}@L>Z(Q<3Q2jZ`UHLD7n&(d31y;ApiVd{ip$Q4_36~Ig&I1zO$3#0q=>pq z4*+aMXr|!_-yFd!qy?bm`6zZ7f>~}kz7d%RHZtMF^2K%FltLzbB9}4(EK-AZBoM*C zMWJ70;wdChUjGrd;}9*@aHjVlU6Emo1h*3Cm6u=1^l{zne&GK4jLm2CSn=Lk?kqPO zHf(Ag+P$;+n~(i%_2IwzOLoy4#(yjDc;Y6PD12Mh{|%Rd21k7Sjr zAfOt@5bq2`SFr#9KmbWZK~$J(&MZ@`PrX_`8E~ZER|-3tsR{0BPXZ90Ky}1;os5)^ zrm7o2aVmsPD@P*w2YQh$DMz=l{=h>V)^m_j6g;5jgF+g(y`ECo;0+NB$!gPo_^#jW zedFt2VVZ8WMT1mL&(0ADn`+D1o7r$|oas+S9^mqnv(DySEJv%0&%dCan?6Q^HpIRJ zi)?9&7pqjjCjr$~JuL$3J3`c=w8K080YNmHQDC?UFQsw7CxpmUx*MRavPNl|X%00z zK04N#S(t$*b5izj;hB9}9r$Qf+i&7}s)ed#n&*jenkq!7IvN$hTMkTtK70Zp1z8gtwwr zTTeN?{{D?ORaZUc%4+YfyQCO3Fowj2c+C8>E_#-FB=)$?@c3AD_~2n4;T>h$a~`i< zW%DujwvkAY=_-1J-(?6;O5l^qFdJu46lV2&Gw}t%8IItV76=p~`7#S}FTChMTp4T~ zKe(?t@AR{Hly-(G8Qwu}WCVe;M@436pJ{LaG0inl9oW4SQ|L9{`@s*m(ZC}MuL#t3 zW|%xc&I-xm2u_6jLKqaImK>T+s~Ij9ch)CljS?wNS-Rbxb1?!CknOQLRb}W9p(JQwIBFYO>{1jnI+x6gtx2Fk^6RZAvY5s%~8k52X?% z)G&v7!NxiCp0IBbDosrp8Bh?U>NbRM(U^d#$f$j0hQf_g7#%OX;tiOqD;-*pRo|*m zuLJ!g@1OU%X%;E+4DlRR(74f)YQ#gG*ONy%(yMHp$$UK&qhf>ih*VV|ZEjhfv3Gl{ zmVyU~r}Ghoe`z*V1t6#rn8TUWePfI?7gP(h#o*CJ3=hHs2>k8JL$IyJQr#qPVA)*OA$-P zxDc}pd5PREW~(1@3An*3GN4A=>Qx#d0DuriL1ksQgA|VRBjA{bbx0Ttg6pPEt9)hn zC_#E^{Y00b;kL*qf3W`BYd`MefT`DIBG-Uw1_UBqhckf7gUq3LFeO8YeRCS*meD>V zZ;ZiM;S~y_VBN%eMIAOTQmZ0_O9^EI(?Ma)h=VgafUp{?;Zg=hMC5%x)<=)xz-A~f z#)tr!Vg(c^s@DNQN=fc3O>RWeaLA@d@-9$ahxQ=U$A9%W%V|RvBg+Vp;t)2-IEp?f z18{Kyr&yXeZI_HO9Eq4Zijar|DI8(x5KavNVFxT$?D7tobT42VQE@ZG_ZE2}+v9)f zF_qh8PtQ$LX06(?bxU*c`47SfSogxC*yHRovA}y-)@?ecyRt}ba=Hqjtz`~*^7mj&(DXKE0aFraH$BOEK;ep=R zBwK89{jR(3Q(!)ng>;~a?hr#1>InuyBa-Dn3Q?wor5_Grm5^;nv7aR;-uFP{c#ZHd zO=<9YYKu((L{lp3+Jrf1JP|e&jKI~Eve2K&5J@CDtdDr?qb{#zmuBm0Km8Bwv(CK; zQo2otC-PS2k9K`(<&sA}s`}=?{d=`AH)j%2xqI*GlJCBOB!?v6L!(3?w8br_uKo~St4a|Yy`R!Fh}@%*BKu%`7w zJ@z8Wnu5-(t9uPbB#V>m|HakVn+6IO%7OCMk!YEce7j8C&+u1l6_C_~d)x-`P|Za` zT!k=1%^}`oHp_R6G!rVcUnUL;O()01LB|0>M`BrFiFr{*p#zc|e8G)GcnUO0)5)yH zefg0Atjqh*AE<^oX6@Lvf(NvKI-I!X&aN!`cas{Hyz(T($}(iLr{d6vYjYHhvP*j| zcwt3}NG41rBlmJiXzUX}P00o%gN_k$35}4;L8-5(!U9y4aTUnPeJfZloG1{P;3NH> z3V?eur{PJ2kx_%pb){_y1yz7>o;tBC$`j0U+X@P?NEf^~y#Xtwl@2hYl>(;dK>X!A ztpaCq9HK-6U&ff=PjoW!f+4z+Al(ZH;8CSvgeVFkY{~Bs#EHs=VLG-l5)M>?B^>i% zXrj2Ptwlf3@Q9o`sebECua`0AGw12qtz$tc!<_6M$ZLU{)um2vZe|X|yr>-{5vz2F zoNw(=SD`+zKyFXM{1ghn2!9aaLGVgv)Tdh11|OIY`|&J_My;VWaxY9vo^VA3$yU}u z1S1`3^h^_>qy%uU;q1VpthMD|GL(owEXWc6Z2^>-#0!pFe8E&2cxzbFP=Fn%{NMyg z!nQ#}fKmZRSQ!)tga^Q&v_?Wj6S#m@KiqO1fRGczoIa8WeP8pmod5H#fWQ+0ojtVX8Uj ztTWkgY^+|IpI>Va(KlqO!DMLTsdlXDf!}-ETWP<0Yr_LfmZBHPMZ}P12&0?^r)nLC z@=S(kGcDmV?exRo1a>*bZdCx*1tfK<++fIFvx=Y?qa;Cb`1p)1Ex9;4hXJN&c;eKq zj}J?ANS5gR8bZLXEJ;atvIFVCtxsft-umw72rh~^a^na;65PG}0if86<5Es+I7!uoOjv_ynU5qu{Aw+yt@6y8=EIS?lB~hypec` zsrwZIa2f&$A&N(%T22`!rD>4ukQRRBSZCy7QW>bDB82#$1(oq%sfDJ5N3yxz;^KTY z&YG2(>FMgE)6Qxg-FtVn@18rVV+Z%t3&)QU@`?X+E;`Gd$~{94`lv6vrT+EDudV*{ zf4oz%w&oUQm2=!wYX_}A9C%5D(3LN3USm@JiiWEQ&$tl(z;u+ni~NLAa!M=5tVBU; zLjjAkx)jS)88IA$P*7Ttiv?}6s8GSM3QWdH9ciwp? zks;^O?3Sv$U^e!GG^uIomOw`UP}Crcy%04V8}K8+21<~5R=CL-)E9rVi7Mn+#7u`e zCv1j7g&UNKqp3}uq=;4YjQ4OA;qu5L?Ww#6Gd!B)KnS$sRn`juI)%w634ztYuGEZ& zxdJ%V#2NbGG9&?^a06Z3;Xl`C&~vIkh_GKUzuKW$BzZm3Ym1E&8ayyjmeG6{XK)L` z=}lmP5aK+T5wge*<5hB^Ds&VI@Sxm)ATMwWc3{n6A?ctJ;(%U*nDi@o13{RGA~gQ= zCuS>JkV{mE>nJ^W(h#U=DR0V!#qG@)8_H#_CE)q{3z?OBfS{zsLTX9g z#OHh1fD8;dP+Jt@vO=bCez}nkDn=JB@OtGdel2#nYxizmNj^>=m93LmiFDT1Z8~7< zFF*Vd20Gh~n+&04B`qC_rc8{5IlE=rFxNC=H5}ooM)2F8!{21zdVUlo;*uaqkF+2? z_akJ)scN}EDU2iwG=N0~qGi7-IZ^~=S=|Z|bLg}85v-(eL%4w>bPSHI#lud8?wTl1P% zzOvqV->&Y?UAwD&dk?kNZCqbH=)4Cto6k6z#(TEMqm=_|^cJC_H8DP3&m242J!9(y zHdgIV{lh=;?k3l1(Hhe@kXhJ&&~y;Gt=BYA$KD}TfPq=sB!ieSFxW7jv?x?1q}#TEqu8y{L$hER30svTGbXQB zn5I~opXD*y`Oq^)Vh476o)zm}>dxXUyVNfAZOFyaHe^x{Z0yMPCtM*b{T!5DVCI4o zN`zOXs7-SPth%JKl}Y_2-oSK(gp#oJszn~L9cNeLL;LP)zVP*LkbG{fR_3Ow#bXEB z)BEqMj_$sWwR8V(En zk#>X`yOVO=!-3C;vy^r&!SXV}AEi$Cbji;PKga^eh~KKlWF;h93f+J%Ee5_Z{WTD-K&YwR)6W;uu%w%tBO3P-UWX+y;@ zt66Yh-vlwo9JmDK21mqXa~CpkJXM5Bpj72RqHaPlj7+*CE?L%?3qO?S*p^=3P=Pde z<_O_W>E*!lWJD$j#bgz>4s0Zo7>CG&nlvIu*h4NR;pB?t`2ro~{E;JwF_v>hmVwT> zx=jggmLpM?dnGbcI0Ygl8Xp@%%Ai0fqHiKLb)p~uZx6!8EiIJ}N&*^9hN^~e$YmQ~a~qag@+1DxEI z$GH$)i>-uN$X~Cvx133ErqaF#b~aaDd0A^><7jK{_yTja^i)X{|Kcw{SiR%zZvzm4 zfgxF*-vhE#_vMqRX05CE3pWZb^U$JkNsoUx9GS#IDM$NKR?44{hQ_3)QA1yeOyeok z;i};APgEa&Fhx5EJPNsq&}EIlfgxO znr6lltVy%6jpmvA`!9x6Rs^s%f%J@9D{Jl&;LHLEmdf>8TMd6a13$u| zIxg7v)~H2Gj6>^YL<}=?;m1F{rT*%_{A+c`?RQqYc0Ewtb^C41k=yOxO)xr9 zkDq*MwdK5X2Np>F4jnn#+O%n+y70X7T08gbu5SDBk9;1hnwr|c&Xw*1-Y`VYCen;< zXiLBG>o2cfan192Vbf@{vbyZ(h~^4pZAlf$y8Z>f%8wseiHYGZsz;cKB9x;_Dd0Cr z1ose$CD=FN@bOgTK`?dzN{uTH9 zvw>7GVz$I~?qe*iSVk{cF`GMa*@TxWSObzqRpb}Y78+w8MFkj6;)fL|jFra5+YzAT=L>pq!1G z?>Jg@u`?8FpHkrpAR#6^+JU0Jwt-(^c#5}7xfo>Bf@KXGwhr1N!2t;hE>Q-_L%VGV zCCc=HJynDd+su)&sCkN`nOQnk@l;Ix{HH#pdfxtfc)a*{y?gil)y`cz8+PBXuX@6h zx~HAG0reQjcqh^FQnT2Z=LvbHJscT`j=00^cPGE}`VDa?QFsv77-NBnRv z+UI`gHnXCx^<_muIFAj43QL28>o%zvdia+B80Ihgb4N@ejQhBb$it4dBiR5=%+cz> zC3RT7GyU-gQCkS=z^w0t9w?+J_8KD0Z;(ISYA-=TsQ{3Y zBIY-AAcV-AfQZC3LCR|_3W8BvBn6v+pT@r2lP{Yq;Rc1FA{Y>BRv~!`T1{VQ0HA2P zGqz^3Xi0vwMxk(SVkM*2v%B5DXv0ilEgKTG2+G3*1?7fQk0n_^$Vlk6cSxz$}_ z$2?y6dGZ;Xo5TC|G)%uXljBo7|Ib`0O5(Zw)-+o%&&|%Zr+CDWeY*_(kOI+qKfu#J zLSUpULDJAl@0wnSKU6=XvyLriPayBrv?4jeKHXyT#o#z-K@&e6j1YIEqo zp8ESgxT*T)H@?~X-nYMB9X__NUS3?FqQ-B`3Ix7Yd|jP-#<}$wTTZREJ?NZf_pS$; zJ$v@FI`i|bk%{5zymQa3R@s7?F zNjAO1rU(vQH=v?gb?49SU>bx(-JxooCyuC1!IYL2A~h*>=2`Jk&~S<|nVjoL{F8Gz z;V=FNChAz8l5p!f17Vs3P#HUtaUOn86A!F(VmJW;_RcRxABPqUrbLN;pa!(Ug>@Dx z05WE6WTzzNg|%v%n7fPM?H=?akMdC-$X}Y`43JAfI7>8x35^@j7D-{WD=@tdNYHG? z3MAWQO-(-m0P7#xY@xnLlRwvDO07C&(d**Lgl7}q|vpwl;jHG*7Fo7mWqs(73loPvmEL0 zl4znAgVonGGg%L5RuYHB^+72q`Ar&kP7#(sH3#7Or zfmHG@4G&=OMx|b;?k6He4-y4(Fqsn==4}w@@5NoTvXnakO_=IMdyM^rxC|d5XMEg1 zBbvya%0)WbdSpdi13<>p6tZCW6BLD0O<~{ykd6?Lj}!?=Z^CfxU{It?R=TQzVjzWZ zn7~~OBtQ^WYyhole^i7lJdPvm`u}C?O~5U?uKLb%?tSx6)2mrSRcW5lER_Y4Ww$J0 zk)9R-Gt#(1j)|L}-ZY9e#C>>PUjZ1u5^e{%g_|N6)27hM=L&Tk)JrjM zJ&XGc^f`UNCX{{k?u#yO?b)-p*|v3aJ-&IY+BiDe-L?CI>g5B^v7)}IFWP${9q?>* z^);8Xb@F(+k;Ix3zv~X`wsV z9&9aj=1Fc`u(nPw(L#Khwo;=P*Y(kes;Bd0uSjN15@=K_1==pxK>~0O$pL6P!2E{s z=g~)b7lwOZ(6Vl^whCdck%}QB=PX#YyizU$80J+79R zX76qpMbNChM-wY-Y^5EYI`LY~A@A{u!u2oc&^nS+0GY5SRHs#ZlL3W_*ZcSeL$9IVJuKEgd-?T4kI00 z6pR|yiOnWm?Qa_0xY^h|x^N{!?V1txg}05-jrmaJFB=7{8rJKtzCZYr|$nBWVsclU4wFUy;hH1Naas8Z1vXfEk=Z3dSNaDtfM%NCORJ z$lHGrLk_eD=jSLSUc}%4#SullTAoW~jES-#;ERZh)(SvvRPJaR+t=;|Qd*-)gd-;+ z6cAr_Lp0Np%}ObgT`oc^^xJ_ZJEs|?5rra$RwY!NZ3Vt)9wgF;?vS1(dug#)h1sUEE{hLA!Z%_R`ij^9Dl>pX$oR>fnLSNur%$2e#% zC>to4Xh%y&L?HLkZZARsoExC!M+*XKB%*v&H*W4To+_}UF!Y?9X>$sqa3ZMit055) zVF5h|*V}pW|Go$QVT(kfnml^Ex$KIITO+)saC&~R8s!a*kW~HdZ-1)w8=w5=^>E){ zXK7`@89`zmnAJigr~oOJ5+Hik6F_n(d65H%3;RBri0i_NiF9#p#0oGwb8X4G@<@YH z0W~XaBuE0ntYGwmgQ$~&O&?aAssKX7XM(H60|tzFB#C(fm*h|y0aI$EgA}$ufdw9S zCOq&+B0HtC7?q$28SJJ@M!}%hSzJh9CuVQ~k7a_g4E(xUVT#?redf&B?x+9zpVyB+ z@<{X8S01lU9(#qC$i)tgO<>Lk0|6{tj%?Ueoxk&f?v7nstF7C&R6BO<>TVeuuE(}d zG#8z>PouBKHnE=oiZhE_Vs_!cfmfOf_UIq9tl zp4hmenp<42UOn_mi+BBjl#~iz;VCSFYK!OnN4lGKoZmWk@<{W!&wajq-&^j9doipe zB>7k$#HlZhlmL{GW^^JYMsu@YgaJqVV7&;wrwjWM6v6Tf3IV6@KmF8K>!HD6WQbQX zTN3aq7$h0x%$YMPy}9EJ`{QTJ^9yP)Bg#hn8^66==YnJPey&7j5Av1G>Te8Xd_c`IAIb2L@n_~$6=}pJevVa7=ouQl z_Wlwz)mfTrgf#cu4ghmfH{=IMFg}D}0!QRr(}GlxWPn^l$#pJMr2IltXw?q&EzQbq zL2A6rm%p(jD(aoch;M0;qx?_^yi|p2je}!=I6H3M7fC}t77`awapjqHMW)?Bx*CvO zKuQd@EJ@f8ofxq6I3!9T_~FFxB64Zd_j+tbnE}MIDHxZo2rf18$T*ucM#?siZO0}N zE$2Wr5~!~HQ3omFbzG4K&O~g1e_oaeE-5B+Cb;ra3|&ZeV_vqAw56pLN)}`@%??4N zo1+D|G(z}J71LjvM%Sq-eNmymKu_b4ThyHfCUVq9JP;LwfUJ%knQ}yYdY|-YAMy~o z1w~)QdBCE+BpfQ8hH(z$EqRCl%|+$X-ZRZYpMgJ6(H}2@qmNkSelt_XNc!1lo~Uo# ze^WI)JXFujE^yCtwH_GV#G7ExHHTk)wZ3@I90zKl zFR{y1tdby$iYP)hW=JvRw2!d3tQs{D3Dr5MU{n=|2illcC}K;T8xVT2fdEIoKvvnz zSjLC}NG2ik0g}v564zLn5CH?-Wq}aOHqdPNJHnd`lTzz3;R|i?fB}0ooIX8Seet1( zJCALWLmnvzU8Kyc^AffHN&HWBkUgOYv&jsHhHEM zyQN31wrtr^lSs6F;a5M_y!lOUuKTzZ!+U8+n=aT-WM2NyIe{>Qo~v##@9p9P4fI8S@fuUPW3c`W_6u|~G zWg|{$#f#zI{1f&BPHkOTV~*hTUgLm2)KR!_3M=^*ary!1kOvB(fcmi)$<{qh_~8t) zg+hBIA5jHf1f!*L(L7bk;ylvFM??{jPHvE}1`zo!6(S1fTObte@FyPYz`27c%v-bq zp&-hkkKmL#X7Z-+j__TG0dNC{iJOTOve&!fJ+Y?1P{XoV;Clnz#2|VDzXZc7AK)l7 zGD#})B}MM-z)3u_#03y*4fOD!1iqZXHTI;{WGth3Iv`U)aitdBXlIQIY-fAbRX0@M zdiE(d2&x!4GQeX$|Apn|!VCA+FF*J7?t9<&f$H=B_owl&K1PQtgzur4MwH~Oe0k#_$xvp=91S zB9%I-Ex{8plpx6~)Y%c=`!T@fb_Ta?2H0{L2s|gxH~6#yqC&t+AScWq@DO`*dTO$H z_|dPnzVy&z-G?81u>1UhXS!=E-c$~7!FTb?ezI~## zYx}lp)0WX@WOPF_I5@Pm){)17l? zjuXw0qF>w&C^u~fV*9>Wt#72iIy*D#W4cL{rlw}Gkxn%yJImUK9)M4dWxM#OGDj<c@bY9M!GE2gpkwI>6{7>~4KKq&OC<_6nrddCR}V(_&j3 zVZF@B(3{&@!}UG~0)Q}WnnKJ!k)8a4COA9Bta0LMF<|XqQnJs3A_FUzH5-5N5aI{d z{dS1SktR;RL1rN##hp@23#WxaVc%_cAtTyfro_y#X|3kslfqF^(q#LB7P=u+dBisj zFvgM0dvOy9W`GLCrYPV^^wP`OJ(F`WaJhK4X^w6~nMz}DZ#U`GC%{Xr^$Nf#P?jM= zT+kB+6qtnYM=8OSa343PZn!ft&{Sy&Gt%H7#tCFMkx(80pdvtl#-H@rUKL6Qf~2u@ z!;??TjELXB(p~3)4e!HXAuPFJoaC_XyFWv0B5ny_%4{a@MIo(#EfoLXLl)65*Vt&Ce;(RVN;#O2BX4~V?d&aL@HjD4zp1hcAn+NcEVgN zRuRI~w9|i-n{M$VGpLDQ<^(cDD217H1u)M?=rsb7slpb>XqA;Tc6p(?+#8c_Inm?r z21wRLD1<91)e?aPwpcUx(_Y(4l~}OyF`u$-av{(Gi2{WwOK`!T@MxB6lnX=9G?NT! zDDjBR4I{O44Tc}%G&iIKroDtlS5LsKG;l{HNUT{jiK>;kb z55naBfDCkbR0ay$L(UCuh>!pxVl~BO2jbrI2eV{Rjbo8{JxWirRE}V2@P z>PG?!1EOKXSuMQ*R^Y&T(p7-c7G@w?30Z|hir_}2sh`3g>huyTiDH%+YAG}xg=S$I zbTy3bs=?|bAN^4Czr5pJ^??^&uD5NUs5UK*b*InHRvVdmCxX|HeDN z0$E{oct?TyE+SV8PU<@z0wSGMyKjhrE1XA4jI)s+5R^o4tgvUn*)vnkbI(5A_m`i4 zuzKadq58pxzfie7u(|-WAGHuB&~6`7>dpC=Ur}ATcV9EUWpllA>y~EU1?SfjJ2yAm zwrs42**J({Gmp?MW)|V(>8b8f7DJu_=Ir!*-=RatDi%ogEicS>XV-Z9<+3j?K|yc{ z>uQRvpf@y|Hf_Pib4x|{bT%c@^ifDBQK~`S%Hy8M#ob*@iAWejv+|&y_vCEfv9TH= zu>puUP!;1=MCZFb*&C5LjkWGFYc#g)x}ZLGaH{pozxwg!H~;0wBYGHCu01PO`g$#T zLC@f`TX7Cbms3joSFFgKfAmnuie!ezNr&2F_4M3K=gV?XsT|2g=&%_<3wn;{9&?9Ofr{#oF*%E)%G^@(5mx#qUdex~Mi>0;x* z8&hS~4$0bxJvp;Bu8rlQo`4pKtG%R?7C!hNL1&DwnSu+!z>}RgUa1_lO4wz%M+FO% z2GHV+IS_fqH=e-{;wghDr9s$;VIm8dkS66rO)uGip9oOV652rxMw!vQi!;TirQhva4v0(va}Ym($|w9$)Ka4GF(dd z&9G{1@uN>%jt)OPrwUAS@5*ekt|m-_A?k!K>|U5AwWDRLo1b>v4TEj zE6as%bfCFQD*OsvfP59hvPf@ByK~Ju-BYIwIY@ggP!_OKAomCQvuGnvQBZzSWhE0l0vnfh&^9e9wmFKA6h3M@e zr~F9)*VfxS;z@cnK(9&E92u@VYm0DZoPl5(Tj*CN=tpkk4wpZ_hroGtj+Y=XtGpk}J8NpIzYP zRb%zq!V-zYOzSuP?Z0UzCbqg?LVJ*1Ro(B0C2+Ed@q-LP`q4ZlQQdsY8>($PcekE= z?D5Vmcih!|?&)tb4b83<+&bF6^L!GN^=|(llY8Yc1bqc|iJy?GjrpJ6ir-$UVVSk` zdtINuSRgGW#ZY}7O)_I1PqmhwvNt{Xc+tuQkfKKB`V(64n-q&qFY*sz#vz+gE%UL)88l}+5s*vxk_qXMh1o)l zsBHs8&`A*2iQ!@neswFmrT=k;CerNHR9-|z+u(pSv9hv7c1E4td9aLF>(qSc;|f5m zOjTw;;0Ql2f>CH3D~_N~Mfs2|nM7c{SnJ4MfC4c25NtXhDjRRO!l_Qd1yAh@)LkU2 z?pGnp=e8*AA7Tr>)mD48-R42!&Jd}(Qu(eAOu=d0Id<&TckSG^IlP+bOAcC~bEJ^70-3j8?h$3`A$5eIcts8b10Q_iIs;hR}V z7=QuGxy__W2x-pc;Gh){VYi6N12WFfpXm6otgOfc*zD|p~qFmeX&BGke%#o|syUn|ZdpzIgX zX49j~ueiQ``M|TyTYva%4ew&8PfSj^pwCALtCyaCsv2kNd}ijHnre^e7?7n8}Ow%(rO-JRe2rZx5lna%$P;8yt&p4Bt z6ZEb`=QuS2lJkn)Evoh9PIZ!71CKuXSoO_se4~2k%U`OV{pK^-UYH#-fQCaSm>?I9 z28Ve;(#B2IMHgLC?b&ldvvb$(dhZ2$x?6Wn@OH(q)~&Z+!_IwEjG|YnGsh;YL$4jL zj!&McUOafHI>)YmbG*iR^3)VNg3eaUylv9{-Qk8L_4W5ROxY7cP=ZDVkq&k2tn^`? z(`OyZsFDf&a_J2dqb-k~@taMFbZ0trUlq+XjC<$fwC+o>zJ#n$w_6qa;g#Xc&aCDo zNh9q4;cPgs5{T{XzvYH%mRE;A_4G5WD&tX1z%Q{0mbO03Z4WJK>dcvH>e#{V|MpwI zQ~%6QK9DyHi(6-e1GHx=I&(H9TVsC=!dX&tUgFKMk9X2lqcrLnLf{LpAQ^c3yMDC# z%%}gfy6(oCtCMHXVjA3FUR$#d;3aW`)$v0wRQ)`_e{SwKbQVpTtK+`40T!^~25g$wcN+p6O;9EPF6HReB6dLN4mR(DrM`R#LmuM46LR(ap zHY;H@;ObEu{RvpQ`G#MLN+^;;iwOTFJr2YvQO+P2aD*c)kw7PJU;r2Na;DdW?#P96 z+S%nHeO-)$01%yQfuA}Q>x=~l$Gl;3!51b@Mizuhgju-!a!JMVMhVQvtPNPv z459{1h(`7RC|U{aoCBBYxS3`rQ%bWZQxI`k#tEII8xaCn6lPpVv(^ZtON>+xI>W0- zvuux{8q|^Z$G^FfiIsv`f{4n|2yP%Tz&D`)o}Fb_utd|+!*c~h8a@zvAHZ;lbBjE& zvE0a}9XsEeAB_kzgbMpYyP15bisWn@cDw`>tUbU2MH_V9-JM!e7vMp!^H^CM1sJl- z1?`-H64w-(mr^Unq)inI2Pbk8FQJdp9H$KVhHG)DcafR7%fHYhw9p5>Fdu=3oe)AB zNu(ja&`ocungBrSaK|B&VR9w@h~DeaTO=Q{#UF-s0@|b3Og@NG%F+y`9hT|y+ECIa zvB;hv`I2t+0Tr4mKf zHk$}J(pXqrX-3Dk@>=23bO_VU_Kl-#_yc^B06IXTT_0!Ma6k&Iu4AT=BBPBXX5^Sj zb@;Y(lOA3<%$C2i>pTfTuFwxVjAI#*LsvCe+rhF`t#XMdbTy)s17k+(XHQR64?g-t z{pgp!P(8{*$LGHJESo90qXSk4bfu^^5j?L88DcTtShZ!_w))b`_Ewi%d}+0N&+gV0 z`}S2AoVUB$wsjlosd*A&xtg7w>z+6^Sx=umTR;BX3)O%8kAK)bb?Q`WYI>$SyRc9# z&du|(s6Kb3G>pJ9k9{J-!M>q}85`reV*=^ZG+$6ZQ7< zcKE&&N9tW<-CFJNW?po$2>L}fcj~YS#^x=X>ZzF-_Ig@#?dn`m{Z>6fvb4a~ z%$l+{;#Iuv%tBSLV;&HqHS{x=?*1AZHjLLNrp{D5*!gp9X{kE#>MK>7w~3lkzLO+) z>dYzDh72=fgYnW3qqMW(R}n&qL~=+rRLq6=oQX-SNWarl44eiig9ED6g;7V0OJJC_ zR6;Oc)WAa_nR5+MDPXanrUf%NB~;1~HDSyq>H=)}M@7y}+sw~EQo36wYPpUbQ;oFB zp{1T}UkD8%^@vK6AVlC0)u=Cr@@N>~0<4ReLh9>(xkH!>K!xUTZR{~d0z^TDrh++n z6}R6-Rd_ZAF^=^1rDbVJlQ0Mnsfb*hK%fp_Gl7C8{6KERXD4UED4TFjBW)lwDg-CL z?ABZbKtfdLr=q;ugX0W<0a2JFJ}B41gtP!lj)5rCd?ETsS`@}SF0odL?P8V}T@p69 z+Fq;OaFk@-u=m}ctFF3=NeDA1#F|bhF;MzMB#$u1y>N3Q zbi@}O8BjgY=F~#@&UG6IC!9on2oD*lYru#bc<{1$l)!k*5-ta^fmKbc4bOe-cJTc|?~~;zJ{! zzOoZRtUhfCxS$aP128y?8bNmC$-lrlgeP>ujogp&&>SP2P3i3gKafPsXfZ)u|hjd5!OK&|dO-~P7t13&SP z7@?l3cI>#)MSfV5y8(3TjT75C3%p|SnyW5rpExl|Mh{W&oD2%iaCGD&I#)AynYAGK zaaA|}*qfh@mI-pV!85r)7`!urJKK)8^nXZUz>BPX_PjaAboaB*JzstG@vqenJ@hx# zBM&{&nVXsN?dRsoN-L(I=W*;JI~FwVZ1(VeiG7#u>s+*F4^KplR6DkBuXpU;QB7># z#tMR_y|6G{pE!29dij;Z)tA2VG;b_CTAiFcUY|KL)gf7EFY@HW@)A?(jJ&yR(&`@? zWk!H;5Vv_YY#($?=ro;=wsgQvUB+Z~O<|U|?ds=$_NVEDsfvAAoySAeBe%P> zrcRgH7Bmf9W*z)!aZ|HX&Cmbbhg<*qAO2By-^G{KFTD6db>YQVHFJw|7%q!Bz{!^2 zeH{{|`MI;1oI3LAsrmvQdtKv|(-?9?ex)}g5a{PDYOuRe8mdE2IwBW z_7Y(@qyj&LI%<@v1UzMIAWW>`mkZ><*k6@QbHU8flvj@M?|IDMh_MQ zH|k&wbcc=DyhF(@I-RzAsr(O#1odr1bw1KZZWon!W2VTz^l(Ko(VO>^qHLAVfj>%& z6W1ar3u#5$fP)YCa&jm#P~?3swzLIc7AVWxq# zO3*?ydRALzFMPC!+*gg2$CA;$B9#T}`6ESAf^9&xKj0-v1R!62JirNJF&akHLp`rs zPvL`KJ~SyQp!BzA7CyqEZgL&Xth-zBSt1Lt8{fqvnhnnWh+1!oe`v~rF7O@ zp>7NYs6yugbvXofPs&0ZI)T+8T6}Qy)1&ktsjbdZfhe zLH4@Pz~xmsOGnPs6t~lli)%vhmc8>vYJAMeI*c;(?&@VP1KJVIiR97lmG_i zN*hCs@PR<}OjJ>qYU)D#QizI-DKt^uG{7mz4CTk0JtC(P*9pQBqM#|jR*R;jk!y}N zB@@N9eWwG6o7avWYu$9?jm89EBT=TES63FMOV9=~HLBi@bVz zY-Es;0$UdYg$Xa$C;5COP@#loj&vP`kQdav!Gmwd?;5e`M@5Id)SX^9SAXrX$J-A+ z`bhQ1fBdJ_sgozGRbEzw1icp_okhuvOZw;tw@z&DTz=V}de23Bt3A7RHv9JOt97K6Q4oT48ntTAAiY zO5{)6<7kFPN9a=qy5sEEuwlY34DE4?Wn~RoSU*B)#Du{*0%qVkgnW5n*7(>)?|--0 z{;5OK(OzYCV1fM)W~NW9FV4@C5YU#HfGCVFKE`an8xjs z`m5^q|KRsoZqliiXBN9R-*IQXvar;>_^RvKXk)cT4|M(P@x^VJp`pQQ;oOPldv4v| zJo3dawuXjTqqDN;MiAVladrdyL}ETyBD)3~4A>Z`Mj+EuY<6|MTI|epcoL?~dn&qH zckgNa%m@Ezbs1ZOufWrF*Ii@sO5(#jn?0E>g9Va}VCv*Ff>Sg26a{D%|4A1|C97e4 zoa>v04kMOv0s{DGyePu)IF@Wxigg2kLLV1A$)JQ<)Yr3(I_!EN*wj^>RG}1fw6hRE zcn}1LM#nFbCj9AC?jUP)FlL1~U};bWMtUGgan?e-k}H)U1$ugIPB;(@@x?A#%My(8 z;RH6otb8)fpjd()>68vZ!u7=j4Pk4M>H`R&Gx7m25YQHZNI@q$YPNi$y&Om&HQ|Lp zM=w6XM!MRbNTVzmkPM9gY>r`#^KfXm_9*=zR4aB3CW)I`fKcTM3%yIo6s*VqdLuBY z=biMdg&_XT&9{jgRUdm=B1#_nCa3=&5{cJuZTRH79Kjny1#ZUr)(v$Y@xVSurUWX6 zz=#a&E|3fORg#iX3^oa8+5wyzYo%7wrB23sHff3ETPzc5Hp0=KxhThh#TjJKc{+cu zucm`j+RknQFXXvSS`c&*T0e{gxT{z&3%>LSEXl4U9;tF94BTqB^rs?{Z<-55_94e_ z2oOFOB!L)4bfgEz|RgjnJK!){DAO5*o9L^yXAh<3pI$7Yzi70~B=@4>rVzILo z5j{nwzu=&jqT!d`A(LksU7>+-u2Z@2>2OX-M*(J4bOxOI7ikuX(`)rG%NX?QH`0yj z!kx^5%ZLT{%0zpkR7xc%!vl1q>A(sFXa<7RyvME%){1S+U!c)Gv|uF?68be6yta_2 zpd)(l83Yt5y0Hf>G6g{~i$b5&c`bUAGJ3GA6tKYbOr0WqNGm2ufu%xGF0iLv6Ndrp zi7|n1Ind^@Id-V)ZkpKIIyZI3&|2@~xrrBU0Fqr99;U@!SKSsXq7FFI0c<`~S86n}`0|>1kEr#~mDL!jWUt zzJczBiEZ_j*IZd|CTZEWb6a!SrI%EjH*KyrPmD8B(8qNCDz__!nmM*yK631M_2tJN zuP0BOs-`ASvLVxKHNU#R8;zG*%Zz+UVmhqvX!Q@URW(!becUz~n%G(m4wK|WqYyoSv&r&m88hhl}XIM@vo}H@4wruXsPEV`X_NFacn$wdf>ZR$)?k7L>+pVAdsec>~U0Y#h2Ek!4CBCvt zPcki-H<{KCdcGRzVk*jx86)Bh<3Zj;*&P@fY|WpYG~vSeTFoliA-8*4E9i;I_{dl{ z!1RG=ga?#B)mVusmKYB$Q_LbxPhdTzZl`CjK=s5lpaP8|Vb~~Bq5Jn*`Nnez2&ygSOQBil!;b^4eyWAwukA1M5;&j5>_EGWK%jIA8QrCat2&eHxC9mua z&0y2s6KXKHkfFwN9q0;01*tf*{1|+stPLP@sPKVqIvYBp#0|(tk&ysO(N+bVc7Ef9$Oa9suos!6*UhrU<(dpmfA0rAaHgJ~p5ke&Q!LPQaS&7V{UkE|!@O#H zK(np~H%v5}*pt91P&!CcKo^a&zG0oWEza>a<^{HnCYfMgg2A!zX1sq33kg}`I54cP zJ8sW#^4Os+3r<^W%ZsSPyAJVbb6>@rbr74kZ>_Gl@`mQxtFEf=f9t)~wbxzU-LiR0 zGdeVkwXnP-QrGxwreUH$W;jp`YfHNW86&dmq{7iAutEC(=QpX>^|1-80q3)qfdJl0 z*cqVe+VXPu{9W6tEj*2)`HqfmW<+1rn|OWrab|V4Y~EV!+_|$J9UZA>XXjZM%6mJ2 z&8$SzT3O;5diL@3UL3bCR+o6Eh8)rBy36MLx#{XR|JA>)KKb#FHM}Xby77janwi-d zG~cbp#>bjlZoRYhmV58(zWFV8wU$Xfo_Ok+>fwjJ!VaFyCLt+iJ6glzS(Mw_uyJ#j zTP)3?S6;3<^V8LjKJbs~5B}8qV87d}@U~M!4bv9TWV9NRDzhb$BeKUl*=#7p-t+_9LqXEWAgIZUAcjvRu#*d`0-VaQ zj^EnMk4ZM_h9sjHih?ex+MNhJw|)er1N$S{0&*y?MyX%?vltLjf(l&5?Xi&bA)%wh z2e1M~tfda{dI1jP5lq4~Fw?(?N&1Zo@q6q=ly)*^XNFD5v=ETA)nFWoLIu~;4N=XW zLirdSXuxG!@MW;FVUJE_pB|0_BT&W3P- zkJt<(YLwqprY0mOa@$hlpsCcL4&as8D60sOLhy54oL*1-mN%y?>}-702r0pij#PqQ zo)y`Z6g0x_7?9VumH&vYqfrtnikjFf9~ z8k{6JMpaDkqe%c&xE@$;WynBp&Sw}lT^UjbPzD0%Rl`COVK5aa>7ywoFbUF6X&43R27KUG zA;P6s@epW|0T^LBTw9|!^L%Z?dO8@)>N*1UoI3cXz~7*6@462}BD*#Hnb z#h0l{VA{+39)xcDw%c!ONF?ebue?@Ya_QcB%hru72Uu+nE-&*2$CIp|9B8ky0C4lh zZQN#`7ZT7VH%3ngR(lZ3P14=xU(&kjnrpZvG10e&M@rAX;Jm7Tc#xeI2kVis(R!La z7G~#`YBp)AUU~6g{qV6UfsU}GjW?1OC%+&bG;<6hoVOS6gTvkW1>C!+RNgZKL zLVtT8Q&UU40g@%3rtv=U$^H;$v9+cd9^^IEEY2I*I8gbdfW-O^0D}wr8dQrj=bFix z)Aj27JmV0ApLGgFTlC!3hON7rtFE}ZzT=LYx_5r>{`&TtZ)M@>mNvUR!=h9vT0a`K z4(t)_Nf?&NVZei#aC3x8Dw+sIj2J}E*p}g*48RCMS7nl#2q7qz6mUz0bCl+-4#aC` z7(?H4{?_Wx{_?M@fAt%`&|WUxr5BKa0_5=ey(AL zq8?#)&D9k)u7Ws{8MgGM(?wi~n+v75H#7%!Z*Lx=`Jm{-}dA0ZT{fj|2q?Px_+$^yF1BO*pp9Svz;}eLhk;P@#dFe~ z#y#V)AO(oGutcu{rQ80YO>rF-^YV1^?R5f6N zfdkD7@)dxTS|4bLk0U>#p}_a45+S&Xs^A2Ks!O!g1OP)Q1eyZAq#Jf=BD0*QwxWkF zY+XYDHM5$L4&_QxIMEsvb7F4>ZsWK%L0$K5;8cMd`8bqFRq0YZBxp-xk$B*UT3n=h zD24vg#(oU2hy)P4D+g$k$?|z6#Mi0lBVfCVj72H~73JX?Z{g9rj7E_jd#E(#xomS9YQ^r1LD`Ks1=Frv-7 znIte~W`W%h%OvYIi!Ph9Q?mk=3^LD4R2laIgIs$pKGW)VvF!KK88x-80iO zt;0u-RL9r`diLy8!$L=5S>AKuUStRiQbspHGfUW5_&C&0$IGt|Mb;y9w_HQBKA%f_;id%s$~}a@%*6rR7L#f(CI0@xF68kv+wf0 z+wXcqb=&@1t7~t(soH<_b#~@FZBb@4Ul$zeAbg_|nv!7=2-mSK77~)ZC}Z+7OcecE zCn|6zfn6!lt&1H<7nr5Nh!XUB;Tof$|HC%$+11=X=*$9V_H0EG_^x-QtGYLGVI#ZuL zJHuvB^jMI`BO>V}5fS++Gj07mj{)_IBp&U-Q8L%2|BZLPx${pScu)1vlV7R-_>VqQ zfA#5SNDhusm+1@wnzL0CJ9cqSGuhmc_lIfA%ZC)O_-n ze-(jqZEcN7FxTbc<=VIUfPa`oaQ?$0aemHWUV$obii^`LBit9i(&n*u9fGF3KN*np zmo6J7ckHezW1UTR!y9xdPNPNu(-?sKLsiKY?ANGm6o_fqCbV!}eWSnPpou3!vr}W+ z3PXsrXj9P^D0-)q5es43=?sPLog3i6mirmu+jzX^wx%%o6~EGe{{k?ns@1{oIc`E# z<7qx-03H&QAUy*(NRc>+=E$Z>had2G=;#WL5pDVq%LL%JPz(P`jrfuHm}BoFz%eyK zK``Js)|Wl&K&%u(1*TEtldviYRPdr=rv?QyG}x&X$VBi!XVVwDWd~){BnC<=2>F8) z$XC3!#w|FuT&g9DlO*P1Cya7NZLtw22yg)-U0jDPfFcY0R^gfytP@yPy6eoiudK4r zk{hC{gMa(dE}KAKi?@I3tsT~2W1Xywpu;0~g_CF))P*qgv6xG*sdyk*;`5|J!Gf}dq(YR003b#s>kLV%;T8QDmB30g5h;A=omja| zK`#9s#9H_++OmQnh|a@N1tcLJ9#Mi4;1x+qt3>fDdT=USVTDUNi6m*t0|gK}B|PHC z*lCDpiv5`j0U)g+=Sa#)TI^DNC}pQ70UTCDVaKHy`NV_eCMXmi6!y{od2d{8vVs5@ z%+t|1?_#=sXk?g?`c(bOp~KbKMqVY(BbOtigS^CRLx*=Zw(q?4HXbv)s=0jcWvw^S z`8F)Z+`es7hrJP6M~}T$Klj{=6;tNT=Xtd6z(zTlXA9#@(w=2%gE^sU15O-Jy>hHbt&g#&?m+D=+ zwl({&yS97az>CZd3^l{U?*ikV6MKF@28hOzrs*0E9s~f6_=xgRWjK9=^FAo^Tl`igN?J2v0VH z(@IpOp#})dL{*A(Gy6Ad7TT3FxD3qPZlemsXMii2wh%Fx6+V|i3q(qQBe+bZI; zBzzh9xQ;8>|CpAjUqnc2zoHcIi4fi76xpUWzM=(*gLhDa)8Jp&jM=A@MmeME@w8(PKa`gnGnRW>|w!@mC=S70x21A~{De%GxHd3x@- z=TZg}nynQuX7r=csU3wuJtP!@_~Ek3fjzV)%VwVFm-Lf@7_P$Nutao~%~@!NKU*sS z%wYbKpT0VjES9=R+pz2B0P6qqt%O zRI&pF>D!T(5!&G5C{;5 zF=7LDI+iKuh#NF2ofC~xXt6MTmmZ2e2u&dtdIYzNy z>n?I_edT0*^UXI@zxkzSKSK66R0o~kauHm3moNRIuj%7uW9MDCr@7~zH&<`H@1Ew?{cmV(-MppC69YZJ zDx#;EqDLAKfIZSRbvmm{OgkeHJ|?)%V3v`U0hc?usE}C??0{!K6);s7%qL89%eJFklB~F6|T|;P^m@ z;PnAqB+4PEJ9dZ%p-|c)aD9fW+K15W%8a9llZZ-!D2e|&DigSk0#a=J$xB)%QgKNy zP{{eAzGU>YY?-y=E|iJM)mUNJN>&wKB9yU)6WSXaIWgVPvdBS^NAR1q5T|6+e<~oc zG8UP5Kzq5Rla&l&i8mEIq^>g?-YYX!`zLnU1XP4zd?s}(rVCl&H~c_)3E1`)!D_#e zDnQmEg{rn3H7QEP2!DAR1wT;)p{#T+8SyDzokdU%ssxBS;t%={K;_iHOO!(^c9(b< zeoZ{J!>|ce0IqsP0lNwc*>>9G_lm+z-cSU=oZT%O-U-*g{{O#^1e1jj&3{*{0hHT# zEN9ZlBo1bDd^lpp0l}q;uST!d10sZk7FpNP zAOOVHP?qs74Meap6lH9_luDw}#B~pj9ma@`AN3bKBuTT0<%}h;e>uU)QYNiHlpv8% zj_jcmWc&k=pls`ZJ3d*WpTM&y;)LVEw=*~lC~+~${RR(Nkb%(V%APOC;}@_DmpIi$ zO70X37eQzPE;f|9sa&YAHv@<=$0KAKG7T5foQYTD7H6Uet=ktVNHwWAHBOKsR&|6i zM^b=FfNb?~`(xt_>-zi=|#akdMPN2V}n{c9hpr5;$?5(hK-<9g92ovCi@-6=#|RT z;RQV(s}Ud>17Pn6gO|bEz{rV8L_v6+ojzbn%cwvZBSA(S4t5DP1es_gyceUg8?qG_ z!MYrBYWXk?)N$S;0`^&=sUWB+X= z6tm3s@B}>ObNKkl?y(amay!|LuU6Ox0zHDk$8;H5Ea}h$QikBzskC!Th2`VSFqBEx zR(EV{leezwqp!Zk)#EZ$jqsu@M zMmCVbhHi{L#fHc5K@qfxdr*(+h?uaVd?`+-Ko`J>E<%<_0Tx97N;*^*fD%#^Sczno zVGcCXKB9jNLJI+0i3(ad%0%oU=AZYrfEKvwJMB0y(g~-C#>(&_Z^}Z`gI=lSn5vpl zq9Rv4giREvtV9NM&`Gi^Q{>Go+#U!L8tfu2btvO%X_j^lM#2&#$O*6$o}?gu3LC66 zQOI49n12bS{Blk30b+|3U=|mCQuJ)hspr%j}PxEm!-Nc%>(v_qVq; z5T~J`!{eXMNRU6v0mKqJFhrCaF$0uR+2{E+S&UIxF%nRYPJ~HnEZOoBQS1|q&BBCX zRjN)bP(+>xg=>(Zm?KcGAf&)Y0sLcz2~&k6rP~u1^a#ClUO^}TWq|6KU3EJ_VEF=1(Dq8M#AFe5*96&{c^-T-ScRdF#vrM#~*Er6HTx2BsIp zL~G-p7k~tx+^40r^gsYN6df3Vg`^@4jA#l_8>ggreQaG4RDl1~5Qw0`LMc?;krGz} z5t{)Ny%o$*P;O0u5_&`*$AurbPika!@Jd+ICY8tdz@m6`RY?TCQkPyZ6Y1SD``YWT z19rQ+vb0F>Z+DlN8t)tGXGsN9?sTwEKKXSRHP*$53EO&^GZL=2?nup(`Fk({v<=Ysl40eDR|mfNTvoF-q?snUV3*D6__-;z@;=3wpNW4GF<>yu(~l$yRVfza7YVr|)Xsu6IP8{gHE=ja@UVtmR?hchsnSc1=P-(TdX-6FX3B>+=c(vzwP z1Qaya167Olh$xXi@&dbENetg|_?|I<#@N)zIcaB!87Yav&o`h*js ztJQ2u6)6T!rokz9Gz0Y4?bz(L)Q|lHt;i7zXwY8llXEODa&xYWLvTWrwGe73NRgs5 zE6*&gfJLSeY2`Ab(x6ADwH=u_{U_m%mFm^!=aL50^B_4w+n79ZYRO_^hR4HQ(sp;!vg3%ki z?Rsr!fca38>=h;@>ekv2i*{3)FR<9ZRIFB(AdHAnq9g&8aR(xBXhJ>p15p&no^qB- zYjO<&rH}InFDzimNXuE8up!}aWwwWti8u6fncrfZf)bh2+Flp90(ONnORwV2Xpc{{ z>=md}9MtYr*8GfZj$R#n`#h%^2rWP(jiDbl<7V0`Xn`aIA~@|agvgaXF-irSsiF>z z4JiZJ7B6(#n`|s=s=mg3qe80*yY)VfoOoBZLDtt?trmbZd$(X37KvzVf=v3vyjryfwFD7Z@z|pj*qtvCHo=k2u z8W6?#0Tad{kLKl=nJKSR8R}Jt#W^x46`OQT4%J}*ZN+sMcNgBd5NS(17678G-P0vF z5jDcd@Dkh6z3pq+y1=(*^CSeQu!}R3N2(nx=4%c1ciHKXTk`$QXm{Afd#(9}1*eag zAQ)UU+t$X`zw>6jSyQm)BINlm|mLg67OzP4d!Z8#>GVh$`etf4PO(0PrUBbSI1^yw3 zGI+2@afhSwoHu+a1;pS0BHj@p8SWD5z8wOXaMCWsrNU5G3{43mF*Qw#_yWIb#Fd3| zqZv^_fmqkl*f6G|djd(@OSK{Z8c?iSy_z}y7z>2i--6ryi0wPqdBkyeh?NTjqHC_b zjRt+qefR$Wiy~*6ORu`9=4DrG?>z&Cb~VNR5icD)l)XPj2H5QqG03@-;2sm6wFdw5 z)FnL&6lZfTR(k3%qs;cOgq7PIBrd$(dwG>fn!avpZGM^sw}aKq-+M>(;h+Dx_M6{$ zXXCcoTB2)6oPAhk2FdrbFlA(7!ak)wMS+}P5auO-Nia>#c^j39)tiDsj_3R{Qt4w# ziea>Ek*ggb?gr^vrKUTE4m3(WIPDa;_9>qjGFNz6bBnj|ZN=m#&4S#wE z9AjjhNWQVcW@)J0f2F45i1M4}P>_Bl>bI(wfC?MAoMXv+J#u5!bYtj2 zZ?Z#kt3LrtY5EZlq%5sau>f`L7@_>ba*-1BDH{7qj3$hW-%=~s(DrQDpL>ry9mOlf zJAJG@Uvt$~Yk7b-zI{895bbww8vK&N(lc|3kU>i6iezMtr#*t zT;(hVL%m3ynuxvpAsh&$IG_N@$HXo{P9AU_LB?*pkzrk$CVYgBLKp~?NQ%=%+0c|h zKLJjZrwNJxLK&!23OITmvwfh-2@<45?4JCCm#q_VOIHje4%DST4(L>+{;T@s+>D)l z44mCFM-q$^lu@GMf)0>sMDb)$V+VYxYp;V(-KkPg@Ss;BnIeJ3(5;jJ01)|vNgkAgHi}4a);w|_8bFAX-E(@;*l%gH3X`|CnV7j_7p_X zLBz-&1-3G2v?+GUNEcRMt<96_0!yaq2muUKiBsTf{a8N)Ic=;0!YCqh)&iU@76ofN z(q~erid3Ti{OJ)-Ps(*y1w)twhEGUQ3K}3l3Ukse{fu&@#BND4wKHm}BaiUAWOI^Z zZeopym9|M*xuLGwVN=aF)&KnVzhC|NpZsZOj$Inr?5MrMJ$mks=Y>?fRT3QQj3;>7 zfEyT-lgFy1xoLDpF_2jo>60K)v#G#^d-pVN`ToCC-TS7ys$2HoQtzbmYtd;TgRDuR znS#~ zg{KII*95C4goql#zoNxCo##XSCg~)_T9bm}OB;z>0YmeRzP)qhR>B&kA7~(n5FYcQ zM&O)j5>YmdB2x%7{l~AM0V8nMNX~UGl`lT8i#x^usCLVlp8oo-d+uvimS^g>z2nDP zuO2&A?b~-=vt#pi9>1Ke=a)&V*1Fy2o_(=C^4dxL0BX>VZ$CvJ4E6Lt*dRY6G2r<& zP_tH|-OoKA)-F(uEDal~>*0~%?gHymNHkhA(PJpMJ;-?y%0piZ@)KXy?QHpa1Yq}1 z^A^1gZZQ^!gMI>Nh>ovfB9sP}gFdZ6pi}^oo~`z6hHeY(C>JL*1XvQk=A_tH+5!*F z_4<~`gNoJ_F2*Cnh7=?de9nU=1AuiIFwh#+q7a#~x-_7U5^3a}0;(XDn4YAeqLPr~ zkH$Rh7g_M1ItbN1swhjvSt!i#i>naT(O>k7j1o@-4i*P$N+0~9=aOAX;6t2#KrKgk zOm%W9spcls7QK+*oB9d`Sjs`qPWBE|0a?Ms&|qy^5z^$5^+nJsqsmTt@Ly`-49Eig zu$v##tt$?$xmdB`4DSMP*%mjaxli!zL?RNQ!pkqeEII=ub_!9*jkfIkkNJVtY!k{* zJ*O7%18R(>ND4Td8JIu@ML@_mAq{tOnhE}F4Xa#4wNmbX>4y)G?WI+KGUW#eP+tke z7Ui$#flGF5R+N(9DK16v~i0w47QCQN_=nc*N5Y95%rrK$_1sdX74k%t=4 z8zp60I)Q>iM5={Zyx(A_KJ6!oMg~0O$O(*yTS>`ek1OdG8I~8SfiEBY0S6~Sa`87Q zQc$|5z+_6>u~*92P*DPBCcY1AJ3PCyd&mvL+kfsWJY!bt!lX9@baTsBS z7v-%WQfb1z%^GwesDnMy9p!*;DaK*~#fzjv_7j0&9^9OAV2A~jI-`XFkXsc(=R@yA zH6GxT=R~(+H_F%MVnVJ8TxErC)v4V80>PVD&_8od3$?=kKm9-dsI~QTU#ylEW;>&U zds^q_X2I&B!!~ylmw7e!YIlGQou*G6XEohQYix9++Q0wK`t9%jd)>R=^p@7x&_K0$ z!x;Tl7Fj}w&Q%nbJ(*m$z*tZ-2tC4gl_{2ufpbO46GBH88To; zDvH}J2qt$ay|IrfA|HJcRvA+yU>Fa{B1pwmbHWyS2N%N9zPQ98H?iQK1WDlNU8yM@ z@F*j@!3Z^a6BR|eMbJWpHVk$sG{R(@q0hzwtmJ>gYP`wQ*gFTBdaywPXBe(l!4Whe zm%25~t)bufPyeBQ_;3E7=IuZ7zg7pHf3dpsl6~EqZ@eCw?W7?Uww`|Gnbv`q53)zc zcs0zeqz==xcq_I91A^1idF2Iq<0-dJec|ry6?=KK&Q6`h9oFj=^e{U&*R3~gRP0!5 z(;3+?QO}(|+$`{>(|%r`zP`H10!#N5CxG%Wa360Xb2T@d`Z z9hB!?Dl4_sRPqyeRi?c*bhftHcS|2vUWJ(_8<-HsA zGOu8d2ziy$01!3X>W@;p|g0+QN>Er2f@K*m zq}?!uZlnVqBqjKzQ~!We!jlR@w9r8b&;ef@EWBv&L5URTciqv+ZWxEoS`cJ`oy z=H+!BhVGCkyW$ub^0Hxf>iyeK=wL&tEVd*EVWJKx&=~w^DI(z%)j=L(m11m)zz@W{x zXUV$_ctp;4QsS#*st?eZpusgw`KO@#rYdX%1uSd15gG^9vSOHmK0&A-&7nw1nMipV zKXAk`I~7z>$?nBBLy8+~b0V3M3Nsx7_kKT*<*^acdc*FO zjDi@_Bbyk$&r%_OHz#5)o!X`qv{inpj>RT;hS83C#xg<(MVgbAtkCU#pgJ7VOpaia z8w4a*J{zb>M{dd@ii+1q4)ku4i1NHS;dHs3q9%dvB!&^GA=*?0n$-%vrugAG!BYG?PP&)~e`a)0TWb?GKqctH=EApjXkMJ1hSHJp1^-~Z0vqQ*IoE9oI9YxkTR(u8wpK z)WoldAYh6700@NA-h*(P=#B)4MuIWH0*9cYZe?R#&K%{ES_+FYP%A#K1-0wMO2EJ`0{QiK zZD2tC9eP`+S|{b`cQYG%f?ih%;SfqR(lR1w`%%e<9kh;8Rew&kYe>*GAWAJMH`t_h z)S=W34mObUh`e{Af501kk=?n1p|PO^*}{k|;Lf&~Fh$l7ly$-3A19Q7&LF8+;&zk0Z4QyU0}Hz|rEAdGx;&V+wQrUb`UvU47-1)lF}>jWSlhqlGdvJZkIU<{b^y;=&y5H4%p&9^f2$3o|D?@Td4Ggs&JF z2RezhF(`=Ycle9IO2bEK0?(5DOR>x#5=0=_ZFVtu;zpm}_7i*G3%oK3c z$AB5GqEc9NJ~9!&bJc>f3I+rP_DJb!?h7#HL1 z5l+g^&#|EtnEcX4t3HN1=g) zwiy(m0R&P`5%D;h0&koKMp#p)EmIvjiO)KmfmIk#O?BYI0C&9*fH8``z-fmbsGtIL z;K~Ms7uQO2+5ivEQpZIM-5VW@tX8uo^U8wIYZQTt8gVK8P!@PlQN$W(2mhb$&tj^>j;1d z6x#^_>4bN~y(h5>4!i^CN?S3|&=_kW<_&(U8WEvKYSb_w{gqJ1Zqf~K5y^v;AZdyU z+2YkLz>!L&C51{1*wCiEAqr(d_l=H(Njp1x^&cx!oFT(2Ue-)#Udj{>Z($;(Y*nn7cEguJrHaNoo zy35PUtuHeZ5NhZSlDIz?#%AYPMLK1(1LW2o} zQyhgnNmuZAHa|6igPJYXrzRUX@zQ~B?{56Zx4#*jRwh7p*T7`?iuI*e-1w^GjW@k6 zUAJy^UghZP&bCf#FWjk90T|@QB36vNdLg2t299H@r?VTL-#r}RA_BB3VPr8?{NG8UP{lJKJicaFMj!R zYW0+ue+<$?s0IJ+hAO-ROf4Lel0qJ(WUvp`lD7DdVsq*U$GU&{i+3P>?3PJ8{0D)w zR73aXu%Bhi)}&WH>#FP}FTSpP{sreJZnjosrBShn2;D1sE0}vS1JCAktgxh2qNH>&X1Is zeE~oSGBFx<>c2O>BA3Z|sjG-s1N_v+;2W|gl}b-CtBJrLIHDnz*t(`4&Ol#InIb|; z|7(y@NsP`<#M&ePMJX_WcksbfqJfTu?FB7*bw2t>o(cn(fut~MFT;O`r0~FBLNf>Q z002M$Nkl09mx3(C2X+R)4GRwm$q-WVJ{sYLuNK$fCW!zclX;*hB2JLK zk;FuRfm^kCeXmNX`{IIf-H zf=?#3QsW8u8PrfAhu+doMfJrJWW!&|uY%43*MRsWX#lnS5Qs9d(l3CL7@IZcqOT2) zDw#YJ6D8+meCt~cs^lUM#SfyyGAc6gCm}Hk#YG<}_6Kr2qtT$Wpc?dvXyia3p^(Uh z>qR*U9_Xs2+fZ_aZ!00c_cy;UzvItt%eOqZ8KPMbCr*A@*RkAf*^-s{(@s5uO0qZU zUA8RgXsywm+hT85nFEPpNJ1B)SqK92Z`%1zGExGTN!E$_%b{Gksf-7T%UlwdNOE+-sA?Sw+d z`C((B4bV+T9jYs*umM8;$e`}vIN*5H7_wLMg-|^hB!{h96OuCIEk(rfh=5ib;2nAh z_oSG4z*ot0H_G`3{?CV!5C7l4OF7#jKl$`CGIpmdx6@L!xxs|IoUZTmiEW#+0DwS$ zzhh51J>9eYVJf8wTB1yYjOx%X1@r)_;8mdFCAv(o7sP5}l%;zXJvA~gRHI0wJ}WKN zlYept_0U1n4aJ>Cp_zrDav#^Bc7>or)y!-{(ePT<6lejH0u8>Y6VdENZiYsSrwQX3 z$XoJae8IIoJoHoc3N)~Tg18V#o+%AI3;0=lkxn!UIYrp!J9!{!icJVKg9!#&lE3=! zhmsGy|F0USU+@g}keJC>21`#DOD!2**t-3Rbjy~l$rC$vdv-}akM7l{>RD42D>Kk% z_y|E5lx7?sQ0m+B2rz5eV12CIN&ZvLJh!o9`?mDh6E`rrK=ny%wPg8nf)1DF4r6oB zh`G>$XP3)X&Ov#|@RA)e=b^H}Az+g%|K-F`HYtP37*1(vZi5ZzA~Ip~s&wZQdy`Lp z=5zU-U;YC57+WNw30}duDlqX#$@1P6NoP-wD^Eh=sw~^FGvSS43H4jvUUK!j>c5Jnzl7d8_Sq-BTx z6?Fp&4iNo?Dr#AnAkQep7=(raZ>7OJ7B4CM6;^AVCJqkP1zbwkY=X6mPgGnn6*y*Z zsLm~ZSUeWZM0gZINjfmB-3$OWuayc}EeFWBN$3lIhPSXz*F<$vfgLcxoooN1A%q_A zsK^0W;E<_EEK;H-X+~jk%zWt4{F0^J<>8^Dvm2j%jP7WMl}mrEY=`o@*{xYW)Q|bPS|D?sX{(V#bkczTlJCT37Qp&*#Lkb;0LMv z23`;a4c1ORSWHO{923bRXb?d%7O7dZ*ii_0P(r*{OEp4cQH2CI6oQ4w zqj(wxmF%Xe&{2TsU@DvNW}o@YSCYSa|6i1*C#kqiNjCHq|G(^a)>2) z9D+1QSLr;Cmu>~DOKW5@a8hHrBydPmYPdL<xC2amjFNVp&Sc?3jEAFAbLAGp*l5}ZNm4LXN ziQ*7tP)McHp5Alc{rSZgUzn~xenZm1B**n@*W@p`{&^|;j_11%98Nbq^l1L*Eut}@@AHLPV1I4bc1R? zW(UwCGM#++EB~6^e&_#7w`{tHKqR&*=OobH?DSJlPnz4R^z5~G!fM#pEGN8j4oET$ zO-$-Yr>5C|g04kzN6q0C65&r83&wH_O|a0KkKXc}Q&6XW`1!pd}f_@sDeB0%XlNN4$g;a_9| zl7>ZN%vP9c>Gq-A#)J-x+`(6o2nixGzPROB6Pw8@7dzTQoCK3fAJcVDfSVb^lB=1dC{Qwu>OvCRlR)N~OkDg3EjTS4pfAFQLXdQ@8h~)unZ#%m16b8c8$2*i zBmdG@zM8)0z3*kmzaw^UN}ccshUTb-B!wchoIe8ODA)WA@ zrE$~Is+*go^`tk)!v~{CQuKt$4`%0(XMDV#ZrglMK0h-VENbEasn@^prsNYJ`ACDw zb4A?1`iA+rX?oE(-RK7tmY z6*EifYOJz=tk=BiwWV)-``cNAmgO7&_?GlbcYHDHShB3Nj_&Y@@d?l3XmG?dKC7iP zHaeV4jrKJT_Vt%mEMJ~4Fk!Emp&TYwE>`{`2)@eKOVGw7qCvtXSjGUSPG6aeH$QqD zk{1ujP97*k2i2NF`GYEw8}-3UAVz?$`Y{|Y`T8!^(3B+9vMf&CQv}Zd8a)lNK}M>t z{PG696w^SRUo25vfcO`sWBz0}oA3PLS4R*vI*_dWk*;b^ zo!AyzP`7igMNjXtv}@_oWIf~lFTMVSd26+t?%s1C*|hcXWXEHVGxRXa9D^jMCxQ*Y zIHyEaRmzU_qPWN)KfHe@$kCI)s2MXBnr0ZvYbG$%4!S!!L8O!%`?NFZt>8HEh1smD zvzwTsl243Jro$tn>~7i4%8)EswrpAc;2(aCS7yU0Hl(lZsmCQ zKGdm*->TKN(u-bxW6t?294vO!ExOamu~E+Yz%O#-ypD}}OEwYwFJQ~8N%hnO zN;CrC6XO|}@mw-EFqDrBasEhsoTA7`$!xlozwiAYPT%>CTawP!TGR!0=d&$4y(}z! zhVrH;3yrY?Q5jVP{_$tAh34=;FQEoV3gecM(u9j@=u2)Dn6z=rm1+bSuL9&^c71(l z5BH%-W`fhfrb6vhC>1Ld44pGSe0pu zv&b$Qk|MS~KrOinbtxWNpf7w3Jw^ReAO$&;L3WD9y-5`S7Ltz6u8c8kAG{!JkkhJ8B9>fTB=MMLy6|r+EpXAjS)K=VO5mVCfPybhg2XbDU0YedjwH zpa0w)a$9MXE`0hkva6r}+|tq|-ONaD$@d;OkRItD%*LlDv+1!Zoffl~W7iSn$^=c8 z2-;>q6BG!+C|8UPhYw?p1(-&+v5uaWSvoT{ho5FYXBHAMre=N`M=?wQaa>oMvRbW% zGo}NS$y_Kaj+i+W1{Un{$RS6?R0k*>nV8Hu#HiHO-kNlFcjxm{3+d3s_%jsn2Ak^UmLx zF;v4Cb6bA&=x~{Cz`Rzf<^B7%r(gV+ucmLf@s*r5SuZhp&oOWYqEJ7T3Q;F@QIk%b!=sAjKBiubp*v%6Gm$DO2-Lcj z)mqHyWX5dr*0;Sa{p_bdlPz6$LV4+uWf?1q^Z`xX*v`UiBOhc)uBFEC0lj@pvgAa> zM!MsX2lDNYZ0FeWX}khOxV-zE5{2OWXhp2_|z|*@8>>sO_15;u$M2R}RZ#`5j@S>Wtz* zH1jXmYr=}Hx!Ph+1Oax59txrl-eQj&?8t7dz%c-tCx{UOhrsa?`{g8c*3U8pZayC$ zohtY5+eS6AK+YuZUbZs%#3w(R-+1FIaGcEYLB2C{bvjzyMjUC=gx~^jhH!ybAf&jB zK-4I80QaD1?TjVbEI6#L6t4sj3-Y~mb zh<>XNrh$$ah|xV*Ycmeat7u1R_>^N+5?T+msAIX+u?REfz1ZojT~H1hTMY4tz5W}4 zQoU#miwaIn0KNtjMA*zgN9mcJ-mTZwfUbuOT)+#yfsoUMTBt1GZP(SaA>(^g*?d416 zXJ@PPji$LcEKvIX=jX{Di9P!dy?ouOW&aLYvw&?@f`A1Filk7Xn{!9D%g`KE=iY@iLm_&NjoVT7Yo@>dQL|)sbor!Q`m1wUMwH*e}(j zihG0+mw`YuoixHl->Qs*j^KCD6k?C25Cw|9aDs@qq%7e{jf8_4H)4cOq*{;H+IDEA zc!mfimL#$usweLP09hBI#Y-PcE$^T}wk)P2qgqxZ_F>c^A$LR_%;c$PLno8EXo1rb zE0-C6g-?R{(j8w)-ud=h@+n#g0_f~ro?rFstDBzvtjn{G_SSUo{(b2ad-i7@TaB_o ziq0k`?9k#XZEtJI+dI0_W}FUZ-4i@avE?y4kWibt zJdHUOw2+wnO-rzqo)dNkjB44|5Y zi%!laH{JZk!jvPrlySvh^ z&Lv5IU!T!3n^sX(&|+WG)0ymgY&#Pemz77ykLE)IoCw>qEV=rsD{*a2=<&FLF?(IP zGv;&&yJZvCDkqUv(BMXCYHB8%siU);{%UY7GYQbSW(W}x;dbocv-*M{T6!D_52v6@ z#uEZF)Iu!kG79RsQuMeGT`~;k3~Wr&IZcH)Wjd3sYaAy}Ai?C*T5}7wk0K!kdamu( zNH}i9y(mYF4l|1cd~6lYyPyL8CP; z5f$J2IPhXLpI<6%u>ddGL*T%BF%v%s4f`^){~ROHR4l+`(xT0QsGxW#E(O`X6bQgH z52{QPN)qqsff8@PQ;@}iQ_v!Nxr|hS1NouECO%b}@GO8kKw7@Qod2`1q-RNGXn3%G z-jy$1ckQz;TSosh=XDuv5S$Cd4|j_)4fK=!`wzWh_39P>Mv=5A89K@4fQy4Dd~i4o zv_zr{N+?s86cG`aS~#!l7y@`v2J|65TP!|9DU^h=5JsR9jFodrlB_PevdJYA;WR`l zQ~|=G#r_HsTbRK414A5tK~a<+3<8SdbnrU_$_?!#Vafksrpl-3Sc*Y|!D>v7o_)~;DW zg*K5s^3awP=a?KB9Kd3l8cl4oXGaeO$W2Ir&ww4DoQBq{F+4O(4L3v_8C@I`$d?277!%14Py zXF_L3TXeBHX{#0s<2vAoqY0{#nWu3 z{Izd>z4V6Hyp{@VF1hp>m*qeE#V>Mc*CM|6ga6E4a@}?585drH;(01#nc?$BY4GUL zthv%!>fgJq!Hoa%_!z4^upJZEAt8dc^|Np!`9Oa&75DKNO=@RLbYM;&m4+}sLH>xd387$m1uK?<`hQ}E9~ zLWc!Lx+ffIVX8dPGyxW!>smcAnfZB2M#v0#qY}YxjZ9l7Szr@*FBTX*y1b)W#9g*9 zhv%-}{yMqx8PCkRmaj@To_j%l_IYQPE;#q>Z1>I`rN?&fNgjOo@#OH4!^~x9$;L+} zQE_;iFq;E;NiXqj5(s*fJinJlB0*t{Pdn-zjT$rrY4qWI{~yp&FhecjKYnYxl|ao zY-w?h2FIv3x#ELUhDbQaVQ6%x5}401sg>#lk=Lqi^x{;r@uBhjP~U;lY<*Z6FI1}? zmAiiRv+Tl)E&va0oCe6~1ZrS01QiA=k_zG!P^gw@ksD1>Ur9-FfT8?i8g3Wb)O{%@ zW&D60{)1&sXrfJ1U!aR|t4##-NUzEkT4>e8n|Q~s01H#HK(tYoh1T*)2qq1A8H31c zfhrS?hC7i8tkf}JBdNIOjmATLhsNt!VW0IB2$IYs^gCc<0Z7+bz_)=7*R*X&rwr`M z`qf;P3iz0@7)66hpo;{tv)~R~;z~6DyPz`ye-+MGnwj9FTYhkqxJKye(Bm5TzTapDnC?_{o^7#6-
3&HkAbi>3jg87ggO3_g|8AOGa1$%|g_d^}4dJ7)c<cPSn>?0z0{I*^7Fah)}iym3xXB;8= z&|oJ%zO%AUS$4^}=&eP#&8^LOOIth3>{?mN&RTso5US7{!C4lbTBFkk$2oc%I8(wQ zoeD>5vxmUK{7k-M+t!q`D=4#^yx_&xCtv@UJ8+I1h{fEI3C>$!cm-zScA1K<&ZwJ( zUecl~j7@h-I$SZo@QNAqmHcsmaE3&P*=5^xR~i ze;{E!N)E8n zYw*ux36zSa06ho#1id4d_!xo6;i*n@);Xz3*+b6ZC{yi3yq`}X8@ zCP-6KzI5ff^c&y!N^-?z&*Co0m|v34OxEc=tI-O9FHwoA@PI8kgG_?w`#qp-z4FIRuL8zuhayvDy&0YCkVj3TPa1ABp|@bi9(nX z3C4v6K{8y>z`|63V+;|T*1}_cA!(5{twDfCdJ7Abg&i~%h{0v?xA;Y`Vo9ddp1n|& z($X{zcIk>`mBE3&$qTM}<+0aY^UQ8GFY6>cSeRuLtmvyXFCU76XU=w0tBJNFoyZD*ogYko9~r7iBMuhKI;OEJzo8B6%22L_Qj2)M-=@<_i@Jugn9$@W?VE zMnxr1Ejp-RqJ<0S&p&nlaENg3*@ z3<=KRd#q3>ykILS<2|t9a_o&0ot3Udud%m6N;j{q|N9?$Aie0ki@>;%^!Bbu-*n4c zO2;36Y`$aH6Y0J8-=B=tC(@C@Q6@{W1z*heVQYV!g3H3B%`X3uk#RQh8OkRn$I|IK zDR5<(eg@WC+CuDo_{U9 z&&Dy;bZBr83QG)8jMHPSx6eHIj&;_Rd}!z}b3D#0an1ow8Hv~E*qhGs4u(GnZ}Pi- z`m6k=n_jD$0U?xtFLX)cff0BoRZhQ360IQ^8r7TuC+|?uP!)4Olo{#cT(U$ZJb z_v{VHIU7z&4(&gf433N@yLU3rXYjDPn~#oho(U*6Ga;7?E`yZdkjK6E@7j`Gan%b- z?|Rp}7&1V2rspsxnFoq+owzt`g_d~iFuI2&noZ5E+1$*0IyE^#Fk2}x6p+rcY49vf zYu899NgC=XI7Bl%GcYhr9ps^hrKGo~6W89HPB3KQPzOhrGj(Gw4(+PB^(2)xLk}J) z?lfst0Ik#kvk{bbD&ycTY~!edX=fQBYG;brU*hP#f+e_+`|{J7SP<@pKy=A4WMa#a z2;b2c4=ts$2otb#0DO5Bc_<{Nt)N**iIF#WzPrG`0 zDQF=bXS2Ba)U0 zB(qafVBmrdx-VoM;$cVVlsyyat5Qv{Kf+hq8@wxO5`rbW*>s;OWw>fX2kC@kg%cJM z6yg@0S4@AZ#)MrEjq!q)76yCy($tkTU_I+ZCG=SY<0_3h8E;7!v#Yd7RmpEJiuZ+L zp{ly+coU(8^$rk1mqY(BkVuLkA%P${WG1wrDDqpL2E-T9JuS2XKazl|fHx-x8em~G zYhh>HQ2SyAx&U4SUpa{fpae(^Z2#tB*BS3*sg61bK(Wk325+~PIF$eT*S{-`*Xv9&n`ZK#a|GyyY^_nS zTQk$$i4z;2oy^A=yB{4Maf2iU#_&N?(#nKJMdjo+)yxop3%Q*b6ri+eGs7HqLX=vl zW$b3l*{BArT|4e(N{CNc7`xFqF-xdHAmlhHt^g{OrL5rwnM!DA2z3BG4%}wt8fri# z-qc)E(r&61Tly?a%_q#zNG7JnXazN=Ep1gctg6z*S}Aq6v=PtDJCi;cI(#&3>ugKT zPf1|SHJ|ajf06D1<8LLS*d_fRC3cWMjK_FJv zG7rryl*f1zo}-a?!ca7L80w~)h4RKrEek2}NQbGlsA3ecsFT!tz90_|cpOmxslw^- zM30OjQzrOxIgWx^M5^ zWSmKrG1<7rQtVn4CFdmf`I!iIWS&BSbAhbvaETKg9Joxo?LEmEzL!}t9Mv6)%PuN% z5ai9|JOrmw=+ro%R&Ik%E1`x8f&W9D-2qj;+I)4$E@vBK-79LM#=&-EVg$&BhJ}O) z@dZxsZBUWSj4se)IYAd)Ep2B=wYgR<^>%d;Lo#oe9tt*_Lk?Ne&b}8*mN19p(4o@g z@L|q8IV*2vUdi@HA5Yh>T9IZ9pSV1hK~5bub(qXnrR)PlB?tmw9ovLLgcXZHk3_0+ zg;%E((N!gR$QOj^d;B&AL;ldjx2(0T7(Kf9D5#+XL50VSjG=P^<}oVIt1v$@p-d_g zx1r2_gD6R@k~9RK$ZN{8;@1LSaDPdxENv#U1tAKL%QmCKg@ zD`hjEJf{ykc&?udjEh3y4N;$H1%IWME88^UK=hylNw0bdUiT|OUizmj{q{y6kpgmv zF!;zB$t^PAxQZ+!Tcs5xE+6j^T}kyN1m310uqmFgrEpYWVFvQbW=1gaGV zB%Y+@gEm8oWOJjBRzrAe7O(g=8P}wZf&vj429V-)kX?X_gysSUTElP1UFV_nbn(at z4hC1FKs_#}OtbczmM%L})<7>yKk&g1C2Y_{Q>ZC@?Q33NzU0!UCwq49W^DKfa~me} z2`a5wx=V>S@=8;)b0=KBnbZj`sL(vxnifYfBv1hclc&%#%A&0kB83(v706_Y?VWmi8)w>;qXJ$P{_enzUsr% zn2=@bQ_kWnRDM|JSTVPhMM3bC0R|j9IbkI1Qm>qX;9Lz`FjaRNY-@=lx0xVEx9eOo z&N%iQ<+L)S(OjbyG&7SuviV+sEzm>JlRf_U_R=c$1^{rWfy2io#Jnv=dzhGJ{{+U` z+-e!6%PxI(^1$ZbVBu*#G(J)8Y^i3m?0-SaRH-8ogofyvI2+@KKm2ZT-L)^t&%Eez zaH`TnQ7R3OOyr}ZV@x$|$`9_?j;^uXj^GU+oz2Zo(d$iktCQ53^9-g3p@pJyi+&Xf zrN#x1R7Dx24u{6-L_$2Fti_k=6-uZ6VVa@BB#&A;6p`0BrYIb})UQy2>Z#2kZ(drB zaT&N^;YAt^f}#Tn1)}B3LX}>v<|5!M+ODP`a#~854R~8zd`p~Yh$$E1K|+BT%$A#4 zlka}_yU7jLza(jAW2RG1dRp?_7hI97U$rjV*MB74{NO|Bj_o_?IbhrCdflVF^Uk)K z&5pp3;-IIAN~|NDTey!pS9V_rAqOZWbt4}PN*?aWQIguQaZh43ymd9dP)OB{j+CZ^QvQB zam|%&b2IhsDdtF+`Kh4|z=aC$*|R60q9g$qw`wF{IicfFh3Sb0$-rH%MxlmW&?7HG zz(R|-LFzG-03qMG08{W3f{HHcL4a8;Cv0AxOBjz9i|3jLrk4p^VmDfw@|QUzmF+lR zz}cXHNl{9Kx&^{KvJi`t`7kPSlUYr)Z1e&PQLRX(rb>=T2Sb%mAOx78Q~zrs%8wG{ zM-bo>vKtCUD;Go~PlyY6pc>=`b>J)VDh>JMjXfBsGZkbLE&AxuO>sc9R?AKM_V39~ zIr(&)M}`ki3% zBiqdXGMdv(6t;D$z%_R>yVgeR5x0AT7-$%!W z^T8wgaY^pyXFoX}j)4uGp~f7L@Tz6DGH&bYVryY0anbA1*}c@Lq-loX0*+{Ql89ri zROHw<9>F0G5DjfsTG$O}>T=}|{H15b=@s`yv}+H5VgMt1=H*waH0h!J z`;w=fa&nn1lyirPoYg-=*LMd;T2Blf$odZ-DbYnwKF5iiTpYepWsv8U&sz;8pu;&0(&$GIG3};DTfe4C6uB1nJ1502_6bX z#lh4a)d=0O;h-87S_JAk1<~WbU;YEdq6fokYZFMcqriEYaT~nVCGbEekL8fEa5(`9 z6;Vr-j?k=>1x!&^$5HS3Ryh9Cfn$easN>@ePyLY9EAx9R3~&UY@UfAG1RxQ(hrIR0 z5u+$ls}|Bn9YU6+8OpOwE6dwaeG z=Lpr)>SDDV$pmXH2huVP$$)P7DpHCRSV9NIfI1u~=2AdEx8W)E9EQDep7-2AB|Mbh zyny0DniL9xypdB1s9*s4tV$^Mf+Yw*Esx-vzjq@&?7C}n_CO6nuVvb>wQA9bP)<;K?AbVPewvxr!i>0K-ugyok?Kz;I-#Eke zHr=t6Dw9DOnV`munT#Y->L!LhmT^|vSsvF#1<=iL&2;@!&H{tY^r&zkrfkF=x>W_; z$GTigwco~B<4ne<(ZgC*B}IMKVA9-leG0-#`Knc`lHL_d(#g?!&gQ_`+~kbw?cHMo zhflR-<`I0btU`v?aF()dXOV=3=(4~Xueu)uDCbF%{SjfnMtzk(e2qOryNfZ zH|LPH^Egy=v;>S)PnOp;)$D4nXyHnRNr) z@=e-sTwco<-DUt^ECs(^ypMPKcI9dy4+VU9fN%+N4N=miOIIf2RGg=ta#nKQ`Ddk1 zzwlhnUTMw$^RC~gzrF81R4ijD;tV@R&gWGkOJg$QQD7Q~#%ZWKU+%7GpVJrZC5XfAZR^-=||Ms`PNUyr;1*|NcDQ&#?()5ZepP3N&8pJ~{(s4|OiO=Y)QsFQXlFMJO-95W^i zlU6=-YDI!De(B(;t<(sd)CZFVr92F3fD5P9CI~e0nwe@edYAPiM+c6~TzJ(>PQ31U z*L2Kg(-k_A7MkdaeyT?z@Zif0g1iQXLve7yp=s!*FuUrcNq$2n{DK_3h)8lzB5P|A zQ55__l|%w2_!)R{36=&CGDTsL8dVIq0Xv?DQ`DIO$2NUH^@j9NCl?iud=mq%L6t9m z#F8iCZsz#$vCa;w@G>NZXl1EzWI2vYL`BMYOqyji@PpMR3(W?)5-O#GK;MAP0i>NqasK((p73W!Sp?@aD)GLJLIaE@;OPEXometVgn083l9 zJXre1x4xhJ?8pDHFmU8Zd2DiMVGIvvH)+On@{Z1>X=l%}yrrYYq4x7|0r{b{oc;m~ z$gx2cHK(mSo*+M5V~S&>CB*i{<8_uX?@vd@hLa_|z3dl1U#_*ZIP99vPO%@wR3l%p zaz$zBsujr-4{vHL?_HC8>Yx9q^yW9e2~}Od*O$vb|M^ezn{R%-5=tL@?9uGx6HjE8 z={)Q5BMzo~y2a6OdtxD%(&=}`>9JHbx#rrJmVfx|udy-D92Fv5#!lRo5aeTdA%boG z=2yRxeE!q_M36^U3xT~8^Fkw03*Cj9j&S(+Rd|>}i6J~p3rz){^$cXLBVht04PEe=N+1E@A9Y0V7JxKO^oU}jN%K=^C+4Vrhh^zQ#f;k+kn|=> z@|kvMUdpi9XCF5l0+dKW81JdyG;4d9490BXMh_soVkHB;+~wp=x7^B{m!Wj&n&Xqx z&f1Wld)678@zR$3e$$rZ-Ul9F2y2GIGkOmiIVW%eA0MF)lp%~Mx$JX#Vl2s!`DgFA zBRg*0dd`=ajtQ2`X#f=m;Gh&K)>_(2GvM&5SKN?(=Ud-yu(M_Qkx%|((%Igg{`6nMbxw6>%oAXUjAPzmAyXv`z^NqB-x+IrWKP*cliIUesmmld0__aj zxpxUGAr{lfQ+P>TFiT}SGd_Tt%`h30b{xH2^!6{bH+PhmtvbGR@uim~7qKPyiJX{w z?uN6NgHxVquBH=CjpllqM#8kii0mt~g!rfh|5Y8InHl)Q-M?M&*tTui?tKSKhX)6e zZ4Yfpj`r$H8#bC_c!z`PW*QY50W%EWEg?|v?C9X&vAKMDk`-fa5?5(1uRZ>>WO(#Q zS|8}=(7%qxTi_>XkM_$->70ZrS)1(^h{gn5Xf z8A!t;SiwDb6DI4iERww8lr3KaFo=jtO+*(hN68t_19^}vDhZpNVRx7j%(i5Wll)jP z?OGm?m)z8^i)K%kQ6!KoOa%Br3lBld@{3r8Qbj|`q!tTu*HdCR-t)2Tr!4`Dp*uRw zVx|Kl>aLK(9W!aRpsPUUscU(K1AgVoRm=aCtgaQd=MPX0q1hM*g>ag|LQ3VMgD4vL zut3@QjQ3s#WTgYHw2>fUkpVIBhqu5cDOIgpi67hY2D~l{l8ps&vQfnWx(R*EJKJXA z6unbsyi?&F_Xw}Wli;BBI7x(Hq+oOF$<7O4g*^FDI?j8Mh!9vvp?F(JHqwR)q6bnQ zXoyh2BOd~fFUpG&Ly5#PP)4apNk-A~eGn+J1b+k&fdp&0E3G1#+qQsL7+#D4m1uQJZwj3($?NZ_oACNK@+Xr zY=)6sCvZ{*wVz$E6p42b3wj==$4By!{)0Y~7TR%5$+DGe^0&Y5&+_M9d3Ad7@h3E> z9}Vj!q2%Y3`Xh?oktK7Z3sVbYjn>9oWv0^Fs5R!8QQnG}-!ncrepRKpoi$+#|F4!b z-Nngc&vrs=Y^ zCnT*M9kd-|eZKVrbl3uRAQgG4;B+F5Plm6Qk3S=VX?7Djr9znjJm3kCxxK zoBbpl(#%;3bps5Wm1-twR6!Vks;D{?v1lOxLhr1oO%uZicquhk3(=lJ@32u_g>Qlg zbdF>~CLQtzCU)TPm08FGEU|OTH2?rW07*naRJ~D@9d`wsuxK*@Nc%$Rqvb{+!VOCY zGuU6m2PBKc;zkPIaG@L369mdqWm;Xj)(;fDh~1n;&z`FpTHAY)U;X^9z&(&p3?5Ej zd-Ge8JHPO0h8o!O!MH}0;3_R{JTHA(^x8eLZCi5s8D|Eu&wJ6!lIvgif@Isy$MWC) z>JO~`c?2_Q$~!xIvi6>?@-%ae#yAzXy?Y6wM=$ApVC)JaY0=NmVLwbPMn~9i3K1x) z29qjT&ID=|^n(d(P)_wr*B3)?CC|bjx-CQxYC7F2%Zp#}M{mvl_CtS}chghXOk{$7 zY@y=#_%2yDOM7|Ev8RL^#9btlY%|W} zPi~v|br@x7yaADcfW%=;X@WMIIdf~d4 zJnzb0g1j0-i$w3tqg`fgFW|n^3tB zG2TxXqvL>^k_)G3DbbUmb}4xsBwANED;r8-bir}S5@{h*im9!~#c%O02F$FWdF5kW zq9|jZGC&p>w30<$Fi?#=3^Ag=4@D;t4}@3{qht{&KLM{$s?Y_&2OcDqo&K};!2C>f z*0JkJ3yuj-)|1H;GCwe+IQ50sI!WG>+nBDPQ>)fM!yP+!CrqS_t#UQsv9Wr_p+p|2Rc`NSr&1+oaNHg=oo4{K zl)W&EDb^U+N;nKCn_ZZ}0WV|&2lvp{!I(kT{V3L~TQl>;+i$O4e8C0tE!7HJ=wvl^ zvgCMy$^ab&*VX6hEE-Stu_wjs+O=zE6ab$H$@=>G7%xZ?h7)E-Mn>B4G_TwI;QgO$ zX{!8aoA_+hUIsw)~;{vT)v$8px)#fb|X#2I!mDIsyilnQZ>*UO0|bV(kyIR zs1ZC@nQ&QS8(@j$03?IJoF#b1?^$P8cgf?=hdJwD*JIl}Cf9X*^ztku|M_44l|J+G z%OI5M$H`4*w7=D;Ugn0jf`cBCDuv0Nd9{U2i4Z5&WPBABA?fHK9SVg`iyOhm2F#{KGu_r(?9+ zEE*pwtjUU+9w=zzqAuI1L>0zMO=D62ghU2{DW35<#!Z0->}a(3-a1glHlcV#`9O`r z>6tO2qkK|P)?(4oVFMKO+8z^a0zO9uWXQ+qpl zSeDR8o^kmV=?k9ooMheV<;jj6d)T$|5Bc7Ghg{C=BBm(T^4Y_Q0MQsB;}Ezuc8;7W z5AJ&`JMF?}=G*T1B`o5YwCOtCZ*(OsaIkk{7M`~x3k22dl9{~!&)-h~+MN9T$3KZZ zq}hM`=qKrY_db+1x3w{0m+tt5V!3b!XK&DZ%aUmhuVY?LTYCpnW#-daHn3vu5R-ja ze?ZTKPQe~mn?$s$gY&G}Mt3Khrp8C9Si6(a(UED!$Qr9xuWmp6j5G3gzvFG``4?U^ zLu&RPUYKO6VkhX$j~qQ*>RPh&Kv!qi32-043M4)#9wyF5sql&CAt9c5-2Xjr02f-?(MquU4K^D zzn_&R6GQBGT`Kob$uC*8h8?QP^~S=q2lyZ}dr!H7euE|ZDpUo(b@IrSMzz%x4v1A6 z-Skel+0_gy$ta(ogdRGW)5P4VI(xAk*}KD5Z*uRw_b2C_cNTsz&nG5^oY<<;M#Tw* zba%$eRWx~#-q2cj5HFqffnqHhsftLIOHze$U?d*9R{W(|eQkWzF`E!quvwO{@ON+rRU*WB@3b1_WdMtpFq zQJH9us;-TcV1eaY1#t_22W!oX|73^#DKa#s)3qfj_|(^c0_G0inTBJeOjRFo4TreuU-IMbqbs+&WuCz(zR@ zS}XbHhqfjiEgkvf_-Ovtx8GX+^LO8t?Afy?d4w_gk+IR76AW2)xR4AC4d>e)f81`} zawp5IDom=PAZDo14q%oYs~E9}c_(L8XJ|XLM=RwkSFg!3f`%!EJ7%b4sHEr)42w@{ooy;?_N{;ajyg+E4?0Ex z+M>fRhULKER{bLI=skW&wD6ZP2JzwKmeV zII$)t&MMphDj(ji$O;e*opN;-fDI(VbpQ!nc3dU!FtgFlqJEPahS2h+s36K8-dVoJ z%v<@#Z&bDR^zc5bP_dIdJL$xeXw}Z9r=EOvdiiA+=WACjWr*)6D`z$*d-fm5C)ouO zKvBFWsm3scZWPV0RjUm;`VAuTj_#$UhY2DqXojQPJv$>-P-OLD#S!?w{KeO2e{tLU zlAf*=`A7fZpEcC%dq4P5djCE5rPWsF7nL{>bi(0#hf5NcfTpu-Xw}ZJVGIW{+~tZV zy8CVKLl1sSMFTHfEdfR&pI{G{X_lalO&(2#hx+E{W+sx6!Tk%TJnf|BO@H`Z)1KWs zkADCA-@5zKE3WuSt)+4+e&v(R9Ze@=HV@KrU)aC@K>48u?``Vq%MI8S0HImI?2u8x z(?T%+eXVUam5!9!Vb*gd>q8YLBA?i3ln-FfN0@gp*wfbbATjWr^k)3U;er0k$LlTU z0p!d}pMJ^42Oqfaod*x>+p&4`LlaCaog5uL(!A@D&H26^57TwFFw@o1V?f0a49hoR zFdJtxsRDgOg2WdnScMi1h}w5SWjHxmXVU5shBJnv;nLOKm3Oq(2b!DD0qUJPN`_omfKv7!^M-8?V@6lxbAli4BCRU^e zr~X1LDzQ1NDR`=H)PDFczX0n_dfJW7Q`5F0Aww8~8XG1B%QZ7U8crZ(@$n}twHPo_ zEcYN`5mAg8G)g#S&ZyWa8*Qf@C1~OYXTtvDFc9_1U$l17Bu4DV1f)5VV#E&lj$j4?<5cr^P8lF zU{$Zc)7L!r2b05MXmxRo`tn0L!iyeTY2hV+0phjALZ@2GW6Dv|<&@X-L;~z`ctzMhod*A(O z-+@EP4Bdru90)W;li|RDJskEk$e~Xyjn1wP96WIhy{l|!V=c!7Mi&1PY_P&2!QpYx zWWC(?#I|riJ-sXQfBxrxn!NT!&-)%ucRORLo8Z~6Qzoj59@(2{g|XIt#a~`}`6WMK z?|=4LYCVoh{}JCWIxs9d(puZ)kK~UuuS!-;C+v>e-`~^J(UA?UT(zv$QL8Pdg@2FP zOwT7OOD`ygthVFf?ZHOgy>@=r&`9IahacE9w{*pdiM7WZe;>m$53*n258r<4E#2?B z^_CAlad7{IS6=zt)_pr4Cs&%)+S;1doN#h1cOz`z?4c&c%DWhDXSWP?%w+Q(`N}yV zR-(AG80(2ir{%WRR(8Lfw#%7b=}NMH&;ES$$Ut(=x#uQ3+uBM!ZM~(Bee`4b+urdO z#_(}F=n8`x6w8?b`8lWvAm z8dWw(Qj?uWfdegVy61PO1NV%*&(76(#K|Vco>ai7p(X;qVX+Drx~U352!_Kw3DhZu zMRj;u8>&ct`t{XW{UbU`Rv@6>plt95G+|Jz0tl~T#mBXzXv09`V^WIH5Tc6@l;oiX zs|IW9VQ|0IHWGjSb}t07V0#?DL)+}GPgzc_J220nlT=(j$uEMSkBoA$RFny4{4w~DS zWL0)oovlwXPz-ST#jL&AF*qL|nMk{Px@curIqi~NS&>nVAq$7-h&PNWwF^j7jO-!{ zgJ&kjIc;mabmQy)Wd0p*f9t~1<-K>WUe@zv0^s_tT|2Xm){Y19%t!UkXj|*b)|G=p zqeGu#FPIN7(X*v@dGAu@4~LIt7h-EhimKh zGd)-8W>YyPG}G2WqsTSE*7xq9dCY0&A-}EpNB{Oir9a$%e}310{ixK{+shstBg{z$ zLnf73`66~G3XiN#Q=Y1fKB>7pA!a~D0nIhv2ttdB+RXZm99A}FQ*$*X6QYw*X~YHk zY=5zdi&~7gQH#(K&f~%W1Q1G0t))(dX^5CaMd`s{;vX@z_R&DxQgYQjH;VmBXEP1u$)KW7k3l~;zh8;ON%6jB}x(F{tRcpI94RQ z=*2gbZoTy#+1ckmz5LZLe~F>Nmi&9)|3Q9W?}4N~&jDE|+r;El@+f1(ef@`1_VCZy z@P#mOzGOsCcRvLnADPHrz3m+x3l+BaJ+OUC)4<-HY{1l7?msfH(0AxS|I1$X(zn*i zm5)`+mA@s3_$72b*<)a@g3cvllbL()?pb|mf(0CS-U;3>rxRxUo*jF4Rqorg znHo1^iE8ubrpKrEY}vHw5456Qa_rjGFMNF4!@CFBnCObgA4xS)L1q*RpMmQ5*z1Gua@#!M{CTccU23MT1zLM{4{n=T$vt! z!ikVx%5S~x?b(;V`c+rX(Bn~MCk^@AU{4KoOs&InSgCVmrREeMCdEQimc8=TuT&lK z$+2;E5-qVbcbaXsTUkZJreF-qFx#=T0}Z__iU2<42n5)RWLOSdzyKm9;-%ok8AOU|P#>UOFm$-@!2aYT zAN)Y6x!RGPv+=BC-P-kR$DSmcw?3Tg*u5t`%JNp3Ft*EYn$)HM6nP$oNq5+Be>mU;Er=C%gCTF8%g5 zzt6Yt-b-NDlDD~(B# zWY3;GwYl=#_giYsr8TQpmL^8W*tEq1LDL0~GEjirhiv_Q^7G_#@4fD2vN1h<^g@gi zWYH%!QZ6lBx^yPpxN)AqzmN|0i2p}wwr-w+nKJyaP)(9uwWiYhTRK{=z2U{zJyqEz^^<(<2^%yF_GIbA&w?J>W94ULSM2tp zcFG17lVZ>doH1haDX-)b$*nd~YfVFYC3$F_PtYlil=0L@g=3OVaFR%XfpZWMbJ*~tLs`57Bn8BKMPY(S zYt`)ywhac52T?$fe%mtvOmq~r;FYxmYHfkGFhxKZk&NdG1+YGgK*^#d(*VvEq8#KE zMF*>>)=&su_#Wd{NYr3b?v?BzQsbL4K{})WL=mQl;JPow2jz+%?syI+3W~?*5y0)j zjDmf}m90u=Vn~lH518h&*!V5TM!JHRMFzoaH`~e#h9p_RAywc1-nSc^3sJi5*0-jQ z?b?~#efQn8W@k$?bfXgBCwulD$TmN`EpuY!vgIpPE_Rq3aR)^lys@{S7d)Pufad*PCwx%Dly+K*qq+6r}$cX3YmMx35~krN{m_t$2oE?nBv_2U2f(RT;N z#)k46|LCUq`pBWu6Wboh4;|di*%!@8mCdQF8>v4i0P`aX73 zWQZ|pSzV5Lg9a7qL;|^Hf>1`o)$knP5S>twLz_j-xz`_O{=26UXU|CNP$T=x`!SZ|G`@!`5v(HH$;2^ur z4{px;hlZJ9o^n!ajjf-jTs=W;z(&&;tAV_}%3&yqNM_meO&>zg5;)8-uS4Q(3;G-n zVi}}O8l3*g1dVxCAWt^4qGJE_#KbpyT6*>!+SPS{po7(zP4gWc9b@Iu(YZ~VHZ`>$ z(_Y(q?6C{w>GCw&OW(PA&6>RL@BvOZpXsHD|MfxTEcSnW;BDBl4|{t0r|A({$=oU? zi?$u^>FJpxPzn1^2}l+*<_0HRt8VZMIW5|He}8`qkIMD2vF%LqeDC1lLtkIJdg;-j zfy3#6{{F#ho^wr_O^xLPhn~nr1_n~%0o936&8_5hzc3C(ptlY=ZAXrJhg05*A>0>gAdewE>uu-C+_8$Y8?0BsI`R9QN9XGH-^wuSY%0a zO|6f5NE4JsaZ&WnjEQ1G%e5Eb_}<{aUr^DoMA~g+qUflwxZ*urqYu^O-k80h&tFZ) z+6E>|jCGC$P=2&#B}%WMeF2QDk{6zVE5;MB8SC)C540%3<;WsP#fck|E#gCJ%u{Ie z9l-XCCHw@_^x%@%p>lfh&E?ns{IJGd*n0S&n<>J$SummOpbmLi;}{gmHW|YI&|;DC zLQ}KiUZjKsJ_b48@gHIf_eGi}Dt!_PgJ0V#;Z=fdJW)nw2w5tnD2Pqykq`sT%P{NQP)ERo9CWQuBkA?aMwksKWvp$q-i((|vmGP(D@ z&B;R#J{-F3(rEV_5@VsZCAQnaJ3_ z_oxvRQzz3=xwuWA@Tzc-a?sn5tV@~hht);P<6e1(yWU z6f*%FT*fFFp@o2LXliu+=F$t9J(zHY2M3wSsKLl<#_3+MiYfAh`{{qZy?omzK21{w zIZq=AFT!~+q-74BX{FEvgBX_4Xs)neo)6!5%ZHiF!aq3@)jAhYtuq>sA7!=|N;h@B z`Sov#U@!))k?|VXgigsF`UXj0iVK<%`EWtY(uE~@Br8O&`fSJ)OGDwj`_yiPsjO*S zu_BaA8V!Sxgo2tj;E&ci*hX1VGDF?90UTJlSL&S2r{4$lVpwpY?7|DS@J-{Ed zGb4H3klzw+mIqOR5>d=@5E568y3h@rOI}8Y#0=f0b1!yI>+bS!=Ea#M)6U+5y|h^O_M~D@zVJ5eyiyI-X6CpnS{ggp3dF0+-nEByRi>AyO27X%3i|E14>4K!|VRLzOHecnuM@p)3U>fi+pe(Eh+cH zi*QM!aB8%`-MyFPT5b)5`%^6GNviBgjMq}2}U{#?}9IxVU&VV3~-c2dTRc1 zz_@t-o;}Cd2=-4)8yheF)vxbMV_#9c{L)vrxtTF{xbI*ohh26w62*=+Ob0|e%ip*R z@8yXC@h3xY>`OFWl*2A>Zfcr?)C%Po=kGMuH8}D?kz*P?%y#Z2ou>!$rMy=gtryF= z@w$3!EI6Y_rnSCuA_{~kMaa-2q$=XHk&%RPB|xeHi~Z1}=$sT1>|ze_rpQ>Oq}gAk`Y&>Rm6Ua8%e77=6W_thELp zOCD=*t0{p>U_k1o>S|;u&~3o4@feWV0QMlfe-=gM2E0MVu~kdL9VGXs<28C{>X)DGV=%oNN=CY z_&}lhsl=1q6@0SVRbrLTN1{MGz#%z9zhLDGG-+Q7r%(n@`o@oS0J2V3hcEbGZl?3H z-W_*-GH~i?tIPXYw%C90Fzc)c*JyyL(CNVDXLgh)r{)-0G?o*ITHAF{C~({{ouX#A zsgsjTHqf-?(n!xv952lT?)bMa2gXK*j=uNZ@4NwF_G;!s?>{~;@EgSNfy~1Exd_%3 zg503@*u+D1_!DV9hb}OR9N4)2%-PY2kr)#i7b1W(yKr(Gl2Ko-N?IDyrH3xJ^!E=y zEdd!b{MC!NQd+7gWsiS0A|p2PisP=bpKs;y@$qOc3eUvEL=0sjO;{bB%G(<1>;5m5 zD_%$D7X~B2i*EbKt#^-352rg#e&>;-C|49;wJj~>~NVJPy9 zQ8^7@c1>h$LnqNFbf!Eg%V>~{fnH=yS)yH#r5GYqRnvliN;_RdeVPcFjD4;0+kQRR1S~&Mu48AszklaL|KodtP0ZF7cgLrLv z0pk+HgbH{j|4E6mh4}&V3*Y~bA32Xbe80D-eU-ER^wXSER(5j2Z2<*(zq|X;VRvdS zRSw}F1cd}#%en|DBN)L(2-}2(+1XGD&!pe~;eWZSSFI|cK+099ibYw;Iw;j_ipq0> zWlT2Ff%kssLu>|f&ul+*l3{l$g!n0 z4K;1Fp0{b!CYIzPZd+ShmR(G#ODZ-)>}-gVK^R(G=-JmZ%IsmPCRwNDj26OW=c_I(12DnC}jBD4@I!RrRwn~A|)D(C#fg; zHLRhU7)L>_fIrl?p=;Rd-+5 zDjG?BAe6C{tKou`VDsxF7cXgUN9l;6oJ?{mYdBDHR0T`^5>sD+Qr!|6D}iPNm5Bc& zf%Cz+O`lY<74+gLVh{(=l#S}GL6c^YurTr$YltR?A-FG6RI>FiYG7$0Y7^+_EYcyw zLJ}6LB4tZ*04Z9ZoEHOv3KKGgE9LBWu+&FTYnVegIm3j~TqJr7ZF(b=Gz_X#E%LEn z_z<}418Eda9K}#c(l4#$q)!?V_!5}H`P5wD6Sutoj)t1V+C(t;pFp0WGp_CG>YAZy z|A;e~zHBz#fe}_W--PN)yQ?YGd_Fy>#;lv_FrqoOGRAv*53UgMm4-M{_^U*#sJg5P z^uYf4`tg}5j&P1@`9yJ%82+Vn`~iv|#vSF|aT*#LG6TntHJodr|KZ=CPAQOs8#HY?iIL^tu_1FKp5|0g$+z~_R)7rPv}fK~ zv*9d`HBY)<|I*#g7yj+b%qfHsWIDN2Znngb?A8QA9U7+D2OL^4yO8&mEnNg@g`6>F zIkav*!_nq7$v8_|QMS$H8L8I7DrIMX&tW=AM21cy)pUe4frKn=4G}@BMn4oJde%e; zZKbYDvO|=}CEgLOs}=Ok8cV$7Q>xfc{2}^P6DuAzipr9AlQM+KG=g${ruL_3r7?-- z<&u*$Vh^7mL@a^=@&QU?F-1^0KIagoXF(#y6RD{%R5$TDgA_V$9H7lQe}DZAvK?_> z^0M=tm0im;D-hVduc!FblUrDSpFydPVfR3;;G5l|2*DzX2-6ve1&mn()5njLuYSu7 z?%)00wN5FQVNnSc8!ka{!mWFKSza&Wu_O{PSibecw@aZY_w^rj_U$ zEcYeo@TD*`r!$!pVIg)}G?S*-+uJK1sx-ULufj2Lbt#;daXt9HnY~Kb9%pkHP-DUq z7-p+>i?&^pUcIUsMRBWeD80!6d+?uab}~Ibd)rJl)e=E5z;5FQq|uvr2p1;!@Tas zPnN4<@=Y9P?4V9Zd8rd6NPQE13JKLkDw_3IN?}E+M6sNjhzF`f@ybJ>$r&nlz@fT+ zW_m}y8VqDbqmZkVV844+a|;hZpd=b^kRJ@iyQSer0zrzp`b$0wav}-Fgi6bI;ZVkwCeU#yXOanYsV?-~f=2qC3NZUtt2&XS>ZlB0H(_PMP{>iq zRxzuQaKV489t|h$O$BSHZg)$e=2T9kBaV^~gN&($aAf5Gj;%fR?fHCV<%L z=9NgnmY48A)8)M{znavK3Ob2kb|&1F%4%niLY`lu zQ3hW`Is#cjUoAukkN9NJ0a8SEoOoRnrK041^!7WPB`6V3ZQkM>8ygQGguI2+oO5jO zxO2FtpT5uh;=3HBjcr6)U;rd~2t#R|1w1}97?>OED{-ur``D9D%|G+#1CN#x3rntS;CFki#QTF+_7Z&K82lh zQOt8L(T|OkV&U3gEF5B>U2Gvg2`Ld7kX!zeBr4a07k8V`=Tmvvl4ZLJg#|`gL0OLr zRbCg&>N~{On$)Ut?~(rVevddGVCDHGpM{CyTiyW{Utz z)eCs%zT|vd1+XIn(lWsVPqQRrBwNdxFtsdy;fr^xMVJ<-qe#?luUWjk_K^wJmo97ZSi=a=U`V5qkn2dr*48!n4oTHuvN@FFWKK>rqjM%N!~pfi@}D{ar=MZSnL652 ziqti@_x|Vi5SHxmp-PhU%%(Gs#Y!9)YplclIkS$peCUI2LlQHdzQchX*hTalJA%<* zofAiiNu}rIfe%F<&!{@oZo!{?W2+}rO>YO~)YK%r;la@?ULgyetJmSgYImu%xh^+^ zBA?)l7bXSa^Ahleu{jIdIVvQJWTc$Z8wObm`RbQHQ{I2L|3fQRu5Er|+Y?K4P$Jba z?1M<~?G{(8STWt%**T{rh-GV+4cFG!{>K9kK7ucYM&p@Eniue^+K==aZK=BoE?Tr` zq`tnsp{}u|yRcAO;3fL;5YS}Of#$V1xit?_*C{s)+6)AqeZh0NUZ=PlWm^3mSE!xai@BGGwx7^yh89wu0%=(X^K^dufZ%Z5=&vs z-B3P35>zS)IP^(>Ovh1%3bsi(#nRCMWFmQCdLgtV*sZJ67b03QWI&%wJ4wIRx;`fDkK@DHh@6@<-eL;U6ZwwvL>D-slcs9(^!vWez69&ascm&sCc9Y z37X#`j&dS~;n?a7*4C@%MmR=NX5M6-BqagzR5`F>ie$ zzVg$bdvxIFnX#I>KE{9#@h(9LmK}CfjMgChRIldR+60bt>YrdbxFAJG<;n`3wOkG( z@U7Yxrsp4D(|zj8|M0tCzVhy`e084~W#Hg`)~<8z z4pvm~wJ&@P!YeXMBfON@BA9cN`21j53jzjx(9=(U`coNyQg+m*Zxa@v7+MAYfJ;si zQW7qNLBU*E@V%0m$WRdg)eij0+)(X5zS6Oo1> zA)fO5Xgn%Q@jc?fc#vP=)j%WxyoIi={H3|e7oduxTnR|2v(!&~&e9&UGZB=pko(3r zUMHiw@{2FN$XnCBveenx!I>7r?&D8C&4Fuk%mSdY;7E*&$Uyr#C{PSV?y+#x8SB|c z^SixyS(X{IcLR^ zW#~GtGc!L&IwlO*QG*Nh5{|`Gknvg|hz};3AsLUAjt?9TF3b&wuDR~|;DOy+%Iz(U zb8o-#9S{y)7&%>58y)3QQ}zLv2|4Mx1q>iXj!|L=+8;}fCUhB{`JhD!_c)A+SX(V>Vq5EdMg;=95wv%ZS03$_sjl#KDo zNu1{8oEny`Vv!`yyOOx4&oh5mbUIdVl*@#2U2PnXEi7{|E2|Ek?cZ<&Y9@3qa$(vK zLbP>EX|VtdxMCHnnOKUcEvR3x6H{EIi3G@%iu>bbeHFEd4XnEGA8t6r9_qBo59Wa0 zl&6Sa9ScYlD-mX#B^Izi;z}f|bc%k4gl4(huxR z@nnY*MJ$sI)I-sgA4n1yJfD~~Ai$bUg2nJ}V*pZ!2P{lE0;%jH)RM}R$hrdyli%13 z1u>_Eze^0{K!&{dR4xi5iR*PT>QfM>(+X_ENOh@zasingb;_4Qz>TFB`H);Sr8ERE zfT$KqZ6&Ct71=_Fs#l%SQY^q!Iw8!^MPwD^r&m>#x3WhZ38!j5AyTOfS+t(AR0N_T z!2!XF2SggsVj_kC4cbB*BPIzH0P3a0>e&cK4>X!6l2AxTaBx=)rZfo@jztEdMyn>_ zmLF-T6=m4One<;`OK1v>BHto=%oEH61>Lo0o{b@1rhMzi{;AyB)Z#w#r>7Ym9mUIA z7A1l`)-VvGVb0aas~b|yJf`t!GC&VvW)}&dh{T-UJv#$Ab}YQ|%GZ~F^_zQlvB>xu zx}>cdfl#F0*3rp{ zmCHK1epRY1+4L=OwH~ZBUz(MkM|NA>A)g$bP)$66a!~NJ z&9;{P?kuygJu}bxY})Bwf3^+5J6Ep2$8e?`!c(87z2Ozo>n7Z2qJsR%e(m}-fE6fD zP2#aQ6yZ>!d>Q{8creur7i;l2P0FQG7>4FFcP?`vXvc(-A&tbut1yLV4f+zd7zm#6qfUx96=uQ?`s2I!k`RS55uyT& zt&|R4p{|6(24n>!{7{G(P#jWiZdvF{&(URU4w`Yk=Kk!Sdz@eX;-}@so!x;A8`it0 zcC8F@Qlz(e^EPK_a!&0)VJ^Z+y>9IC9$Nyzz~1^Oh`M!oh1jIB`4duzcmNUVVzTc$VkpF{~6G_{(9? z$)tq5jZj$*B%(RkL{th>#o?j8U?DSG`0tcOzniCQT!)xR!i+7_;;@k+UsVnV>O5>_4W0gyv!kd z8-E$nhMgD(ehoJ^)#u6YM$tF3$Ld?eH!t8ROQYKOeUQs?LwR~;GE`Szmqodn(f4kr zTP<`#8Bo~s^HMq0Ft%Rb(b!n$EbmzU2js^e|3X@kq~&o^x}zvpZ(H2byl-f1B>mQR zzPnt+gKK(nB$&Z2j2>1_G3n+cD`li#WJxfJ*+s%z;LM-NiD^8(GLZ^H#NbDc0bv&o zT@+NYylVqKV!U8oO}%g$OkjX1#U09Jf{soAmXDdX|0o%P*gcSg2dJ^ zlY&%omDfq2l*oFZRR^abJP!nG=q;d0U@7!tl@eo+FLQ(j0cccOo<%;Q4gSkXo=Ii< z03Jj-rppQ5XH`j6Lz2Z(87qS>8=Hd?78OhA4Y+@I**q<6s;FfRo%{|c)k|PG2xcwv z!LZ<3Fla81X-OW{=mb_p#cO^GMF^X zs}Ms3@ky29^;I(&tAr=$^LMm*k>e1T77hy;&3p)x`BvnfQTRkZi=q(*621c3!9S#Hp z-v6NwJNtKREnRp0I|H4|m$_TEY;`8_e3(wliInS2;~QaOY)T`x06rerZ%s2`{~#P= z_oq>gE$H+g*vW~%>EdU;{H^?bKmYl@LTcd^X!4wqY#3M7RZo!P&oD?0AxOw9R$N&Z zn11XX7#v`GL9U*-*6vF8yh|8{M)Ld9`BaSg^0rB^-q_+#16fBLS4CGCrYvN_>k4g45m zHW3eVfSH&MLB>W`J2`6T=R`RwwrF#Snv5Y^9VX=^lXZdFsbL%|hTT*)9b^p#WhKm#b--y})Gl0l z_ucnf7>`*B*k0TNEQCv!FT|rX5Q;FCrBDQ-K&X@~7)*T<6AIr-F4-wSh-LD@7|a+7s)ZGm8>+N+ z>d`w__zz3`WH6o0c-LO@=2Czr#3j48VeKhw>C1B7$}V?cdYz4@d9)9`>cWF~gpioS+3o3-LV-Uoy+Zc+swoxxek=i+qh;W+UCvB@*?QK2651`=-FlowrtrV8wSr=>}1*1F~F?T zB>pRwgYIQG50sIm_`~>4_rG#^v-7jv6T>6<+C(BhJzamC{FSeEV(3y|_17-Z9=pdf z9aB>iFFXD8^`r^Diy$MsYN9H<)pzo)<{6xg&5kjRc?DCc@A>h!zcOe)G9BN{8nxJ7qo3 zxnO-$Gp<{(D6L7Nhl4)0bpsOu+jxX7P~ugj4A$Wms9%i0EA%D0HVpa`0Q$~9lk~(8 ziIbD%BX+3}yE4!lXn;guF=-!qwl0ZS{Kpna(a1wLCG?eO%T?)NW1mHhVW>UA%d{5b z6pd*_HDX%7B#8x+2?5NLTZUp)M&PPcCKr?qb5LZf3nfFtAyvaPfvO&( zifgfe%31A|gG3ZD4J6*h@FY`K5;=bPima@GfhazP1dqmJ06>6BQrYN>`XS6DvFc`+ zRC%IpDy(;62xh4?mRcq9Kyg(SkPqtd`LUXcvJCeqVp?;3=%ELkuYUe><;!0An&1T& zz9_JB&mJt%XPxX^hAO&&x!E~)l6T<*t1_0Ls0aP+CknQ3h`lQp?8W|#6kDITBvZ){Ur3*Ci+h4PMS+`o3$dM|kt zhbM=xZ*FYKV)*v?_V#wO=}`WsxVDB25r;3v1L#b`3GG_EI9)4oUw;4qKmbWZK~%~` zqncrnKm^%R4xbfZFj#=K;bH6?{`J}$Z>jsAd;UAJqNO3;)YM*LgPvR4&>CQ!n}r@u z1x4VCGv&X)C>ci0a{3}uR&2FxaZ=b!h)CL&v}-m8uc4tb4uqT~U8`x6VsP2g4*DC^%UiCO@c*h2t_5D65CnzT?^P_n}5^N7i_DGuCeP3Z^%MgR0)gBJgX7im3|ppMc2 z_W4^9R53{oxl^bTiVn4+0ge@yq|m1_Af_?CkSCy^U9F~wIrwB2^_B&-(XfSa3=W)d zNJOsZobwW3@q&Nz%2&AOy?B$$D!#XU*8%77(PJz#%p&4ZoN?kMCsNdyC8;tqHabCt z!?e?LDAEhg%^&}G@S;uU;#-1Q1g3;E?IPxjgyQ9KPQ`ue)o*lL+g5~Le#uL{ZQHjx z`ws2*<~V(_W5rUZwWY}!=sy~moS0&1rOde*>7*Wkcz&d$WKi2OW1Z8co!tKTN3 zrv7n!a?Fb-YWFg`F|IrnPv5z?Jy)So+G==t7}@2zgULwzKq`}c^Cg#D^y%5j;feO8 z?au7PXq25Qh;)soO`WA3MPqW2iK4B83u*T}ZBxh=Wq-mYhlHfF0~SDSS|MvhQ0bM~m^RxJQ!K$^eNtNLI`cF{IN2T5BIt4J0u;z78CO$am& zA(nM3QaaSdkW3N8n?w*2l(nBhHDAhs7mS0b7%5b)a#S;E=}&A(;!2MvPEz6YWPDOw z{fUnR217^TlAg;?uhI-6aUkjgABjbV#3vpZlNLTyPi-QdFv6{Cf+DPvx~X&HKdJd@ zAn|M1Pyyt^XZs@I!%V9_L7Sy`0TRY9H}>QuPT|7l`Pq&`5rhs1)+fGF2)BO}qvDKa zq!$TZRTcP!5TOQi33R{mFfkA6s!f&RJE;_h3Q9i^)GCFh1ea<)jn|cr|6K(TNt&1y zt6EqB1H{m-auHQ36IA#ZA}4$0n-K}{Nn0gTfhjT(zy_@_L5WHT+&aWaqb6!aCm^W# zF(6f}QZPc}qAY<4ipWm&F#^)~mp4UHGJ{8{s5^~Iy@@VT3SubM*Vpe{aoOe0n$tHp zZ@T*G@{TRLnKBth-!Q*h;c1}7LxKow++PY)=MeK?=k9hV? zX-~ckjpTzB`opW1cQzozmRIt$Xne0yti7Y8#0ZO`Wp=aEgaJcNw65ies$e@g`)VF$ zXE8gQdg;228;02WHdKjp0wx(!((1Ei2&tvD$*se+HXm5pExOB3UFYGK!+FiCUP~Vr zWEm>v6tm3OqW#ey!E>_9DY>`(^Bs}}*tLwZfkY$gTsa;Km)IIedxM*B)Z6*g6Pi}X zB0erZ7t)Mac@bBce&SQ5{B;^7f+70?`3nm?>te3ZR!kv8Nplgj5xrPJ;J$a#$F z3t#psZ*6zCyR2iebMU}H=Rj|tH^&Z&B7LqGVua-j8jU;D(SQ$T z^6}+0HPq*we(uHP&)#__WnwB@#&ab{W5Pe|h>EG5yk%`|Qk;vgeZ$q>?)`gQ^2Wxe z37ZvWpV$^m%zuC64+xHq=6JID8L)}(BBK9xScxS{?% zb2BraBHuyin@Unme5GRm{Pi<8ocXq|eeHYU)bubuVJ4YP4sf8NDdR6*CuXvz z6oX5dpLv0BU6S+x_o^#ja|%0~Zh-C@n5|MZ)qxAK0hE66h3X{VExFc~MMu)PRE!C{ z7prX92XRvx<8OuOQhNSu;Gp;B#)f5p+Y$=JvM3}O@e)4mrG%W|$>--mGJ^bkYjAiI z493QiHQ_fAZp)C$SC?c#HJ%@0VJcfqFFT|qm{xV?3fXs}kS`h^9{mCa(QiMnclTt+ zDXWW_`Ed>aV)lt_H2I`HpKWST4@R$XoRsm->=h<9WXZGx^y>yS)5Ej{(1~CJjqS@r zqvL~xtKM)uB?dVZEXm9iSfX`Uqk{OmbyxR?erRia^dZ1X75rX=4AmFV84-^XRHlB^wD1uP1f)uDh7Rfs zRk}fygzNY3s*GX5;Fl<&@fedOKL5aH2pd_e+s$j{mVYb;wMhM-h91gXAWbCtrievp&Qw6LdLDjZm| zl{G-jUIgQ!L^Bs|fU6~ob0Ff_ZOB73&q%uXwbTR7h zcvKY-B$g>Jnrei~CCMaLH0XhY(C}5Lr6GIq4t82l3e z3eumnF@2F@tWm#=jZqj51-^3kT~2Ldi+k3_HSXDGuE!>5+}pf!uRA<43BTZr0oDy@ zD??498iEPe))9;=4^Uv(-TdT3)VRb<0?SB1z{s_P@hTvN0_!(y3^F6;yzbh! zVJJ~@dJgxwGqZCjjxA1C=Q6jyug~p2IzTclHRy~F6TF6Z)s&5GZe4So)3f_&;l&v` zK3GWB#BK}*`+rHNSd{$@G?s@(kR|RBI%hI-9=Ya?S5CDrUgjR}KU8ku{F_paNqw+c z$5vL`t)P<TYZgU6vj)bunI0yPWkI{KxpR+Hx1qrQ|((IvZA;@1C&z^c( z_m75fP3>aK38t&F5w?`5_|LzHqn6NeP2dX_Xo z(S~UAaCH2k`b5JShxhH+)vs6YslCy1CdCl} z1<(g3IBFHz;t*Hx8i)j)`ecg}t*HWz_}BViDK*h%0`_X(KI|-C@;Jjax{kyVl6KNTmx)LY<|Cd%=^i zNSNTOMz_orMR93=K`b$DI+{4k>Vg0^{YZ!~kAMnL;nbPpNJMD@N^ejl{sTa}Z)v`~ zbEO2K^N+XQ?#@h(2SykLF~t{1XR>&~OS08)&dahc$f3AQo3m3M7V)=<;x0BG_GYK1 zyfKcOUa`EpbZE!^qwFYqS27t{8m(#i4xQM_QZ9FfRrjPH(5Oc8n}_Evwog_+3&rwO z$2Kx89i%pH+?bx3nylqG<(F6ERPWRu%=lL(6gt#cS2w_s~2U6LQ4w^voD^Wo@xkt=J&$GUPsF)HW0-~w2)30QaEus zOnzAecu=FanVBV;rnUOvxMx;7J21**S4Z+IZ+Y9h-}2~#4?AD}>gO}V$A%)m{Kb9V zp`OD5&J&+tE9-|C-EL;y;CtJ)Zq8yz>GbV*ik%b*NEtGq<3bDIM0U>Sz>JdVc+Kv4 z9QkY=k{o8$Bx~JhH0&&-Gv1=cW)zuv=RG&Q*BKZZqN9krS!S1@KnNDk$c(VU3~M`2 z?dDt*_Q_*Zn@VS77ha0SB4mw&qlB-=edBxIfPR5a2YsNE(Z^MJMg&TWK%yqmz?$+W zwtuFlGy{TwU!nvuHu@9+D@baY7zX9R(kUOZF?k2ihyx^#M8dj>%M_#}T)e3&Dw_vM zbLNW`BF2%90&@!%0YvdsOkAY6N{cZaJ{%HS=0T}G%^-X2Yv16!=!`Wi`$gQ%TX(uc zLnF>YCWTdrc#DMWevvHDA1b-rio1h-`&5iKGYWEB-+(U1-*U9Z4z5C^t9M@9jHsw2+_Ao~G7C$@q(2El=iKH2|mIZkU;xE;lwc z9#KAosclR?RGzJs3A4Mxs#i9b{rJ@E4`Fi zT7T@=vFmf`yoYh@T^v_F(i9&VUFIy)iNAwvul>9I+n##r)o;4Sn;sbqq*&TzOFJVm zgdtFtaz!>s$vB*II8g2vQ07r41UrNUmp~nnXjpzc%FC8@ao%0r`_jLDqWtH_pCUYJ z#?IasHWcu#$^x(TGeFO~gg=f2kiqINOwkrqOYB=b;xNTPUqRsvO;_ejA9jmR8ZD#-D*WZ-+6q;0*pomLYumJjaSH=;Ro?e z4yh?sOIsjNS8KH-lnR(2;j2)`C%^tAx3q+j&f*w0B`?$()Lg?jn<_$hD2}EFtVwuL zo<=>O#G+HYl3LNgCuB-qa<_V@?RYjy!6}y^7HSemYDX@lDrJfXEO!BC?MzKcD~u~s zg$hplB~WqvF`Y_OW0;boC;&`6*4o)->)i6;k2oWYKresAtDMElniz47V$qGL%H}wL zCgDs@Pr4Ih!x)N{3UZuNU2Pl%0LqAOHB^mSjVG6tD%zb1o`ny7zMeD=);?C`NztOO~`gfsk*=7Un+XdE>Q; zLRyV>A{@3=^?v7|-%p%++WNj-`wv`*aadgGn2@7lU!YofljzKgu9 zJx-2SeI~vMv~0FCJUTMzCF|?A@~zn2&3P8j3Og^ic>c(A$=!w^n?#QYWeSD02yz`_ zl+bJnqd5#Q%a`E?`wO4`;upGpckh3eKX%6*&eYg={C5vNSbp2}ZwoD7-ob>x;EQ?= z9C&G|7MtUmQmQ*%=X7B5{|>fOC1K)bMNRbIdaIgTc&L5EH3GlfP@;jiFK3-GZDC7EaQh`rKFO3*{fgYu3xtT$6x_x+phf_Q-6Si z%VxEtgrlgCDQ(I_d23x9<3r&vNw2lJiS4Ab-XKSi=jh=Q%q)pl^SQi>Qjg=waz2E5 zl5k^zV|(|^%j4p)zshkCFVm)c+0VL0CPyygsN6Ow z(9FJt;H{8mh?Tcm1Ri2$qUrIo&e-_tbT)mnGcggbY<+$K?*k{%efiEaR8#)X_V%{c z+M2q5C9fA;#62;~Q2nSd{#-nSURYn(aA3pf8-Ac~etysLe6<`tL3sAv^Dq)^Z%@|E z&Q1J;Gi+)y+4%#>Xx-OXvV6jIpFM001%B^BBLDjP{`b`b%y>htE^ORQQKCUZ9G^)JaAIH|nJ^XnjnYC7 zOMgvrGSWxOiKyz4VQBhkb(?|@@YG-O?AHW11-R;~v_zs1TdE$RvyG>w z85y1k6rMD?K(fLVg#`VeYK`{9r8w0WXyxb}>mU)16(G#Y z{%bHO4XkiE>*MnnNDhcPI7U>wr%PuM#1rF*(DM5FDShMOc;}jFJ+PEvqoY(Qm27TU zRR7~2{q&{(^uZ6U`sAIT3Y>q|#@r|Gy1TrjwI%rd?|o-xZei{X%*13_5?W|(Uc8Uz znWjYDtC^m@`*2_HJRP-jXy5iyl7(%o$pcvq-a_LRr!d_fN9f1PIi31Qo9RFu2^HK1 zm>^@Dnzww-T9LB1=Ja(sMMfWyNz7@a^K7Utc(1zZD$!7Jc5a>x!T6P+W2A4E10&%G z@4Ypp>6r=0joy|udU3y)sPZH7)A9l(D6%M;2emSH2?)_H%ttFofdCRBLcGRWqB)5M z6O>AAKKwCEwD{x*Ur<+RrINpq1y4$snYVrOP*espZ^TA z76-xdU-Q`z;Ja*FR-w*2_}-~Fx*nk%rwfSIZqmILQX=)UDdT)ZGDD)9-jkY$?P z;wr!EeIH@3X!#v7c-NB2=(1&|prcG!ojAzLc#D}W=JSIC>3IA(OPb2$d6%UV5#bh} z<6RJl)P4&f(w73GEIe!<1YrCe8$?XdKE-*~~-N&t9Kzbr+>WP-}msiJJAxP9PA z-|}p(SnOEdd8Ok0r94{Q*7;JdaOKB8a_jU@|L2!pDKqa)9`Ey~JZK{Z3#<+^b;rpm zEI5`~Q^c+X17>h1527q#LCXP@`nZ(Ba$D!=R!m!69sWmx+L=Szyzf3iCKg~tETc5) zr9`JbL-AOF5c-3Oc%kdD8Fpw=gefgtL82+~hxkrHK-n0ZSTAXL8plZF!U-Z#V=YA& z_aaXGcLfthG%^-wRUR|$v3iJ;`2_ZSj-^1P6zNnZck7_FE@S@$Gqac`HzHyJj0|Q2i164=JG0+ z(5lC3V~fJX%$mOu4tS$fUpdgtkVzPlOkk7FXi`v6Pai}9Qw4?63BLu41Zk{V(FA)Jq4s(ixN^_$lUMl9ZEGm_m#zAX%h_ zXdB5Re2ar68-3E2Y#}}`G%c&ZXOIF9C!ypa%6g(c}Ij}}Iu@nryy6sjOAU%UzT z0fqiVSU%eeVlYAZSj*7f7`p`G_=K2t?z-)x(0asu)vI6QwKO+DCuR5Pr#HKYaZ@cr zIvwLKcA|I;AGH8kpiG7gtUpg2-tA#85G-JQ>t6UJcScF#;GJK8RIe zq?AsjifqsA-?R6~l_<9TqHC&nf`0X^izYKAmd+njBQ`GP^HHy~aL?%*)<&9J+sX%b zKbc>=xRsMEXM;=y2Wpu$k*jvGDORT*MuooEibM*(`}u$6j*pLBseGCJNG-t@0o$L5 zrspVMo-WOp7=-+sIT$=J6~yz#S4#6&E^C^R$?;W_Qxh4MPL5S*UU^!bl&<0>^F$WJ z0WKOc6k0nvIo`=q+@DT-Jn5mDSH%X)%2GNRSF)A;dVF%k&pZFzFA_F=QnD93qJ$kT z=87Ayy7E;!4&oR!`xnF88^)@`JzX^F+W|b(AgTF9b*65N!zh*2r zVa;i5TS0s0oNNB}M%p`uwQ3D0gK!Y+Vh7Txci}>~YvxOwB1)z;)jg=Awf@WI5lrEv z3aD@5HrvK*JmvQ}MD^K*Oi9HTekcKUfg99&s6g0=PcXS|6&6;ZRyM`(4M6;CmBjx> zbg>dSDJ5Yf7ytSXRuMqrt5pD&w3t=|iFi>jf56lxz9l47xJ0dAq|L+t ztP%?(DHxbH33&Q9mU%Je3q>M$qmt9sBHr5~zBp2ORf4EYqbbO;B^#^1#Dr=|c7jhN zrUyi*dEKE@S%NbFGfeTF4??0O62osr7D_;%VZf?HK7^4Yc(H0IdrO88QDKsK{HtJ4 zX$_Y~;X##cW_5*DJxY(6m1vxk}DLSbxVVlEa4zKf3L=Ur}>))i%c zpw5~xP-1&+Q{!!u)3dRu>5(rI7Ui3fI>6e+yE;q(|5q>4VVIP>dj0x!#YZ1`^eiHF zs0{u@d7#Ok;?y%!A;0QewX!fgJos*p-|Jp!i3Hn2!PvWdY-!0_SQEr zV!P+vH@&Ck%yk=s=f32u@(pjlP8+YBV@D2`IF|f}6QdLNbCyR$N(jNmjap-73OUNs zNMW$|$UPh#{Wm*y?aFIS{&@dx&S+r!nHrig0TvI?LXa~U;`sh5U<}K02lmTQiMIJc zoorLfF9aH!>)Epy3tV*G`Gmo>u6ZS8w{_8FRP28Eqqkt^Uu1d^tA08+x=K9rG4+ps zgoau?pMsfBe(GN(J=g&Zkt6d!HQJ##N!_oAk!a#Y=un6h9ZOV6#kB#2O~0WsL#_5n z5lLivzbIH@P6_!VW5}Nnpfw4kk7_3InD~ibZACT#V?|Rkh482xh$~pc7erBh`WFHs z=6xf~%;~7;)4ER~qU*i<<*x~F_6T4&!5w?{yW4giupJtlTS8(w3n>ni$f7ESA1o== zB%HDSJ{Yy=%uP>G7glF8X;sAb%fblg*daH^_Q2adatnt=Eq50!Y7Ptx4uy1rEL%Kq zTV2DFl;e!!qeV-H5q5Rp@|`M3(ZLTTOH0Dp-0Uz)UITs$X7Mvp4jeqN@A$fPU9x|G z3{TLy(Y)$ixzrpb(GZ0OvIoH zttx^L*2kD#apK8Fn%8x&z4nF#H1zL$MDNUTdU!l|Hu78kBxK}?4N$DHwedKJ4&&re zM%0T12k>b|;5nDzCV*CPB4cBtFG?ipGCT`@n#@;#R4=7H>0Qexb}1~Mp8e?Kk3J?B z+cuLynDSG3cK2gCPG@JQDkPavV)n3sb8PU_wGmB7K@_;ht0nz^rB-|K_@c{(xbthJg$omCCqV84P%tBr$Einaw3C) zFo){h`;+f`JN6wYCgQka2Rxd=G;7)&K`CgchI$preCuu`%u%(atMHu}W}m^JNSXwa zrpxzN_w*TdGjb&n_exI*59v+(q)dUAj@rBlsxiogk||Wh@u0ZkBi;=;_HM~7EuYjy zS>8$^Xp|>8`H<1)lFsl5(-P16P^zF<@F}rXXE7z*!;TCI3j;)Cpu+-GU&XaKGGzg= zf@v#F)sPxR$@qkW)XAifrGqPHaGI^5h<}Nw>@wJR8e2PNod=V#h6iEapcJs`qtq|^ zU;&0IMgt>+tY)BytPK+yy(kH_6ubh#kOujxFIHB{h-8Kl$uKToMDk4k%m+P4SaNCB zgQ;4{ae@gKLx?K)LUuf;IfM=pQJ%_HfNs1SR1$cKp6Sm+7?m-SN%rLtjD9la{dYqM49+}EzIrUdlg1-O&(M$Bmv&#+v z?POTIXz35SR<8Qo@aSObz@D9dCXPleCuSjlOhud+dFZ`*5zi{dcK~s6r>+2&SBa;5M5vlB#e*I5(p(Js>QGEL6g1Gtbj#Xw!5fZ;;#Xm7 z_1SaJJ+E|1*J;6<-u>>vXFq*cWNvD{_{=kpu<0T=I9r(gTxVzJtj-$&1}(=}-I+En zVxN%I)U=e0q1j`5yH_qd=l6enAkFEGrNJWyoLD%>Dg<4PIDochCmvg2L*)hRB*=ti zLnh=g){Ei*N&D5)nWEFaWTn6jbf2;Y?$CS{3%WLYPBzw+XFO>SchmX} zXW#(NcV5Na>i8G#Mad@8GEOc2@XwDuc52u1j^pswKf`k;jIFEb1mDS*6ndxE(Rn$O zA$RJ+)7P##^zdVk(!_Z$H$A~=pcup=Xt9=oKJX<%!)ZoPowR>uhgcEHr1dy{obZB! zos4M1IrH?jA(ll@C~M`GQPP%)E*;G)&JY`^zpYGA@Cw_~nW~!D4;X!0zege^Ei!<& zPEfNCnvoV`s6(+kA=!$$S22TcM{f_Nq*uILKp2@WMM4lY8^#oAi0zy*i~gzH^aY> zBZw3(f#YWdXu^`JqWzjA(m53GFVyNpz*2WkqRO+J#7eX;`0w!u$Hpc;aI(rAP% z25G#Z@~2kJ$Nv*Uw|4vK}|vC&j*P2?Jy@G(Kn1!`UVFLAE8|B}^-m_Qd?va#cf z9i6Lxakzh=t*5u=zlkRyfu!{>#i>4@d?y|i7M4Ai5mgW-zPbC9Rf*$6gB=Rv0)JMp zb?VFrfFjRrZfcx=@R3LG`r@tNPaXY%%~Q(IdtGu*N3-u`!y zZ+!3j?kJ9fe)ZsQvg_BJ(VxyvU6h^5%HfqNMbp|Whel8Kj;+ZYvlJmIE9L2OChA7_ zyzIh@?|;Wl?=NTPX9~EpW~39*HeMXyi1Y$pZH@eTl)Tw=ibHEeUv3~4kCtN+Zg}96 zcfFeC<>kYD2g*o$RuYGy(9&(ZSW&`BD5RJk)BM%6!xGN zt*mhnfhrlD^T~M9h9$g+*G1A4#1EN?C6%6OW8mV&rxZz5?NpMGkk%jecJJQjef`T{ zp#!gVH(hX!+ttxwXUS~ez6adloe(bKd>M%Wd_b`KLZX8LSxVwa>1k#TQl;BJ`z4MA z?+glmq9i&e?6;V&qb1=7_YV(0>WmH@4ZP@ri|AxZ&MXd&)RwA$ED|rzrsrKo$>fRR zKx3)C8nvpnax9i+O+Gh2U4DA^ZVY5=r;iUG-&)(y7`gX9e^5GfxaTXPL~Zv~wfVEV zXh-3?6s}HGTPk_Rls%kfGOmHruDSpI2iPseOcZs(p4OWmn-=^mafKnoBF}hzg(fs- z5lPlz`w%Xici9!q*be>-C8ES&VTF_!Epf=O5}sc`lRP>wJhUhnj&CZZ(>jV=OPDX< zal(xc*_u_Go?j@nw6)8=s6bvP457Tx=%7&eT~KUUfZAPlGc+y}XRiE6Fe4Flo0qOq%<}s` zbh|10kys6&l3JRG{vqjMGSZN_Xdh}O0cxh`9BheE_!WU`*lE0=v9(Z3YJsBf(!8wy z6|bOb7$ZW=@RxKMVW2W~V0rmD6QVX!Uqh!XP9imtRchs*inNh~3I=BT3KS*^gbpDC zL14d{!6!b2NkjmXY6_f^669)th_6*OE6u=H{S11Mw<-+?a(!Vcy5>F9dOA%*+sIHk zO92L0XeNuUoZljC?R=@GoGn(U{(Zmpr>e5ZW0!n<6+Z zXa@*Lx$%qt_W9xFj*j5y@k4moL#1P>mML_IvFs#jYB1ue^)ji2Ku+$oF(Zdh=>KR_ z;xa4cVg~>j2i=P{oe9;t82I6oh;>_#5IE<8i_sABY-h^^aJGYI%_yErV@wHnWlo0` zF?u&#{|@vBj<(|HXShc^DC(D}5j~pqg5Wpm)K&`xitZtBEr=Mhfz>Bxi7PH2>-_4w zen_t{DJ5iNqD7-B%`9kvQU!n|*g-=QlS?KTm6AZ)Mh-_v*ohTTg0VF4+z8wC81-Xw z$Fa{0TQ;40zH|OLXF&6gw`b46z@h#Dfr;;c1&?iyf3m^@@{h^@DAW^LTSD_(J_q`b2V1%7IJ7I(^dl+I!hBSwj?;3P{L z98keXm41=}Y!n7Ekc-UhM%=lfBi;p^WWR;?S}%BmXpisku3%Y$){9%H_*{z3xTl;dE(+5plxJ zu(ZNUi z)%70gnc{mr4lUkLg{5*oakHl54O7nOv13Q;;^D|neH5&Gd;YAYW)-Wm8b&HJ^E2Na zo17c~Zux;Z!NVsCc;Q3zkB>b3K5RfIH=eoi<#9KDw93aXjB32+Q)A^Lwje@DMIma- z&AQX4eCCsP%yxFKb%y%(1`@SN29B^UbjPk-Fs2SnJA&9RDq6}jIwq7piy4dnTMStL zO(boZ@f%9g+$SDiJZH+pw9nh}}em;@0h5~sTy&))mu!%2B@EGRo$EqedOqM{e6cSgIBM4Oqo1dZkRs$MvTFWpv%&vi& zTKU$#GNmUQfg!Z{H^Z)B#zF*#wYA_wa#^XMM&l*)J7qx4eBrE?Fu2vI5;!)u1Ffh8 za-&uJN(!H9VG8F@Mbpu+wvD(yb&HompY?k7&t+>B9Snndh;nlDXtcef)4k-vO=9@p8+uOsF!iU#ReK|Q_yaCs!|WxvxpO#e zdDB@N&l=jfbNlC*20cyRJ$1;vy{0UX<~f(X6L4a-Kpz*iw7i~^jspV&{XgL~#=$
KwfE&@3C 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�ATO*q9RWku5vwtg9Y84?Qi&e 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 xAAE51r~l-i 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

gJ-MVL5#9Qdu}OD90YL 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

Ln_mgJq*9W9acgQeZ+=VL?UR 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

o`>T?DzyWw4hI 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�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­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

UjXedN! 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

~!7h_1RkhED#j_kX!fxo7`s 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�&X>b#FkUo0`9whxv6;X1bH@< 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 z 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%0DFOuCB>$I3 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%0AL>g{v`nT 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 DWWz_D literal 525473 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 z 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∓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%0Dy}>1Hvjqv`2ev#P)%tjT;?;&jS@G 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

`2vww`UAjAk30^39AQUoEB(O}>@*NkR7 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

IQVX7o}<|kRkv}BgZk|qxe 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�{A0RFmgLkJ-M#+*TFlpLM=mZC@=WUE0^AuV( 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

X7NO8o9kOxpmSh`F?@;z=K3h|*}I!*h2c4tk)n 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 qhLzIYcUz2x^WXnldungMfd2sv(xKD3e$h>II*C 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

gIe+=S{q4QVyWaJ#(By*@h&rZl8d9rH-}U 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±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 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png index 47189f2c659edc08b39633f4d13f596f47858777..8829276688f1793c10c6536ec8de8f05387df708 100644 GIT binary patch delta 2901 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 delta 3038 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 diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png index 0e1598407ba56abc53e750775598387aed3f9f9f..7ffbbca3a66980171a94a3c4f7a236bbbe3e899e 100644 GIT binary patch literal 491040 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�g(jrI2v#fUa|0D4LTnBpI~@ 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�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�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

    9Ce&o? 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 z

    ?P}O*(PGm&Z8SaC{Q@n~MtQ3Hi=afmt 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

    mdm4-ck8l(3pVCa;x)che zYkmFx(32o@`d~nxXl;B7DF7(Z16#PBD)`BYhiFivWWY^2h~#`o$#_X<=*;8k4Tj%p zYxVDaC?mPbD~#7SPBPDK`X3Q?-~U@)Rv`;E*OsSzB9;p*qq;;IOk!hE{HfDI%tUQa zjvO_NX<>+O%}0>VINfY@ObQ8Y2Kt-Yq()>)mRK(sOJiSwB?s~=%cGvcZJZ;+c(Eip zo#z`TK_)9|C!#ducUpDm<`$BB0CiR=>1@e!kf~-MhzU~5uAn`BC$kLYQR&&nEE*Ur z-4M+HEte7`yNx%`WlkU~Y5dR^5uSJ5-TmkP0WQAm9@=}`ufw&|r(yNv35lBzRlr`a z$ER4_*}Xx3`DcFtU;VPLq1U|n75K$RABPL)FS>)_0d!_F8f7JHtSli1qLi4!JT#E; zB2rZ_rG{J;AYWR-^%pFo3l-340n;njpnCF2oIm+wtUEoIZ=Q(FddFp(t1wbjeO^ zkl+=_rCp?`vC@*8t=&19GuepBqk8W-v&ZwpkYOuCqPpQzqa|pX{#6c1PR*Fc>5!42 zoWl7T%B2VpEe4u4g}Xt z)yVE8;OUr{uDm*swI)U08(ku{v}_f$_oXYB&=gR3cP2`Z=Zy(LkV~kL6gScUY#?~V zd}#pnmCG^S_W+i^^LsG+>7R=6*(Y50Mt(?Ms|*)-5Ubg{UmWose zj>OBMDl3}UP?49`aE*fVjRLgc1gjkKju+lpXMGEnHrJ5Wm*7~hApgiycTMafuv`|MC5hh!DCu zUO}hX(#m=P>+D*i)x50oMuQasq-aZH(;5<&tX0o9z96O!(YbO1#{}E4ww1SEmfR)@ zCv2y0NDZveCc{V@PoXJq$H_R1u$AO%O_VOLToJyIMp{gWRo ze(*r>I2jtMIY}^i@*wgo=`6_W%Qb9+65iA6hOe1WWMd)Cv(*1D1pw1NM9758J!+o0 zjOT}QSp9)-#JOH&=yLXUPq^iQ8faz#eePi1)Kd5qxr2Ob8On_% z$l@JP)s@St8tPf)^5GDgD_5}orvuol3G%2tSf1}^%L5fiB#onYST6!}mU8y@qpKnu z#0KW$v5fs)R$ym&nYt%e5$|{jxaB^2#)dMjJUYrt#D3XJc2(-E$&twDda3%A{J5>B2vDWD{_Pd@$h)3CQcc4emnS;vE4OrEw)nUpQ2JC z?d|bUDR?W!qY72MjeDX#7aG7LVOgSQX%W)AxNAzNVI@^Uppg@N>aBwjD1^ET(eV11 z$ehyftCg}P@xD&5$?13?gcdWXM%5nJH~=tfYI%K_+*JnlktNg_x;7>oViLEa!NwHC zW-mq307Vy|VG`;HQX!UW$FHQ_2gMXdvGjpynlea;b^dOzVs5Dlf;r*ENyQUH%>m^| zU0z)qRTjz<&4$e?qAyA}f9&%x_||^`{V#t3_FwZx!t+mKcj+k5<`!1NA?#h-VaEy_ z-#UUt)`L^WPr=S$8LnU2rulFi%l;B9uPljfsi|YEV{mLAiW!*zXGq|xkgz>=y79m1C zZ?KwA1lZN>b>WudNAR}WPr~!=JPA)e`BZ%P(~r98Xe5hqZ|w*~pF`Zegsz!I|GbyE z_)C8b5eo8;J*v>5Tq(FBbmw$1>6lR>=wZ8Qs|3{ID1&Q9=AwzP>fD*84>a0UEB1ix z&KOgNKxC)Zqixa=liDa=bpl|5|3Nx4C)>IRa-#|a4>#9C5kFW*fvjcK23}i-Jar{P z8$^^`10u51*KKp`ltY8f)t^GMzLOPF56TaDv zXig4D{D#nGF49fo8=c`e(?pqMUQZ}0=F|uboec7Y%cQ4|Nok*oEU;HXhxR{h@RRmP zWw0hjxAaOxTx9JAvH(Dp9!M?;FXE`li_YdoYSNZn-eJ^+h#H=voCfL8e3-f_DZ)*F zgj(@9dF^6R5Iicc9=h9PY)jiafYHN`Kyh*vk3aOsH2kywhpzwVFS+{c6EHY(3|wa* zW3%P86{we&;LMq4;mY=QeBPaR!if_nXzR9RyzRDQaP{(4xP0zn+`qo#CV7E_UZ09i ziH=q1c_E9MxXVHV6Sf<$IVJN{W84Q(n&?f5od{^;doxODJgn3!etKa)4zg7gY;O=Ci0{oGMtfwm}W# zzEs1Uma*LM;oU7LvQt|Hl1PNQsoM=J2y0M78yBkFV$azemP6!7WJXfQXa*q!-gkw8 zQ-v+~!}^D@wuMgZiiv(i7TO_i%?DYRgBpN!;%6Rh>4J80nE%cDY5Ix>VC@SZi{qdC zpZ&qR-$l3>W4X2o3m(W^y#ddR=d`@OLTf8aaO&t0w{`Rgjdrf$)hpLTB$yQ?^m?Vs zypQaLLCl=EfB1%|ZRPQS!v^?js@H$x2>Oj@{;K)t~-6MUhr<_Jy3JR@Y1<1N)bxZw_iekebE z8jhSf2j%u<99_Bqz0qaJp@h09;?-{Mo8`?2ogQ?`9)I9sK%32GY0|ji!6J zvpeLdZQfg{p3R75ki9&I<0ntT?YAGr+fJRt-ckvl`1lv-GoSwwHZf93IrUdo5a%^c zc29Fo0_FexzlZ93e+=l^rwOlJRwT4bK@SRY0M#ObwR)3cKU$`pl*Ja7VVh=(&vm5Z z7^Cl@@?y;UkD}>Hxfq7OZexA%rgd3c?}w4U+(`k8-&H~%wWn(54()nq;u$mnU%;DA z=8$ZJTGi;eA6rB~Y)OWPyM!?AV|p*pasUoPXAVdAXyc7&dWcj!wJ2^frVXa)Tx%2b z5T+688UuAD-jd>1x&T-RxCVRrn;ccHaf-o_Iws?qK;NJoah-vD6hs^ZcaqSfLQQ2> zET1_o4xKMpme^s5Swu-LDdH(q!kTFf6eJoIZo$!*dV(@mh;|o93pj6p8RMS?OX%Z{ zfrO-(%D_fTK{smcqoDAk9i^2t9dDSB9izxPA|{h&5{C!{K*gwNJxftKCvn6fu~M^7 zELjTF3?bqwQ<+M=I&B;>td3yy*>Y`86+#&wS%g(d5io=#|Uh z*Vmb37c*>NWn~?k$pjz$(wFebr=R8xGM>8q7I*utx4_+Z+<~Km1G;$m3T$7!hI?1{ zVr&}7x*gZ+bfMGjL0%LhO3HH`STzBm+b#JN$vcZYl2Oydoh!N;PPe>*DM+g;R#k9V z7SJgQiqi&XF}MkDWwgE2h&^f|h8^(t{< z@$_KA$%3vNZRwBOm;;in+x-GWhQh_`lyUo&@%7waX9siYDpCy@2d{8(mMFjG>|oOw z_f|DOQa2h&w-?b;lt1SL8jTb*JVWjsUn|lZGzg5NY5C+W7(PwZAjDi)0cc`hIon44 zEX>ZYBEVp(f~a6T1NUl!O!DNpC=~#QEfPUX&!lovXO2Z+N4-T|V7>uQ*X8k$14I*a z4dH9VtS5QCQWzJ*n*^K6o4?Vr4T#W)6y3IB{_;i+ahXm#P+13Hsa#+uI4`@Wx*aTU z6Kkh6113BG+ObC2Ml4PaA{s|a`ACO064hR?#AKGH@W(OepnK?3uz%^g>;LN8A$;wN zaQd@vi_Nuj*jYIW)p8$TI>NotK|I)4^((zWTw7h?uqZfn>LgshvICd5w_!AzGR@q{ z^O8qeETYsrmE+NXaG;}e6=$c)1eL3FzQq=7q*~vi&c>FThX_Tis2)#nJlu!T)$=OZ;WjyXgK|-@~60U3f=$mE|}eY zAGt^WIl^c{oV~1|JhH=&bagZvV zc`JTxRs8Y~p3P<0&hg1mm|7@dD|{41wMiaRN5CcRFCK~xlOHn0d3p;|bWpRnB)Y5) z_1yF9x-9@6d?mQ&F74q{qk^w&9h=BF8Tmgl>Vm#;Z|Ehm(>iE;rn0y+KiPDU8Xcm_@_A*?QRKAF7&46e|)P zE>dPwKS&WPMM?q%C`zqSO)HbQ5T^|cKlqR2U;2D}&Li)2qhI<9y8g?*33O!=mrkB^ zvC{{f&Y@gdie2o(qMG6M_BFS&yAQoykG77i;mPBt@HzK92kyD&9@ri3!sW}?+|^50 z;l_91gFI?te9^Bs@!e}_cd9@JY9#_;$-9Bt=ZQ$+C zxdrZg-d%8XeI538_vyiZ{FpoU%vqR?$E?K0qAVfL3(udQ=b_D@hyKQhMpsTt^LY8S zuSI;z_rS~n%|HAw4yLtS^O$jGyOA9^Sdq;Xb}i5j}F|e&%CME*Xl&U&E#DM7lKvOg19`ZqrF|pA2g{` z+2~q&n&V3Y!h%ySpg3%Dv~YImhj<|&wRt*niG)tk84x~u7N+|BjDkzjh&qqenO3=&>Vo%dN-Z+Vx#``RX;8j7LyU zc^)5Z*=?ZWLdRv?Tw{GT6np2p;@B1)Ke~n7Q5)`$;Pan( z6rVhI&R6?G$nq}u!78~BusQ#PNLTxB{9&B`(A(o;XXxB#9`r0EtXVX{a|$%3do(kb zHgilkXD3*zR<#w*?SJ*bT2~4Whq&a7j3*Iyg2(m=+pa~sabonYjR}g=q{KcOL#xUK zG_29?n#RuBxoKC%;v`V~zdkOn-` zs@JtlFKcS@tE}3*v^p8&56HC?CoM@-Z-CmhO|yN{p=8u{yA%|t9ZWT0StrA#ghieE zxFqasY3=e^Nn4cKa>vZ?BG#7rMh;7GC>GajU{3~5Gwy&lN}6;wIGm+9^jrrIdLq@; zEAp5uE07+30_fB>t^fNUz`^%_BV7EBx8U^g(=p2iu5;`-G)>LR5A^$Mu(T{N8X7NV zc<$K?aQ@sySYBR%6DN+s*6}0wz)N2Y@KU0^gAtxNa}KUuxel}G1cv()2saMYOJl)X zS&>1JccItGT*+etjttE**j!(wPLZK6I?VTxv?%F=X5OCh3^P7}co#?Gk(=yXhspi{ z?CjovgZ&Y5n2FW0;L0v8t*^rB$_ku1brhd}$6avb)KM0{!MO|P;lY1=2p;>=qd1$6 z!TU1yx&wzrE++@c7cUA3b;S9z&p=*RRNV1ATzlL1!Ssc9!oitKfERXgB{0B5ajP8Q zf*Nj*CE0kJd+ID=^x|%{bV_~{y@vju2Oe0D$Wr;-4?>!_^jQT5K8>D9g!A3TZ8$C3UrtG|6bAQ#3rVmuZ+LZx|R^XZT9>741$; zp#Y)~(k5ck=jb1UrI(3b)@7in22yKFk3ZU#Ma|gY!H5N%sJNDkjLbo3NKYtmvj&0$w%`Le1-si!5Hiez-9hgq$a4;Q1Rf!`8I3s`&{%nu0^D=t3z?>VW z-eXbmF7J`+R7s2RT<%8XaO);|T8KHA#Ya84MA_C7Ht3-OjSb{wKzI&W0k?>8XKxH=pFNAuK63%~heH_~b_Z(|Gml~a0=oGW!s34B8Y4R;#M)rXnq2X)c%Yj$ zahvG35y8%i8xh~Mc?T*`^oNvReF=tJRb2Mrwb0ilk{kQ!rYkTPV$O``Sjtpe23EX* zXMrhZZ2_=#{a*cn@Bc09O1MhNq1aH4!k=nTH>eiJPdCAgoJHo@hOU|(r>|2!Z?CWp zPK(n-J^fl8ahjK2l^AGhNo&GrtN}m&!HOJ}@vFzlp7%69l+lu={E;O^iKLp@G)`M4 ztScdvYHO%_RFx67cywtL=+R2OS_$hz3Wd~f&=G*h#@UW79N}n3mozhw3W=jaqj3=+ zy>E4K$sk3kMd|5?Z9j#(5F&o%e_iT8ym|v~eCWZj^1uu5-bellp82`ogz4}81x&A; zgZ{BoFF!-4pE>|WK)Jtzj6U7kIs$jzegYnN z@r%H{)X{7~0ok!{J3-it$F0=LJUw^S_B5 zX|h;AQ`Ha|a?mttZkD!N6flwNE#ca+qp-2LiN}tt!mYQSf}_WeQn%NG!h6`hxQ!2e z>|uEFi%-G!{^f`@xz5Te^f!+{37L~)vCuSGO}v1~_BE(xL&!QE>c0J_TzuU((C*be zgonOJDN{R79UUU+6q;tEGb0V-q~uc)7KntT1#Aa|ZP=K3O+~mZ zx}PYgf6Y$AvKktOzUeaTJdnv|FA6ikUa zV~ly!`_Rq-EWET{y_2Z{|9rXMYr*|Fn{YHj)(I-qm3_0(v^0LNl|IPM68a?fQXVi~ zww&QhYTa@du|@a`2V7c%+`jW7Ad!?g&D}7BirQ;Tpdf$8ZUpX%WgJ{C(bA@NN-bh* z(`ovbDkG#1+6XONt%rtJR=*O7Ku}%`F9hC0!G+kPPhj)d7cqa;t0{cpbCCb|&*ALj zAB@%b28(T>30~IZ38p9xp4wsV-T=kGCaSYz0_v{&D zp+BQHBE|;YLh$`MW(mojD|U7Viv>}=nB#1=a16(q%x2Iu3vIsU85Z3FvOI(3{(#mu zmT>dPCT*>5V!z*`YB9kJ=dZ%~OILVwh{L@DSvQMrKjz&IW<+Z%m3RU8|iC=LN3m z(vqSZg*a|30Wb~64_o7!l4+qOR@%2(6NoMy#PJZa0|xi8N}pf1#3hy=;|BZ3cFu=1UtnbET6o^J>+GHS*L)o2pq);&pvY&&pdq^ zilPG>N7nH8iQ{nV$rE(ywH@n)Z~4kv@6(}ktM5)D?CaD8(H*Vi^-b90T85#i|O77Uj9;+WYV?!xxv zt90SqW%tzSr(yfTRk@jb(SxOx4ae_+g&!ii%6#l*xm(QVFursF>Us=IuAsGl_01T6 z;!QZ~^oc%q2HoB+@QI7zC#=lo^2CRm2!`6dk-4_6 z^DBc|@lkWaRWIzd8yFNl?$QK`ZJ+YEu*ps+yh-O5*#Of-j5Y>y9@Su|0AJ~%N#z1EIFPo7);hX~WV#>N zziV#0B_`M-?JPY_JvP!fw2=mgq=sKv)b+E8a$3!}n;gvvk@4p10A>x~`#(VLzUN}~ z?mwdL`#u8I|M+H_UOo$yFJo_Oon153EE@1xCZE^N)g8LAy#w7|-<`buI2}E9oVbu} zstU&A3G5Aru)8;e-JOOSww2bJdW5bfw~!nPp+T?_D;MJsf-f`3ixRWEa5^i$8kaI_DLh4QaiuY+Yt+-0j7ojlnF z+`0v_pZ8eLeSSi$BR{ zQuo=yg`DbF^yxNa2BcGWb7&E4f(FE4auXzjT|yRHs6j~GjMiY^O3~Cc6O-N0tdA+f zz}}7tfDbpkXw}-`w7Ia?obCoK5bv;htuKa*S4Zo*=$e!S8MwhnUJKC}&(p z0&+t*iyO7Mr-af65t?Kg-)llDJKxL6EowhMeQw5F^C=iR>d?Z;$xKHeL6ZUbB5)P} z7}Lioq1Z*{5s0_I_<`2-SJ*7dhSJJ5g+t-Jh|OZ^f*1=LO$;LoS|%uEu|@JHr@@VC zCJB8He$mBxdnbpx)e!aL!XfBZw*dFyZB-n;+S?>+lObY(Z>$Bt)aQ56eIDhUE zTsV7)c6P4gd^*;)x^vJSECClQJSIYv$++iy1NK7GYy>-(_6TVvh_v-Ly#cfDdmYlo zMx38MkM;I5Sj;OvA(&CW5iuKRP!I6oT8fLH77+o?2_xO+P_>Y5#5N;32gB&gUCnGP zpEH5QYh;B_b|8zCRzOJ*M*$yhNt^DZx&b3gSeuSxi87O&^30Z}^g&VsbaQJU!LKy5 zRY>*9hF7(LFu;f_Fdn zE~w959&nd3$c>X3A)x_e8MY)SQh-pKX@V9BBKe_8`;j?>wjM~N3a)WlP_!|Epw)DX z17*8JXuUPYRn;&m>!v%h;a#u^sARx2I$`sf!&(*;)Z1%{@k1=xJV0aU!0=Ll}X>*}1x1u}%; zmPO806Gs4XdY-QLA~S20?-ZpOC%Z#{YQ|cQ3MzJ7)D;gM9W)Y6g?X<--KAw%9(4W6 z@-iIX+=!dUw*+;}x65=^!P(R2;lhQBcX)1TT5G@ zn90Uxe3y1mXf!$gFFqmY?a$Gs^y!KpTxc9;s22ExI?n_mF~1OX)Q31c2ZT}1I#&j*6||KaUz7$ z(}i3?=k$~u8x?XmgXW>I@-*OtS}g)-aEvT579beFV1K0DnbzBBh%ZPawZz@m#72z+ zwJt+SEHvq5>$x}Izet6J)Em_@BFBBnF<}#ge!Y5{fDV}q6g0I}zC>;jZ@C24nUCJ3 zF1_$dTi2m{4*pPL0zPS=bglAQ)}u+mJVQ%(Hi3GhQIiq32eI;^j`syGIzh0zQKA?E zz|2z<1JlA>lLr_-dItNqPT>WA_)D<+j-Q3ce&UxgeBk}AId=v))PZvZU@!pcD2@<_etglJ+SAqh7a1-ChSfy%M{flFA~N zg)Y7jE4Q>kogev0*!Zq*LdZQFJb4!C(_ePJoGzb$cvZ zTJRH%dH6LsPwy%vR-=l6y?KMYS804YZaBLE<&>OCTkU8m=}+UQRRApKY1tAa$d6R) z+>$Z1XRm}oA;Sg9({0m#MDdU|YqTOKDWyCl??0wgY?m@v61XdkKGXr}L`#f^trZcE z=tQy6o}eXurbWx^cp&JmCILV4dll1$>9m9~O>nv5OiQPJg*=3Tg6bfJ0Gfr^nzs$_ zg_7T7Yp74ZTU9>d9ODZ+U+wrXpVRK&{ymkq-v)!XzlAn`?%(3<_kIKSe)msdJ|03| zcBr$yg`wMxRMigq1+2woXchtXc1N&%;{dwdE3~|}L|a>%cywhA*VfngoP~?3hVg73 z7i^zh)Dq!6o=;)Uc;Q6_ff~a>h<(a60cmnDOu#zPfoO>q^lKbTV67v}166Mez9ZvTz;QG!Go;`N~&Yr&n2jc_zRhciKGgxH{ zkc<(y_1g@`SWVe&(-7vXuKR``hWt(cniiu8E}lIt-APobi_CjnJINRRIZ0ea6ImZ& zXxM^O4@lym&>O}K|@cBsUXfMO*hjdV6T4`5S}>M)srhF8+y512SGO_ljnVlc_D&wbj_U#~0?ua(m^2N;o^(Wm0A=B+DA|%$ zG8bKMuw>m&Q^NdC|(9gRJnex4J6D zmuIvpW>7NjmwT%W9jPN>>2OY-N4mm@bzrUlYd%!-K&AVjZC!UoXHqfMO&yimwnJ7V2q7&LbRJK?mj*^O0teL zg_Ih?x>Fx*EGeRSM5q5&jxMf~$78sU)>A+K;V{_Ax*^K1YlNr3z zJ5xUOD92q#+SXGUaS%_8L;^V#&8W6Xb*WAXIZoCe>1LRvI?XwBZlw+=wYO@Zx~A3f zx!ZX)&gz=RGM-@1gjE1Smu%YTR-27Rb`{FX>kJPZ%B38?Z9xYG{0@l(6%yOv?Sny!cprixghRY~veM|quMLVE{S_yi*EA)Nj zDu6rJOw5c;p!&%taQNkC+}hoD#PZ+$93A=IABfw3{1+JB{TD7=xd6^}9d4eGQBSp4 zkoN`V%Y#@VxOug}D_3{o&d!j|_j9%r!eF@zy>6c&I<9M^IX+ca8jT3EMFq3jlxDLz zL$s*jwlPJwSXqWaW)yU2x!;4eo(MaXy#hWC%I2hzp_f1}f_=3kaOGl@#s!d8!04Uq1 z?wY7f2SYBIl}?alMjp~ptSnDT9Ev)0p_ugf;!x)!JTC>3&MeIUpP*2DaFs9sP7#pQ zRJ(0>^C#;qqJhTMr|eNF(H5D`iMD8}W6;DB(J1N~q+jVx`=F4Mn3|ZH7sMWExi13p zT#Pp#;e@;B_&k)$qUw2F#Ha;U)CPhQ59%foHXTuH1GnGz=3)5BPx{ePhdLX_VeLo1 z4^IC0cVqRDFVUsHd_V1e_#ql!-uAOt5@T{XhLweSOw@@gTNJOc#Ip+MNLVM3`3$&d z;4ANCp2PP-5GQxwd7d-grQ8o*n#3$1q{NLkoOF>a?gp7SY*mk1xr0(vigJ{|kX@5Rn@pN|J;F3|j;Pr}~r5F4fomY#!(T%6ag_8v<4 zR3kwhT=06JjF}|qh;Tmlp69wzSSJ}-xMs$>YH4-K{wMCEAV0^WZAy$>4GPwZ)W$?h z?5=8h6oTz5iDV}Y0rYGS)RVNtLi5XrE@Kz7EJd1jD)2$}AgD&x*q4rg5vw4d!(u2P&i2cA612C?s26I)KZws6J`_^!VxSxmCpVd(_*vGDVEpFSLH~iT2UuFC`MHZk*DkQ7AZET` z2m!>92h3~F>{MzLwvV*HV484^l~UHP6N?OoW{HnR6tg@TrYz||WXc2z-W6q5R1OUJ zMDo=nUCpZJqMa{@Z!F)+a_&Sp9o3*Jzm&f-sCPtKgXTK0!>>#31kUb~B<@z!=Hy67 zDmhL7S8Y{@xEu_f*>bDV1Ylr+_ZIS_!C-n`Pt9b0L^5R@$Xb~t1~%ExbSi3#HvEb0 z-f4t<+acA(qeNqy`*T}NUtOAX5Y;szCpuxxstXoGRnV|c`!^2iDv|E|~K$#45wH~Q?8bmaq|!O_kRbZ52ZzEciGf54}2H)k54vlCjysE#O; zRJCnKlf`A^G8_Mpj>===S6Gltk>*nDveA0bMH>mRI8gc+{FRHq&>4*N9Gk_IJ46w> zC1%G~p?J~l81KIaj=kXixcR_K;L4Ma!_NQv_YlSv3mYT!G8rAX*f^?cUPF+ls>o=6Ojifd&{4wO)e1Or*ep+j7~CtvalQ$q`OQ{JNz!0)hEXU< zrv`k@WKospuu;{EQ>=wEPqlTwOgxvcpKKinlLO! zqfJ7@yi?HP`hte%|B0HG6v-C6k(|N>Mg{YcV;w!(P)OV*@SI=!~s4$Mx!)4&O9;65KFcNBG#D;SqzRs zg>K=wDkcZHtiySykM-Tp55-Hr+SA7Ez`VIBf+>p zUZkaimg`YW#;odkX7x^VIyCnUM{YXr!~~g9=ADb03MUOkYzhsNOF$ovhiuerZYUh5 z#VWM-oqUbXy|oh7LN#qGn&u*lK_+{F+})v7_?!E}{PeQ-dZdIX_F7e#%|L#))(mDb zJQU3y0)oKsvDQo1Q#vM+VR8j16B$KsqelsBg<hg7+NR1Rd6=I7xlDU=z1?hYQlYbEvMXFCF*zw<4 zD7ls$avinsw{D2Wr|a}VwO`R}ogB*-TN9?fDA&l9NBxL|2&kb$&Q!!;VoDJa>c*jyBt%GB!Xb?%7=;>i${Wq+AGMpog0HORwY)|Z`RJ%5C!{`)gllyBaxT%# z@Jy~Y@2ZYjPLx*-PNoY!nPSPzcp|8)3d!ftt!fx#MXaxlyx*N-754zw)**Z03-Hz# z-b2m#U06GJ1xDwu!u1Q6U_O~amOJQ_g}lEeM&P^=UhZX99EHBD<0aG_b6-`WapA&8 z=}u|h;WUcdEI^w0Ou&wkD3O#EPNs8W-o7Zixt_^#aJ@}jdCr~g=qtVf#>4Bexn(uF z{<5$B^h54Tzw%pzd$nv_?(1HPvr2l^tez(Rx%?ZOx}q?h!Zhz9OlSHq%xX?+0hqB8 zx*}LK2%T<(SR2GhE&F_NxoRIzCy?KHC#*g94yYOn2s7rCYLE21U|CQi-l;W=R($&; z8#w!Bohp-@&d3#<%|)Y+v9S7>pCPXjgJ6Vg)_pa0*NfN`(%hZ@nM=WD;ajrEMP=#f z#9K}d3M-N0sC_2(nF(G{nhjZ_NNmx?=su_+TRMJFQw}N|(~c`<{F8+-uxdm$cXQp? zGRr6*6YZUlChghGg>LL8>c>hiORSsU6C|lurY(Rv`aL` zQyxuOyF-9lY-d3PNKLl{9FAfB_-TS_flw_39s^~G&{NnV6kNS`!1W6y9W%v;FG{hT zF&o-Vw;^1<9B+L3QwS$d;l?+-oK}vUaPcqS3kPSSLV4t!uVn(stCq$!Cekk7Xo#>7nG}R|;n%)90cIvJXqKUr7rc0*^6x zPE*VHMPQViaRE5jw!b@s@dVJ0kdsU)U067>i&7|_J(K3O!bI7PmPn6a)^#2LHWF=b zS@YV_Pn#_%IKrvj-XDtpw2Lbp81>>?b*gUibZpiDj&>%IM1+vS1`or3QpNx!wrvtT zwN>>YFhlpk!?=3QR#f%8MF*p~%^(464s8I|GY}}#B)prCPm}-o`Vep`m z&&_FpXvQKHMXBUgz2Zt;2-3C`s0s=gDM|}gqJc>w+Bp+I^IXgxA+~3p;l&^w_BL6q zo*>N|$fAcZU*P`romda2h@qx18AIJvGQwpM4TakIc};;^<}6(Zjmxg>xUA^Jz^V%# zSuf_&hHSV^QU?d!25{Fa7&9;NH!j?D3UW`>bp_^&F)W5NU>YCSqOADm z(=DHRy<^|9IA-iruYT^Dw?0M6TWOf_7)TmfH5bdVl4m7I@yZKe65>KAn&@K2lQ>n^!Ye;K;HWmsBUfu%twuJo4h==uuWd1TWaS=)pYE32@!+=sQI56jB~;D*lM zKJ*a$(jWaUY=7#L;n)M;;ODN5fYhos(>2B`encYLS*M|AZ-=oU*YMR%(V!`(oxjp~ z45*1anm?tASLtOIByb-kSVJOt=*YlpbE~l^9!P|~Oi`RHkz`=Ci*gK;y_Kg!ys)cq zpDf{2y(EaGekS~+dR^FJt^h5fOzn;yZJw@5&7cy#=;b~GMQb?Oh&iMZBY&9O-sh1= ziuJT%oQ)BDEV*0c(^5qV7{VKyb_a=JQUZ43r?Jt*ZpR49V9TK=K8DSu(+J}+ zz^H;S83hrAW(E4el4Gq-*2#geqtiaVtg*(xZVSv+0UuO}RNH}~;Aevm3Yp0u_)OzE zlBkAaw8?}{%_n45Tg8S`i- z^DvyxFg*1+msN|NWeyp1)C$VAccnl!*-yAd(TGg|g)IZ#eA;}oG-k_VU{@`LkY!+T>M2uG z)b35ngV8P+T1b!AQ@&-&r@j~0C`OcLdnmKSsa5BrOZKdrvT9wMPOEi=dGMX;T3Y|U z!$ciS|5Vrjw#BS%jH$Kn9kf#ff>!Yt@i5vK-Jyk$k{HS9`=Zn_h$#tC*DN_H$=#z4 z7_14K5ZIL@>$MdCk&6IM1pL(3WUBItl5NL{O@**cy*Q2Z)DjK#6VdG7Mi>LHgi^~? zRz;Qe{?%oK*7k4-@U0kN3Z@uDJ<>Q`14B|u+TW^^%gF}s)osyI19?y6*Cqmf8>_Uq zAXRwC=A=$SN*|F_p?s$WIlBr<7+TP}8n;mQx#%>fkZcI#gmW)PF5#$}+F1`w;*-`4 zNUyo^{Dbmb9`2~5GYB=JuL(xmS7~c`74s^O}yv!J0%#Fj5<}Yt)1tG z{Vpr&fEmf-oe|=qhWTQ~M@g4w5wdO%x_8}%8~Y7@;Lrb*hG(B)M*v5RvjNJ_$^qG(7uf-?$GV&f|kyS$OEb>~u=+i!3@{hJtFo0-{}Tq_2f3(2Z^)s?oI| z(5Nt6yT=?p|4rWu|K|1Ii7)+`pP;KB`xvaf=GAQ2M8`s>2Ep^plNnlq$5h{Xrcxnk z(`GVYQm9Li#u#ZYQ$)Q^&0kKd%xIG~`69VpbRD%*GzCTBN~JFv73n0Yxl|PKF=EQ? zlOY#&(@K^mVQlB)!GT(-Fa`KHYhR${Qzc-U4&^oU${83bce>}Q5up)EN18n9gB)zK z09XK7SeKc#P$PdcecQrl(1(`m=pbVQ$Wd4z>ha^z zgmgPl;~IEB6(oX>en6|e9_)YOVR+Z?{5t%1_uc1w<`e%-enWAnrIt}$A3xJLUp}xXWssA`iCN|+*x-cA*Oah6E#=(*|L@F-bd-H08GVQ%QKY{1BVyoIrz0xP}3Cs_NBP_f>+>)yKi&-m35eB zInIiVGRFq;fCZE|YDN^Im+@Vl@!2N;%|phWK^o7gri|}Vbh#uC#VjxV@uSCR8zWx* z?4#hyC1F2G$>LL(g=tcK2{J>J_MjqQbY&%HNO$p*%O2$o?I!d9@kW>!-6hb95;ZLU zReb7@+T$jkvCUrh-YkU(iQ-ioa6WC+ZH}GA@(Cf2e|{B=er_LCqbp7eejeFD9ls;xVL>iQ5XVQB4)hPe}} zg0omAUDiCLyF#`bCo2u5SWwq;B+P1>I7^zlY`%Ll9$|tGlIBdwnyd4ds4gc_7de(x zrOzZJ2r#KU$_lbzlt`}NS-H+1AHwwns?dEraw4`2Iwmj%8?8T5(_ay4Fp2^d5LoY2`;6{8{qh+1rN1A=$zR29sN z0``CM2l1BIe}B{YouBtx-IeUd(`Q1p((&bJ1~9K6Gz%62Qs9|s1So2ZOMTC zm`^O#B67co&#-JKVL?@Qx?rxG;GIRJC}bTjO7m!Z=~J{2%Vm5m-n6>)WC6X&1&EWP<1zYzcRU*GQs8%H2`A2(O}HxJw3 zCb|ayd)62vBrt>}h;h)a@?g)4%^N{EpxHb@^~!hD^qq4}tsVfYa=eIS~tCQ?FvDlWtHhtla16M^C_Z5{;5B+{l^qsKUDG00+!b)&F~UT0WbB9v%e7CqglCRE3+JRUaEs8E@qkOs)`PDdL6j&;g82}ec9LJ z_r2(TT+BuktHxDzkai1Sh;H8HdQDjTq8!Y;FIj~nPkY1s9aUU1Ad2%GnUXU^eCGJ;G+@ zM5kRFlgiGP&S>w6qjrG~XE_FDL}R3&n{|h>IGDn4ld1z?y zCgu#XiVhMpU(&)7I7GupEmKfs`axT#-0#AuwkMSbYRC^p9p1;(@l760U4jzJna_Ix z8g^A1@|lke8cY$*`yai&HhwvQx%j!Iypav7*fuF2RK$8?6Baz(z2j8;+lM{?fA;F{ zjNP)tS-tOEGoUIgRAZ2Orjch0PF&)Wr;z2*fRJF3DI(-%75gj(D!|3njXQn!U%txi zeddcey8UhloCdMKke;dU=a~D9@yk9Tp7r@hxj+E3t47*YZu|8T+5kM~LNk~toPSC(*)QoRX zUU}VMQSHRMH*oKJ^IPb9e*6Ex|NF*u%I~@jVIDXjiDr#JgG7NZ5vOd%U^x?`XvGx) z1~Cz>esno8eA`J5t0WC(x^Jl*6a@#TVNlH9kt4o(C!K}mq%feU+#*&?D&%vC} zs+?8&Hq?SX(5*y4X)>#o2!LcUwqBKJ?4@CsfgN8m)Ib1-d{`hY2_T^=V~X}MbCuK} zp4w4mko((czc!2&h6O7Vgr!QKR6^BB5s`A(p3d4rxZ zx&PKg@J;0y;VWun{#+VaFr~JVv&ei#em)n65EqclJo9=~LCQ;EcZ5L+-e;bR9r8I< z{5a-0H|T)zM)QS^PlL;`DwP(;vm!a{6gxnRT4wVs0+=oXcuwtmX2-qtjT_W+1iP0n zfX_S9{1vpCDl#NmLA&5iDnMk=wP^9V?Iry|`Gm8~i#|}=xPvZD7lgm|yYEI=Tc@ym z6r0&Xkr(ojWYR&CA1c&BOgpg>Vx(P?TW+*VB|o+0K--4U2D!jGi~b$R^ALHb^tj%+~+8b0t|Q2 z%FOZbAF+)fPO+EP+PB&wrjx%FHEE)ddY!t*1@S`ldxIEiAHsYR$#?ijnpq2hDS-a5 zd+(+3;HqT3aR#N}S0Peivua)F`%(X=b^Gg0+(per>92PJs~g706ee!iz9SlT9Qr-I9dU zm9~6z$+MA~QCzBm8w;qITfUA?ZHP9H)xWpH5x^m+#L|~Yf458UsWcjP#9|%4sN(`6 zvI;-C;C|)d_r-U<@(t`yjg6bT#bUv;Fu*p5Sa_O3uj8e*X708*Je7xl>R5>C%N$Q8 z)a$O$=YQla;jaJiBawSkN4PRgB2>w8bgv z+w^)m#Dw*?!hts(7UbCop=pC#_`+wcMv55{e0L{Ax?W_XtYjK5kW^kKvlXm{+?8Bz z6+Mg<#rU~TV^J>0v%mHWZVe($=M5*)vTdE^CS=1vL?`MtRVYSFc$c!x7G+9&Pm39` z{vhL`N)B;un%MXZ27>|3>WXgtnO_0eI0A5d72J(oihKJ~-f)Z`gP)MYv9f~8Mc~BD zczBQ#nH4b3igg9CR-sxZq;-Hr4<RZne7tZ+PIvNc9{l%tOgrX%rP7KbMl0<%B1v{b*@k z#mLlWlfj6^l}Cm+TQqWCcUY7RUHInT`zwIqKEVsW1}bhC_jD#6b-t;y?x>^xsG}__ zVr^!e!T{5LubYMqa8ll6LehI(kfV4L%H?Fp=Ef9 z!OoK7Bu3OyE72YL@I^xtWIhh5U1geto3?$Ic}l+A>MTe+rdHW9=avdZ zn6_!Q(B>16xd9ZkqZ8WX3S`(a6Z&!}sN$+F6#$6zpf(cVrJwnIJ;F=5EpOCo2QIZc zBvZ%|zRX+)9x`o3i$6#=1P>PM)AlW}9Ufq-cucqk=_@)ru941zop@Ar(GXKd47v{) zk5>eVE>IRdT8gw`8Jsdm6XIX9H=t!kOaDwQRALuwtYc!bES>V}_`$48+B$0UZlfti z<;P;e5(`K*q9qHt*ba$EHRJ+xO9{oi_Y@hpM*Yy)E%!G6>7ftcJ6`c^F6;E68joU^ zJ^E>qBu!D9WLb*Zuf?=lD*%L*mIY6q`E)DoEfU+3`#(SbQF!Y&e>-&hOH@r~PG&#m zMnywXwfb6V6Z0Zq6LPdpCK-0wu2~{Z28EGuYCVGwgik)Nrm-yhaPdF=4!-e^f1f_| ziGOg@uX-_bj~*4hJ1v6R`boyz$dQ|_P}7U%{PEN(YDudCSDvE^7YkB2G~>ABkigr# zw+tUU3v1iN6#r2HLsGK@Q=)jw+RaG}Dm;f}L6#8iIR3*kS;0h8GSf_;6^-MC%%EOe z9b^eQmLkjA1(kz30A%uF@hkPx@e>7&$Whh(qsx;plw>)uZk9e=zSSO( zHUX5x!Ceh|#K5udk`LUCE`D76f?5>xITZ^&kAiv7+(8;11o*<|>9&`DZT7?u|DfXp zv(dpG>(+RDos>&DPt(BT7R{U}h1}gT>39-~Bx!~m@ggf7P29<})TK@*@^$&DU;odc znvTGI>o;W#nTT=2 zuivN&PAM+he@AEGKDy1zq&TEA52k^LWG(2X+QwjMJ6eSgF14#Hbw@h_?xvIU;San? zXxIMM!`EO9>2@&V64}aIgt0BYYSy!ngG(Vmc-UIjlbpsHr^ZB5?nmA1z4;i7r=l%j zOD>Ya)og?bZA=y&$cD%^qB!VY>s^cuOS-AaV{kQVEQy__G;K!!ECS>_0623o`z+hH zi5GGyG?eHedt1=39@MHw8-QNU>Wu}FN(=O+EaD_+K!b+pd$d-FuEZqCo(4&hv@)k` zey(N%8Y(G)1GS|{UOzNxe6Uj1+sQvtGKks|Dq^kq=oaqV;Jd(OneG${7R=rqC!)A$eicR50xeIH?ch_vPL}y`cWlBQU&p z8sGKVhv>(?`jr4VV>^|lmtq%LXTc<6(*&!dTA1^^z&6e%DJlvU&sU(uymH-M2_JgX zk74&8-`9leI~g50!jj-z4m`OAaIw!kCXOl?#x^K3H5dOvRQF^eAKBL`RSm6^YUSR7 zi|GoYRk4}}0~UNBqdh6`Q2X>TI`5S7m{=eZ0n5k`{>8+o)SaTFANbq9jDP;^--TJX z4Ap$@RC1Rfn%EM%P+R9>X){}j%_I2AX()|4OLTy!cefYWX;ikY&>I)^#FfQr_`4ta z3HRO?zKFj6w|@&}TRYf&;oX3~hjnNW8K%Vbl#Cml37a*_kJW?fY2h?#!gL@|JwhQ3 zE4f6`gR!S5S?tvuD0wA6>L`pyMT{aZvy@(ma7PlBB0lTiX;ja z6x1t1P!J@dU}zzMBoL8=kW+S9YkhN$|DWT1$6TA==TYIDefHk#D|3wTj<@((h4aEg za3hJ$n^@0~r6pI!+%dofs7=v83EiT>tJ!4QRuvPm|NNxr-Jeb0_T1;%|M|MFsah9u zd~4(@=O0@q97a4)Oz8|8Y9Jmm*)J{VV%DcXx9?{Tf+9D`N?Oz;`zI^%ygzxHe&$0T zPPJ7W`%gMppLyvyX=gsuI?mLcI)OR6 z@q6`^ykb(NgsnmkZW@NDPQEvsg?aS%FHcwG&pvRg)LD^q(uoML!gQKAx&$Xv=|D+h zUTovz#TGF12QuO#D2jeJ(J%{QzDbq~SRib9l@@`$ST1dQ69?Ro{n55oG6`$W#HF32 z?QInJbG_*E&p7hX zIXhGbxS@Lcn`s({Qnh7h4~y2#EgOLAulKX(x$pbcz8&%MSFAA5#>35AzC@j-dRYA! z99PhQ7_zGTyi83J>tYL#8JqzFgu`!11saNnv~>g{)+e6aGg4d_JODI{?$AbM7980K zk7X>4v{ALf&po4ECAxtS@`3n;21(HU?c8w9R~{*nAbEdzwVQ@5A)*bAY^`-5;zYp| zO%gqI2)IXUQm|FZF!FIlVRGhbsf*^Lk%zO+)}MLz+vU3+d7Z4TtlHM@G54qlzX@M} zRQw3%O<=9$kE%m|DE?k6CIv3&tw$=e<1$^{Cog;c59VL|)7RVZ%&!@I-fh?1IZ+xs z7gq8DE`LHM_b4#6h+rf4W*9j@r_??XBU&rgBf0v91#7r0h?R!_x}|VQ>?#en*fRH{ zhY4t{P87q0)+X}Cv^(ouz3E+Vx3kvP>=&Q*^{H71@9rK4VBF3OGDegv&dM-9-rK~+ z-SKxIG(3YK?O_FGvSg)yyoqfe`*K=c+q7?a)MM-kzjdiT@io6DpMKx_L@s-%Y#us6 z7I~0%;M!0mr-{ETB;ew7uhcM2aIYLSRd_2z#xG$=o)ciIicR1y-N37s579#Xe2Ocy zF3YsW1>v~5?YYzN;E)qNA_-5(|7+v2PZ(@71{^HKnY5`vpCb{S8q%V^#!5Y#!v`1l zrf>B4VM(V_x|f9?o})S-z}w+MKsJeX@P3Y&OE2L`MoUL3v->_4 z{ZIDoVQ|t%pBfJCKT!Vmj@$B$fA;qx*IbixNm9lI&b~skmh7;t(;M+3^MLe3AAZLu z1r<;+zO1xO611EMsHpt(;7}-Y#YYx0KN(03*AP0y4p{>4;B_6HZX?4Wx-(Px_^0JB zU-L32&g>jN+9H$N2?w2<^Fa^~(SR+4U117J@H7Qd1&8Y9uB%9QExNMajJk@v_)p#` za_SjUr_+{;Y@mUt^rd-svGbiGEJc;4Y0@RZH5M^3q0@8CFF<18LtF27!{Z(TCP66B zy!6md-L!;z>yXWRphu1z0vhoIpwgR^{^ylXi|^-i7{_y*r=&%@9zW8DV49rj()zbs z@LBH$mg|R*{q+za<+BpXIu6ywTC-P47`{YJz?X7u5z$(w?Sam2iEqmWpm6}MyWxg< z%a=AthR<{V{aTcoH*7gINz`D=?<<7x1QNZ7@#*$pjrLRFsKnMEf9^ILy~CwSrt!rp zmYaU=X{0?VeTbGpN3_Ewv#198mPIIY0>F4Y%9cnTbp zXRINWYC)WhsB4!xGe@GjJTv>rGB7Z5@z96sYu@n|Ij}jApMLB!WxBC0yW6{vv)4Tl znMBjn!g0%2CeC)K;0wn6Lap^+h#VV5r-ipqGH-@UEt7s{OSW~EPFdeqKk>2~^!j(d z$6ooTzpuv+oFJWmyd;ok*TL45ryT8PUZJtSlNqqpw=d_NvqS%LJTAUlT>#ak^dX6ZlE0ei9^OmBh zCo}p8?pmWJH5;a~I-Tg&1NV!3nNC~oy^izk+R%cD0yKA^xgCOj z=!tUx0;u%)Lp`hzaGEg}L8*mopSui+%pJ@nMdiT8M*8gi|DB$G!*7^ed6mlAYPH22 zISl?TFTC{MGo90H?y#-OYahH^bnB%f}Lp zg>bTBx>(N#U;`5BffPM9cheR{KR6GG62$n0dsoi2LYM_D9e4P91rf-4}ZHF3JGG_ z2m=D_RVn!caR7|+0N#OgxmlO*Ae}gdgAHJJ@&|+KY3uR;rXV;G024#>cnV+l6gI08 zQ4ffF!3@}v#@vC*8}SSowZ^}fup3upCOjt-XFV0}d}?&9ZZnt=2MOMb8rNB^@U|G8 z0bpF($ZK}wjPv9N-|=Ss*bhEbR))dGHeLFZ>G>n!A_QU;ZEDddw~thi5li_<(%#4EnzB|5<(b|N2hbI&@H{2lh2z zRJYpMhLfx`%V`v;1|&OEqrLL(@S!d<7+|xCN|kV1BKnn{UKO@E&Rt1vapt6J7o=?* zJgD;M$IHwA;xFqVUA6Cd%#(C&+SH6Y;r6*ycF=K_iZ&!#)-J(U1l16MXx?l7l(*lr z!WvYqPTaq=y3g}Cj%9K5%Q{`(S6^}6wep>hxI(Xc-EYe0KJ+gt=bm3z&N#(}A*b15 zY=x%;ohg7r9Gc0T@TI8Wc-hfwAq6{eqRJ#2kvGh>pZ~fQ`#`{~Y({+ziR-BdU_&mF zxlu}czWnPU7R*Y}Kw`+(iT|n|Z`Lf~fXXD8P^Q4pTD2~2Oe_=6@lZ7PiFjY)*sMqc z;SX`1cX3}qN6(uflDUmmCTkXuQt78@2-^}Bhlp5q6ETtFDn0ONM~MS2)O47=K))T9p{AVvp`f z);OjE2Tzc@$0`@U>^DWux=_-o2V2}-s^BQNf}Q#7Tyh%2oZ4@ZQLA!5yvrX=Zj_si zxl+>TL`HyBT_)=R1w267U1q(LFM;y7yTXV6`eM;ZCxWE-acQCgza55mJwdSOec(YSgfi3d>I}3}cE(EY_6` z+7k4^zlk847~*R*2eG-xl?rwoJ*7)i6DtNufT8J6RXPccqbF0Zcr8d(v)%i51Nm-QA8-VsdEe$Y8fX&0Qxaof* z?b-_NQNmDCp zK=db#d>w}YYL^^1H_yGnLVl%F(v zt4=ys$HkFmFarV*e+-r}g~5i3zzlD71~{!GXwe%DuT^S=_&SyO%q~B4nqGVD*VOm? z`$uHsy6beiY~g0qgdwx(*E2YOO%^~JfS2o%*!OG3HZU~dDgJMJCk7C6+(x*4u8LVS z)6bLGC7BW$gj~nEv&+BDWpj=?OkDKfzh8@%ttzW4`|A2d7wAj=>W}M5I_UEr{dk?! zLC1L&63cMTwhsjFTmXh}nWoW4>hGTV9PBbbVV0Y(uva}}W zZXBq0yzD2_D?ji7dF3Dej?6xPuj)fDw2cD?n~L^uBIE)hol}q!(+AA6 zA;QKK5$UM+eCee&tLd>wUR`O1QZl>aZkc`JqjJF&kJ9&l|BGb*RCPYvmEFb(X<-H} z#W4eLthm^nmIS0f!BBzA7O6Be;Bib^86{-6NbY{AB{h$U{reBd@mlQRKl%$gKVd`k z{L@TZ@RU1dw0#$eSlW}Ise9tI1OrFH$p*P+seKy3^??zI(<6;-H}&Q2GV9}lAO*4E z@i}rJ0MD528LL5l20^#SuZZN;i7fu%X1nl7*VrRYJ)DjmJLbfknxUQHBk7-p?obYf zM82a!0f2L!^iG=TxTVy_>WbcVY%6`_y|>Eh;~(w8V`HNoH3+#$tHB@P-01%9ec<;g zIx|@^7Rv3xo6yzIK;v>FAh@b6-T4w@XQc#lA0rxeI!p1rQh&+?vA?KYDUee)(vc`w z=p0DM=4vhUguPdxrZDh#3vFMB<-*f&>7wAnmMl4Le5b(ks{D;vaVqw1tDZkU(kOr37deS7p5tdetWtvG{5Q zJn|HaU7swP3prOxZ8havSfMD)M<3zHlstISa-x%Av&_bG!BL*XrZ7aaz?s#x+8#k9 z%)d*8G1V0w_~sdVf%N#VKQvb}^HdZ+j#`7aHeJ3Z+=_4_3K`2)0H(T^95HW z*aPMkcwl{WM(PFDzzO>=0m9;BPs8Xlip}+V;WZ^@F}r_)Uq$Qpqm@gj&AlWnc@RdNKL<&-8SDY4 zF?0vj_u)+o<$1uu0FTJAHEHpwNl!Rzy0(^H@SYo`u21coANE+4VJ>w(H!dT6q%0Io zwDG8sCt;+ONcV!>W2>i6PCvzDI@Q@?UTv{RZtR~D0Q6E5(sab;XnXt?2@-z6`K$~O z%^(uAXLjP!^_GUJm<0T2!LwGWJ*fk^PAx&MMX0617!LNGAy;-sh9x_x*(JHRg}3O$ ziQ#4Ke-cAVB_vrAGuU~ACnLv#DkYe+gs-{(XEyR1jlz9x;mI%cCp%g4uOF~#8HVbtw1VN zwIA|vNDBFLj4nIz8y@1@2Y_6WgN09vCk@F7l& zmu=3At1Gn;{p8ra`sU}qL{>!V{aagUV>&e#erwP>NeQNW!W%ayZ-Ea2HE5xt4HCHN zqN*NPcd6sIz2$F2PCiL?Pui@qwUuO&m#YgDXv}f|G;!FJ(h2zzw*%K`xg`Tck8v}R zEg$>vuu)pF;=(D2BKZ#Or@sHipvK~_45;VIpeqF?;(Lu)yObKmRw8vty5SAKParO` zXWbA+ltv^b$d1A(H-HZ>@_WdJ62wS)@egqF60YJ&?d>1guUW?D&Wqi7u{^DHOQ$Ps ztu{G6+G1@?zNC%sfgQ#jA9_81e3>=u(53Ef{y+^p>8d=Cd6reQzW@=@APVz+@b{^f z;9F2v(I0$aj)E?u9{WXrOnFHxGUwG*?}E9&^J-VRrLuB@Q%psaQ7Pzu2E!E670{qp z3BsmJ2og6Z{JkRe(CNWo6MMf~LHV}GWCY%Zk<+5}MxvCT@K}la2}BaVxK*66Lvtop z!yLwOAsgpB$Ubq)`}O{(Jz)D+4z?}63@-j|D>e@pNPZ!TZx)47c5z8X z6bqe?7CYNAoo?t4J^MxW+P{C39e>o5bu!MSahICp%YBElTb~1Y3SbOJR`;Sb8ql>- zbrk7=j3s=veeDbPhBnbOJi8c}npH^mYwKLd@)IO0?QI!+N=OWAG^T$i-_%0^-l8q@ zblvKi50>Y@?f2|~#i&2}>7IVp8hHbecZ+&EIaHc zWOgYCiTu7^oT4SRFsv3(YJ}DZi~!G-x-}3wdt@mFPK((u`IAP+Y&5;)4*GC8^y!cXdE~7m=pJFX72w%V%j5H9zww@TB3aO@5+|M- zv;?PIlV|PD*I8sOPs+|{`rf~Ox5(938h#&@J`MYNBj!Ak7pv~smGdX34#6`!BHl~G z^w7Bzx~ITqTznt$VuD9JpkJHOFxhiL#n=)zyO40n=e$w{;+*S9;Nwm{#ZyG6BFrp; z(FYtc^?MoVPMDGcB?~PT=ptQCm~_cr5=sV_1k%XtMRUTPY^MjnP5>`1SkcAYds>E+ z+Cq6^X-rv)C!Bu;0^m}>I}SMl0P-=RMZZ1_vGq_|JO=JiB_vwLbB&s zlHS~!_BzVG>6&aEKEs~z&Nrp^f8!5XwrPW(;e;tMB~o;UstAK1x6+B3N+Fr8enps? z&`{*kj$HYbM?ckm`vdPvJNMiv`P8$@urp7M#DIwQYAekJ&e)cPtB;{3w*@xK6lfO} z(T~OhiCH&II^@T1i2R)n5))rY_auZiD5~oEfg#3@6!F=xtu3}dD227pkv8{Lx!`j7 zp|}2?9GfrnrB_{3^2%!3oh_4ggjPO1;#Y3V8j4x`~7RAvgR=1fv5dho%>M&V+P@}QRHT^$Aq z(*huuao`|{4i>6I8;~cy*Cm%XBGh5FkdOnlQ><&3f7h6uM;V*9-(%c4t`SSFOXG;d& zq3=kCBuG&V6PXxwYeNL`U7u4seq7)A{m;*JoY&pOyiSK9mpWF2vnNL2z_JpXKSS1? zmwZau0u&{b+Jey5R#$X7ndWPM^TulX_i5g@E@f`e&+8tn-miRFLftWK2ZPbNHD1Wx zmeM$5Ky5S>30mvUes2(%2NMK=oE(BhW@rzCUM!>Ecete;7X#^%gs&kCh+>S+%=sGz zIMeT8St=2@;rR;IKCz}HtRZYtD$tWeb0Ie^s9iS0a3RbKX5p1konhn8uo+Fn_xvCO*VozQ zLA<4E$5FJl0hkCAmEL5hr!DUw&9*Y5H6vDhuuAMn!#(e+6gC1se(~4 zhtMB5pD-j_-1rS2-K6%Nks3YF>R9G!^USmD-)_0N-2K#V(R22nB;#V9sSESc?{Okw zf+~R?8h)D$?-zU+2O@Az$i&R)%lRF0@K7xNQ zyu>m{WSkDC7Q zKmDz}@h@+*odzFXbg}L~?c`cYP4oF^rI96_S?=B@$)$Obae#wB`?-gRD|D5}8GwpT zz0$U`BKsz7fW zBtR3SK_??Q(n%wmsQpdJh_JxGHuZ*ik#6twzhimyHzRyioA2^!J9k*LKKGO$3 z>XG&DpZ(Q#>iT{sBW`USYX{e`;%Oc^Szn^UNL zC84wpt#qo){xecg5 zQM0X8;0DeVmAoX&34H)Ke2aypF86>jFgA|?CvlR(R^aCCVLKe%dzesgY-{ZQNznA4 zTG$kjqoAbzD>(ynVe?nAve6J)Viw+5@lWVrZT<4d4Sac3K27kYH3l%cU~*EaPHPxvbN-;aNazUUv{X*d4OJM8FPcbJ}Yo~@j8 zP^ZI+%x4P^xXWl!g}w#NP}#35s$;XHLhPAOWu){IH|?30d=QngFpykbp*3=inMg*} zzTlD`jR%AZRyS_6+$0EE63Cw@Y`zF@ZmAA68&$oMi9@=ar8b=$fTJ4gG3OsGiBFJ1 zB0hRLxNX+L7H0Q+DcOJBBWd?|z5LOSPjCN*ueLMSH`^d*$9Hx-&bEEONm5z3d7Wn- zyUVl>Q9i(@r5M@;3q%u>140pB2F?VC2moMVI2R=+W09e{x_QucZIr_|yjo_n`H-); z3-yrpzR!r6s;Wi~*WU&s&EuJcH(eo!PW$Y#7|Vf9OEF?`=bt1$*^V5cQr zzg#SQ82U;Er@G(wrDwlpippgVS#Hl7AV}k~_sHYAz14@=PVfj|2WYsu z!dYsN_Ib}_JYfNG8na~`hE*4=r3ym;&oc3*h5_3y=x`%pXzme@I>HsQfV5A7Rveg0 z<^+94#HpeQ`LCo%w-BG1PS!W2Tydq`^pSti+mGET?|Z=y+s4|4Y|W0Fvj;3p?PFHU zG_Q8;CV{OnD1YqQ5o{N2Cikg6;nlueX|k+D4A%pt^EeinZ$BW7r?4@s)IYlJnflw; zewF>ed*7XZ@2~&Nc0aWcIp@K;cK9U8lT=G1Zh1~jP3@4*nFznobt*L8{FcKKJk++Jyra zs6JTujWIBARU&{1%LwqqheqX7*;;I?-1Rw=FWi@8<$yfz>c`gKc-AxZ1jkiOcXp2H zY_VvW4?fVjBchKcskF4`>XK3_q>ah}q5DSzI7)=Tz)Bbp7E72}thcILdACeUtPkqc zlCEv8$xbbL_?LgZ?lkM^%P+2VW-vZ$5R&)CZMVv$Y~oZ}SX5HdJ!>a&fh4AJ?M2RF z_aAU^3UXS{q~m@j*yMpWX3&hV9CfrH>C%DKdK@ffjD`#xor!$*lk%^x`I$zj*CWS| z@pd`jgROrtNBE&sfPGQ&Pi+;EkSQUe-uNJ)gpbA2q5T_n_tEY2!FRmZIJvL zah%xMM+#qX@q?)^5}wvyWn>flzlSFCQr~36Oy#n)G!aZw*oxpAScE-M!T;WNV92Hdi<5?s@0yQ{M7g zx%-D+r7Npzb$91@0}p5=QBW(5%*)_VGyvbfS-gPgTtklLXI}gFyW28d-K;l$*NfA0 z-ta2f_t>X3VDnce!wT;hC^p3N@DP1W;DIoYqNLu-nrf3Y;@6)E@|ay)shWzlQL&_c-0`u`QX3W&;QL^b?eg~t8(}(Sv~s<9o9E} z3%D5P-fb@B(HoDxJjDF7xC_@Pzf?Gb*RK>!L0OH)d zTs4JJrIEevU!K|jAhDt$0md25;0Gd3cIkjGyp6P7Zp5ZrpMMcTKq zBHKCH<-hVKm9x*&l|yS~c67T1Y~i4*J{t%vRXI6_`=L?pSm+eP-ad7XHAe1GwrNlk z$jppV1VwD>E3DgJK{42un$y1T+KA5}|$OoYW4e_`hpw^uZX?pd5yJ8X&P) z`uzvAW8Fb3Xq8KD0g|=Qv6rYLHJZXm^&=5$U{uk7>#?c(6 zqos+jxE94@sfYmFcw=sBfal(HlmCRViJz+v42xuWwfV6pQ08c=OTDJhp^}-!4ApR_ zT!2Jb`pTekn*%p84fLk+7lsG`uAu&W(2h3!g|?v&FXRPXuxKjdHgw||r$f8>)|WO?JAG}N}xx=hGdO+u1} zhc+A8NM7DXw9D>~Xkf>?0k2kB?53|j|KauW%O96M`l*lV!HXU$yV4SXTAqxDvcvbI zf-l8Yq6ODOx#xmS2v7*i?py;m9-5i^Ddlv@1gl1ma}6h}irgM0ydq&9RS9L+z+L>- zH7B;FjcfjJxxsSHB0Rw|cwuG-&%Qwa`_9|)Ilul&``8PASkBmgIFIuknT>O);gwCZ znod3fp%+Okn4f5e-@Ci+5N0lSfn%NoJmE!`9f6DY{bAP@0JNAbWRVwR*&XG?^?mZ= zS6!Wc^s1}tdq4Zx^rCnEmEHNF4~ngb?oC?CxSA<7}H2c~v%a zrP*gU^akiioNS4{o;2#g_RgI8%Un5Jm|P`7;G;t^CKl3`>J*bu*d{LUy4a9q0qugT1rA^Bg4I(EBqZwAWZH3PbDV|He@Te%rgb925 zZZKo9!0l2nZhBG$H;JUQ;1R?)En$Qe?ma%G@N8%|UZAox~_Z z4jPV929^cIaF1#mDyp81h!{N2xfs?rLO7>bkVp2tSWV%lf7m*|Ms=~y^Cdo*MU=2;*L!66X(`WPi<)PDdD2l$k07a)Y#7Zmstl0kq3NQGTK zpI_I;h6cf1c+3s-;4M(;wMzfYI4%{40GtI}tRGE1K6j|MHB7804;O$CsxHTt)= zeO&aSORZ(HHKu*7+*~H|yJ&2ZBSDQ~zi_lvBf?q>#4Lfx;h@rB{(y93R>R{YI&8Q~ z!KSZqyfd9RAQu4RxIMKt1YAw7LIijw-5IJ*F1WbPwzt#SZ~RsH-m@PhUw7pb?J4J9 zC^p-%MOiq=ED|(L>2VzX%vI*Df^1LMg5J79w4G=iLN$Kv4OcMa5=39A((+1%=8(3t zeOy$wojG~!87JB&U--SUZD#Md>n^+X?%VZm@BCE#kNb{GwYk`2qG@%%+3M6?nXc44oysl${YClRcm0+A_9yR=df~}c4jy!`8<uf0t7FXpzhbxbGIA&fhg{F;PSB@h!@;Km05RDdsQV3|f>bsG2WKbYTs+vns* zfA1!d%O9q)vM#cii?|WF?Wv@k4m-{q7P7o98rHs)n=H}V@LCs|Of3Hnv!{jqLO}nW z1*xID;)@w>aoj&Iz4}9i(4VA0a%dN6*thjQi(IRAXUa&*l>~c`3vBW~mj4rBJ~TFw z2p^&;M_3+)d2+Urk}#a2?c_{;9wA#9WE~2oXL|k#XA=9^ivco zFiW7q2K}|bHoWo$$DorUNPznn%5|wv_J#x=&t@!c$^)<&cw0CGC1ja_Vb~d)N;_S* zJtJL{w5pyp-SPs-tv2@G!hB)>8fT5UR?nxgjMZZWSA$Ijl|tb$*%PJu=b;fKNKF}| ze9lvuUhq(R!JoWZANC`^m@eBmEHj&16PCl93xiGjh4Y@1kmnIkj|A6wi)C&WWO+2> z+L^A&YW_v@#pRA^DdE3e&>&*)s=lRpY1j?6q~3^6dnGBSi;+;n);DTafmVv z52>n%Vc=~F2^W!6U@Pid9>u!L9S(hO;Raq@Cyu4aV!q|j##f(oVtVd5=iAR+_Y7;R zwl8iS*Vq5Yhsz)Q=SS0j-FBOnSxZ-(n@-lGoN$Wd6Ay_V+DPj*z=mYn&ZnW>9;Yo8 zztYXUH|D{GJ4%{|JQ|d9vbzNrQ{OFDY?>)fRjhHD#~!tsdG7u2)#ZLx z0>LfIxYkUVyf0qZ!QdqbwBfSU_7`N`V&ans&*mTY0w!1VPpWA0&{ZdQg zOphNuE|VcIQB=!Vqtk<>rm!xCQMSZ@6)j}@>d8=>7ujMq>Y;-Nh9eWPXT9R}A`d=S z<>bR6ySvR_nld$^`yVISNc!Wp(!VJUYv8)QxBsdA6JuYV!sG_U&mmiN4|dwi0Okj) zb7`~7a@^MjxK%7lk!8-Me5HmzlonBl9W3vV1sfJBc52_(M?I-a3*cx6mRklQLA4(Q zL|0(#8NUA=&eJ_Sh}dS(KH5Bj!ykL1d;A@wXA}78)$BIiBd)YwGmlQ_cR%Ld05k&N zWiNlZe&DJTuyrZ54&uDAtZY0mD*G1ON3;r)00&G-OrySr#{ZPmSBP`_XKgWjWXeG6 z4M$%X(IUA6Cl!(?ZF$pSFee0NEvQ;PF_P2)Uy`PXvcAL}I)+;jzk%VKgBlQv%6T+J zyPKTa49b}&JfPPEEgR4A2tTuc%9NZUfseYVg~_R(0v>TE0nl+|#a9Qe#sD`$)PtvR zC)34T*Vp&U{FHO^Q{VhL`^@+LtY(|kd7aa5jFzs<%OVmGGQimMGM_H9-7FqbRz_c1 z$XK@Xw2FQ3TVJH7|NKkK>W>vgLEb>`Vk>yjPT&D)F+^XfnJI& zMoNurDJz52$@;$Lo}p*I`ZwhZx7{iB$g9(2V^zkon`}CebHrA}=wj6&^EgL>2*yB3 z;S^6>0@jQ@!CFS9G@qcxxex#Ps1$CQi>yoB} zJnD^aaT#YheAr|$W6_KBBAT3sJ!`i-UHTM+Z6++mBoMzuKroCNYIyU97r(JMLiN9A zLCZMc8*Zr02xw>RewYAxE}Mj+lj4GDRCc#_RgeI^y5-!jG?la>%bX~PYiH31`K#~*T- zrx5E3;vp+IIL%ES6+YJO7Z%Umofl#4_iwv3@qtx{R5!0OzH;*+|(zs`gmVuu@m`!;s9NgoS z9UlX|t8XcE4BD)E>S#@4J71a%UDhr*Uw6Ln#eB&x|1Wv**M6(~$`hVwd6IQ8-;r7u z!8ZYkqVqi?lq>!Ke;I-^+FgQc)Gkwv@eQfFb;ITQ0mfee3xb`ykY6^cQ!J>IeVp^ZKWEelC6L*fF{53ty;T zK6YQKU%o%vY)j_t;x6csS%J3rQ_*C-t?!08i^@uq`7T8248*1pS(8pf99Gp1pOQ~H z>nu5A-$Ui{lMbaPoO!xF`Rp_8@UWIP5-GPao?hS228JqNVYq~b9*&Sc{l3n(i-_UVZ>v+}GuK!x-f+r&RxE^L%V+DqDHmDFWYzLulY4sW# zmoTuw7eq>3<{mqs?xvw{(%ck)v|3;O2MjHAnxm51mLhs#&ao|voynwBTYUPH>2cRQ zHeGxES+c!z%ufYN+1q$G;LFywMwq}EQEN+%92}&`UBkwb>#qs|?%L*t{PUf6${p{x zS@ha#KphPKIqAB0tf4ER?YgHfMt*zvY+>}Y*!j5Uv<13hXv0iGd#*jPFSrw>pc%+P zva{uCfYc)F$isShiT*Qnj^C5XOx>)B(Z5}*V5tuzLEIMkciux~XW~G`1ylUw6BrW>aGH z2KQqMgrPR9RNkSmmnHDini{a$+{`}--2yWguqn70(d40VrIsL)XYgPr^eaD+1f8^3D)1j4h*_qEnjp!-^nnv{iP*;FC z(Xh!_vz0}IyNf%_ZJc(l&JP@_zxvKU$#4DezsQHbt_G0IZ?t74g9BI!szldo2xja$ZW= zK2~?Uaa5OM=E-1rGSM?OH|-lQyhOh7!b@nyAvzY3om`v!aJqL^%9pmc-4>u})O-#gi31ylhuGD=_Xsx(w0jgr4C4#M#Qi`^G?4RTCE4d?qgF6Jwnlk z+EW?067p^bFyVs$Q4|An;fM*ApQ8mH#RdOV3pE~Q2Hk(~fMpr zQ{}=3c>!)?kt>4JfM&l-ykw6bZSCn*u1~LHU*Rczl!M~ZA=}VyNY^xL^nM`*x}?yNYmB7 zC0qo%M-k9>3-UU)_9HELH3$@4^T9h3iU^B1dH{^V93SN_J}h!8EiV(pGJ=_(lt)n5 z10!};mUaY0Uoz~@8yufyX*$ARf`?5g z8i?Q6o^(ek)P(n8gzRZg@Ec?R!#r1y4ef*QSEK+)mC&%NRUG*s$keFr#9$m;f#xQc5EQQ9Rb&+BzT)U zqA<#mSxX57sZ7!s+bvZG6^>M0H^$FopF)1_rIQI=&G~Rq7II+!fqL%=C#LJ(^ji7o z3tlGEmU^m{c?sP`0|+`0AaM0C79o?sQN=`3rr|gk8$gjA!fUVH-+k5dWdBD#B*#AU z;d;V(SL#@24Xnmk=sx7xLJ9#QrqEY~<1+(m49U+J%)Io~u%@>lfT$ ze*HJ67hUsob++{G@gifvzPBqqD1WPg6$Pl+Ip83A<9rR8UBX(-&2`Go$G@Tv`nbb8fclMWIj5p9+*4soDR8A8O zHXq1(!_owrr`9jr|A5%tciO-G$}5~QH$QgNImhjNX%4V0u&?Q&{YlJ7-h`nTw`LhL-{8s ze`S~9O>Ap+7TzG`VbYEf$7Frf)$)}MKqCP@;~lT{KO3dTB%3G721&uGSP*p}I@RTl z?%+-vzK{aYpjs&c^I6`pDhMr*S&Mx^uw~kzQc3Jg{W$8bSh1~QP%3G(?WAHDy>UPR zxSoo?*50+XBSXo?OC?|}IxCLM&qMH(pICr-E4)mYEzbs?>0$z>TmM;^X3*v>Z4leB z({|vpW%a}YBh32?`4n}$+-Y#t@etIEDJE|gnu{cw5bogd3j zd(dT4c8{{11{C5DUz?`J6dOhNXhPp)OepvEqQEq@{VEGtk(6i6+i9HD^~qE}{nGzO z&id)^%n$7QoNS(SdNYskhBDS^&gd}!CE>~$QeO%|NSpFhML%F`bk3$B>~*(E=OeTR zs+~NDY=msk;-Ie(dL&S}B1ny|D?2f

    Xq}px_#J2bt)Tm3ecODPs#&e8|IWdib#X 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

    %ae%WQDR`I{;AX(I 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 D=XG>F literal 202423 zcmV)#K##wPP)bu5+xK?PVKOtrz|1hfkR%SGWC@C_xVyT#uKM>aM)a+^gun5v`%o6$ zT?4Bwih-oCl0iU)VG>Maa_F4X4OMmC=bXy7Z>O2gQ(tYS``!wtPM!11L52?>K79D_ z;p3!(Jkta4F^fS62q6GtBYr<3a?T;pN4%tia*rL)IWr0Onz1o#ti=1`$5=8S{NM-iAOGIs~ zhK7ca$z)h46k_L}f4=zqnP;BSH(Y+Xn7i5fu6@i5d;wsdLXspwK+XL=GQlGl@qk;O ze3D*MQbH5m-Qw#=ILxnWAKDxYVu;dVr&eS#j1wj|0>L08N=ch6BS9%iNfJ^njwDMG zsQd4p9?(?Eb8R(|V0tiU{H|$C&mm?>O=l6N8{exc({&x0Y?f)NI^yG}Qfa2D*%7}V zFRYRD_b+0pp(^p`>8Att-uo&2zWeT*5~_RmJ@=5$eEQSGdVO!c^%i#R+$nxfCX*zQ zNO=wcP$bQ zhY^d#h&9Hb$qYGzR1}5uNfLS$g@jTm6726Md=2Wl&Q!6+qR=CSOpWWHgA_`yvmPlO zf}->jehqPsEE5%w-rTiI(uqt1I+Y-)RFfo0h9psqQb>gAgaZ`NsHTbEK|uKOB#h`p zgC_1l_*3ZOTjOuzM`BE;j6l|)1sG!rV+bu>wK_-%2@^u2gpw#Fh%t~PAtV$dBv?h2 zfMjeg1q3onf})z4HxcutgNf~|b1tqkUDFvGVhk!_d^=>*Syk%~Gt$YJ-l1#g-n3(P zmkO;rSXtTn+MYdKJqHe?FTeb9-SYxGZ^HPC3kiD8{`E0G;R^us0Gwz#%--11&p!7Y zDU8R1ooQB)1*wOo7c-`Z1cA~yaRaDA5LAMYInfQskQEt9AOJ<8oMBTcNnuJ!P*6ic z7zHF#?F6Tfjhx(3P);2M4I~T_A)J2NWJTil5!6e7*4uQ_COyRUuftGkYDQG(`47>- zJO_vy=ngp}L;=f$! z2T_?xOxa!E`j&R*H@}?$h{h*~fSSjE5^4;<7#hE_KB9(3V2#|mAt+-A^k!JVoP9Jb zUQQYouMjUt+=O`M)p#q65yqd=U@gr4pEI}igNjQqbAECJ0F )sXWZtyyB0wTCd* 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�B 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

    3bEWY@2UV>rghl9OJ#=??1z)stPE{>s<-}8TErQ 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 FV1nHJwK)I) diff --git a/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png index 463e51fb8ee6bdab32a5762436067fc92bf85668..76d2fe6fecd602d6ff95105f4768b5abdc2d1447 100644 GIT binary patch literal 8884 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 literal 48182 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�g(jrI2v#fUa|0D4LTnBpI~@ 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�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�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

      9Ce&o? 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 z

      ?P}O*(PGm&Z8SaC{Q@n~MtQ3Hi=afmt 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

      mdm4-ck8l(3pVCa;x)che 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

      Xq}px_#J2bt)Tm3ecODPs#&e8|IWdib#X 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

      %ae%WQDR`I{;AX(I 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 D=XG>F literal 202423 zcmV)#K##wPP)bu5+xK?PVKOtrz|1hfkR%SGWC@C_xVyT#uKM>aM)a+^gun5v`%o6$ zT?4Bwih-oCl0iU)VG>Maa_F4X4OMmC=bXy7Z>O2gQ(tYS``!wtPM!11L52?>K79D_ z;p3!(Jkta4F^fS62q6GtBYr<3a?T;pN4%tia*rL)IWr0Onz1o#ti=1`$5=8S{NM-iAOGIs~ zhK7ca$z)h46k_L}f4=zqnP;BSH(Y+Xn7i5fu6@i5d;wsdLXspwK+XL=GQlGl@qk;O ze3D*MQbH5m-Qw#=ILxnWAKDxYVu;dVr&eS#j1wj|0>L08N=ch6BS9%iNfJ^njwDMG zsQd4p9?(?Eb8R(|V0tiU{H|$C&mm?>O=l6N8{exc({&x0Y?f)NI^yG}Qfa2D*%7}V zFRYRD_b+0pp(^p`>8Att-uo&2zWeT*5~_RmJ@=5$eEQSGdVO!c^%i#R+$nxfCX*zQ zNO=wcP$bQ zhY^d#h&9Hb$qYGzR1}5uNfLS$g@jTm6726Md=2Wl&Q!6+qR=CSOpWWHgA_`yvmPlO zf}->jehqPsEE5%w-rTiI(uqt1I+Y-)RFfo0h9psqQb>gAgaZ`NsHTbEK|uKOB#h`p zgC_1l_*3ZOTjOuzM`BE;j6l|)1sG!rV+bu>wK_-%2@^u2gpw#Fh%t~PAtV$dBv?h2 zfMjeg1q3onf})z4HxcutgNf~|b1tqkUDFvGVhk!_d^=>*Syk%~Gt$YJ-l1#g-n3(P zmkO;rSXtTn+MYdKJqHe?FTeb9-SYxGZ^HPC3kiD8{`E0G;R^us0Gwz#%--11&p!7Y zDU8R1ooQB)1*wOo7c-`Z1cA~yaRaDA5LAMYInfQskQEt9AOJ<8oMBTcNnuJ!P*6ic z7zHF#?F6Tfjhx(3P);2M4I~T_A)J2NWJTil5!6e7*4uQ_COyRUuftGkYDQG(`47>- zJO_vy=ngp}L;=f$! z2T_?xOxa!E`j&R*H@}?$h{h*~fSSjE5^4;<7#hE_KB9(3V2#|mAt+-A^k!JVoP9Jb zUQQYouMjUt+=O`M)p#q65yqd=U@gr4pEI}igNjQqbAECJ0F )sXWZtyyB0wTCd* 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�B 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

      3bEWY@2UV>rghl9OJ#=??1z)stPE{>s<-}8TErQ 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 FV1nHJwK)I) diff --git a/web/icons/Icon-maskable-192.png b/web/icons/Icon-maskable-192.png index 1e24bd1a6f12b3a92c4430e9c39c892bf79bfa7d..7056407a81f2a9020daf9270c562d79c5ab160ba 100644 GIT binary patch literal 66156 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 literal 48182 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�g(jrI2v#fUa|0D4LTnBpI~@ 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�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�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

        9Ce&o? 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 z

        ?P}O*(PGm&Z8SaC{Q@n~MtQ3Hi=afmt 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

        mdm4-ck8l(3pVCa;x)che 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

        Xq}px_#J2bt)Tm3ecODPs#&e8|IWdib#X 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

        %ae%WQDR`I{;AX(I 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 D=XG>F literal 202423 zcmV)#K##wPP)bu5+xK?PVKOtrz|1hfkR%SGWC@C_xVyT#uKM>aM)a+^gun5v`%o6$ zT?4Bwih-oCl0iU)VG>Maa_F4X4OMmC=bXy7Z>O2gQ(tYS``!wtPM!11L52?>K79D_ z;p3!(Jkta4F^fS62q6GtBYr<3a?T;pN4%tia*rL)IWr0Onz1o#ti=1`$5=8S{NM-iAOGIs~ zhK7ca$z)h46k_L}f4=zqnP;BSH(Y+Xn7i5fu6@i5d;wsdLXspwK+XL=GQlGl@qk;O ze3D*MQbH5m-Qw#=ILxnWAKDxYVu;dVr&eS#j1wj|0>L08N=ch6BS9%iNfJ^njwDMG zsQd4p9?(?Eb8R(|V0tiU{H|$C&mm?>O=l6N8{exc({&x0Y?f)NI^yG}Qfa2D*%7}V zFRYRD_b+0pp(^p`>8Att-uo&2zWeT*5~_RmJ@=5$eEQSGdVO!c^%i#R+$nxfCX*zQ zNO=wcP$bQ zhY^d#h&9Hb$qYGzR1}5uNfLS$g@jTm6726Md=2Wl&Q!6+qR=CSOpWWHgA_`yvmPlO zf}->jehqPsEE5%w-rTiI(uqt1I+Y-)RFfo0h9psqQb>gAgaZ`NsHTbEK|uKOB#h`p zgC_1l_*3ZOTjOuzM`BE;j6l|)1sG!rV+bu>wK_-%2@^u2gpw#Fh%t~PAtV$dBv?h2 zfMjeg1q3onf})z4HxcutgNf~|b1tqkUDFvGVhk!_d^=>*Syk%~Gt$YJ-l1#g-n3(P zmkO;rSXtTn+MYdKJqHe?FTeb9-SYxGZ^HPC3kiD8{`E0G;R^us0Gwz#%--11&p!7Y zDU8R1ooQB)1*wOo7c-`Z1cA~yaRaDA5LAMYInfQskQEt9AOJ<8oMBTcNnuJ!P*6ic z7zHF#?F6Tfjhx(3P);2M4I~T_A)J2NWJTil5!6e7*4uQ_COyRUuftGkYDQG(`47>- zJO_vy=ngp}L;=f$! z2T_?xOxa!E`j&R*H@}?$h{h*~fSSjE5^4;<7#hE_KB9(3V2#|mAt+-A^k!JVoP9Jb zUQQYouMjUt+=O`M)p#q65yqd=U@gr4pEI}igNjQqbAECJ0F )sXWZtyyB0wTCd* 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�B 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

        3bEWY@2UV>rghl9OJ#=??1z)stPE{>s<-}8TErQ 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 FV1nHJwK)I) diff --git a/web/manifest.json b/web/manifest.json index 7e2f0f65f..e2e706339 100644 --- a/web/manifest.json +++ b/web/manifest.json @@ -3,8 +3,8 @@ "short_name": "SwiftControl", "start_url": ".", "display": "standalone", - "background_color": "#hexcode", - "theme_color": "#hexcode", + "background_color": "#ffffff", + "theme_color": "#ffffff", "description": "SwiftControl - Control your virtual riding", "orientation": "portrait-primary", "prefer_related_applications": false, diff --git a/windows/runner/resources/app_icon.ico b/windows/runner/resources/app_icon.ico index 975d4c9b4f32661afa3f98ad56b6f72f35e0ba71..6eec5790d047a4e52f8aa61b9aa6dc8ef9d3a7ed 100644 GIT binary patch literal 5545 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 literal 5827 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 N002ovPDHLkV1fuF35x&# From 9770aa544d46f50d4aeeb5e71a7058a5db82499f Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 12:31:04 +0100 Subject: [PATCH 003/636] web fixes, logo, github actions --- .github/workflows/build.yml | 95 ++++++++++++++++++ README.md | 31 +++++- .../wrapper/flutter_blue_plus_wrapper.dart | 31 +++--- lib/utils/devices/ble_device.dart | 8 ++ lib/utils/requirements/multi.dart | 4 +- logo.jpg | Bin 0 -> 148674 bytes macos/Runner.xcodeproj/project.pbxproj | 13 ++- .../xcshareddata/xcschemes/Runner.xcscheme | 8 +- macos/Runner/Configs/AppInfo.xcconfig | 2 +- macos/Runner/Release.entitlements | 7 +- 10 files changed, 162 insertions(+), 37 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 logo.jpg diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..ca3e932f8 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,95 @@ +name: "Build" + +on: + push: + branches: + - main + +jobs: + build: + name: Build & Release + runs-on: macos-latest + + steps: + #1 Checkout Repository + - name: Checkout Repository + uses: actions/checkout@v3 + + #2 Setup Java + - name: Set Up Java + uses: actions/setup-java@v3.12.0 + with: + distribution: 'oracle' + java-version: '17' + + #3 Setup Flutter + - name: Set Up Flutter + uses: subosito/flutter-action@v2 + with: + channel: 'stable' + + #4 Install Dependencies + - name: Install Dependencies + run: flutter pub get + + #6 Building APK + - name: Build APK + run: flutter build apk --release + + #8 Build app ( macos Build ) + - name: Build IPA + run: flutter build macos --release + + - name: Build Web + run: flutter build web --release + + #9 Upload Artifacts + - name: Upload Artifacts + uses: actions/upload-artifact@v2 + with: + name: Releases + path: | + build/app/outputs/flutter-apk/app-release.apk + build/macos/Build/Products/Release/SwiftControl.app + + #10 Extract Version + - name: Extract version from pubspec.yaml + id: extract_version + run: | + version=$(grep '^version: ' pubspec.yaml | cut -d ' ' -f 2 | tr -d '\r') + echo "VERSION=$version" >> $GITHUB_ENV + + #11 Check if Tag Exists + - name: Check if Tag Exists + id: check_tag + run: | + if git rev-parse "v${{ env.VERSION }}" >/dev/null 2>&1; then + echo "TAG_EXISTS=true" >> $GITHUB_ENV + else + echo "TAG_EXISTS=false" >> $GITHUB_ENV + fi + + #12 Modify Tag if it Exists + - name: Modify Tag + if: env.TAG_EXISTS == 'true' + id: modify_tag + run: | + new_version="${{ env.VERSION }}-build-${{ github.run_number }}" + echo "VERSION=$new_version" >> $GITHUB_ENV + + #13 Create Release + - name: Create Release + uses: ncipollo/release-action@v1 + with: + artifacts: "build/app/outputs/flutter-apk/app-release.apk,build/macos/Build/Products/Release/SwiftControl.app" + tag: v${{ env.VERSION }} + token: ${{ secrets.TOKEN }} + + - name: Upload static files as artifact + id: deployment + uses: actions/upload-pages-artifact@v3 + with: + path: build/web + + - id: web deployment + uses: actions/deploy-pages@v4 diff --git a/README.md b/README.md index ad14eda0d..74ed831ba 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,33 @@ # SwiftControl -SwiftControl - Control your virtual riding +SwiftControl Logo -## TODO -- github pipelines +### Description + +With SwiftControl you can control your favorite trainer app using your Zwift Click, Zwift Ride or Zwift Play devices. Primarily useful to perform virtual gear shifting. + +### Supported Apps +- MyWhoosh +- indieVelo / Training Peaks +- let me know if you know others that can benefit + +### Supported Devices +- Zwift Click +- Zwift Ride +- Zwift Play + +### Supported Platforms +- Android +- macOS +- Windows + +### How does it work? +The app connects to your Zwift device automatically. + +- When using Android a "click" on a certain part of the screen is simulated to trigger the action. +- When using macOS or Windows a keyboard click is used to trigger the action. Typically + and - keys are used to shift gears, while MyWhoosh uses K and I keys. + +### TODO - test Zwift Ride - implement more actions for Play + Ride -- write readme with logo - shorebird? diff --git a/flutter_blue_plus_windows/lib/src/wrapper/flutter_blue_plus_wrapper.dart b/flutter_blue_plus_windows/lib/src/wrapper/flutter_blue_plus_wrapper.dart index d5685d594..c9761d9a8 100644 --- a/flutter_blue_plus_windows/lib/src/wrapper/flutter_blue_plus_wrapper.dart +++ b/flutter_blue_plus_windows/lib/src/wrapper/flutter_blue_plus_wrapper.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:io'; +import 'package:flutter/foundation.dart'; import 'package:flutter_blue_plus/flutter_blue_plus.dart' as FBP; import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; @@ -22,7 +23,7 @@ class FlutterBluePlus { bool androidUsesFineLocation = false, List webOptionalServices = const [], }) async { - if (Platform.isWindows) { + if (!kIsWeb && Platform.isWindows) { return await FlutterBluePlusWindows.startScan( withServices: withServices, withRemoteIds: withRemoteIds, @@ -61,32 +62,32 @@ class FlutterBluePlus { } static Stream get adapterState { - if (Platform.isWindows) return FlutterBluePlusWindows.adapterState; + if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.adapterState; return FBP.FlutterBluePlus.adapterState; } static Stream> get scanResults { - if (Platform.isWindows) return FlutterBluePlusWindows.scanResults; + if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.scanResults; return FBP.FlutterBluePlus.scanResults; } static bool get isScanningNow { - if (Platform.isWindows) return FlutterBluePlusWindows.isScanningNow; + if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.isScanningNow; return FBP.FlutterBluePlus.isScanningNow; } static Stream get isScanning { - if (Platform.isWindows) return FlutterBluePlusWindows.isScanning; + if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.isScanning; return FBP.FlutterBluePlus.isScanning; } static Future stopScan() async { - if (Platform.isWindows) return await FlutterBluePlusWindows.stopScan(); + if (!kIsWeb && Platform.isWindows) return await FlutterBluePlusWindows.stopScan(); return await FBP.FlutterBluePlus.stopScan(); } static Future setLogLevel(LogLevel level, {color = true}) async { - if (Platform.isWindows) return FlutterBluePlusWindows.setLogLevel(level, color: color); + if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.setLogLevel(level, color: color); return FBP.FlutterBluePlus.setLogLevel(level, color: color); } @@ -94,33 +95,33 @@ class FlutterBluePlus { static LogLevel get logLevel => FBP.FlutterBluePlus.logLevel; static Future setOptions({bool restoreState = false, bool showPowerAlert = true}) async { - if (Platform.isWindows) return; + if (!kIsWeb && Platform.isWindows) return; FBP.FlutterBluePlus.setOptions(restoreState: restoreState, showPowerAlert: showPowerAlert); } static Future get isSupported async { - if (Platform.isWindows) return await FlutterBluePlusWindows.isSupported; + if (!kIsWeb && Platform.isWindows) return await FlutterBluePlusWindows.isSupported; return await FBP.FlutterBluePlus.isSupported; } static Future get adapterName async { - if (Platform.isWindows) return await FlutterBluePlusWindows.adapterName; + if (!kIsWeb && Platform.isWindows) return await FlutterBluePlusWindows.adapterName; return await FBP.FlutterBluePlus.adapterName; } static Future turnOn({int timeout = 60}) async { - if (Platform.isWindows) return await FlutterBluePlusWindows.turnOn(timeout: timeout); + if (!kIsWeb && Platform.isWindows) return await FlutterBluePlusWindows.turnOn(timeout: timeout); return await FBP.FlutterBluePlus.turnOn(timeout: timeout); } static List get connectedDevices { - if (Platform.isWindows) return FlutterBluePlusWindows.connectedDevices; + if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.connectedDevices; return FBP.FlutterBluePlus.connectedDevices; } static Future> systemDevices(List withServices) async { //TODO: connected devices => system devices - if (Platform.isWindows) return FlutterBluePlusWindows.connectedDevices; + if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.connectedDevices; return await FBP.FlutterBluePlus.systemDevices(withServices); } @@ -129,12 +130,12 @@ class FlutterBluePlus { } static Future> get bondedDevices async { - if (Platform.isWindows) return FlutterBluePlusWindows.connectedDevices; + if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.connectedDevices; return await FBP.FlutterBluePlus.bondedDevices; } static void cancelWhenScanComplete(StreamSubscription subscription) { - if (Platform.isWindows) return FlutterBluePlusWindows.cancelWhenScanComplete(subscription); + if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.cancelWhenScanComplete(subscription); return FBP.FlutterBluePlus.cancelWhenScanComplete(subscription); } } diff --git a/lib/utils/devices/ble_device.dart b/lib/utils/devices/ble_device.dart index 9fa8bf41a..ace570d66 100644 --- a/lib/utils/devices/ble_device.dart +++ b/lib/utils/devices/ble_device.dart @@ -24,6 +24,14 @@ abstract class BleDevice { if (scanResult.device.platformName == 'Zwift Ride') { return ZwiftRide(scanResult); } + if (kIsWeb) { + // manufacturer data is not available on web + if (scanResult.device.platformName == 'Zwift Play') { + return ZwiftPlay(scanResult); + } else if (scanResult.device.platformName == 'Zwift Click') { + return ZwiftClick(scanResult); + } + } final manufacturerData = scanResult.advertisementData.manufacturerData; final data = manufacturerData[Constants.ZWIFT_MANUFACTURER_ID]; if (data == null || data.isEmpty) { diff --git a/lib/utils/requirements/multi.dart b/lib/utils/requirements/multi.dart index 405de4106..b772ded36 100644 --- a/lib/utils/requirements/multi.dart +++ b/lib/utils/requirements/multi.dart @@ -1,5 +1,3 @@ -import 'dart:io'; - import 'package:dartx/dartx.dart'; import 'package:flutter/material.dart'; import 'package:flutter_blue_plus/flutter_blue_plus.dart'; @@ -15,7 +13,7 @@ class KeyboardRequirement extends PlatformRequirement { @override Future call() async { - return keyPressSimulator.requestAccess(onlyOpenPrefPane: Platform.isMacOS); + await keyPressSimulator.requestAccess(); } @override diff --git a/logo.jpg b/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..714aff22cd8a2e2d3a9f45ab4c7e875d371949fb GIT binary patch literal 148674 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

        )*Zt2k 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 literal 0 HcmV?d00001 diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index dc266f783..ce2f72a9a 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -67,7 +67,7 @@ 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* swift_play.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = swift_play.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10ED2044A3C60003C045 /* SwiftControl.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftControl.app; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; @@ -120,7 +120,6 @@ 1214C73C0A9D0DF8E46E2062 /* Pods-RunnerTests.release.xcconfig */, 6F6E35429F102BF1B750D24C /* Pods-RunnerTests.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -158,7 +157,7 @@ 33CC10EE2044A3C60003C045 /* Products */ = { isa = PBXGroup; children = ( - 33CC10ED2044A3C60003C045 /* swift_play.app */, + 33CC10ED2044A3C60003C045 /* SwiftControl.app */, 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, ); name = Products; @@ -249,7 +248,7 @@ ); name = Runner; productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* swift_play.app */; + productReference = 33CC10ED2044A3C60003C045 /* SwiftControl.app */; productType = "com.apple.product-type.application"; }; /* End PBXNativeTarget section */ @@ -572,8 +571,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -704,8 +705,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", @@ -724,8 +727,10 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", diff --git a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 7af84c5c2..799b5bd0d 100644 --- a/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -15,7 +15,7 @@ @@ -31,7 +31,7 @@ @@ -66,7 +66,7 @@ @@ -83,7 +83,7 @@ diff --git a/macos/Runner/Configs/AppInfo.xcconfig b/macos/Runner/Configs/AppInfo.xcconfig index b44a43fd4..ee9098216 100644 --- a/macos/Runner/Configs/AppInfo.xcconfig +++ b/macos/Runner/Configs/AppInfo.xcconfig @@ -5,7 +5,7 @@ // 'flutter create' template. // The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = swift_play +PRODUCT_NAME = SwiftControl // The application's bundle identifier PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements index c269f520c..0c67376eb 100644 --- a/macos/Runner/Release.entitlements +++ b/macos/Runner/Release.entitlements @@ -1,10 +1,5 @@ - - com.apple.security.app-sandbox - - com.apple.security.device.bluetooth - - + From 32339d7c6f84823a7294a15c0bbad409dd4a84e5 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 12:31:43 +0100 Subject: [PATCH 004/636] web fixes, logo, github actions --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ca3e932f8..0e343fcd8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -91,5 +91,5 @@ jobs: with: path: build/web - - id: web deployment + - name: Web Deploy uses: actions/deploy-pages@v4 From 2607553dfc2354471571011f4217f969474fe738 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 12:33:00 +0100 Subject: [PATCH 005/636] web fixes, logo, github actions --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0e343fcd8..558751620 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,7 +45,7 @@ jobs: #9 Upload Artifacts - name: Upload Artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: Releases path: | From cca7cd79621199113c31ca96292ed51cb0e710b4 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 13:04:39 +0100 Subject: [PATCH 006/636] github actions --- .github/workflows/build.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 558751620..f78deac32 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,9 +37,14 @@ jobs: run: flutter build apk --release #8 Build app ( macos Build ) - - name: Build IPA + - name: Build App run: flutter build macos --release + - name: Compress Archives and IPAs + run: | + cd build/macos/Build/Products/Release/ + zip SwiftControl.macos.zip SwiftControl.app + - name: Build Web run: flutter build web --release @@ -50,7 +55,7 @@ jobs: name: Releases path: | build/app/outputs/flutter-apk/app-release.apk - build/macos/Build/Products/Release/SwiftControl.app + build/macos/Build/Products/Release/SwiftControl.macos.zip #10 Extract Version - name: Extract version from pubspec.yaml From d026d26ae97788d534008efa8926191c7ffac49c Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 13:05:13 +0100 Subject: [PATCH 007/636] github actions --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f78deac32..27e0ae050 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,7 +43,7 @@ jobs: - name: Compress Archives and IPAs run: | cd build/macos/Build/Products/Release/ - zip SwiftControl.macos.zip SwiftControl.app + zip -r SwiftControl.macos.zip SwiftControl.app/ - name: Build Web run: flutter build web --release From 4548981d1baf97eabdb7c8b8ca3581853a5170d9 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 13:45:56 +0100 Subject: [PATCH 008/636] github actions --- .github/workflows/build.yml | 61 ++++++++++++++++++++++++++++++++++++- windows/CMakeLists.txt | 4 +-- windows/runner/Runner.rc | 8 ++--- windows/runner/main.cpp | 2 +- 4 files changed, 67 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 27e0ae050..3e3931722 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,6 +10,10 @@ jobs: name: Build & Release runs-on: macos-latest + permissions: + id-token: write + pages: write + steps: #1 Checkout Repository - name: Checkout Repository @@ -86,7 +90,7 @@ jobs: - name: Create Release uses: ncipollo/release-action@v1 with: - artifacts: "build/app/outputs/flutter-apk/app-release.apk,build/macos/Build/Products/Release/SwiftControl.app" + artifacts: "build/app/outputs/flutter-apk/app-release.apk,build/macos/Build/Products/Release/SwiftControl.macos.zip" tag: v${{ env.VERSION }} token: ${{ secrets.TOKEN }} @@ -98,3 +102,58 @@ jobs: - name: Web Deploy uses: actions/deploy-pages@v4 + + windows: + needs: build + name: Build & Release on Windows + runs-on: windows-latest + + steps: + #1 Checkout Repository + - name: Checkout Repository + uses: actions/checkout@v3 + + #2 Setup Java + - name: Set Up Java + uses: actions/setup-java@v3.12.0 + with: + distribution: 'oracle' + java-version: '17' + + #3 Setup Flutter + - name: Set Up Flutter + uses: subosito/flutter-action@v2 + with: + channel: 'stable' + + #4 Install Dependencies + - name: Install Dependencies + run: flutter pub get + + - name: Build App + run: flutter build windows + + #9 Upload Artifacts + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: Releases + path: | + build/windows/x64/runner/Release/swift_control.exe + + #10 Extract Version + - name: Extract version from pubspec.yaml + id: extract_version + run: | + version=$(grep '^version: ' pubspec.yaml | cut -d ' ' -f 2 | tr -d '\r') + echo "VERSION=$version" >> $GITHUB_ENV + + # add artifact to release + + - name: Create Release + uses: ncipollo/release-action@v1 + with: + allowUpdates: true + artifacts: "build/windows/x64/runner/Release/swift_control.exe" + tag: v${{ env.VERSION }} + token: ${{ secrets.TOKEN }} diff --git a/windows/CMakeLists.txt b/windows/CMakeLists.txt index 5c3f5f7be..204f93699 100644 --- a/windows/CMakeLists.txt +++ b/windows/CMakeLists.txt @@ -1,10 +1,10 @@ # Project-level configuration. cmake_minimum_required(VERSION 3.14) -project(swift_play LANGUAGES CXX) +project(swift_control LANGUAGES CXX) # The name of the executable created for the application. Change this to change # the on-disk name of your application. -set(BINARY_NAME "swift_play") +set(BINARY_NAME "swift_control") # Explicitly opt in to modern CMake behaviors to avoid warnings with recent # versions of CMake. diff --git a/windows/runner/Runner.rc b/windows/runner/Runner.rc index 4d99b65d2..38ec33673 100644 --- a/windows/runner/Runner.rc +++ b/windows/runner/Runner.rc @@ -90,12 +90,12 @@ BEGIN BLOCK "040904e4" BEGIN VALUE "CompanyName", "de.jonasbark" "\0" - VALUE "FileDescription", "swift_play" "\0" + VALUE "FileDescription", "swift_control" "\0" VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "swift_play" "\0" + VALUE "InternalName", "swift_control" "\0" VALUE "LegalCopyright", "Copyright (C) 2025 de.jonasbark. All rights reserved." "\0" - VALUE "OriginalFilename", "swift_play.exe" "\0" - VALUE "ProductName", "swift_play" "\0" + VALUE "OriginalFilename", "swift_control.exe" "\0" + VALUE "ProductName", "swift_control" "\0" VALUE "ProductVersion", VERSION_AS_STRING "\0" END END diff --git a/windows/runner/main.cpp b/windows/runner/main.cpp index c5885a6bd..4141ea94e 100644 --- a/windows/runner/main.cpp +++ b/windows/runner/main.cpp @@ -27,7 +27,7 @@ int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, FlutterWindow window(project); Win32Window::Point origin(10, 10); Win32Window::Size size(1280, 720); - if (!window.Create(L"swift_play", origin, size)) { + if (!window.Create(L"swift_control", origin, size)) { return EXIT_FAILURE; } window.SetQuitOnClose(true); From 3a111499f15877028e57b7b38eee65c88a5bc885 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 13:48:01 +0100 Subject: [PATCH 009/636] github actions --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3e3931722..2659a3b40 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -13,6 +13,7 @@ jobs: permissions: id-token: write pages: write + contents: write steps: #1 Checkout Repository From 91e4bd7475fe3ff9540964ecbe0838954b3d3dd8 Mon Sep 17 00:00:00 2001 From: jonasbark Date: Fri, 28 Mar 2025 14:17:28 +0100 Subject: [PATCH 010/636] Create FUNDING.yml --- .github/FUNDING.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..0e992b3b6 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +github: [jonasbark] +open_collective: jonas-bark1 +custom: ["https://paypal.me/boni"] From 01fbb0e663706c6f3e5efac5764296cceac1bd17 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 14:33:57 +0100 Subject: [PATCH 011/636] github actions --- .github/workflows/build.yml | 1 + README.md | 7 ++++++- web/index.html | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2659a3b40..1588a0c00 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -138,6 +138,7 @@ jobs: - name: Upload Artifacts uses: actions/upload-artifact@v4 with: + overwrite: true name: Releases path: | build/windows/x64/runner/Release/swift_control.exe diff --git a/README.md b/README.md index 74ed831ba..752fef16e 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,12 @@ The app connects to your Zwift device automatically. - When using Android a "click" on a certain part of the screen is simulated to trigger the action. - When using macOS or Windows a keyboard click is used to trigger the action. Typically + and - keys are used to shift gears, while MyWhoosh uses K and I keys. +### Donate +Please consider donating to support the development of this app. + +[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/boni) + ### TODO - test Zwift Ride +- confirm that Windows release works - implement more actions for Play + Ride -- shorebird? diff --git a/web/index.html b/web/index.html index 3fe0aaaab..c8ba25c4f 100644 --- a/web/index.html +++ b/web/index.html @@ -25,6 +25,7 @@ + From f41560e285a8c1180b3d421a4f357ce73d63f353 Mon Sep 17 00:00:00 2001 From: jonasbark Date: Fri, 28 Mar 2025 14:45:37 +0100 Subject: [PATCH 012/636] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 752fef16e..107673474 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,12 @@ With SwiftControl you can control your favorite trainer app using your Zwift Click, Zwift Ride or Zwift Play devices. Primarily useful to perform virtual gear shifting. + +https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159 + + + + ### Supported Apps - MyWhoosh - indieVelo / Training Peaks From 9a88313199c59bef097aade1e78a2056ddad8f06 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 15:24:25 +0100 Subject: [PATCH 013/636] control media (Android only for now), add menu --- .github/workflows/build.yml | 12 ++-- README.md | 15 +++-- .../accessibility/AccessibilityApi.kt | 43 ++++++++++++- .../accessibility/AccessibilityPlugin.kt | 14 ++++ accessibility/api.dart | 4 ++ accessibility/lib/accessibility.dart | 38 ++++++++++- lib/main.dart | 1 + lib/pages/device.dart | 2 + lib/pages/requirements.dart | 7 +- lib/utils/actions/android.dart | 5 ++ lib/utils/actions/base_actions.dart | 9 +++ lib/utils/devices/zwift_play.dart | 12 ++++ lib/widgets/menu.dart | 33 ++++++++++ linux/flutter/generated_plugin_registrant.cc | 4 ++ linux/flutter/generated_plugins.cmake | 1 + macos/Flutter/GeneratedPluginRegistrant.swift | 2 + macos/Podfile.lock | 6 ++ pubspec.lock | 64 +++++++++++++++++++ pubspec.yaml | 1 + web/index.html | 16 +---- .../flutter/generated_plugin_registrant.cc | 3 + windows/flutter/generated_plugins.cmake | 1 + 22 files changed, 263 insertions(+), 30 deletions(-) create mode 100644 lib/widgets/menu.dart diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1588a0c00..7fe976d3c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,7 +51,7 @@ jobs: zip -r SwiftControl.macos.zip SwiftControl.app/ - name: Build Web - run: flutter build web --release + run: flutter build web --release --base-href "/swiftcontrol/" #9 Upload Artifacts - name: Upload Artifacts @@ -144,11 +144,13 @@ jobs: build/windows/x64/runner/Release/swift_control.exe #10 Extract Version - - name: Extract version from pubspec.yaml - id: extract_version + - name: Extract version from pubspec.yaml (Windows) + shell: pwsh run: | - version=$(grep '^version: ' pubspec.yaml | cut -d ' ' -f 2 | tr -d '\r') - echo "VERSION=$version" >> $GITHUB_ENV + $version = Select-String '^version: ' pubspec.yaml | ForEach-Object { + ($_ -split ' ')[1].Trim() + } + echo "VERSION=$version" >> $env:GITHUB_ENV # add artifact to release diff --git a/README.md b/README.md index 107673474..59c4ec77a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ SwiftControl Logo -### Description +## Description With SwiftControl you can control your favorite trainer app using your Zwift Click, Zwift Ride or Zwift Play devices. Primarily useful to perform virtual gear shifting. @@ -12,33 +12,34 @@ https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159 -### Supported Apps +## Supported Apps - MyWhoosh - indieVelo / Training Peaks - let me know if you know others that can benefit -### Supported Devices +## Supported Devices - Zwift Click - Zwift Ride - Zwift Play -### Supported Platforms +## Supported Platforms - Android - macOS - Windows +- [Web](https://jonasbark.github.io/swiftcontrol/) (you won't be able to do much) -### How does it work? +## How does it work? The app connects to your Zwift device automatically. - When using Android a "click" on a certain part of the screen is simulated to trigger the action. - When using macOS or Windows a keyboard click is used to trigger the action. Typically + and - keys are used to shift gears, while MyWhoosh uses K and I keys. -### Donate +## Donate Please consider donating to support the development of this app. [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/boni) -### TODO +## TODO - test Zwift Ride - confirm that Windows release works - implement more actions for Play + Ride diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt index 0e4ece181..a3faf1073 100644 --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt @@ -45,6 +45,19 @@ class FlutterError ( val details: Any? = null ) : Throwable() +enum class MediaAction(val raw: Int) { + PLAY_PAUSE(0), + NEXT(1), + VOLUME_UP(2), + VOLUME_DOWN(3); + + companion object { + fun ofRaw(raw: Int): MediaAction? { + return values().firstOrNull { it.raw == raw } + } + } +} + /** Generated class from Pigeon that represents data sent in messages. */ data class WindowEvent ( val packageName: String, @@ -85,6 +98,11 @@ private open class AccessibilityApiPigeonCodec : StandardMessageCodec() { override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { return when (type) { 129.toByte() -> { + return (readValue(buffer) as Long?)?.let { + MediaAction.ofRaw(it.toInt()) + } + } + 130.toByte() -> { return (readValue(buffer) as? List)?.let { WindowEvent.fromList(it) } @@ -94,8 +112,12 @@ private open class AccessibilityApiPigeonCodec : StandardMessageCodec() { } override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { when (value) { - is WindowEvent -> { + is MediaAction -> { stream.write(129) + writeValue(stream, value.raw) + } + is WindowEvent -> { + stream.write(130) writeValue(stream, value.toList()) } else -> super.writeValue(stream, value) @@ -110,6 +132,7 @@ interface Accessibility { fun hasPermission(): Boolean fun openPermissions() fun performTouch(x: Double, y: Double) + fun controlMedia(action: MediaAction) companion object { /** The codec used by Accessibility. */ @@ -170,6 +193,24 @@ interface Accessibility { channel.setMessageHandler(null) } } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.accessibility.Accessibility.controlMedia$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val actionArg = args[0] as MediaAction + val wrapped: List = try { + api.controlMedia(actionArg) + listOf(null) + } catch (exception: Throwable) { + wrapError(exception) + } + reply.reply(wrapped) + } + } else { + channel.setMessageHandler(null) + } + } } } } diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt index de02f0154..9c7eaf543 100644 --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt @@ -1,6 +1,7 @@ package de.jonasbark.accessibility import Accessibility +import MediaAction import PigeonEventSink import StreamEventsStreamHandler import WindowEvent @@ -64,6 +65,19 @@ class AccessibilityPlugin: FlutterPlugin, MethodCallHandler, Accessibility { Observable.toService?.performTouch(x = x, y = y) ?: error("Service not running") } + override fun controlMedia(action: MediaAction) { + val audioService = context.getSystemService(Context.AUDIO_SERVICE) as android.media.AudioManager + when (action) { + MediaAction.PLAY_PAUSE -> { + audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE)) + audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_UP, android.view.KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE)) + } + MediaAction.NEXT -> audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_NEXT)) + MediaAction.VOLUME_DOWN -> audioService.adjustVolume(android.media.AudioManager.ADJUST_LOWER, android.media.AudioManager.FLAG_SHOW_UI) + MediaAction.VOLUME_UP -> audioService.adjustVolume(android.media.AudioManager.ADJUST_RAISE, android.media.AudioManager.FLAG_SHOW_UI) + } + } + } class EventListener : StreamEventsStreamHandler(), Receiver { diff --git a/accessibility/api.dart b/accessibility/api.dart index 62e9e5518..1fb1454b6 100644 --- a/accessibility/api.dart +++ b/accessibility/api.dart @@ -7,8 +7,12 @@ abstract class Accessibility { void openPermissions(); void performTouch(double x, double y); + + void controlMedia(MediaAction action); } +enum MediaAction { playPause, next, volumeUp, volumeDown } + class WindowEvent { final String packageName; final int windowHeight; diff --git a/accessibility/lib/accessibility.dart b/accessibility/lib/accessibility.dart index e0ca46f86..aa0f034fa 100644 --- a/accessibility/lib/accessibility.dart +++ b/accessibility/lib/accessibility.dart @@ -15,6 +15,13 @@ PlatformException _createConnectionError(String channelName) { ); } +enum MediaAction { + playPause, + next, + volumeUp, + volumeDown, +} + class WindowEvent { WindowEvent({ required this.packageName, @@ -77,8 +84,11 @@ class _PigeonCodec extends StandardMessageCodec { if (value is int) { buffer.putUint8(4); buffer.putInt64(value); - } else if (value is WindowEvent) { + } else if (value is MediaAction) { buffer.putUint8(129); + writeValue(buffer, value.index); + } else if (value is WindowEvent) { + buffer.putUint8(130); writeValue(buffer, value.encode()); } else { super.writeValue(buffer, value); @@ -89,6 +99,9 @@ class _PigeonCodec extends StandardMessageCodec { Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { case 129: + final int? value = readValue(buffer) as int?; + return value == null ? null : MediaAction.values[value]; + case 130: return WindowEvent.decode(readValue(buffer)!); default: return super.readValueOfType(type, buffer); @@ -184,6 +197,29 @@ class Accessibility { return; } } + + Future controlMedia(MediaAction action) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.accessibility.Accessibility.controlMedia$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send([action]); + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else { + return; + } + } } Stream streamEvents( {String instanceName = ''}) { diff --git a/lib/main.dart b/lib/main.dart index 07c232e4b..fa9c90c41 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -22,6 +22,7 @@ class SwiftPlayApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( + debugShowCheckedModeBanner: false, title: 'SwiftControl', theme: AppTheme.light, darkTheme: AppTheme.dark, diff --git a/lib/pages/device.dart b/lib/pages/device.dart index cbe298c13..a1dc28635 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -6,6 +6,7 @@ import 'package:swift_control/main.dart'; import 'package:swift_control/utils/devices/ble_device.dart'; import '../utils/messages/notification.dart'; +import '../widgets/menu.dart'; class DevicePage extends StatefulWidget { const DevicePage({super.key}); @@ -66,6 +67,7 @@ class _DevicePageState extends State { }, icon: Icon(Icons.clear), ), + MenuButton(), ], backgroundColor: Theme.of(context).colorScheme.inversePrimary, ), diff --git a/lib/pages/requirements.dart b/lib/pages/requirements.dart index 124d6a738..3bfdcb8b1 100644 --- a/lib/pages/requirements.dart +++ b/lib/pages/requirements.dart @@ -5,6 +5,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/utils/requirements/platform.dart'; +import 'package:swift_control/widgets/menu.dart'; import 'device.dart'; @@ -60,7 +61,11 @@ class _RequirementsPageState extends State with WidgetsBinding @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar(title: Text('SwiftControl'), backgroundColor: Theme.of(context).colorScheme.inversePrimary), + appBar: AppBar( + title: Text('SwiftControl'), + backgroundColor: Theme.of(context).colorScheme.inversePrimary, + actions: [MenuButton()], + ), body: _requirements.isEmpty ? Center(child: CircularProgressIndicator()) diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart index b34df2bc5..5feedee85 100644 --- a/lib/utils/actions/android.dart +++ b/lib/utils/actions/android.dart @@ -47,4 +47,9 @@ class AndroidActions extends BaseActions { accessibilityHandler.performTouch(point.dx, point.dy); } } + + @override + void controlMedia(MediaAction action) { + accessibilityHandler.controlMedia(action); + } } diff --git a/lib/utils/actions/base_actions.dart b/lib/utils/actions/base_actions.dart index 0c452fd67..4f0652200 100644 --- a/lib/utils/actions/base_actions.dart +++ b/lib/utils/actions/base_actions.dart @@ -1,5 +1,6 @@ import 'dart:io'; +import 'package:accessibility/accessibility.dart'; import 'package:flutter/foundation.dart'; import '../keymap/keymap.dart'; @@ -12,6 +13,10 @@ abstract class BaseActions { void init(Keymap? keymap) {} void increaseGear(); void decreaseGear(); + + void controlMedia(MediaAction action) { + throw UnimplementedError(); + } } class StubActions extends BaseActions { @@ -52,4 +57,8 @@ class ActionHandler { void decreaseGear() { actions.decreaseGear(); } + + void controlMedia(MediaAction action) { + actions.controlMedia(action); + } } diff --git a/lib/utils/devices/zwift_play.dart b/lib/utils/devices/zwift_play.dart index 42eddc6b9..78d32e5ef 100644 --- a/lib/utils/devices/zwift_play.dart +++ b/lib/utils/devices/zwift_play.dart @@ -1,3 +1,4 @@ +import 'package:accessibility/accessibility.dart'; import 'package:flutter/foundation.dart'; import 'package:swift_control/utils/devices/zwift_click.dart'; import 'package:swift_control/utils/messages/controller_notification.dart'; @@ -25,6 +26,17 @@ class ZwiftPlay extends ZwiftClick { } else if (!clickNotification.rightPad && clickNotification.analogLR.abs() == 100) { actionHandler.decreaseGear(); } + if (clickNotification.rightPad) { + if (clickNotification.buttonA) { + actionHandler.controlMedia(MediaAction.next); + } else if (clickNotification.buttonY) { + actionHandler.controlMedia(MediaAction.volumeUp); + } else if (clickNotification.buttonB) { + actionHandler.controlMedia(MediaAction.volumeDown); + } else if (clickNotification.buttonZ) { + actionHandler.controlMedia(MediaAction.playPause); + } + } } } } diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart new file mode 100644 index 000000000..27426184a --- /dev/null +++ b/lib/widgets/menu.dart @@ -0,0 +1,33 @@ +import 'package:flutter/material.dart'; +import 'package:url_launcher/url_launcher_string.dart'; + +class MenuButton extends StatelessWidget { + const MenuButton({super.key}); + + @override + Widget build(BuildContext context) { + return PopupMenuButton( + itemBuilder: + (c) => [ + PopupMenuItem( + child: Text('Feedback'), + onTap: () { + launchUrlString('https://github.com/jonasbark/swiftcontrol/issues'); + }, + ), + PopupMenuItem( + child: Text('Donate 🫶'), + onTap: () { + launchUrlString('https://paypal.me/boni'); + }, + ), + PopupMenuItem( + child: Text('License'), + onTap: () { + showLicensePage(context: context); + }, + ), + ], + ); + } +} diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index e71a16d23..f6f23bfe9 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -6,6 +6,10 @@ #include "generated_plugin_registrant.h" +#include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin"); + url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar); } diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 2e1de87a7..f16b4c342 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + url_launcher_linux ) list(APPEND FLUTTER_FFI_PLUGIN_LIST diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 65581d2d7..0d1fedaf0 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -9,10 +9,12 @@ import flutter_blue_plus_darwin import flutter_local_notifications import keypress_simulator_macos import path_provider_foundation +import url_launcher_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { FlutterBluePlusPlugin.register(with: registry.registrar(forPlugin: "FlutterBluePlusPlugin")) FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) KeypressSimulatorMacosPlugin.register(with: registry.registrar(forPlugin: "KeypressSimulatorMacosPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) + UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) } diff --git a/macos/Podfile.lock b/macos/Podfile.lock index ea7c5064d..62b06ec39 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -10,6 +10,8 @@ PODS: - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS + - url_launcher_macos (0.0.1): + - FlutterMacOS DEPENDENCIES: - flutter_blue_plus_darwin (from `Flutter/ephemeral/.symlinks/plugins/flutter_blue_plus_darwin/darwin`) @@ -17,6 +19,7 @@ DEPENDENCIES: - FlutterMacOS (from `Flutter/ephemeral`) - keypress_simulator_macos (from `Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos`) - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) + - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) EXTERNAL SOURCES: flutter_blue_plus_darwin: @@ -29,6 +32,8 @@ EXTERNAL SOURCES: :path: Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos path_provider_foundation: :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin + url_launcher_macos: + :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos SPEC CHECKSUMS: flutter_blue_plus_darwin: 3ea4ec9133b377febcc8a70b28cd2d2dc9242bd9 @@ -36,6 +41,7 @@ SPEC CHECKSUMS: FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 keypress_simulator_macos: f8556f9101f9f2f175652e0bceddf0fe82a4c6b2 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 + url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404 PODFILE CHECKSUM: 7eb978b976557c8c1cd717d8185ec483fd090a82 diff --git a/pubspec.lock b/pubspec.lock index 15761c086..be2bc9487 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -604,6 +604,70 @@ packages: url: "https://pub.dev" source: hosted version: "0.1.3" + url_launcher: + dependency: "direct main" + description: + name: url_launcher + sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" + url: "https://pub.dev" + source: hosted + version: "6.3.1" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + sha256: "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4" + url: "https://pub.dev" + source: hosted + version: "6.3.15" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626" + url: "https://pub.dev" + source: hosted + version: "6.3.2" + url_launcher_linux: + dependency: transitive + description: + name: url_launcher_linux + sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935" + url: "https://pub.dev" + source: hosted + version: "3.2.1" + url_launcher_macos: + dependency: transitive + description: + name: url_launcher_macos + sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" + url: "https://pub.dev" + source: hosted + version: "3.2.2" + url_launcher_platform_interface: + dependency: transitive + description: + name: url_launcher_platform_interface + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + url_launcher_web: + dependency: transitive + description: + name: url_launcher_web + sha256: "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9" + url: "https://pub.dev" + source: hosted + version: "2.4.0" + url_launcher_windows: + dependency: transitive + description: + name: url_launcher_windows + sha256: "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77" + url: "https://pub.dev" + source: hosted + version: "3.1.4" vector_math: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 30923625f..9a60026ae 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,6 +10,7 @@ dependencies: flutter: sdk: flutter + url_launcher: ^6.3.1 flutter_local_notifications: ^19.0.0 flutter_blue_plus: ^1.35.3 protobuf: ^3.1.0 diff --git a/web/index.html b/web/index.html index c8ba25c4f..77114d8c0 100644 --- a/web/index.html +++ b/web/index.html @@ -1,19 +1,6 @@ - @@ -25,12 +12,11 @@ - - swift_play + SwiftControl diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 110b575aa..7d1f1c592 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -7,8 +7,11 @@ #include "generated_plugin_registrant.h" #include +#include void RegisterPlugins(flutter::PluginRegistry* registry) { KeypressSimulatorWindowsPluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("KeypressSimulatorWindowsPluginCApi")); + UrlLauncherWindowsRegisterWithRegistrar( + registry->GetRegistrarForPlugin("UrlLauncherWindows")); } diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index cc18f110b..f969141ca 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -4,6 +4,7 @@ list(APPEND FLUTTER_PLUGIN_LIST keypress_simulator_windows + url_launcher_windows ) list(APPEND FLUTTER_FFI_PLUGIN_LIST From 1110df67d9cb2ec3845eae6184a78fc8795ea80e Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 16:16:49 +0100 Subject: [PATCH 014/636] try to notarize macOS app --- .github/workflows/build.yml | 64 ++++++++++++++++++++++++-- macos/Runner.xcodeproj/project.pbxproj | 19 +++++--- macos/Runner/Info.plist | 4 +- 3 files changed, 74 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7fe976d3c..7edf4cba2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,19 +37,75 @@ jobs: - name: Install Dependencies run: flutter pub get - #6 Building APK - - name: Build APK - run: flutter build apk --release - #8 Build app ( macos Build ) - name: Build App run: flutter build macos --release + - name: Install certificates + env: + DEVELOPER_ID_APPLICATION_P12_BASE64_MAC: ${{ secrets.DEVELOPER_ID_APPLICATION_P12_BASE64_MAC }} + P12_PASSWORD: ${{ secrets.P12_PASSWORD }} + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} + run: | + # create variables + DEVELOPER_ID_APPLICATION_CERTIFICATE_PATH=$RUNNER_TEMP/build_developerID_application_certificate.p12 + KEYCHAIN_PATH=$RUNNER_TEMP/pg-signing.keychain-db + + # import certificate and provisioning profile from secrets + echo -n "$DEVELOPER_ID_APPLICATION_P12_BASE64_MAC" | base64 --decode --output $DEVELOPER_ID_APPLICATION_CERTIFICATE_PATH + + # create temporary keychain + security create-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + # security default-keychain -s $KEYCHAIN_PATH + security set-keychain-settings -lut 21600 $KEYCHAIN_PATH + security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + + # import certificate to keychain + security import $DEVELOPER_ID_APPLICATION_CERTIFICATE_PATH -P "$P12_PASSWORD" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH + security list-keychain -d user -s $KEYCHAIN_PATH + security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + + - name: Code Signing + run: /usr/bin/codesign --deep --force -s "$DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY" --options runtime SwiftControl.app -v + working-directory: build/macos/Build/Products/Release + env: + DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY: ${{ secrets.DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY }} + + - name: Notarize app + run: | + # We can't notarize an app bundle directly, but we need to compress it as an archive. + # Therefore, we create a zip file containing our app bundle, so that we can send it to the + # notarization service + echo "Creating temp notarization archive" + ditto -c -k --keepParent "SwiftControl.app" "SwiftControl.zip" + + # Here we send the notarization request to the Apple's Notarization service, waiting for the result. + # This typically takes a few seconds inside a CI environment, but it might take more depending on the App + # characteristics. Visit the Notarization docs for more information and strategies on how to optimize it if + # you're curious + echo "Notarize app" + xcrun notarytool submit "SwiftControl.zip" --apple-id "$APPLE_ID" --team-id "$APPLE_TEAM_ID" --password "$APPLE_PASSWORD" --wait + + # Finally, we need to "attach the staple" to our executable, which will allow our app to be + # validated by macOS even when an internet connection is not available. + echo "Attach staple" + xcrun stapler staple "SwiftControl.app" + working-directory: build/macos/Build/Products/Release + env: + APPLE_ID: ${{ secrets.APPLE_ID }} + APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} + APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} + KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} + - name: Compress Archives and IPAs run: | cd build/macos/Build/Products/Release/ zip -r SwiftControl.macos.zip SwiftControl.app/ + #6 Building APK + - name: Build APK + run: flutter build apk --release + - name: Build Web run: flutter build web --release --base-href "/swiftcontrol/" diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index ce2f72a9a..ed10999b9 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -269,7 +269,6 @@ 33CC10EC2044A3C60003C045 = { CreatedOnToolsVersion = 9.2; LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; SystemCapabilities = { com.apple.Sandbox = { enabled = 1; @@ -571,15 +570,17 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 65H3XQQ399; + ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftControl; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; @@ -705,15 +706,17 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 65H3XQQ399; + ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftControl; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -727,15 +730,17 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "-"; + CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = ""; + DEVELOPMENT_TEAM = 65H3XQQ399; + ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", ); + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftControl; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; }; diff --git a/macos/Runner/Info.plist b/macos/Runner/Info.plist index e142a464b..10b1f4b72 100644 --- a/macos/Runner/Info.plist +++ b/macos/Runner/Info.plist @@ -22,13 +22,13 @@ $(FLUTTER_BUILD_NUMBER) LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) + NSBluetoothAlwaysUsageDescription + We need BT access because it's a BT App. NSHumanReadableCopyright $(PRODUCT_COPYRIGHT) NSMainNibFile MainMenu NSPrincipalClass NSApplication - NSBluetoothAlwaysUsageDescription - We need BT access because it's a BT App. From 9eb2a43cd2e89657f8f078ecc18dbf3cc6461850 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 16:43:47 +0100 Subject: [PATCH 015/636] try to sign macOS app --- .github/workflows/build.yml | 26 -------------------------- macos/Runner.xcodeproj/project.pbxproj | 18 ++++++++++++------ 2 files changed, 12 insertions(+), 32 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7edf4cba2..6fd75805f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -71,32 +71,6 @@ jobs: env: DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY: ${{ secrets.DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY }} - - name: Notarize app - run: | - # We can't notarize an app bundle directly, but we need to compress it as an archive. - # Therefore, we create a zip file containing our app bundle, so that we can send it to the - # notarization service - echo "Creating temp notarization archive" - ditto -c -k --keepParent "SwiftControl.app" "SwiftControl.zip" - - # Here we send the notarization request to the Apple's Notarization service, waiting for the result. - # This typically takes a few seconds inside a CI environment, but it might take more depending on the App - # characteristics. Visit the Notarization docs for more information and strategies on how to optimize it if - # you're curious - echo "Notarize app" - xcrun notarytool submit "SwiftControl.zip" --apple-id "$APPLE_ID" --team-id "$APPLE_TEAM_ID" --password "$APPLE_PASSWORD" --wait - - # Finally, we need to "attach the staple" to our executable, which will allow our app to be - # validated by macOS even when an internet connection is not available. - echo "Attach staple" - xcrun stapler staple "SwiftControl.app" - working-directory: build/macos/Build/Products/Release - env: - APPLE_ID: ${{ secrets.APPLE_ID }} - APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} - APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} - KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} - - name: Compress Archives and IPAs run: | cd build/macos/Build/Products/Release/ diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj index ed10999b9..2bd1d2c15 100644 --- a/macos/Runner.xcodeproj/project.pbxproj +++ b/macos/Runner.xcodeproj/project.pbxproj @@ -571,9 +571,11 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 65H3XQQ399; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 65H3XQQ399; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -707,9 +709,11 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 65H3XQQ399; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 65H3XQQ399; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -731,9 +735,11 @@ CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer"; + CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; - DEVELOPMENT_TEAM = 65H3XQQ399; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=macosx*]" = 65H3XQQ399; ENABLE_HARDENED_RUNTIME = YES; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( From 479172f34d07a746815a3f33654b8c04d3c51ae2 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 17:02:53 +0100 Subject: [PATCH 016/636] try to sign macOS app --- .github/workflows/build.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6fd75805f..a0bd27e3e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -37,10 +37,6 @@ jobs: - name: Install Dependencies run: flutter pub get - #8 Build app ( macos Build ) - - name: Build App - run: flutter build macos --release - - name: Install certificates env: DEVELOPER_ID_APPLICATION_P12_BASE64_MAC: ${{ secrets.DEVELOPER_ID_APPLICATION_P12_BASE64_MAC }} @@ -65,6 +61,10 @@ jobs: security list-keychain -d user -s $KEYCHAIN_PATH security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + #8 Build app ( macos Build ) + - name: Build App + run: flutter build macos --release + - name: Code Signing run: /usr/bin/codesign --deep --force -s "$DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY" --options runtime SwiftControl.app -v working-directory: build/macos/Build/Products/Release @@ -135,6 +135,7 @@ jobs: uses: actions/deploy-pages@v4 windows: + if: false needs: build name: Build & Release on Windows runs-on: windows-latest From b189a9a4356c82eeacbb542e3f355fa1ebcf6841 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 17:08:15 +0100 Subject: [PATCH 017/636] try to sign macOS app --- .github/workflows/build.yml | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a0bd27e3e..f36ae4645 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,23 +20,6 @@ jobs: - name: Checkout Repository uses: actions/checkout@v3 - #2 Setup Java - - name: Set Up Java - uses: actions/setup-java@v3.12.0 - with: - distribution: 'oracle' - java-version: '17' - - #3 Setup Flutter - - name: Set Up Flutter - uses: subosito/flutter-action@v2 - with: - channel: 'stable' - - #4 Install Dependencies - - name: Install Dependencies - run: flutter pub get - - name: Install certificates env: DEVELOPER_ID_APPLICATION_P12_BASE64_MAC: ${{ secrets.DEVELOPER_ID_APPLICATION_P12_BASE64_MAC }} @@ -61,6 +44,23 @@ jobs: security list-keychain -d user -s $KEYCHAIN_PATH security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH + #2 Setup Java + - name: Set Up Java + uses: actions/setup-java@v3.12.0 + with: + distribution: 'oracle' + java-version: '17' + + #3 Setup Flutter + - name: Set Up Flutter + uses: subosito/flutter-action@v2 + with: + channel: 'stable' + + #4 Install Dependencies + - name: Install Dependencies + run: flutter pub get + #8 Build app ( macos Build ) - name: Build App run: flutter build macos --release From e5f7f593b2b1e4353af06fbfdf670974a71405fc Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 17:27:20 +0100 Subject: [PATCH 018/636] build windows --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f36ae4645..8d95c9629 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,6 +7,7 @@ on: jobs: build: + if: false name: Build & Release runs-on: macos-latest @@ -135,8 +136,7 @@ jobs: uses: actions/deploy-pages@v4 windows: - if: false - needs: build + #needs: build name: Build & Release on Windows runs-on: windows-latest From 9c0be2fe7a32a6e24bfc331b01cb293da32f529e Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 17:43:18 +0100 Subject: [PATCH 019/636] zip that directory --- .github/workflows/build.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8d95c9629..144841eaa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,8 +7,8 @@ on: jobs: build: - if: false name: Build & Release + if: false runs-on: macos-latest permissions: @@ -136,7 +136,7 @@ jobs: uses: actions/deploy-pages@v4 windows: - #needs: build + needs: build name: Build & Release on Windows runs-on: windows-latest @@ -165,6 +165,11 @@ jobs: - name: Build App run: flutter build windows + - name: Zip directory (Windows) + shell: pwsh + run: | + Compress-Archive -Path "build/windows/x64/runner/Release/" -DestinationPath "build/windows/x64/runner/Release/SwiftControl.windows.zip" + #9 Upload Artifacts - name: Upload Artifacts uses: actions/upload-artifact@v4 @@ -172,7 +177,7 @@ jobs: overwrite: true name: Releases path: | - build/windows/x64/runner/Release/swift_control.exe + build/windows/x64/runner/Release/SwiftControl.windows.zip #10 Extract Version - name: Extract version from pubspec.yaml (Windows) @@ -189,6 +194,6 @@ jobs: uses: ncipollo/release-action@v1 with: allowUpdates: true - artifacts: "build/windows/x64/runner/Release/swift_control.exe" + artifacts: "build/windows/x64/runner/Release/SwiftControl.windows.zip" tag: v${{ env.VERSION }} token: ${{ secrets.TOKEN }} From 34fd8308591c3ce8fa86b287ba291a00bfac5b48 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 17:44:24 +0100 Subject: [PATCH 020/636] zip that directory --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 144841eaa..1b7007144 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -136,7 +136,7 @@ jobs: uses: actions/deploy-pages@v4 windows: - needs: build + #needs: build name: Build & Release on Windows runs-on: windows-latest From 3790bca2e7083f79a8f7bb1dddd2eb0e25e0f327 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 17:44:36 +0100 Subject: [PATCH 021/636] zip that directory --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1b7007144..04a37c674 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -168,7 +168,7 @@ jobs: - name: Zip directory (Windows) shell: pwsh run: | - Compress-Archive -Path "build/windows/x64/runner/Release/" -DestinationPath "build/windows/x64/runner/Release/SwiftControl.windows.zip" + Compress-Archive -Path "build/windows/x64/runner/Release/*" -DestinationPath "build/windows/x64/runner/Release/SwiftControl.windows.zip" #9 Upload Artifacts - name: Upload Artifacts From 16a71f4c6555d64577af8b795e5d30d3eca5b844 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 18:20:04 +0100 Subject: [PATCH 022/636] rename APK --- .github/workflows/build.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 04a37c674..2d63818d6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -72,11 +72,6 @@ jobs: env: DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY: ${{ secrets.DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY }} - - name: Compress Archives and IPAs - run: | - cd build/macos/Build/Products/Release/ - zip -r SwiftControl.macos.zip SwiftControl.app/ - #6 Building APK - name: Build APK run: flutter build apk --release @@ -84,13 +79,19 @@ jobs: - name: Build Web run: flutter build web --release --base-href "/swiftcontrol/" + - name: Handle archives + run: | + cd build/macos/Build/Products/Release/ + zip -r SwiftControl.macos.zip SwiftControl.app/ + cp build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/SwiftControl.android.apk + #9 Upload Artifacts - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: Releases path: | - build/app/outputs/flutter-apk/app-release.apk + build/app/outputs/flutter-apk/SwiftControl.android.apk build/macos/Build/Products/Release/SwiftControl.macos.zip #10 Extract Version @@ -122,7 +123,7 @@ jobs: - name: Create Release uses: ncipollo/release-action@v1 with: - artifacts: "build/app/outputs/flutter-apk/app-release.apk,build/macos/Build/Products/Release/SwiftControl.macos.zip" + artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/macos/Build/Products/Release/SwiftControl.macos.zip" tag: v${{ env.VERSION }} token: ${{ secrets.TOKEN }} From a368b4a2718499f8730a479af3b25cc7aecc2cbb Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 18:28:27 +0100 Subject: [PATCH 023/636] hint to downloads --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 59c4ec77a..895094d20 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,9 @@ https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159 +## Downloads +Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases + ## Supported Apps - MyWhoosh - indieVelo / Training Peaks From 74d253cdc3f6ef087b8f3374898089aa1e8c9b9c Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 18:28:58 +0100 Subject: [PATCH 024/636] reset build.yml --- .github/workflows/build.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2d63818d6..35694e6aa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -8,7 +8,6 @@ on: jobs: build: name: Build & Release - if: false runs-on: macos-latest permissions: @@ -137,7 +136,7 @@ jobs: uses: actions/deploy-pages@v4 windows: - #needs: build + needs: build name: Build & Release on Windows runs-on: windows-latest From ebb670b328e164735f6347a824f52d9a11673a91 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 20:35:08 +0100 Subject: [PATCH 025/636] windows: find by name only --- lib/pages/device.dart | 40 ++---------------- lib/pages/scan.dart | 4 +- lib/utils/connection.dart | 12 ++++++ lib/utils/devices/ble_device.dart | 2 +- lib/widgets/logviewer.dart | 68 +++++++++++++++++++++++++++++++ pubspec.yaml | 2 +- 6 files changed, 88 insertions(+), 40 deletions(-) create mode 100644 lib/widgets/logviewer.dart diff --git a/lib/pages/device.dart b/lib/pages/device.dart index a1dc28635..d4fe85ebe 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -4,8 +4,8 @@ import 'package:dartx/dartx.dart'; import 'package:flutter/material.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/utils/devices/ble_device.dart'; +import 'package:swift_control/widgets/logviewer.dart'; -import '../utils/messages/notification.dart'; import '../widgets/menu.dart'; class DevicePage extends StatefulWidget { @@ -16,24 +16,12 @@ class DevicePage extends StatefulWidget { } class _DevicePageState extends State { - List _actions = []; - late StreamSubscription _connectionStateSubscription; - late StreamSubscription _actionSubscription; - @override void initState() { super.initState(); - _actionSubscription = connection.actionStream.listen((data) { - if (mounted) { - setState(() { - _actions.add('${DateTime.now().toString().split(" ").last}: $data'); - _actions = _actions.takeLast(30).toList(); - }); - } - }); _connectionStateSubscription = connection.connectionStream.listen((state) async { setState(() {}); }); @@ -42,7 +30,6 @@ class _DevicePageState extends State { @override void dispose() { _connectionStateSubscription.cancel(); - _actionSubscription.cancel(); super.dispose(); } @@ -59,16 +46,7 @@ class _DevicePageState extends State { child: Scaffold( appBar: AppBar( title: Text('SwiftControl'), - actions: [ - IconButton( - onPressed: () { - _actions.clear(); - setState(() {}); - }, - icon: Icon(Icons.clear), - ), - MenuButton(), - ], + actions: [MenuButton()], backgroundColor: Theme.of(context).colorScheme.inversePrimary, ), body: Padding( @@ -82,19 +60,7 @@ class _DevicePageState extends State { })}', ), Divider(color: Theme.of(context).colorScheme.primary, height: 30), - Expanded( - child: ListView( - children: - _actions - .map( - (action) => Text( - action, - style: TextStyle(fontSize: 12, fontFeatures: [FontFeature.tabularFigures()]), - ), - ) - .toList(), - ), - ), + Expanded(child: LogViewer()), ], ), ), diff --git a/lib/pages/scan.dart b/lib/pages/scan.dart index b7d01f0c9..e0433540b 100644 --- a/lib/pages/scan.dart +++ b/lib/pages/scan.dart @@ -7,6 +7,8 @@ import 'package:swift_control/main.dart'; import 'package:swift_control/utils/ble.dart'; import 'package:swift_control/widgets/small_progress_indicator.dart'; +import '../widgets/logviewer.dart'; + class ScanWidget extends StatefulWidget { const ScanWidget({super.key}); @@ -89,7 +91,7 @@ class _ScanWidgetState extends State { child: ListView( padding: EdgeInsets.all(16), shrinkWrap: true, - children: [if (_isScanning) SmallProgressIndicator() else buildScanButton(context)], + children: [if (_isScanning) SmallProgressIndicator() else buildScanButton(context), LogViewer()], ), ); } diff --git a/lib/utils/connection.dart b/lib/utils/connection.dart index 0836cbbf1..81233064e 100644 --- a/lib/utils/connection.dart +++ b/lib/utils/connection.dart @@ -22,12 +22,24 @@ class Connection { final StreamController _connectionStreams = StreamController.broadcast(); Stream get connectionStream => _connectionStreams.stream; + var _lastScanResult = []; final ValueNotifier hasDevices = ValueNotifier(false); late StreamSubscription> _scanResultsSubscription; void startScanning() { _scanResultsSubscription = FlutterBluePlus.scanResults.listen( (results) { + if (!results.contentEquals(_lastScanResult)) { + final diff = results + .where((result) => !_lastScanResult.contains(result)) + .joinToString( + transform: (result) => "${result.device.platformName} (${result.advertisementData.manufacturerData})", + ); + _lastScanResult = results; + if (diff.isNotEmpty) { + _actionStreams.add(LogNotification('Found new devices: $diff')); + } + } final scanResults = results.mapNotNull(BleDevice.fromScanResult).toList(); _addDevices(scanResults); }, diff --git a/lib/utils/devices/ble_device.dart b/lib/utils/devices/ble_device.dart index ace570d66..a27071645 100644 --- a/lib/utils/devices/ble_device.dart +++ b/lib/utils/devices/ble_device.dart @@ -24,7 +24,7 @@ abstract class BleDevice { if (scanResult.device.platformName == 'Zwift Ride') { return ZwiftRide(scanResult); } - if (kIsWeb) { + if (kIsWeb || Platform.isWindows) { // manufacturer data is not available on web if (scanResult.device.platformName == 'Zwift Play') { return ZwiftPlay(scanResult); diff --git a/lib/widgets/logviewer.dart b/lib/widgets/logviewer.dart new file mode 100644 index 000000000..cfbc09f0a --- /dev/null +++ b/lib/widgets/logviewer.dart @@ -0,0 +1,68 @@ +import 'dart:async'; + +import 'package:dartx/dartx.dart'; +import 'package:flutter/material.dart'; + +import '../main.dart'; +import '../utils/messages/notification.dart'; + +class LogViewer extends StatefulWidget { + const LogViewer({super.key}); + + @override + State createState() => _LogviewerState(); +} + +class _LogviewerState extends State { + List _actions = []; + + late StreamSubscription _actionSubscription; + + @override + void initState() { + super.initState(); + + _actionSubscription = connection.actionStream.listen((data) { + if (mounted) { + setState(() { + _actions.add('${DateTime.now().toString().split(" ").last}: $data'); + _actions = _actions.takeLast(30).toList(); + }); + } + }); + } + + @override + void dispose() { + _actionSubscription.cancel(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return Stack( + children: [ + ListView( + shrinkWrap: true, + children: + _actions + .map( + (action) => + Text(action, style: TextStyle(fontSize: 12, fontFeatures: [FontFeature.tabularFigures()])), + ) + .toList(), + ), + Align( + alignment: Alignment.topRight, + child: IconButton( + onPressed: () { + _actions.clear(); + setState(() {}); + }, + icon: Icon(Icons.clear), + ), + ), + ], + ); + } +} diff --git a/pubspec.yaml b/pubspec.yaml index 9a60026ae..11808a3f1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 1.0.0+1 +version: 1.0.0+2 environment: sdk: ^3.7.0 From 446743c4cf667ac92d75e1ce4b6f348d5a99e3c8 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 20:57:11 +0100 Subject: [PATCH 026/636] windows: fix bad imports, naming conflict --- lib/pages/device.dart | 4 ++-- lib/utils/ble.dart | 2 +- lib/utils/connection.dart | 20 +++++++++---------- .../{ble_device.dart => base_device.dart} | 12 +++++------ lib/utils/devices/zwift_click.dart | 6 +++--- lib/utils/devices/zwift_ride.dart | 2 +- lib/utils/requirements/multi.dart | 5 +++-- 7 files changed, 26 insertions(+), 25 deletions(-) rename lib/utils/devices/{ble_device.dart => base_device.dart} (89%) diff --git a/lib/pages/device.dart b/lib/pages/device.dart index d4fe85ebe..f2e1f06a7 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -3,7 +3,7 @@ import 'dart:async'; import 'package:dartx/dartx.dart'; import 'package:flutter/material.dart'; import 'package:swift_control/main.dart'; -import 'package:swift_control/utils/devices/ble_device.dart'; +import 'package:swift_control/utils/devices/base_device.dart'; import 'package:swift_control/widgets/logviewer.dart'; import '../widgets/menu.dart'; @@ -16,7 +16,7 @@ class DevicePage extends StatefulWidget { } class _DevicePageState extends State { - late StreamSubscription _connectionStateSubscription; + late StreamSubscription _connectionStateSubscription; @override void initState() { diff --git a/lib/utils/ble.dart b/lib/utils/ble.dart index 5344a56b9..38ba2f3ef 100644 --- a/lib/utils/ble.dart +++ b/lib/utils/ble.dart @@ -1,6 +1,6 @@ import 'dart:typed_data'; -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; +import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; class BleUuid { static final ZWIFT_CUSTOM_SERVICE_UUID = Guid("00000001-19CA-4651-86E5-FA29DCDD09D1"); diff --git a/lib/utils/connection.dart b/lib/utils/connection.dart index 81233064e..1fa21ead1 100644 --- a/lib/utils/connection.dart +++ b/lib/utils/connection.dart @@ -3,24 +3,24 @@ import 'dart:io'; import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; +import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:swift_control/main.dart'; -import 'package:swift_control/utils/devices/ble_device.dart'; +import 'package:swift_control/utils/devices/base_device.dart'; import 'package:swift_control/utils/requirements/android.dart'; import 'messages/notification.dart'; class Connection { - final devices = []; + final devices = []; var androidNotificationsSetup = false; - final Map> _streamSubscriptions = {}; + final Map> _streamSubscriptions = {}; final StreamController _actionStreams = StreamController.broadcast(); Stream get actionStream => _actionStreams.stream; - final Map> _connectionSubscriptions = {}; - final StreamController _connectionStreams = StreamController.broadcast(); - Stream get connectionStream => _connectionStreams.stream; + final Map> _connectionSubscriptions = {}; + final StreamController _connectionStreams = StreamController.broadcast(); + Stream get connectionStream => _connectionStreams.stream; var _lastScanResult = []; final ValueNotifier hasDevices = ValueNotifier(false); @@ -40,7 +40,7 @@ class Connection { _actionStreams.add(LogNotification('Found new devices: $diff')); } } - final scanResults = results.mapNotNull(BleDevice.fromScanResult).toList(); + final scanResults = results.mapNotNull(BaseDevice.fromScanResult).toList(); _addDevices(scanResults); }, onError: (e) { @@ -49,7 +49,7 @@ class Connection { ); } - void _addDevices(List dev) { + void _addDevices(List dev) { final newDevices = dev.where((device) => !devices.contains(device)).toList(); devices.addAll(newDevices); @@ -66,7 +66,7 @@ class Connection { } } - Future _connect(BleDevice bleDevice) async { + Future _connect(BaseDevice bleDevice) async { try { await bleDevice.connect(); diff --git a/lib/utils/devices/ble_device.dart b/lib/utils/devices/base_device.dart similarity index 89% rename from lib/utils/devices/ble_device.dart rename to lib/utils/devices/base_device.dart index a27071645..e7e9dec37 100644 --- a/lib/utils/devices/ble_device.dart +++ b/lib/utils/devices/base_device.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'dart:io'; import 'package:flutter/foundation.dart'; -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; +import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:swift_control/utils/ble.dart'; import 'package:swift_control/utils/crypto/local_key_provider.dart'; import 'package:swift_control/utils/devices/zwift_click.dart'; @@ -12,19 +12,19 @@ import 'package:swift_control/utils/devices/zwift_ride.dart'; import '../crypto/zap_crypto.dart'; import '../messages/notification.dart'; -abstract class BleDevice { +abstract class BaseDevice { final ScanResult scanResult; final zapEncryption = ZapCrypto(LocalKeyProvider()); bool supportsEncryption = true; - BleDevice(this.scanResult); + BaseDevice(this.scanResult); - static BleDevice? fromScanResult(ScanResult scanResult) { + static BaseDevice? fromScanResult(ScanResult scanResult) { if (scanResult.device.platformName == 'Zwift Ride') { return ZwiftRide(scanResult); } - if (kIsWeb || Platform.isWindows) { + if (kIsWeb) { // manufacturer data is not available on web if (scanResult.device.platformName == 'Zwift Play') { return ZwiftPlay(scanResult); @@ -49,7 +49,7 @@ abstract class BleDevice { @override bool operator ==(Object other) => identical(this, other) || - other is BleDevice && runtimeType == other.runtimeType && scanResult == other.scanResult; + other is BaseDevice && runtimeType == other.runtimeType && scanResult == other.scanResult; @override int get hashCode => scanResult.hashCode; diff --git a/lib/utils/devices/zwift_click.dart b/lib/utils/devices/zwift_click.dart index cb4958af2..245645c45 100644 --- a/lib/utils/devices/zwift_click.dart +++ b/lib/utils/devices/zwift_click.dart @@ -2,16 +2,16 @@ import 'dart:io'; import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; +import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:swift_control/main.dart'; -import 'package:swift_control/utils/devices/ble_device.dart'; +import 'package:swift_control/utils/devices/base_device.dart'; import 'package:swift_control/utils/messages/notification.dart'; import '../ble.dart'; import '../crypto/encryption_utils.dart'; import '../messages/click_notification.dart'; -class ZwiftClick extends BleDevice { +class ZwiftClick extends BaseDevice { ZwiftClick(super.scanResult); List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_CLICK; diff --git a/lib/utils/devices/zwift_ride.dart b/lib/utils/devices/zwift_ride.dart index 99d0410e7..098ae83b2 100644 --- a/lib/utils/devices/zwift_ride.dart +++ b/lib/utils/devices/zwift_ride.dart @@ -1,4 +1,4 @@ -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; +import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:swift_control/utils/devices/zwift_play.dart'; import '../ble.dart'; diff --git a/lib/utils/requirements/multi.dart b/lib/utils/requirements/multi.dart index b772ded36..b5698c7d7 100644 --- a/lib/utils/requirements/multi.dart +++ b/lib/utils/requirements/multi.dart @@ -1,6 +1,6 @@ import 'package:dartx/dartx.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; +import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:keypress_simulator/keypress_simulator.dart'; import 'package:swift_control/pages/scan.dart'; import 'package:swift_control/utils/requirements/platform.dart'; @@ -61,7 +61,8 @@ class BluetoothTurnedOn extends PlatformRequirement { @override Future getStatus() async { - status = FlutterBluePlus.adapterStateNow != BluetoothAdapterState.off; + final currentState = await FlutterBluePlus.adapterState.first; + status = currentState != BluetoothAdapterState.off; } } From 662480ef4c8e7689537aace21f1ecb3150431d71 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 23:14:06 +0100 Subject: [PATCH 027/636] integrate universal_ble --- .../.github/ISSUE_TEMPLATE/bug_report.md | 29 - .../.github/ISSUE_TEMPLATE/build.md | 14 - .../.github/ISSUE_TEMPLATE/chore.md | 14 - .../.github/ISSUE_TEMPLATE/ci.md | 14 - .../.github/ISSUE_TEMPLATE/config.yml | 1 - .../.github/ISSUE_TEMPLATE/documentation.md | 14 - .../.github/ISSUE_TEMPLATE/feature_request.md | 18 - .../.github/ISSUE_TEMPLATE/performance.md | 14 - .../.github/ISSUE_TEMPLATE/refactor.md | 14 - .../.github/ISSUE_TEMPLATE/revert.md | 16 - .../.github/ISSUE_TEMPLATE/style.md | 14 - .../.github/ISSUE_TEMPLATE/test.md | 14 - .../.github/PULL_REQUEST_TEMPLATE.md | 27 - flutter_blue_plus_windows/.github/cspell.json | 21 - .../.github/dependabot.yaml | 11 - flutter_blue_plus_windows/.gitignore | 12 - flutter_blue_plus_windows/CHANGELOG.md | 106 -- flutter_blue_plus_windows/LICENSE | 7 - flutter_blue_plus_windows/README.md | 54 - .../lib/flutter_blue_plus_windows.dart | 7 - .../bluetooth_adapter_state_extension.dart | 19 - .../bluetooth_characteristic_extension.dart | 15 - .../bluetooth_descriptor_extension.dart | 14 - .../bluetooth_service_extension.dart | 13 - .../characteristic_properties_extension.dart | 19 - .../lib/src/extension/extension.dart | 5 - .../lib/src/flutter_blue_plus_windows.dart | 3 - .../bluetooth_characteristic_windows.dart | 160 --- .../src/windows/bluetooth_device_windows.dart | 310 ---- .../windows/bluetooth_service_windows.dart | 24 - .../windows/flutter_blue_plus_windows.dart | 353 ----- .../lib/src/windows/util.dart | 433 ------ .../lib/src/windows/windows.dart | 14 - .../wrapper/flutter_blue_plus_wrapper.dart | 141 -- .../lib/src/wrapper/wrapper.dart | 1 - flutter_blue_plus_windows/pubspec.yaml | 13 - lib/pages/device.dart | 2 +- lib/pages/scan.dart | 22 +- lib/utils/ble.dart | 12 +- lib/utils/connection.dart | 58 +- lib/utils/devices/base_device.dart | 37 +- lib/utils/devices/zwift_click.dart | 67 +- lib/utils/devices/zwift_ride.dart | 3 +- lib/utils/requirements/multi.dart | 8 +- macos/Flutter/GeneratedPluginRegistrant.swift | 6 +- macos/Podfile.lock | 17 +- pubspec.lock | 159 +-- pubspec.yaml | 11 +- universal_ble/.github/FUNDING.yml | 1 + .../.github/workflows/build_web_app.yml | 36 + .../workflows/test_ble_uuid_parser.yml | 36 + universal_ble/.gitignore | 30 + universal_ble/.metadata | 42 + universal_ble/.vscode/c_cpp_properties.json | 21 + universal_ble/.vscode/launch.json | 44 + universal_ble/.vscode/settings.json | 150 ++ universal_ble/CHANGELOG.md | 171 +++ universal_ble/LICENSE | 31 + universal_ble/README.md | 448 ++++++ universal_ble/analysis_options.yaml | 4 + universal_ble/android/.gitignore | 9 + universal_ble/android/build.gradle | 68 + universal_ble/android/settings.gradle | 1 + .../android/src/main/AndroidManifest.xml | 10 + .../com/navideck/universal_ble/SafeScanner.kt | 79 ++ .../navideck/universal_ble/UniversalBle.g.kt | 725 ++++++++++ .../universal_ble/UniversalBleFilterUtil.kt | 164 +++ .../universal_ble/UniversalBleHelper.kt | 358 +++++ .../universal_ble/UniversalBlePlugin.kt | 1045 ++++++++++++++ .../universal_ble/UniversalBlePluginTest.kt | 27 + universal_ble/darwin/.gitignore | 38 + universal_ble/darwin/Assets/.gitkeep | 0 .../darwin/Classes/UniversalBle.g.swift | 729 ++++++++++ .../Classes/UniversalBleFilterUtil.swift | 107 ++ .../darwin/Classes/UniversalBleHelper.swift | 203 +++ .../darwin/Classes/UniversalBlePlugin.swift | 501 +++++++ universal_ble/darwin/universal_ble.podspec | 25 + universal_ble/example/.gitignore | 47 + universal_ble/example/README.md | 3 + universal_ble/example/analysis_options.yaml | 28 + universal_ble/example/android/.gitignore | 13 + .../example/android/app/build.gradle | 65 + .../android/app/src/debug/AndroidManifest.xml | 7 + .../android/app/src/main/AndroidManifest.xml | 38 + .../universal_ble_example/MainActivity.kt | 6 + .../res/drawable-v21/launch_background.xml | 12 + .../main/res/drawable/launch_background.xml | 12 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 544 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 442 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 721 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1031 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1443 bytes .../app/src/main/res/values-night/styles.xml | 18 + .../app/src/main/res/values/styles.xml | 18 + .../app/src/profile/AndroidManifest.xml | 7 + universal_ble/example/android/build.gradle | 18 + .../example/android/gradle.properties | 3 + .../gradle/wrapper/gradle-wrapper.properties | 5 + universal_ble/example/android/settings.gradle | 25 + universal_ble/example/ios/.gitignore | 34 + .../ios/Flutter/AppFrameworkInfo.plist | 26 + .../example/ios/Flutter/Debug.xcconfig | 2 + .../example/ios/Flutter/Release.xcconfig | 2 + universal_ble/example/ios/Podfile | 44 + universal_ble/example/ios/Podfile.lock | 41 + .../ios/Runner.xcodeproj/project.pbxproj | 724 ++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 ++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../example/ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 ++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + .../Runner/Base.lproj/LaunchScreen.storyboard | 37 + .../ios/Runner/Base.lproj/Main.storyboard | 26 + universal_ble/example/ios/Runner/Info.plist | 53 + .../ios/Runner/Runner-Bridging-Header.h | 1 + .../example/ios/RunnerTests/RunnerTests.swift | 26 + .../example/lib/data/mock_universal_ble.dart | 124 ++ .../example/lib/data/permission_handler.dart | 101 ++ universal_ble/example/lib/home/home.dart | 282 ++++ .../lib/home/widgets/scan_filter_widget.dart | 172 +++ .../scanned_devices_placeholder_widget.dart | 26 + .../lib/home/widgets/scanned_item_widget.dart | 50 + universal_ble/example/lib/main.dart | 14 + .../peripheral_detail_page.dart | 495 +++++++ .../widgets/result_widget.dart | 50 + .../widgets/services_list_widget.dart | 76 + .../example/lib/widgets/platform_button.dart | 34 + .../lib/widgets/responsive_buttons_grid.dart | 26 + .../example/lib/widgets/responsive_view.dart | 28 + universal_ble/example/linux/.gitignore | 1 + universal_ble/example/linux/CMakeLists.txt | 141 ++ .../example/linux/flutter/CMakeLists.txt | 88 ++ .../flutter/generated_plugin_registrant.cc | 11 + .../flutter/generated_plugin_registrant.h | 15 + .../linux/flutter/generated_plugins.cmake | 23 + universal_ble/example/linux/main.cc | 6 + universal_ble/example/linux/my_application.cc | 104 ++ universal_ble/example/linux/my_application.h | 18 + universal_ble/example/macos/.gitignore | 7 + .../macos/Flutter/Flutter-Debug.xcconfig | 2 + .../macos/Flutter/Flutter-Release.xcconfig | 2 + .../Flutter/GeneratedPluginRegistrant.swift | 14 + universal_ble/example/macos/Podfile | 43 + universal_ble/example/macos/Podfile.lock | 29 + .../macos/Runner.xcodeproj/project.pbxproj | 791 +++++++++++ .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 98 ++ .../contents.xcworkspacedata | 10 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../example/macos/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 68 + .../AppIcon.appiconset/app_icon_1024.png | Bin 0 -> 102994 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 0 -> 5680 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 0 -> 520 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 0 -> 14142 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 0 -> 1066 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 0 -> 36406 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 0 -> 2218 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 +++++ .../macos/Runner/Configs/AppInfo.xcconfig | 14 + .../macos/Runner/Configs/Debug.xcconfig | 2 + .../macos/Runner/Configs/Release.xcconfig | 2 + .../macos/Runner/Configs/Warnings.xcconfig | 13 + .../macos/Runner/DebugProfile.entitlements | 14 + universal_ble/example/macos/Runner/Info.plist | 36 + .../macos/Runner/MainFlutterWindow.swift | 15 + .../example/macos/Runner/Release.entitlements | 12 + .../macos/RunnerTests/RunnerTests.swift | 27 + universal_ble/example/pubspec.lock | 456 ++++++ universal_ble/example/pubspec.yaml | 28 + universal_ble/example/web/favicon.png | Bin 0 -> 917 bytes universal_ble/example/web/icons/Icon-192.png | Bin 0 -> 5292 bytes universal_ble/example/web/icons/Icon-512.png | Bin 0 -> 8252 bytes .../example/web/icons/Icon-maskable-192.png | Bin 0 -> 5594 bytes .../example/web/icons/Icon-maskable-512.png | Bin 0 -> 20998 bytes universal_ble/example/web/index.html | 38 + universal_ble/example/web/manifest.json | 35 + universal_ble/example/windows/.gitignore | 17 + universal_ble/example/windows/CMakeLists.txt | 104 ++ .../example/windows/flutter/CMakeLists.txt | 109 ++ .../flutter/generated_plugin_registrant.cc | 17 + .../flutter/generated_plugin_registrant.h | 15 + .../windows/flutter/generated_plugins.cmake | 25 + .../example/windows/runner/CMakeLists.txt | 40 + .../example/windows/runner/Runner.rc | 121 ++ .../example/windows/runner/flutter_window.cpp | 71 + .../example/windows/runner/flutter_window.h | 33 + universal_ble/example/windows/runner/main.cpp | 43 + .../example/windows/runner/resource.h | 16 + .../windows/runner/resources/app_icon.ico | Bin 0 -> 33772 bytes .../windows/runner/runner.exe.manifest | 20 + .../example/windows/runner/utils.cpp | 65 + universal_ble/example/windows/runner/utils.h | 19 + .../example/windows/runner/win32_window.cpp | 288 ++++ .../example/windows/runner/win32_window.h | 102 ++ universal_ble/lib/src/ble_command_queue.dart | 42 + .../lib/src/models/availability_state.dart | 12 + .../lib/src/models/ble_capabilities.dart | 52 + universal_ble/lib/src/models/ble_command.dart | 13 + .../lib/src/models/ble_connection_state.dart | 11 + .../lib/src/models/ble_connection_update.dart | 11 + universal_ble/lib/src/models/ble_device.dart | 55 + .../lib/src/models/ble_property.dart | 18 + universal_ble/lib/src/models/ble_service.dart | 48 + .../lib/src/models/ble_uuid_parser.dart | 69 + .../lib/src/models/manufacturer_data.dart | 43 + .../src/models/manufacturer_data_filter.dart | 26 + .../lib/src/models/model_exports.dart | 14 + .../lib/src/models/platform_config.dart | 23 + universal_ble/lib/src/models/queue_type.dart | 5 + universal_ble/lib/src/models/scan_filter.dart | 18 + universal_ble/lib/src/queue.dart | 81 ++ universal_ble/lib/src/universal_ble.dart | 504 +++++++ .../lib/src/universal_ble_exceptions.dart | 35 + .../lib/src/universal_ble_filter_util.dart | 105 ++ .../universal_ble_linux.dart | 613 ++++++++ .../universal_ble_pigeon/universal_ble.g.dart | 862 ++++++++++++ .../universal_ble_pigeon_channel.dart | 260 ++++ .../src/universal_ble_platform_interface.dart | 141 ++ .../universal_ble_web/universal_ble_web.dart | 481 +++++++ universal_ble/lib/src/universal_logger.dart | 24 + universal_ble/lib/universal_ble.dart | 6 + universal_ble/pigeon/universal_ble.dart | 171 +++ universal_ble/pubspec.yaml | 48 + universal_ble/test/ble_uuid_parser_test.dart | 233 +++ .../test/manufacturer_data_filter_test.dart | 178 +++ universal_ble/test/scan_filter_test.dart | 198 +++ universal_ble/windows/.gitignore | 17 + universal_ble/windows/CMakeLists.txt | 80 ++ .../universal_ble_plugin_c_api.h | 23 + universal_ble/windows/src/enum_parser.h | 127 ++ .../windows/src/generated/universal_ble.g.cpp | 1190 ++++++++++++++++ .../windows/src/generated/universal_ble.g.h | 403 ++++++ .../windows/src/helper/universal_ble_base.h | 25 + .../windows/src/helper/universal_enum.h | 81 ++ universal_ble/windows/src/helper/utils.cpp | 161 +++ universal_ble/windows/src/helper/utils.h | 53 + universal_ble/windows/src/pin_entry.h | 134 ++ .../windows/src/ui_thread_handler.hpp | 79 ++ .../windows/src/universal_ble_filter_util.cpp | 152 ++ .../windows/src/universal_ble_filter_util.h | 15 + .../windows/src/universal_ble_plugin.cpp | 1249 +++++++++++++++++ .../windows/src/universal_ble_plugin.h | 200 +++ .../windows/src/universal_ble_thread_safe.h | 52 + .../windows/universal_ble_plugin_c_api.cpp | 13 + .../flutter/generated_plugin_registrant.cc | 3 + windows/flutter/generated_plugins.cmake | 1 + 271 files changed, 20469 insertions(+), 2221 deletions(-) delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/build.md delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/chore.md delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/ci.md delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/config.yml delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/documentation.md delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/feature_request.md delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/performance.md delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/refactor.md delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/revert.md delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/style.md delete mode 100644 flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/test.md delete mode 100644 flutter_blue_plus_windows/.github/PULL_REQUEST_TEMPLATE.md delete mode 100644 flutter_blue_plus_windows/.github/cspell.json delete mode 100644 flutter_blue_plus_windows/.github/dependabot.yaml delete mode 100644 flutter_blue_plus_windows/.gitignore delete mode 100644 flutter_blue_plus_windows/CHANGELOG.md delete mode 100644 flutter_blue_plus_windows/LICENSE delete mode 100644 flutter_blue_plus_windows/README.md delete mode 100644 flutter_blue_plus_windows/lib/flutter_blue_plus_windows.dart delete mode 100644 flutter_blue_plus_windows/lib/src/extension/bluetooth_adapter_state_extension.dart delete mode 100644 flutter_blue_plus_windows/lib/src/extension/bluetooth_characteristic_extension.dart delete mode 100644 flutter_blue_plus_windows/lib/src/extension/bluetooth_descriptor_extension.dart delete mode 100644 flutter_blue_plus_windows/lib/src/extension/bluetooth_service_extension.dart delete mode 100644 flutter_blue_plus_windows/lib/src/extension/characteristic_properties_extension.dart delete mode 100644 flutter_blue_plus_windows/lib/src/extension/extension.dart delete mode 100644 flutter_blue_plus_windows/lib/src/flutter_blue_plus_windows.dart delete mode 100644 flutter_blue_plus_windows/lib/src/windows/bluetooth_characteristic_windows.dart delete mode 100644 flutter_blue_plus_windows/lib/src/windows/bluetooth_device_windows.dart delete mode 100644 flutter_blue_plus_windows/lib/src/windows/bluetooth_service_windows.dart delete mode 100644 flutter_blue_plus_windows/lib/src/windows/flutter_blue_plus_windows.dart delete mode 100644 flutter_blue_plus_windows/lib/src/windows/util.dart delete mode 100644 flutter_blue_plus_windows/lib/src/windows/windows.dart delete mode 100644 flutter_blue_plus_windows/lib/src/wrapper/flutter_blue_plus_wrapper.dart delete mode 100644 flutter_blue_plus_windows/lib/src/wrapper/wrapper.dart delete mode 100644 flutter_blue_plus_windows/pubspec.yaml create mode 100644 universal_ble/.github/FUNDING.yml create mode 100644 universal_ble/.github/workflows/build_web_app.yml create mode 100644 universal_ble/.github/workflows/test_ble_uuid_parser.yml create mode 100644 universal_ble/.gitignore create mode 100644 universal_ble/.metadata create mode 100644 universal_ble/.vscode/c_cpp_properties.json create mode 100644 universal_ble/.vscode/launch.json create mode 100644 universal_ble/.vscode/settings.json create mode 100644 universal_ble/CHANGELOG.md create mode 100644 universal_ble/LICENSE create mode 100644 universal_ble/README.md create mode 100644 universal_ble/analysis_options.yaml create mode 100644 universal_ble/android/.gitignore create mode 100644 universal_ble/android/build.gradle create mode 100644 universal_ble/android/settings.gradle create mode 100644 universal_ble/android/src/main/AndroidManifest.xml create mode 100644 universal_ble/android/src/main/kotlin/com/navideck/universal_ble/SafeScanner.kt create mode 100644 universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBle.g.kt create mode 100644 universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleFilterUtil.kt create mode 100644 universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleHelper.kt create mode 100644 universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBlePlugin.kt create mode 100644 universal_ble/android/src/test/kotlin/com/navideck/universal_ble/UniversalBlePluginTest.kt create mode 100644 universal_ble/darwin/.gitignore create mode 100644 universal_ble/darwin/Assets/.gitkeep create mode 100644 universal_ble/darwin/Classes/UniversalBle.g.swift create mode 100644 universal_ble/darwin/Classes/UniversalBleFilterUtil.swift create mode 100644 universal_ble/darwin/Classes/UniversalBleHelper.swift create mode 100644 universal_ble/darwin/Classes/UniversalBlePlugin.swift create mode 100644 universal_ble/darwin/universal_ble.podspec create mode 100644 universal_ble/example/.gitignore create mode 100644 universal_ble/example/README.md create mode 100644 universal_ble/example/analysis_options.yaml create mode 100644 universal_ble/example/android/.gitignore create mode 100644 universal_ble/example/android/app/build.gradle create mode 100644 universal_ble/example/android/app/src/debug/AndroidManifest.xml create mode 100644 universal_ble/example/android/app/src/main/AndroidManifest.xml create mode 100644 universal_ble/example/android/app/src/main/kotlin/com/navideck/universal_ble_example/MainActivity.kt create mode 100644 universal_ble/example/android/app/src/main/res/drawable-v21/launch_background.xml create mode 100644 universal_ble/example/android/app/src/main/res/drawable/launch_background.xml create mode 100644 universal_ble/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 universal_ble/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 universal_ble/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 universal_ble/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 universal_ble/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 universal_ble/example/android/app/src/main/res/values-night/styles.xml create mode 100644 universal_ble/example/android/app/src/main/res/values/styles.xml create mode 100644 universal_ble/example/android/app/src/profile/AndroidManifest.xml create mode 100644 universal_ble/example/android/build.gradle create mode 100644 universal_ble/example/android/gradle.properties create mode 100644 universal_ble/example/android/gradle/wrapper/gradle-wrapper.properties create mode 100644 universal_ble/example/android/settings.gradle create mode 100644 universal_ble/example/ios/.gitignore create mode 100644 universal_ble/example/ios/Flutter/AppFrameworkInfo.plist create mode 100644 universal_ble/example/ios/Flutter/Debug.xcconfig create mode 100644 universal_ble/example/ios/Flutter/Release.xcconfig create mode 100644 universal_ble/example/ios/Podfile create mode 100644 universal_ble/example/ios/Podfile.lock create mode 100644 universal_ble/example/ios/Runner.xcodeproj/project.pbxproj create mode 100644 universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 universal_ble/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 universal_ble/example/ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 universal_ble/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 universal_ble/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 universal_ble/example/ios/Runner/AppDelegate.swift create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 universal_ble/example/ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 universal_ble/example/ios/Runner/Base.lproj/Main.storyboard create mode 100644 universal_ble/example/ios/Runner/Info.plist create mode 100644 universal_ble/example/ios/Runner/Runner-Bridging-Header.h create mode 100644 universal_ble/example/ios/RunnerTests/RunnerTests.swift create mode 100644 universal_ble/example/lib/data/mock_universal_ble.dart create mode 100644 universal_ble/example/lib/data/permission_handler.dart create mode 100644 universal_ble/example/lib/home/home.dart create mode 100644 universal_ble/example/lib/home/widgets/scan_filter_widget.dart create mode 100644 universal_ble/example/lib/home/widgets/scanned_devices_placeholder_widget.dart create mode 100644 universal_ble/example/lib/home/widgets/scanned_item_widget.dart create mode 100644 universal_ble/example/lib/main.dart create mode 100644 universal_ble/example/lib/peripheral_details/peripheral_detail_page.dart create mode 100644 universal_ble/example/lib/peripheral_details/widgets/result_widget.dart create mode 100644 universal_ble/example/lib/peripheral_details/widgets/services_list_widget.dart create mode 100644 universal_ble/example/lib/widgets/platform_button.dart create mode 100644 universal_ble/example/lib/widgets/responsive_buttons_grid.dart create mode 100644 universal_ble/example/lib/widgets/responsive_view.dart create mode 100644 universal_ble/example/linux/.gitignore create mode 100644 universal_ble/example/linux/CMakeLists.txt create mode 100644 universal_ble/example/linux/flutter/CMakeLists.txt create mode 100644 universal_ble/example/linux/flutter/generated_plugin_registrant.cc create mode 100644 universal_ble/example/linux/flutter/generated_plugin_registrant.h create mode 100644 universal_ble/example/linux/flutter/generated_plugins.cmake create mode 100644 universal_ble/example/linux/main.cc create mode 100644 universal_ble/example/linux/my_application.cc create mode 100644 universal_ble/example/linux/my_application.h create mode 100644 universal_ble/example/macos/.gitignore create mode 100644 universal_ble/example/macos/Flutter/Flutter-Debug.xcconfig create mode 100644 universal_ble/example/macos/Flutter/Flutter-Release.xcconfig create mode 100644 universal_ble/example/macos/Flutter/GeneratedPluginRegistrant.swift create mode 100644 universal_ble/example/macos/Podfile create mode 100644 universal_ble/example/macos/Podfile.lock create mode 100644 universal_ble/example/macos/Runner.xcodeproj/project.pbxproj create mode 100644 universal_ble/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 universal_ble/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 universal_ble/example/macos/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 universal_ble/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 universal_ble/example/macos/Runner/AppDelegate.swift create mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png create mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png create mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png create mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png create mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png create mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png create mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png create mode 100644 universal_ble/example/macos/Runner/Base.lproj/MainMenu.xib create mode 100644 universal_ble/example/macos/Runner/Configs/AppInfo.xcconfig create mode 100644 universal_ble/example/macos/Runner/Configs/Debug.xcconfig create mode 100644 universal_ble/example/macos/Runner/Configs/Release.xcconfig create mode 100644 universal_ble/example/macos/Runner/Configs/Warnings.xcconfig create mode 100644 universal_ble/example/macos/Runner/DebugProfile.entitlements create mode 100644 universal_ble/example/macos/Runner/Info.plist create mode 100644 universal_ble/example/macos/Runner/MainFlutterWindow.swift create mode 100644 universal_ble/example/macos/Runner/Release.entitlements create mode 100644 universal_ble/example/macos/RunnerTests/RunnerTests.swift create mode 100644 universal_ble/example/pubspec.lock create mode 100644 universal_ble/example/pubspec.yaml create mode 100644 universal_ble/example/web/favicon.png create mode 100644 universal_ble/example/web/icons/Icon-192.png create mode 100644 universal_ble/example/web/icons/Icon-512.png create mode 100644 universal_ble/example/web/icons/Icon-maskable-192.png create mode 100644 universal_ble/example/web/icons/Icon-maskable-512.png create mode 100644 universal_ble/example/web/index.html create mode 100644 universal_ble/example/web/manifest.json create mode 100644 universal_ble/example/windows/.gitignore create mode 100644 universal_ble/example/windows/CMakeLists.txt create mode 100644 universal_ble/example/windows/flutter/CMakeLists.txt create mode 100644 universal_ble/example/windows/flutter/generated_plugin_registrant.cc create mode 100644 universal_ble/example/windows/flutter/generated_plugin_registrant.h create mode 100644 universal_ble/example/windows/flutter/generated_plugins.cmake create mode 100644 universal_ble/example/windows/runner/CMakeLists.txt create mode 100644 universal_ble/example/windows/runner/Runner.rc create mode 100644 universal_ble/example/windows/runner/flutter_window.cpp create mode 100644 universal_ble/example/windows/runner/flutter_window.h create mode 100644 universal_ble/example/windows/runner/main.cpp create mode 100644 universal_ble/example/windows/runner/resource.h create mode 100644 universal_ble/example/windows/runner/resources/app_icon.ico create mode 100644 universal_ble/example/windows/runner/runner.exe.manifest create mode 100644 universal_ble/example/windows/runner/utils.cpp create mode 100644 universal_ble/example/windows/runner/utils.h create mode 100644 universal_ble/example/windows/runner/win32_window.cpp create mode 100644 universal_ble/example/windows/runner/win32_window.h create mode 100644 universal_ble/lib/src/ble_command_queue.dart create mode 100644 universal_ble/lib/src/models/availability_state.dart create mode 100644 universal_ble/lib/src/models/ble_capabilities.dart create mode 100644 universal_ble/lib/src/models/ble_command.dart create mode 100644 universal_ble/lib/src/models/ble_connection_state.dart create mode 100644 universal_ble/lib/src/models/ble_connection_update.dart create mode 100644 universal_ble/lib/src/models/ble_device.dart create mode 100644 universal_ble/lib/src/models/ble_property.dart create mode 100644 universal_ble/lib/src/models/ble_service.dart create mode 100644 universal_ble/lib/src/models/ble_uuid_parser.dart create mode 100644 universal_ble/lib/src/models/manufacturer_data.dart create mode 100644 universal_ble/lib/src/models/manufacturer_data_filter.dart create mode 100644 universal_ble/lib/src/models/model_exports.dart create mode 100644 universal_ble/lib/src/models/platform_config.dart create mode 100644 universal_ble/lib/src/models/queue_type.dart create mode 100644 universal_ble/lib/src/models/scan_filter.dart create mode 100644 universal_ble/lib/src/queue.dart create mode 100644 universal_ble/lib/src/universal_ble.dart create mode 100644 universal_ble/lib/src/universal_ble_exceptions.dart create mode 100644 universal_ble/lib/src/universal_ble_filter_util.dart create mode 100644 universal_ble/lib/src/universal_ble_linux/universal_ble_linux.dart create mode 100644 universal_ble/lib/src/universal_ble_pigeon/universal_ble.g.dart create mode 100644 universal_ble/lib/src/universal_ble_pigeon/universal_ble_pigeon_channel.dart create mode 100644 universal_ble/lib/src/universal_ble_platform_interface.dart create mode 100644 universal_ble/lib/src/universal_ble_web/universal_ble_web.dart create mode 100644 universal_ble/lib/src/universal_logger.dart create mode 100644 universal_ble/lib/universal_ble.dart create mode 100644 universal_ble/pigeon/universal_ble.dart create mode 100644 universal_ble/pubspec.yaml create mode 100644 universal_ble/test/ble_uuid_parser_test.dart create mode 100644 universal_ble/test/manufacturer_data_filter_test.dart create mode 100644 universal_ble/test/scan_filter_test.dart create mode 100644 universal_ble/windows/.gitignore create mode 100644 universal_ble/windows/CMakeLists.txt create mode 100644 universal_ble/windows/include/universal_ble/universal_ble_plugin_c_api.h create mode 100644 universal_ble/windows/src/enum_parser.h create mode 100644 universal_ble/windows/src/generated/universal_ble.g.cpp create mode 100644 universal_ble/windows/src/generated/universal_ble.g.h create mode 100644 universal_ble/windows/src/helper/universal_ble_base.h create mode 100644 universal_ble/windows/src/helper/universal_enum.h create mode 100644 universal_ble/windows/src/helper/utils.cpp create mode 100644 universal_ble/windows/src/helper/utils.h create mode 100644 universal_ble/windows/src/pin_entry.h create mode 100644 universal_ble/windows/src/ui_thread_handler.hpp create mode 100644 universal_ble/windows/src/universal_ble_filter_util.cpp create mode 100644 universal_ble/windows/src/universal_ble_filter_util.h create mode 100644 universal_ble/windows/src/universal_ble_plugin.cpp create mode 100644 universal_ble/windows/src/universal_ble_plugin.h create mode 100644 universal_ble/windows/src/universal_ble_thread_safe.h create mode 100644 universal_ble/windows/universal_ble_plugin_c_api.cpp diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/bug_report.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 50a4c7b8b..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -name: Bug Report -about: Create a report to help us improve -title: "fix: " -labels: bug ---- - -**Description** - -A clear and concise description of what the bug is. - -**Steps To Reproduce** - -1. Go to '...' -2. Click on '....' -3. Scroll down to '....' -4. See error - -**Expected Behavior** - -A clear and concise description of what you expected to happen. - -**Screenshots** - -If applicable, add screenshots to help explain your problem. - -**Additional Context** - -Add any other context about the problem here. diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/build.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/build.md deleted file mode 100644 index 0cf8e62cd..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/build.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Build System -about: Changes that affect the build system or external dependencies -title: "build: " -labels: build ---- - -**Description** - -Describe what changes need to be done to the build system and why. - -**Requirements** - -- [ ] The build system is passing diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/chore.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/chore.md deleted file mode 100644 index 498ebfd82..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/chore.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Chore -about: Other changes that don't modify src or test files -title: "chore: " -labels: chore ---- - -**Description** - -Clearly describe what change is needed and why. If this changes code then please use another issue type. - -**Requirements** - -- [ ] No functional changes to the code diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/ci.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/ci.md deleted file mode 100644 index fa2dd9e2d..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/ci.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Continuous Integration -about: Changes to the CI configuration files and scripts -title: "ci: " -labels: ci ---- - -**Description** - -Describe what changes need to be done to the ci/cd system and why. - -**Requirements** - -- [ ] The ci system is passing diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/config.yml b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index ec4bb386b..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1 +0,0 @@ -blank_issues_enabled: false \ No newline at end of file diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/documentation.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/documentation.md deleted file mode 100644 index f494a4d98..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/documentation.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Documentation -about: Improve the documentation so all collaborators have a common understanding -title: "docs: " -labels: documentation ---- - -**Description** - -Clearly describe what documentation you are looking to add or improve. - -**Requirements** - -- [ ] Requirements go here diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/feature_request.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index ddd2fcca9..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -name: Feature Request -about: A new feature to be added to the project -title: "feat: " -labels: feature ---- - -**Description** - -Clearly describe what you are looking to add. The more context the better. - -**Requirements** - -- [ ] Checklist of requirements to be fulfilled - -**Additional Context** - -Add any other context or screenshots about the feature request go here. diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/performance.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/performance.md deleted file mode 100644 index 699b8d45f..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/performance.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Performance Update -about: A code change that improves performance -title: "perf: " -labels: performance ---- - -**Description** - -Clearly describe what code needs to be changed and what the performance impact is going to be. Bonus point's if you can tie this directly to user experience. - -**Requirements** - -- [ ] There is no drop in test coverage. diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/refactor.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/refactor.md deleted file mode 100644 index 1626c5704..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/refactor.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Refactor -about: A code change that neither fixes a bug nor adds a feature -title: "refactor: " -labels: refactor ---- - -**Description** - -Clearly describe what needs to be refactored and why. Please provide links to related issues (bugs or upcoming features) in order to help prioritize. - -**Requirements** - -- [ ] There is no drop in test coverage. diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/revert.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/revert.md deleted file mode 100644 index 9d121dc56..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/revert.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -name: Revert Commit -about: Reverts a previous commit -title: "revert: " -labels: revert ---- - -**Description** - -Provide a link to a PR/Commit that you are looking to revert and why. - -**Requirements** - -- [ ] Change has been reverted -- [ ] No change in test coverage has happened -- [ ] A new ticket is created for any follow on work that needs to happen diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/style.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/style.md deleted file mode 100644 index 02244a7bd..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/style.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Style Changes -about: Changes that do not affect the meaning of the code (white space, formatting, missing semi-colons, etc) -title: "style: " -labels: style ---- - -**Description** - -Clearly describe what you are looking to change and why. - -**Requirements** - -- [ ] There is no drop in test coverage. diff --git a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/test.md b/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/test.md deleted file mode 100644 index 431a7ea76..000000000 --- a/flutter_blue_plus_windows/.github/ISSUE_TEMPLATE/test.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -name: Test -about: Adding missing tests or correcting existing tests -title: "test: " -labels: test ---- - -**Description** - -List out the tests that need to be added or changed. Please also include any information as to why this was not covered in the past. - -**Requirements** - -- [ ] There is no drop in test coverage. diff --git a/flutter_blue_plus_windows/.github/PULL_REQUEST_TEMPLATE.md b/flutter_blue_plus_windows/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 116993637..000000000 --- a/flutter_blue_plus_windows/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,27 +0,0 @@ - - -## Status - -**READY/IN DEVELOPMENT/HOLD** - -## Description - - - -## Type of Change - - - -- [ ] ✨ New feature (non-breaking change which adds functionality) -- [ ] 🛠️ Bug fix (non-breaking change which fixes an issue) -- [ ] ❌ Breaking change (fix or feature that would cause existing functionality to change) -- [ ] 🧹 Code refactor -- [ ] ✅ Build configuration change -- [ ] 📝 Documentation -- [ ] 🗑️ Chore diff --git a/flutter_blue_plus_windows/.github/cspell.json b/flutter_blue_plus_windows/.github/cspell.json deleted file mode 100644 index b5f42e1ca..000000000 --- a/flutter_blue_plus_windows/.github/cspell.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "version": "0.2", - "$schema": "https://raw.githubusercontent.com/streetsidesoftware/cspell/main/cspell.schema.json", - "dictionaries": ["vgv_allowed", "vgv_forbidden"], - "dictionaryDefinitions": [ - { - "name": "vgv_allowed", - "path": "https://raw.githubusercontent.com/verygoodopensource/very_good_dictionaries/main/allowed.txt", - "description": "Allowed VGV Spellings" - }, - { - "name": "vgv_forbidden", - "path": "https://raw.githubusercontent.com/verygoodopensource/very_good_dictionaries/main/forbidden.txt", - "description": "Forbidden VGV Spellings" - } - ], - "useGitignore": true, - "words": [ - "flutter_blue_plus_windows" - ] -} diff --git a/flutter_blue_plus_windows/.github/dependabot.yaml b/flutter_blue_plus_windows/.github/dependabot.yaml deleted file mode 100644 index 63b035cde..000000000 --- a/flutter_blue_plus_windows/.github/dependabot.yaml +++ /dev/null @@ -1,11 +0,0 @@ -version: 2 -enable-beta-ecosystems: true -updates: - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "daily" - - package-ecosystem: "pub" - directory: "/" - schedule: - interval: "daily" diff --git a/flutter_blue_plus_windows/.gitignore b/flutter_blue_plus_windows/.gitignore deleted file mode 100644 index 6936c89c3..000000000 --- a/flutter_blue_plus_windows/.gitignore +++ /dev/null @@ -1,12 +0,0 @@ -# See https://www.dartlang.org/guides/libraries/private-files - -# Files and directories created by pub -.dart_tool/ -.packages -build/ -pubspec.lock -/.idea/ -/.flutter-plugins -/.flutter-plugins-dependencies - -interanl_example \ No newline at end of file diff --git a/flutter_blue_plus_windows/CHANGELOG.md b/flutter_blue_plus_windows/CHANGELOG.md deleted file mode 100644 index b8f020afe..000000000 --- a/flutter_blue_plus_windows/CHANGELOG.md +++ /dev/null @@ -1,106 +0,0 @@ -## 1.26.1 -* Add setOptions. - -## 1.26.0 -* Set `flutter_blue_plus` upperbound <1.35.0 (due to api changes) - -## 1.25.0 -* Ensure tracing connection when reconnection occurs after force disconnection. - -## 1.24.22 -* Upgrade FBP version to `>=1.32.4 <=1.40.0` #24. - -## 1.24.21 -* fix: startScan() doesn't return correct ScanResult #25 - -## 1.24.20 -* Downgrade FBP version to `>=1.32.4 <=1.33.6` due to the breaking changes. -* After upgrade process, the dependencies will be returned to `>=1.34.4 <1.40.0` #24. - -## 1.24.19 -* Fix a bug with `onValueReceived` of emitting write packet #22. - -## 1.24.18 -* Add implementation of `BluetoothDeviceWindow.fromId()` #21. - -## 1.24.15 -* Fix a bug w.r.t. company ID in manufacturer data. (@betto-a #18) - -## 1.24.14 -* Implement cancelOnDisconnect (@jefflongo #16) - -## 1.24.12 -* Fix minor bug w.r.t. `characteristic.isNotifying`. - -## 1.24.11 -* Fix breaking changes of FBP w.r.t. `systemDevices(List withServices)`. - -## 1.24.10 -* Add support for `cancelWhenScanComplete` - -## 1.24.9 -* Implement scan filter (including `withServices`, `withRemoteIds`, `withNames`). - -## 1.24.8 -* Keep manufacturer data when scanning. - -## 1.24.7 -* Keep service uuids when scanning. - -## 1.24.0 -* Update `README.md`. - -## 1.23.6 -* Add unimplemented notification for `read` or `write`. - -## 1.14.0 -* Remove dependencies `ffi` and `win32` to avoid compile error for web - -## 1.9.5 -* Apply `flutter blue plus` to `1.28.13`. - -## 1.9.0 -* Apply a breaking changes `Guid` in `Flutter blue plus` packages. -* Use `uuid128` instead of `toString()`. - -## 1.8.10 -* Fix `Guid` bug related with `Flutter blue plus` packages. - -## 1.8.0 -* Fix bug with Guid converted from string due to starting/ending with '{ }' in `WinBLE` - -## 1.7.0 -* Apply `flutter blue plus 1.28.5` (there is several breaking changes.). - -## 1.6.6 -* Add cache for storing characteristics. - -## 1.6.0 -* Apply `Flutter blue plus 1.26.0`, (there is a breaking change with `connect()`). - -## 1.5.7 -* Remove connection by OS when performing `startScan`. - -## 1.5.3 -* Write logs when connection state stream is started/terminated. - -## 1.5.2 -* Fix a bug of features added in `1.5.1` - -## 1.5.1 -* Remove device from connected device list when device is disconnected. - -## 1.5.0 -* Split functionality of `disconnect` / `removeBond`. - -## 1.4.0 -* Implement `Subscribe/Unsubscribe Characteristic`. - -## 1.1.0 -* Implement `Read/Write Characteristic`. - -## 1.0.5 -* Change `rxdart` version to `0.27.7`. - -## 1.0.0 -* Initial release (using Github action). \ No newline at end of file diff --git a/flutter_blue_plus_windows/LICENSE b/flutter_blue_plus_windows/LICENSE deleted file mode 100644 index 64edbab0f..000000000 --- a/flutter_blue_plus_windows/LICENSE +++ /dev/null @@ -1,7 +0,0 @@ -Copyright 2023 Himchan Park - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/flutter_blue_plus_windows/README.md b/flutter_blue_plus_windows/README.md deleted file mode 100644 index 3627c78e9..000000000 --- a/flutter_blue_plus_windows/README.md +++ /dev/null @@ -1,54 +0,0 @@ -[![pub package](https://img.shields.io/pub/v/flutter_blue_plus_windows.svg)](https://pub.dartlang.org/packages/flutter_blue_plus_windows) - -## Flutter Blue Plus Windows - -This project is a wrapper library for `Flutter Blue Plus` and `Win_ble`. -It allows `Flutter_blue_plus` to operate on Windows. - -With minimal effort, you can use Flutter Blue Plus on Windows. - -## Usage -Only you need to do is change the import statement. - -```dart -// instead of import 'package:flutter_blue_plus/flutter_blue_plus.dart'; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; - -// Alternatively, you can hide FlutterBluePlus when importing the FBP statement -import 'package:flutter_blue_plus/flutter_blue_plus.dart' hide FlutterBluePlus; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; - -``` - -### Scan devices -```dart -final scannedDevices = {}; - -const timeout = Duration(seconds: 3); -FlutterBluePlus.startScan(timeout: timeout); - -final sub = FlutterBluePlus.scanResults.expand((e)=>e).listen(scannedDevices.add); - -await Future.delayed(timeout); -sub.cancel(); -scannedDevices.forEach(print); -``` - -### Connect a device -```dart -final scannedDevice = scannedDevices - .where((scanResult) => scanResult.device.platformName == DEVICE_NAME) - .firstOrNull; -final device = scannedDevice?.device; -device?.connect(); -``` - -### Disconnect the device -```dart -device?.disconnect(); -``` - -Check out the usage of Flutter Blue Plus on [Flutter Blue Plus](https://pub.dev/packages/flutter_blue_plus) - - - diff --git a/flutter_blue_plus_windows/lib/flutter_blue_plus_windows.dart b/flutter_blue_plus_windows/lib/flutter_blue_plus_windows.dart deleted file mode 100644 index 97fd9254d..000000000 --- a/flutter_blue_plus_windows/lib/flutter_blue_plus_windows.dart +++ /dev/null @@ -1,7 +0,0 @@ -library flutter_blue_plus_windows; - -export 'package:flutter_blue_plus/flutter_blue_plus.dart' hide FlutterBluePlus; -export 'package:win_ble/win_ble.dart'; -export 'package:win_ble/win_file.dart'; - -export 'src/flutter_blue_plus_windows.dart'; diff --git a/flutter_blue_plus_windows/lib/src/extension/bluetooth_adapter_state_extension.dart b/flutter_blue_plus_windows/lib/src/extension/bluetooth_adapter_state_extension.dart deleted file mode 100644 index b15adb60a..000000000 --- a/flutter_blue_plus_windows/lib/src/extension/bluetooth_adapter_state_extension.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; -import 'package:win_ble/win_ble.dart'; - -extension BluetoothAdapterStateExtension on BleState { - BluetoothAdapterState toAdapterState() { - switch(this){ - case BleState.On: - return BluetoothAdapterState.on; - case BleState.Off: - return BluetoothAdapterState.off; - case BleState.Unknown: - return BluetoothAdapterState.unknown; - case BleState.Disabled: - return BluetoothAdapterState.unavailable; - case BleState.Unsupported: - return BluetoothAdapterState.unauthorized; - } - } -} \ No newline at end of file diff --git a/flutter_blue_plus_windows/lib/src/extension/bluetooth_characteristic_extension.dart b/flutter_blue_plus_windows/lib/src/extension/bluetooth_characteristic_extension.dart deleted file mode 100644 index 3f111ae4f..000000000 --- a/flutter_blue_plus_windows/lib/src/extension/bluetooth_characteristic_extension.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'package:flutter_blue_plus_platform_interface/flutter_blue_plus_platform_interface.dart'; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; - -extension BluetoothCharacteristicExtension on BluetoothCharacteristic { - BmBluetoothCharacteristic toProto() { - return BmBluetoothCharacteristic( - remoteId: DeviceIdentifier(remoteId.str), - serviceUuid: serviceUuid, - characteristicUuid: characteristicUuid, - descriptors: [for (final d in descriptors) d.toProto()], - properties: properties.toProto(), - primaryServiceUuid: null, // TODO: API changes - ); - } -} diff --git a/flutter_blue_plus_windows/lib/src/extension/bluetooth_descriptor_extension.dart b/flutter_blue_plus_windows/lib/src/extension/bluetooth_descriptor_extension.dart deleted file mode 100644 index 6bc3e34ed..000000000 --- a/flutter_blue_plus_windows/lib/src/extension/bluetooth_descriptor_extension.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; -import 'package:flutter_blue_plus_platform_interface/flutter_blue_plus_platform_interface.dart'; - -extension BluetoothDescriptorExtension on BluetoothDescriptor { - BmBluetoothDescriptor toProto() { - return BmBluetoothDescriptor( - remoteId: DeviceIdentifier(remoteId.str), - serviceUuid: serviceUuid, - characteristicUuid: characteristicUuid, - descriptorUuid: descriptorUuid, - primaryServiceUuid: null, // TODO: API changes - ); - } -} diff --git a/flutter_blue_plus_windows/lib/src/extension/bluetooth_service_extension.dart b/flutter_blue_plus_windows/lib/src/extension/bluetooth_service_extension.dart deleted file mode 100644 index c2b0af5aa..000000000 --- a/flutter_blue_plus_windows/lib/src/extension/bluetooth_service_extension.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:flutter_blue_plus_platform_interface/flutter_blue_plus_platform_interface.dart'; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; - -extension BluetoothServiceExtension on BluetoothService { - BmBluetoothService toProto() { - return BmBluetoothService( - serviceUuid: serviceUuid, - remoteId: DeviceIdentifier(remoteId.str), - characteristics: [for (final c in characteristics) c.toProto()], - primaryServiceUuid: null, // TODO: API changes - ); - } -} diff --git a/flutter_blue_plus_windows/lib/src/extension/characteristic_properties_extension.dart b/flutter_blue_plus_windows/lib/src/extension/characteristic_properties_extension.dart deleted file mode 100644 index b61baaab1..000000000 --- a/flutter_blue_plus_windows/lib/src/extension/characteristic_properties_extension.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter_blue_plus/flutter_blue_plus.dart'; -import 'package:flutter_blue_plus_platform_interface/flutter_blue_plus_platform_interface.dart'; - -extension CharacteristicPropertiesExtension on CharacteristicProperties { - BmCharacteristicProperties toProto() { - return BmCharacteristicProperties( - broadcast: broadcast, - read: read, - writeWithoutResponse: writeWithoutResponse, - write: write, - notify: notify, - indicate: indicate, - authenticatedSignedWrites: authenticatedSignedWrites, - extendedProperties: extendedProperties, - notifyEncryptionRequired: notifyEncryptionRequired, - indicateEncryptionRequired: indicateEncryptionRequired, - ); - } -} diff --git a/flutter_blue_plus_windows/lib/src/extension/extension.dart b/flutter_blue_plus_windows/lib/src/extension/extension.dart deleted file mode 100644 index 78c24f314..000000000 --- a/flutter_blue_plus_windows/lib/src/extension/extension.dart +++ /dev/null @@ -1,5 +0,0 @@ -export 'bluetooth_adapter_state_extension.dart'; -export 'bluetooth_characteristic_extension.dart'; -export 'bluetooth_descriptor_extension.dart'; -export 'bluetooth_service_extension.dart'; -export 'characteristic_properties_extension.dart'; diff --git a/flutter_blue_plus_windows/lib/src/flutter_blue_plus_windows.dart b/flutter_blue_plus_windows/lib/src/flutter_blue_plus_windows.dart deleted file mode 100644 index cca4fddb3..000000000 --- a/flutter_blue_plus_windows/lib/src/flutter_blue_plus_windows.dart +++ /dev/null @@ -1,3 +0,0 @@ -export 'extension/extension.dart'; -export 'windows/windows.dart'; -export 'wrapper/wrapper.dart'; diff --git a/flutter_blue_plus_windows/lib/src/windows/bluetooth_characteristic_windows.dart b/flutter_blue_plus_windows/lib/src/windows/bluetooth_characteristic_windows.dart deleted file mode 100644 index e5d47efc8..000000000 --- a/flutter_blue_plus_windows/lib/src/windows/bluetooth_characteristic_windows.dart +++ /dev/null @@ -1,160 +0,0 @@ -part of 'windows.dart'; - -class BluetoothCharacteristicWindows extends BluetoothCharacteristic { - final DeviceIdentifier remoteId; - final Guid serviceUuid; - final Guid? secondaryServiceUuid; - final Guid characteristicUuid; - final List descriptors; - - final Properties propertiesWinBle; - - BluetoothCharacteristicWindows({ - required this.remoteId, - required this.serviceUuid, - required this.characteristicUuid, - required this.descriptors, - required this.propertiesWinBle, - this.secondaryServiceUuid, - }) : super.fromProto( - BmBluetoothCharacteristic( - remoteId: DeviceIdentifier(remoteId.str), - serviceUuid: serviceUuid, - characteristicUuid: characteristicUuid, - descriptors: [ - for (final descriptor in descriptors) - BmBluetoothDescriptor( - remoteId: DeviceIdentifier(descriptor.remoteId.str), - serviceUuid: descriptor.serviceUuid, - characteristicUuid: descriptor.characteristicUuid, - descriptorUuid: descriptor.uuid, - primaryServiceUuid: null, // TODO: API changes - ), - ], - properties: BmCharacteristicProperties( - broadcast: propertiesWinBle.broadcast ?? false, - read: propertiesWinBle.read ?? false, - writeWithoutResponse: propertiesWinBle.writeWithoutResponse ?? false, - write: propertiesWinBle.write ?? false, - notify: propertiesWinBle.notify ?? false, - indicate: propertiesWinBle.indicate ?? false, - authenticatedSignedWrites: propertiesWinBle.authenticatedSignedWrites ?? false, - // TODO: implementation missing - extendedProperties: false, - // TODO: implementation missing - notifyEncryptionRequired: false, - // TODO: implementation missing - indicateEncryptionRequired: false, - ), - primaryServiceUuid: null, // TODO: API changes - ), - ); - - String get _address => remoteId.str.toLowerCase(); - - String get _key => "$serviceUuid:$characteristicUuid"; - - FBP.BluetoothDevice get device => - FlutterBluePlusWindows.connectedDevices.firstWhere((device) => device.remoteId == remoteId); - - /// this variable is updated: - /// - anytime `read()` is called - /// - anytime `write()` is called - /// - anytime a notification arrives (if subscribed) - List get lastValue => FlutterBluePlusWindows._lastChrs[remoteId]?[_key] ?? []; - - /// this stream emits values: - /// - anytime `read()` is called - /// - anytime `write()` is called - /// - anytime a notification arrives (if subscribed) - /// - and when first listened to, it re-emits the last value for convenience - Stream> get lastValueStream => _mergeStreams( - [ - WinBle.characteristicValueStreamOf( - address: _address, - serviceId: serviceUuid.str128, - characteristicId: characteristicUuid.str128, - ), - FlutterBluePlusWindows._charReadWriteStream.where((e) => e.$1 == _key).map((e) => e.$2) - ], - ).map((p) => [...p]).newStreamWithInitialValue(lastValue).asBroadcastStream(); - - /// this stream emits values: - /// - anytime `read()` is called - /// - anytime a notification arrives (if subscribed) - Stream> get onValueReceived => _mergeStreams( - [ - WinBle.characteristicValueStreamOf( - address: _address, - serviceId: serviceUuid.str128, - characteristicId: characteristicUuid.str128, - ), - FlutterBluePlusWindows._charReadStream.where((e) => e.$1 == _key).map((e) => e.$2) - ], - ).map((p) => [...p]).asBroadcastStream(); - - // TODO: need to verify - bool get isNotifying => FlutterBluePlusWindows._isNotifying[remoteId]?[_key] ?? false; - - Future> read({int timeout = 15}) async { - final value = await WinBle.read( - address: _address, - serviceId: serviceUuid.str128, - characteristicId: characteristicUuid.str128, - ); - FlutterBluePlusWindows._charReadWriteStreamController.add((_key, value)); - FlutterBluePlusWindows._charReadStreamController.add((_key, value)); - FlutterBluePlusWindows._lastChrs[remoteId] ??= {}; - FlutterBluePlusWindows._lastChrs[remoteId]?[_key] = value; - return value; - } - - Future write(List value, - {bool allowLongWrite = false, bool withoutResponse = false, int timeout = 15}) async { - await WinBle.write( - address: _address, - service: serviceUuid.str128, - characteristic: characteristicUuid.str128, - data: Uint8List.fromList(value), - writeWithResponse: !withoutResponse, // propertiesWinBle.writeWithoutResponse ?? false, - ); - FlutterBluePlusWindows._charReadWriteStreamController.add((_key, value)); - FlutterBluePlusWindows._lastChrs[remoteId] ??= {}; - FlutterBluePlusWindows._lastChrs[remoteId]?[_key] = value; - } - - // TODO: need to verify - Future setNotifyValue( - bool notify, { - int timeout = 15, // TODO: missing implementation - bool forceIndications = false, // TODO: missing implementation - }) async { - /// unSubscribeFromCharacteristic - try { - await WinBle.unSubscribeFromCharacteristic( - address: _address, - serviceId: serviceUuid.str128, - characteristicId: characteristicUuid.str128, - ); - } catch (e) { - log('WinBle.unSubscribeFromCharacteristic was performed ' - 'before setNotifyValue()'); - } - - /// set notify - try { - if (notify) { - await WinBle.subscribeToCharacteristic( - address: _address, - serviceId: serviceUuid.str128, - characteristicId: characteristicUuid.str128, - ); - } - FlutterBluePlusWindows._isNotifying[remoteId] ??= {}; - FlutterBluePlusWindows._isNotifying[remoteId]?[_key] = notify; - } catch (e) { - log(e.toString()); - } - return true; - } -} diff --git a/flutter_blue_plus_windows/lib/src/windows/bluetooth_device_windows.dart b/flutter_blue_plus_windows/lib/src/windows/bluetooth_device_windows.dart deleted file mode 100644 index 16929d00b..000000000 --- a/flutter_blue_plus_windows/lib/src/windows/bluetooth_device_windows.dart +++ /dev/null @@ -1,310 +0,0 @@ -// Bluetooth Device Page: -// https://github.com/boskokg/flutter_blue_plus/blob/master/lib/src/bluetooth_device.dart - -part of 'windows.dart'; - -class BluetoothDeviceWindows extends FBP.BluetoothDevice { - BluetoothDeviceWindows({required super.remoteId}); - - // used for 'servicesStream' public api - final _services = StreamController>.broadcast(); - - // used for 'isDiscoveringServices' public api - final _isDiscoveringServices = _StreamController(initialValue: false); - - String get _address => remoteId.str.toLowerCase(); - - /// Create a device from an id - /// - to connect, this device must have been discovered by your app in a previous scan - /// - iOS uses 128-bit uuids the remoteId, e.g. e006b3a7-ef7b-4980-a668-1f8005f84383 - /// - Android uses 48-bit mac addresses as the remoteId, e.g. 06:E5:28:3B:FD:E0 - static FBP.BluetoothDevice fromId(String remoteId) { - if (Platform.isWindows) { - return BluetoothDeviceWindows(remoteId: DeviceIdentifier(remoteId.toUpperCase())); - } - return FBP.BluetoothDevice.fromId(remoteId); - } - - /// platform name - /// - this name is kept track of by the platform - /// - this name usually persist between app restarts - /// - iOS: after you connect, iOS uses the GAP name characteristic (0x2A00) - /// if it exists. Otherwise iOS use the advertised name. - /// - Android: always uses the advertised name - String get platformName => FlutterBluePlusWindows._platformNames[remoteId] ?? ""; - - /// Advertised Named - /// - this is the name advertised by the device during scanning - /// - it is only available after you scan with FlutterBluePlus - /// - it is cleared when the app restarts. - /// - not all devices advertise a name - String get advName => FlutterBluePlusWindows._advNames[remoteId] ?? ""; - - // stream return whether or not we are currently discovering services - @Deprecated("planed for removal (Jan 2024). It can be easily implemented yourself") // deprecated on Aug 2023 - Stream get isDiscoveringServices => _isDiscoveringServices.stream; - - /// Get services - /// - returns empty if discoverServices() has not been called - /// or if your device does not have any services (rare) - List get servicesList => FlutterBluePlusWindows._knownServices[remoteId] ?? []; - - /// Stream of bluetooth services offered by the remote device - /// - this stream is only updated when you call discoverServices() - @Deprecated("planed for removal (Jan 2024). It can be easily implemented yourself") // deprecated on Aug 2023 - Stream> get servicesStream { - if (FlutterBluePlusWindows._knownServices[remoteId] != null) { - return _services.stream.newStreamWithInitialValue( - FlutterBluePlusWindows._knownServices[remoteId]!, - ); - } else { - return _services.stream; - } - } - - /// Register a subscription to be canceled when the device is disconnected. - /// This function simplifies cleanup, so you can prevent creating duplicate stream subscriptions. - /// - this is an optional convenience function - /// - prevents accidentally creating duplicate subscriptions on each reconnection. - /// - [next] if true, the the stream will be canceled only on the *next* disconnection. - /// This is useful if you setup your subscriptions before you connect. - /// - [delayed] Note: This option is only meant for `connectionState` subscriptions. - /// When `true`, we cancel after a small delay. This ensures the `connectionState` - /// listener receives the `disconnected` event. - void cancelWhenDisconnected(StreamSubscription subscription, {bool next = false, bool delayed = false}) { - if (isConnected == false && next == false) { - subscription.cancel(); // cancel immediately if already disconnected. - } else if (delayed) { - FlutterBluePlusWindows._delayedSubscriptions[remoteId] ??= []; - FlutterBluePlusWindows._delayedSubscriptions[remoteId]!.add(subscription); - } else { - FlutterBluePlusWindows._deviceSubscriptions[remoteId] ??= []; - FlutterBluePlusWindows._deviceSubscriptions[remoteId]!.add(subscription); - } - } - - /// Returns true if this device is currently connected to your app - bool get isConnected { - return FlutterBluePlusWindows.connectedDevices.contains(this); - } - - /// Returns true if this device is currently disconnected from your app - bool get isDisconnected => isConnected == false; - - Future connect({ - Duration? timeout = const Duration(seconds: 35), // TODO: implementation missing - bool autoConnect = false, // TODO: implementation missing - int? mtu = 512, // TODO: implementation missing - }) async { - try { - await WinBle.connect(_address); - FlutterBluePlusWindows._deviceSet.add(this); - } catch (e) { - log(e.toString()); - } - } - - Future disconnect({ - int androidDelay = 2000, // TODO: implementation missing - int timeout = 35, // TODO: implementation missing - bool queue = true, // TODO: implementation missing - }) async { - try { - await WinBle.disconnect(_address); - } catch (e) { - log(e.toString()); - } finally { - FlutterBluePlusWindows._deviceSet.remove(this); - - FlutterBluePlusWindows._deviceSubscriptions[remoteId]?.forEach((s) => s.cancel()); - FlutterBluePlusWindows._deviceSubscriptions.remove(remoteId); - // use delayed to update the stream before we cancel it - Future.delayed(Duration.zero).then((_) { - FlutterBluePlusWindows._delayedSubscriptions[remoteId]?.forEach((s) => s.cancel()); - FlutterBluePlusWindows._delayedSubscriptions.remove(remoteId); - }); - - FlutterBluePlusWindows._lastChrs[remoteId]?.clear(); - FlutterBluePlusWindows._isNotifying[remoteId]?.clear(); - } - } - - Future> discoverServices({ - bool subscribeToServicesChanged = true, // TODO: implementation missing - int timeout = 15, // TODO: implementation missing - }) async { - List result = List.from(FlutterBluePlusWindows._knownServices[remoteId] ?? []); - - try { - _isDiscoveringServices.add(true); - - final response = await WinBle.discoverServices(_address); - FlutterBluePlusWindows._characteristicCache[remoteId] ??= >{}; - - for (final serviceId in response) { - final characteristic = await WinBle.discoverCharacteristics( - address: _address, - serviceId: serviceId, - ); - FlutterBluePlusWindows._characteristicCache[remoteId] ??= {}; - FlutterBluePlusWindows._characteristicCache[remoteId]?[serviceId] ??= [ - ...characteristic.map( - (e) => BluetoothCharacteristicWindows( - remoteId: remoteId, - serviceUuid: Guid(serviceId), - characteristicUuid: Guid(e.uuid), - descriptors: [], - // TODO: implementation missing - propertiesWinBle: e.properties, - ), - ), - ]; - } - - result = [ - ...response.map( - (p) => BluetoothServiceWindows( - remoteId: remoteId, - serviceUuid: Guid(p), - // TODO: implementation missing - isPrimary: true, - // TODO: implementation missing - characteristics: FlutterBluePlusWindows._characteristicCache[remoteId]![p]!, - // TODO: implementation missing - includedServices: [], - ), - ) - ]; - - FlutterBluePlusWindows._knownServices[remoteId] = result; - - _services.add(result); - } finally { - _isDiscoveringServices.add(false); - } - return result; - } - - DisconnectReason? get disconnectReason { - // TODO: nothing to do - return null; - } - - Stream get connectionState async* { - await FlutterBluePlusWindows._initialize(); - - final map = FlutterBluePlusWindows._connectionStream.latestValue; - - if (map[_address] != null) { - yield map[_address]!.isConnected; - } - - yield* WinBle.connectionStreamOf(_address).map((e) => e.isConnected); - } - - Stream get mtu async* { - bool isEmitted = false; - int retryCount = 0; - while (!isEmitted) { - if (retryCount > 3) throw "Device not found!"; - retryCount++; - try { - yield await WinBle.getMaxMtuSize(_address); - isEmitted = true; - } catch (e) { - await Future.delayed(const Duration(milliseconds: 500)); - log(e.toString()); - } - } - } - - Future readRssi({int timeout = 15}) async { - return FlutterBluePlusWindows._rssiMap[remoteId] ?? -100; - } - - Future requestMtu( - int desiredMtu, { - double predelay = 0.35, - int timeout = 15, - }) async { - // https://github.com/rohitsangwan01/win_ble/issues/8 - return await WinBle.getMaxMtuSize(_address); - } - - Future requestConnectionPriority({ - required ConnectionPriority connectionPriorityRequest, - }) async { - // TODO: nothing to do - return; - } - - /// Set the preferred connection (Android Only) - /// - [txPhy] bitwise OR of all allowed phys for Tx, e.g. (Phy.le2m.mask | Phy.leCoded.mask) - /// - [txPhy] bitwise OR of all allowed phys for Rx, e.g. (Phy.le2m.mask | Phy.leCoded.mask) - /// - [option] preferred coding to use when transmitting on Phy.leCoded - /// Please note that this is just a recommendation given to the system. - Future setPreferredPhy({ - required int txPhy, - required int rxPhy, - required PhyCoding option, - }) async { - // TODO: implementation missing - } - - Future createBond({ - Uint8List? pin, - int timeout = 90, // TODO: implementation missing - }) async { - try { - await WinBle.pair(_address); - } catch (e) { - log(e.toString()); - } - } - - Future removeBond({ - int timeout = 30, // TODO: implementation missing - }) async { - try { - await WinBle.unPair(_address); - } catch (e) { - log(e.toString()); - } - } - - Future clearGattCache() async { - // TODO: implementation missing - } - - @override - bool operator ==(Object other) => - identical(this, other) || - (other is BluetoothDeviceWindows && runtimeType == other.runtimeType && remoteId == other.remoteId); - - @override - int get hashCode => remoteId.hashCode; - - @override - String toString() { - return 'BluetoothDevice{' - 'remoteId: $remoteId, ' - 'platformName: $platformName, ' - 'services: ${FlutterBluePlusWindows._knownServices[remoteId]}' - '}'; - } - - @Deprecated('Use createBond() instead') - Future pair() async => await createBond(); - - @Deprecated('Use remoteId instead') - DeviceIdentifier get id => remoteId; - - @Deprecated('Use localName instead') - String get name => localName; - - @Deprecated('Use connectionState instead') - Stream get state => connectionState; - - @Deprecated('Use servicesStream instead') - Stream> get services => servicesStream; -} diff --git a/flutter_blue_plus_windows/lib/src/windows/bluetooth_service_windows.dart b/flutter_blue_plus_windows/lib/src/windows/bluetooth_service_windows.dart deleted file mode 100644 index 6a8257488..000000000 --- a/flutter_blue_plus_windows/lib/src/windows/bluetooth_service_windows.dart +++ /dev/null @@ -1,24 +0,0 @@ -part of 'windows.dart'; - -class BluetoothServiceWindows extends BluetoothService { - final DeviceIdentifier remoteId; - final Guid serviceUuid; - final bool isPrimary; - final List characteristics; - final List includedServices; - - BluetoothServiceWindows({ - required this.remoteId, - required this.serviceUuid, - required this.isPrimary, - required this.characteristics, - required this.includedServices, - }) : super.fromProto( - BmBluetoothService( - remoteId: DeviceIdentifier(remoteId.str), - serviceUuid: serviceUuid, - characteristics: [for (final c in characteristics) c.toProto()], - primaryServiceUuid: null, - ), - ); -} diff --git a/flutter_blue_plus_windows/lib/src/windows/flutter_blue_plus_windows.dart b/flutter_blue_plus_windows/lib/src/windows/flutter_blue_plus_windows.dart deleted file mode 100644 index 901f96559..000000000 --- a/flutter_blue_plus_windows/lib/src/windows/flutter_blue_plus_windows.dart +++ /dev/null @@ -1,353 +0,0 @@ -part of 'windows.dart'; - -class FlutterBluePlusWindows { - static bool _initialized = false; - - static BluetoothAdapterState _state = BluetoothAdapterState.unknown; - - // stream used for the isScanning public api - static final _isScanning = _StreamController(initialValue: false); - - // we always keep track of these device variables - static final _platformNames = {}; - static final _advNames = {}; - static final _rssiMap = {}; - static final _knownServices = >{}; - static final Map>> _lastChrs = {}; - static final Map> _isNotifying = {}; - static final Map>> _characteristicCache = {}; - static final Map> _deviceSubscriptions = {}; - static final Map> _delayedSubscriptions = {}; - static final List _scanSubscriptions = []; - - // stream used for the scanResults public api - static final _scanResultsList = _StreamController(initialValue: []); - - // the subscription to the scan results stream - static StreamSubscription? _scanSubscription; - - // timeout for scanning that can be cancelled by stopScan - static Timer? _scanTimeout; - - static List get _devices => [..._deviceSet]; - - static final _deviceSet = {}; - static final _removedDeviceTracer = {}; - - // static final _unhandledDeviceSet = {}; - - /// Flutter blue plus windows - static final _charReadWriteStreamController = StreamController<(String, List)>(); - static final _charReadStreamController = StreamController<(String, List)>(); - - static final _charReadWriteStream = _charReadWriteStreamController.stream.asBroadcastStream(); - static final _charReadStream = _charReadStreamController.stream.asBroadcastStream(); - - /// Flutter blue plus windows - static final _connectionStream = _StreamController(initialValue: {}); - - static Future _initialize() async { - if (_initialized) return; - await WinBle.initialize( - serverPath: await WinServer.path(), - enableLog: false, - ); - - WinBle.connectionStream.listen( - (event) { - log('$event - event'); - if (event['device'] == null) return; - if (event['connected'] == null) return; - - final map = _connectionStream.latestValue; - map[event['device']] = event['connected']; - - log('$map - map'); - _connectionStream.add(map); - - if (!event['connected']) { - final removingDevices = [ - ..._deviceSet.where( - (device) => device._address == event['device'], - ), - ]; - for (final device in removingDevices) { - _deviceSet.remove(device); - if (!_removedDeviceTracer.keys.contains(device)) { - _removedDeviceTracer[device] = Stream.periodic(const Duration(seconds: 10), (_) => device).listen( - (event) { - if(event.isConnected) { - _removedDeviceTracer[device]?.cancel(); - _removedDeviceTracer.remove(device); - return; - } - event.connect(); - }, - ); - } - - _deviceSubscriptions[device.remoteId]?.forEach((s) => s.cancel()); - _deviceSubscriptions.remove(device.remoteId); - // use delayed to update the stream before we cancel it - Future.delayed(Duration.zero).then((_) { - _delayedSubscriptions[device.remoteId]?.forEach((s) => s.cancel()); - _delayedSubscriptions.remove(device.remoteId); - }); - - _lastChrs[device.remoteId]?.clear(); - _isNotifying[device.remoteId]?.clear(); - } - } - }, - ); - _initialized = true; - } - - static Future get isSupported async { - return true; - } - - static Future get adapterName async { - return 'Windows'; - } - - static Stream get isScanning => _isScanning.stream; - - static bool get isScanningNow => _isScanning.latestValue; - - static Future turnOn({int timeout = 10}) async { - await _initialize(); - await WinBle.updateBluetoothState(true); - } - - // TODO: compare with original lib - static Stream> get scanResults => _scanResultsList.stream; - - static Stream get adapterState async* { - await _initialize(); - yield _state; - yield* WinBle.bleState.asBroadcastStream().map( - (s) { - _state = s.toAdapterState(); - return _state; - }, - ); - } - - /// Start a scan, and return a stream of results - /// Note: scan filters use an "or" behavior. i.e. if you set `withServices` & `withNames` we - /// return all the advertisments that match any of the specified services *or* any of the specified names. - /// - [withServices] filter by advertised services - /// - [withRemoteIds] filter for known remoteIds (iOS: 128-bit guid, android: 48-bit mac address) - /// - [withNames] filter by advertised names (exact match) - /// - [withKeywords] filter by advertised names (matches any substring) - /// - [withMsd] filter by manfacture specific data - /// - [withServiceData] filter by service data - /// - [timeout] calls stopScan after a specified duration - /// - [removeIfGone] if true, remove devices after they've stopped advertising for X duration - /// - [continuousUpdates] If `true`, we continually update 'lastSeen' & 'rssi' by processing - /// duplicate advertisements. This takes more power. You typically should not use this option. - /// - [continuousDivisor] Useful to help performance. If divisor is 3, then two-thirds of advertisements are - /// ignored, and one-third are processed. This reduces main-thread usage caused by the platform channel. - /// The scan counting is per-device so you always get the 1st advertisement from each device. - /// If divisor is 1, all advertisements are returned. This argument only matters for `continuousUpdates` mode. - /// - [oneByOne] if `true`, we will stream every advertistment one by one, possibly including duplicates. - /// If `false`, we deduplicate the advertisements, and return a list of devices. - /// - [androidLegacy] Android only. If `true`, scan on 1M phy only. - /// If `false`, scan on all supported phys. How the radio cycles through all the supported phys is purely - /// dependent on the your Bluetooth stack implementation. - /// - [androidScanMode] choose the android scan mode to use when scanning - /// - [androidUsesFineLocation] request `ACCESS_FINE_LOCATION` permission at runtime - static Future startScan({ - List withServices = const [], - List withRemoteIds = const [], - List withNames = const [], - //TODO: implementation missing - List withKeywords = const [], - //TODO: implementation missing - List withMsd = const [], - List withServiceData = const [], - Duration? timeout, - Duration? removeIfGone, - bool continuousUpdates = false, - int continuousDivisor = 1, - bool oneByOne = false, - bool androidLegacy = false, - AndroidScanMode androidScanMode = AndroidScanMode.lowLatency, - bool androidUsesFineLocation = false, - }) async { - await _initialize(); - - // stop existing scan - if (_isScanning.latestValue == true) { - await stopScan(); - } - - // push to stream - _isScanning.add(true); - - // Start timer *after* stream is being listened to, to make sure the - // timeout does not fire before _buffer is set - if (timeout != null) { - _scanTimeout = Timer(timeout, stopScan); - } - - /// remove connection by OS. - /// The reason why we add this logic is - /// to avoid uncontrollable devices and to make consistency. - - /// add WinBle scanning - WinBle.startScanning(); - - // check every 250ms for gone devices? - late Stream outputStream; - if (removeIfGone != null) { - outputStream = _mergeStreams([WinBle.scanStream, Stream.periodic(Duration(milliseconds: 250))]); - } else { - outputStream = WinBle.scanStream; - } - - final output = []; - - // listen & push to `scanResults` stream - _scanSubscription = outputStream.listen( - (BleDevice? winBleDevice) { - // print(winBleDevice?.serviceUuids); - if (winBleDevice == null) { - // if null, this is just a periodic update for removing old results - output.removeWhere((elm) => DateTime.now().difference(elm.timeStamp) > removeIfGone!); - - // push to stream - _scanResultsList.add(List.from(output)); - } else { - final remoteId = DeviceIdentifier(winBleDevice.address.toUpperCase()); - final scanResult = output.where((sr) => sr.device.remoteId == remoteId).firstOrNull; - final deviceName = winBleDevice.name.isNotEmpty ? winBleDevice.name : scanResult?.device.platformName ?? ''; - final serviceUuids = winBleDevice.serviceUuids.isNotEmpty - ? [...winBleDevice.serviceUuids.map((e) => Guid((e as String).replaceAll(RegExp(r'[{}]'), '')))] - : scanResult?.advertisementData.serviceUuids ?? []; - - final manufacturerData = winBleDevice.manufacturerData.isNotEmpty - ? { - if (winBleDevice.manufacturerData.length >= 2) - winBleDevice.manufacturerData[0] + (winBleDevice.manufacturerData[1] << 8): - winBleDevice.manufacturerData.sublist(2), - } - : scanResult?.advertisementData.manufacturerData ?? {}; - - final rssi = int.tryParse(winBleDevice.rssi) ?? -100; - - FlutterBluePlusWindows._platformNames[remoteId] = deviceName; - FlutterBluePlusWindows._advNames[remoteId] = deviceName; - FlutterBluePlusWindows._rssiMap[remoteId] = rssi; - - final device = BluetoothDeviceWindows(remoteId: remoteId); - - String hex(int value) => value.toRadixString(16).padLeft(2, '0'); - String hexToId(Iterable values) => values.map((e) => hex(e)).join(); - - final sr = ScanResult( - device: device, - advertisementData: AdvertisementData( - advName: deviceName, - txPowerLevel: winBleDevice.adStructures?.where((e) => e.type == 10).singleOrNull?.data.firstOrNull, - //TODO: Should verify - connectable: !winBleDevice.advType.contains('Non'), - manufacturerData: manufacturerData, - serviceData: { - for (final advStructures in winBleDevice.adStructures ?? []) - if (advStructures.type == 0x16 && advStructures.data.length >= 2) - Guid(hexToId(advStructures.data.sublist(0, 2).reversed)): advStructures.data.sublist(2), - for (final advStructures in winBleDevice.adStructures ?? []) - if (advStructures.type == 0x20 && advStructures.data.length >= 4) - Guid(hexToId(advStructures.data.sublist(0, 4).reversed)): advStructures.data.sublist(4), - for (final advStructures in winBleDevice.adStructures ?? []) - if (advStructures.type == 0x21 && advStructures.data.length >= 16) - Guid(hexToId(advStructures.data.sublist(0, 16).reversed)): advStructures.data.sublist(16), - }, - serviceUuids: serviceUuids, - appearance: null, - ), - rssi: rssi, - timeStamp: DateTime.now(), - ); - - // filter with services - final isFilteredWithServices = - withServices.isNotEmpty && serviceUuids.where((service) => withServices.contains(service)).isEmpty; - - // filter with remote ids - final isFilteredWithRemoteIds = withRemoteIds.isNotEmpty && !withRemoteIds.contains(remoteId); - - // filter with names - final isFilteredWithNames = withNames.isNotEmpty && !withNames.contains(deviceName); - - if (isFilteredWithServices || isFilteredWithRemoteIds || isFilteredWithNames) { - _scanResultsList.add(List.from(output)); - return; - } - - // add result to output - if (oneByOne) { - output - ..clear() - ..add(sr); - } else { - output.addOrUpdate(sr); - } - - // push to stream - _scanResultsList.add(List.from(output)); - } - }, - ); - } - - static List get connectedDevices { - return _devices; - } - - static Future> get bondedDevices async { - return _devices; - } - - /// Stops a scan for Bluetooth Low Energy devices - static Future stopScan() async { - await _initialize(); - WinBle.stopScanning(); - _scanSubscription?.cancel(); - _scanTimeout?.cancel(); - _isScanning.add(false); - - for (var subscription in _scanSubscriptions) { - subscription.cancel(); - } - - _scanResultsList.latestValue = []; - } - - /// Register a subscription to be canceled when scanning is complete. - /// This function simplifies cleanup, so you can prevent creating duplicate stream subscriptions. - /// - this is an optional convenience function - /// - prevents accidentally creating duplicate subscriptions before each scan - static void cancelWhenScanComplete(StreamSubscription subscription) { - _scanSubscriptions.add(subscription); - } - - /// Sets the internal FlutterBlue log level - static Future setLogLevel(LogLevel level, {color = true}) async { - // Nothing to implement - return; - } - - static Future turnOff({int timeout = 10}) async { - await _initialize(); - await WinBle.updateBluetoothState(false); - } - - // TODO: need to test - static Future get isOn async { - await _initialize(); - return await WinBle.bleState.asBroadcastStream().first == BleState.On; - } -} diff --git a/flutter_blue_plus_windows/lib/src/windows/util.dart b/flutter_blue_plus_windows/lib/src/windows/util.dart deleted file mode 100644 index b6114171a..000000000 --- a/flutter_blue_plus_windows/lib/src/windows/util.dart +++ /dev/null @@ -1,433 +0,0 @@ -part of 'windows.dart'; - -String _hexEncode(List numbers) { - return numbers - .map((n) => (n & 0xFF).toRadixString(16).padLeft(2, '0')) - .join(); -} - -List _hexDecode(String hex) { - List numbers = []; - for (int i = 0; i < hex.length; i += 2) { - String hexPart = hex.substring(i, i + 2); - int num = int.parse(hexPart, radix: 16); - numbers.add(num); - } - return numbers; -} - -int _compareAsciiLowerCase(String a, String b) { - const int upperCaseA = 0x41; - const int upperCaseZ = 0x5a; - const int asciiCaseBit = 0x20; - var defaultResult = 0; - for (var i = 0; i < a.length; i++) { - if (i >= b.length) return 1; - var aChar = a.codeUnitAt(i); - var bChar = b.codeUnitAt(i); - if (aChar == bChar) continue; - var aLowerCase = aChar; - var bLowerCase = bChar; - // Upper case if ASCII letters. - if (upperCaseA <= bChar && bChar <= upperCaseZ) { - bLowerCase += asciiCaseBit; - } - if (upperCaseA <= aChar && aChar <= upperCaseZ) { - aLowerCase += asciiCaseBit; - } - if (aLowerCase != bLowerCase) return (aLowerCase - bLowerCase).sign; - if (defaultResult == 0) defaultResult = aChar - bChar; - } - if (b.length > a.length) return -1; - return defaultResult.sign; -} - -// This is a reimplementation of BehaviorSubject from RxDart library. -// It is essentially a stream but: -// 1. we cache the latestValue of the stream -// 2. the "latestValue" is re-emitted whenever the stream is listened to -class _StreamController { - T latestValue; - - final StreamController _controller = StreamController.broadcast(); - - _StreamController({required T initialValue}) - : this.latestValue = initialValue; - - Stream get stream => _controller.stream; - - T get value => latestValue; - - void add(T newValue) { - latestValue = newValue; - _controller.add(newValue); - } - - void listen(Function(T) onData, - {Function? onError, void Function()? onDone, bool? cancelOnError}) { - onData(latestValue); - _controller.stream.listen(onData, - onError: onError, onDone: onDone, cancelOnError: cancelOnError); - } - - Future close() { - return _controller.close(); - } -} - -// imediately starts listening to a broadcast stream and -// buffering it in a new single-subscription stream -class _BufferStream { - final Stream _inputStream; - late final StreamSubscription? _subscription; - late final StreamController _controller; - late bool hasReceivedValue = false; - - _BufferStream.listen(this._inputStream) { - _controller = StreamController( - onCancel: () { - _subscription?.cancel(); - }, - onPause: () { - _subscription?.pause(); - }, - onResume: () { - _subscription?.resume(); - }, - onListen: () {}, // inputStream is already listened to - ); - - // immediately start listening to the inputStream - _subscription = _inputStream.listen( - (data) { - hasReceivedValue = true; - _controller.add(data); - }, - onError: (e) { - _controller.addError(e); - }, - onDone: () { - _controller.close(); - }, - cancelOnError: false, - ); - } - - void close() { - _subscription?.cancel(); - _controller.close(); - } - - Stream get stream async* { - yield* _controller.stream; - } -} - -// helper for 'doOnDone' method for streams. -class _OnDoneTransformer extends StreamTransformerBase { - final Function onDone; - - _OnDoneTransformer({required this.onDone}); - - @override - Stream bind(Stream stream) { - if (stream.isBroadcast) { - return _bindBroadcast(stream); - } - return _bindSingleSubscription(stream); - } - - Stream _bindSingleSubscription(Stream stream) { - StreamController? controller; - StreamSubscription? subscription; - - controller = StreamController( - onListen: () { - subscription = stream.listen( - controller?.add, - onError: controller?.addError, - onDone: () { - onDone(); - controller?.close(); - }, - ); - }, - onPause: ([Future? resumeSignal]) { - subscription?.pause(resumeSignal); - }, - onResume: () { - subscription?.resume(); - }, - onCancel: () { - return subscription?.cancel(); - }, - sync: true, - ); - - return controller.stream; - } - - Stream _bindBroadcast(Stream stream) { - StreamController? controller; - StreamSubscription? subscription; - - controller = StreamController.broadcast( - onListen: () { - subscription = stream - .listen(controller?.add, onError: controller?.addError, onDone: () { - onDone(); - controller?.close(); - }); - }, - onCancel: () { - subscription?.cancel(); - }, - sync: true, - ); - - return controller.stream; - } -} - -// helper for 'doOnCancel' method for streams. -class _OnCancelTransformer extends StreamTransformerBase { - final Function onCancel; - - _OnCancelTransformer({required this.onCancel}); - - @override - Stream bind(Stream stream) { - if (stream.isBroadcast) { - return _bindBroadcast(stream); - } - - return _bindSingleSubscription(stream); - } - - Stream _bindSingleSubscription(Stream stream) { - StreamController? controller; - StreamSubscription? subscription; - - controller = StreamController( - onListen: () { - subscription = stream.listen( - controller?.add, - onError: (Object error) { - controller?.addError(error); - controller?.close(); - }, - onDone: controller?.close, - ); - }, - onPause: ([Future? resumeSignal]) { - subscription?.pause(resumeSignal); - }, - onResume: () { - subscription?.resume(); - }, - onCancel: () { - onCancel(); - return subscription?.cancel(); - }, - sync: true, - ); - - return controller.stream; - } - - Stream _bindBroadcast(Stream stream) { - StreamController? controller; - StreamSubscription? subscription; - - controller = StreamController.broadcast( - onListen: () { - subscription = stream.listen( - controller?.add, - onError: (Object error) { - controller?.addError(error); - controller?.close(); - }, - onDone: controller?.close, - ); - }, - onCancel: () { - onCancel(); - subscription?.cancel(); - }, - sync: true, - ); - - return controller.stream; - } -} - -// Helper for 'newStreamWithInitialValue' method for streams. -class _NewStreamWithInitialValueTransformer - extends StreamTransformerBase { - final T initialValue; - - _NewStreamWithInitialValueTransformer(this.initialValue); - - @override - Stream bind(Stream stream) { - return _bindSingleSubscription(stream); - } - - Stream _bindSingleSubscription(Stream stream) { - StreamController? controller; - StreamSubscription? subscription; - - controller = StreamController( - onListen: () { - // Emit the initial value - controller?.add(initialValue); - - subscription = stream.listen( - controller?.add, - onError: (Object error) { - controller?.addError(error); - controller?.close(); - }, - onDone: controller?.close, - ); - }, - onPause: ([Future? resumeSignal]) { - subscription?.pause(resumeSignal); - }, - onResume: () { - subscription?.resume(); - }, - onCancel: () { - return subscription?.cancel(); - }, - sync: true, - ); - - return controller.stream; - } -} - -extension _StreamDoOnDone on Stream { - // ignore: unused_element - Stream doOnDone(void Function() onDone) { - return transform(_OnDoneTransformer(onDone: onDone)); - } -} - -extension _StreamDoOnCancel on Stream { - // ignore: unused_element - Stream doOnCancel(void Function() onCancel) { - return transform(_OnCancelTransformer(onCancel: onCancel)); - } -} - -extension _StreamNewStreamWithInitialValue on Stream { - Stream newStreamWithInitialValue(T initialValue) { - return transform(_NewStreamWithInitialValueTransformer(initialValue)); - } -} - -// ignore: unused_element -Stream _mergeStreams(List> streams) { - StreamController controller = StreamController(); - List> subscriptions = []; - - void handleData(T data) { - if (!controller.isClosed) { - controller.add(data); - } - } - - void handleError(Object error, StackTrace stackTrace) { - if (!controller.isClosed) { - controller.addError(error, stackTrace); - } - } - - void handleDone() { - if (subscriptions.every((s) => s.isPaused)) { - controller.close(); - } - } - - void subscribeToStream(Stream stream) { - final s = - stream.listen(handleData, onError: handleError, onDone: handleDone); - subscriptions.add(s); - } - - streams.forEach(subscribeToStream); - - controller.onCancel = () async { - await Future.wait(subscriptions.map((s) => s.cancel())); - }; - - return controller.stream; -} - -// dart is single threaded, but still has task switching. -// this mutex lets a single task through at a time. -class _Mutex { - final StreamController _controller = StreamController.broadcast(); - int current = 0; - int issued = 0; - - Future take() async { - int mine = issued; - issued++; - // tasks are executed in the same order they call take() - while (mine != current) { - await _controller.stream.first; // wait - } - } - - void give() { - current++; - _controller.add(null); // release waiting tasks - } -} - -// Create mutexes in a parrallel-safe way, -class _MutexFactory { - static final _Mutex _global = _Mutex(); - static final Map _all = {}; - - static Future<_Mutex> getMutexForKey(String key) async { - _Mutex? value; - await _global.take(); - { - _all[key] ??= _Mutex(); - value = _all[key]; - } - _global.give(); - return value!; - } -} - -String _black(String s) { - // Use ANSI escape codes - return '\x1B[1;30m$s\x1B[0m'; -} - -// ignore: unused_element -String _green(String s) { - // Use ANSI escape codes - return '\x1B[1;32m$s\x1B[0m'; -} - -String _magenta(String s) { - // Use ANSI escape codes - return '\x1B[1;35m$s\x1B[0m'; -} - -String _brown(String s) { - // Use ANSI escape codes - return '\x1B[1;33m$s\x1B[0m'; -} - -extension Boolean2ConnectionState on bool { - BluetoothConnectionState get isConnected { - if (this) return BluetoothConnectionState.connected; - return BluetoothConnectionState.disconnected; - } -} diff --git a/flutter_blue_plus_windows/lib/src/windows/windows.dart b/flutter_blue_plus_windows/lib/src/windows/windows.dart deleted file mode 100644 index abeaea2bc..000000000 --- a/flutter_blue_plus_windows/lib/src/windows/windows.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'dart:async'; -import 'dart:developer'; -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:flutter_blue_plus/flutter_blue_plus.dart' as FBP; -import 'package:flutter_blue_plus_platform_interface/flutter_blue_plus_platform_interface.dart'; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; - -part 'bluetooth_characteristic_windows.dart'; -part 'bluetooth_device_windows.dart'; -part 'bluetooth_service_windows.dart'; -part 'flutter_blue_plus_windows.dart'; -part 'util.dart'; diff --git a/flutter_blue_plus_windows/lib/src/wrapper/flutter_blue_plus_wrapper.dart b/flutter_blue_plus_windows/lib/src/wrapper/flutter_blue_plus_wrapper.dart deleted file mode 100644 index c9761d9a8..000000000 --- a/flutter_blue_plus_windows/lib/src/wrapper/flutter_blue_plus_wrapper.dart +++ /dev/null @@ -1,141 +0,0 @@ -import 'dart:async'; -import 'dart:io'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter_blue_plus/flutter_blue_plus.dart' as FBP; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; - -class FlutterBluePlus { - static Future startScan({ - List withServices = const [], - List withRemoteIds = const [], - List withNames = const [], - List withKeywords = const [], - List withMsd = const [], - List withServiceData = const [], - Duration? timeout, - Duration? removeIfGone, - bool continuousUpdates = false, - int continuousDivisor = 1, - bool oneByOne = false, - bool androidLegacy = false, - AndroidScanMode androidScanMode = AndroidScanMode.lowLatency, - bool androidUsesFineLocation = false, - List webOptionalServices = const [], - }) async { - if (!kIsWeb && Platform.isWindows) { - return await FlutterBluePlusWindows.startScan( - withServices: withServices, - withRemoteIds: withRemoteIds, - withNames: withNames, - withKeywords: withKeywords, - withMsd: withMsd, - withServiceData: withServiceData, - timeout: timeout, - removeIfGone: removeIfGone, - continuousUpdates: continuousUpdates, - continuousDivisor: continuousDivisor, - oneByOne: oneByOne, - androidLegacy: androidLegacy, - androidScanMode: androidScanMode, - androidUsesFineLocation: androidUsesFineLocation, - ); - } - - return await FBP.FlutterBluePlus.startScan( - withServices: withServices, - withRemoteIds: withRemoteIds, - withNames: withNames, - withKeywords: withKeywords, - withMsd: withMsd, - withServiceData: withServiceData, - timeout: timeout, - removeIfGone: removeIfGone, - continuousUpdates: continuousUpdates, - continuousDivisor: continuousDivisor, - oneByOne: oneByOne, - androidLegacy: androidLegacy, - androidScanMode: androidScanMode, - androidUsesFineLocation: androidUsesFineLocation, - webOptionalServices: webOptionalServices, - ); - } - - static Stream get adapterState { - if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.adapterState; - return FBP.FlutterBluePlus.adapterState; - } - - static Stream> get scanResults { - if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.scanResults; - return FBP.FlutterBluePlus.scanResults; - } - - static bool get isScanningNow { - if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.isScanningNow; - return FBP.FlutterBluePlus.isScanningNow; - } - - static Stream get isScanning { - if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.isScanning; - return FBP.FlutterBluePlus.isScanning; - } - - static Future stopScan() async { - if (!kIsWeb && Platform.isWindows) return await FlutterBluePlusWindows.stopScan(); - return await FBP.FlutterBluePlus.stopScan(); - } - - static Future setLogLevel(LogLevel level, {color = true}) async { - if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.setLogLevel(level, color: color); - return FBP.FlutterBluePlus.setLogLevel(level, color: color); - } - - /// TODO: need to verify - static LogLevel get logLevel => FBP.FlutterBluePlus.logLevel; - - static Future setOptions({bool restoreState = false, bool showPowerAlert = true}) async { - if (!kIsWeb && Platform.isWindows) return; - FBP.FlutterBluePlus.setOptions(restoreState: restoreState, showPowerAlert: showPowerAlert); - } - - static Future get isSupported async { - if (!kIsWeb && Platform.isWindows) return await FlutterBluePlusWindows.isSupported; - return await FBP.FlutterBluePlus.isSupported; - } - - static Future get adapterName async { - if (!kIsWeb && Platform.isWindows) return await FlutterBluePlusWindows.adapterName; - return await FBP.FlutterBluePlus.adapterName; - } - - static Future turnOn({int timeout = 60}) async { - if (!kIsWeb && Platform.isWindows) return await FlutterBluePlusWindows.turnOn(timeout: timeout); - return await FBP.FlutterBluePlus.turnOn(timeout: timeout); - } - - static List get connectedDevices { - if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.connectedDevices; - return FBP.FlutterBluePlus.connectedDevices; - } - - static Future> systemDevices(List withServices) async { - //TODO: connected devices => system devices - if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.connectedDevices; - return await FBP.FlutterBluePlus.systemDevices(withServices); - } - - static Future getPhySupport() { - return FBP.FlutterBluePlus.getPhySupport(); - } - - static Future> get bondedDevices async { - if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.connectedDevices; - return await FBP.FlutterBluePlus.bondedDevices; - } - - static void cancelWhenScanComplete(StreamSubscription subscription) { - if (!kIsWeb && Platform.isWindows) return FlutterBluePlusWindows.cancelWhenScanComplete(subscription); - return FBP.FlutterBluePlus.cancelWhenScanComplete(subscription); - } -} diff --git a/flutter_blue_plus_windows/lib/src/wrapper/wrapper.dart b/flutter_blue_plus_windows/lib/src/wrapper/wrapper.dart deleted file mode 100644 index 5336df61d..000000000 --- a/flutter_blue_plus_windows/lib/src/wrapper/wrapper.dart +++ /dev/null @@ -1 +0,0 @@ -export 'flutter_blue_plus_wrapper.dart'; diff --git a/flutter_blue_plus_windows/pubspec.yaml b/flutter_blue_plus_windows/pubspec.yaml deleted file mode 100644 index 25fbd037c..000000000 --- a/flutter_blue_plus_windows/pubspec.yaml +++ /dev/null @@ -1,13 +0,0 @@ -name: flutter_blue_plus_windows -description: Flutter blue plus for Windows -version: 1.26.1 -repository: https://github.com/chan150/flutter_blue_plus_windows -#publish_to: none - -environment: - sdk: ">=3.0.0 <4.0.0" - -dependencies: - flutter_blue_plus: ">=1.32.4" - win_ble: ">=1.1.1" - stream_with_value: ">=0.5.0" diff --git a/lib/pages/device.dart b/lib/pages/device.dart index f2e1f06a7..e994e5149 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -56,7 +56,7 @@ class _DevicePageState extends State { children: [ Text( 'Devices:\n${connection.devices.joinToString(separator: '\n', transform: (it) { - return "${it.device.platformName}: ${it.device.isConnected ? 'Connected' : 'Not connected'}"; + return "${it.device.name}: ${it.isConnected ? 'Connected' : 'Not connected'}"; })}', ), Divider(color: Theme.of(context).colorScheme.primary, height: 30), diff --git a/lib/pages/scan.dart b/lib/pages/scan.dart index e0433540b..c18ded00a 100644 --- a/lib/pages/scan.dart +++ b/lib/pages/scan.dart @@ -1,11 +1,10 @@ import 'dart:async'; -import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/utils/ble.dart'; import 'package:swift_control/widgets/small_progress_indicator.dart'; +import 'package:universal_ble/universal_ble.dart'; import '../widgets/logviewer.dart'; @@ -26,12 +25,12 @@ class _ScanWidgetState extends State { connection.startScanning(); - _isScanningSubscription = FlutterBluePlus.isScanning.listen((state) { + /*_isScanningSubscription = FlutterBluePlus.isScanning.listen((state) { _isScanning = state; if (mounted) { setState(() {}); } - }); + });*/ // after the first frame WidgetsBinding.instance.addPostFrameCallback((_) { @@ -47,10 +46,12 @@ class _ScanWidgetState extends State { Future onScanPressed() async { try { - await FlutterBluePlus.startScan( - timeout: const Duration(seconds: 30), - withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID], - webOptionalServices: kIsWeb ? [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID] : [], + await UniversalBle.startScan( + //timeout: const Duration(seconds: 30), + scanFilter: ScanFilter( + withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID], + ), + platformConfig: PlatformConfig(web: WebOptions(optionalServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID])), ); } catch (e, backtrace) { ScaffoldMessenger.of( @@ -66,7 +67,7 @@ class _ScanWidgetState extends State { Future onStopPressed() async { try { - FlutterBluePlus.stopScan(); + UniversalBle.stopScan(); } catch (e, backtrace) { ScaffoldMessenger.of( context, @@ -77,7 +78,8 @@ class _ScanWidgetState extends State { } Widget buildScanButton(BuildContext context) { - if (FlutterBluePlus.isScanningNow) { + if (false) { + //FlutterBluePlus.isScanningNow) { return ElevatedButton(onPressed: onStopPressed, child: const Icon(Icons.stop)); } else { return ElevatedButton(onPressed: onScanPressed, child: const Text("SCAN")); diff --git a/lib/utils/ble.dart b/lib/utils/ble.dart index 38ba2f3ef..5401a05c2 100644 --- a/lib/utils/ble.dart +++ b/lib/utils/ble.dart @@ -1,13 +1,11 @@ import 'dart:typed_data'; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; - class BleUuid { - static final ZWIFT_CUSTOM_SERVICE_UUID = Guid("00000001-19CA-4651-86E5-FA29DCDD09D1"); - static final ZWIFT_RIDE_CUSTOM_SERVICE_UUID = Guid("0000fc82-0000-1000-8000-00805f9b34fb"); - static final ZWIFT_ASYNC_CHARACTERISTIC_UUID = Guid("00000002-19CA-4651-86E5-FA29DCDD09D1"); - static final ZWIFT_SYNC_RX_CHARACTERISTIC_UUID = Guid("00000003-19CA-4651-86E5-FA29DCDD09D1"); - static final ZWIFT_SYNC_TX_CHARACTERISTIC_UUID = Guid("00000004-19CA-4651-86E5-FA29DCDD09D1"); + static final ZWIFT_CUSTOM_SERVICE_UUID = "00000001-19CA-4651-86E5-FA29DCDD09D1".toLowerCase(); + static final ZWIFT_RIDE_CUSTOM_SERVICE_UUID = "0000fc82-0000-1000-8000-00805f9b34fb".toLowerCase(); + static final ZWIFT_ASYNC_CHARACTERISTIC_UUID = "00000002-19CA-4651-86E5-FA29DCDD09D1".toLowerCase(); + static final ZWIFT_SYNC_RX_CHARACTERISTIC_UUID = "00000003-19CA-4651-86E5-FA29DCDD09D1".toLowerCase(); + static final ZWIFT_SYNC_TX_CHARACTERISTIC_UUID = "00000004-19CA-4651-86E5-FA29DCDD09D1".toLowerCase(); } class Constants { diff --git a/lib/utils/connection.dart b/lib/utils/connection.dart index 1fa21ead1..f4fe94358 100644 --- a/lib/utils/connection.dart +++ b/lib/utils/connection.dart @@ -3,10 +3,10 @@ import 'dart:io'; import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/utils/devices/base_device.dart'; import 'package:swift_control/utils/requirements/android.dart'; +import 'package:universal_ble/universal_ble.dart'; import 'messages/notification.dart'; @@ -18,35 +18,25 @@ class Connection { final StreamController _actionStreams = StreamController.broadcast(); Stream get actionStream => _actionStreams.stream; - final Map> _connectionSubscriptions = {}; + final Map> _connectionSubscriptions = {}; final StreamController _connectionStreams = StreamController.broadcast(); Stream get connectionStream => _connectionStreams.stream; - var _lastScanResult = []; + var _lastScanResult = []; final ValueNotifier hasDevices = ValueNotifier(false); - late StreamSubscription> _scanResultsSubscription; + late StreamSubscription> _scanResultsSubscription; void startScanning() { - _scanResultsSubscription = FlutterBluePlus.scanResults.listen( - (results) { - if (!results.contentEquals(_lastScanResult)) { - final diff = results - .where((result) => !_lastScanResult.contains(result)) - .joinToString( - transform: (result) => "${result.device.platformName} (${result.advertisementData.manufacturerData})", - ); - _lastScanResult = results; - if (diff.isNotEmpty) { - _actionStreams.add(LogNotification('Found new devices: $diff')); - } + UniversalBle.onScanResult = (result) { + if (_lastScanResult.none((e) => e.deviceId == result.deviceId)) { + _lastScanResult.add(result); + _actionStreams.add(LogNotification('Found new devices: ${result.name}')); + final scanResult = BaseDevice.fromScanResult(result); + if (scanResult != null) { + _addDevices([scanResult]); } - final scanResults = results.mapNotNull(BaseDevice.fromScanResult).toList(); - _addDevices(scanResults); - }, - onError: (e) { - _actionStreams.add(LogNotification(e.toString())); - }, - ); + } + }; } void _addDevices(List dev) { @@ -56,6 +46,7 @@ class Connection { for (final device in newDevices) { _connect(device).then((_) {}); } + hasDevices.value = devices.isNotEmpty; if (devices.isNotEmpty && !androidNotificationsSetup && !kIsWeb && Platform.isAndroid) { androidNotificationsSetup = true; @@ -75,27 +66,26 @@ class Connection { }); _streamSubscriptions[bleDevice] = actionSubscription; - final connectionStateSubscription = bleDevice.device.connectionState.listen((state) async { + final connectionStateSubscription = UniversalBle.connectionStream(bleDevice.device.deviceId).listen(( + state, + ) async { + bleDevice.isConnected = state.isConnected; _connectionStreams.add(bleDevice); }); _connectionSubscriptions[bleDevice] = connectionStateSubscription; } catch (e, backtrace) { - if (e is FlutterBluePlusException && e.code == FbpErrorCode.connectionCanceled.index) { - // ignore connections canceled by the user - } else { - _actionStreams.add(LogNotification(e.toString())); - if (kDebugMode) { - print(e); - print("backtrace: $backtrace"); - } + _actionStreams.add(LogNotification(e.toString())); + if (kDebugMode) { + print(e); + print("backtrace: $backtrace"); } } } void reset() { - FlutterBluePlus.stopScan(); + UniversalBle.stopScan(); for (var device in devices) { - device.device.disconnect(); + UniversalBle.disconnect(device.device.deviceId); } devices.clear(); } diff --git a/lib/utils/devices/base_device.dart b/lib/utils/devices/base_device.dart index e7e9dec37..989fcc9fa 100644 --- a/lib/utils/devices/base_device.dart +++ b/lib/utils/devices/base_device.dart @@ -1,39 +1,42 @@ import 'dart:async'; import 'dart:io'; +import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:swift_control/utils/ble.dart'; import 'package:swift_control/utils/crypto/local_key_provider.dart'; import 'package:swift_control/utils/devices/zwift_click.dart'; import 'package:swift_control/utils/devices/zwift_play.dart'; import 'package:swift_control/utils/devices/zwift_ride.dart'; +import 'package:universal_ble/universal_ble.dart'; import '../crypto/zap_crypto.dart'; import '../messages/notification.dart'; abstract class BaseDevice { - final ScanResult scanResult; + final BleDevice scanResult; final zapEncryption = ZapCrypto(LocalKeyProvider()); + bool isConnected = false; + bool supportsEncryption = true; BaseDevice(this.scanResult); - static BaseDevice? fromScanResult(ScanResult scanResult) { - if (scanResult.device.platformName == 'Zwift Ride') { + static BaseDevice? fromScanResult(BleDevice scanResult) { + if (scanResult.name == 'Zwift Ride') { return ZwiftRide(scanResult); } if (kIsWeb) { // manufacturer data is not available on web - if (scanResult.device.platformName == 'Zwift Play') { + if (scanResult.name == 'Zwift Play') { return ZwiftPlay(scanResult); - } else if (scanResult.device.platformName == 'Zwift Click') { + } else if (scanResult.name == 'Zwift Click') { return ZwiftClick(scanResult); } } - final manufacturerData = scanResult.advertisementData.manufacturerData; - final data = manufacturerData[Constants.ZWIFT_MANUFACTURER_ID]; + final manufacturerData = scanResult.manufacturerDataList; + final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload; if (data == null || data.isEmpty) { return null; } @@ -59,14 +62,14 @@ abstract class BaseDevice { return runtimeType.toString(); } - BluetoothDevice get device => scanResult.device; + BleDevice get device => scanResult; final StreamController actionStreamInternal = StreamController.broadcast(); Stream get actionStream => actionStreamInternal.stream; Future connect() async { - await device.connect(autoConnect: false).timeout(const Duration(seconds: 3)); + await UniversalBle.connect(device.deviceId, connectionTimeout: const Duration(seconds: 3)); - var filteredStateStream = device.connectionState.where((s) => s == BluetoothConnectionState.connected); + /*var filteredStateStream = await device.connectionState; // Start listening now, before invokeMethod, to ensure we don't miss the response Future futureState = filteredStateStream.first; @@ -77,17 +80,15 @@ abstract class BaseDevice { onTimeout: () { throw TimeoutException('Failed to connect in time.'); }, - ); + );*/ if (!kIsWeb && Platform.isAndroid) { - await device.requestMtu(256); + await UniversalBle.requestMtu(device.deviceId, 256); } - final services = await device.discoverServices(); - if (device.isConnected) { - await handleServices(services); - } + final services = await UniversalBle.discoverServices(device.deviceId); + await handleServices(services); } - Future handleServices(List services); + Future handleServices(List services); } diff --git a/lib/utils/devices/zwift_click.dart b/lib/utils/devices/zwift_click.dart index 245645c45..65aa81635 100644 --- a/lib/utils/devices/zwift_click.dart +++ b/lib/utils/devices/zwift_click.dart @@ -1,11 +1,9 @@ -import 'dart:io'; - import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/utils/devices/base_device.dart'; import 'package:swift_control/utils/messages/notification.dart'; +import 'package:universal_ble/universal_ble.dart'; import '../ble.dart'; import '../crypto/encryption_utils.dart'; @@ -15,10 +13,10 @@ class ZwiftClick extends BaseDevice { ZwiftClick(super.scanResult); List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_CLICK; - Guid get customServiceId => BleUuid.ZWIFT_CUSTOM_SERVICE_UUID; + String get customServiceId => BleUuid.ZWIFT_CUSTOM_SERVICE_UUID; @override - Future handleServices(List services) async { + Future handleServices(List services) async { final customService = services.firstOrNullWhere((service) => service.uuid == customServiceId); if (customService == null) { @@ -39,34 +37,51 @@ class ZwiftClick extends BaseDevice { throw Exception('Characteristics not found'); } - if (!asyncCharacteristic.isNotifying) { - await asyncCharacteristic.setNotifyValue(true); - } - final asyncSubscription = asyncCharacteristic.lastValueStream.listen((onData) { - _processCharacteristic('async', Uint8List.fromList(onData)); - }); - device.cancelWhenDisconnected(asyncSubscription); + UniversalBle.onValueChange = (deviceId, characteristicUuid, value) { + if (characteristicUuid == asyncCharacteristic.uuid) { + _processCharacteristic('async', value); + } else if (characteristicUuid == syncTxCharacteristic.uuid) { + _processCharacteristic('sync', value); + } + }; - if (!syncTxCharacteristic.isNotifying) { - await syncTxCharacteristic.setNotifyValue(true, forceIndications: !kIsWeb && Platform.isAndroid); - } - final syncSubscription = syncTxCharacteristic.lastValueStream.listen((onData) { - _processCharacteristic('sync', Uint8List.fromList(onData)); - }); - device.cancelWhenDisconnected(syncSubscription); + await UniversalBle.setNotifiable( + device.deviceId, + customService.uuid, + asyncCharacteristic.uuid, + BleInputProperty.indication, + ); + await UniversalBle.setNotifiable( + device.deviceId, + customService.uuid, + syncTxCharacteristic.uuid, + BleInputProperty.indication, + ); await _setupHandshake(syncRxCharacteristic); } - Future _setupHandshake(BluetoothCharacteristic syncRxCharacteristic) async { + Future _setupHandshake(BleCharacteristic syncRxCharacteristic) async { if (supportsEncryption) { - await syncRxCharacteristic.write([ - ...Constants.RIDE_ON, - ...Constants.REQUEST_START, - ...zapEncryption.localKeyProvider.getPublicKeyBytes(), - ], withoutResponse: true); + UniversalBle.writeValue( + device.deviceId, + customServiceId, + syncRxCharacteristic.uuid, + Uint8List.fromList([ + ...Constants.RIDE_ON, + ...Constants.REQUEST_START, + ...zapEncryption.localKeyProvider.getPublicKeyBytes(), + ]), + BleOutputProperty.withoutResponse, + ); } else { - await syncRxCharacteristic.write(Constants.RIDE_ON, withoutResponse: true); + UniversalBle.writeValue( + device.deviceId, + customServiceId, + syncRxCharacteristic.uuid, + Constants.RIDE_ON, + BleOutputProperty.withoutResponse, + ); } } diff --git a/lib/utils/devices/zwift_ride.dart b/lib/utils/devices/zwift_ride.dart index 098ae83b2..462267027 100644 --- a/lib/utils/devices/zwift_ride.dart +++ b/lib/utils/devices/zwift_ride.dart @@ -1,4 +1,3 @@ -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:swift_control/utils/devices/zwift_play.dart'; import '../ble.dart'; @@ -7,7 +6,7 @@ class ZwiftRide extends ZwiftPlay { ZwiftRide(super.scanResult); @override - Guid get customServiceId => BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID; + String get customServiceId => BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID; @override bool get supportsEncryption => false; diff --git a/lib/utils/requirements/multi.dart b/lib/utils/requirements/multi.dart index b5698c7d7..c34d3e732 100644 --- a/lib/utils/requirements/multi.dart +++ b/lib/utils/requirements/multi.dart @@ -1,9 +1,9 @@ import 'package:dartx/dartx.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_blue_plus_windows/flutter_blue_plus_windows.dart'; import 'package:keypress_simulator/keypress_simulator.dart'; import 'package:swift_control/pages/scan.dart'; import 'package:swift_control/utils/requirements/platform.dart'; +import 'package:universal_ble/universal_ble.dart'; import '../../main.dart'; import '../keymap/keymap.dart'; @@ -56,13 +56,13 @@ class BluetoothTurnedOn extends PlatformRequirement { @override Future call() async { - return FlutterBluePlus.turnOn(); + await UniversalBle.enableBluetooth(); } @override Future getStatus() async { - final currentState = await FlutterBluePlus.adapterState.first; - status = currentState != BluetoothAdapterState.off; + final currentState = await UniversalBle.getBluetoothAvailabilityState(); + status = currentState == AvailabilityState.poweredOn; } } diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 0d1fedaf0..fe1f8d99d 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,16 +5,14 @@ import FlutterMacOS import Foundation -import flutter_blue_plus_darwin import flutter_local_notifications import keypress_simulator_macos -import path_provider_foundation +import universal_ble import url_launcher_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - FlutterBluePlusPlugin.register(with: registry.registrar(forPlugin: "FlutterBluePlusPlugin")) FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) KeypressSimulatorMacosPlugin.register(with: registry.registrar(forPlugin: "KeypressSimulatorMacosPlugin")) - PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) + UniversalBlePlugin.register(with: registry.registrar(forPlugin: "UniversalBlePlugin")) UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin")) } diff --git a/macos/Podfile.lock b/macos/Podfile.lock index 62b06ec39..0b10f2f8e 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -1,46 +1,39 @@ PODS: - - flutter_blue_plus_darwin (0.0.2): - - Flutter - - FlutterMacOS - flutter_local_notifications (0.0.1): - FlutterMacOS - FlutterMacOS (1.0.0) - keypress_simulator_macos (0.0.1): - FlutterMacOS - - path_provider_foundation (0.0.1): + - universal_ble (0.0.1): - Flutter - FlutterMacOS - url_launcher_macos (0.0.1): - FlutterMacOS DEPENDENCIES: - - flutter_blue_plus_darwin (from `Flutter/ephemeral/.symlinks/plugins/flutter_blue_plus_darwin/darwin`) - flutter_local_notifications (from `Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos`) - FlutterMacOS (from `Flutter/ephemeral`) - keypress_simulator_macos (from `Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos`) - - path_provider_foundation (from `Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin`) + - universal_ble (from `Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin`) - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`) EXTERNAL SOURCES: - flutter_blue_plus_darwin: - :path: Flutter/ephemeral/.symlinks/plugins/flutter_blue_plus_darwin/darwin flutter_local_notifications: :path: Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos FlutterMacOS: :path: Flutter/ephemeral keypress_simulator_macos: :path: Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos - path_provider_foundation: - :path: Flutter/ephemeral/.symlinks/plugins/path_provider_foundation/darwin + universal_ble: + :path: Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin url_launcher_macos: :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos SPEC CHECKSUMS: - flutter_blue_plus_darwin: 3ea4ec9133b377febcc8a70b28cd2d2dc9242bd9 flutter_local_notifications: 4ccab5b7a22835214a6672e3f9c5e8ae207dab36 FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 keypress_simulator_macos: f8556f9101f9f2f175652e0bceddf0fe82a4c6b2 - path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 + universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6 url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404 PODFILE CHECKSUM: 7eb978b976557c8c1cd717d8185ec483fd090a82 diff --git a/pubspec.lock b/pubspec.lock index be2bc9487..7f09b080b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -165,62 +165,6 @@ packages: description: flutter source: sdk version: "0.0.0" - flutter_blue_plus: - dependency: "direct main" - description: - name: flutter_blue_plus - sha256: "2d926dbef0fd6c58d4be8fca9eaaf1ba747c0ccb8373ddd5386665317e26eb61" - url: "https://pub.dev" - source: hosted - version: "1.35.3" - flutter_blue_plus_android: - dependency: transitive - description: - name: flutter_blue_plus_android - sha256: c1d83f84b514e46345a8a58599c428f20b11e78379521e0d3b0611c7b7cbf2c1 - url: "https://pub.dev" - source: hosted - version: "3.0.0" - flutter_blue_plus_darwin: - dependency: transitive - description: - name: flutter_blue_plus_darwin - sha256: "8d0a0f11f83b13dda173396b7e4028b4e8656bc8dbbc82c26a7e49aafc62644b" - url: "https://pub.dev" - source: hosted - version: "3.0.0" - flutter_blue_plus_linux: - dependency: transitive - description: - name: flutter_blue_plus_linux - sha256: "1d367ed378b2bd6c3b9685fda7044e1d2f169884802b7dec7badb31a99a72660" - url: "https://pub.dev" - source: hosted - version: "3.0.0" - flutter_blue_plus_platform_interface: - dependency: transitive - description: - name: flutter_blue_plus_platform_interface - sha256: "114f8e85a03a28a48d707a4df6cc9218e1f2005cf260c5e815e5585a00da5778" - url: "https://pub.dev" - source: hosted - version: "3.0.0" - flutter_blue_plus_web: - dependency: "direct overridden" - description: - path: "packages/flutter_blue_plus_web" - ref: HEAD - resolved-ref: "5fc128ed6ff6b1bc038ec9f91a6d9789c2cebc53" - url: "https://github.com/chipweinberger/flutter_blue_plus.git" - source: git - version: "3.0.0" - flutter_blue_plus_windows: - dependency: "direct main" - description: - path: flutter_blue_plus_windows - relative: true - source: path - version: "1.26.1" flutter_launcher_icons: dependency: "direct dev" description: @@ -274,6 +218,14 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_web_bluetooth: + dependency: transitive + description: + name: flutter_web_bluetooth + sha256: "1363831def5eed1e1064d1eca04e8ccb35446e8f758579c3c519e156b77926da" + url: "https://pub.dev" + source: hosted + version: "1.0.0" flutter_web_plugins: dependency: transitive description: flutter @@ -375,6 +327,14 @@ packages: url: "https://pub.dev" source: hosted version: "5.1.1" + logging: + dependency: transitive + description: + name: logging + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 + url: "https://pub.dev" + source: hosted + version: "1.3.0" matcher: dependency: transitive description: @@ -407,54 +367,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" - path_provider: - dependency: transitive - description: - name: path_provider - sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" - url: "https://pub.dev" - source: hosted - version: "2.1.5" - path_provider_android: - dependency: transitive - description: - name: path_provider_android - sha256: "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12" - url: "https://pub.dev" - source: hosted - version: "2.2.16" - path_provider_foundation: - dependency: transitive - description: - name: path_provider_foundation - sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.dev" - source: hosted - version: "2.2.1" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 - url: "https://pub.dev" - source: hosted - version: "2.3.0" petitparser: dependency: transitive description: @@ -463,14 +375,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.0" - platform: - dependency: transitive - description: - name: platform - sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" - url: "https://pub.dev" - source: hosted - version: "3.1.6" plugin_platform_interface: dependency: transitive description: @@ -503,14 +407,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.0" - rxdart: - dependency: transitive - description: - name: rxdart - sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962" - url: "https://pub.dev" - source: hosted - version: "0.28.0" sky_engine: dependency: transitive description: flutter @@ -540,14 +436,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" - stream_with_value: - dependency: transitive - description: - name: stream_with_value - sha256: "483d79bf604fdea5274e31207956b2f624f5f03a506cacf081b65cdfcfa647a6" - url: "https://pub.dev" - source: hosted - version: "0.5.0" string_scanner: dependency: transitive description: @@ -604,6 +492,13 @@ packages: url: "https://pub.dev" source: hosted version: "0.1.3" + universal_ble: + dependency: "direct main" + description: + path: universal_ble + relative: true + source: path + version: "0.18.0" url_launcher: dependency: "direct main" description: @@ -692,14 +587,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.1.1" - win_ble: - dependency: transitive - description: - name: win_ble - sha256: "2a867e13c4b355b101fc2c6e2ac85eeebf965db34eca46856f8b478e93b41e96" - url: "https://pub.dev" - source: hosted - version: "1.1.1" xdg_directories: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 11808a3f1..b786850d6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,23 +12,16 @@ dependencies: url_launcher: ^6.3.1 flutter_local_notifications: ^19.0.0 - flutter_blue_plus: ^1.35.3 + universal_ble: + path: universal_ble protobuf: ^3.1.0 dartx: any pointycastle: any keypress_simulator: ^0.2.0 flex_color_scheme: ^8.2.0 - flutter_blue_plus_windows: - path: flutter_blue_plus_windows accessibility: path: accessibility -dependency_overrides: - flutter_blue_plus_web: - git: - url: https://github.com/chipweinberger/flutter_blue_plus.git - path: packages/flutter_blue_plus_web - dev_dependencies: flutter_test: sdk: flutter diff --git a/universal_ble/.github/FUNDING.yml b/universal_ble/.github/FUNDING.yml new file mode 100644 index 000000000..d782bf9ce --- /dev/null +++ b/universal_ble/.github/FUNDING.yml @@ -0,0 +1 @@ +github: navideck diff --git a/universal_ble/.github/workflows/build_web_app.yml b/universal_ble/.github/workflows/build_web_app.yml new file mode 100644 index 000000000..8a73d6904 --- /dev/null +++ b/universal_ble/.github/workflows/build_web_app.yml @@ -0,0 +1,36 @@ + +name: Build web app + +on: + push: + branches: [ "main" ] + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Setup Flutter + uses: subosito/flutter-action@v2 + with: + channel: 'stable' + - run: flutter --version + + - name: Cache pub dependencies + uses: actions/cache@v2 + with: + path: ${{ env.FLUTTER_HOME }}/.pub-cache + key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }} + restore-keys: ${{ runner.os }}-pub- + + - name: Download pub dependencies + run: flutter pub get + + - name: Build Web App + run: cd example && flutter build web --base-href=/universal_ble/ + + - name: Deploy to GitHub Pages 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: example/build/web diff --git a/universal_ble/.github/workflows/test_ble_uuid_parser.yml b/universal_ble/.github/workflows/test_ble_uuid_parser.yml new file mode 100644 index 000000000..5acc44c3d --- /dev/null +++ b/universal_ble/.github/workflows/test_ble_uuid_parser.yml @@ -0,0 +1,36 @@ +name: BleUuidParser Tests + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Set up Flutter + uses: subosito/flutter-action@v2 + with: + channel: stable + + - name: Install dependencies + run: flutter pub get + + - name: Analyze project source + run: flutter analyze + + - name: Run Flutter tests + run: flutter test + + - name: Install Chrome + uses: browser-actions/setup-chrome@latest + + - name: Run Flutter tests on Chrome + uses: coactions/setup-xvfb@v1 + with: + run: flutter test --platform chrome \ No newline at end of file diff --git a/universal_ble/.gitignore b/universal_ble/.gitignore new file mode 100644 index 000000000..96486fd93 --- /dev/null +++ b/universal_ble/.gitignore @@ -0,0 +1,30 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.buildlog/ +.history +.svn/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. +/pubspec.lock +**/doc/api/ +.dart_tool/ +.packages +build/ diff --git a/universal_ble/.metadata b/universal_ble/.metadata new file mode 100644 index 000000000..e4874b0b8 --- /dev/null +++ b/universal_ble/.metadata @@ -0,0 +1,42 @@ +# This file tracks properties of this Flutter project. +# Used by Flutter tool to assess capabilities and perform upgrades etc. +# +# This file should be version controlled and should not be manually edited. + +version: + revision: "d211f42860350d914a5ad8102f9ec32764dc6d06" + channel: "stable" + +project_type: plugin + +# Tracks metadata for the flutter migrate command +migration: + platforms: + - platform: root + create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + - platform: android + create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + - platform: ios + create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + - platform: linux + create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + - platform: macos + create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + - platform: windows + create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 + + # User provided section + + # List of Local paths (relative to this file) that should be + # ignored by the migrate tool. + # + # Files that are not part of the templates will be ignored by default. + unmanaged_files: + - 'lib/main.dart' + - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/universal_ble/.vscode/c_cpp_properties.json b/universal_ble/.vscode/c_cpp_properties.json new file mode 100644 index 000000000..a33045a00 --- /dev/null +++ b/universal_ble/.vscode/c_cpp_properties.json @@ -0,0 +1,21 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [ + "_DEBUG", + "UNICODE", + "_UNICODE" + ], + "windowsSdkVersion": "10.0.20348.0", + "compilerPath": "cl.exe", + "cStandard": "c17", + "cppStandard": "c++20", + "intelliSenseMode": "windows-msvc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/universal_ble/.vscode/launch.json b/universal_ble/.vscode/launch.json new file mode 100644 index 000000000..ccb178541 --- /dev/null +++ b/universal_ble/.vscode/launch.json @@ -0,0 +1,44 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "example", + "cwd": "example", + "request": "launch", + "type": "dart" + }, + { + "name": "example release", + "cwd": "example", + "request": "launch", + "type": "dart", + "flutterMode": "release" + }, + { + "name": "example_mock", + "cwd": "example", + "request": "launch", + "type": "dart", + "args": [ + "--dart-define", + "MOCK=true", + ] + }, + { + "name": "example_web", + "cwd": "example", + "request": "launch", + "type": "dart", + "program": "lib/main.dart", + "args": [ + "-d", + "web-server", + "--web-hostname=127.0.0.1", + "--web-port=8080" + ], + }, + ], +} \ No newline at end of file diff --git a/universal_ble/.vscode/settings.json b/universal_ble/.vscode/settings.json new file mode 100644 index 000000000..c6bb3ee64 --- /dev/null +++ b/universal_ble/.vscode/settings.json @@ -0,0 +1,150 @@ +{ + "cSpell.words": [ + "bluez", + "BTLE", + "BTNHIGHLIGHT", + "bytevc", + "cccd", + "connnection", + "Cupertino", + "DFACE", + "HFONT", + "HINSTANCE", + "HMENU", + "hresult", + "hstring", + "HWND", + "Inspectable", + "LOWORD", + "LPARAM", + "lpfn", + "LPOSVERSIONINFO", + "lpsz", + "LRESULT", + "MAXIMIZEBOX", + "microtask", + "MINIMIZEBOX", + "modalias", + "msix", + "navideck", + "NOMOVE", + "NOSIZE", + "NSUUID", + "NTDDI", + "ntdll", + "NTSTATUS", + "OSVERSIONINFOW", + "osvi", + "OVERLAPPEDWINDOW", + "pairable", + "PNTSTATUS", + "PRTL", + "pubspec", + "RRSI", + "rssi", + "SETFONT", + "SETTEXT", + "subdata", + "sublist", + "THICKFRAME", + "unawaited", + "UNIVERSALBLE", + "Unpair", + "Unpairing", + "unwatch", + "uuidstr", + "winrt", + "WNDCLASS", + "WPARAM", + "ZUUID" + ], + "cmake.configureOnOpen": false, + "files.associations": { + "xstring": "cpp", + "chrono": "cpp", + "xlocale": "cpp", + "optional": "cpp", + "memory": "cpp", + "algorithm": "cpp", + "any": "cpp", + "array": "cpp", + "atomic": "cpp", + "bit": "cpp", + "cctype": "cpp", + "charconv": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "compare": "cpp", + "concepts": "cpp", + "condition_variable": "cpp", + "coroutine": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "exception": "cpp", + "format": "cpp", + "forward_list": "cpp", + "functional": "cpp", + "initializer_list": "cpp", + "iomanip": "cpp", + "ios": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "iterator": "cpp", + "limits": "cpp", + "list": "cpp", + "locale": "cpp", + "map": "cpp", + "mutex": "cpp", + "new": "cpp", + "ostream": "cpp", + "ratio": "cpp", + "set": "cpp", + "shared_mutex": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "stop_token": "cpp", + "streambuf": "cpp", + "string": "cpp", + "system_error": "cpp", + "thread": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "typeinfo": "cpp", + "unordered_map": "cpp", + "utility": "cpp", + "variant": "cpp", + "vector": "cpp", + "xfacet": "cpp", + "xhash": "cpp", + "xiosbase": "cpp", + "xlocbuf": "cpp", + "xlocinfo": "cpp", + "xlocmes": "cpp", + "xlocmon": "cpp", + "xlocnum": "cpp", + "xloctime": "cpp", + "xmemory": "cpp", + "xtr1common": "cpp", + "xtree": "cpp", + "xutility": "cpp", + "deque": "cpp", + "fstream": "cpp", + "unordered_set": "cpp", + "complex": "cpp", + "csignal": "cpp", + "cstdarg": "cpp", + "filesystem": "cpp", + "ranges": "cpp", + "span": "cpp", + "stack": "cpp", + "typeindex": "cpp", + "future": "cpp", + "regex": "cpp" + } +} \ No newline at end of file diff --git a/universal_ble/CHANGELOG.md b/universal_ble/CHANGELOG.md new file mode 100644 index 000000000..57765ad4b --- /dev/null +++ b/universal_ble/CHANGELOG.md @@ -0,0 +1,171 @@ +## 0.18.0 +* Improve docs for isPaired + +## 0.17.0 +* Fix Windows crash when calling pair APIs with an unknown deviceId +* Fix Windows crash when calling startScan again after some time +* Fix Windows warning `Unable to establish connection on channel` when hot restarting +* Refactor native Windows code +* Improve Android permission documentation + +## 0.16.0 +* BREAKING CHANGE: `payload` is now `payloadPrefix` +* BREAKING CHANGE: `mask` is now `payloadMask` +* Bump bluez to 0.8.3 +* Do not normalize UUIDs on native side +* Reverse _permissionStatus return values in example app +* Improve readme +* Improve ManufacturerDataFilter + +## 0.15.0 +* `getSystemDevices(withServices:)` now sets several generic services by default as filter +* `getConnectionState` on Android will now return `BleConnectionState.disconnected` if device is connected to the system but not to the app +* Improve callback error handling + +## 0.14.0 +* BREAKING CHANGE: `bleDevice.name` now filters out non-printable characters +* Add `bleDevice.rawName` +* Add `disableBluetooth` API +* Fix Apple CBCentralManager lazy initialization on `startScan` +* Fix Android error `scan too frequently` and auto retry scan once sufficient time has passed +* Fix duplicate `onValueChanged` events on Android 11 or earlier +* Fix Windows `withServices` filter +* Fix Windows Bluetooth availability state in release builds +* Throw error on Apple if Bluetooth permission is denied on `startScan` +* Do not throw `Characteristic already notifying` error. Subscribing to characteristic notifications multiple times is now handled safely +* Bump flutter_web_bluetooth to 1.0.0 + +## 0.13.0 +* BREAKING CHANGE: `scanFilter` filters are now in OR relation +* BREAKING CHANGE: `manufacturerDataHead` is removed from `BleDevice` +* BREAKING CHANGE: `WebConfig` is now `WebOptions` +* BREAKING CHANGE: `ManufacturerDataFilter.data` is now `ManufacturerDataFilter.payload` +* BREAKING CHANGE: `connect()` does not return a boolean anymore. It will throw error on connection failure +* BREAKING CHANGE: `pair()` does not return a boolean anymore. It will throw error on connection failure +* BREAKING CHANGE: `onConnectionChange` returns error as well +* BREAKING CHANGE: rename in-app pairing capabilities +* Deprecation: `manufacturerData` is deprecated in BleDevice and will be removed in the future +* Improve `scanFilter` handling +* Use `ManufacturerData` object instead of `Uint8List` for manufacturerData +* Add `manufacturerDataList` as `List` in `BleDevice` +* Auto convert all services passed to `getSystemDevices()` +* Return false for receivesAdvertisements on Linux/Web +* Add 1s delay in discoverServices on Linux +* Add `connectionStream` API to get connection updates as stream + +## 0.12.0 +* BREAKING CHANGE: `unPair` is now `unpair` +* BREAKING CHANGE: `onPairingStateChange` does not return error anymore +* Add `pair()`, `isPaired` and `onPairingStateChange` support for Apple and web +* `connect()` and `pair()` now return a bool result +* Add `PlatformConfig` property in `StartScan` +* Add `WebConfig` property in `PlatformConfig` +* Fix notifications for characteristics without cccd on Android +* Promote Linux to stable + +## 0.11.1 +* Trim spaces in UUIDs +* Receive advertisement events on web +* Improve cleanup after disconnection on web + +## 0.11.0 +* Unify UUID format across all platforms, 128-bit lowercase +* Add BleUuidParser utility methods for UUID parsing + +## 0.10.1 +* Improve Android error handling +* Fix Android disconnection events sometimes missed +* Improve cleanup after disconnection on Apple and Android +* Support pairing on Apple +* Improve code level documentation + +## 0.10.0 +* BREAKING CHANGE: `ScanResult` is now `BleDevice` +* BREAKING CHANGE: `getConnectedDevices` is now `getSystemDevices` +* BREAKING CHANGE: `isPaired` is now nullable +* BREAKING CHANGE: `onValueChanged` is now `onValueChange` +* BREAKING CHANGE: `onConnectionChanged` is now `onConnectionChange` +* Add `connectionState` property to BleDevice +* Add `isSystemDevice` property to BleDevice +* Add `.perDevice` queue +* Support "ProvidePin" pairing on Windows 10/11 +* Get RRSI updates on Apple platforms +* Improve enum parsing performance +* Improve code level documentation + +## 0.9.11 +* Add device name prefix filtering + +## 0.9.10 +* Fix Windows scan filter +* Remove scan result caching on Windows +* Improve service discovery on Linux +* Use asynchronous callbacks for SetNotifiable +* Remove dependency on `convert` +* Remove dependency on `collection` +* Update Android example app Gradle + +## 0.9.9 +* Improve service discovery on Apple +* Improve reconnection on Apple +* Persist long scan result name on Windows +* Fix Android serviceUuids in scanResults +* Example app improvements + +## 0.9.8 +* Improve manufacturer data discovery on Windows +* Example app improvements + +## 0.9.7 +* Fix characteristic keying on linux allowing receiving data from multiple BLE devices at the same time + +## 0.9.6 +* Fix a Windows issue where characteristics of certain services would not be discovered +* Improve readme + +## 0.9.5 +* Windows support has graduated from beta to stable +* Support filtering by manufacturer data +* Unify web's optionalServices API with filtering API +* Implement requestMtu in Linux +* Fix wrong manufacturer data in Windows release builds +* Improve logging + +## 0.9.4 +* Fix Windows crash when no Bluetooth adapter is present + +## 0.9.3 +* Add scan filter (withServices:) in `startScan()` +* Add service UUIDs from advertisements in `BleScanResult` +* Fix Windows release build compilation + +## 0.9.2 +* Add command queue +* Improve error handling on Android, iOS, macOS, Windows, Linux and web + +## 0.9.1 +* Improve logging + +## 0.9.0 +* Improve windows device name discovery +* Improve linux implementation +* Improve titles in example app + +## 0.8.4 +* Add `WebRequestOptionsBuilder.defaultServices` for convenience when setting `optionalServices` when scanning on web +* Add "try online" URL in readme +* Improve readme +* Improve example app + +## 0.8.3 +* Rename onPairStateChange *> onPairingStateChange +* Improve readme + +## 0.8.2 +* Improve readme + +## 0.8.1 +* Update supported platforms + +## 0.8.0 +* Initial release diff --git a/universal_ble/LICENSE b/universal_ble/LICENSE new file mode 100644 index 000000000..77b395a94 --- /dev/null +++ b/universal_ble/LICENSE @@ -0,0 +1,31 @@ +BSD 3-Clause License + +Copyright (c) 2024, Navideck Labs OÜ +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +Copyright (c) 2020, Woodemi Co,Ltd. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/universal_ble/README.md b/universal_ble/README.md new file mode 100644 index 000000000..b2792049f --- /dev/null +++ b/universal_ble/README.md @@ -0,0 +1,448 @@ +# UniversalBLE + +[![universal_ble version](https://img.shields.io/pub/v/universal_ble?label=universal_ble)](https://pub.dev/packages/universal_ble) + +A cross-platform (Android/iOS/macOS/Windows/Linux/Web) Bluetooth Low Energy (BLE) plugin for Flutter. + +[Try it online](https://navideck.github.io/universal_ble/), provided your browser supports [Web Bluetooth](https://caniuse.com/web-bluetooth). + +## Features + +- [Scanning](#scanning) +- [Connecting](#connecting) +- [Discovering Services](#discovering-services) +- [Reading & Writing data](#reading--writing-data) +- [Pairing](#pairing) +- [Bluetooth Availability](#bluetooth-availability) +- [Command Queue](#command-queue) +- [Timeout](#timeout) +- [UUID Format Agnostic](#uuid-format-agnostic) + +## Usage + +### API Support Matrix + +| API | Android | iOS | macOS | Windows | Linux | Web | +| :------------------- | :-----: | :-: | :---: | :-----: | :----------: | :-: | +| startScan/stopScan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| connect/disconnect | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| getSystemDevices | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | +| discoverServices | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| readValue | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| writeValue | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| setNotifiable | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| pair | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ⏺ | +| unpair | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | +| isPaired | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| onPairingStateChange | ✔️ | ⏺ | ⏺ | ✔️ | ✔️ | ⏺ | +| getBluetoothAvailabilityState | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | +| enable/disable Bluetooth | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | +| onAvailabilityChange | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | +| requestMtu | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | + +## Getting Started + +Add universal_ble in your pubspec.yaml: + +```yaml +dependencies: + universal_ble: +``` + +and import it wherever you want to use it: + +```dart +import 'package:universal_ble/universal_ble.dart'; +``` + +### Scanning + +```dart +// Set a scan result handler +UniversalBle.onScanResult = (bleDevice) { + // e.g. Use BleDevice ID to connect +} + +// Perform a scan +UniversalBle.startScan(); + +// Or optionally add a scan filter +UniversalBle.startScan( + scanFilter: ScanFilter( + withServices: ["SERVICE_UUID"], + withManufacturerData: [ManufacturerDataFilter(companyIdentifier: 0x004c)], + withNamePrefix: ["NAME_PREFIX"], + ) +); + +// Stop scanning +UniversalBle.stopScan(); +``` + +Before initiating a scan, ensure that Bluetooth is available: + +```dart +AvailabilityState state = await UniversalBle.getBluetoothAvailabilityState(); +// Start scan only if Bluetooth is powered on +if (state == AvailabilityState.poweredOn) { + UniversalBle.startScan(); +} + +// Or listen to bluetooth availability changes +UniversalBle.onAvailabilityChange = (state) { + if (state == AvailabilityState.poweredOn) { + UniversalBle.startScan(); + } +}; +``` + +See the [Bluetooth Availability](#bluetooth-availability) section for more. + +#### System Devices + +Already connected devices, connected either through previous sessions, other apps or through system settings, won't show up as scan results. You can get those using `getSystemDevices()`. + +```dart +// Get already connected devices. +// You can set `withServices` to narrow down the results. +// On `Apple`, `withServices` is required to get any connected devices. If not passed, several [18XX] generic services will be set by default. +List devices = await UniversalBle.getSystemDevices(withServices: []); +``` + +For each such device the `isSystemDevice` property will be `true`. + +You still need to explicitly [connect](#connecting) to them before being able to use them. + +#### Scan Filter + +You can optionally set a filter when scanning. A filter can have multiple conditions (services, manufacturerData, namePrefix) and all conditions are in `OR` relation, returning results that match any of the given conditions. + +##### With Services + +When setting this parameter, the scan results will only include devices that advertise any of the specified services. + +```dart +List withServices; +``` + +Note: On web **you have to** specify services before you are able to use them. See the [web](#web) section for more details. + +##### With ManufacturerData + +Use the `withManufacturerData` parameter to filter devices by manufacturer data. When you pass a list of `ManufacturerDataFilter` objects to this parameter, the scan results will only include devices that contain any of the specified manufacturer data. + +You can filter manufacturer data by company identifier, payload prefix, or payload mask. + +```dart +List withManufacturerData = [ManufacturerDataFilter( + companyIdentifier: 0x004c, + payloadPrefix: Uint8List.fromList([0x001D,0x001A]), + payloadMask: Uint8List.fromList([1,0,1,1])) + ]; +``` + +##### With namePrefix + +Use the `withNamePrefix` parameter to filter devices by names (case sensitive). When you pass a list of names, the scan results will only include devices that have this name or start with the provided parameter. + +```dart +List withNamePrefix; +``` + +### Connecting + +```dart +// Connect to a device using the `deviceId` of the BleDevice received from `UniversalBle.onScanResult` +String deviceId = bleDevice.deviceId; +UniversalBle.connect(deviceId); + +// Disconnect from a device +UniversalBle.disconnect(deviceId); + +// Get connection/disconnection updates +UniversalBle.onConnectionChange = (String deviceId, bool isConnected, String? error) { + debugPrint('OnConnectionChange $deviceId, $isConnected Error: $error'); +} + +// Get current connection state +// Can be connected, disconnected, connecting or disconnecting +BleConnectionState connectionState = await bleDevice.connectionState; +``` + +### Discovering Services + +After establishing a connection, you need to discover services. This method will discover all services and their characteristics. + +```dart +// Discover services of a specific device +UniversalBle.discoverServices(deviceId); +``` + +### Reading & Writing data + +You need to first [discover services](#discovering-services) before you are able to read and write to characteristics. + +```dart +// Read data from a characteristic +UniversalBle.readValue(deviceId, serviceId, characteristicId); + +// Write data to a characteristic +UniversalBle.writeValue(deviceId, serviceId, characteristicId, value); + +// Subscribe to a characteristic +UniversalBle.setNotifiable(deviceId, serviceId, characteristicId, BleInputProperty.notification); + +// Get characteristic updates in `onValueChange` +UniversalBle.onValueChange = (String deviceId, String characteristicId, Uint8List value) { + debugPrint('onValueChange $deviceId, $characteristicId, ${hex.encode(value)}'); +} + +// Unsubscribe from a characteristic +UniversalBle.setNotifiable(deviceId, serviceId, characteristicId, BleInputProperty.disabled); +``` + +### Pairing + +#### Trigger pairing + +##### Pair on Android, Windows, Linux + +```dart +await UniversalBle.pair(deviceId); +``` + +##### Pair on Apple and web +For Apple and Web, pairing support depends on the device. Pairing is triggered automatically by the OS when you try to read/write from/to an encrypted characteristic. + +Calling `UniversalBle.pair(deviceId)` will only trigger pairing if the device has an *encrypted read characteristic*. + +If your device only has encrypted write characteristics or you happen to know which encrypted read characteristic you want to use, you can pass it with a `pairingCommand`. + +```dart +UniversalBle.pair(deviceId, pairingCommand: BleCommand(service:"SERVICE", characteristic:"ENCRYPTED_CHARACTERISTIC")); +``` +After pairing you can check the pairing status. + +#### Pairing status + +##### Pair on Android, Windows, Linux + +```dart +// Check current pairing state +bool? isPaired = UniversalBle.isPaired(deviceId); +``` + +##### Pair on Apple and web + +For `Apple` and `Web`, you have to pass a "pairingCommand" with an encrypted read or write characteristic. If you don't pass it then it will return `null`. + +```dart +bool? isPaired = await UniversalBle.isPaired(deviceId, pairingCommand: BleCommand(service:"SERVICE", characteristic:"ENCRYPTED_CHARACTERISTIC")); +``` + +##### Discovering encrypted characteristic +To discover encrypted characteristics, make sure your device is not paired and use the example app to read/write to all discovered characteristics one by one. If one of them triggers pairing, that means it is encrypted and you can use it to construct `BleCommand(service:"SERVICE", characteristic:"ENCRYPTED_CHARACTERISTIC")`. + +#### Pairing state changes + +```dart +UniversalBle.onPairingStateChange = (String deviceId, bool isPaired) { + // Handle pairing state change +} +``` + +#### Unpair +```dart +UniversalBle.unpair(deviceId); +``` + +### Bluetooth Availability + +```dart +// Get current Bluetooth availability state +AvailabilityState availabilityState = UniversalBle.getBluetoothAvailabilityState(); // e.g. poweredOff or poweredOn, + +// Receive Bluetooth availability changes +UniversalBle.onAvailabilityChange = (state) { + // Handle the new Bluetooth availability state +}; + +// Enable Bluetooth programmatically +UniversalBle.enableBluetooth(); + +// Disable Bluetooth programmatically +UniversalBle.disableBluetooth(); +``` + +### Request MTU + +This method will **attempt** to set the MTU (Maximum Transmission Unit) but it is not guaranteed to succeed due to platform limitations. It will always return the current MTU. + +```dart +int mtu = await UniversalBle.requestMtu(widget.deviceId, 247); +``` + +#### Platform Limitations + +On most platforms, the MTU can only be queried but not manually set: + +- **iOS/macOS**: System automatically sets MTU to 185 bytes maximum +- **Android 14+**: System automatically sets MTU to 517 bytes for the first GATT client +- **Windows**: MTU can only be queried +- **Linux**: MTU can only be queried +- **Web**: No mechanism to query or modify MTU size + +#### Best Practices + +When developing cross-platform BLE applications and devices: + +- Design for default MTU size (23 bytes) as default +- Dynamically adapt to use larger packet sizes when the system provides them +- Take advantage of the increased throughput when available without requiring it +- Implement data fragmentation for larger transfers +- Handle platform-specific MTU size based on current value + +## Command Queue + +By default, all commands are executed in a global queue (`QueueType.global`), with each command waiting for the previous one to finish. + +If you want to parallelize commands between multiple devices, you can set: + +```dart +// Create a separate queue for each device. +UniversalBle.queueType = QueueType.perDevice; +``` + +You can also disable the queue completely and parallelize all commands, even for the same device, by using: + +```dart +// Disable queue +UniversalBle.queueType = QueueType.none; +``` + +Keep in mind that some platforms (e.g. Android) may not handle well devices that fail to process consecutive commands without a minimum interval. Therefore, it is not advised to set `queueType` to `none`. + +You can get queue updates by setting: + +```dart +// Get queue state updates +UniversalBle.onQueueUpdate = (String id, int remainingItems) { + debugPrint("Queue: $id Remaining: $remainingItems"); +}; +``` + +## Timeout + +By default, all commands have a timeout of 10 seconds. + +```dart +// Change timeout +UniversalBle.timeout = const Duration(seconds: 10); + +// Disable timeout +UniversalBle.timeout = null; +``` + +## UUID Format Agnostic + +UniversalBLE is agnostic to the UUID format of services and characteristics regardless of the platform the app runs on. When passing a UUID, you can pass it in any format (long/short) or character case (upper/lower case) you want. UniversalBLE will take care of necessary conversions, across all platforms, so that you don't need to worry about underlying platform differences. + +For consistency, all characteristic and service UUIDs will be returned in **lowercase 128-bit format**, across all platforms, e.g. `0000180a-0000-1000-8000-00805f9b34fb`. + +### Utility Methods + +If you need to convert any UUIDs in your app you can use the following methods. + +- `BleUuidParser.string()` converts a string to a 128-bit UUID formatted string: + +```dart +BleUuidParser.string("180A"); // "0000180a-0000-1000-8000-00805f9b34fb" + +BleUuidParser.string("0000180A-0000-1000-8000-00805F9B34FB"); // "0000180a-0000-1000-8000-00805f9b34fb" +``` + +- `BleUuidParser.number()` converts a number to a 128-bit UUID formatted string: + +```dart +BleUuidParser.number(0x180A); // "0000180a-0000-1000-8000-00805f9b34fb" +``` + +- `BleUuidParser.compare()` compares two differently formatted UUIDs: + +```dart +BleUuidParser.compare("180a","0000180A-0000-1000-8000-00805F9B34FB"); // true +``` + +## Platform-specific Setup + +### Android + +Add the following permissions to your AndroidManifest.xml file: + +```xml + + + + + + +``` + +If your app uses iBeacons or BLUETOOTH_SCAN to determine location, change the last 2 permissions to: + +```xml + + +``` + +### iOS / macOS + +Add `NSBluetoothPeripheralUsageDescription` and `NSBluetoothAlwaysUsageDescription` to Info.plist of your iOS and macOS app. + +Add the `Bluetooth` capability to the macOS app from Xcode. + +### Windows / Linux + +Your Bluetooth adapter needs to support at least Bluetooth 4.0. If you have more than 1 adapters, the first one returned from the system will be picked. + +When publishing on Windows, you need to declare the following [capabilities](https://learn.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations): `bluetooth, radios`. + +When publishing on Linux as a snap, you need to declare the `bluez` plug in `snapcraft.yaml`. +``` +... + plugs: + - bluez +``` + +### Web + +On web, the `withServices` parameter in the ScanFilter is used as [optional_services](https://developer.mozilla.org/en-US/docs/Web/API/Bluetooth/requestDevice#optionalservices) as well as a services filter. You have to set this parameter to ensure that you can access the specified services after connecting to the device. You can leave it empty for the rest of the platforms if your device does not advertise services. + +```dart +ScanFilter( + withServices: kIsWeb ? ["SERVICE_UUID"] : [], +) +``` + +If you don't want to apply any filter for these services but still want to access them, after connection, use `PlatformConfig`. + +```dart +UniversalBle.startScan( + platformConfig: PlatformConfig( + web: WebOptions( + optionalServices: ["SERVICE_UUID"] + ) + ) +) +``` + +## Customizing Platform Implementation of UniversalBle + +```dart +// Create a class that extends UniversalBlePlatform +class UniversalBleMock extends UniversalBlePlatform { + // Implement all commands +} + +UniversalBle.setInstance(UniversalBleMock()); +``` diff --git a/universal_ble/analysis_options.yaml b/universal_ble/analysis_options.yaml new file mode 100644 index 000000000..a5744c1cf --- /dev/null +++ b/universal_ble/analysis_options.yaml @@ -0,0 +1,4 @@ +include: package:flutter_lints/flutter.yaml + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/universal_ble/android/.gitignore b/universal_ble/android/.gitignore new file mode 100644 index 000000000..161bdcdaf --- /dev/null +++ b/universal_ble/android/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.cxx diff --git a/universal_ble/android/build.gradle b/universal_ble/android/build.gradle new file mode 100644 index 000000000..086e44c48 --- /dev/null +++ b/universal_ble/android/build.gradle @@ -0,0 +1,68 @@ +group 'com.navideck.universal_ble' +version '1.0-SNAPSHOT' + +buildscript { + ext.kotlin_version = '1.7.10' + repositories { + google() + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:7.3.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + } +} + +allprojects { + repositories { + google() + mavenCentral() + } +} + +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' + +android { + if (project.android.hasProperty("namespace")) { + namespace 'com.navideck.universal_ble' + } + + compileSdkVersion 34 + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + test.java.srcDirs += 'src/test/kotlin' + } + + defaultConfig { + minSdkVersion 21 + } + + dependencies { + testImplementation 'org.jetbrains.kotlin:kotlin-test' + testImplementation 'org.mockito:mockito-core:5.0.0' + } + + testOptions { + unitTests.all { + useJUnitPlatform() + + testLogging { + events "passed", "skipped", "failed", "standardOut", "standardError" + outputs.upToDateWhen {false} + showStandardStreams = true + } + } + } +} diff --git a/universal_ble/android/settings.gradle b/universal_ble/android/settings.gradle new file mode 100644 index 000000000..2f6c0d89c --- /dev/null +++ b/universal_ble/android/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'universal_ble' diff --git a/universal_ble/android/src/main/AndroidManifest.xml b/universal_ble/android/src/main/AndroidManifest.xml new file mode 100644 index 000000000..067f1cbf1 --- /dev/null +++ b/universal_ble/android/src/main/AndroidManifest.xml @@ -0,0 +1,10 @@ + + + + diff --git a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/SafeScanner.kt b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/SafeScanner.kt new file mode 100644 index 000000000..e0458a8dc --- /dev/null +++ b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/SafeScanner.kt @@ -0,0 +1,79 @@ +package com.navideck.universal_ble + +import android.annotation.SuppressLint +import android.bluetooth.BluetoothManager +import android.bluetooth.le.BluetoothLeScanner +import android.bluetooth.le.ScanCallback +import android.bluetooth.le.ScanFilter +import android.bluetooth.le.ScanSettings +import android.os.Build +import android.os.Handler +import android.os.Looper +import android.util.Log +import java.util.LinkedList + +private const val NUM_SCAN_DURATIONS_KEPT = 5 +private const val EXCESSIVE_SCANNING_PERIOD_MS = 30 * 1000L +private const val TAG = "UniversalBlePlugin" + +/** + * A safe wrapper for Bluetooth LE scanning operations that prevents excessive scanning. + * + * This class manages BLE scanning while adhering to Android's scanning frequency limits by: + * - Tracking scan start times over a 30-second window + * - Limiting to 5 scan operations within this window + * - Automatically scheduling delayed scans when frequency limits are exceeded + * - Providing safe start/stop scan operations with error handling + * + * The scanner will automatically delay new scan requests if the frequency limit is reached, + * and will retry once sufficient time has passed. This helps prevent scan failure errors + * and ensures compliance with Android's scanning restrictions. + * + * @property bluetoothManager The system's BluetoothManager used for scanning operations + */ +@SuppressLint("MissingPermission") +class SafeScanner(private val bluetoothManager: BluetoothManager) { + private val handler = Handler(Looper.myLooper()!!) + private val startTimes = LinkedList() + private var awaitingScan = false + + fun startScan(filters: List, settings: ScanSettings, callback: ScanCallback) { + val now = System.currentTimeMillis() + startTimes.removeAll { now - it > EXCESSIVE_SCANNING_PERIOD_MS } + + if (startTimes.size >= NUM_SCAN_DURATIONS_KEPT) { + if (awaitingScan) { + Log.e(TAG, "startScan: too frequent, awaiting scan..") + return + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + callback.onScanFailed(ScanCallback.SCAN_FAILED_SCANNING_TOO_FREQUENTLY) + } + + awaitingScan = true + val delay = startTimes.first + EXCESSIVE_SCANNING_PERIOD_MS - now + 2_000 + Log.e(TAG, "startScan: too frequent, schedule auto-start after $delay ms $startTimes") + + handler.postDelayed({ + Log.d(TAG, "Retrying scan after delay") + awaitingScan = false + startScan(filters, settings, callback) + }, delay) + } else { + awaitingScan = false + startTimes.addLast(now) + try { + bluetoothManager.adapter.bluetoothLeScanner?.startScan(filters, settings, callback) + } catch (e: Exception) { + Log.e(TAG, "Failed to start Scan : $e") + } + } + } + + fun stopScan(callback: ScanCallback) { + awaitingScan = false + handler.removeCallbacksAndMessages(null) + bluetoothManager.adapter.bluetoothLeScanner?.stopScan(callback) + } +} \ No newline at end of file diff --git a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBle.g.kt b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBle.g.kt new file mode 100644 index 000000000..6d6a34fa7 --- /dev/null +++ b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBle.g.kt @@ -0,0 +1,725 @@ +// Autogenerated from Pigeon (v22.6.1), do not edit directly. +// See also: https://pub.dev/packages/pigeon +@file:Suppress("UNCHECKED_CAST", "ArrayInDataClass") + +package com.navideck.universal_ble + +import android.util.Log +import io.flutter.plugin.common.BasicMessageChannel +import io.flutter.plugin.common.BinaryMessenger +import io.flutter.plugin.common.MessageCodec +import io.flutter.plugin.common.StandardMessageCodec +import java.io.ByteArrayOutputStream +import java.nio.ByteBuffer + +private fun wrapResult(result: Any?): List { + return listOf(result) +} + +private fun wrapError(exception: Throwable): List { + return if (exception is FlutterError) { + listOf( + exception.code, + exception.message, + exception.details + ) + } else { + listOf( + exception.javaClass.simpleName, + exception.toString(), + "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception) + ) + } +} + +private fun createConnectionError(channelName: String): FlutterError { + return FlutterError("channel-error", "Unable to establish connection on channel: '$channelName'.", "")} + +/** + * Error class for passing custom error details to Flutter via a thrown PlatformException. + * @property code The error code. + * @property message The error message. + * @property details The error details. Must be a datatype supported by the api codec. + */ +class FlutterError ( + val code: String, + override val message: String? = null, + val details: Any? = null +) : Throwable() + +/** Generated class from Pigeon that represents data sent in messages. */ +data class UniversalBleScanResult ( + val deviceId: String, + val name: String? = null, + val isPaired: Boolean? = null, + val rssi: Long? = null, + val manufacturerDataList: List? = null, + val services: List? = null +) + { + companion object { + fun fromList(pigeonVar_list: List): UniversalBleScanResult { + val deviceId = pigeonVar_list[0] as String + val name = pigeonVar_list[1] as String? + val isPaired = pigeonVar_list[2] as Boolean? + val rssi = pigeonVar_list[3] as Long? + val manufacturerDataList = pigeonVar_list[4] as List? + val services = pigeonVar_list[5] as List? + return UniversalBleScanResult(deviceId, name, isPaired, rssi, manufacturerDataList, services) + } + } + fun toList(): List { + return listOf( + deviceId, + name, + isPaired, + rssi, + manufacturerDataList, + services, + ) + } +} + +/** Generated class from Pigeon that represents data sent in messages. */ +data class UniversalBleService ( + val uuid: String, + val characteristics: List? = null +) + { + companion object { + fun fromList(pigeonVar_list: List): UniversalBleService { + val uuid = pigeonVar_list[0] as String + val characteristics = pigeonVar_list[1] as List? + return UniversalBleService(uuid, characteristics) + } + } + fun toList(): List { + return listOf( + uuid, + characteristics, + ) + } +} + +/** Generated class from Pigeon that represents data sent in messages. */ +data class UniversalBleCharacteristic ( + val uuid: String, + val properties: List +) + { + companion object { + fun fromList(pigeonVar_list: List): UniversalBleCharacteristic { + val uuid = pigeonVar_list[0] as String + val properties = pigeonVar_list[1] as List + return UniversalBleCharacteristic(uuid, properties) + } + } + fun toList(): List { + return listOf( + uuid, + properties, + ) + } +} + +/** + * Scan Filters + * + * Generated class from Pigeon that represents data sent in messages. + */ +data class UniversalScanFilter ( + val withServices: List, + val withNamePrefix: List, + val withManufacturerData: List +) + { + companion object { + fun fromList(pigeonVar_list: List): UniversalScanFilter { + val withServices = pigeonVar_list[0] as List + val withNamePrefix = pigeonVar_list[1] as List + val withManufacturerData = pigeonVar_list[2] as List + return UniversalScanFilter(withServices, withNamePrefix, withManufacturerData) + } + } + fun toList(): List { + return listOf( + withServices, + withNamePrefix, + withManufacturerData, + ) + } +} + +/** Generated class from Pigeon that represents data sent in messages. */ +data class UniversalManufacturerDataFilter ( + val companyIdentifier: Long, + val data: ByteArray? = null, + val mask: ByteArray? = null +) + { + companion object { + fun fromList(pigeonVar_list: List): UniversalManufacturerDataFilter { + val companyIdentifier = pigeonVar_list[0] as Long + val data = pigeonVar_list[1] as ByteArray? + val mask = pigeonVar_list[2] as ByteArray? + return UniversalManufacturerDataFilter(companyIdentifier, data, mask) + } + } + fun toList(): List { + return listOf( + companyIdentifier, + data, + mask, + ) + } +} + +/** Generated class from Pigeon that represents data sent in messages. */ +data class UniversalManufacturerData ( + val companyIdentifier: Long, + val data: ByteArray +) + { + companion object { + fun fromList(pigeonVar_list: List): UniversalManufacturerData { + val companyIdentifier = pigeonVar_list[0] as Long + val data = pigeonVar_list[1] as ByteArray + return UniversalManufacturerData(companyIdentifier, data) + } + } + fun toList(): List { + return listOf( + companyIdentifier, + data, + ) + } +} +private open class UniversalBlePigeonCodec : StandardMessageCodec() { + override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { + return when (type) { + 129.toByte() -> { + return (readValue(buffer) as? List)?.let { + UniversalBleScanResult.fromList(it) + } + } + 130.toByte() -> { + return (readValue(buffer) as? List)?.let { + UniversalBleService.fromList(it) + } + } + 131.toByte() -> { + return (readValue(buffer) as? List)?.let { + UniversalBleCharacteristic.fromList(it) + } + } + 132.toByte() -> { + return (readValue(buffer) as? List)?.let { + UniversalScanFilter.fromList(it) + } + } + 133.toByte() -> { + return (readValue(buffer) as? List)?.let { + UniversalManufacturerDataFilter.fromList(it) + } + } + 134.toByte() -> { + return (readValue(buffer) as? List)?.let { + UniversalManufacturerData.fromList(it) + } + } + else -> super.readValueOfType(type, buffer) + } + } + override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { + when (value) { + is UniversalBleScanResult -> { + stream.write(129) + writeValue(stream, value.toList()) + } + is UniversalBleService -> { + stream.write(130) + writeValue(stream, value.toList()) + } + is UniversalBleCharacteristic -> { + stream.write(131) + writeValue(stream, value.toList()) + } + is UniversalScanFilter -> { + stream.write(132) + writeValue(stream, value.toList()) + } + is UniversalManufacturerDataFilter -> { + stream.write(133) + writeValue(stream, value.toList()) + } + is UniversalManufacturerData -> { + stream.write(134) + writeValue(stream, value.toList()) + } + else -> super.writeValue(stream, value) + } + } +} + + +/** + * Flutter -> Native + * + * Generated interface from Pigeon that represents a handler of messages from Flutter. + */ +interface UniversalBlePlatformChannel { + fun getBluetoothAvailabilityState(callback: (Result) -> Unit) + fun enableBluetooth(callback: (Result) -> Unit) + fun disableBluetooth(callback: (Result) -> Unit) + fun startScan(filter: UniversalScanFilter?) + fun stopScan() + fun connect(deviceId: String) + fun disconnect(deviceId: String) + fun setNotifiable(deviceId: String, service: String, characteristic: String, bleInputProperty: Long, callback: (Result) -> Unit) + fun discoverServices(deviceId: String, callback: (Result>) -> Unit) + fun readValue(deviceId: String, service: String, characteristic: String, callback: (Result) -> Unit) + fun requestMtu(deviceId: String, expectedMtu: Long, callback: (Result) -> Unit) + fun writeValue(deviceId: String, service: String, characteristic: String, value: ByteArray, bleOutputProperty: Long, callback: (Result) -> Unit) + fun isPaired(deviceId: String, callback: (Result) -> Unit) + fun pair(deviceId: String, callback: (Result) -> Unit) + fun unPair(deviceId: String) + fun getSystemDevices(withServices: List, callback: (Result>) -> Unit) + fun getConnectionState(deviceId: String): Long + + companion object { + /** The codec used by UniversalBlePlatformChannel. */ + val codec: MessageCodec by lazy { + UniversalBlePigeonCodec() + } + /** Sets up an instance of `UniversalBlePlatformChannel` to handle messages through the `binaryMessenger`. */ + @JvmOverloads + fun setUp(binaryMessenger: BinaryMessenger, api: UniversalBlePlatformChannel?, messageChannelSuffix: String = "") { + val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getBluetoothAvailabilityState$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { _, reply -> + api.getBluetoothAvailabilityState{ result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(wrapResult(data)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.enableBluetooth$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { _, reply -> + api.enableBluetooth{ result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(wrapResult(data)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disableBluetooth$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { _, reply -> + api.disableBluetooth{ result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(wrapResult(data)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.startScan$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val filterArg = args[0] as UniversalScanFilter? + val wrapped: List = try { + api.startScan(filterArg) + listOf(null) + } catch (exception: Throwable) { + wrapError(exception) + } + reply.reply(wrapped) + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.stopScan$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { _, reply -> + val wrapped: List = try { + api.stopScan() + listOf(null) + } catch (exception: Throwable) { + wrapError(exception) + } + reply.reply(wrapped) + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.connect$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + val wrapped: List = try { + api.connect(deviceIdArg) + listOf(null) + } catch (exception: Throwable) { + wrapError(exception) + } + reply.reply(wrapped) + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disconnect$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + val wrapped: List = try { + api.disconnect(deviceIdArg) + listOf(null) + } catch (exception: Throwable) { + wrapError(exception) + } + reply.reply(wrapped) + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.setNotifiable$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + val serviceArg = args[1] as String + val characteristicArg = args[2] as String + val bleInputPropertyArg = args[3] as Long + api.setNotifiable(deviceIdArg, serviceArg, characteristicArg, bleInputPropertyArg) { result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + reply.reply(wrapResult(null)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.discoverServices$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + api.discoverServices(deviceIdArg) { result: Result> -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(wrapResult(data)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.readValue$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + val serviceArg = args[1] as String + val characteristicArg = args[2] as String + api.readValue(deviceIdArg, serviceArg, characteristicArg) { result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(wrapResult(data)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.requestMtu$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + val expectedMtuArg = args[1] as Long + api.requestMtu(deviceIdArg, expectedMtuArg) { result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(wrapResult(data)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.writeValue$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + val serviceArg = args[1] as String + val characteristicArg = args[2] as String + val valueArg = args[3] as ByteArray + val bleOutputPropertyArg = args[4] as Long + api.writeValue(deviceIdArg, serviceArg, characteristicArg, valueArg, bleOutputPropertyArg) { result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + reply.reply(wrapResult(null)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.isPaired$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + api.isPaired(deviceIdArg) { result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(wrapResult(data)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.pair$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + api.pair(deviceIdArg) { result: Result -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(wrapResult(data)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.unPair$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + val wrapped: List = try { + api.unPair(deviceIdArg) + listOf(null) + } catch (exception: Throwable) { + wrapError(exception) + } + reply.reply(wrapped) + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getSystemDevices$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val withServicesArg = args[0] as List + api.getSystemDevices(withServicesArg) { result: Result> -> + val error = result.exceptionOrNull() + if (error != null) { + reply.reply(wrapError(error)) + } else { + val data = result.getOrNull() + reply.reply(wrapResult(data)) + } + } + } + } else { + channel.setMessageHandler(null) + } + } + run { + val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getConnectionState$separatedMessageChannelSuffix", codec) + if (api != null) { + channel.setMessageHandler { message, reply -> + val args = message as List + val deviceIdArg = args[0] as String + val wrapped: List = try { + listOf(api.getConnectionState(deviceIdArg)) + } catch (exception: Throwable) { + wrapError(exception) + } + reply.reply(wrapped) + } + } else { + channel.setMessageHandler(null) + } + } + } + } +} +/** + * Native -> Flutter + * + * Generated class from Pigeon that represents Flutter messages that can be called from Kotlin. + */ +class UniversalBleCallbackChannel(private val binaryMessenger: BinaryMessenger, private val messageChannelSuffix: String = "") { + companion object { + /** The codec used by UniversalBleCallbackChannel. */ + val codec: MessageCodec by lazy { + UniversalBlePigeonCodec() + } + } + fun onAvailabilityChanged(stateArg: Long, callback: (Result) -> Unit) +{ + val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + val channelName = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged$separatedMessageChannelSuffix" + val channel = BasicMessageChannel(binaryMessenger, channelName, codec) + channel.send(listOf(stateArg)) { + if (it is List<*>) { + if (it.size > 1) { + callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) + } else { + callback(Result.success(Unit)) + } + } else { + callback(Result.failure(createConnectionError(channelName))) + } + } + } + fun onPairStateChange(deviceIdArg: String, isPairedArg: Boolean, errorArg: String?, callback: (Result) -> Unit) +{ + val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + val channelName = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange$separatedMessageChannelSuffix" + val channel = BasicMessageChannel(binaryMessenger, channelName, codec) + channel.send(listOf(deviceIdArg, isPairedArg, errorArg)) { + if (it is List<*>) { + if (it.size > 1) { + callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) + } else { + callback(Result.success(Unit)) + } + } else { + callback(Result.failure(createConnectionError(channelName))) + } + } + } + fun onScanResult(resultArg: UniversalBleScanResult, callback: (Result) -> Unit) +{ + val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + val channelName = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult$separatedMessageChannelSuffix" + val channel = BasicMessageChannel(binaryMessenger, channelName, codec) + channel.send(listOf(resultArg)) { + if (it is List<*>) { + if (it.size > 1) { + callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) + } else { + callback(Result.success(Unit)) + } + } else { + callback(Result.failure(createConnectionError(channelName))) + } + } + } + fun onValueChanged(deviceIdArg: String, characteristicIdArg: String, valueArg: ByteArray, callback: (Result) -> Unit) +{ + val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + val channelName = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged$separatedMessageChannelSuffix" + val channel = BasicMessageChannel(binaryMessenger, channelName, codec) + channel.send(listOf(deviceIdArg, characteristicIdArg, valueArg)) { + if (it is List<*>) { + if (it.size > 1) { + callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) + } else { + callback(Result.success(Unit)) + } + } else { + callback(Result.failure(createConnectionError(channelName))) + } + } + } + fun onConnectionChanged(deviceIdArg: String, connectedArg: Boolean, errorArg: String?, callback: (Result) -> Unit) +{ + val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" + val channelName = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged$separatedMessageChannelSuffix" + val channel = BasicMessageChannel(binaryMessenger, channelName, codec) + channel.send(listOf(deviceIdArg, connectedArg, errorArg)) { + if (it is List<*>) { + if (it.size > 1) { + callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) + } else { + callback(Result.success(Unit)) + } + } else { + callback(Result.failure(createConnectionError(channelName))) + } + } + } +} diff --git a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleFilterUtil.kt b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleFilterUtil.kt new file mode 100644 index 000000000..a8a6da836 --- /dev/null +++ b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleFilterUtil.kt @@ -0,0 +1,164 @@ +package com.navideck.universal_ble + +import android.annotation.SuppressLint +import android.bluetooth.le.ScanFilter +import android.bluetooth.le.ScanResult +import android.os.ParcelUuid +import android.util.Log +import java.nio.ByteBuffer +import java.nio.ByteOrder +import java.util.UUID +import kotlin.experimental.and + +private const val TAG = "UniversalBlePlugin" + +@SuppressLint("MissingPermission") +class UniversalBleFilterUtil { + var scanFilter: UniversalScanFilter? = null + var serviceFilterUUIDS: List = emptyList() + + fun filterDevice( + name: String?, + manufacturerDataList: List, + serviceUuids: Array, + ): Boolean { + val filter = scanFilter ?: return true + + val hasNamePrefixFilter = filter.withNamePrefix.isNotEmpty() + val hasServiceFilter = filter.withServices.isNotEmpty() + val hasManufacturerDataFilter = filter.withManufacturerData.isNotEmpty() + + // If there is no filter at all, then allow device + if (!hasNamePrefixFilter && + !hasServiceFilter && + !hasManufacturerDataFilter + ) { + return true + } + + // For not, we only have DeviceName filter + return hasNamePrefixFilter && isNameMatchingFilters(filter, name) || + hasServiceFilter && isServicesMatchingFilters(serviceUuids) || + hasManufacturerDataFilter && isManufacturerDataMatchingFilters( + filter, + manufacturerDataList + ) + } + + private fun isNameMatchingFilters(scanFilter: UniversalScanFilter, name: String?): Boolean { + val namePrefixFilter = scanFilter.withNamePrefix.filterNotNull() + if (namePrefixFilter.isEmpty()) { + return true + } + if (name.isNullOrEmpty()) { + return false + } + return namePrefixFilter.any { name.startsWith(it) } + } + + private fun isServicesMatchingFilters( + serviceUuids: Array, + ): Boolean { + if (serviceFilterUUIDS.isEmpty()) { + return true + } + if (serviceUuids.isEmpty()) { + return false + } + return serviceFilterUUIDS.any { + serviceUuids.contains(it) + } + } + + private fun isManufacturerDataMatchingFilters( + scanFilter: UniversalScanFilter, + manufacturerDataList: List, + ): Boolean { + val filters = scanFilter.withManufacturerData.filterNotNull() + if (filters.isEmpty()) return true + if (manufacturerDataList.isEmpty()) return false + return manufacturerDataList.any { msd -> + filters.any { filter -> + msd.companyIdentifier == filter.companyIdentifier && + isDataMatching(filter.data, msd.data, filter.mask) + } + } + } + + private fun isDataMatching( + filterData: ByteArray?, + deviceData: ByteArray, + filterMask: ByteArray?, + ): Boolean { + if (filterData == null) return true + if (filterData.size > deviceData.size) return false + + val mask = filterMask ?: ByteArray(filterData.size) { 0xFF.toByte() } + if (filterData.size != mask.size) return false + + return filterData.indices.all { i -> + (filterData[i] and mask[i]) == (deviceData[i] and mask[i]) + } + } +} + +fun UniversalScanFilter.usesCustomFilters(): Boolean { + // NamePrefix Filtering is not supported in native filters + return withNamePrefix.isNotEmpty() +} + +// Convert UniversalScanFilter to ScanFilter +fun UniversalScanFilter.toScanFilters(serviceUuids: List): List { + val scanFilters: ArrayList = arrayListOf() + + // Add withServices Filter + for (service in serviceUuids) { + try { + service.let { + scanFilters.add( + ScanFilter.Builder().setServiceUuid(ParcelUuid(it)).build() + ) + Log.e(TAG, "scanFilters: $it") + } + } catch (e: Exception) { + Log.e(TAG, e.toString()) + throw FlutterError( + "illegalIllegalArgument", + "Invalid serviceId: $service", + e.toString() + ) + } + } + + // Add ManufacturerData Filter + for (manufacturerData in this.withManufacturerData) { + try { + manufacturerData?.companyIdentifier?.let { + val data: ByteArray = manufacturerData.data ?: ByteArray(0) + val mask: ByteArray? = manufacturerData.mask + if (mask == null) { + scanFilters.add( + ScanFilter.Builder().setManufacturerData( + it.toInt(), data + ).build() + ) + } else { + scanFilters.add( + ScanFilter.Builder().setManufacturerData( + it.toInt(), data, mask + ).build() + ) + } + } + } catch (e: Exception) { + Log.e(TAG, e.toString()) + throw FlutterError( + "illegalIllegalArgument", + "Invalid manufacturerData: ${manufacturerData?.companyIdentifier} ${manufacturerData?.data} ${manufacturerData?.mask}", + e.toString() + ) + } + } + + return scanFilters.toList() +} diff --git a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleHelper.kt b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleHelper.kt new file mode 100644 index 000000000..806387c06 --- /dev/null +++ b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleHelper.kt @@ -0,0 +1,358 @@ +package com.navideck.universal_ble + +import android.bluetooth.BluetoothAdapter +import android.bluetooth.BluetoothDevice +import android.bluetooth.BluetoothGatt +import android.bluetooth.BluetoothGattCharacteristic +import android.bluetooth.BluetoothStatusCodes +import android.bluetooth.le.ScanCallback.SCAN_FAILED_ALREADY_STARTED +import android.bluetooth.le.ScanCallback.SCAN_FAILED_APPLICATION_REGISTRATION_FAILED +import android.bluetooth.le.ScanCallback.SCAN_FAILED_FEATURE_UNSUPPORTED +import android.bluetooth.le.ScanCallback.SCAN_FAILED_INTERNAL_ERROR +import android.bluetooth.le.ScanCallback.SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES +import android.bluetooth.le.ScanCallback.SCAN_FAILED_SCANNING_TOO_FREQUENTLY +import android.bluetooth.le.ScanResult +import android.util.Log +import android.util.SparseArray +import java.nio.ByteBuffer +import java.nio.ByteOrder +import java.util.UUID + +private const val TAG = "UniversalBlePlugin" + +private val knownGatts = mutableMapOf() +val ccdCharacteristic: UUID = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb") + +enum class BleConnectionState(val value: Long) { + Connected(0), + Disconnected(1), + Connecting(2), + Disconnecting(3) +} + +enum class AvailabilityState(val value: Long) { + Unknown(0), + Resetting(1), + Unsupported(2), + Unauthorized(3), + PoweredOff(4), + PoweredOn(5); +} + +enum class BleInputProperty(val value: Long) { + Disabled(0), + Notification(1), + Indication(2); +} + +enum class BleOutputProperty(val value: Long) { + withResponse(0), + withoutResponse(1); +} + + +enum class CharacteristicProperty(val value: Long) { + Broadcast(0), + Read(1), + WriteWithoutResponse(2), + Write(3), + Notify(4), + Indicate(5), + AuthenticatedSignedWrites(6), + ExtendedProperties(7) +} + + +fun Int.toBleConnectionState(): BleConnectionState { + return when (this) { + BluetoothGatt.STATE_CONNECTED -> BleConnectionState.Connected + BluetoothGatt.STATE_CONNECTING -> BleConnectionState.Connecting + BluetoothGatt.STATE_DISCONNECTING -> BleConnectionState.Disconnecting + BluetoothGatt.STATE_DISCONNECTED -> BleConnectionState.Disconnected + else -> BleConnectionState.Disconnected + } +} + +fun List.toUUIDList(): List { + return this.map { UUID.fromString(it) } +} + + +fun String.toBluetoothGatt(): BluetoothGatt { + return this.findGatt() + ?: throw FlutterError("IllegalArgument", "Unknown deviceId: $this", null) +} + +fun String.isKnownGatt(): Boolean { + return this.findGatt() != null +} + +fun String.findGatt(): BluetoothGatt? { + return knownGatts[this] +} + +fun BluetoothGatt.saveCacheIfNeeded() { + knownGatts[this.device.address] = this +} + +fun BluetoothGatt.removeCache() { + knownGatts.remove(this.device.address) +} + + +fun Int.toAvailabilityState(): Long { + return when (this) { + BluetoothAdapter.STATE_OFF -> AvailabilityState.PoweredOff.value + BluetoothAdapter.STATE_ON -> AvailabilityState.PoweredOn.value + BluetoothAdapter.STATE_TURNING_ON -> AvailabilityState.Resetting.value + BluetoothAdapter.STATE_TURNING_OFF -> AvailabilityState.Resetting.value + else -> AvailabilityState.Unknown.value + } +} + +fun Int.parseScanErrorMessage(): String { + return when (this) { + SCAN_FAILED_ALREADY_STARTED -> "SCAN_FAILED_ALREADY_STARTED" + SCAN_FAILED_APPLICATION_REGISTRATION_FAILED -> "SCAN_FAILED_APPLICATION_REGISTRATION_FAILED" + SCAN_FAILED_FEATURE_UNSUPPORTED -> "SCAN_FAILED_FEATURE_UNSUPPORTED" + SCAN_FAILED_INTERNAL_ERROR -> "SCAN_FAILED_INTERNAL_ERROR" + SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES -> "SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES" + SCAN_FAILED_SCANNING_TOO_FREQUENTLY -> "SCAN_FAILED_SCANNING_TOO_FREQUENTLY" + else -> "ErrorCode: $this" + } +} + +fun Int.parseBluetoothStatusCodeError(): String? { + if (this == BluetoothStatusCodes.SUCCESS) return null + return when (this) { + BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ENABLED -> "ERROR_BLUETOOTH_NOT_ENABLED" + BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ALLOWED -> "ERROR_BLUETOOTH_NOT_ALLOWED" + BluetoothStatusCodes.ERROR_DEVICE_NOT_BONDED -> "ERROR_DEVICE_NOT_BONDED" + BluetoothStatusCodes.ERROR_GATT_WRITE_NOT_ALLOWED -> "ERROR_GATT_WRITE_NOT_ALLOWED" + BluetoothStatusCodes.ERROR_GATT_WRITE_REQUEST_BUSY -> "ERROR_GATT_WRITE_REQUEST_BUSY" + BluetoothStatusCodes.ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION -> "ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION" + BluetoothStatusCodes.ERROR_PROFILE_SERVICE_NOT_BOUND -> "ERROR_PROFILE_SERVICE_NOT_BOUND" + BluetoothStatusCodes.ERROR_UNKNOWN -> "ERROR_UNKNOWN" + BluetoothStatusCodes.FEATURE_NOT_CONFIGURED -> "FEATURE_NOT_CONFIGURED" + BluetoothStatusCodes.FEATURE_NOT_SUPPORTED -> "FEATURE_NOT_SUPPORTED" + BluetoothStatusCodes.FEATURE_SUPPORTED -> "FEATURE_SUPPORTED" + else -> "ErrorCode: $this" + } +} + +fun Int.parseGattErrorCode(): String? { + return when (this) { + BluetoothGatt.GATT_SUCCESS -> null + BluetoothGatt.GATT_READ_NOT_PERMITTED -> "GATT_READ_NOT_PERMITTED" + BluetoothGatt.GATT_WRITE_NOT_PERMITTED -> "GATT_WRITE_NOT_PERMITTED" + BluetoothGatt.GATT_INSUFFICIENT_AUTHENTICATION -> "GATT_INSUFFICIENT_AUTHENTICATION" + BluetoothGatt.GATT_REQUEST_NOT_SUPPORTED -> "GATT_REQUEST_NOT_SUPPORTED" + BluetoothGatt.GATT_INVALID_OFFSET -> "GATT_INVALID_OFFSET" + BluetoothGatt.GATT_INSUFFICIENT_AUTHORIZATION -> "GATT_INSUFFICIENT_AUTHORIZATION" + BluetoothGatt.GATT_INVALID_ATTRIBUTE_LENGTH -> "GATT_INVALID_ATTRIBUTE_LENGTH" + BluetoothGatt.GATT_INSUFFICIENT_ENCRYPTION -> "GATT_INSUFFICIENT_ENCRYPTION" + BluetoothGatt.GATT_CONNECTION_CONGESTED -> "GATT_CONNECTION_CONGESTED" + BluetoothGatt.GATT_FAILURE -> "GATT_FAILURE" + 0x01 -> "GATT_INVALID_HANDLE" + 0x04 -> "GATT_INVALID_PDU" + 0x09 -> "GATT_PREPARE_QUEUE_FULL" + 0x0a -> "GATT_ATTR_NOT_FOUND" + 0x0b -> "GATT_ATTR_NOT_LONG" + 0x0c -> "GATT_INSUFFICIENT_KEY_SIZE" + 0x0e -> "GATT_UNLIKELY" + 0x10 -> "GATT_UNSUPPORTED_GROUP" + 0x11 -> "GATT_INSUFFICIENT_RESOURCES" + else -> "Unknown Error: $this" + } +} + +val ScanResult.manufacturerDataList: List + get() { + return scanRecord?.manufacturerSpecificData?.toList()?.map { (key, value) -> + UniversalManufacturerData(key.toLong(), value) + } ?: emptyList() + } + +fun SparseArray.toList(): List> { + return (0 until size()).map { index -> + keyAt(index) to valueAt(index) + } +} + +fun BluetoothGatt.getCharacteristic( + service: String, + characteristic: String, +): BluetoothGattCharacteristic? { + return getService(UUID.fromString(service))?.getCharacteristic(UUID.fromString(characteristic)) +} + +fun subscriptionFailedError(error: String? = null): Result { + return Result.failure( + FlutterError( + "Failed", + "Failed to update subscription state", + error + ) + ) +} + +fun BluetoothDevice.removeBond() { + try { + javaClass.getMethod("removeBond").invoke(this) + } catch (e: Exception) { + Log.e(TAG, "Removing bond failed. ${e.message}") + } +} + + +fun BluetoothGattCharacteristic.getPropertiesList(): ArrayList { + val propertiesList = arrayListOf() + if (properties and BluetoothGattCharacteristic.PROPERTY_BROADCAST > 0) { + propertiesList.add(CharacteristicProperty.Broadcast.value) + } + if (properties and BluetoothGattCharacteristic.PROPERTY_READ > 0) { + propertiesList.add(CharacteristicProperty.Read.value) + } + if (properties and BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE > 0) { + propertiesList.add(CharacteristicProperty.WriteWithoutResponse.value) + } + if (properties and BluetoothGattCharacteristic.PROPERTY_WRITE > 0) { + propertiesList.add(CharacteristicProperty.Write.value) + } + if (properties and BluetoothGattCharacteristic.PROPERTY_NOTIFY > 0) { + propertiesList.add(CharacteristicProperty.Notify.value) + } + if (properties and BluetoothGattCharacteristic.PROPERTY_INDICATE > 0) { + propertiesList.add(CharacteristicProperty.Indicate.value) + } + if (properties and BluetoothGattCharacteristic.PROPERTY_SIGNED_WRITE > 0) { + propertiesList.add(CharacteristicProperty.AuthenticatedSignedWrites.value) + } + if (properties and BluetoothGattCharacteristic.PROPERTY_EXTENDED_PROPS > 0) { + propertiesList.add(CharacteristicProperty.ExtendedProperties.value) + } + return propertiesList +} + + +fun Short.toByteArray(byteOrder: ByteOrder = ByteOrder.LITTLE_ENDIAN): ByteArray = + ByteBuffer.allocate(2 /*Short.SIZE_BYTES*/).order(byteOrder).putShort(this).array() + +// Errors +fun unknownCharacteristicError(char: String) = + FlutterError("IllegalArgument", "Unknown error", null) + + +val DeviceDisconnectedError: FlutterError = FlutterError( + "DeviceDisconnected", + "Device Disconnected", + null +) + +fun Int.parseHciErrorCode(): String? { + return when (this) { + BluetoothGatt.GATT_SUCCESS -> null + 0x01 -> "Unknown HCI Command" + 0x02 -> "Unknown Connection Identifier" + 0x03 -> "Hardware Failure" + 0x04 -> "Page Timeout" + 0x05 -> "Authentication Failure" + 0x06 -> "PIN or Key Missing" + 0x07 -> "Memory Capacity Exceeded" + 0x08 -> "Connection Timeout" + 0x09 -> "Connection Limit Exceeded" + 0x0A -> "Synchronous Connection Limit To A Device Exceeded" + 0x0B -> "Connection Already Exists" + 0x0C -> "Command Disallowed" + 0x0D -> "Connection Rejected due to Limited Resources" + 0x0E -> "Connection Rejected Due To Security Reasons" + 0x0F -> "Connection Rejected due to Unacceptable BD_ADDR" + 0x10 -> "Connection Accept Timeout Exceeded" + 0x11 -> "Unsupported Feature or Parameter Value" + 0x12 -> "Invalid HCI Command Parameters" + 0x13 -> "Remote User Terminated Connection" + 0x14 -> "Remote Device Terminated Connection due to Low Resources" + 0x15 -> "Remote Device Terminated Connection due to Power Off" + 0x16 -> "Connection Terminated By Local Host" + 0x17 -> "Repeated Attempts" + 0x18 -> "Pairing Not Allowed" + 0x19 -> "Unknown LMP PDU" + 0x1A -> "Unsupported Remote Feature / Unsupported LMP Feature" + 0x1B -> "SCO Offset Rejected" + 0x1C -> "SCO Interval Rejected" + 0x1D -> "SCO Air Mode Rejected" + 0x1E -> "Invalid LMP Parameters / Invalid LL Parameters" + 0x1F -> "Unspecified Error" + 0x20 -> "Unsupported LMP Parameter Value / Unsupported LL Parameter Value" + 0x21 -> "Role Change Not Allowed" + 0x22 -> "LMP Response Timeout / LL Response Timeout" + 0x23 -> "LMP Error Transaction Collision / LL Procedure Collision" + 0x24 -> "LMP PDU Not Allowed" + 0x25 -> "Encryption Mode Not Acceptable" + 0x26 -> "Link Key cannot be Changed" + 0x27 -> "Requested QoS Not Supported" + 0x28 -> "Instant Passed" + 0x29 -> "Pairing With Unit Key Not Supported" + 0x2A -> "Different Transaction Collision" + 0x2B -> "Reserved for future use" + 0x2C -> "QoS Unacceptable Parameter" + 0x2D -> "QoS Rejected" + 0x2E -> "Channel Classification Not Supported" + 0x2F -> "Insufficient Security" + 0x30 -> "Parameter Out Of Mandatory Range" + 0x31 -> "Reserved for future use" + 0x32 -> "Role Switch Pending" + 0x33 -> "Reserved for future use" + 0x34 -> "Reserved Slot Violation" + 0x35 -> "Role Switch Failed" + 0x36 -> "Extended Inquiry Response Too Large" + 0x37 -> "Secure Simple Pairing Not Supported By Host" + 0x38 -> "Host Busy - Pairing" + 0x39 -> "Connection Rejected due to No Suitable Channel Found" + 0x3A -> "Controller Busy" + 0x3B -> "Unacceptable Connection Parameters" + 0x3C -> "Advertising Timeout" + 0x3D -> "Connection Terminated due to MIC Failure" + 0x3E -> "Connection Failed to be Established / Synchronization Timeout" + 0x3F -> "MAC Connection Failed" + 0x40 -> "Coarse Clock Adjustment Rejected but Will Try to Adjust Using Clock Dragging" + 0x41 -> "Type0 Submap Not Defined" + 0x42 -> "Unknown Advertising Identifier" + 0x43 -> "Limit Reached" + 0x44 -> "Operation Cancelled by Host" + 0x45 -> "Packet Too Long" + else -> "Unknown Error $this" + } +} + +// Future result classes +class DiscoverServicesFuture( + val deviceId: String, + val result: (Result>) -> Unit, +) + +class MtuResultFuture( + val deviceId: String, + val result: (Result) -> Unit, +) + +class ReadResultFuture( + val deviceId: String, + val characteristicId: String, + val serviceId: String, + val result: (Result) -> Unit, +) + +class WriteResultFuture( + val deviceId: String, + val characteristicId: String, + val serviceId: String, + val result: (Result) -> Unit, +) + +class SubscriptionResultFuture( + val deviceId: String, + val characteristicId: String, + val serviceId: String, + val result: (Result) -> Unit, +) \ No newline at end of file diff --git a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBlePlugin.kt b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBlePlugin.kt new file mode 100644 index 000000000..344291638 --- /dev/null +++ b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBlePlugin.kt @@ -0,0 +1,1045 @@ +package com.navideck.universal_ble + +import android.annotation.SuppressLint +import android.app.Activity +import android.bluetooth.BluetoothAdapter +import android.bluetooth.BluetoothDevice +import android.bluetooth.BluetoothDevice.BOND_BONDED +import android.bluetooth.BluetoothGatt +import android.bluetooth.BluetoothGattCallback +import android.bluetooth.BluetoothGattCharacteristic +import android.bluetooth.BluetoothGattDescriptor +import android.bluetooth.BluetoothManager +import android.bluetooth.BluetoothProfile +import android.bluetooth.BluetoothStatusCodes +import android.bluetooth.le.ScanCallback +import android.bluetooth.le.ScanFilter +import android.bluetooth.le.ScanResult +import android.bluetooth.le.ScanSettings +import android.content.BroadcastReceiver +import android.content.Context +import android.content.Context.RECEIVER_EXPORTED +import android.content.Intent +import android.content.IntentFilter +import android.os.Build +import android.os.Handler +import android.os.Looper +import android.util.Log +import io.flutter.embedding.engine.plugins.FlutterPlugin +import io.flutter.embedding.engine.plugins.activity.ActivityAware +import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding +import io.flutter.plugin.common.PluginRegistry +import java.util.UUID +import java.util.concurrent.CountDownLatch +import java.util.concurrent.TimeUnit + + +private const val TAG = "UniversalBlePlugin" + +@SuppressLint("MissingPermission") +class UniversalBlePlugin : UniversalBlePlatformChannel, BluetoothGattCallback(), FlutterPlugin, + ActivityAware, PluginRegistry.ActivityResultListener { + private val bluetoothEnableRequestCode = 2342313 + private val bluetoothDisableRequestCode = 2342414 + private var callbackChannel: UniversalBleCallbackChannel? = null + private var mainThreadHandler: Handler? = null + private lateinit var context: Context + private var activity: Activity? = null + private lateinit var bluetoothManager: BluetoothManager + private lateinit var safeScanner: SafeScanner + private val cachedServicesMap = mutableMapOf>() + private val universalBleFilterUtil = UniversalBleFilterUtil() + + // Flutter Futures + private var bluetoothEnableRequestFuture: ((Result) -> Unit)? = null + private var bluetoothDisableRequestFuture: ((Result) -> Unit)? = null + private val discoverServicesFutureList = mutableListOf() + private val mtuResultFutureList = mutableListOf() + private val readResultFutureList = mutableListOf() + private val writeResultFutureList = mutableListOf() + private val subscriptionResultFutureList = mutableListOf() + private val pairResultFutures = mutableMapOf) -> Unit>() + + override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) { + UniversalBlePlatformChannel.setUp(flutterPluginBinding.binaryMessenger, this) + callbackChannel = UniversalBleCallbackChannel(flutterPluginBinding.binaryMessenger) + context = flutterPluginBinding.applicationContext + mainThreadHandler = Handler(Looper.getMainLooper()) + bluetoothManager = context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager + safeScanner = SafeScanner(bluetoothManager) + + val intentFilter = IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED) + intentFilter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + context.registerReceiver(broadcastReceiver, intentFilter, RECEIVER_EXPORTED) + } else { + context.registerReceiver(broadcastReceiver, intentFilter) + } + cachedServicesMap.putAll(getCachedServicesMap()) + } + + override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) { + bluetoothManager.adapter.bluetoothLeScanner?.stopScan(scanCallback) + context.unregisterReceiver(broadcastReceiver) + callbackChannel = null + mainThreadHandler = null + } + + override fun getBluetoothAvailabilityState(callback: (Result) -> Unit) { + callback( + Result.success( + bluetoothManager.adapter?.state?.toAvailabilityState() + ?: AvailabilityState.Unknown.value + ) + ) + } + + override fun enableBluetooth(callback: (Result) -> Unit) { + if (bluetoothManager.adapter.isEnabled) { + callback(Result.success(true)) + return + } + if (bluetoothEnableRequestFuture != null) { + callback( + Result.failure( + FlutterError("Failed", "Bluetooth enable request in progress", null) + ) + ) + return + } + val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) + activity?.startActivityForResult(enableBtIntent, bluetoothEnableRequestCode) + bluetoothEnableRequestFuture = callback + } + + override fun disableBluetooth(callback: (Result) -> Unit) { + if (!bluetoothManager.adapter.isEnabled) { + callback(Result.success(true)) + return + } + if (bluetoothDisableRequestFuture != null) { + callback( + Result.failure( + FlutterError("Failed", "Bluetooth disable request in progress", null) + ) + ) + return + } + val disableBtIntent = Intent("android.bluetooth.adapter.action.REQUEST_DISABLE") + activity?.startActivityForResult(disableBtIntent, bluetoothDisableRequestCode) + bluetoothDisableRequestFuture = callback + } + + override fun startScan(filter: UniversalScanFilter?) { + if (!isBluetoothAvailable()) throw FlutterError( + "BluetoothNotEnabled", + "Bluetooth not enabled", + ) + + val builder = ScanSettings.Builder() + if (Build.VERSION.SDK_INT >= 26) { + builder.setPhy(ScanSettings.PHY_LE_ALL_SUPPORTED) + builder.setLegacy(false) + } + val settings = builder.build() + + val usesCustomFilters = filter?.usesCustomFilters() ?: false; + + try { + val filterServices = filter?.withServices?.filterNotNull()?.toUUIDList() ?: emptyList() + var scanFilters = emptyList() + + // Set custom scan filter only if required + if (usesCustomFilters) { + Log.e(TAG, "Using Custom Filters") + universalBleFilterUtil.scanFilter = filter + universalBleFilterUtil.serviceFilterUUIDS = filterServices + } else { + universalBleFilterUtil.scanFilter = null + scanFilters = filter?.toScanFilters(filterServices) ?: emptyList() + } + + safeScanner.startScan( + scanFilters, settings, scanCallback + ) + } catch (e: Exception) { + throw FlutterError( + "illegalIllegalArgument", + "Failed to start Scan", + e.toString() + ) + } + } + + override fun stopScan() { + if (!isBluetoothAvailable()) throw FlutterError( + "BluetoothNotEnabled", + "Bluetooth not enabled", + ) + // check if already scanning + safeScanner.stopScan(scanCallback) + } + + override fun connect(deviceId: String) { + // If already connected, send connected message, + // if connecting, do nothing + deviceId.findGatt()?.let { + val currentState = bluetoothManager.getConnectionState(it.device, BluetoothProfile.GATT) + if (currentState == BluetoothGatt.STATE_CONNECTED) { + Log.e(TAG, "$deviceId Already connected") + mainThreadHandler?.post { + callbackChannel?.onConnectionChanged(deviceId, true, null) {} + } + return + } else if (currentState == BluetoothGatt.STATE_CONNECTING) { + throw FlutterError("Connecting", "Connection already in progress", null) + } + } + + + val remoteDevice = bluetoothManager.adapter.getRemoteDevice(deviceId) + val gatt = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + remoteDevice.connectGatt( + context, + false, + this, + BluetoothDevice.TRANSPORT_LE + ) + } else { + remoteDevice.connectGatt(context, false, this) + } + gatt.saveCacheIfNeeded() + } + + override fun disconnect(deviceId: String) { + cleanConnection(deviceId.toBluetoothGatt()) + } + + override fun getConnectionState(deviceId: String): Long { + val connectionState = bluetoothManager.getConnectionState( + bluetoothManager.adapter.getRemoteDevice(deviceId), + BluetoothProfile.GATT + ) + + return if (deviceId.isKnownGatt() || connectionState == BluetoothGatt.STATE_DISCONNECTED || connectionState == BluetoothGatt.STATE_DISCONNECTING) { + connectionState.toBleConnectionState().value + } else { + // Might be connected with device, but not with app + Log.e(TAG, "Device might be connected but not known to this app") + BleConnectionState.Disconnected.value + } + } + + override fun discoverServices( + deviceId: String, + callback: (Result>) -> Unit, + ) { + try { + val gatt = deviceId.toBluetoothGatt() + if (gatt.discoverServices()) { + discoverServicesFutureList.add(DiscoverServicesFuture(deviceId, callback)) + } else { + callback( + Result.failure(FlutterError("Failed", "Failed to discover services", null)) + ) + } + } catch (e: FlutterError) { + callback(Result.failure(e)) + } + } + + override fun onServicesDiscovered(gatt: BluetoothGatt, status: Int) { + if (status != BluetoothGatt.GATT_SUCCESS) { + discoverServicesFutureList.filter { it.deviceId == gatt.device.address }.forEach { + discoverServicesFutureList.remove(it) + it.result( + Result.failure(FlutterError("Failed", "Failed to discover services", null)) + ) + } + return + } + setCachedServices(gatt.device.address, gatt.services.map { it.uuid.toString() }) + val universalBleServices = gatt.services.map { service -> + UniversalBleService( + uuid = service.uuid.toString(), + characteristics = service.characteristics.map { + UniversalBleCharacteristic( + uuid = it.uuid.toString(), + properties = it.getPropertiesList() + ) + } + ) + } + discoverServicesFutureList.filter { it.deviceId == gatt.device.address }.forEach { + discoverServicesFutureList.remove(it) + it.result(Result.success(universalBleServices)) + } + } + + + override fun setNotifiable( + deviceId: String, + service: String, + characteristic: String, + bleInputProperty: Long, + callback: (Result) -> Unit, + ) { + try { + val gatt = deviceId.toBluetoothGatt() + val gattCharacteristic: BluetoothGattCharacteristic? = + gatt.getCharacteristic(service, characteristic) + + if (gattCharacteristic == null) { + callback(subscriptionFailedError("characteristic not found")) + return + } + + val descriptor: BluetoothGattDescriptor? = + gattCharacteristic.getDescriptor(ccdCharacteristic) + + val bleInputPropertyEnum: BleInputProperty = + BleInputProperty.values().first { it.value == bleInputProperty } + + val (value, enable) = when (bleInputPropertyEnum) { + BleInputProperty.Notification -> BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE to true + BleInputProperty.Indication -> BluetoothGattDescriptor.ENABLE_INDICATION_VALUE to true + else -> BluetoothGattDescriptor.DISABLE_NOTIFICATION_VALUE to false + } + + if (descriptor != null) { + // Some devices do not need CCCD to update + @Suppress("DEPRECATION") + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + if (gatt.writeDescriptor(descriptor, value) != BluetoothStatusCodes.SUCCESS) { + callback(subscriptionFailedError("Failed to update descriptor")) + return + } + } else { + descriptor.value = value + if (!gatt.writeDescriptor(descriptor)) { + callback(subscriptionFailedError("Failed to update descriptor")) + return + } + } + } else { + Log.d("UniversalBle", "CCCD Descriptor not found") + } + + if (gatt.setCharacteristicNotification(gattCharacteristic, enable)) { + if (descriptor != null) { + subscriptionResultFutureList.add( + SubscriptionResultFuture( + gatt.device.address, + gattCharacteristic.uuid.toString(), + gattCharacteristic.service.uuid.toString(), + callback + ) + ) + } else { + callback(Result.success(Unit)) + } + } else { + callback(subscriptionFailedError()) + } + } catch (e: FlutterError) { + callback(Result.failure(e)) + } catch (e: Exception) { + callback(subscriptionFailedError(e.toString())) + } + } + + override fun readValue( + deviceId: String, + service: String, + characteristic: String, + callback: (Result) -> Unit, + ) { + try { + val gatt = deviceId.toBluetoothGatt() + val gattCharacteristic = gatt.getCharacteristic(service, characteristic) + if (gattCharacteristic == null) { + callback( + Result.failure(FlutterError("IllegalArgument", "Unknown characteristic", null)) + ) + return + } + if (!gatt.readCharacteristic(gattCharacteristic)) { + callback( + Result.failure(unknownCharacteristicError(characteristic)) + ) + return + } + + readResultFutureList.add( + ReadResultFuture( + gatt.device.address, + gattCharacteristic.uuid.toString(), + gattCharacteristic.service.uuid.toString(), + callback + ) + ) + } catch (e: FlutterError) { + callback(Result.failure(e)) + } catch (e: Exception) { + callback( + Result.failure( + FlutterError( + "Failed", + "Failed to read value", + e.toString() + ) + ) + ) + } + } + + override fun onCharacteristicRead( + gatt: BluetoothGatt, + characteristic: BluetoothGattCharacteristic, + value: ByteArray, + status: Int, + ) { + readResultFutureList.filter { + it.deviceId == gatt.device.address && + it.characteristicId == characteristic.uuid.toString() && + it.serviceId == characteristic.service.uuid.toString() + }.forEach { + readResultFutureList.remove(it) + if (status == BluetoothGatt.GATT_SUCCESS) { + it.result(Result.success(value)) + } else { + it.result( + Result.failure( + FlutterError( + status.toString(), + "Failed to read: (${status.parseGattErrorCode()})", + null, + ) + ) + ) + } + + } + } + + override fun writeValue( + deviceId: String, + service: String, + characteristic: String, + value: ByteArray, + bleOutputProperty: Long, + callback: (Result) -> Unit, + ) { + try { + val gatt = deviceId.toBluetoothGatt() + val gattCharacteristic = gatt.getCharacteristic(service, characteristic) + if (gattCharacteristic == null) { + callback(Result.failure(unknownCharacteristicError(characteristic))) + return + } + + var writeType = BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT + if (bleOutputProperty == BleOutputProperty.withResponse.value) { + if (gattCharacteristic.properties and BluetoothGattCharacteristic.PROPERTY_WRITE == 0) { + callback( + Result.failure( + FlutterError( + "IllegalArgument", + "Characteristic does not support write withResponse", + null + ) + ) + ) + return + } + writeType = BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT + } else if (bleOutputProperty == BleOutputProperty.withoutResponse.value) { + if (gattCharacteristic.properties and BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE == 0) { + callback( + Result.failure( + FlutterError( + "IllegalArgument", + "Characteristic does not support write withoutResponse", + null + ) + ) + ) + return + } + writeType = BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE + } + + val result = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + val writeResult = gatt.writeCharacteristic(gattCharacteristic, value, writeType) + writeResult == BluetoothGatt.GATT_SUCCESS + } else { + @Suppress("DEPRECATION") + gattCharacteristic.value = value + gattCharacteristic.writeType = writeType + @Suppress("DEPRECATION") + gatt.writeCharacteristic(gattCharacteristic) + } + + if (!result) { + callback(Result.failure(FlutterError("Failed", "Failed to write", null))) + return + } + + if (writeType == BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT) { + // wait for the result + writeResultFutureList.add( + WriteResultFuture( + gatt.device.address, + gattCharacteristic.uuid.toString(), + gattCharacteristic.service.uuid.toString(), + callback + ) + ) + } else { + callback(Result.success(Unit)) + } + } catch (e: FlutterError) { + callback(Result.failure(e)) + } + } + + override fun onCharacteristicWrite( + gatt: BluetoothGatt?, + characteristic: BluetoothGattCharacteristic, + status: Int, + ) { + writeResultFutureList.filter { + it.deviceId == gatt?.device?.address && + it.characteristicId == characteristic.uuid.toString() && + it.serviceId == characteristic.service.uuid.toString() + }.forEach { + writeResultFutureList.remove(it) + if (status == BluetoothGatt.GATT_SUCCESS) { + it.result(Result.success(Unit)) + } else { + it.result( + Result.failure( + FlutterError( + status.toString(), + "Failed to write: (${status.parseGattErrorCode()})", + null, + ) + ) + ) + } + } + } + + + override fun requestMtu(deviceId: String, expectedMtu: Long, callback: (Result) -> Unit) { + try { + val gatt = deviceId.toBluetoothGatt() + gatt.requestMtu(expectedMtu.toInt()) + mtuResultFutureList.add(MtuResultFuture(deviceId, callback)) + } catch (e: FlutterError) { + callback(Result.failure(e)) + } + } + + override fun onMtuChanged(gatt: BluetoothGatt?, mtu: Int, status: Int) { + val deviceId = gatt?.device?.address ?: return + mtuResultFutureList.filter { it.deviceId == deviceId }.forEach { + mtuResultFutureList.remove(it) + if (status == BluetoothGatt.GATT_SUCCESS) { + it.result(Result.success(mtu.toLong())) + } else { + it.result(Result.failure(FlutterError("Failed to change MTU", null, null))) + } + } + } + + override fun isPaired(deviceId: String, callback: (Result) -> Unit) { + val remoteDevice: BluetoothDevice = + bluetoothManager.adapter.getRemoteDevice(deviceId) + callback(Result.success(remoteDevice.bondState == BOND_BONDED)) + } + + override fun pair(deviceId: String, callback: (Result) -> Unit) { + try { + val remoteDevice = bluetoothManager.adapter.getRemoteDevice(deviceId) + val pendingFuture = pairResultFutures.remove(deviceId) + + // If already paired, return and complete pending futures + if (remoteDevice.bondState == BOND_BONDED) { + pendingFuture?.let { it(Result.success(true)) } + callback(Result.success(true)) + return + } + + // throw error if we already have a pending future + if (pendingFuture != null) { + callback( + Result.failure( + FlutterError( + "InProgress", + "Pairing already in progress", + null + ) + ) + ) + return + } + + // Make a Pair request and complete future from Pair Update intent + if (remoteDevice.createBond()) { + pairResultFutures[deviceId] = callback + } else { + callback(Result.failure(FlutterError("Failed", "Failed to pair", null))) + } + } catch (e: Exception) { + callback( + Result.failure( + FlutterError("Failed", e.toString(), null) + ) + ) + } + + } + + override fun unPair(deviceId: String) { + val remoteDevice: BluetoothDevice = + bluetoothManager.adapter.getRemoteDevice(deviceId) + if (remoteDevice.bondState == BOND_BONDED) { + remoteDevice.removeBond() + } + } + + override fun getSystemDevices( + withServices: List, + callback: (Result>) -> Unit, + ) { + var devices: List = + bluetoothManager.getConnectedDevices(BluetoothProfile.GATT) + if (withServices.isNotEmpty()) { + devices = filterDevicesByServices(devices, withServices) + } + callback( + Result.success( + devices.map { + UniversalBleScanResult( + name = it.name, + deviceId = it.address, + isPaired = it.bondState == BOND_BONDED, + manufacturerDataList = null, + rssi = null, + ) + } + ) + ) + } + + private fun filterDevicesByServices( + devices: List, + withServices: List, + ): List { + // If all devices have cached services + if (devices.all { cachedServicesMap[it.address] != null }) { + return devices.filter { device -> + cachedServicesMap[device.address]?.any { uuid -> withServices.contains(uuid) } == true + } + } + + // Else discover services off already connected devices + val latch = CountDownLatch(devices.size) + val resultMap = mutableMapOf() + + devices.forEach { device -> + discoverServicesOffAlreadyConnectedDevice(device) { uuids -> + resultMap[device.address] = + uuids?.any { uuid -> withServices.contains(uuid) } == true + latch.countDown() + } + } + + try { + val timeout = (devices.size * 2).toLong() + latch.await(timeout, TimeUnit.SECONDS) + } catch (e: InterruptedException) { + Thread.currentThread().interrupt() + } + + return devices.filter { resultMap[it.address] == true } + } + + private fun discoverServicesOffAlreadyConnectedDevice( + device: BluetoothDevice, + callback: (List?) -> Unit, + ) { + // Check if already cached + cachedServicesMap[device.address]?.let { + callback(it) + return + } + + // To avoid duplicate callback + var isUpdated = false + fun updateCallback(uuids: List?) { + if (isUpdated) return + callback(uuids) + isUpdated = true + } + + // If its a known gatt, just discover services + device.address.findGatt()?.let { gatt -> + gatt.services?.let { services -> + updateCallback(services.map { service -> service.uuid.toString() }) + return + } + + if (gatt.discoverServices()) { + discoverServicesFutureList.add( + DiscoverServicesFuture(device.address) { uuids: Result> -> + if (uuids.isSuccess) { + updateCallback(uuids.getOrNull()?.map { it.uuid }) + } else { + updateCallback(null) + } + } + ) + return + } + } + + // Else connect to Gatt, discover services, then disconnect + val callbackHandler = object : BluetoothGattCallback() { + override fun onConnectionStateChange(gatt: BluetoothGatt?, status: Int, newState: Int) { + if (status == BluetoothGatt.GATT_SUCCESS && newState == BluetoothGatt.STATE_CONNECTED) { + if (gatt?.discoverServices() != true) { + updateCallback(null) + if (!device.address.isKnownGatt()) { + gatt?.disconnect() + } + } + } else { + updateCallback(null) + } + } + + override fun onServicesDiscovered(gatt: BluetoothGatt?, status: Int) { + if (status == BluetoothGatt.GATT_SUCCESS) { + val uuids = gatt?.services?.map { it.uuid.toString() } + if (uuids != null) { + setCachedServices(device.address, uuids) + } + updateCallback(uuids) + } + if (!device.address.isKnownGatt()) { + gatt?.disconnect() + } + } + } + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + device.connectGatt(context, false, callbackHandler, BluetoothDevice.TRANSPORT_LE) + } else { + device.connectGatt(context, false, callbackHandler) + } + } + + private fun cleanConnection(gatt: BluetoothGatt) { + gatt.removeCache() + gatt.disconnect() + + readResultFutureList.removeAll { + if (it.deviceId == gatt.device.address) { + it.result(Result.failure(DeviceDisconnectedError)) + true + } else { + false + } + } + writeResultFutureList.removeAll { + if (it.deviceId == gatt.device.address) { + it.result(Result.failure(DeviceDisconnectedError)) + true + } else { + false + } + } + subscriptionResultFutureList.removeAll { + if (it.deviceId == gatt.device.address) { + it.result(Result.failure(DeviceDisconnectedError)) + true + } else { + false + } + } + mtuResultFutureList.removeAll { + if (it.deviceId == gatt.device.address) { + it.result(Result.failure(DeviceDisconnectedError)) + true + } else { + false + } + } + discoverServicesFutureList.removeAll { + if (it.deviceId == gatt.device.address) { + it.result(Result.failure(DeviceDisconnectedError)) + true + } else { + false + } + } + } + + private fun onBondStateUpdate(deviceId: String, bonded: Boolean, error: String? = null) { + val future = pairResultFutures.remove(deviceId) + future?.let { it(Result.success(bonded)) } + mainThreadHandler?.post { + callbackChannel?.onPairStateChange(deviceId, bonded, error) {} + } + } + + private val broadcastReceiver = object : BroadcastReceiver() { + override fun onReceive(context: Context, intent: Intent) { + if (intent.action == BluetoothAdapter.ACTION_STATE_CHANGED) { + mainThreadHandler?.post { + callbackChannel?.onAvailabilityChanged( + bluetoothManager.adapter?.state?.toAvailabilityState() + ?: AvailabilityState.Unknown.value + ) {} + } + } else if (intent.action == BluetoothDevice.ACTION_BOND_STATE_CHANGED) { + val device: BluetoothDevice? = + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + intent.getParcelableExtra( + BluetoothDevice.EXTRA_DEVICE, + BluetoothDevice::class.java + ) + } else { + @Suppress("DEPRECATION") + intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE) + } + if (device == null) { + Log.e(TAG, "No device found in ACTION_BOND_STATE_CHANGED intent") + return + } + // get pairing failed error + when (intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, BluetoothDevice.ERROR)) { + BluetoothDevice.BOND_BONDING -> { + Log.v(TAG, "${device.address} BOND_BONDING") + } + + BluetoothDevice.BOND_BONDED -> { + onBondStateUpdate(device.address, true) + } + + BluetoothDevice.ERROR -> { + onBondStateUpdate(device.address, false, "Failed to Pair") + } + + BluetoothDevice.BOND_NONE -> { + Log.e(TAG, "${device.address} BOND_NONE") + onBondStateUpdate(device.address, false) + } + } + } + } + } + + + private val scanCallback = object : ScanCallback() { + override fun onScanFailed(errorCode: Int) { + Log.e(TAG, "OnScanFailed: ${errorCode.parseScanErrorMessage()}") + } + + override fun onScanResult(callbackType: Int, result: ScanResult) { + + // Log.v(TAG, "onScanResult: $result") + var serviceUuids: Array = arrayOf() + result.device.uuids?.forEach { + serviceUuids += it.uuid + } + result.scanRecord?.serviceUuids?.forEach { + if (!serviceUuids.contains(it.uuid)) { + serviceUuids += it.uuid + } + } + + val name = result.device.name + val manufacturerDataList = result.manufacturerDataList + + if (!universalBleFilterUtil.filterDevice( + name, + manufacturerDataList, + serviceUuids + ) + ) return + + + mainThreadHandler?.post { + callbackChannel?.onScanResult( + UniversalBleScanResult( + name = result.device.name, + deviceId = result.device.address, + isPaired = result.device.bondState == BOND_BONDED, + manufacturerDataList = manufacturerDataList, + rssi = result.rssi.toLong(), + services = serviceUuids.map { it.toString() }.toList() + ) + ) {} + } + } + + override fun onBatchScanResults(results: MutableList?) { + Log.v(TAG, "onBatchScanResults: $results") + } + } + + + override fun onConnectionStateChange(gatt: BluetoothGatt, status: Int, newState: Int) { + Log.d( + TAG, + "onConnectionStateChange-> Status: $status ${status.parseHciErrorCode()}, NewState: $newState" + ) + + if (newState == BluetoothGatt.STATE_CONNECTED) { + mainThreadHandler?.post { + callbackChannel?.onConnectionChanged( + gatt.device.address, true, status.parseHciErrorCode() + ) {} + } + } else if (newState == BluetoothGatt.STATE_DISCONNECTED) { + cleanConnection(gatt) + mainThreadHandler?.post { + callbackChannel?.onConnectionChanged( + gatt.device.address, false, status.parseHciErrorCode() + ) {} + } + Log.d(TAG, "Closing gatt for ${gatt.device.name}") + gatt.close() + } + } + + override fun onCharacteristicChanged( + gatt: BluetoothGatt, + characteristic: BluetoothGattCharacteristic, + value: ByteArray, + ) { + mainThreadHandler?.post { + callbackChannel?.onValueChanged( + deviceIdArg = gatt.device.address, + characteristicIdArg = characteristic.uuid.toString(), + valueArg = value + ) {} + } + } + + override fun onDescriptorWrite( + gatt: BluetoothGatt?, + descriptor: BluetoothGattDescriptor?, + status: Int, + ) { + super.onDescriptorWrite(gatt, descriptor, status) + if (descriptor?.uuid.toString() == ccdCharacteristic.toString()) { + val char: String? = descriptor?.characteristic?.uuid?.toString() + val service: String? = descriptor?.characteristic?.service?.uuid?.toString() + val deviceId: String? = gatt?.device?.address; + if (deviceId != null && char != null && service != null) { + updateSubscriptionState(deviceId, char, service, status) + } + } + } + + private fun updateSubscriptionState( + deviceId: String, + characteristic: String, + service: String, + status: Int, + ) { + subscriptionResultFutureList.filter { + it.deviceId == deviceId && + it.characteristicId == characteristic && + it.serviceId == service + }.forEach { + subscriptionResultFutureList.remove(it) + val error: String? = status.parseGattErrorCode() + if (error != null) { + it.result( + Result.failure( + FlutterError( + status.toString(), + "Failed to update subscription state: $error", + null, + ) + ) + ) + } else { + it.result(Result.success(Unit)) + } + } + } + + private fun isBluetoothAvailable(): Boolean { + return bluetoothManager.adapter.isEnabled + } + + private fun setCachedServices(deviceId: String, services: List) { + val cachedServicesSharedPref = context.getSharedPreferences( + "com.navideck.universal_ble.services", + Context.MODE_PRIVATE + ) + cachedServicesSharedPref.edit().putStringSet(deviceId, services.toSet()).apply() + cachedServicesMap[deviceId] = services + } + + private fun getCachedServicesMap(): Map> { + val cachedServicesSharedPref = context.getSharedPreferences( + "com.navideck.universal_ble.services", + Context.MODE_PRIVATE + ) + return cachedServicesSharedPref.all.mapValues { (_, value) -> + (value as? Set<*>)?.map { it.toString() } ?: emptyList() + } + } + + /// Depreciated Members, ( Requires to support older android devices ) + @Suppress("OVERRIDE_DEPRECATION", "DEPRECATION") + override fun onCharacteristicRead( + gatt: BluetoothGatt, + characteristic: BluetoothGattCharacteristic, + status: Int, + ) { + onCharacteristicRead(gatt, characteristic, characteristic.value, status) + } + + @Suppress("OVERRIDE_DEPRECATION", "DEPRECATION") + override fun onCharacteristicChanged( + gatt: BluetoothGatt, + characteristic: BluetoothGattCharacteristic, + ) { + onCharacteristicChanged(gatt, characteristic, characteristic.value) + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?): Boolean { + if (requestCode == bluetoothEnableRequestCode) { + val future = bluetoothEnableRequestFuture ?: return false + future(Result.success(resultCode == Activity.RESULT_OK)) + bluetoothEnableRequestFuture = null + return true + } else if (requestCode == bluetoothDisableRequestCode) { + val future = bluetoothDisableRequestFuture ?: return false + future(Result.success(resultCode == Activity.RESULT_OK)) + bluetoothDisableRequestFuture = null + return true + } + return false + } + + override fun onAttachedToActivity(binding: ActivityPluginBinding) { + activity = binding.activity + binding.addActivityResultListener(this) + } + + override fun onDetachedFromActivity() { + activity = null + } + + override fun onDetachedFromActivityForConfigChanges() {} + override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) {} +} \ No newline at end of file diff --git a/universal_ble/android/src/test/kotlin/com/navideck/universal_ble/UniversalBlePluginTest.kt b/universal_ble/android/src/test/kotlin/com/navideck/universal_ble/UniversalBlePluginTest.kt new file mode 100644 index 000000000..20401439c --- /dev/null +++ b/universal_ble/android/src/test/kotlin/com/navideck/universal_ble/UniversalBlePluginTest.kt @@ -0,0 +1,27 @@ +package com.navideck.universal_ble + +import io.flutter.plugin.common.MethodCall +import io.flutter.plugin.common.MethodChannel +import kotlin.test.Test +import org.mockito.Mockito + +/* + * This demonstrates a simple unit test of the Kotlin portion of this plugin's implementation. + * + * Once you have built the plugin's example app, you can run these tests from the command + * line by running `./gradlew testDebugUnitTest` in the `example/android/` directory, or + * you can run them directly from IDEs that support JUnit such as Android Studio. + */ + +internal class UniversalBlePluginTest { + @Test + fun onMethodCall_getPlatformVersion_returnsExpectedValue() { + val plugin = UniversalBlePlugin() + + val call = MethodCall("getPlatformVersion", null) + val mockResult: MethodChannel.Result = Mockito.mock(MethodChannel.Result::class.java) + plugin.onMethodCall(call, mockResult) + + Mockito.verify(mockResult).success("Android " + android.os.Build.VERSION.RELEASE) + } +} diff --git a/universal_ble/darwin/.gitignore b/universal_ble/darwin/.gitignore new file mode 100644 index 000000000..0c885071e --- /dev/null +++ b/universal_ble/darwin/.gitignore @@ -0,0 +1,38 @@ +.idea/ +.vagrant/ +.sconsign.dblite +.svn/ + +.DS_Store +*.swp +profile + +DerivedData/ +build/ +GeneratedPluginRegistrant.h +GeneratedPluginRegistrant.m + +.generated/ + +*.pbxuser +*.mode1v3 +*.mode2v3 +*.perspectivev3 + +!default.pbxuser +!default.mode1v3 +!default.mode2v3 +!default.perspectivev3 + +xcuserdata + +*.moved-aside + +*.pyc +*sync/ +Icon? +.tags* + +/Flutter/Generated.xcconfig +/Flutter/ephemeral/ +/Flutter/flutter_export_environment.sh \ No newline at end of file diff --git a/universal_ble/darwin/Assets/.gitkeep b/universal_ble/darwin/Assets/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/universal_ble/darwin/Classes/UniversalBle.g.swift b/universal_ble/darwin/Classes/UniversalBle.g.swift new file mode 100644 index 000000000..eb5424ea2 --- /dev/null +++ b/universal_ble/darwin/Classes/UniversalBle.g.swift @@ -0,0 +1,729 @@ +// Autogenerated from Pigeon (v22.6.1), do not edit directly. +// See also: https://pub.dev/packages/pigeon + +import Foundation + +#if os(iOS) + import Flutter +#elseif os(macOS) + import FlutterMacOS +#else + #error("Unsupported platform.") +#endif + +/// Error class for passing custom error details to Dart side. +final class PigeonError: Error { + let code: String + let message: String? + let details: Any? + + init(code: String, message: String?, details: Any?) { + self.code = code + self.message = message + self.details = details + } + + var localizedDescription: String { + return + "PigeonError(code: \(code), message: \(message ?? ""), details: \(details ?? "")" + } +} + +private func wrapResult(_ result: Any?) -> [Any?] { + return [result] +} + +private func wrapError(_ error: Any) -> [Any?] { + if let pigeonError = error as? PigeonError { + return [ + pigeonError.code, + pigeonError.message, + pigeonError.details, + ] + } + if let flutterError = error as? FlutterError { + return [ + flutterError.code, + flutterError.message, + flutterError.details, + ] + } + return [ + "\(error)", + "\(type(of: error))", + "Stacktrace: \(Thread.callStackSymbols)", + ] +} + +private func createConnectionError(withChannelName channelName: String) -> PigeonError { + return PigeonError(code: "channel-error", message: "Unable to establish connection on channel: '\(channelName)'.", details: "") +} + +private func isNullish(_ value: Any?) -> Bool { + return value is NSNull || value == nil +} + +private func nilOrValue(_ value: Any?) -> T? { + if value is NSNull { return nil } + return value as! T? +} + +/// Generated class from Pigeon that represents data sent in messages. +struct UniversalBleScanResult { + var deviceId: String + var name: String? = nil + var isPaired: Bool? = nil + var rssi: Int64? = nil + var manufacturerDataList: [UniversalManufacturerData]? = nil + var services: [String]? = nil + + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> UniversalBleScanResult? { + let deviceId = pigeonVar_list[0] as! String + let name: String? = nilOrValue(pigeonVar_list[1]) + let isPaired: Bool? = nilOrValue(pigeonVar_list[2]) + let rssi: Int64? = nilOrValue(pigeonVar_list[3]) + let manufacturerDataList: [UniversalManufacturerData]? = nilOrValue(pigeonVar_list[4]) + let services: [String]? = nilOrValue(pigeonVar_list[5]) + + return UniversalBleScanResult( + deviceId: deviceId, + name: name, + isPaired: isPaired, + rssi: rssi, + manufacturerDataList: manufacturerDataList, + services: services + ) + } + func toList() -> [Any?] { + return [ + deviceId, + name, + isPaired, + rssi, + manufacturerDataList, + services, + ] + } +} + +/// Generated class from Pigeon that represents data sent in messages. +struct UniversalBleService { + var uuid: String + var characteristics: [UniversalBleCharacteristic]? = nil + + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> UniversalBleService? { + let uuid = pigeonVar_list[0] as! String + let characteristics: [UniversalBleCharacteristic]? = nilOrValue(pigeonVar_list[1]) + + return UniversalBleService( + uuid: uuid, + characteristics: characteristics + ) + } + func toList() -> [Any?] { + return [ + uuid, + characteristics, + ] + } +} + +/// Generated class from Pigeon that represents data sent in messages. +struct UniversalBleCharacteristic { + var uuid: String + var properties: [Int64] + + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> UniversalBleCharacteristic? { + let uuid = pigeonVar_list[0] as! String + let properties = pigeonVar_list[1] as! [Int64] + + return UniversalBleCharacteristic( + uuid: uuid, + properties: properties + ) + } + func toList() -> [Any?] { + return [ + uuid, + properties, + ] + } +} + +/// Scan Filters +/// +/// Generated class from Pigeon that represents data sent in messages. +struct UniversalScanFilter { + var withServices: [String] + var withNamePrefix: [String] + var withManufacturerData: [UniversalManufacturerDataFilter] + + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> UniversalScanFilter? { + let withServices = pigeonVar_list[0] as! [String] + let withNamePrefix = pigeonVar_list[1] as! [String] + let withManufacturerData = pigeonVar_list[2] as! [UniversalManufacturerDataFilter] + + return UniversalScanFilter( + withServices: withServices, + withNamePrefix: withNamePrefix, + withManufacturerData: withManufacturerData + ) + } + func toList() -> [Any?] { + return [ + withServices, + withNamePrefix, + withManufacturerData, + ] + } +} + +/// Generated class from Pigeon that represents data sent in messages. +struct UniversalManufacturerDataFilter { + var companyIdentifier: Int64 + var data: FlutterStandardTypedData? = nil + var mask: FlutterStandardTypedData? = nil + + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> UniversalManufacturerDataFilter? { + let companyIdentifier = pigeonVar_list[0] as! Int64 + let data: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[1]) + let mask: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[2]) + + return UniversalManufacturerDataFilter( + companyIdentifier: companyIdentifier, + data: data, + mask: mask + ) + } + func toList() -> [Any?] { + return [ + companyIdentifier, + data, + mask, + ] + } +} + +/// Generated class from Pigeon that represents data sent in messages. +struct UniversalManufacturerData { + var companyIdentifier: Int64 + var data: FlutterStandardTypedData + + + + // swift-format-ignore: AlwaysUseLowerCamelCase + static func fromList(_ pigeonVar_list: [Any?]) -> UniversalManufacturerData? { + let companyIdentifier = pigeonVar_list[0] as! Int64 + let data = pigeonVar_list[1] as! FlutterStandardTypedData + + return UniversalManufacturerData( + companyIdentifier: companyIdentifier, + data: data + ) + } + func toList() -> [Any?] { + return [ + companyIdentifier, + data, + ] + } +} + +private class UniversalBlePigeonCodecReader: FlutterStandardReader { + override func readValue(ofType type: UInt8) -> Any? { + switch type { + case 129: + return UniversalBleScanResult.fromList(self.readValue() as! [Any?]) + case 130: + return UniversalBleService.fromList(self.readValue() as! [Any?]) + case 131: + return UniversalBleCharacteristic.fromList(self.readValue() as! [Any?]) + case 132: + return UniversalScanFilter.fromList(self.readValue() as! [Any?]) + case 133: + return UniversalManufacturerDataFilter.fromList(self.readValue() as! [Any?]) + case 134: + return UniversalManufacturerData.fromList(self.readValue() as! [Any?]) + default: + return super.readValue(ofType: type) + } + } +} + +private class UniversalBlePigeonCodecWriter: FlutterStandardWriter { + override func writeValue(_ value: Any) { + if let value = value as? UniversalBleScanResult { + super.writeByte(129) + super.writeValue(value.toList()) + } else if let value = value as? UniversalBleService { + super.writeByte(130) + super.writeValue(value.toList()) + } else if let value = value as? UniversalBleCharacteristic { + super.writeByte(131) + super.writeValue(value.toList()) + } else if let value = value as? UniversalScanFilter { + super.writeByte(132) + super.writeValue(value.toList()) + } else if let value = value as? UniversalManufacturerDataFilter { + super.writeByte(133) + super.writeValue(value.toList()) + } else if let value = value as? UniversalManufacturerData { + super.writeByte(134) + super.writeValue(value.toList()) + } else { + super.writeValue(value) + } + } +} + +private class UniversalBlePigeonCodecReaderWriter: FlutterStandardReaderWriter { + override func reader(with data: Data) -> FlutterStandardReader { + return UniversalBlePigeonCodecReader(data: data) + } + + override func writer(with data: NSMutableData) -> FlutterStandardWriter { + return UniversalBlePigeonCodecWriter(data: data) + } +} + +class UniversalBlePigeonCodec: FlutterStandardMessageCodec, @unchecked Sendable { + static let shared = UniversalBlePigeonCodec(readerWriter: UniversalBlePigeonCodecReaderWriter()) +} + + +/// Flutter -> Native +/// +/// Generated protocol from Pigeon that represents a handler of messages from Flutter. +protocol UniversalBlePlatformChannel { + func getBluetoothAvailabilityState(completion: @escaping (Result) -> Void) + func enableBluetooth(completion: @escaping (Result) -> Void) + func disableBluetooth(completion: @escaping (Result) -> Void) + func startScan(filter: UniversalScanFilter?) throws + func stopScan() throws + func connect(deviceId: String) throws + func disconnect(deviceId: String) throws + func setNotifiable(deviceId: String, service: String, characteristic: String, bleInputProperty: Int64, completion: @escaping (Result) -> Void) + func discoverServices(deviceId: String, completion: @escaping (Result<[UniversalBleService], Error>) -> Void) + func readValue(deviceId: String, service: String, characteristic: String, completion: @escaping (Result) -> Void) + func requestMtu(deviceId: String, expectedMtu: Int64, completion: @escaping (Result) -> Void) + func writeValue(deviceId: String, service: String, characteristic: String, value: FlutterStandardTypedData, bleOutputProperty: Int64, completion: @escaping (Result) -> Void) + func isPaired(deviceId: String, completion: @escaping (Result) -> Void) + func pair(deviceId: String, completion: @escaping (Result) -> Void) + func unPair(deviceId: String) throws + func getSystemDevices(withServices: [String], completion: @escaping (Result<[UniversalBleScanResult], Error>) -> Void) + func getConnectionState(deviceId: String) throws -> Int64 +} + +/// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. +class UniversalBlePlatformChannelSetup { + static var codec: FlutterStandardMessageCodec { UniversalBlePigeonCodec.shared } + /// Sets up an instance of `UniversalBlePlatformChannel` to handle messages through the `binaryMessenger`. + static func setUp(binaryMessenger: FlutterBinaryMessenger, api: UniversalBlePlatformChannel?, messageChannelSuffix: String = "") { + let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" + let getBluetoothAvailabilityStateChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getBluetoothAvailabilityState\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getBluetoothAvailabilityStateChannel.setMessageHandler { _, reply in + api.getBluetoothAvailabilityState { result in + switch result { + case .success(let res): + reply(wrapResult(res)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + getBluetoothAvailabilityStateChannel.setMessageHandler(nil) + } + let enableBluetoothChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.enableBluetooth\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + enableBluetoothChannel.setMessageHandler { _, reply in + api.enableBluetooth { result in + switch result { + case .success(let res): + reply(wrapResult(res)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + enableBluetoothChannel.setMessageHandler(nil) + } + let disableBluetoothChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disableBluetooth\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + disableBluetoothChannel.setMessageHandler { _, reply in + api.disableBluetooth { result in + switch result { + case .success(let res): + reply(wrapResult(res)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + disableBluetoothChannel.setMessageHandler(nil) + } + let startScanChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.startScan\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + startScanChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let filterArg: UniversalScanFilter? = nilOrValue(args[0]) + do { + try api.startScan(filter: filterArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + startScanChannel.setMessageHandler(nil) + } + let stopScanChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.stopScan\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + stopScanChannel.setMessageHandler { _, reply in + do { + try api.stopScan() + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + stopScanChannel.setMessageHandler(nil) + } + let connectChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.connect\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + connectChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + do { + try api.connect(deviceId: deviceIdArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + connectChannel.setMessageHandler(nil) + } + let disconnectChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disconnect\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + disconnectChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + do { + try api.disconnect(deviceId: deviceIdArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + disconnectChannel.setMessageHandler(nil) + } + let setNotifiableChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.setNotifiable\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + setNotifiableChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + let serviceArg = args[1] as! String + let characteristicArg = args[2] as! String + let bleInputPropertyArg = args[3] as! Int64 + api.setNotifiable(deviceId: deviceIdArg, service: serviceArg, characteristic: characteristicArg, bleInputProperty: bleInputPropertyArg) { result in + switch result { + case .success: + reply(wrapResult(nil)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + setNotifiableChannel.setMessageHandler(nil) + } + let discoverServicesChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.discoverServices\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + discoverServicesChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + api.discoverServices(deviceId: deviceIdArg) { result in + switch result { + case .success(let res): + reply(wrapResult(res)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + discoverServicesChannel.setMessageHandler(nil) + } + let readValueChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.readValue\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + readValueChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + let serviceArg = args[1] as! String + let characteristicArg = args[2] as! String + api.readValue(deviceId: deviceIdArg, service: serviceArg, characteristic: characteristicArg) { result in + switch result { + case .success(let res): + reply(wrapResult(res)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + readValueChannel.setMessageHandler(nil) + } + let requestMtuChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.requestMtu\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + requestMtuChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + let expectedMtuArg = args[1] as! Int64 + api.requestMtu(deviceId: deviceIdArg, expectedMtu: expectedMtuArg) { result in + switch result { + case .success(let res): + reply(wrapResult(res)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + requestMtuChannel.setMessageHandler(nil) + } + let writeValueChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.writeValue\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + writeValueChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + let serviceArg = args[1] as! String + let characteristicArg = args[2] as! String + let valueArg = args[3] as! FlutterStandardTypedData + let bleOutputPropertyArg = args[4] as! Int64 + api.writeValue(deviceId: deviceIdArg, service: serviceArg, characteristic: characteristicArg, value: valueArg, bleOutputProperty: bleOutputPropertyArg) { result in + switch result { + case .success: + reply(wrapResult(nil)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + writeValueChannel.setMessageHandler(nil) + } + let isPairedChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.isPaired\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + isPairedChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + api.isPaired(deviceId: deviceIdArg) { result in + switch result { + case .success(let res): + reply(wrapResult(res)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + isPairedChannel.setMessageHandler(nil) + } + let pairChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.pair\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + pairChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + api.pair(deviceId: deviceIdArg) { result in + switch result { + case .success(let res): + reply(wrapResult(res)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + pairChannel.setMessageHandler(nil) + } + let unPairChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.unPair\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + unPairChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + do { + try api.unPair(deviceId: deviceIdArg) + reply(wrapResult(nil)) + } catch { + reply(wrapError(error)) + } + } + } else { + unPairChannel.setMessageHandler(nil) + } + let getSystemDevicesChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getSystemDevices\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getSystemDevicesChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let withServicesArg = args[0] as! [String] + api.getSystemDevices(withServices: withServicesArg) { result in + switch result { + case .success(let res): + reply(wrapResult(res)) + case .failure(let error): + reply(wrapError(error)) + } + } + } + } else { + getSystemDevicesChannel.setMessageHandler(nil) + } + let getConnectionStateChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getConnectionState\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) + if let api = api { + getConnectionStateChannel.setMessageHandler { message, reply in + let args = message as! [Any?] + let deviceIdArg = args[0] as! String + do { + let result = try api.getConnectionState(deviceId: deviceIdArg) + reply(wrapResult(result)) + } catch { + reply(wrapError(error)) + } + } + } else { + getConnectionStateChannel.setMessageHandler(nil) + } + } +} +/// Native -> Flutter +/// +/// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift. +protocol UniversalBleCallbackChannelProtocol { + func onAvailabilityChanged(state stateArg: Int64, completion: @escaping (Result) -> Void) + func onPairStateChange(deviceId deviceIdArg: String, isPaired isPairedArg: Bool, error errorArg: String?, completion: @escaping (Result) -> Void) + func onScanResult(result resultArg: UniversalBleScanResult, completion: @escaping (Result) -> Void) + func onValueChanged(deviceId deviceIdArg: String, characteristicId characteristicIdArg: String, value valueArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) + func onConnectionChanged(deviceId deviceIdArg: String, connected connectedArg: Bool, error errorArg: String?, completion: @escaping (Result) -> Void) +} +class UniversalBleCallbackChannel: UniversalBleCallbackChannelProtocol { + private let binaryMessenger: FlutterBinaryMessenger + private let messageChannelSuffix: String + init(binaryMessenger: FlutterBinaryMessenger, messageChannelSuffix: String = "") { + self.binaryMessenger = binaryMessenger + self.messageChannelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" + } + var codec: UniversalBlePigeonCodec { + return UniversalBlePigeonCodec.shared + } + func onAvailabilityChanged(state stateArg: Int64, completion: @escaping (Result) -> Void) { + let channelName: String = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged\(messageChannelSuffix)" + let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec) + channel.sendMessage([stateArg] as [Any?]) { response in + guard let listResponse = response as? [Any?] else { + completion(.failure(createConnectionError(withChannelName: channelName))) + return + } + if listResponse.count > 1 { + let code: String = listResponse[0] as! String + let message: String? = nilOrValue(listResponse[1]) + let details: String? = nilOrValue(listResponse[2]) + completion(.failure(PigeonError(code: code, message: message, details: details))) + } else { + completion(.success(Void())) + } + } + } + func onPairStateChange(deviceId deviceIdArg: String, isPaired isPairedArg: Bool, error errorArg: String?, completion: @escaping (Result) -> Void) { + let channelName: String = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange\(messageChannelSuffix)" + let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec) + channel.sendMessage([deviceIdArg, isPairedArg, errorArg] as [Any?]) { response in + guard let listResponse = response as? [Any?] else { + completion(.failure(createConnectionError(withChannelName: channelName))) + return + } + if listResponse.count > 1 { + let code: String = listResponse[0] as! String + let message: String? = nilOrValue(listResponse[1]) + let details: String? = nilOrValue(listResponse[2]) + completion(.failure(PigeonError(code: code, message: message, details: details))) + } else { + completion(.success(Void())) + } + } + } + func onScanResult(result resultArg: UniversalBleScanResult, completion: @escaping (Result) -> Void) { + let channelName: String = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult\(messageChannelSuffix)" + let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec) + channel.sendMessage([resultArg] as [Any?]) { response in + guard let listResponse = response as? [Any?] else { + completion(.failure(createConnectionError(withChannelName: channelName))) + return + } + if listResponse.count > 1 { + let code: String = listResponse[0] as! String + let message: String? = nilOrValue(listResponse[1]) + let details: String? = nilOrValue(listResponse[2]) + completion(.failure(PigeonError(code: code, message: message, details: details))) + } else { + completion(.success(Void())) + } + } + } + func onValueChanged(deviceId deviceIdArg: String, characteristicId characteristicIdArg: String, value valueArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) { + let channelName: String = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged\(messageChannelSuffix)" + let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec) + channel.sendMessage([deviceIdArg, characteristicIdArg, valueArg] as [Any?]) { response in + guard let listResponse = response as? [Any?] else { + completion(.failure(createConnectionError(withChannelName: channelName))) + return + } + if listResponse.count > 1 { + let code: String = listResponse[0] as! String + let message: String? = nilOrValue(listResponse[1]) + let details: String? = nilOrValue(listResponse[2]) + completion(.failure(PigeonError(code: code, message: message, details: details))) + } else { + completion(.success(Void())) + } + } + } + func onConnectionChanged(deviceId deviceIdArg: String, connected connectedArg: Bool, error errorArg: String?, completion: @escaping (Result) -> Void) { + let channelName: String = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged\(messageChannelSuffix)" + let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec) + channel.sendMessage([deviceIdArg, connectedArg, errorArg] as [Any?]) { response in + guard let listResponse = response as? [Any?] else { + completion(.failure(createConnectionError(withChannelName: channelName))) + return + } + if listResponse.count > 1 { + let code: String = listResponse[0] as! String + let message: String? = nilOrValue(listResponse[1]) + let details: String? = nilOrValue(listResponse[2]) + completion(.failure(PigeonError(code: code, message: message, details: details))) + } else { + completion(.success(Void())) + } + } + } +} diff --git a/universal_ble/darwin/Classes/UniversalBleFilterUtil.swift b/universal_ble/darwin/Classes/UniversalBleFilterUtil.swift new file mode 100644 index 000000000..9994a8d1a --- /dev/null +++ b/universal_ble/darwin/Classes/UniversalBleFilterUtil.swift @@ -0,0 +1,107 @@ +// +// UniversalBleFilterUtil.swift +// universal_ble +// +// Created by Rohit Sangwan on 23/08/24. +// + +import CoreBluetooth +import Foundation + +public class UniversalBleFilterUtil { + var scanFilter: UniversalScanFilter? + var scanFilterServicesUUID: [CBUUID] = [] + + func filterDevice(name: String?, manufacturerData: UniversalManufacturerData?, services: [CBUUID]?) -> Bool { + guard let filter = scanFilter else { + return true + } + + let hasNamePrefixFilter = !filter.withNamePrefix.isEmpty + let hasServiceFilter = !filter.withServices.isEmpty + let hasManufacturerDataFilter = !filter.withManufacturerData.isEmpty + + // If there is no filter at all, then allow device + if !hasNamePrefixFilter && !hasServiceFilter && !hasManufacturerDataFilter { + return true + } + + // Else check one of the filter passes + return hasNamePrefixFilter && isNameMatchingFilters(filter: filter, name: name) || + hasServiceFilter && isServicesMatchingFilters(services: services) || + hasManufacturerDataFilter && isManufacturerDataMatchingFilters(scanFilter: filter, msd: manufacturerData) + } + + func isNameMatchingFilters(filter: UniversalScanFilter, name: String?) -> Bool { + let prefixFilters = filter.withNamePrefix.compactMap { $0 }.filter { !$0.isEmpty } + + guard !prefixFilters.isEmpty else { + return true + } + + guard let name = name, !name.isEmpty else { + return false + } + + return prefixFilters.contains { name.hasPrefix($0) } + } + + func isServicesMatchingFilters(services: [CBUUID]?) -> Bool { + let serviceFilters = Set(scanFilterServicesUUID.compactMap { $0 }) + + guard !serviceFilters.isEmpty else { + return true + } + + guard let services = services, !services.isEmpty else { + return false + } + + return !Set(services).isDisjoint(with: serviceFilters) + } + + func isManufacturerDataMatchingFilters(scanFilter: UniversalScanFilter, msd: UniversalManufacturerData?) -> Bool { + let filters = scanFilter.withManufacturerData.compactMap { $0 } + if filters.isEmpty { + return true + } + + guard let msd = msd else { + return false + } + + for filter in filters { + let companyIdentifier: Int64 = filter.companyIdentifier + if msd.companyIdentifier == companyIdentifier && findData(find: filter.data?.toData(), inData: msd.data.toData(), usingMask: filter.mask?.toData()) { + return true + } + } + return false + } + + func findData(find: Data?, inData data: Data, usingMask mask: Data?) -> Bool { + if let find = find { + // If mask is null, use a default mask of all 1s + let mask = mask ?? Data(repeating: 0xFF, count: find.count) + + // Ensure find & mask are same length + guard find.count == mask.count else { + return false + } + + for i in 0 ..< find.count { + // Perform bitwise AND with mask and then compare + if (find[i] & mask[i]) != (data[i] & mask[i]) { + return false + } + } + } + return true + } +} + +extension UniversalScanFilter { + var usesCustomFilters: Bool { + return !withManufacturerData.isEmpty || !withNamePrefix.isEmpty + } +} diff --git a/universal_ble/darwin/Classes/UniversalBleHelper.swift b/universal_ble/darwin/Classes/UniversalBleHelper.swift new file mode 100644 index 000000000..6eb35f4f7 --- /dev/null +++ b/universal_ble/darwin/Classes/UniversalBleHelper.swift @@ -0,0 +1,203 @@ +// +// UniversalBleHelper.swift +// universal_ble +// +// Created by Rohit Sangwan on 25/10/23. +// + +import CoreBluetooth +import Foundation +#if os(iOS) + import Flutter +#elseif os(OSX) + import FlutterMacOS +#endif + +enum BleInputProperty: Int { + case disabled = 0 + case notification = 1 + case indication = 2 +} + +enum BleOutputProperty: Int { + case withResponse = 0 + case withoutResponse = 1 +} + +enum BlueConnectionState: Int64 { + case connected = 0 + case disconnected = 1 + case connecting = 2 + case disconnecting = 3 +} + +enum AvailabilityState: Int64 { + case unknown = 0 + case resetting = 1 + case unsupported = 2 + case unauthorized = 3 + case poweredOff = 4 + case poweredOn = 5 +} + +enum CharacteristicProperty: Int64 { + case broadcast = 0 + case read = 1 + case writeWithoutResponse = 2 + case write = 3 + case notify = 4 + case indicate = 5 + case authenticatedSignedWrites = 6 + case extendedProperties = 7 +} + +extension CBCharacteristicProperties { + var toCharacteristicProperty: [Int64] { + var properties = [Int64]() + if contains(.broadcast) { + properties.append(CharacteristicProperty.broadcast.rawValue) + } + if contains(.read) { + properties.append(CharacteristicProperty.read.rawValue) + } + if contains(.writeWithoutResponse) { + properties.append(CharacteristicProperty.writeWithoutResponse.rawValue) + } + if contains(.write) { + properties.append(CharacteristicProperty.write.rawValue) + } + if contains(.notify) { + properties.append(CharacteristicProperty.notify.rawValue) + } + if contains(.indicate) { + properties.append(CharacteristicProperty.indicate.rawValue) + } + if contains(.authenticatedSignedWrites) { + properties.append(CharacteristicProperty.authenticatedSignedWrites.rawValue) + } + if contains(.extendedProperties) { + properties.append(CharacteristicProperty.extendedProperties.rawValue) + } + return properties + } +} + +extension CBManagerState { + func toAvailabilityState() -> AvailabilityState { + switch self { + case .unknown: + return AvailabilityState.unknown + case .resetting: + return AvailabilityState.resetting + case .unsupported: + return AvailabilityState.unsupported + case .unauthorized: + return AvailabilityState.unauthorized + case .poweredOff: + return AvailabilityState.poweredOff + case .poweredOn: + return AvailabilityState.poweredOn + @unknown default: + return AvailabilityState.unknown + } + } +} + +extension Error { + func toPigeonError() -> PigeonError { + let nsError = self as NSError + let errorCode: String = .init(nsError.code) + let errorDescription: String = nsError.localizedDescription + return PigeonError(code: errorCode, message: errorDescription, details: nil) + } +} + +public extension CBUUID { + var uuidStr: String { + uuidString.lowercased() + } +} + +public extension CBPeripheral { + // FIXME: https://forums.developer.apple.com/thread/84375 + var uuid: UUID { + value(forKey: "identifier") as! NSUUID as UUID + } + + func getCharacteristic(_ characteristic: String, of service: String) -> CBCharacteristic? { + let GSS_SUFFIX = "0000-1000-8000-00805f9b34fb" + let s = services?.first { + $0.uuid.uuidStr.lowercased() == service.lowercased() || service.lowercased() == "0000\($0.uuid.uuidStr)-\(GSS_SUFFIX)".lowercased() + } + let c = s?.characteristics?.first { + $0.uuid.uuidStr.lowercased() == characteristic.lowercased() || characteristic.lowercased() == "0000\($0.uuid.uuidStr)-\(GSS_SUFFIX)".lowercased() + } + return c + } + + func setNotifiable(_ bleInputProperty: String, for characteristic: String, of service: String) { + guard let characteristic = getCharacteristic(characteristic, of: service) else { + return + } + setNotifyValue(bleInputProperty != "disabled", for: characteristic) + } +} + +extension FlutterStandardTypedData { + func toData() -> Data { + return Data(data) + } +} + +// Future classes +class CharacteristicReadFuture { + let deviceId: String + let characteristicId: String + let serviceId: String? + let result: (Result) -> Void + + init(deviceId: String, characteristicId: String, serviceId: String?, result: @escaping (Result) -> Void) { + self.deviceId = deviceId + self.characteristicId = characteristicId + self.serviceId = serviceId + self.result = result + } +} + +class CharacteristicWriteFuture { + let deviceId: String + let characteristicId: String + let serviceId: String? + let result: (Result) -> Void + + init(deviceId: String, characteristicId: String, serviceId: String?, result: @escaping (Result) -> Void) { + self.deviceId = deviceId + self.characteristicId = characteristicId + self.serviceId = serviceId + self.result = result + } +} + +class CharacteristicNotifyFuture { + let deviceId: String + let characteristicId: String + let serviceId: String? + let result: (Result) -> Void + + init(deviceId: String, characteristicId: String, serviceId: String?, result: @escaping (Result) -> Void) { + self.deviceId = deviceId + self.characteristicId = characteristicId + self.serviceId = serviceId + self.result = result + } +} + +class DiscoverServicesFuture { + let deviceId: String + let result: (Result<[UniversalBleService], Error>) -> Void + + init(deviceId: String, result: @escaping (Result<[UniversalBleService], Error>) -> Void) { + self.deviceId = deviceId + self.result = result + } +} diff --git a/universal_ble/darwin/Classes/UniversalBlePlugin.swift b/universal_ble/darwin/Classes/UniversalBlePlugin.swift new file mode 100644 index 000000000..3035cb879 --- /dev/null +++ b/universal_ble/darwin/Classes/UniversalBlePlugin.swift @@ -0,0 +1,501 @@ +import CoreBluetooth + +#if os(iOS) + import Flutter + import UIKit +#elseif os(OSX) + import Cocoa + import FlutterMacOS +#endif + +public class UniversalBlePlugin: NSObject, FlutterPlugin { + public static func register(with registrar: FlutterPluginRegistrar) { + var messenger: FlutterBinaryMessenger + #if os(iOS) + messenger = registrar.messenger() + #elseif os(macOS) + messenger = registrar.messenger + #endif + let callbackChannel = UniversalBleCallbackChannel(binaryMessenger: messenger) + let api = BleCentralDarwin(callbackChannel: callbackChannel) + UniversalBlePlatformChannelSetup.setUp(binaryMessenger: messenger, api: api) + } +} + +private var discoveredPeripherals = [String: CBPeripheral]() + +private class BleCentralDarwin: NSObject, UniversalBlePlatformChannel, CBCentralManagerDelegate, CBPeripheralDelegate { + var callbackChannel: UniversalBleCallbackChannel + private var universalBleFilterUtil = UniversalBleFilterUtil() + private lazy var manager: CBCentralManager = .init(delegate: self, queue: nil) + private var availabilityStateUpdateHandlers: [(Result) -> Void] = [] + private var discoveredServicesProgressMap: [String: [UniversalBleService]] = [:] + private var characteristicReadFutures = [CharacteristicReadFuture]() + private var characteristicWriteFutures = [CharacteristicWriteFuture]() + private var characteristicNotifyFutures = [CharacteristicNotifyFuture]() + private var discoverServicesFutures = [DiscoverServicesFuture]() + + init(callbackChannel: UniversalBleCallbackChannel) { + self.callbackChannel = callbackChannel + super.init() + } + + func getBluetoothAvailabilityState(completion: @escaping (Result) -> Void) { + if manager.state != .unknown { + completion(.success(manager.state.toAvailabilityState().rawValue)) + } else { + availabilityStateUpdateHandlers.append(completion) + _ = manager + } + } + + func enableBluetooth(completion: @escaping (Result) -> Void) { + completion(Result.failure(PigeonError(code: "NotSupported", message: nil, details: nil))) + } + + func disableBluetooth(completion: @escaping (Result) -> Void) { + completion(Result.failure(PigeonError(code: "NotSupported", message: nil, details: nil))) + } + + func startScan(filter: UniversalScanFilter?) throws { + // If filter has any other filter other than official one + let usesCustomFilters = filter?.usesCustomFilters ?? false + + // Apply services filter + var withServices: [CBUUID] = try filter?.withServices.compactMap { $0 }.toCBUUID() ?? [] + + if usesCustomFilters { + print("Using Custom Filters") + universalBleFilterUtil.scanFilter = filter + universalBleFilterUtil.scanFilterServicesUUID = withServices + withServices = [] + } else { + universalBleFilterUtil.scanFilter = nil + universalBleFilterUtil.scanFilterServicesUUID = [] + } + + let options = [CBCentralManagerScanOptionAllowDuplicatesKey: true] + + manager.scanForPeripherals(withServices: withServices, options: options) + } + + func stopScan() throws { + manager.stopScan() + } + + func connect(deviceId: String) throws { + let peripheral = try deviceId.getPeripheral(manager: manager) + peripheral.delegate = self + manager.connect(peripheral) + } + + func disconnect(deviceId: String) throws { + let peripheral = try deviceId.getPeripheral(manager: manager) + if peripheral.state != CBPeripheralState.disconnected { + manager.cancelPeripheralConnection(peripheral) + } + cleanUpConnection(deviceId: deviceId) + } + + func getConnectionState(deviceId: String) throws -> Int64 { + let peripheral = try deviceId.getPeripheral(manager: manager) + switch peripheral.state { + case .connecting: + return BlueConnectionState.connecting.rawValue + case .connected: + return BlueConnectionState.connected.rawValue + case .disconnecting: + return BlueConnectionState.disconnecting.rawValue + case .disconnected: + return BlueConnectionState.disconnected.rawValue + @unknown default: + fatalError() + } + } + + func cleanUpConnection(deviceId: String) { + characteristicReadFutures.removeAll { future in + if future.deviceId == deviceId { + future.result( + Result.failure(PigeonError(code: "DeviceDisconnected", message: "Device Disconnected", details: nil)) + ) + return true + } + return false + } + characteristicWriteFutures.removeAll { future in + if future.deviceId == deviceId { + future.result( + Result.failure(PigeonError(code: "DeviceDisconnected", message: "Device Disconnected", details: nil)) + ) + return true + } + return false + } + characteristicNotifyFutures.removeAll { future in + if future.deviceId == deviceId { + future.result( + Result.failure(PigeonError(code: "DeviceDisconnected", message: "Device Disconnected", details: nil)) + ) + return true + } + return false + } + discoverServicesFutures.removeAll { future in + if future.deviceId == deviceId { + future.result( + Result.failure(PigeonError(code: "DeviceDisconnected", message: "Device Disconnected", details: nil)) + ) + return true + } + return false + } + discoveredServicesProgressMap[deviceId] = nil + } + + func discoverServices(deviceId: String, completion: @escaping (Result<[UniversalBleService], Error>) -> Void) { + guard let peripheral = deviceId.findPeripheral(manager: manager) else { + completion( + Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil)) + ) + return + } + + if discoveredServicesProgressMap[deviceId] != nil { + print("Services discovery already in progress for :\(deviceId), waiting for completion.") + discoverServicesFutures.append(DiscoverServicesFuture(deviceId: deviceId, result: completion)) + return + } + + if let cachedServices = peripheral.services { + // If services already discovered no need to discover again + if !cachedServices.isEmpty { + // print("Services already cached for this peripheral") + discoverServicesFutures.append(DiscoverServicesFuture(deviceId: deviceId, result: completion)) + self.peripheral(peripheral, didDiscoverServices: nil) + return + } + } + + peripheral.discoverServices(nil) + discoverServicesFutures.append(DiscoverServicesFuture(deviceId: deviceId, result: completion)) + } + + private func onServicesDiscovered(deviceId: String, services: [UniversalBleService]) { + discoverServicesFutures.removeAll { future in + if future.deviceId == deviceId { + future.result(Result.success(services)) + return true + } + return false + } + } + + func setNotifiable(deviceId: String, service: String, characteristic: String, bleInputProperty: Int64, completion: @escaping (Result) -> Void) { + guard let peripheral = deviceId.findPeripheral(manager: manager) else { + completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil))) + return + } + + guard let gattCharacteristic = peripheral.getCharacteristic(characteristic, of: service) else { + completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown characteristic:\(characteristic)", details: nil))) + return + } + + if bleInputProperty == BleInputProperty.notification.rawValue && !gattCharacteristic.properties.contains(.notify) { + completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support notify", details: nil))) + return + } + + if bleInputProperty == BleInputProperty.indication.rawValue && !gattCharacteristic.properties.contains(.indicate) { + completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support indicate", details: nil))) + return + } + + let shouldNotify = bleInputProperty != BleInputProperty.disabled.rawValue + peripheral.setNotifyValue(shouldNotify, for: gattCharacteristic) + characteristicNotifyFutures.append(CharacteristicNotifyFuture(deviceId: deviceId, characteristicId: gattCharacteristic.uuid.uuidStr, serviceId: gattCharacteristic.service?.uuid.uuidStr, result: completion)) + } + + func readValue(deviceId: String, service: String, characteristic: String, completion: @escaping (Result) -> Void) { + guard let peripheral = deviceId.findPeripheral(manager: manager) else { + completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil))) + return + } + guard let gattCharacteristic = peripheral.getCharacteristic(characteristic, of: service) else { + completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown characteristic:\(characteristic)", details: nil))) + return + } + if !gattCharacteristic.properties.contains(.read) { + completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support read", details: nil))) + return + } + peripheral.readValue(for: gattCharacteristic) + characteristicReadFutures.append(CharacteristicReadFuture(deviceId: deviceId, characteristicId: gattCharacteristic.uuid.uuidStr, serviceId: gattCharacteristic.service?.uuid.uuidStr, result: completion)) + } + + func writeValue(deviceId: String, service: String, characteristic: String, value: FlutterStandardTypedData, bleOutputProperty: Int64, completion: @escaping (Result) -> Void) { + guard let peripheral = deviceId.findPeripheral(manager: manager) else { + completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil))) + return + } + guard let gattCharacteristic = peripheral.getCharacteristic(characteristic, of: service) else { + completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown characteristic:\(characteristic)", details: nil))) + return + } + + let type = bleOutputProperty == BleOutputProperty.withoutResponse.rawValue ? CBCharacteristicWriteType.withoutResponse : CBCharacteristicWriteType.withResponse + + if type == CBCharacteristicWriteType.withResponse { + if !gattCharacteristic.properties.contains(.write) { + completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support write withResponse", details: nil))) + return + } + } else if type == CBCharacteristicWriteType.withoutResponse { + if !gattCharacteristic.properties.contains(.writeWithoutResponse) { + completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support write withoutResponse", details: nil))) + return + } + } + peripheral.writeValue(value.data, for: gattCharacteristic, type: type) + + if type == CBCharacteristicWriteType.withResponse { + // Wait for future response + characteristicWriteFutures.append(CharacteristicWriteFuture(deviceId: deviceId, characteristicId: gattCharacteristic.uuid.uuidStr, serviceId: gattCharacteristic.service?.uuid.uuidStr, result: completion)) + } else { + completion(Result.success({}())) + } + } + + func requestMtu(deviceId: String, expectedMtu _: Int64, completion: @escaping (Result) -> Void) { + guard let peripheral = deviceId.findPeripheral(manager: manager) else { + completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil))) + return + } + let mtu = peripheral.maximumWriteValueLength(for: CBCharacteristicWriteType.withoutResponse) + let GATT_HEADER_LENGTH = 3 + let mtuResult = Int64(mtu + GATT_HEADER_LENGTH) + completion(Result.success(mtuResult)) + } + + func isPaired(deviceId _: String, completion: @escaping (Result) -> Void) { + completion(Result.failure(PigeonError(code: "NotSupported", message: nil, details: nil))) + } + + func pair(deviceId _: String, completion: @escaping (Result) -> Void) { + completion(Result.failure(PigeonError(code: "Implemented in Dart", message: nil, details: nil))) + } + + func unPair(deviceId _: String) throws { + throw PigeonError(code: "NotSupported", message: nil, details: nil) + } + + func getSystemDevices(withServices: [String], completion: @escaping (Result<[UniversalBleScanResult], Error>) -> Void) { + var servicesFilter = withServices + if servicesFilter.isEmpty { + print("No services filter was set for getting system connected devices. Using default services...") + + // Add several generic services + servicesFilter = ["1800", "1801", "180A", "180D", "1810", "181B", "1808", "181D", "1816", "1814", "181A", "1802", "1803", "1804", "1815", "1805", "1807", "1806", "1848", "185E", "180F", "1812", "180E", "1813"] + } + var filterCBUUID = servicesFilter.map { CBUUID(string: $0) } + let bleDevices = manager.retrieveConnectedPeripherals(withServices: filterCBUUID) + bleDevices.forEach { $0.saveCache() } + completion(Result.success(bleDevices.map { + UniversalBleScanResult( + deviceId: $0.uuid.uuidString, + name: $0.name ?? "" + ) + })) + } + + func centralManagerDidUpdateState(_ central: CBCentralManager) { + let state = central.state.toAvailabilityState().rawValue + callbackChannel.onAvailabilityChanged(state: state) { _ in } + // Complete Pending state handler + availabilityStateUpdateHandlers.removeAll { handler in + handler(.success(state)) + return true + } + } + + public func centralManager(_: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String: Any], rssi RSSI: NSNumber) { + // Store the discovered peripheral using its UUID as the key + peripheral.saveCache() + + // Extract manufacturer data and service UUIDs from the advertisement data + let manufacturerData = advertisementData[CBAdvertisementDataManufacturerDataKey] as? Data + let services = (advertisementData[CBAdvertisementDataServiceUUIDsKey] as? [CBUUID]) + + var manufacturerDataList: [UniversalManufacturerData] = [] + var universalManufacturerData: UniversalManufacturerData? = nil + + if let msd = manufacturerData, msd.count > 2 { + let companyIdentifier = msd.prefix(2).withUnsafeBytes { $0.load(as: UInt16.self) } + let data = FlutterStandardTypedData(bytes: msd.suffix(from: 2)) + universalManufacturerData = UniversalManufacturerData(companyIdentifier: Int64(companyIdentifier), data: data) + manufacturerDataList.append(universalManufacturerData!) + } + + // Apply custom filters and return early if the peripheral doesn't match + if !universalBleFilterUtil.filterDevice(name: peripheral.name, manufacturerData: universalManufacturerData, services: services) { + return + } + + callbackChannel.onScanResult(result: UniversalBleScanResult( + deviceId: peripheral.uuid.uuidString, + name: peripheral.name, + isPaired: nil, + rssi: RSSI as? Int64, + manufacturerDataList: manufacturerDataList, + services: services?.map { $0.uuidStr } + )) { _ in } + } + + public func centralManager(_: CBCentralManager, didConnect peripheral: CBPeripheral) { + callbackChannel.onConnectionChanged(deviceId: peripheral.uuid.uuidString, connected: true, error: nil) { _ in } + } + + public func centralManager(_: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error _: Error?) { + callbackChannel.onConnectionChanged(deviceId: peripheral.uuid.uuidString, connected: false, error: nil) { _ in } + cleanUpConnection(deviceId: peripheral.uuid.uuidString) + } + + public func centralManager(_: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) { + callbackChannel.onConnectionChanged(deviceId: peripheral.uuid.uuidString, connected: false, error: error?.localizedDescription) { _ in } + cleanUpConnection(deviceId: peripheral.uuid.uuidString) + } + + public func peripheral(_ peripheral: CBPeripheral, didDiscoverServices _: Error?) { + let deviceId = peripheral.identifier.uuidString + guard let services = peripheral.services else { + onServicesDiscovered(deviceId: deviceId, services: []) + return + } + discoveredServicesProgressMap[deviceId] = services.map { UniversalBleService(uuid: $0.uuid.uuidString, characteristics: nil) } + for service in services { + if let cachedChar = service.characteristics { + if !cachedChar.isEmpty { + self.peripheral(peripheral, didDiscoverCharacteristicsFor: service, error: nil) + continue + } + } + peripheral.discoverCharacteristics(nil, for: service) + } + } + + public func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error _: Error?) { + let deviceId = peripheral.identifier.uuidString + var universalBleCharacteristicsList: [UniversalBleCharacteristic] = [] + for characteristic in service.characteristics ?? [] { + universalBleCharacteristicsList.append( + UniversalBleCharacteristic(uuid: characteristic.uuid.uuidString, properties: characteristic.properties.toCharacteristicProperty)) + } + // Update discoveredServicesProgressMap + if let index = discoveredServicesProgressMap[deviceId]?.firstIndex(where: { $0.uuid == service.uuid.uuidString }) { + discoveredServicesProgressMap[deviceId]?[index] = UniversalBleService(uuid: service.uuid.uuidString, characteristics: universalBleCharacteristicsList) + } + // Check if all services and their characteristics have been discovered + if discoveredServicesProgressMap[deviceId]?.allSatisfy({ $0.characteristics != nil }) ?? false { + onServicesDiscovered(deviceId: deviceId, services: discoveredServicesProgressMap[deviceId] ?? []) + discoveredServicesProgressMap[deviceId] = nil + } + } + + public func peripheral(_ peripheral: CBPeripheral, didWriteValueFor characteristic: CBCharacteristic, error: Error?) { + characteristicWriteFutures.removeAll { future in + if future.deviceId == peripheral.uuid.uuidString && future.characteristicId == characteristic.uuid.uuidStr && future.serviceId == characteristic.service?.uuid.uuidStr { + if let pigeonError = error?.toPigeonError() { + future.result(Result.failure(pigeonError)) + } else { + future.result(Result.success({}())) + } + return true + } + return false + } + } + + public func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateFor characteristic: CBCharacteristic, error: Error?) { + characteristicNotifyFutures.removeAll { future in + if future.deviceId == peripheral.uuid.uuidString && future.characteristicId == characteristic.uuid.uuidStr && future.serviceId == characteristic.service?.uuid.uuidStr { + if let pigeonError = error?.toPigeonError() { + future.result(Result.failure(pigeonError)) + } else { + future.result(Result.success({}())) + } + return true + } + return false + } + } + + public func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) { + // Update callbackChannel if notifying + if characteristic.isNotifying { + if let characteristicValue = characteristic.value { + callbackChannel.onValueChanged(deviceId: peripheral.uuid.uuidString, characteristicId: characteristic.uuid.uuidStr, value: FlutterStandardTypedData(bytes: characteristicValue)) { _ in } + } + } + + if characteristicReadFutures.count == 0 { + return + } + + // Update futures for readValue + characteristicReadFutures.removeAll { future in + if future.deviceId == peripheral.uuid.uuidString && future.characteristicId == characteristic.uuid.uuidStr && future.serviceId == characteristic.service?.uuid.uuidStr { + if let pigeonError = error?.toPigeonError() { + future.result(Result.failure(pigeonError)) + } else { + if let characteristicValue = characteristic.value { + future.result(Result.success(FlutterStandardTypedData(bytes: characteristicValue))) + } else { + future.result(Result.failure(PigeonError(code: "ReadFailed", message: "No value", details: nil))) + } + } + return true + } + return false + } + } +} + +extension CBPeripheral { + func saveCache(){ + discoveredPeripherals[self.uuid.uuidString] = self + } +} + +extension String { + func getPeripheral(manager: CBCentralManager) throws -> CBPeripheral { + guard let peripheral = findPeripheral(manager: manager) else { + throw PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil) + } + return peripheral + } + + func findPeripheral(manager: CBCentralManager) -> CBPeripheral? { + if let peripheral = discoveredPeripherals[self] { + return peripheral + } + if let uuid = UUID(uuidString: self) { + let peripherals = manager.retrievePeripherals(withIdentifiers: [uuid]) + if let peripheral = peripherals.first { + return peripheral + } + } + return nil + } +} + +extension [String] { + func toCBUUID() throws -> [CBUUID] { + return try compactMap { serviceUUID in + guard UUID(uuidString: serviceUUID) != nil else { + throw PigeonError(code: "IllegalArgument", message: "Invalid service UUID:\(serviceUUID)", details: nil) + } + return CBUUID(string: serviceUUID) + } + } +} diff --git a/universal_ble/darwin/universal_ble.podspec b/universal_ble/darwin/universal_ble.podspec new file mode 100644 index 000000000..bbae3557c --- /dev/null +++ b/universal_ble/darwin/universal_ble.podspec @@ -0,0 +1,25 @@ +# +# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. +# Run `pod lib lint universal_ble.podspec` to validate before publishing. +# +Pod::Spec.new do |s| + s.name = 'universal_ble' + s.version = '0.0.1' + s.summary = 'A new Flutter plugin project.' + s.description = <<-DESC +A new Flutter plugin project. + DESC + s.homepage = 'http://example.com' + s.license = { :file => '../LICENSE' } + s.author = { 'Your Company' => 'email@example.com' } + s.source = { :path => '.' } + s.source_files = 'Classes/**/*' + s.ios.dependency 'Flutter' + s.osx.dependency 'FlutterMacOS' + s.ios.deployment_target = '9.0' + s.osx.deployment_target = '10.12' + + # Flutter.framework does not contain a i386 slice. + s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } + s.swift_version = '5.0' +end diff --git a/universal_ble/example/.gitignore b/universal_ble/example/.gitignore new file mode 100644 index 000000000..29a5418f7 --- /dev/null +++ b/universal_ble/example/.gitignore @@ -0,0 +1,47 @@ +# Miscellaneous +*.class +*.log +*.pyc +*.swp +.DS_Store +.atom/ +.build/ +.buildlog/ +.history +.svn/ +.swiftpm/ +migrate_working_dir/ + +# IntelliJ related +*.iml +*.ipr +*.iws +.idea/ + +# The .vscode folder contains launch configuration and tasks you configure in +# VS Code which you may wish to be included in version control, so this line +# is commented out by default. +#.vscode/ + +# Flutter/Dart/Pub related +**/doc/api/ +**/ios/Flutter/.last_build_id +.dart_tool/ +.flutter-plugins +.flutter-plugins-dependencies +.packages +.pub-cache/ +.pub/ +/build/ + +# Symbolication related +app.*.symbols + +# Obfuscation related +app.*.map.json + +# Android Studio will place build artifacts here +/android/app/debug +/android/app/profile +/android/app/release +.metadata \ No newline at end of file diff --git a/universal_ble/example/README.md b/universal_ble/example/README.md new file mode 100644 index 000000000..d991addec --- /dev/null +++ b/universal_ble/example/README.md @@ -0,0 +1,3 @@ +# universal_ble_example + +Demonstrates how to use the universal_ble plugin. diff --git a/universal_ble/example/analysis_options.yaml b/universal_ble/example/analysis_options.yaml new file mode 100644 index 000000000..0d2902135 --- /dev/null +++ b/universal_ble/example/analysis_options.yaml @@ -0,0 +1,28 @@ +# This file configures the analyzer, which statically analyzes Dart code to +# check for errors, warnings, and lints. +# +# The issues identified by the analyzer are surfaced in the UI of Dart-enabled +# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be +# invoked from the command line by running `flutter analyze`. + +# The following line activates a set of recommended lints for Flutter apps, +# packages, and plugins designed to encourage good coding practices. +include: package:flutter_lints/flutter.yaml + +linter: + # The lint rules applied to this project can be customized in the + # section below to disable rules from the `package:flutter_lints/flutter.yaml` + # included above or to enable additional rules. A list of all available lints + # and their documentation is published at https://dart.dev/lints. + # + # Instead of disabling a lint rule for the entire project in the + # section below, it can also be suppressed for a single line of code + # or a specific dart file by using the `// ignore: name_of_lint` and + # `// ignore_for_file: name_of_lint` syntax on the line or in the file + # producing the lint. + rules: + # avoid_print: false # Uncomment to disable the `avoid_print` rule + # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + +# Additional information about this file can be found at +# https://dart.dev/guides/language/analysis-options diff --git a/universal_ble/example/android/.gitignore b/universal_ble/example/android/.gitignore new file mode 100644 index 000000000..6f568019d --- /dev/null +++ b/universal_ble/example/android/.gitignore @@ -0,0 +1,13 @@ +gradle-wrapper.jar +/.gradle +/captures/ +/gradlew +/gradlew.bat +/local.properties +GeneratedPluginRegistrant.java + +# Remember to never publicly share your keystore. +# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +key.properties +**/*.keystore +**/*.jks diff --git a/universal_ble/example/android/app/build.gradle b/universal_ble/example/android/app/build.gradle new file mode 100644 index 000000000..c3cbcfb18 --- /dev/null +++ b/universal_ble/example/android/app/build.gradle @@ -0,0 +1,65 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + +def localProperties = new Properties() +def localPropertiesFile = rootProject.file('local.properties') +if (localPropertiesFile.exists()) { + localPropertiesFile.withReader('UTF-8') { reader -> + localProperties.load(reader) + } +} + +def flutterVersionCode = localProperties.getProperty('flutter.versionCode') +if (flutterVersionCode == null) { + flutterVersionCode = '1' +} + +def flutterVersionName = localProperties.getProperty('flutter.versionName') +if (flutterVersionName == null) { + flutterVersionName = '1.0' +} + +android { + namespace "com.navideck.universal_ble_example" + compileSdkVersion 34 + ndkVersion flutter.ndkVersion + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = '1.8' + } + + sourceSets { + main.java.srcDirs += 'src/main/kotlin' + } + + defaultConfig { + applicationId "com.navideck.universal_ble_example" + // You can update the following values to match your application needs. + // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + minSdkVersion 21 + targetSdkVersion 34 + versionCode flutterVersionCode.toInteger() + versionName flutterVersionName + } + + buildTypes { + release { + // Signing with the debug keys for now, so `flutter run --release` works. + signingConfig signingConfigs.debug + } + } +} + +flutter { + source '../..' +} + +dependencies {} diff --git a/universal_ble/example/android/app/src/debug/AndroidManifest.xml b/universal_ble/example/android/app/src/debug/AndroidManifest.xml new file mode 100644 index 000000000..399f6981d --- /dev/null +++ b/universal_ble/example/android/app/src/debug/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/universal_ble/example/android/app/src/main/AndroidManifest.xml b/universal_ble/example/android/app/src/main/AndroidManifest.xml new file mode 100644 index 000000000..725af8803 --- /dev/null +++ b/universal_ble/example/android/app/src/main/AndroidManifest.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + diff --git a/universal_ble/example/android/app/src/main/kotlin/com/navideck/universal_ble_example/MainActivity.kt b/universal_ble/example/android/app/src/main/kotlin/com/navideck/universal_ble_example/MainActivity.kt new file mode 100644 index 000000000..cf1d44306 --- /dev/null +++ b/universal_ble/example/android/app/src/main/kotlin/com/navideck/universal_ble_example/MainActivity.kt @@ -0,0 +1,6 @@ +package com.navideck.universal_ble_example + +import io.flutter.embedding.android.FlutterActivity + +class MainActivity: FlutterActivity() { +} diff --git a/universal_ble/example/android/app/src/main/res/drawable-v21/launch_background.xml b/universal_ble/example/android/app/src/main/res/drawable-v21/launch_background.xml new file mode 100644 index 000000000..f74085f3f --- /dev/null +++ b/universal_ble/example/android/app/src/main/res/drawable-v21/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/universal_ble/example/android/app/src/main/res/drawable/launch_background.xml b/universal_ble/example/android/app/src/main/res/drawable/launch_background.xml new file mode 100644 index 000000000..304732f88 --- /dev/null +++ b/universal_ble/example/android/app/src/main/res/drawable/launch_background.xml @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/universal_ble/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/universal_ble/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db77bb4b7b0906d62b1847e87f15cdcacf6a4f29 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ literal 0 HcmV?d00001 diff --git a/universal_ble/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/universal_ble/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17987b79bb8a35cc66c3c1fd44f5a5526c1b78be GIT binary patch literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ literal 0 HcmV?d00001 diff --git a/universal_ble/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/universal_ble/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f1c8d34e7a88e3f88bea192c3a370d44689c3c GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof literal 0 HcmV?d00001 diff --git a/universal_ble/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/universal_ble/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6372eebdb28e45604e46eeda8dd24651419bc0 GIT binary patch literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` literal 0 HcmV?d00001 diff --git a/universal_ble/example/android/app/src/main/res/values-night/styles.xml b/universal_ble/example/android/app/src/main/res/values-night/styles.xml new file mode 100644 index 000000000..06952be74 --- /dev/null +++ b/universal_ble/example/android/app/src/main/res/values-night/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/universal_ble/example/android/app/src/main/res/values/styles.xml b/universal_ble/example/android/app/src/main/res/values/styles.xml new file mode 100644 index 000000000..cb1ef8805 --- /dev/null +++ b/universal_ble/example/android/app/src/main/res/values/styles.xml @@ -0,0 +1,18 @@ + + + + + + + diff --git a/universal_ble/example/android/app/src/profile/AndroidManifest.xml b/universal_ble/example/android/app/src/profile/AndroidManifest.xml new file mode 100644 index 000000000..399f6981d --- /dev/null +++ b/universal_ble/example/android/app/src/profile/AndroidManifest.xml @@ -0,0 +1,7 @@ + + + + diff --git a/universal_ble/example/android/build.gradle b/universal_ble/example/android/build.gradle new file mode 100644 index 000000000..bc157bd1a --- /dev/null +++ b/universal_ble/example/android/build.gradle @@ -0,0 +1,18 @@ +allprojects { + repositories { + google() + mavenCentral() + } +} + +rootProject.buildDir = '../build' +subprojects { + project.buildDir = "${rootProject.buildDir}/${project.name}" +} +subprojects { + project.evaluationDependsOn(':app') +} + +tasks.register("clean", Delete) { + delete rootProject.buildDir +} diff --git a/universal_ble/example/android/gradle.properties b/universal_ble/example/android/gradle.properties new file mode 100644 index 000000000..94adc3a3f --- /dev/null +++ b/universal_ble/example/android/gradle.properties @@ -0,0 +1,3 @@ +org.gradle.jvmargs=-Xmx1536M +android.useAndroidX=true +android.enableJetifier=true diff --git a/universal_ble/example/android/gradle/wrapper/gradle-wrapper.properties b/universal_ble/example/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 000000000..3c472b99c --- /dev/null +++ b/universal_ble/example/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip diff --git a/universal_ble/example/android/settings.gradle b/universal_ble/example/android/settings.gradle new file mode 100644 index 000000000..7d0644936 --- /dev/null +++ b/universal_ble/example/android/settings.gradle @@ -0,0 +1,25 @@ +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() + + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") + + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} + +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "7.3.0" apply false + id "org.jetbrains.kotlin.android" version "1.7.10" apply false +} + +include ":app" \ No newline at end of file diff --git a/universal_ble/example/ios/.gitignore b/universal_ble/example/ios/.gitignore new file mode 100644 index 000000000..7a7f9873a --- /dev/null +++ b/universal_ble/example/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/universal_ble/example/ios/Flutter/AppFrameworkInfo.plist b/universal_ble/example/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 000000000..7c5696400 --- /dev/null +++ b/universal_ble/example/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/universal_ble/example/ios/Flutter/Debug.xcconfig b/universal_ble/example/ios/Flutter/Debug.xcconfig new file mode 100644 index 000000000..ec97fc6f3 --- /dev/null +++ b/universal_ble/example/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/universal_ble/example/ios/Flutter/Release.xcconfig b/universal_ble/example/ios/Flutter/Release.xcconfig new file mode 100644 index 000000000..c4855bfe2 --- /dev/null +++ b/universal_ble/example/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/universal_ble/example/ios/Podfile b/universal_ble/example/ios/Podfile new file mode 100644 index 000000000..d97f17e22 --- /dev/null +++ b/universal_ble/example/ios/Podfile @@ -0,0 +1,44 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '12.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/universal_ble/example/ios/Podfile.lock b/universal_ble/example/ios/Podfile.lock new file mode 100644 index 000000000..1b112c7f7 --- /dev/null +++ b/universal_ble/example/ios/Podfile.lock @@ -0,0 +1,41 @@ +PODS: + - device_info_plus (0.0.1): + - Flutter + - Flutter (1.0.0) + - integration_test (0.0.1): + - Flutter + - permission_handler_apple (9.1.1): + - Flutter + - universal_ble (0.0.1): + - Flutter + - FlutterMacOS + +DEPENDENCIES: + - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) + - Flutter (from `Flutter`) + - integration_test (from `.symlinks/plugins/integration_test/ios`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - universal_ble (from `.symlinks/plugins/universal_ble/darwin`) + +EXTERNAL SOURCES: + device_info_plus: + :path: ".symlinks/plugins/device_info_plus/ios" + Flutter: + :path: Flutter + integration_test: + :path: ".symlinks/plugins/integration_test/ios" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + universal_ble: + :path: ".symlinks/plugins/universal_ble/darwin" + +SPEC CHECKSUMS: + device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6 + Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 + integration_test: 13825b8a9334a850581300559b8839134b124670 + permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6 + universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6 + +PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796 + +COCOAPODS: 1.15.2 diff --git a/universal_ble/example/ios/Runner.xcodeproj/project.pbxproj b/universal_ble/example/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 000000000..ee051a49e --- /dev/null +++ b/universal_ble/example/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,724 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 3C020DDC565FF8D37F3235C5 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E92536821956EA00892DD639 /* Pods_Runner.framework */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + B2742FE9E6C1C51A78D26865 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AB88605F389EEED340E5872 /* Pods_RunnerTests.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 0D9A3CA727A1375BDCCC70CF /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 30B9BF32CD25D1ECB8BB5DCA /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 411AF23EC127806AE083685B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + 4414252E2351EBDB7761F83A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 6CF659084054FE2807275A3A /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 9AB88605F389EEED340E5872 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A11EED44BE0324AD23055698 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + E92536821956EA00892DD639 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8EE4584064C335A1F66BB6D9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + B2742FE9E6C1C51A78D26865 /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3C020DDC565FF8D37F3235C5 /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 68033A1F47BF85C19A1ED513 /* Frameworks */ = { + isa = PBXGroup; + children = ( + E92536821956EA00892DD639 /* Pods_Runner.framework */, + 9AB88605F389EEED340E5872 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + FAF8A3758B0770B81319B3AE /* Pods */, + 68033A1F47BF85C19A1ED513 /* Frameworks */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; + FAF8A3758B0770B81319B3AE /* Pods */ = { + isa = PBXGroup; + children = ( + 30B9BF32CD25D1ECB8BB5DCA /* Pods-Runner.debug.xcconfig */, + 4414252E2351EBDB7761F83A /* Pods-Runner.release.xcconfig */, + A11EED44BE0324AD23055698 /* Pods-Runner.profile.xcconfig */, + 411AF23EC127806AE083685B /* Pods-RunnerTests.debug.xcconfig */, + 0D9A3CA727A1375BDCCC70CF /* Pods-RunnerTests.release.xcconfig */, + 6CF659084054FE2807275A3A /* Pods-RunnerTests.profile.xcconfig */, + ); + path = Pods; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 7E79F47357B64513A488AC3E /* [CP] Check Pods Manifest.lock */, + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + 8EE4584064C335A1F66BB6D9 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 3CE2E408302E9BF272A3BE07 /* [CP] Check Pods Manifest.lock */, + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + 2F5EDC3CC74E7431E4CB95DF /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 2F5EDC3CC74E7431E4CB95DF /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 3CE2E408302E9BF272A3BE07 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 7E79F47357B64513A488AC3E /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = QQAZR43YM7; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 411AF23EC127806AE083685B /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 0D9A3CA727A1375BDCCC70CF /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 6CF659084054FE2807275A3A /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = QQAZR43YM7; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = QQAZR43YM7; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..f9b0d7c5e --- /dev/null +++ b/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/universal_ble/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/universal_ble/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 000000000..8e3ca5dfe --- /dev/null +++ b/universal_ble/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/universal_ble/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/universal_ble/example/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..21a3cc14c --- /dev/null +++ b/universal_ble/example/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..f9b0d7c5e --- /dev/null +++ b/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/universal_ble/example/ios/Runner/AppDelegate.swift b/universal_ble/example/ios/Runner/AppDelegate.swift new file mode 100644 index 000000000..70693e4a8 --- /dev/null +++ b/universal_ble/example/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import UIKit +import Flutter + +@UIApplicationMain +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..d36b1fab2 --- /dev/null +++ b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 000000000..0bedcf2fd --- /dev/null +++ b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 000000000..89c2725b7 --- /dev/null +++ b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/universal_ble/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/universal_ble/example/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 000000000..f2e259c7c --- /dev/null +++ b/universal_ble/example/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/universal_ble/example/ios/Runner/Base.lproj/Main.storyboard b/universal_ble/example/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 000000000..f3c28516f --- /dev/null +++ b/universal_ble/example/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/universal_ble/example/ios/Runner/Info.plist b/universal_ble/example/ios/Runner/Info.plist new file mode 100644 index 000000000..308732553 --- /dev/null +++ b/universal_ble/example/ios/Runner/Info.plist @@ -0,0 +1,53 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + Universal BLE + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + universal_ble_example + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + NSBluetoothAlwaysUsageDescription + Discover Bluetooth devices + NSBluetoothPeripheralUsageDescription + Discover Bluetooth devices + + diff --git a/universal_ble/example/ios/Runner/Runner-Bridging-Header.h b/universal_ble/example/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 000000000..308a2a560 --- /dev/null +++ b/universal_ble/example/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/universal_ble/example/ios/RunnerTests/RunnerTests.swift b/universal_ble/example/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 000000000..344ed3e0c --- /dev/null +++ b/universal_ble/example/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,26 @@ +import Flutter +import UIKit +import XCTest + +@testable import universal_ble + +// This demonstrates a simple unit test of the Swift portion of this plugin's implementation. +// +// See https://developer.apple.com/documentation/xctest for more information about using XCTest. + +class RunnerTests: XCTestCase { + + func testGetPlatformVersion() { + let plugin = UniversalBlePlugin() + + let call = FlutterMethodCall(methodName: "getPlatformVersion", arguments: []) + + let resultExpectation = expectation(description: "result block must be called.") + plugin.handle(call) { result in + XCTAssertEqual(result as! String, "iOS " + UIDevice.current.systemVersion) + resultExpectation.fulfill() + } + waitForExpectations(timeout: 1) + } + +} diff --git a/universal_ble/example/lib/data/mock_universal_ble.dart b/universal_ble/example/lib/data/mock_universal_ble.dart new file mode 100644 index 000000000..233e8c654 --- /dev/null +++ b/universal_ble/example/lib/data/mock_universal_ble.dart @@ -0,0 +1,124 @@ +import 'dart:convert'; +import 'dart:typed_data'; + +import 'package:universal_ble/universal_ble.dart'; + +/// Mock implementation of [UniversalBlePlatform] for testing +class MockUniversalBle extends UniversalBlePlatform { + final _mockBleDevice = BleDevice( + name: 'MockDevice', + deviceId: 'MockDeviceId', + rssi: 50, + manufacturerDataList: [], + ); + + Uint8List _serviceValue = utf8.encode('Result'); + + final BleService _mockService = BleService('180', [ + BleCharacteristic('180A', [ + CharacteristicProperty.read, + CharacteristicProperty.write, + CharacteristicProperty.notify, + ]), + ]); + + @override + Future startScan({ + ScanFilter? scanFilter, + PlatformConfig? platformConfig, + }) async => + updateScanResult(_mockBleDevice); + + @override + Future stopScan() async {} + + @override + Future connect(String deviceId, {Duration? connectionTimeout}) async { + updateConnection(deviceId, true); + } + + @override + Future disconnect(String deviceId) async { + updateConnection(deviceId, false); + } + + @override + Future> discoverServices(String deviceId) async { + return [_mockService]; + } + + @override + Future enableBluetooth() async { + await Future.delayed(const Duration(milliseconds: 500)); + return true; + } + + @override + Future getBluetoothAvailabilityState() async { + return AvailabilityState.poweredOn; + } + + @override + Future> getSystemDevices(List? withServices) async { + return []; + } + + @override + Future readValue( + String deviceId, + String service, + String characteristic, { + final Duration? timeout, + }) async { + await Future.delayed(const Duration(milliseconds: 500)); + return _serviceValue; + } + + @override + Future writeValue( + String deviceId, + String service, + String characteristic, + Uint8List value, + BleOutputProperty bleOutputProperty) async { + await Future.delayed(const Duration(milliseconds: 500)); + _serviceValue = value; + } + + @override + Future requestMtu(String deviceId, int expectedMtu) async { + await Future.delayed(const Duration(seconds: 1)); + return 512; + } + + @override + Future setNotifiable(String deviceId, String service, + String characteristic, BleInputProperty bleInputProperty) async {} + + @override + Future isPaired(String deviceId) async { + await Future.delayed(const Duration(milliseconds: 500)); + return true; + } + + @override + Future pair(String deviceId) async { + updatePairingState(deviceId, true); + return true; + } + + @override + Future unpair(String deviceId) async { + updatePairingState(deviceId, false); + } + + @override + Future getConnectionState(String deviceId) { + throw UnimplementedError(); + } + + @override + Future disableBluetooth() { + throw UnimplementedError(); + } +} diff --git a/universal_ble/example/lib/data/permission_handler.dart b/universal_ble/example/lib/data/permission_handler.dart new file mode 100644 index 000000000..c98d05679 --- /dev/null +++ b/universal_ble/example/lib/data/permission_handler.dart @@ -0,0 +1,101 @@ +// ignore_for_file: avoid_print + +import 'dart:async'; +import 'dart:io'; + +import 'package:device_info_plus/device_info_plus.dart'; +import 'package:flutter/foundation.dart'; +import 'package:permission_handler/permission_handler.dart'; + +/* + Required Permissions : + <-----------> + IOS : + - Bluetooth + <-----------> + Android : + if AndroidVersions < 12 + - Location + - Bluetooth + else + - Bluetooth Scan + - Bluetooth Connect + <-----------> + Macos : + <-----------> + Windows : None + <-----------> + Linux : None + <-----------> + Web : + Check if Browser Supports Bluetooth + */ +class PermissionHandler { + static Future arePermissionsGranted() async { + if (!isMobilePlatform) return true; + + var status = await _permissionStatus; + bool blePermissionGranted = status[0]; + bool locationPermissionGranted = status[1]; + + if (locationPermissionGranted && blePermissionGranted) return true; + + if (!blePermissionGranted) { + PermissionStatus blePermissionCheck = + await Permission.bluetooth.request(); + if (blePermissionCheck.isPermanentlyDenied) { + print("Bluetooth Permission Permanently Denied"); + openAppSettings(); + } + return false; + } + + if (!locationPermissionGranted) { + PermissionStatus locationPermissionCheck = + await Permission.location.request(); + if (locationPermissionCheck.isPermanentlyDenied) { + print("Location Permission Permanently Denied"); + openAppSettings(); + } + return false; + } + + return false; + } + + static Future> get _permissionStatus async { + bool blePermissionGranted = false; + bool locationPermissionGranted = false; + + if (await requiresExplicitAndroidBluetoothPermissions) { + bool bleConnectPermission = + (await Permission.bluetoothConnect.request()).isGranted; + bool bleScanPermission = + (await Permission.bluetoothScan.request()).isGranted; + + blePermissionGranted = bleConnectPermission && bleScanPermission; + locationPermissionGranted = true; + } else { + PermissionStatus permissionStatus = await Permission.bluetooth.request(); + blePermissionGranted = permissionStatus.isGranted; + locationPermissionGranted = await requiresLocationPermission + ? (await Permission.locationWhenInUse.request()).isGranted + : true; + } + return [blePermissionGranted, locationPermissionGranted]; + } + + static bool get isMobilePlatform => + !kIsWeb && (Platform.isAndroid || Platform.isIOS); + + static Future get requiresLocationPermission async => + !kIsWeb && + Platform.isAndroid && + (!await requiresExplicitAndroidBluetoothPermissions); + + static Future get requiresExplicitAndroidBluetoothPermissions async { + if (kIsWeb || !Platform.isAndroid) return false; + AndroidDeviceInfo androidInfo = await DeviceInfoPlugin().androidInfo; + return androidInfo.version.sdkInt >= 31; + } +} diff --git a/universal_ble/example/lib/home/home.dart b/universal_ble/example/lib/home/home.dart new file mode 100644 index 000000000..502df9277 --- /dev/null +++ b/universal_ble/example/lib/home/home.dart @@ -0,0 +1,282 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:universal_ble/universal_ble.dart'; +import 'package:universal_ble_example/data/mock_universal_ble.dart'; +import 'package:universal_ble_example/home/widgets/scan_filter_widget.dart'; +import 'package:universal_ble_example/home/widgets/scanned_devices_placeholder_widget.dart'; +import 'package:universal_ble_example/home/widgets/scanned_item_widget.dart'; +import 'package:universal_ble_example/data/permission_handler.dart'; +import 'package:universal_ble_example/peripheral_details/peripheral_detail_page.dart'; +import 'package:universal_ble_example/widgets/platform_button.dart'; +import 'package:universal_ble_example/widgets/responsive_buttons_grid.dart'; + +class MyApp extends StatefulWidget { + const MyApp({Key? key}) : super(key: key); + + @override + State createState() => _MyAppState(); +} + +class _MyAppState extends State { + final _bleDevices = []; + bool _isScanning = false; + QueueType _queueType = QueueType.global; + TextEditingController servicesFilterController = TextEditingController(); + TextEditingController namePrefixController = TextEditingController(); + TextEditingController manufacturerDataController = TextEditingController(); + + AvailabilityState? bleAvailabilityState; + ScanFilter? scanFilter; + + @override + void initState() { + super.initState(); + + /// Set mock instance for testing + if (const bool.fromEnvironment('MOCK')) { + UniversalBle.setInstance(MockUniversalBle()); + } + + /// Setup queue and timeout + UniversalBle.queueType = _queueType; + UniversalBle.timeout = const Duration(seconds: 10); + + UniversalBle.onAvailabilityChange = (state) { + setState(() { + bleAvailabilityState = state; + }); + }; + + UniversalBle.onScanResult = (result) { + // log(result.toString()); + int index = _bleDevices.indexWhere((e) => e.deviceId == result.deviceId); + if (index == -1) { + _bleDevices.add(result); + } else { + if (result.name == null && _bleDevices[index].name != null) { + result.name = _bleDevices[index].name; + } + _bleDevices[index] = result; + } + setState(() {}); + }; + + // UniversalBle.onQueueUpdate = (String id, int remainingItems) { + // debugPrint("Queue: $id RemainingItems: $remainingItems"); + // }; + } + + Future startScan() async { + await UniversalBle.startScan( + scanFilter: scanFilter, + ); + } + + Future _getSystemDevices() async { + // For macOS and iOS, it is recommended to set a filter to get system devices + if (defaultTargetPlatform == TargetPlatform.macOS || + defaultTargetPlatform == TargetPlatform.iOS && + (scanFilter?.withServices ?? []).isEmpty) { + showSnackbar( + "No services filter was set for getting system connected devices. Using default services..."); + } + + List devices = await UniversalBle.getSystemDevices( + withServices: scanFilter?.withServices, + ); + if (devices.isEmpty) { + showSnackbar("No System Connected Devices Found"); + } + setState(() { + _bleDevices.clear(); + _bleDevices.addAll(devices); + }); + } + + void _showScanFilterBottomSheet() { + showModalBottomSheet( + isScrollControlled: true, + context: context, + builder: (context) { + return ScanFilterWidget( + servicesFilterController: servicesFilterController, + namePrefixController: namePrefixController, + manufacturerDataController: manufacturerDataController, + onScanFilter: (ScanFilter? filter) { + setState(() { + scanFilter = filter; + }); + }, + ); + }, + ); + } + + void showSnackbar(message) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar(content: Text(message.toString())), + ); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: const Text('Universal BLE'), + elevation: 4, + actions: [ + if (_isScanning) + const Padding( + padding: EdgeInsets.all(8.0), + child: SizedBox( + width: 20, + height: 20, + child: CircularProgressIndicator.adaptive( + strokeWidth: 2, + )), + ), + ], + ), + body: Column( + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: ResponsiveButtonsGrid( + children: [ + PlatformButton( + text: 'Start Scan', + onPressed: () async { + setState(() { + _bleDevices.clear(); + _isScanning = true; + }); + try { + await startScan(); + } catch (e) { + setState(() { + _isScanning = false; + }); + showSnackbar(e); + } + }, + ), + PlatformButton( + text: 'Stop Scan', + onPressed: () async { + await UniversalBle.stopScan(); + setState(() { + _isScanning = false; + }); + }, + ), + if (BleCapabilities.supportsBluetoothEnableApi) + bleAvailabilityState != AvailabilityState.poweredOn + ? PlatformButton( + text: 'Enable Bluetooth', + onPressed: () async { + bool isEnabled = + await UniversalBle.enableBluetooth(); + showSnackbar("BluetoothEnabled: $isEnabled"); + }, + ) + : PlatformButton( + text: 'Disable Bluetooth', + onPressed: () async { + bool isDisabled = + await UniversalBle.disableBluetooth(); + showSnackbar("BluetoothDisabled: $isDisabled"); + }, + ), + if (BleCapabilities.requiresRuntimePermission) + PlatformButton( + text: 'Check Permissions', + onPressed: () async { + bool hasPermissions = + await PermissionHandler.arePermissionsGranted(); + if (hasPermissions) { + showSnackbar("Permissions granted"); + } + }, + ), + if (BleCapabilities.supportsConnectedDevicesApi) + PlatformButton( + text: 'System Devices', + onPressed: _getSystemDevices, + ), + PlatformButton( + text: 'Queue: ${_queueType.name}', + onPressed: () { + setState(() { + _queueType = switch (_queueType) { + QueueType.global => QueueType.perDevice, + QueueType.perDevice => QueueType.none, + QueueType.none => QueueType.global, + }; + UniversalBle.queueType = _queueType; + }); + }, + ), + PlatformButton( + text: 'Scan Filters', + onPressed: _showScanFilterBottomSheet, + ), + if (_bleDevices.isNotEmpty) + PlatformButton( + text: 'Clear List', + onPressed: () { + setState(() { + _bleDevices.clear(); + }); + }, + ), + ], + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: Text( + 'Ble Availability : ${bleAvailabilityState?.name}', + ), + ), + ], + ), + const Divider(color: Colors.blue), + Expanded( + child: _isScanning && _bleDevices.isEmpty + ? const Center(child: CircularProgressIndicator.adaptive()) + : !_isScanning && _bleDevices.isEmpty + ? const ScannedDevicesPlaceholderWidget() + : ListView.separated( + itemCount: _bleDevices.length, + separatorBuilder: (context, index) => const Divider(), + itemBuilder: (context, index) { + BleDevice device = + _bleDevices[_bleDevices.length - index - 1]; + return ScannedItemWidget( + bleDevice: device, + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => PeripheralDetailPage( + device.deviceId, + device.name ?? "Unknown Peripheral", + ), + )); + UniversalBle.stopScan(); + setState(() { + _isScanning = false; + }); + }, + ); + }, + ), + ), + ], + ), + ); + } +} diff --git a/universal_ble/example/lib/home/widgets/scan_filter_widget.dart b/universal_ble/example/lib/home/widgets/scan_filter_widget.dart new file mode 100644 index 000000000..cd21487b1 --- /dev/null +++ b/universal_ble/example/lib/home/widgets/scan_filter_widget.dart @@ -0,0 +1,172 @@ +import 'package:flutter/material.dart'; +import 'package:universal_ble/universal_ble.dart'; +import 'package:universal_ble_example/widgets/platform_button.dart'; + +class ScanFilterWidget extends StatefulWidget { + final Function(ScanFilter? filter) onScanFilter; + final TextEditingController servicesFilterController; + final TextEditingController namePrefixController; + final TextEditingController manufacturerDataController; + + const ScanFilterWidget({ + super.key, + required this.onScanFilter, + required this.servicesFilterController, + required this.namePrefixController, + required this.manufacturerDataController, + }); + + @override + State createState() => _ScanFilterWidgetState(); +} + +class _ScanFilterWidgetState extends State { + String? error; + + void applyFilter() { + setState(() { + error = null; + }); + try { + List serviceUUids = []; + List namePrefixes = []; + List manufacturerDataFilters = []; + + // Parse Services + if (widget.servicesFilterController.text.isNotEmpty) { + List services = widget.servicesFilterController.text.split(','); + for (String service in services) { + try { + serviceUUids.add(BleUuidParser.string(service.trim())); + } on FormatException catch (_) { + throw Exception("Invalid Service UUID $service"); + } + } + } + + // Parse Name Prefix + String namePrefix = widget.namePrefixController.text; + if (namePrefix.isNotEmpty) { + namePrefixes = namePrefix.split(',').map((e) => e.trim()).toList(); + } + + // Parse Manufacturer Data + String manufacturerDataText = widget.manufacturerDataController.text; + if (manufacturerDataText.isNotEmpty) { + List manufacturerData = manufacturerDataText.split(','); + for (String manufacturer in manufacturerData) { + int? companyIdentifier = int.tryParse(manufacturer); + if (companyIdentifier == null) { + throw Exception("Invalid Manufacturer Data $manufacturer"); + } + manufacturerDataFilters.add( + ManufacturerDataFilter(companyIdentifier: companyIdentifier)); + } + } + + if (serviceUUids.isEmpty && + namePrefixes.isEmpty && + manufacturerDataFilters.isEmpty) { + widget.onScanFilter(null); + } else { + widget.onScanFilter( + ScanFilter( + withServices: serviceUUids, + withNamePrefix: namePrefixes, + withManufacturerData: manufacturerDataFilters, + ), + ); + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar(content: Text("Filters Applied")), + ); + } + Navigator.pop(context); + } catch (e) { + setState(() { + error = e.toString(); + }); + } + } + + void clearFilter() { + widget.servicesFilterController.clear(); + widget.namePrefixController.clear(); + widget.manufacturerDataController.clear(); + widget.onScanFilter(null); + Navigator.pop(context); + } + + @override + Widget build(BuildContext context) { + return Padding( + padding: MediaQuery.of(context).viewInsets.copyWith(left: 20, right: 20), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const SizedBox(height: 20), + Center( + child: Text( + "Scan Filters", + style: Theme.of(context).textTheme.titleLarge, + ), + ), + const Text("Use comma to add multiple values"), + const Divider(), + const SizedBox(height: 10), + TextFormField( + controller: widget.namePrefixController, + maxLines: 2, + decoration: const InputDecoration( + labelText: "Name Prefixes", + border: OutlineInputBorder(), + ), + ), + const SizedBox(height: 10), + TextFormField( + controller: widget.servicesFilterController, + maxLines: 2, + decoration: const InputDecoration( + labelText: "Services", + border: OutlineInputBorder(), + ), + ), + const SizedBox(height: 10), + TextFormField( + controller: widget.manufacturerDataController, + maxLines: 2, + decoration: const InputDecoration( + labelText: "Manufacturer Data Company IDs", + border: OutlineInputBorder(), + ), + ), + const SizedBox(height: 10), + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Expanded( + child: PlatformButton( + text: 'Apply', + onPressed: applyFilter, + ), + ), + const SizedBox(width: 10), + Expanded( + child: PlatformButton( + text: 'Clear', + onPressed: clearFilter, + ), + ), + ], + ), + const SizedBox(height: 10), + if (error != null) + Text( + error!, + style: const TextStyle(color: Colors.red), + ), + const SizedBox(height: 10), + ], + ), + ); + } +} diff --git a/universal_ble/example/lib/home/widgets/scanned_devices_placeholder_widget.dart b/universal_ble/example/lib/home/widgets/scanned_devices_placeholder_widget.dart new file mode 100644 index 000000000..b0643c54b --- /dev/null +++ b/universal_ble/example/lib/home/widgets/scanned_devices_placeholder_widget.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; + +class ScannedDevicesPlaceholderWidget extends StatelessWidget { + const ScannedDevicesPlaceholderWidget({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + return const Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Padding( + padding: EdgeInsets.all(8.0), + child: Icon( + Icons.bluetooth, + color: Colors.grey, + size: 100, + ), + ), + Text( + 'Scan For Devices', + style: TextStyle(color: Colors.grey, fontSize: 22), + ) + ], + ); + } +} diff --git a/universal_ble/example/lib/home/widgets/scanned_item_widget.dart b/universal_ble/example/lib/home/widgets/scanned_item_widget.dart new file mode 100644 index 000000000..0ce70c6af --- /dev/null +++ b/universal_ble/example/lib/home/widgets/scanned_item_widget.dart @@ -0,0 +1,50 @@ +import 'package:flutter/material.dart'; +import 'package:universal_ble/universal_ble.dart'; + +class ScannedItemWidget extends StatelessWidget { + final BleDevice bleDevice; + final VoidCallback? onTap; + const ScannedItemWidget({super.key, required this.bleDevice, this.onTap}); + + @override + Widget build(BuildContext context) { + String? name = bleDevice.name; + List rawManufacturerData = bleDevice.manufacturerDataList; + ManufacturerData? manufacturerData; + if (rawManufacturerData.isNotEmpty) { + manufacturerData = rawManufacturerData.first; + } + if (name == null || name.isEmpty) name = 'N/A'; + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: Card( + child: ListTile( + title: Text( + '$name (${bleDevice.rssi})', + ), + subtitle: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(bleDevice.deviceId), + Visibility( + visible: manufacturerData != null, + child: Text(manufacturerData.toString()), + ), + bleDevice.isPaired == true + ? const Text( + "Paired", + style: TextStyle(color: Colors.green), + ) + : const Text( + "Not Paired", + style: TextStyle(color: Colors.red), + ), + ], + ), + trailing: const Icon(Icons.arrow_forward_ios), + onTap: onTap, + ), + ), + ); + } +} diff --git a/universal_ble/example/lib/main.dart b/universal_ble/example/lib/main.dart new file mode 100644 index 000000000..f31ddb1bf --- /dev/null +++ b/universal_ble/example/lib/main.dart @@ -0,0 +1,14 @@ +import 'package:flutter/material.dart'; +import 'package:universal_ble_example/home/home.dart'; + +void main() { + runApp( + MaterialApp( + title: 'Universal BLE', + debugShowCheckedModeBanner: false, + darkTheme: ThemeData.dark(), + themeMode: ThemeMode.system, + home: const MyApp(), + ), + ); +} diff --git a/universal_ble/example/lib/peripheral_details/peripheral_detail_page.dart b/universal_ble/example/lib/peripheral_details/peripheral_detail_page.dart new file mode 100644 index 000000000..c705848b1 --- /dev/null +++ b/universal_ble/example/lib/peripheral_details/peripheral_detail_page.dart @@ -0,0 +1,495 @@ +// ignore_for_file: avoid_print, depend_on_referenced_packages + +import 'dart:async'; + +import 'package:convert/convert.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; +import 'package:universal_ble/universal_ble.dart'; +import 'package:universal_ble_example/peripheral_details/widgets/result_widget.dart'; +import 'package:universal_ble_example/peripheral_details/widgets/services_list_widget.dart'; +import 'package:universal_ble_example/widgets/platform_button.dart'; +import 'package:universal_ble_example/widgets/responsive_buttons_grid.dart'; +import 'package:universal_ble_example/widgets/responsive_view.dart'; + +class PeripheralDetailPage extends StatefulWidget { + final String deviceId; + final String deviceName; + const PeripheralDetailPage(this.deviceId, this.deviceName, {Key? key}) + : super(key: key); + + @override + State createState() { + return _PeripheralDetailPageState(); + } +} + +class _PeripheralDetailPageState extends State { + bool isConnected = false; + GlobalKey valueFormKey = GlobalKey(); + List discoveredServices = []; + final List _logs = []; + final binaryCode = TextEditingController(); + + ({ + BleService service, + BleCharacteristic characteristic + })? selectedCharacteristic; + + @override + void initState() { + super.initState(); + UniversalBle.onConnectionChange = _handleConnectionChange; + UniversalBle.onValueChange = _handleValueChange; + UniversalBle.onPairingStateChange = _handlePairingStateChange; + } + + @override + void dispose() { + super.dispose(); + UniversalBle.onConnectionChange = null; + UniversalBle.onValueChange = null; + // Disconnect when leaving the page + if (isConnected) UniversalBle.disconnect(widget.deviceId); + } + + void _addLog(String type, dynamic data) { + setState(() { + _logs.add('$type: ${data.toString()}'); + }); + } + + void _handleConnectionChange( + String deviceId, + bool isConnected, + String? error, + ) { + print( + '_handleConnectionChange $deviceId, $isConnected ${error != null ? 'Error: $error' : ''}', + ); + setState(() { + if (deviceId == widget.deviceId) { + this.isConnected = isConnected; + } + }); + _addLog('Connection', isConnected ? "Connected" : "Disconnected"); + // Auto Discover Services + if (this.isConnected) { + _discoverServices(); + } + } + + void _handleValueChange( + String deviceId, String characteristicId, Uint8List value) { + String s = String.fromCharCodes(value); + String data = '$s\nraw : ${value.toString()}'; + print('_handleValueChange $deviceId, $characteristicId, $s'); + _addLog("Value", data); + } + + void _handlePairingStateChange(String deviceId, bool isPaired) { + print('isPaired $deviceId, $isPaired'); + _addLog("PairingStateChange - isPaired", isPaired); + } + + Future _discoverServices() async { + const webWarning = + "Note: Only services added in ScanFilter or WebOptions will be discovered"; + try { + var services = await UniversalBle.discoverServices(widget.deviceId); + print('${services.length} services discovered'); + print(services); + discoveredServices.clear(); + setState(() { + discoveredServices = services; + }); + + if (kIsWeb) { + _addLog( + "DiscoverServices", + '${services.length} services discovered,\n$webWarning', + ); + } + } catch (e) { + _addLog("DiscoverServicesError", '$e\n${kIsWeb ? webWarning : ""}'); + } + } + + Future _readValue() async { + if (selectedCharacteristic == null) return; + try { + Uint8List value = await UniversalBle.readValue( + widget.deviceId, + selectedCharacteristic!.service.uuid, + selectedCharacteristic!.characteristic.uuid, + ); + String s = String.fromCharCodes(value); + String data = '$s\nraw : ${value.toString()}'; + _addLog('Read', data); + } catch (e) { + _addLog('ReadError', e); + } + } + + Future _writeValue() async { + if (selectedCharacteristic == null || + !valueFormKey.currentState!.validate() || + binaryCode.text.isEmpty) { + return; + } + + Uint8List value; + try { + value = Uint8List.fromList(hex.decode(binaryCode.text)); + } catch (e) { + _addLog('WriteError', "Error parsing hex $e"); + return; + } + + try { + await UniversalBle.writeValue( + widget.deviceId, + selectedCharacteristic!.service.uuid, + selectedCharacteristic!.characteristic.uuid, + value, + _hasSelectedCharacteristicProperty( + [CharacteristicProperty.writeWithoutResponse]) + ? BleOutputProperty.withoutResponse + : BleOutputProperty.withResponse, + ); + _addLog('Write', value); + } catch (e) { + print(e); + _addLog('WriteError', e); + } + } + + Future _setBleInputProperty(BleInputProperty inputProperty) async { + if (selectedCharacteristic == null) return; + try { + if (inputProperty != BleInputProperty.disabled) { + List properties = + selectedCharacteristic!.characteristic.properties; + if (properties.contains(CharacteristicProperty.notify)) { + inputProperty = BleInputProperty.notification; + } else if (properties.contains(CharacteristicProperty.indicate)) { + inputProperty = BleInputProperty.indication; + } else { + throw 'No notify or indicate property'; + } + } + await UniversalBle.setNotifiable( + widget.deviceId, + selectedCharacteristic!.service.uuid, + selectedCharacteristic!.characteristic.uuid, + inputProperty, + ); + _addLog('BleInputProperty', inputProperty); + } catch (e) { + _addLog('NotifyError', e); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text("${widget.deviceName} - ${widget.deviceId}"), + elevation: 4, + actions: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: Icon( + isConnected + ? Icons.bluetooth_connected + : Icons.bluetooth_disabled, + color: isConnected ? Colors.greenAccent : Colors.red, + size: 20, + ), + ) + ], + ), + body: ResponsiveView(builder: (_, DeviceType deviceType) { + return Row( + children: [ + if (deviceType == DeviceType.desktop) + Expanded( + flex: 1, + child: Container( + color: Theme.of(context).secondaryHeaderColor, + child: discoveredServices.isEmpty + ? const Center( + child: Text('No Services Discovered'), + ) + : ServicesListWidget( + discoveredServices: discoveredServices, + scrollable: true, + onTap: (BleService service, + BleCharacteristic characteristic) { + setState(() { + selectedCharacteristic = ( + service: service, + characteristic: characteristic + ); + }); + }, + ), + ), + ), + Expanded( + flex: 3, + child: Align( + alignment: Alignment.topCenter, + child: SingleChildScrollView( + child: Column( + children: [ + // Top buttons + Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + PlatformButton( + text: 'Connect', + enabled: !isConnected, + onPressed: () async { + try { + await UniversalBle.connect( + widget.deviceId, + ); + _addLog("ConnectionResult", true); + } catch (e) { + _addLog('ConnectError (${e.runtimeType})', e); + } + }, + ), + PlatformButton( + text: 'Disconnect', + enabled: isConnected, + onPressed: () { + UniversalBle.disconnect(widget.deviceId); + }, + ), + ], + ), + ), + selectedCharacteristic == null + ? Text(discoveredServices.isEmpty + ? "Please discover services" + : "Please select a characteristic") + : Padding( + padding: const EdgeInsets.symmetric( + horizontal: 8.0, + ), + child: Card( + child: ListTile( + title: SelectableText( + "Characteristic: ${selectedCharacteristic!.characteristic.uuid}", + ), + subtitle: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + SelectableText( + "Service: ${selectedCharacteristic!.service.uuid}", + ), + Text( + "Properties: ${selectedCharacteristic!.characteristic.properties.map((e) => e.name)}", + ), + ], + ), + ), + ), + ), + + if (_hasSelectedCharacteristicProperty([ + CharacteristicProperty.write, + CharacteristicProperty.writeWithoutResponse + ])) + Padding( + padding: const EdgeInsets.symmetric(horizontal: 8.0), + child: Form( + key: valueFormKey, + child: Padding( + padding: const EdgeInsets.all(8.0), + child: TextFormField( + controller: binaryCode, + validator: (value) { + if (value == null || value.isEmpty) { + return 'Please enter a value'; + } + try { + hex.decode(binaryCode.text); + return null; + } catch (e) { + return 'Please enter a valid hex value ( without spaces or 0x (e.g. F0BB) )'; + } + }, + decoration: const InputDecoration( + hintText: + "Enter Hex values without spaces or 0x (e.g. F0BB)", + border: OutlineInputBorder(), + ), + ), + ), + ), + ), + const Divider(), + Padding( + padding: const EdgeInsets.all(8.0), + child: ResponsiveButtonsGrid( + children: [ + PlatformButton( + onPressed: () async { + _discoverServices(); + }, + enabled: isConnected, + text: 'Discover Services', + ), + PlatformButton( + onPressed: () async { + _addLog( + 'ConnectionState', + await UniversalBle.getConnectionState( + widget.deviceId, + ), + ); + }, + text: 'Connection State', + ), + if (BleCapabilities.supportsRequestMtuApi) + PlatformButton( + enabled: isConnected, + onPressed: () async { + int mtu = await UniversalBle.requestMtu( + widget.deviceId, 247); + _addLog('MTU', mtu); + }, + text: 'Request Mtu', + ), + PlatformButton( + enabled: isConnected && + discoveredServices.isNotEmpty && + _hasSelectedCharacteristicProperty([ + CharacteristicProperty.read, + ]), + onPressed: _readValue, + text: 'Read', + ), + PlatformButton( + enabled: isConnected && + discoveredServices.isNotEmpty && + _hasSelectedCharacteristicProperty([ + CharacteristicProperty.write, + CharacteristicProperty.writeWithoutResponse + ]), + onPressed: _writeValue, + text: 'Write', + ), + PlatformButton( + enabled: isConnected && + discoveredServices.isNotEmpty && + _hasSelectedCharacteristicProperty([ + CharacteristicProperty.notify, + CharacteristicProperty.indicate + ]), + onPressed: () => _setBleInputProperty( + BleInputProperty.notification), + text: 'Subscribe', + ), + PlatformButton( + enabled: isConnected && + discoveredServices.isNotEmpty && + _hasSelectedCharacteristicProperty([ + CharacteristicProperty.notify, + CharacteristicProperty.indicate + ]), + onPressed: () => _setBleInputProperty( + BleInputProperty.disabled), + text: 'Unsubscribe', + ), + PlatformButton( + enabled: BleCapabilities.supportsAllPairingKinds, + onPressed: () async { + try { + await UniversalBle.pair( + widget.deviceId, + // pairingCommand: BleCommand( + // service: "", + // characteristic: "", + // ), + ); + _addLog("Pairing Result", true); + } catch (e) { + _addLog('PairError (${e.runtimeType})', e); + } + }, + text: 'Pair', + ), + PlatformButton( + onPressed: () async { + bool? isPaired = await UniversalBle.isPaired( + widget.deviceId, + // pairingCommand: BleCommand( + // service: "", + // characteristic: "", + // ), + ); + _addLog('IsPaired', isPaired); + }, + text: 'IsPaired', + ), + PlatformButton( + onPressed: () async { + await UniversalBle.unpair(widget.deviceId); + }, + text: 'Unpair', + ), + ], + ), + ), + // Services + if (deviceType != DeviceType.desktop) + ServicesListWidget( + discoveredServices: discoveredServices, + onTap: (BleService service, + BleCharacteristic characteristic) { + setState(() { + selectedCharacteristic = ( + service: service, + characteristic: characteristic + ); + }); + }, + ), + const Divider(), + ResultWidget( + results: _logs, + onClearTap: (int? index) { + setState(() { + if (index != null) { + _logs.removeAt(index); + } else { + _logs.clear(); + } + }); + }), + const SizedBox(height: 20), + ], + ), + ), + ), + ), + ], + ); + }), + ); + } + + bool _hasSelectedCharacteristicProperty( + List properties) => + properties.any((property) => + selectedCharacteristic?.characteristic.properties + .contains(property) ?? + false); +} diff --git a/universal_ble/example/lib/peripheral_details/widgets/result_widget.dart b/universal_ble/example/lib/peripheral_details/widgets/result_widget.dart new file mode 100644 index 000000000..d34f281b9 --- /dev/null +++ b/universal_ble/example/lib/peripheral_details/widgets/result_widget.dart @@ -0,0 +1,50 @@ +import 'package:flutter/material.dart'; + +class ResultWidget extends StatelessWidget { + final List results; + final bool scrollable; + final Function(int? index) onClearTap; + const ResultWidget({ + required this.results, + required this.onClearTap, + this.scrollable = false, + super.key, + }); + + @override + Widget build(BuildContext context) { + return Column( + children: [ + if (results.isNotEmpty) + Padding( + padding: const EdgeInsets.all(8.0), + child: ListTile( + tileColor: Theme.of(context).secondaryHeaderColor, + title: const Text("Logs"), + onTap: () { + onClearTap(null); + }, + trailing: const Icon(Icons.clear), + ), + ), + ListView.separated( + shrinkWrap: !scrollable, + physics: scrollable ? null : const NeverScrollableScrollPhysics(), + itemCount: results.length, + reverse: true, + itemBuilder: (BuildContext context, int index) { + return InkWell( + onTap: () => onClearTap(index), + child: Padding( + padding: + const EdgeInsets.symmetric(horizontal: 11, vertical: 2), + child: Text(results[index]), + ), + ); + }, + separatorBuilder: (_, __) => const Divider(), + ), + ], + ); + } +} diff --git a/universal_ble/example/lib/peripheral_details/widgets/services_list_widget.dart b/universal_ble/example/lib/peripheral_details/widgets/services_list_widget.dart new file mode 100644 index 000000000..a72ab5786 --- /dev/null +++ b/universal_ble/example/lib/peripheral_details/widgets/services_list_widget.dart @@ -0,0 +1,76 @@ +import 'package:expandable/expandable.dart'; +import 'package:flutter/material.dart'; +import 'package:universal_ble/universal_ble.dart'; + +class ServicesListWidget extends StatelessWidget { + final List discoveredServices; + final bool scrollable; + final Function(BleService service, BleCharacteristic characteristic)? onTap; + + const ServicesListWidget({ + super.key, + required this.discoveredServices, + this.onTap, + this.scrollable = false, + }); + + @override + Widget build(BuildContext context) { + return ListView.builder( + shrinkWrap: !scrollable, + physics: scrollable ? null : const NeverScrollableScrollPhysics(), + itemCount: discoveredServices.length, + itemBuilder: (BuildContext context, int index) { + return Padding( + padding: const EdgeInsets.all(8.0), + child: Card( + child: ExpandablePanel( + header: Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + children: [ + const Icon(Icons.arrow_forward_ios), + Expanded(child: Text(discoveredServices[index].uuid)), + ], + ), + ), + collapsed: const SizedBox(), + expanded: Column( + children: discoveredServices[index] + .characteristics + .map((e) => Padding( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + InkWell( + onTap: () { + onTap?.call(discoveredServices[index], e); + }, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + const Icon(Icons.arrow_right_outlined), + Expanded(child: Text(e.uuid)), + ], + ), + Text( + "Properties: ${e.properties.map((e) => e.name)}", + ) + ], + ), + ), + ], + ), + )) + .toList(), + ), + ), + ), + ); + }, + ); + } +} diff --git a/universal_ble/example/lib/widgets/platform_button.dart b/universal_ble/example/lib/widgets/platform_button.dart new file mode 100644 index 000000000..47ba7f8b3 --- /dev/null +++ b/universal_ble/example/lib/widgets/platform_button.dart @@ -0,0 +1,34 @@ +import 'dart:io'; + +import 'package:flutter/cupertino.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; + +class PlatformButton extends StatelessWidget { + final String text; + final Function()? onPressed; + final bool enabled; + + const PlatformButton({ + required this.text, + required this.onPressed, + this.enabled = true, + super.key, + }); + + @override + Widget build(BuildContext context) { + return (!kIsWeb && (Platform.isMacOS || Platform.isIOS)) + ? CupertinoButton.filled( + onPressed: enabled ? onPressed : null, + // color: Colors.blue, + padding: const EdgeInsets.symmetric(horizontal: 10), + disabledColor: Colors.grey, + child: Text(text), + ) + : ElevatedButton( + onPressed: enabled ? onPressed : null, + child: Text(text), + ); + } +} diff --git a/universal_ble/example/lib/widgets/responsive_buttons_grid.dart b/universal_ble/example/lib/widgets/responsive_buttons_grid.dart new file mode 100644 index 000000000..f45308713 --- /dev/null +++ b/universal_ble/example/lib/widgets/responsive_buttons_grid.dart @@ -0,0 +1,26 @@ +import 'package:flutter/material.dart'; + +class ResponsiveButtonsGrid extends StatelessWidget { + final List children; + const ResponsiveButtonsGrid({super.key, required this.children}); + + @override + Widget build(BuildContext context) { + return LayoutBuilder( + builder: (context, constraints) { + const tileWidth = 150; + const tileHeight = 500; + final count = constraints.maxWidth ~/ tileWidth; + return GridView.count( + crossAxisCount: count, + crossAxisSpacing: 8, + mainAxisSpacing: 8, + childAspectRatio: tileHeight / tileWidth, + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + children: children, + ); + }, + ); + } +} diff --git a/universal_ble/example/lib/widgets/responsive_view.dart b/universal_ble/example/lib/widgets/responsive_view.dart new file mode 100644 index 000000000..2e5a88d50 --- /dev/null +++ b/universal_ble/example/lib/widgets/responsive_view.dart @@ -0,0 +1,28 @@ +import 'package:flutter/material.dart'; + +enum DeviceType { + mobile, + tablet, + desktop, +} + +class ResponsiveView extends StatelessWidget { + final Widget Function(BuildContext context, DeviceType deviceType) builder; + const ResponsiveView({super.key, required this.builder}); + + @override + Widget build(BuildContext context) { + return LayoutBuilder( + builder: (ctx, constraints) { + return builder( + ctx, + constraints.maxWidth > 1000 + ? DeviceType.desktop + : constraints.maxWidth > 600 && constraints.maxWidth < 1000 + ? DeviceType.tablet + : DeviceType.mobile, + ); + }, + ); + } +} diff --git a/universal_ble/example/linux/.gitignore b/universal_ble/example/linux/.gitignore new file mode 100644 index 000000000..d3896c984 --- /dev/null +++ b/universal_ble/example/linux/.gitignore @@ -0,0 +1 @@ +flutter/ephemeral diff --git a/universal_ble/example/linux/CMakeLists.txt b/universal_ble/example/linux/CMakeLists.txt new file mode 100644 index 000000000..b37509922 --- /dev/null +++ b/universal_ble/example/linux/CMakeLists.txt @@ -0,0 +1,141 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.10) +project(runner LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "universal_ble_example") +# The unique GTK application identifier for this application. See: +# https://wiki.gnome.org/HowDoI/ChooseApplicationID +set(APPLICATION_ID "com.navideck.universal_ble") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(SET CMP0063 NEW) + +# Load bundled libraries from the lib/ directory relative to the binary. +set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") + +# Root filesystem for cross-building. +if(FLUTTER_TARGET_PLATFORM_SYSROOT) + set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +# Define build configuration options. +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") +endif() + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_14) + target_compile_options(${TARGET} PRIVATE -Wall -Werror) + target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") + target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) + +add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") + +# Define the application target. To change its name, change BINARY_NAME above, +# not the value here, or `flutter run` will no longer work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} + "main.cc" + "my_application.cc" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add dependency libraries. Add any application-specific dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter) +target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) + +# Only the install-generated bundle's copy of the executable will launch +# correctly, since the resources must in the right relative locations. To avoid +# people trying to run the unbundled copy, put it in a subdirectory instead of +# the default top-level location. +set_target_properties(${BINARY_NAME} + PROPERTIES + RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" +) + +# Enable the test target. +set(include_universal_ble_tests TRUE) + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# By default, "installing" just makes a relocatable bundle in the build +# directory. +set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +# Start with a clean build bundle directory every time. +install(CODE " + file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") + " COMPONENT Runtime) + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) + install(FILES "${bundled_library}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endforeach(bundled_library) + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") + install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() diff --git a/universal_ble/example/linux/flutter/CMakeLists.txt b/universal_ble/example/linux/flutter/CMakeLists.txt new file mode 100644 index 000000000..d5bd01648 --- /dev/null +++ b/universal_ble/example/linux/flutter/CMakeLists.txt @@ -0,0 +1,88 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.10) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. + +# Serves the same purpose as list(TRANSFORM ... PREPEND ...), +# which isn't available in 3.10. +function(list_prepend LIST_NAME PREFIX) + set(NEW_LIST "") + foreach(element ${${LIST_NAME}}) + list(APPEND NEW_LIST "${PREFIX}${element}") + endforeach(element) + set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) +endfunction() + +# === Flutter Library === +# System-level dependencies. +find_package(PkgConfig REQUIRED) +pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) +pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) +pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) + +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "fl_basic_message_channel.h" + "fl_binary_codec.h" + "fl_binary_messenger.h" + "fl_dart_project.h" + "fl_engine.h" + "fl_json_message_codec.h" + "fl_json_method_codec.h" + "fl_message_codec.h" + "fl_method_call.h" + "fl_method_channel.h" + "fl_method_codec.h" + "fl_method_response.h" + "fl_plugin_registrar.h" + "fl_plugin_registry.h" + "fl_standard_message_codec.h" + "fl_standard_method_codec.h" + "fl_string_codec.h" + "fl_value.h" + "fl_view.h" + "flutter_linux.h" +) +list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") +target_link_libraries(flutter INTERFACE + PkgConfig::GTK + PkgConfig::GLIB + PkgConfig::GIO +) +add_dependencies(flutter flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CMAKE_CURRENT_BINARY_DIR}/_phony_ + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" + ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} +) diff --git a/universal_ble/example/linux/flutter/generated_plugin_registrant.cc b/universal_ble/example/linux/flutter/generated_plugin_registrant.cc new file mode 100644 index 000000000..e71a16d23 --- /dev/null +++ b/universal_ble/example/linux/flutter/generated_plugin_registrant.cc @@ -0,0 +1,11 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + + +void fl_register_plugins(FlPluginRegistry* registry) { +} diff --git a/universal_ble/example/linux/flutter/generated_plugin_registrant.h b/universal_ble/example/linux/flutter/generated_plugin_registrant.h new file mode 100644 index 000000000..e0f0a47bc --- /dev/null +++ b/universal_ble/example/linux/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void fl_register_plugins(FlPluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/universal_ble/example/linux/flutter/generated_plugins.cmake b/universal_ble/example/linux/flutter/generated_plugins.cmake new file mode 100644 index 000000000..2e1de87a7 --- /dev/null +++ b/universal_ble/example/linux/flutter/generated_plugins.cmake @@ -0,0 +1,23 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/universal_ble/example/linux/main.cc b/universal_ble/example/linux/main.cc new file mode 100644 index 000000000..e7c5c5437 --- /dev/null +++ b/universal_ble/example/linux/main.cc @@ -0,0 +1,6 @@ +#include "my_application.h" + +int main(int argc, char** argv) { + g_autoptr(MyApplication) app = my_application_new(); + return g_application_run(G_APPLICATION(app), argc, argv); +} diff --git a/universal_ble/example/linux/my_application.cc b/universal_ble/example/linux/my_application.cc new file mode 100644 index 000000000..a3e4f9296 --- /dev/null +++ b/universal_ble/example/linux/my_application.cc @@ -0,0 +1,104 @@ +#include "my_application.h" + +#include +#ifdef GDK_WINDOWING_X11 +#include +#endif + +#include "flutter/generated_plugin_registrant.h" + +struct _MyApplication { + GtkApplication parent_instance; + char** dart_entrypoint_arguments; +}; + +G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) + +// Implements GApplication::activate. +static void my_application_activate(GApplication* application) { + MyApplication* self = MY_APPLICATION(application); + GtkWindow* window = + GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); + + // Use a header bar when running in GNOME as this is the common style used + // by applications and is the setup most users will be using (e.g. Ubuntu + // desktop). + // If running on X and not using GNOME then just use a traditional title bar + // in case the window manager does more exotic layout, e.g. tiling. + // If running on Wayland assume the header bar will work (may need changing + // if future cases occur). + gboolean use_header_bar = TRUE; +#ifdef GDK_WINDOWING_X11 + GdkScreen* screen = gtk_window_get_screen(window); + if (GDK_IS_X11_SCREEN(screen)) { + const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); + if (g_strcmp0(wm_name, "GNOME Shell") != 0) { + use_header_bar = FALSE; + } + } +#endif + if (use_header_bar) { + GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); + gtk_widget_show(GTK_WIDGET(header_bar)); + gtk_header_bar_set_title(header_bar, "universal_ble_example"); + gtk_header_bar_set_show_close_button(header_bar, TRUE); + gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); + } else { + gtk_window_set_title(window, "universal_ble_example"); + } + + gtk_window_set_default_size(window, 1280, 720); + gtk_widget_show(GTK_WIDGET(window)); + + g_autoptr(FlDartProject) project = fl_dart_project_new(); + fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); + + FlView* view = fl_view_new(project); + gtk_widget_show(GTK_WIDGET(view)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); + + fl_register_plugins(FL_PLUGIN_REGISTRY(view)); + + gtk_widget_grab_focus(GTK_WIDGET(view)); +} + +// Implements GApplication::local_command_line. +static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { + MyApplication* self = MY_APPLICATION(application); + // Strip out the first argument as it is the binary name. + self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); + + g_autoptr(GError) error = nullptr; + if (!g_application_register(application, nullptr, &error)) { + g_warning("Failed to register: %s", error->message); + *exit_status = 1; + return TRUE; + } + + g_application_activate(application); + *exit_status = 0; + + return TRUE; +} + +// Implements GObject::dispose. +static void my_application_dispose(GObject* object) { + MyApplication* self = MY_APPLICATION(object); + g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); + G_OBJECT_CLASS(my_application_parent_class)->dispose(object); +} + +static void my_application_class_init(MyApplicationClass* klass) { + G_APPLICATION_CLASS(klass)->activate = my_application_activate; + G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; + G_OBJECT_CLASS(klass)->dispose = my_application_dispose; +} + +static void my_application_init(MyApplication* self) {} + +MyApplication* my_application_new() { + return MY_APPLICATION(g_object_new(my_application_get_type(), + "application-id", APPLICATION_ID, + "flags", G_APPLICATION_NON_UNIQUE, + nullptr)); +} diff --git a/universal_ble/example/linux/my_application.h b/universal_ble/example/linux/my_application.h new file mode 100644 index 000000000..72271d5e4 --- /dev/null +++ b/universal_ble/example/linux/my_application.h @@ -0,0 +1,18 @@ +#ifndef FLUTTER_MY_APPLICATION_H_ +#define FLUTTER_MY_APPLICATION_H_ + +#include + +G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, + GtkApplication) + +/** + * my_application_new: + * + * Creates a new Flutter-based application. + * + * Returns: a new #MyApplication. + */ +MyApplication* my_application_new(); + +#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/universal_ble/example/macos/.gitignore b/universal_ble/example/macos/.gitignore new file mode 100644 index 000000000..746adbb6b --- /dev/null +++ b/universal_ble/example/macos/.gitignore @@ -0,0 +1,7 @@ +# Flutter-related +**/Flutter/ephemeral/ +**/Pods/ + +# Xcode-related +**/dgph +**/xcuserdata/ diff --git a/universal_ble/example/macos/Flutter/Flutter-Debug.xcconfig b/universal_ble/example/macos/Flutter/Flutter-Debug.xcconfig new file mode 100644 index 000000000..4b81f9b2d --- /dev/null +++ b/universal_ble/example/macos/Flutter/Flutter-Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/universal_ble/example/macos/Flutter/Flutter-Release.xcconfig b/universal_ble/example/macos/Flutter/Flutter-Release.xcconfig new file mode 100644 index 000000000..5caa9d157 --- /dev/null +++ b/universal_ble/example/macos/Flutter/Flutter-Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/universal_ble/example/macos/Flutter/GeneratedPluginRegistrant.swift b/universal_ble/example/macos/Flutter/GeneratedPluginRegistrant.swift new file mode 100644 index 000000000..b02da4ca6 --- /dev/null +++ b/universal_ble/example/macos/Flutter/GeneratedPluginRegistrant.swift @@ -0,0 +1,14 @@ +// +// Generated file. Do not edit. +// + +import FlutterMacOS +import Foundation + +import device_info_plus +import universal_ble + +func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) + UniversalBlePlugin.register(with: registry.registrar(forPlugin: "UniversalBlePlugin")) +} diff --git a/universal_ble/example/macos/Podfile b/universal_ble/example/macos/Podfile new file mode 100644 index 000000000..c795730db --- /dev/null +++ b/universal_ble/example/macos/Podfile @@ -0,0 +1,43 @@ +platform :osx, '10.14' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_macos_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_macos_build_settings(target) + end +end diff --git a/universal_ble/example/macos/Podfile.lock b/universal_ble/example/macos/Podfile.lock new file mode 100644 index 000000000..7ec7ff324 --- /dev/null +++ b/universal_ble/example/macos/Podfile.lock @@ -0,0 +1,29 @@ +PODS: + - device_info_plus (0.0.1): + - FlutterMacOS + - FlutterMacOS (1.0.0) + - universal_ble (0.0.1): + - Flutter + - FlutterMacOS + +DEPENDENCIES: + - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) + - FlutterMacOS (from `Flutter/ephemeral`) + - universal_ble (from `Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin`) + +EXTERNAL SOURCES: + device_info_plus: + :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos + FlutterMacOS: + :path: Flutter/ephemeral + universal_ble: + :path: Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin + +SPEC CHECKSUMS: + device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f + FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 + universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6 + +PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 + +COCOAPODS: 1.16.2 diff --git a/universal_ble/example/macos/Runner.xcodeproj/project.pbxproj b/universal_ble/example/macos/Runner.xcodeproj/project.pbxproj new file mode 100644 index 000000000..ea4127b4c --- /dev/null +++ b/universal_ble/example/macos/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,791 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXAggregateTarget section */ + 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; + buildPhases = ( + 33CC111E2044C6BF0003C045 /* ShellScript */, + ); + dependencies = ( + ); + name = "Flutter Assemble"; + productName = FLX; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; + 54A7291550390DBA7F60B398 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 095AF621C9B1EE27B63D82D1 /* Pods_RunnerTests.framework */; }; + BFFAEE386BA8C5023F9983AE /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F517363F4B1C144EC77DADCD /* Pods_Runner.framework */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC10EC2044A3C60003C045; + remoteInfo = Runner; + }; + 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 33CC10E52044A3C60003C045 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 33CC111A2044C6BA0003C045; + remoteInfo = FLX; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 33CC110E2044A8840003C045 /* Bundle Framework */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Bundle Framework"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 095AF621C9B1EE27B63D82D1 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 32ED472C70D6ED7C3CD8CE8B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; + 33CC10ED2044A3C60003C045 /* universal_ble_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = universal_ble_example.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; + 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; + 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; + 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; + 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; + 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; + 65CCC8CF23B15CA6818A0496 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; + BF9EC7C1208428926C8C045E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; + C5F6162E162B944885A4C57E /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + D8A7E0EE9000B69937E2CAAF /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + F517363F4B1C144EC77DADCD /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + FF25EBD7FA998BE27A25C911 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 331C80D2294CF70F00263BE5 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 54A7291550390DBA7F60B398 /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EA2044A3C60003C045 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + BFFAEE386BA8C5023F9983AE /* Pods_Runner.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C80D6294CF71000263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C80D7294CF71000263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 33BA886A226E78AF003329D5 /* Configs */ = { + isa = PBXGroup; + children = ( + 33E5194F232828860026EE4D /* AppInfo.xcconfig */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, + ); + path = Configs; + sourceTree = ""; + }; + 33CC10E42044A3C60003C045 = { + isa = PBXGroup; + children = ( + 33FAB671232836740065AC1E /* Runner */, + 33CEB47122A05771004F2AC0 /* Flutter */, + 331C80D6294CF71000263BE5 /* RunnerTests */, + 33CC10EE2044A3C60003C045 /* Products */, + D73912EC22F37F3D000D13A0 /* Frameworks */, + 918B2BA59DA01E445579435F /* Pods */, + ); + sourceTree = ""; + }; + 33CC10EE2044A3C60003C045 /* Products */ = { + isa = PBXGroup; + children = ( + 33CC10ED2044A3C60003C045 /* universal_ble_example.app */, + 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 33CC11242044D66E0003C045 /* Resources */ = { + isa = PBXGroup; + children = ( + 33CC10F22044A3C60003C045 /* Assets.xcassets */, + 33CC10F42044A3C60003C045 /* MainMenu.xib */, + 33CC10F72044A3C60003C045 /* Info.plist */, + ); + name = Resources; + path = ..; + sourceTree = ""; + }; + 33CEB47122A05771004F2AC0 /* Flutter */ = { + isa = PBXGroup; + children = ( + 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, + 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, + 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, + 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, + ); + path = Flutter; + sourceTree = ""; + }; + 33FAB671232836740065AC1E /* Runner */ = { + isa = PBXGroup; + children = ( + 33CC10F02044A3C60003C045 /* AppDelegate.swift */, + 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, + 33E51913231747F40026EE4D /* DebugProfile.entitlements */, + 33E51914231749380026EE4D /* Release.entitlements */, + 33CC11242044D66E0003C045 /* Resources */, + 33BA886A226E78AF003329D5 /* Configs */, + ); + path = Runner; + sourceTree = ""; + }; + 918B2BA59DA01E445579435F /* Pods */ = { + isa = PBXGroup; + children = ( + FF25EBD7FA998BE27A25C911 /* Pods-Runner.debug.xcconfig */, + 65CCC8CF23B15CA6818A0496 /* Pods-Runner.release.xcconfig */, + 32ED472C70D6ED7C3CD8CE8B /* Pods-Runner.profile.xcconfig */, + D8A7E0EE9000B69937E2CAAF /* Pods-RunnerTests.debug.xcconfig */, + BF9EC7C1208428926C8C045E /* Pods-RunnerTests.release.xcconfig */, + C5F6162E162B944885A4C57E /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; + D73912EC22F37F3D000D13A0 /* Frameworks */ = { + isa = PBXGroup; + children = ( + F517363F4B1C144EC77DADCD /* Pods_Runner.framework */, + 095AF621C9B1EE27B63D82D1 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C80D4294CF70F00263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 0B773D64B309FE8B1C43C096 /* [CP] Check Pods Manifest.lock */, + 331C80D1294CF70F00263BE5 /* Sources */, + 331C80D2294CF70F00263BE5 /* Frameworks */, + 331C80D3294CF70F00263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C80DA294CF71000263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 33CC10EC2044A3C60003C045 /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 4DACA89469123DBF706A6DEC /* [CP] Check Pods Manifest.lock */, + 33CC10E92044A3C60003C045 /* Sources */, + 33CC10EA2044A3C60003C045 /* Frameworks */, + 33CC10EB2044A3C60003C045 /* Resources */, + 33CC110E2044A8840003C045 /* Bundle Framework */, + 3399D490228B24CF009A79C7 /* ShellScript */, + DB73DCCDE8FAA136C11B0BD8 /* [CP] Embed Pods Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 33CC11202044C79F0003C045 /* PBXTargetDependency */, + ); + name = Runner; + productName = Runner; + productReference = 33CC10ED2044A3C60003C045 /* universal_ble_example.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 33CC10E52044A3C60003C045 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0920; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C80D4294CF70F00263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 33CC10EC2044A3C60003C045; + }; + 33CC10EC2044A3C60003C045 = { + CreatedOnToolsVersion = 9.2; + LastSwiftMigration = 1100; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Sandbox = { + enabled = 1; + }; + }; + }; + 33CC111A2044C6BA0003C045 = { + CreatedOnToolsVersion = 9.2; + ProvisioningStyle = Manual; + }; + }; + }; + buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 33CC10E42044A3C60003C045; + productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 33CC10EC2044A3C60003C045 /* Runner */, + 331C80D4294CF70F00263BE5 /* RunnerTests */, + 33CC111A2044C6BA0003C045 /* Flutter Assemble */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C80D3294CF70F00263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10EB2044A3C60003C045 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, + 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 0B773D64B309FE8B1C43C096 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + 3399D490228B24CF009A79C7 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + outputFileListPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; + }; + 33CC111E2044C6BF0003C045 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + Flutter/ephemeral/FlutterInputs.xcfilelist, + ); + inputPaths = ( + Flutter/ephemeral/tripwire, + ); + outputFileListPaths = ( + Flutter/ephemeral/FlutterOutputs.xcfilelist, + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; + }; + 4DACA89469123DBF706A6DEC /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + DB73DCCDE8FAA136C11B0BD8 /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C80D1294CF70F00263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 33CC10E92044A3C60003C045 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, + 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, + 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC10EC2044A3C60003C045 /* Runner */; + targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; + }; + 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; + targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { + isa = PBXVariantGroup; + children = ( + 33CC10F52044A3C60003C045 /* Base */, + ); + name = MainMenu.xib; + path = Runner; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 331C80DB294CF71000263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D8A7E0EE9000B69937E2CAAF /* Pods-RunnerTests.debug.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/universal_ble_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/universal_ble_example"; + }; + name = Debug; + }; + 331C80DC294CF71000263BE5 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = BF9EC7C1208428926C8C045E /* Pods-RunnerTests.release.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/universal_ble_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/universal_ble_example"; + }; + name = Release; + }; + 331C80DD294CF71000263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = C5F6162E162B944885A4C57E /* Pods-RunnerTests.profile.xcconfig */; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/universal_ble_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/universal_ble_example"; + }; + name = Profile; + }; + 338D0CE9231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Profile; + }; + 338D0CEA231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Profile; + }; + 338D0CEB231458BD00FA5F75 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Profile; + }; + 33CC10F92044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 33CC10FA2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.14; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + }; + name = Release; + }; + 33CC10FC2044A3C60003C045 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + 33CC10FD2044A3C60003C045 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; + 33CC111C2044C6BA0003C045 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Manual; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 33CC111D2044C6BA0003C045 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C80DB294CF71000263BE5 /* Debug */, + 331C80DC294CF71000263BE5 /* Release */, + 331C80DD294CF71000263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10F92044A3C60003C045 /* Debug */, + 33CC10FA2044A3C60003C045 /* Release */, + 338D0CE9231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC10FC2044A3C60003C045 /* Debug */, + 33CC10FD2044A3C60003C045 /* Release */, + 338D0CEA231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 33CC111C2044C6BA0003C045 /* Debug */, + 33CC111D2044C6BA0003C045 /* Release */, + 338D0CEB231458BD00FA5F75 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 33CC10E52044A3C60003C045 /* Project object */; +} diff --git a/universal_ble/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/universal_ble/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/universal_ble/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/universal_ble/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/universal_ble/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 000000000..793b0cfdd --- /dev/null +++ b/universal_ble/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/universal_ble/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/universal_ble/example/macos/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..21a3cc14c --- /dev/null +++ b/universal_ble/example/macos/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/universal_ble/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/universal_ble/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/universal_ble/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/universal_ble/example/macos/Runner/AppDelegate.swift b/universal_ble/example/macos/Runner/AppDelegate.swift new file mode 100644 index 000000000..b3c176141 --- /dev/null +++ b/universal_ble/example/macos/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Cocoa +import FlutterMacOS + +@main +class AppDelegate: FlutterAppDelegate { + override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { + return true + } + + override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { + return true + } +} diff --git a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..a2ec33f19 --- /dev/null +++ b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images" : [ + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_16.png", + "scale" : "1x" + }, + { + "size" : "16x16", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "2x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_32.png", + "scale" : "1x" + }, + { + "size" : "32x32", + "idiom" : "mac", + "filename" : "app_icon_64.png", + "scale" : "2x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_128.png", + "scale" : "1x" + }, + { + "size" : "128x128", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "2x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_256.png", + "scale" : "1x" + }, + { + "size" : "256x256", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "2x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_512.png", + "scale" : "1x" + }, + { + "size" : "512x512", + "idiom" : "mac", + "filename" : "app_icon_1024.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..82b6f9d9a33e198f5747104729e1fcef999772a5 GIT binary patch literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY literal 0 HcmV?d00001 diff --git a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png new file mode 100644 index 0000000000000000000000000000000000000000..13b35eba55c6dabc3aac36f33d859266c18fa0d0 GIT binary patch literal 5680 zcmaiYXH?Tqu=Xz`p-L#B_gI#0we$cm_HcmYFP$?wjD#BaCN4mzC5#`>w9y6=ThxrYZc0WPXprg zYjB`UsV}0=eUtY$(P6YW}npdd;%9pi?zS3k-nqCob zSX_AQEf|=wYT3r?f!*Yt)ar^;l3Sro{z(7deUBPd2~(SzZ-s@0r&~Km2S?8r##9-< z)2UOSVaHqq6}%sA9Ww;V2LG=PnNAh6mA2iWOuV7T_lRDR z&N8-eN=U)-T|;wo^Wv=34wtV0g}sAAe}`Ph@~!|<;z7*K8(qkX0}o=!(+N*UWrkEja*$_H6mhK1u{P!AC39} z|3+Z(mAOq#XRYS)TLoHv<)d%$$I@+x+2)V{@o~~J-!YUI-Q9%!Ldi4Op&Lw&B>jj* zwAgC#Y>gbIqv!d|J5f!$dbCXoq(l3GR(S>(rtZ~Z*agXMMKN!@mWT_vmCbSd3dUUm z4M&+gz?@^#RRGal%G3dDvj7C5QTb@9+!MG+>0dcjtZEB45c+qx*c?)d<%htn1o!#1 zpIGonh>P1LHu3s)fGFF-qS}AXjW|M*2Xjkh7(~r(lN=o#mBD9?jt74=Rz85I4Nfx_ z7Z)q?!};>IUjMNM6ee2Thq7))a>My?iWFxQ&}WvsFP5LP+iGz+QiYek+K1`bZiTV- zHHYng?ct@Uw5!gquJ(tEv1wTrRR7cemI>aSzLI^$PxW`wL_zt@RSfZ1M3c2sbebM* ze0=;sy^!90gL~YKISz*x;*^~hcCoO&CRD)zjT(A2b_uRue=QXFe5|!cf0z1m!iwv5GUnLw9Dr*Ux z)3Lc!J@Ei;&&yxGpf2kn@2wJ2?t6~obUg;?tBiD#uo$SkFIasu+^~h33W~`r82rSa ztyE;ehFjC2hjpJ-e__EH&z?!~>UBb=&%DS>NT)1O3Isn-!SElBV2!~m6v0$vx^a<@ISutdTk1@?;i z<8w#b-%|a#?e5(n@7>M|v<<0Kpg?BiHYMRe!3Z{wYc2hN{2`6(;q`9BtXIhVq6t~KMH~J0~XtUuT06hL8c1BYZWhN zk4F2I;|za*R{ToHH2L?MfRAm5(i1Ijw;f+0&J}pZ=A0;A4M`|10ZskA!a4VibFKn^ zdVH4OlsFV{R}vFlD~aA4xxSCTTMW@Gws4bFWI@xume%smAnuJ0b91QIF?ZV!%VSRJ zO7FmG!swKO{xuH{DYZ^##gGrXsUwYfD0dxXX3>QmD&`mSi;k)YvEQX?UyfIjQeIm! z0ME3gmQ`qRZ;{qYOWt}$-mW*>D~SPZKOgP)T-Sg%d;cw^#$>3A9I(%#vsTRQe%moT zU`geRJ16l>FV^HKX1GG7fR9AT((jaVb~E|0(c-WYQscVl(z?W!rJp`etF$dBXP|EG z=WXbcZ8mI)WBN>3<@%4eD597FD5nlZajwh8(c$lum>yP)F}=(D5g1-WVZRc)(!E3} z-6jy(x$OZOwE=~{EQS(Tp`yV2&t;KBpG*XWX!yG+>tc4aoxbXi7u@O*8WWFOxUjcq z^uV_|*818$+@_{|d~VOP{NcNi+FpJ9)aA2So<7sB%j`$Prje&auIiTBb{oD7q~3g0 z>QNIwcz(V-y{Ona?L&=JaV5`o71nIsWUMA~HOdCs10H+Irew#Kr(2cn>orG2J!jvP zqcVX0OiF}c<)+5&p}a>_Uuv)L_j}nqnJ5a?RPBNi8k$R~zpZ33AA4=xJ@Z($s3pG9 zkURJY5ZI=cZGRt_;`hs$kE@B0FrRx(6K{`i1^*TY;Vn?|IAv9|NrN*KnJqO|8$e1& zb?OgMV&q5|w7PNlHLHF) zB+AK#?EtCgCvwvZ6*u|TDhJcCO+%I^@Td8CR}+nz;OZ*4Dn?mSi97m*CXXc=};!P`B?}X`F-B5v-%ACa8fo0W++j&ztmqK z;&A)cT4ob9&MxpQU41agyMU8jFq~RzXOAsy>}hBQdFVL%aTn~M>5t9go2j$i9=(rZ zADmVj;Qntcr3NIPPTggpUxL_z#5~C!Gk2Rk^3jSiDqsbpOXf^f&|h^jT4|l2ehPat zb$<*B+x^qO8Po2+DAmrQ$Zqc`1%?gp*mDk>ERf6I|42^tjR6>}4`F_Mo^N(~Spjcg z_uY$}zui*PuDJjrpP0Pd+x^5ds3TG#f?57dFL{auS_W8|G*o}gcnsKYjS6*t8VI<) zcjqTzW(Hk*t-Qhq`Xe+x%}sxXRerScbPGv8hlJ;CnU-!Nl=# zR=iTFf9`EItr9iAlAGi}i&~nJ-&+)Y| zMZigh{LXe)uR+4D_Yb+1?I93mHQ5{pId2Fq%DBr7`?ipi;CT!Q&|EO3gH~7g?8>~l zT@%*5BbetH)~%TrAF1!-!=)`FIS{^EVA4WlXYtEy^|@y@yr!C~gX+cp2;|O4x1_Ol z4fPOE^nj(}KPQasY#U{m)}TZt1C5O}vz`A|1J!-D)bR%^+=J-yJsQXDzFiqb+PT0! zIaDWWU(AfOKlSBMS};3xBN*1F2j1-_=%o($ETm8@oR_NvtMDVIv_k zlnNBiHU&h8425{MCa=`vb2YP5KM7**!{1O>5Khzu+5OVGY;V=Vl+24fOE;tMfujoF z0M``}MNnTg3f%Uy6hZi$#g%PUA_-W>uVCYpE*1j>U8cYP6m(>KAVCmbsDf39Lqv0^ zt}V6FWjOU@AbruB7MH2XqtnwiXS2scgjVMH&aF~AIduh#^aT1>*V>-st8%=Kk*{bL zzbQcK(l2~)*A8gvfX=RPsNnjfkRZ@3DZ*ff5rmx{@iYJV+a@&++}ZW+za2fU>&(4y`6wgMpQGG5Ah(9oGcJ^P(H< zvYn5JE$2B`Z7F6ihy>_49!6}(-)oZ(zryIXt=*a$bpIw^k?>RJ2 zQYr>-D#T`2ZWDU$pM89Cl+C<;J!EzHwn(NNnWpYFqDDZ_*FZ{9KQRcSrl5T>dj+eA zi|okW;6)6LR5zebZJtZ%6Gx8^=2d9>_670!8Qm$wd+?zc4RAfV!ZZ$jV0qrv(D`db zm_T*KGCh3CJGb(*X6nXzh!h9@BZ-NO8py|wG8Qv^N*g?kouH4%QkPU~Vizh-D3<@% zGomx%q42B7B}?MVdv1DFb!axQ73AUxqr!yTyFlp%Z1IAgG49usqaEbI_RnbweR;Xs zpJq7GKL_iqi8Md?f>cR?^0CA+Uk(#mTlGdZbuC*$PrdB$+EGiW**=$A3X&^lM^K2s zzwc3LtEs5|ho z2>U(-GL`}eNgL-nv3h7E<*<>C%O^=mmmX0`jQb6$mP7jUKaY4je&dCG{x$`0=_s$+ zSpgn!8f~ya&U@c%{HyrmiW2&Wzc#Sw@+14sCpTWReYpF9EQ|7vF*g|sqG3hx67g}9 zwUj5QP2Q-(KxovRtL|-62_QsHLD4Mu&qS|iDp%!rs(~ah8FcrGb?Uv^Qub5ZT_kn%I^U2rxo1DDpmN@8uejxik`DK2~IDi1d?%~pR7i#KTS zA78XRx<(RYO0_uKnw~vBKi9zX8VnjZEi?vD?YAw}y+)wIjIVg&5(=%rjx3xQ_vGCy z*&$A+bT#9%ZjI;0w(k$|*x{I1c!ECMus|TEA#QE%#&LxfGvijl7Ih!B2 z6((F_gwkV;+oSKrtr&pX&fKo3s3`TG@ye+k3Ov)<#J|p8?vKh@<$YE@YIU1~@7{f+ zydTna#zv?)6&s=1gqH<-piG>E6XW8ZI7&b@-+Yk0Oan_CW!~Q2R{QvMm8_W1IV8<+ zQTyy=(Wf*qcQubRK)$B;QF}Y>V6d_NM#=-ydM?%EPo$Q+jkf}*UrzR?Nsf?~pzIj$ z<$wN;7c!WDZ(G_7N@YgZ``l;_eAd3+;omNjlpfn;0(B7L)^;;1SsI6Le+c^ULe;O@ zl+Z@OOAr4$a;=I~R0w4jO`*PKBp?3K+uJ+Tu8^%i<_~bU!p%so z^sjol^slR`W@jiqn!M~eClIIl+`A5%lGT{z^mRbpv}~AyO%R*jmG_Wrng{B9TwIuS z0!@fsM~!57K1l0%{yy(#no}roy#r!?0wm~HT!vLDfEBs9x#`9yCKgufm0MjVRfZ=f z4*ZRc2Lgr(P+j2zQE_JzYmP0*;trl7{*N341Cq}%^M^VC3gKG-hY zmPT>ECyrhIoFhnMB^qpdbiuI}pk{qPbK^}0?Rf7^{98+95zNq6!RuV_zAe&nDk0;f zez~oXlE5%ve^TmBEt*x_X#fs(-En$jXr-R4sb$b~`nS=iOy|OVrph(U&cVS!IhmZ~ zKIRA9X%Wp1J=vTvHZ~SDe_JXOe9*fa zgEPf;gD^|qE=dl>Qkx3(80#SE7oxXQ(n4qQ#by{uppSKoDbaq`U+fRqk0BwI>IXV3 zD#K%ASkzd7u>@|pA=)Z>rQr@dLH}*r7r0ng zxa^eME+l*s7{5TNu!+bD{Pp@2)v%g6^>yj{XP&mShhg9GszNu4ITW=XCIUp2Xro&1 zg_D=J3r)6hp$8+94?D$Yn2@Kp-3LDsci)<-H!wCeQt$e9Jk)K86hvV^*Nj-Ea*o;G zsuhRw$H{$o>8qByz1V!(yV{p_0X?Kmy%g#1oSmlHsw;FQ%j9S#}ha zm0Nx09@jmOtP8Q+onN^BAgd8QI^(y!n;-APUpo5WVdmp8!`yKTlF>cqn>ag`4;o>i zl!M0G-(S*fm6VjYy}J}0nX7nJ$h`|b&KuW4d&W5IhbR;-)*9Y0(Jj|@j`$xoPQ=Cl literal 0 HcmV?d00001 diff --git a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png new file mode 100644 index 0000000000000000000000000000000000000000..0a3f5fa40fb3d1e0710331a48de5d256da3f275d GIT binary patch literal 520 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 literal 0 HcmV?d00001 diff --git a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png new file mode 100644 index 0000000000000000000000000000000000000000..2f1632cfddf3d9dade342351e627a0a75609fb46 GIT binary patch literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr + + + + + + + + + + + + + + + + + + + + + +

        + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/universal_ble/example/macos/Runner/Configs/AppInfo.xcconfig b/universal_ble/example/macos/Runner/Configs/AppInfo.xcconfig new file mode 100644 index 000000000..d550e1438 --- /dev/null +++ b/universal_ble/example/macos/Runner/Configs/AppInfo.xcconfig @@ -0,0 +1,14 @@ +// Application-level settings for the Runner target. +// +// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the +// future. If not, the values below would default to using the project name when this becomes a +// 'flutter create' template. + +// The application's name. By default this is also the title of the Flutter window. +PRODUCT_NAME = universal_ble_example + +// The application's bundle identifier +PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample + +// The copyright displayed in application information +PRODUCT_COPYRIGHT = Copyright © 2023 com.navideck. All rights reserved. diff --git a/universal_ble/example/macos/Runner/Configs/Debug.xcconfig b/universal_ble/example/macos/Runner/Configs/Debug.xcconfig new file mode 100644 index 000000000..36b0fd946 --- /dev/null +++ b/universal_ble/example/macos/Runner/Configs/Debug.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Debug.xcconfig" +#include "Warnings.xcconfig" diff --git a/universal_ble/example/macos/Runner/Configs/Release.xcconfig b/universal_ble/example/macos/Runner/Configs/Release.xcconfig new file mode 100644 index 000000000..dff4f4956 --- /dev/null +++ b/universal_ble/example/macos/Runner/Configs/Release.xcconfig @@ -0,0 +1,2 @@ +#include "../../Flutter/Flutter-Release.xcconfig" +#include "Warnings.xcconfig" diff --git a/universal_ble/example/macos/Runner/Configs/Warnings.xcconfig b/universal_ble/example/macos/Runner/Configs/Warnings.xcconfig new file mode 100644 index 000000000..42bcbf478 --- /dev/null +++ b/universal_ble/example/macos/Runner/Configs/Warnings.xcconfig @@ -0,0 +1,13 @@ +WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings +GCC_WARN_UNDECLARED_SELECTOR = YES +CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES +CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CLANG_WARN_PRAGMA_PACK = YES +CLANG_WARN_STRICT_PROTOTYPES = YES +CLANG_WARN_COMMA = YES +GCC_WARN_STRICT_SELECTOR_MATCH = YES +CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES +CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES +GCC_WARN_SHADOW = YES +CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/universal_ble/example/macos/Runner/DebugProfile.entitlements b/universal_ble/example/macos/Runner/DebugProfile.entitlements new file mode 100644 index 000000000..14a39b7ec --- /dev/null +++ b/universal_ble/example/macos/Runner/DebugProfile.entitlements @@ -0,0 +1,14 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.cs.allow-jit + + com.apple.security.device.bluetooth + + com.apple.security.network.server + + + diff --git a/universal_ble/example/macos/Runner/Info.plist b/universal_ble/example/macos/Runner/Info.plist new file mode 100644 index 000000000..d24dbb710 --- /dev/null +++ b/universal_ble/example/macos/Runner/Info.plist @@ -0,0 +1,36 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIconFile + + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSMinimumSystemVersion + $(MACOSX_DEPLOYMENT_TARGET) + NSHumanReadableCopyright + $(PRODUCT_COPYRIGHT) + NSMainNibFile + MainMenu + NSPrincipalClass + NSApplication + NSBluetoothAlwaysUsageDescription + Discover Bluetooth devices + NSBluetoothPeripheralUsageDescription + Discover Bluetooth devices + + diff --git a/universal_ble/example/macos/Runner/MainFlutterWindow.swift b/universal_ble/example/macos/Runner/MainFlutterWindow.swift new file mode 100644 index 000000000..3cc05eb23 --- /dev/null +++ b/universal_ble/example/macos/Runner/MainFlutterWindow.swift @@ -0,0 +1,15 @@ +import Cocoa +import FlutterMacOS + +class MainFlutterWindow: NSWindow { + override func awakeFromNib() { + let flutterViewController = FlutterViewController() + let windowFrame = self.frame + self.contentViewController = flutterViewController + self.setFrame(windowFrame, display: true) + + RegisterGeneratedPlugins(registry: flutterViewController) + + super.awakeFromNib() + } +} diff --git a/universal_ble/example/macos/Runner/Release.entitlements b/universal_ble/example/macos/Runner/Release.entitlements new file mode 100644 index 000000000..c63c9510a --- /dev/null +++ b/universal_ble/example/macos/Runner/Release.entitlements @@ -0,0 +1,12 @@ + + + + + com.apple.security.app-sandbox + + com.apple.security.device.bluetooth + + com.apple.security.network.server + + + diff --git a/universal_ble/example/macos/RunnerTests/RunnerTests.swift b/universal_ble/example/macos/RunnerTests/RunnerTests.swift new file mode 100644 index 000000000..e0c61cbd7 --- /dev/null +++ b/universal_ble/example/macos/RunnerTests/RunnerTests.swift @@ -0,0 +1,27 @@ +import FlutterMacOS +import Cocoa +import XCTest + +@testable import universal_ble + +// This demonstrates a simple unit test of the Swift portion of this plugin's implementation. +// +// See https://developer.apple.com/documentation/xctest for more information about using XCTest. + +class RunnerTests: XCTestCase { + + func testGetPlatformVersion() { + let plugin = UniversalBlePlugin() + + let call = FlutterMethodCall(methodName: "getPlatformVersion", arguments: []) + + let resultExpectation = expectation(description: "result block must be called.") + plugin.handle(call) { result in + XCTAssertEqual(result as! String, + "macOS " + ProcessInfo.processInfo.operatingSystemVersionString) + resultExpectation.fulfill() + } + waitForExpectations(timeout: 1) + } + +} diff --git a/universal_ble/example/pubspec.lock b/universal_ble/example/pubspec.lock new file mode 100644 index 000000000..3ef07d5b2 --- /dev/null +++ b/universal_ble/example/pubspec.lock @@ -0,0 +1,456 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + args: + dependency: transitive + description: + name: args + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" + url: "https://pub.dev" + source: hosted + version: "2.5.0" + async: + dependency: transitive + description: + name: async + sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 + url: "https://pub.dev" + source: hosted + version: "2.12.0" + bluez: + dependency: transitive + description: + name: bluez + sha256: "61a7204381925896a374301498f2f5399e59827c6498ae1e924aaa598751b545" + url: "https://pub.dev" + source: hosted + version: "0.8.3" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + characters: + dependency: transitive + description: + name: characters + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 + url: "https://pub.dev" + source: hosted + version: "1.4.0" + clock: + dependency: transitive + description: + name: clock + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b + url: "https://pub.dev" + source: hosted + version: "1.1.2" + collection: + dependency: transitive + description: + name: collection + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" + url: "https://pub.dev" + source: hosted + version: "1.19.1" + convert: + dependency: "direct main" + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 + url: "https://pub.dev" + source: hosted + version: "1.0.8" + dbus: + dependency: transitive + description: + name: dbus + sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c" + url: "https://pub.dev" + source: hosted + version: "0.7.11" + device_info_plus: + dependency: "direct main" + description: + name: device_info_plus + sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" + url: "https://pub.dev" + source: hosted + version: "9.1.2" + device_info_plus_platform_interface: + dependency: transitive + description: + name: device_info_plus_platform_interface + sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64 + url: "https://pub.dev" + source: hosted + version: "7.0.0" + expandable: + dependency: "direct main" + description: + name: expandable + sha256: "9604d612d4d1146dafa96c6d8eec9c2ff0994658d6d09fed720ab788c7f5afc2" + url: "https://pub.dev" + source: hosted + version: "5.0.1" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" + url: "https://pub.dev" + source: hosted + version: "1.3.2" + ffi: + dependency: transitive + description: + name: ffi + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + file: + dependency: transitive + description: + name: file + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 + url: "https://pub.dev" + source: hosted + version: "7.0.1" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_driver: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 + url: "https://pub.dev" + source: hosted + version: "2.0.3" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_bluetooth: + dependency: transitive + description: + name: flutter_web_bluetooth + sha256: "1363831def5eed1e1064d1eca04e8ccb35446e8f758579c3c519e156b77926da" + url: "https://pub.dev" + source: hosted + version: "1.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + fuchsia_remote_debug_protocol: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + integration_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec + url: "https://pub.dev" + source: hosted + version: "10.0.8" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 + url: "https://pub.dev" + source: hosted + version: "3.0.9" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" + url: "https://pub.dev" + source: hosted + version: "3.0.1" + lints: + dependency: transitive + description: + name: lints + sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 + url: "https://pub.dev" + source: hosted + version: "0.12.17" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + url: "https://pub.dev" + source: hosted + version: "0.11.1" + meta: + dependency: transitive + description: + name: meta + sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c + url: "https://pub.dev" + source: hosted + version: "1.16.0" + path: + dependency: transitive + description: + name: path + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" + url: "https://pub.dev" + source: hosted + version: "1.9.1" + permission_handler: + dependency: "direct main" + description: + name: permission_handler + sha256: bc56bfe9d3f44c3c612d8d393bd9b174eb796d706759f9b495ac254e4294baa5 + url: "https://pub.dev" + source: hosted + version: "10.4.5" + permission_handler_android: + dependency: transitive + description: + name: permission_handler_android + sha256: "59c6322171c29df93a22d150ad95f3aa19ed86542eaec409ab2691b8f35f9a47" + url: "https://pub.dev" + source: hosted + version: "10.3.6" + permission_handler_apple: + dependency: transitive + description: + name: permission_handler_apple + sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5" + url: "https://pub.dev" + source: hosted + version: "9.1.4" + permission_handler_platform_interface: + dependency: transitive + description: + name: permission_handler_platform_interface + sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4" + url: "https://pub.dev" + source: hosted + version: "3.12.0" + permission_handler_windows: + dependency: transitive + description: + name: permission_handler_windows + sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098 + url: "https://pub.dev" + source: hosted + version: "0.1.3" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + url: "https://pub.dev" + source: hosted + version: "6.0.2" + platform: + dependency: transitive + description: + name: platform + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" + url: "https://pub.dev" + source: hosted + version: "3.1.6" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + process: + dependency: transitive + description: + name: process + sha256: "107d8be718f120bbba9dcd1e95e3bd325b1b4a4f07db64154635ba03f2567a0d" + url: "https://pub.dev" + source: hosted + version: "5.0.3" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + source_span: + dependency: transitive + description: + name: source_span + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" + url: "https://pub.dev" + source: hosted + version: "1.10.1" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" + url: "https://pub.dev" + source: hosted + version: "1.12.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" + url: "https://pub.dev" + source: hosted + version: "1.4.1" + sync_http: + dependency: transitive + description: + name: sync_http + sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" + url: "https://pub.dev" + source: hosted + version: "0.3.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" + url: "https://pub.dev" + source: hosted + version: "1.2.2" + test_api: + dependency: transitive + description: + name: test_api + sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd + url: "https://pub.dev" + source: hosted + version: "0.7.4" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + universal_ble: + dependency: "direct main" + description: + path: ".." + relative: true + source: path + version: "0.17.0" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" + url: "https://pub.dev" + source: hosted + version: "14.3.1" + web: + dependency: transitive + description: + name: web + sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb + url: "https://pub.dev" + source: hosted + version: "1.1.0" + webdriver: + dependency: transitive + description: + name: webdriver + sha256: "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8" + url: "https://pub.dev" + source: hosted + version: "3.0.4" + win32: + dependency: transitive + description: + name: win32 + sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 + url: "https://pub.dev" + source: hosted + version: "5.5.1" + win32_registry: + dependency: transitive + description: + name: win32_registry + sha256: "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb" + url: "https://pub.dev" + source: hosted + version: "1.1.3" + xml: + dependency: transitive + description: + name: xml + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + url: "https://pub.dev" + source: hosted + version: "6.5.0" +sdks: + dart: ">=3.7.0-0 <4.0.0" + flutter: ">=3.18.0-18.0.pre.54" diff --git a/universal_ble/example/pubspec.yaml b/universal_ble/example/pubspec.yaml new file mode 100644 index 000000000..8bb769703 --- /dev/null +++ b/universal_ble/example/pubspec.yaml @@ -0,0 +1,28 @@ +name: universal_ble_example +description: Demonstrates how to use the universal_ble plugin. +version: 1.0.0+1 +publish_to: "none" + +environment: + sdk: ">=3.1.3 <4.0.0" + +dependencies: + flutter: + sdk: flutter + convert: ^3.1.1 + expandable: ^5.0.1 + cupertino_icons: ^1.0.2 + permission_handler: ^10.4.3 + device_info_plus: ^9.0.2 + universal_ble: + path: ../ + +dev_dependencies: + integration_test: + sdk: flutter + flutter_test: + sdk: flutter + flutter_lints: ^2.0.0 + +flutter: + uses-material-design: true diff --git a/universal_ble/example/web/favicon.png b/universal_ble/example/web/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aaa46ac1ae21512746f852a42ba87e4165dfdd1 GIT binary patch literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM literal 0 HcmV?d00001 diff --git a/universal_ble/example/web/icons/Icon-192.png b/universal_ble/example/web/icons/Icon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..b749bfef07473333cf1dd31e9eed89862a5d52aa GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/universal_ble/example/web/icons/Icon-512.png b/universal_ble/example/web/icons/Icon-512.png new file mode 100644 index 0000000000000000000000000000000000000000..88cfd48dff1169879ba46840804b412fe02fefd6 GIT binary patch literal 8252 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 literal 0 HcmV?d00001 diff --git a/universal_ble/example/web/icons/Icon-maskable-192.png b/universal_ble/example/web/icons/Icon-maskable-192.png new file mode 100644 index 0000000000000000000000000000000000000000..eb9b4d76e525556d5d89141648c724331630325d GIT binary patch literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! literal 0 HcmV?d00001 diff --git a/universal_ble/example/web/icons/Icon-maskable-512.png b/universal_ble/example/web/icons/Icon-maskable-512.png new file mode 100644 index 0000000000000000000000000000000000000000..d69c56691fbdb0b7efa65097c7cc1edac12a6d3e GIT binary patch literal 20998 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 MPgg&ebxsLQ025IeI{*Lx literal 0 HcmV?d00001 diff --git a/universal_ble/example/web/index.html b/universal_ble/example/web/index.html new file mode 100644 index 000000000..26f5da2b7 --- /dev/null +++ b/universal_ble/example/web/index.html @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + example + + + + + + diff --git a/universal_ble/example/web/manifest.json b/universal_ble/example/web/manifest.json new file mode 100644 index 000000000..8bc88df10 --- /dev/null +++ b/universal_ble/example/web/manifest.json @@ -0,0 +1,35 @@ +{ + "name": "Universal BLE", + "short_name": "Universal BLE", + "start_url": ".", + "display": "standalone", + "background_color": "#0175C2", + "theme_color": "#0175C2", + "description": "Example app for Web", + "orientation": "portrait-primary", + "prefer_related_applications": false, + "icons": [ + { + "src": "icons/Icon-192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/Icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "icons/Icon-maskable-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "icons/Icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + } + ] +} diff --git a/universal_ble/example/windows/.gitignore b/universal_ble/example/windows/.gitignore new file mode 100644 index 000000000..d492d0d98 --- /dev/null +++ b/universal_ble/example/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ephemeral/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/universal_ble/example/windows/CMakeLists.txt b/universal_ble/example/windows/CMakeLists.txt new file mode 100644 index 000000000..0937d8274 --- /dev/null +++ b/universal_ble/example/windows/CMakeLists.txt @@ -0,0 +1,104 @@ +# Project-level configuration. +cmake_minimum_required(VERSION 3.14) +project(universal_ble_example LANGUAGES CXX) + +# The name of the executable created for the application. Change this to change +# the on-disk name of your application. +set(BINARY_NAME "universal_ble_example") + +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent +# versions of CMake. +cmake_policy(VERSION 3.14...3.25) + +# Define build configuration option. +get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(IS_MULTICONFIG) + set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" + CACHE STRING "" FORCE) +else() + if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE "Debug" CACHE + STRING "Flutter build mode" FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS + "Debug" "Profile" "Release") + endif() +endif() +# Define settings for the Profile build mode. +set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") +set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") +set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") +set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") + +# Use Unicode for all projects. +add_definitions(-DUNICODE -D_UNICODE) + +# Compilation settings that should be applied to most targets. +# +# Be cautious about adding new options here, as plugins use this function by +# default. In most cases, you should add new options to specific targets instead +# of modifying this function. +function(APPLY_STANDARD_SETTINGS TARGET) + target_compile_features(${TARGET} PUBLIC cxx_std_17) + target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") + target_compile_options(${TARGET} PRIVATE /EHsc) + target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") + target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") +endfunction() + +# Flutter library and tool build rules. +set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") +add_subdirectory(${FLUTTER_MANAGED_DIR}) + +# Application build; see runner/CMakeLists.txt. +add_subdirectory("runner") + +# Enable the test target. +set(include_universal_ble_tests TRUE) + +# Generated plugin build rules, which manage building the plugins and adding +# them to the application. +include(flutter/generated_plugins.cmake) + + +# === Installation === +# Support files are copied into place next to the executable, so that it can +# run in place. This is done instead of making a separate bundle (as on Linux) +# so that building and running from within Visual Studio will work. +set(BUILD_BUNDLE_DIR "$") +# Make the "install" step default, as it's required to run. +set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) +if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) + set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) +endif() + +set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") +set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") + +install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + COMPONENT Runtime) + +install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) + +if(PLUGIN_BUNDLED_LIBRARIES) + install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" + DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" + COMPONENT Runtime) +endif() + +# Fully re-copy the assets directory on each build to avoid having stale files +# from a previous install. +set(FLUTTER_ASSET_DIR_NAME "flutter_assets") +install(CODE " + file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") + " COMPONENT Runtime) +install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" + DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) + +# Install the AOT library on non-Debug builds only. +install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" + CONFIGURATIONS Profile;Release + COMPONENT Runtime) diff --git a/universal_ble/example/windows/flutter/CMakeLists.txt b/universal_ble/example/windows/flutter/CMakeLists.txt new file mode 100644 index 000000000..903f4899d --- /dev/null +++ b/universal_ble/example/windows/flutter/CMakeLists.txt @@ -0,0 +1,109 @@ +# This file controls Flutter-level build steps. It should not be edited. +cmake_minimum_required(VERSION 3.14) + +set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") + +# Configuration provided via flutter tool. +include(${EPHEMERAL_DIR}/generated_config.cmake) + +# TODO: Move the rest of this into files in ephemeral. See +# https://github.com/flutter/flutter/issues/57146. +set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") + +# Set fallback configurations for older versions of the flutter tool. +if (NOT DEFINED FLUTTER_TARGET_PLATFORM) + set(FLUTTER_TARGET_PLATFORM "windows-x64") +endif() + +# === Flutter Library === +set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") + +# Published to parent scope for install step. +set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) +set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) +set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) +set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) + +list(APPEND FLUTTER_LIBRARY_HEADERS + "flutter_export.h" + "flutter_windows.h" + "flutter_messenger.h" + "flutter_plugin_registrar.h" + "flutter_texture_registrar.h" +) +list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") +add_library(flutter INTERFACE) +target_include_directories(flutter INTERFACE + "${EPHEMERAL_DIR}" +) +target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") +add_dependencies(flutter flutter_assemble) + +# === Wrapper === +list(APPEND CPP_WRAPPER_SOURCES_CORE + "core_implementations.cc" + "standard_codec.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_PLUGIN + "plugin_registrar.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") +list(APPEND CPP_WRAPPER_SOURCES_APP + "flutter_engine.cc" + "flutter_view_controller.cc" +) +list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") + +# Wrapper sources needed for a plugin. +add_library(flutter_wrapper_plugin STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} +) +apply_standard_settings(flutter_wrapper_plugin) +set_target_properties(flutter_wrapper_plugin PROPERTIES + POSITION_INDEPENDENT_CODE ON) +set_target_properties(flutter_wrapper_plugin PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) +target_include_directories(flutter_wrapper_plugin PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_plugin flutter_assemble) + +# Wrapper sources needed for the runner. +add_library(flutter_wrapper_app STATIC + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_APP} +) +apply_standard_settings(flutter_wrapper_app) +target_link_libraries(flutter_wrapper_app PUBLIC flutter) +target_include_directories(flutter_wrapper_app PUBLIC + "${WRAPPER_ROOT}/include" +) +add_dependencies(flutter_wrapper_app flutter_assemble) + +# === Flutter tool backend === +# _phony_ is a non-existent file to force this command to run every time, +# since currently there's no way to get a full input/output list from the +# flutter tool. +set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") +set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) +add_custom_command( + OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} + ${PHONY_OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env + ${FLUTTER_TOOL_ENVIRONMENT} + "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" + ${FLUTTER_TARGET_PLATFORM} $ + VERBATIM +) +add_custom_target(flutter_assemble DEPENDS + "${FLUTTER_LIBRARY}" + ${FLUTTER_LIBRARY_HEADERS} + ${CPP_WRAPPER_SOURCES_CORE} + ${CPP_WRAPPER_SOURCES_PLUGIN} + ${CPP_WRAPPER_SOURCES_APP} +) diff --git a/universal_ble/example/windows/flutter/generated_plugin_registrant.cc b/universal_ble/example/windows/flutter/generated_plugin_registrant.cc new file mode 100644 index 000000000..38608602f --- /dev/null +++ b/universal_ble/example/windows/flutter/generated_plugin_registrant.cc @@ -0,0 +1,17 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#include "generated_plugin_registrant.h" + +#include +#include + +void RegisterPlugins(flutter::PluginRegistry* registry) { + PermissionHandlerWindowsPluginRegisterWithRegistrar( + registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin")); + UniversalBlePluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("UniversalBlePluginCApi")); +} diff --git a/universal_ble/example/windows/flutter/generated_plugin_registrant.h b/universal_ble/example/windows/flutter/generated_plugin_registrant.h new file mode 100644 index 000000000..dc139d85a --- /dev/null +++ b/universal_ble/example/windows/flutter/generated_plugin_registrant.h @@ -0,0 +1,15 @@ +// +// Generated file. Do not edit. +// + +// clang-format off + +#ifndef GENERATED_PLUGIN_REGISTRANT_ +#define GENERATED_PLUGIN_REGISTRANT_ + +#include + +// Registers Flutter plugins. +void RegisterPlugins(flutter::PluginRegistry* registry); + +#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/universal_ble/example/windows/flutter/generated_plugins.cmake b/universal_ble/example/windows/flutter/generated_plugins.cmake new file mode 100644 index 000000000..3dcad9f21 --- /dev/null +++ b/universal_ble/example/windows/flutter/generated_plugins.cmake @@ -0,0 +1,25 @@ +# +# Generated file, do not edit. +# + +list(APPEND FLUTTER_PLUGIN_LIST + permission_handler_windows + universal_ble +) + +list(APPEND FLUTTER_FFI_PLUGIN_LIST +) + +set(PLUGIN_BUNDLED_LIBRARIES) + +foreach(plugin ${FLUTTER_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) + target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) + list(APPEND PLUGIN_BUNDLED_LIBRARIES $) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) +endforeach(plugin) + +foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) + add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) + list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) +endforeach(ffi_plugin) diff --git a/universal_ble/example/windows/runner/CMakeLists.txt b/universal_ble/example/windows/runner/CMakeLists.txt new file mode 100644 index 000000000..394917c05 --- /dev/null +++ b/universal_ble/example/windows/runner/CMakeLists.txt @@ -0,0 +1,40 @@ +cmake_minimum_required(VERSION 3.14) +project(runner LANGUAGES CXX) + +# Define the application target. To change its name, change BINARY_NAME in the +# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer +# work. +# +# Any new source files that you add to the application should be added here. +add_executable(${BINARY_NAME} WIN32 + "flutter_window.cpp" + "main.cpp" + "utils.cpp" + "win32_window.cpp" + "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" + "Runner.rc" + "runner.exe.manifest" +) + +# Apply the standard set of build settings. This can be removed for applications +# that need different build settings. +apply_standard_settings(${BINARY_NAME}) + +# Add preprocessor definitions for the build version. +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") +target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") + +# Disable Windows macros that collide with C++ standard library functions. +target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") + +# Add dependency libraries and include directories. Add any application-specific +# dependencies here. +target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) +target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") +target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") + +# Run the Flutter tool portions of the build. This must not be removed. +add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/universal_ble/example/windows/runner/Runner.rc b/universal_ble/example/windows/runner/Runner.rc new file mode 100644 index 000000000..23c0d5c91 --- /dev/null +++ b/universal_ble/example/windows/runner/Runner.rc @@ -0,0 +1,121 @@ +// Microsoft Visual C++ generated resource script. +// +#pragma code_page(65001) +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APP_ICON ICON "resources\\app_icon.ico" + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) +#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD +#else +#define VERSION_AS_NUMBER 1,0,0,0 +#endif + +#if defined(FLUTTER_VERSION) +#define VERSION_AS_STRING FLUTTER_VERSION +#else +#define VERSION_AS_STRING "1.0.0" +#endif + +VS_VERSION_INFO VERSIONINFO + FILEVERSION VERSION_AS_NUMBER + PRODUCTVERSION VERSION_AS_NUMBER + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK +#ifdef _DEBUG + FILEFLAGS VS_FF_DEBUG +#else + FILEFLAGS 0x0L +#endif + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "com.navideck" "\0" + VALUE "FileDescription", "universal_ble_example" "\0" + VALUE "FileVersion", VERSION_AS_STRING "\0" + VALUE "InternalName", "universal_ble_example" "\0" + VALUE "LegalCopyright", "Copyright (C) 2023 com.navideck. All rights reserved." "\0" + VALUE "OriginalFilename", "universal_ble_example.exe" "\0" + VALUE "ProductName", "universal_ble_example" "\0" + VALUE "ProductVersion", VERSION_AS_STRING "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1252 + END +END + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED diff --git a/universal_ble/example/windows/runner/flutter_window.cpp b/universal_ble/example/windows/runner/flutter_window.cpp new file mode 100644 index 000000000..955ee3038 --- /dev/null +++ b/universal_ble/example/windows/runner/flutter_window.cpp @@ -0,0 +1,71 @@ +#include "flutter_window.h" + +#include + +#include "flutter/generated_plugin_registrant.h" + +FlutterWindow::FlutterWindow(const flutter::DartProject& project) + : project_(project) {} + +FlutterWindow::~FlutterWindow() {} + +bool FlutterWindow::OnCreate() { + if (!Win32Window::OnCreate()) { + return false; + } + + RECT frame = GetClientArea(); + + // The size here must match the window dimensions to avoid unnecessary surface + // creation / destruction in the startup path. + flutter_controller_ = std::make_unique( + frame.right - frame.left, frame.bottom - frame.top, project_); + // Ensure that basic setup of the controller was successful. + if (!flutter_controller_->engine() || !flutter_controller_->view()) { + return false; + } + RegisterPlugins(flutter_controller_->engine()); + SetChildContent(flutter_controller_->view()->GetNativeWindow()); + + flutter_controller_->engine()->SetNextFrameCallback([&]() { + this->Show(); + }); + + // Flutter can complete the first frame before the "show window" callback is + // registered. The following call ensures a frame is pending to ensure the + // window is shown. It is a no-op if the first frame hasn't completed yet. + flutter_controller_->ForceRedraw(); + + return true; +} + +void FlutterWindow::OnDestroy() { + if (flutter_controller_) { + flutter_controller_ = nullptr; + } + + Win32Window::OnDestroy(); +} + +LRESULT +FlutterWindow::MessageHandler(HWND hwnd, UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + // Give Flutter, including plugins, an opportunity to handle window messages. + if (flutter_controller_) { + std::optional result = + flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, + lparam); + if (result) { + return *result; + } + } + + switch (message) { + case WM_FONTCHANGE: + flutter_controller_->engine()->ReloadSystemFonts(); + break; + } + + return Win32Window::MessageHandler(hwnd, message, wparam, lparam); +} diff --git a/universal_ble/example/windows/runner/flutter_window.h b/universal_ble/example/windows/runner/flutter_window.h new file mode 100644 index 000000000..6da0652f0 --- /dev/null +++ b/universal_ble/example/windows/runner/flutter_window.h @@ -0,0 +1,33 @@ +#ifndef RUNNER_FLUTTER_WINDOW_H_ +#define RUNNER_FLUTTER_WINDOW_H_ + +#include +#include + +#include + +#include "win32_window.h" + +// A window that does nothing but host a Flutter view. +class FlutterWindow : public Win32Window { + public: + // Creates a new FlutterWindow hosting a Flutter view running |project|. + explicit FlutterWindow(const flutter::DartProject& project); + virtual ~FlutterWindow(); + + protected: + // Win32Window: + bool OnCreate() override; + void OnDestroy() override; + LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, + LPARAM const lparam) noexcept override; + + private: + // The project to run. + flutter::DartProject project_; + + // The Flutter instance hosted by this window. + std::unique_ptr flutter_controller_; +}; + +#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/universal_ble/example/windows/runner/main.cpp b/universal_ble/example/windows/runner/main.cpp new file mode 100644 index 000000000..f2b1e45be --- /dev/null +++ b/universal_ble/example/windows/runner/main.cpp @@ -0,0 +1,43 @@ +#include +#include +#include + +#include "flutter_window.h" +#include "utils.h" + +int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, + _In_ wchar_t *command_line, _In_ int show_command) { + // Attach to console when present (e.g., 'flutter run') or create a + // new console when running with a debugger. + if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { + CreateAndAttachConsole(); + } + + // Initialize COM, so that it is available for use in the library and/or + // plugins. + ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); + + flutter::DartProject project(L"data"); + + std::vector command_line_arguments = + GetCommandLineArguments(); + + project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); + + FlutterWindow window(project); + Win32Window::Point origin(10, 10); + Win32Window::Size size(1280, 720); + if (!window.Create(L"universal_ble_example", origin, size)) { + return EXIT_FAILURE; + } + window.SetQuitOnClose(true); + + ::MSG msg; + while (::GetMessage(&msg, nullptr, 0, 0)) { + ::TranslateMessage(&msg); + ::DispatchMessage(&msg); + } + + ::CoUninitialize(); + return EXIT_SUCCESS; +} diff --git a/universal_ble/example/windows/runner/resource.h b/universal_ble/example/windows/runner/resource.h new file mode 100644 index 000000000..66a65d1e4 --- /dev/null +++ b/universal_ble/example/windows/runner/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by Runner.rc +// +#define IDI_APP_ICON 101 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 102 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1001 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/universal_ble/example/windows/runner/resources/app_icon.ico b/universal_ble/example/windows/runner/resources/app_icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c04e20caf6370ebb9253ad831cc31de4a9c965f6 GIT binary patch literal 33772 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 literal 0 HcmV?d00001 diff --git a/universal_ble/example/windows/runner/runner.exe.manifest b/universal_ble/example/windows/runner/runner.exe.manifest new file mode 100644 index 000000000..a42ea7687 --- /dev/null +++ b/universal_ble/example/windows/runner/runner.exe.manifest @@ -0,0 +1,20 @@ + + + + + PerMonitorV2 + + + + + + + + + + + + + + + diff --git a/universal_ble/example/windows/runner/utils.cpp b/universal_ble/example/windows/runner/utils.cpp new file mode 100644 index 000000000..b2b08734d --- /dev/null +++ b/universal_ble/example/windows/runner/utils.cpp @@ -0,0 +1,65 @@ +#include "utils.h" + +#include +#include +#include +#include + +#include + +void CreateAndAttachConsole() { + if (::AllocConsole()) { + FILE *unused; + if (freopen_s(&unused, "CONOUT$", "w", stdout)) { + _dup2(_fileno(stdout), 1); + } + if (freopen_s(&unused, "CONOUT$", "w", stderr)) { + _dup2(_fileno(stdout), 2); + } + std::ios::sync_with_stdio(); + FlutterDesktopResyncOutputStreams(); + } +} + +std::vector GetCommandLineArguments() { + // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. + int argc; + wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); + if (argv == nullptr) { + return std::vector(); + } + + std::vector command_line_arguments; + + // Skip the first argument as it's the binary name. + for (int i = 1; i < argc; i++) { + command_line_arguments.push_back(Utf8FromUtf16(argv[i])); + } + + ::LocalFree(argv); + + return command_line_arguments; +} + +std::string Utf8FromUtf16(const wchar_t* utf16_string) { + if (utf16_string == nullptr) { + return std::string(); + } + int target_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + -1, nullptr, 0, nullptr, nullptr) + -1; // remove the trailing null character + int input_length = (int)wcslen(utf16_string); + std::string utf8_string; + if (target_length <= 0 || target_length > utf8_string.max_size()) { + return utf8_string; + } + utf8_string.resize(target_length); + int converted_length = ::WideCharToMultiByte( + CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, + input_length, utf8_string.data(), target_length, nullptr, nullptr); + if (converted_length == 0) { + return std::string(); + } + return utf8_string; +} diff --git a/universal_ble/example/windows/runner/utils.h b/universal_ble/example/windows/runner/utils.h new file mode 100644 index 000000000..3879d5475 --- /dev/null +++ b/universal_ble/example/windows/runner/utils.h @@ -0,0 +1,19 @@ +#ifndef RUNNER_UTILS_H_ +#define RUNNER_UTILS_H_ + +#include +#include + +// Creates a console for the process, and redirects stdout and stderr to +// it for both the runner and the Flutter library. +void CreateAndAttachConsole(); + +// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string +// encoded in UTF-8. Returns an empty std::string on failure. +std::string Utf8FromUtf16(const wchar_t* utf16_string); + +// Gets the command line arguments passed in as a std::vector, +// encoded in UTF-8. Returns an empty std::vector on failure. +std::vector GetCommandLineArguments(); + +#endif // RUNNER_UTILS_H_ diff --git a/universal_ble/example/windows/runner/win32_window.cpp b/universal_ble/example/windows/runner/win32_window.cpp new file mode 100644 index 000000000..60608d0fe --- /dev/null +++ b/universal_ble/example/windows/runner/win32_window.cpp @@ -0,0 +1,288 @@ +#include "win32_window.h" + +#include +#include + +#include "resource.h" + +namespace { + +/// Window attribute that enables dark mode window decorations. +/// +/// Redefined in case the developer's machine has a Windows SDK older than +/// version 10.0.22000.0. +/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute +#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE +#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 +#endif + +constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; + +/// Registry key for app theme preference. +/// +/// A value of 0 indicates apps should use dark mode. A non-zero or missing +/// value indicates apps should use light mode. +constexpr const wchar_t kGetPreferredBrightnessRegKey[] = + L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; +constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; + +// The number of Win32Window objects that currently exist. +static int g_active_window_count = 0; + +using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); + +// Scale helper to convert logical scaler values to physical using passed in +// scale factor +int Scale(int source, double scale_factor) { + return static_cast(source * scale_factor); +} + +// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. +// This API is only needed for PerMonitor V1 awareness mode. +void EnableFullDpiSupportIfAvailable(HWND hwnd) { + HMODULE user32_module = LoadLibraryA("User32.dll"); + if (!user32_module) { + return; + } + auto enable_non_client_dpi_scaling = + reinterpret_cast( + GetProcAddress(user32_module, "EnableNonClientDpiScaling")); + if (enable_non_client_dpi_scaling != nullptr) { + enable_non_client_dpi_scaling(hwnd); + } + FreeLibrary(user32_module); +} + +} // namespace + +// Manages the Win32Window's window class registration. +class WindowClassRegistrar { + public: + ~WindowClassRegistrar() = default; + + // Returns the singleton registrar instance. + static WindowClassRegistrar* GetInstance() { + if (!instance_) { + instance_ = new WindowClassRegistrar(); + } + return instance_; + } + + // Returns the name of the window class, registering the class if it hasn't + // previously been registered. + const wchar_t* GetWindowClass(); + + // Unregisters the window class. Should only be called if there are no + // instances of the window. + void UnregisterWindowClass(); + + private: + WindowClassRegistrar() = default; + + static WindowClassRegistrar* instance_; + + bool class_registered_ = false; +}; + +WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; + +const wchar_t* WindowClassRegistrar::GetWindowClass() { + if (!class_registered_) { + WNDCLASS window_class{}; + window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); + window_class.lpszClassName = kWindowClassName; + window_class.style = CS_HREDRAW | CS_VREDRAW; + window_class.cbClsExtra = 0; + window_class.cbWndExtra = 0; + window_class.hInstance = GetModuleHandle(nullptr); + window_class.hIcon = + LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); + window_class.hbrBackground = 0; + window_class.lpszMenuName = nullptr; + window_class.lpfnWndProc = Win32Window::WndProc; + RegisterClass(&window_class); + class_registered_ = true; + } + return kWindowClassName; +} + +void WindowClassRegistrar::UnregisterWindowClass() { + UnregisterClass(kWindowClassName, nullptr); + class_registered_ = false; +} + +Win32Window::Win32Window() { + ++g_active_window_count; +} + +Win32Window::~Win32Window() { + --g_active_window_count; + Destroy(); +} + +bool Win32Window::Create(const std::wstring& title, + const Point& origin, + const Size& size) { + Destroy(); + + const wchar_t* window_class = + WindowClassRegistrar::GetInstance()->GetWindowClass(); + + const POINT target_point = {static_cast(origin.x), + static_cast(origin.y)}; + HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); + UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); + double scale_factor = dpi / 96.0; + + HWND window = CreateWindow( + window_class, title.c_str(), WS_OVERLAPPEDWINDOW, + Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), + Scale(size.width, scale_factor), Scale(size.height, scale_factor), + nullptr, nullptr, GetModuleHandle(nullptr), this); + + if (!window) { + return false; + } + + UpdateTheme(window); + + return OnCreate(); +} + +bool Win32Window::Show() { + return ShowWindow(window_handle_, SW_SHOWNORMAL); +} + +// static +LRESULT CALLBACK Win32Window::WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + if (message == WM_NCCREATE) { + auto window_struct = reinterpret_cast(lparam); + SetWindowLongPtr(window, GWLP_USERDATA, + reinterpret_cast(window_struct->lpCreateParams)); + + auto that = static_cast(window_struct->lpCreateParams); + EnableFullDpiSupportIfAvailable(window); + that->window_handle_ = window; + } else if (Win32Window* that = GetThisFromHandle(window)) { + return that->MessageHandler(window, message, wparam, lparam); + } + + return DefWindowProc(window, message, wparam, lparam); +} + +LRESULT +Win32Window::MessageHandler(HWND hwnd, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept { + switch (message) { + case WM_DESTROY: + window_handle_ = nullptr; + Destroy(); + if (quit_on_close_) { + PostQuitMessage(0); + } + return 0; + + case WM_DPICHANGED: { + auto newRectSize = reinterpret_cast(lparam); + LONG newWidth = newRectSize->right - newRectSize->left; + LONG newHeight = newRectSize->bottom - newRectSize->top; + + SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, + newHeight, SWP_NOZORDER | SWP_NOACTIVATE); + + return 0; + } + case WM_SIZE: { + RECT rect = GetClientArea(); + if (child_content_ != nullptr) { + // Size and position the child window. + MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, + rect.bottom - rect.top, TRUE); + } + return 0; + } + + case WM_ACTIVATE: + if (child_content_ != nullptr) { + SetFocus(child_content_); + } + return 0; + + case WM_DWMCOLORIZATIONCOLORCHANGED: + UpdateTheme(hwnd); + return 0; + } + + return DefWindowProc(window_handle_, message, wparam, lparam); +} + +void Win32Window::Destroy() { + OnDestroy(); + + if (window_handle_) { + DestroyWindow(window_handle_); + window_handle_ = nullptr; + } + if (g_active_window_count == 0) { + WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); + } +} + +Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { + return reinterpret_cast( + GetWindowLongPtr(window, GWLP_USERDATA)); +} + +void Win32Window::SetChildContent(HWND content) { + child_content_ = content; + SetParent(content, window_handle_); + RECT frame = GetClientArea(); + + MoveWindow(content, frame.left, frame.top, frame.right - frame.left, + frame.bottom - frame.top, true); + + SetFocus(child_content_); +} + +RECT Win32Window::GetClientArea() { + RECT frame; + GetClientRect(window_handle_, &frame); + return frame; +} + +HWND Win32Window::GetHandle() { + return window_handle_; +} + +void Win32Window::SetQuitOnClose(bool quit_on_close) { + quit_on_close_ = quit_on_close; +} + +bool Win32Window::OnCreate() { + // No-op; provided for subclasses. + return true; +} + +void Win32Window::OnDestroy() { + // No-op; provided for subclasses. +} + +void Win32Window::UpdateTheme(HWND const window) { + DWORD light_mode; + DWORD light_mode_size = sizeof(light_mode); + LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, + kGetPreferredBrightnessRegValue, + RRF_RT_REG_DWORD, nullptr, &light_mode, + &light_mode_size); + + if (result == ERROR_SUCCESS) { + BOOL enable_dark_mode = light_mode == 0; + DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, + &enable_dark_mode, sizeof(enable_dark_mode)); + } +} diff --git a/universal_ble/example/windows/runner/win32_window.h b/universal_ble/example/windows/runner/win32_window.h new file mode 100644 index 000000000..e901dde68 --- /dev/null +++ b/universal_ble/example/windows/runner/win32_window.h @@ -0,0 +1,102 @@ +#ifndef RUNNER_WIN32_WINDOW_H_ +#define RUNNER_WIN32_WINDOW_H_ + +#include + +#include +#include +#include + +// A class abstraction for a high DPI-aware Win32 Window. Intended to be +// inherited from by classes that wish to specialize with custom +// rendering and input handling +class Win32Window { + public: + struct Point { + unsigned int x; + unsigned int y; + Point(unsigned int x, unsigned int y) : x(x), y(y) {} + }; + + struct Size { + unsigned int width; + unsigned int height; + Size(unsigned int width, unsigned int height) + : width(width), height(height) {} + }; + + Win32Window(); + virtual ~Win32Window(); + + // Creates a win32 window with |title| that is positioned and sized using + // |origin| and |size|. New windows are created on the default monitor. Window + // sizes are specified to the OS in physical pixels, hence to ensure a + // consistent size this function will scale the inputted width and height as + // as appropriate for the default monitor. The window is invisible until + // |Show| is called. Returns true if the window was created successfully. + bool Create(const std::wstring& title, const Point& origin, const Size& size); + + // Show the current window. Returns true if the window was successfully shown. + bool Show(); + + // Release OS resources associated with window. + void Destroy(); + + // Inserts |content| into the window tree. + void SetChildContent(HWND content); + + // Returns the backing Window handle to enable clients to set icon and other + // window properties. Returns nullptr if the window has been destroyed. + HWND GetHandle(); + + // If true, closing this window will quit the application. + void SetQuitOnClose(bool quit_on_close); + + // Return a RECT representing the bounds of the current client area. + RECT GetClientArea(); + + protected: + // Processes and route salient window messages for mouse handling, + // size change and DPI. Delegates handling of these to member overloads that + // inheriting classes can handle. + virtual LRESULT MessageHandler(HWND window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Called when CreateAndShow is called, allowing subclass window-related + // setup. Subclasses should return false if setup fails. + virtual bool OnCreate(); + + // Called when Destroy is called. + virtual void OnDestroy(); + + private: + friend class WindowClassRegistrar; + + // OS callback called by message pump. Handles the WM_NCCREATE message which + // is passed when the non-client area is being created and enables automatic + // non-client DPI scaling so that the non-client area automatically + // responds to changes in DPI. All other messages are handled by + // MessageHandler. + static LRESULT CALLBACK WndProc(HWND const window, + UINT const message, + WPARAM const wparam, + LPARAM const lparam) noexcept; + + // Retrieves a class instance pointer for |window| + static Win32Window* GetThisFromHandle(HWND const window) noexcept; + + // Update the window frame's theme to match the system theme. + static void UpdateTheme(HWND const window); + + bool quit_on_close_ = false; + + // window handle for top level window. + HWND window_handle_ = nullptr; + + // window handle for hosted content. + HWND child_content_ = nullptr; +}; + +#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/universal_ble/lib/src/ble_command_queue.dart b/universal_ble/lib/src/ble_command_queue.dart new file mode 100644 index 000000000..2d5449b42 --- /dev/null +++ b/universal_ble/lib/src/ble_command_queue.dart @@ -0,0 +1,42 @@ +import 'package:universal_ble/src/queue.dart'; +import 'package:universal_ble/universal_ble.dart'; + +/// Set queue type and queue commands +class BleCommandQueue { + QueueType queueType; + Duration? timeout = const Duration(seconds: 10); + OnQueueUpdate? onQueueUpdate; + final Map _queueMap = {}; + static const String globalQueueId = 'global'; + + BleCommandQueue({this.queueType = QueueType.global}); + + Future queueCommand( + Future Function() command, { + bool withTimeout = true, + String? deviceId, + Duration? timeout, + }) { + Duration? duration = timeout ?? (withTimeout ? this.timeout : null); + return switch (queueType) { + QueueType.global => _queue().add(command, duration), + QueueType.perDevice => _queue(deviceId).add(command, duration), + QueueType.none => + duration != null ? command().timeout(duration) : command(), + }; + } + + Queue _queue([String? id = globalQueueId]) => + _queueMap[id] ?? _newQueue(id ?? globalQueueId); + + Queue _newQueue(String id) { + final queue = Queue(); + queue.onRemainingItemsUpdate = (int items) { + try { + onQueueUpdate?.call(id, items); + } catch (_) {} + }; + _queueMap[id] = queue; + return queue; + } +} diff --git a/universal_ble/lib/src/models/availability_state.dart b/universal_ble/lib/src/models/availability_state.dart new file mode 100644 index 000000000..0e0f8e648 --- /dev/null +++ b/universal_ble/lib/src/models/availability_state.dart @@ -0,0 +1,12 @@ +enum AvailabilityState { + unknown, + resetting, + unsupported, + unauthorized, + poweredOff, + poweredOn; + + const AvailabilityState(); + + factory AvailabilityState.parse(int index) => AvailabilityState.values[index]; +} diff --git a/universal_ble/lib/src/models/ble_capabilities.dart b/universal_ble/lib/src/models/ble_capabilities.dart new file mode 100644 index 000000000..9b37657d4 --- /dev/null +++ b/universal_ble/lib/src/models/ble_capabilities.dart @@ -0,0 +1,52 @@ +import 'package:flutter/foundation.dart'; + +class BleCapabilities { + /// Returns true if in-app pairing is possible either by API or by encrypted characteristic + /// using any kind of pairing method (Just Works, Numeric Comparison or Passkey Entry). + /// + /// All platforms return true except Web/Windows and Web/Linux which return false + /// because they only support "Numeric Comparison" and "Passkey Entry". + /// + /// For more fine-grained control it is recommended to use `triggersConfirmOnlyPairing` + /// in conjunction with the pairing method of your peripheral, + /// e.g. if (!BleCapabilities.triggersConfirmOnlyPairing && peripheralUsesConfirmOnlyPairing) throw "In-app pairing not supported"; + static final bool supportsAllPairingKinds = + triggersConfirmOnlyPairing || hasSystemPairingApi; + + /// Returns true if the platform triggers pairing for devices that use only confirmation pairing + /// (a.k.a. "Just Works" or legacy pairing) when trying to read or write to an encrypted characteristic. + /// + /// The "Numeric Comparison" and "Passkey Entry" pairing methods trigger pairing on all platforms. + /// + /// `Web/Linux` could also, under certain conditions, trigger "Just Works" pairing + /// but it very unreliable, therefore we return false. + static final triggersConfirmOnlyPairing = + defaultTargetPlatform != TargetPlatform.windows && + defaultTargetPlatform != TargetPlatform.linux; + + /// Returns true if pair()/unpair() are supported on the platform. + static bool hasSystemPairingApi = !kIsWeb && + (defaultTargetPlatform == TargetPlatform.android || + defaultTargetPlatform == TargetPlatform.windows || + defaultTargetPlatform == TargetPlatform.linux); + + static bool requiresRuntimePermission = + !_Platform.isWeb && !_Platform.isWindows && !_Platform.isLinux; + + static bool supportsBluetoothEnableApi = + !_Platform.isWeb && !_Platform.isCupertino; + + static bool supportsConnectedDevicesApi = !_Platform.isWeb; + + static bool supportsRequestMtuApi = !_Platform.isWeb; +} + +class _Platform { + static bool isWeb = kIsWeb; + static bool isIOS = !isWeb && defaultTargetPlatform == TargetPlatform.iOS; + static bool isMacos = !isWeb && defaultTargetPlatform == TargetPlatform.macOS; + static bool isWindows = + !isWeb && defaultTargetPlatform == TargetPlatform.windows; + static bool isLinux = !isWeb && defaultTargetPlatform == TargetPlatform.linux; + static bool get isCupertino => isIOS || isMacos; +} diff --git a/universal_ble/lib/src/models/ble_command.dart b/universal_ble/lib/src/models/ble_command.dart new file mode 100644 index 000000000..345d19c4e --- /dev/null +++ b/universal_ble/lib/src/models/ble_command.dart @@ -0,0 +1,13 @@ +import 'dart:typed_data'; + +class BleCommand { + String service; + String characteristic; + Uint8List? writeValue; + + BleCommand({ + required this.service, + required this.characteristic, + this.writeValue, + }); +} diff --git a/universal_ble/lib/src/models/ble_connection_state.dart b/universal_ble/lib/src/models/ble_connection_state.dart new file mode 100644 index 000000000..223029989 --- /dev/null +++ b/universal_ble/lib/src/models/ble_connection_state.dart @@ -0,0 +1,11 @@ +enum BleConnectionState { + connected, + disconnected, + connecting, + disconnecting; + + const BleConnectionState(); + + factory BleConnectionState.parse(int index) => + BleConnectionState.values[index]; +} diff --git a/universal_ble/lib/src/models/ble_connection_update.dart b/universal_ble/lib/src/models/ble_connection_update.dart new file mode 100644 index 000000000..f9727a75e --- /dev/null +++ b/universal_ble/lib/src/models/ble_connection_update.dart @@ -0,0 +1,11 @@ +class BleConnectionUpdate { + final String deviceId; + final bool isConnected; + final String? error; + + BleConnectionUpdate({ + required this.deviceId, + required this.isConnected, + this.error, + }); +} diff --git a/universal_ble/lib/src/models/ble_device.dart b/universal_ble/lib/src/models/ble_device.dart new file mode 100644 index 000000000..b471861f2 --- /dev/null +++ b/universal_ble/lib/src/models/ble_device.dart @@ -0,0 +1,55 @@ +import 'dart:typed_data'; + +import 'package:universal_ble/universal_ble.dart'; + +class BleDevice { + String deviceId; + String? name; + String? rawName; + int? rssi; + bool? isPaired; + List services; + bool? isSystemDevice; + List manufacturerDataList; + + @Deprecated("Use `manufacturerDataList` instead") + Uint8List? get manufacturerData => manufacturerDataList.isEmpty + ? null + : manufacturerDataList.first.toUint8List(); + + /// Returns connection state of the device. + /// All platforms will return `Connected/Disconnected` states. + /// `Android` and `Apple` can also return `Connecting/Disconnecting` states. + Future get connectionState => + UniversalBle.getConnectionState(deviceId); + + /// On web, it returns true if the web browser supports receiving advertisements from this device. + /// The rest of the platforms will always return true. + bool get receivesAdvertisements => + UniversalBle.receivesAdvertisements(deviceId); + + BleDevice({ + required this.deviceId, + required String? name, + this.rssi, + this.isPaired, + this.services = const [], + this.isSystemDevice, + this.manufacturerDataList = const [], + }) { + rawName = name; + this.name = name?.replaceAll(RegExp(r'[^ -~]'), '').trim(); + } + + @override + String toString() { + return 'BleDevice: ' + 'deviceId: $deviceId, ' + 'name: $name, ' + 'rssi: $rssi, ' + 'isPaired: $isPaired, ' + 'services: $services, ' + 'isSystemDevice: $isSystemDevice, ' + 'manufacturerDataList: $manufacturerDataList'; + } +} diff --git a/universal_ble/lib/src/models/ble_property.dart b/universal_ble/lib/src/models/ble_property.dart new file mode 100644 index 000000000..df94343d6 --- /dev/null +++ b/universal_ble/lib/src/models/ble_property.dart @@ -0,0 +1,18 @@ +enum BleInputProperty { + disabled, + notification, + indication; + + const BleInputProperty(); + + factory BleInputProperty.parse(int index) => BleInputProperty.values[index]; +} + +enum BleOutputProperty { + withResponse, + withoutResponse; + + const BleOutputProperty(); + + factory BleOutputProperty.parse(int index) => BleOutputProperty.values[index]; +} diff --git a/universal_ble/lib/src/models/ble_service.dart b/universal_ble/lib/src/models/ble_service.dart new file mode 100644 index 000000000..f8448204e --- /dev/null +++ b/universal_ble/lib/src/models/ble_service.dart @@ -0,0 +1,48 @@ +import 'package:universal_ble/universal_ble.dart'; + +class BleService { + late String uuid; + List characteristics; + + BleService(String uuid, this.characteristics) { + this.uuid = BleUuidParser.string(uuid); + } + + @override + String toString() { + return 'BleService{uuid: $uuid, characteristics: $characteristics}'; + } +} + +class BleCharacteristic { + late String uuid; + List properties; + + BleCharacteristic(String uuid, this.properties) { + this.uuid = BleUuidParser.string(uuid); + } + + @override + String toString() { + return 'BleCharacteristic{uuid: $uuid, properties: $properties}'; + } +} + +enum CharacteristicProperty { + broadcast, + read, + writeWithoutResponse, + write, + notify, + indicate, + authenticatedSignedWrites, + extendedProperties; + + const CharacteristicProperty(); + + factory CharacteristicProperty.parse(int index) => + CharacteristicProperty.values[index]; + + @override + String toString() => name; +} diff --git a/universal_ble/lib/src/models/ble_uuid_parser.dart b/universal_ble/lib/src/models/ble_uuid_parser.dart new file mode 100644 index 000000000..be775f509 --- /dev/null +++ b/universal_ble/lib/src/models/ble_uuid_parser.dart @@ -0,0 +1,69 @@ +class BleUuidParser { + BleUuidParser._(); + + /// Parse a string to a valid 128-bit UUID. + /// Throws `FormatException` if the string does not hold a valid UUID format. + static String string(String uuid) { + uuid = uuid.trim(); + if (uuid.length < 4) { + throw const FormatException('Invalid UUID'); + } + + if (uuid.startsWith('0x')) { + uuid = uuid.substring(2); + } + + if (uuid.length <= 8) { + uuid = "${uuid.padLeft(8, '0')}-0000-1000-8000-00805f9b34fb"; + } + + if (!uuid.contains("-")) { + if (uuid.length != 32) throw const FormatException("Invalid UUID"); + + uuid = "${uuid.substring(0, 8)}-${uuid.substring(8, 12)}" + "-${uuid.substring(12, 16)}-${uuid.substring(16, 20)}-${uuid.substring(20, 32)}"; + } + + var groups = uuid.split('-'); + + if (groups.length != 5 || + groups[0].length != 8 || + groups[1].length != 4 || + groups[2].length != 4 || + groups[3].length != 4 || + groups[4].length != 12) { + throw const FormatException('Invalid UUID'); + } + + try { + int.parse(groups[0], radix: 16); + int.parse(groups[1], radix: 16); + int.parse(groups[2], radix: 16); + int.parse(groups[3], radix: 16); + int.parse(groups[4], radix: 16); + } catch (e) { + throw const FormatException('Invalid UUID'); + } + + return uuid.toLowerCase(); + } + + /// Parse an int number into a 128-bit UUID string. + /// e.g. `0x1800` to `00001800-0000-1000-8000-00805f9b34fb`. + static String number(int short) { + if (short <= 0xFF || short > 0xFFFF) { + throw const FormatException('Invalid UUID'); + } + return string(short.toRadixString(16).padLeft(4, '0')); + } + + /// Compare two UUIDs regardless of their format. + /// Throws `FormatException` if the UUID is invalid. + static bool compareStrings(String uuid1, String uuid2) => + string(uuid1) == string(uuid2); +} + +/// Parse a list of strings to a list of UUIDs. +extension StringListToUUID on List { + List toValidUUIDList() => map(BleUuidParser.string).toList(); +} diff --git a/universal_ble/lib/src/models/manufacturer_data.dart b/universal_ble/lib/src/models/manufacturer_data.dart new file mode 100644 index 000000000..c6a64ba79 --- /dev/null +++ b/universal_ble/lib/src/models/manufacturer_data.dart @@ -0,0 +1,43 @@ +import 'package:flutter/foundation.dart'; + +/// Represents the manufacturer data of a BLE device. +class ManufacturerData { + final int companyId; + final Uint8List payload; + ManufacturerData(this.companyId, this.payload); + + String get companyIdRadix16 => "0x0${companyId.toRadixString(16)}"; + + factory ManufacturerData.fromData(Uint8List data) { + if (data.length < 2) { + throw const FormatException("Invalid Manufacturer Data"); + } + return ManufacturerData( + (data[0] + (data[1] << 8)), + data.sublist(2), + ); + } + + Uint8List toUint8List() { + final byteData = ByteData(2); + byteData.setInt16(0, companyId, Endian.host); + return Uint8List.fromList( + byteData.buffer.asUint8List() + payload.toList(), + ); + } + + @override + int get hashCode => companyId.hashCode ^ payload.hashCode; + + @override + bool operator ==(Object other) { + if (identical(this, other)) return true; + if (other is! ManufacturerData) return false; + return companyId == other.companyId && listEquals(payload, other.payload); + } + + @override + String toString() { + return 'Manufacturer: $companyIdRadix16 - $payload'; + } +} diff --git a/universal_ble/lib/src/models/manufacturer_data_filter.dart b/universal_ble/lib/src/models/manufacturer_data_filter.dart new file mode 100644 index 000000000..e1d68f0b3 --- /dev/null +++ b/universal_ble/lib/src/models/manufacturer_data_filter.dart @@ -0,0 +1,26 @@ +import 'dart:typed_data'; + +class ManufacturerDataFilter { + /// Must be of integer type, in hex or decimal form (e.g. 0x004c or 76). + int companyIdentifier; + + /// Matches as prefix the peripheral's advertised data. + Uint8List? payloadPrefix; + + /// For each bit in the mask, set it to 1 if it needs to match + /// the corresponding one in manufacturer data, or otherwise set it to 0. + /// The 'mask' must have the same length as the payload. + Uint8List? payloadMask; + + /// Filter manufacturer data by company identifier, payload prefix, or payload mask. + ManufacturerDataFilter({ + required this.companyIdentifier, + this.payloadPrefix, + this.payloadMask, + }); + + @override + String toString() { + return 'ManufacturerDataFilter(companyIdentifier: $companyIdentifier, payloadPrefix: $payloadPrefix, mask: $payloadMask)'; + } +} diff --git a/universal_ble/lib/src/models/model_exports.dart b/universal_ble/lib/src/models/model_exports.dart new file mode 100644 index 000000000..07e535424 --- /dev/null +++ b/universal_ble/lib/src/models/model_exports.dart @@ -0,0 +1,14 @@ +export 'package:universal_ble/src/models/ble_connection_update.dart'; +export 'package:universal_ble/src/models/manufacturer_data.dart'; +export 'package:universal_ble/src/models/platform_config.dart'; +export 'package:universal_ble/src/models/queue_type.dart'; +export 'package:universal_ble/src/models/ble_uuid_parser.dart'; +export 'package:universal_ble/src/models/scan_filter.dart'; +export 'package:universal_ble/src/models/manufacturer_data_filter.dart'; +export 'package:universal_ble/src/models/ble_property.dart'; +export 'package:universal_ble/src/models/ble_service.dart'; +export 'package:universal_ble/src/models/availability_state.dart'; +export 'package:universal_ble/src/models/ble_connection_state.dart'; +export 'package:universal_ble/src/models/ble_device.dart'; +export 'package:universal_ble/src/models/ble_command.dart'; +export 'package:universal_ble/src/models/ble_capabilities.dart'; diff --git a/universal_ble/lib/src/models/platform_config.dart b/universal_ble/lib/src/models/platform_config.dart new file mode 100644 index 000000000..df2c8239b --- /dev/null +++ b/universal_ble/lib/src/models/platform_config.dart @@ -0,0 +1,23 @@ +/// Platform specific config to scan devices +class PlatformConfig { + WebOptions? web; + + PlatformConfig({this.web}); +} + +/// Web options to scan devices +/// [optionalServices] is a list of service uuid's to ensure that you can access the specified services after connecting to the device, +/// by default services from scanFilter will be used +/// [optionalManufacturerData] is list of `CompanyIdentifier's` and used to add `ManufacturerData` in advertisement results of selected device from web dialog, +/// by default manufacturerData from scanFilter will be used +/// Checkout more details on [web](https://developer.mozilla.org/en-US/docs/Web/API/Bluetooth/requestDevice) +/// Note: you will only get advertisements if Experimental Flag is enabled in the browser +class WebOptions { + List optionalServices; + List optionalManufacturerData; + + WebOptions({ + this.optionalServices = const [], + this.optionalManufacturerData = const [], + }); +} diff --git a/universal_ble/lib/src/models/queue_type.dart b/universal_ble/lib/src/models/queue_type.dart new file mode 100644 index 000000000..b516d1d79 --- /dev/null +++ b/universal_ble/lib/src/models/queue_type.dart @@ -0,0 +1,5 @@ +enum QueueType { + none, + perDevice, + global, +} diff --git a/universal_ble/lib/src/models/scan_filter.dart b/universal_ble/lib/src/models/scan_filter.dart new file mode 100644 index 000000000..31455ef1d --- /dev/null +++ b/universal_ble/lib/src/models/scan_filter.dart @@ -0,0 +1,18 @@ +import 'package:universal_ble/src/models/manufacturer_data_filter.dart'; + +class ScanFilter { + List withServices; + List withManufacturerData; + List withNamePrefix; + + ScanFilter({ + this.withServices = const [], + this.withManufacturerData = const [], + this.withNamePrefix = const [], + }); + + @override + String toString() { + return 'ScanFilter(withServices: $withServices, withManufacturerData: $withManufacturerData, withNamePrefix: $withNamePrefix)'; + } +} diff --git a/universal_ble/lib/src/queue.dart b/universal_ble/lib/src/queue.dart new file mode 100644 index 000000000..1203bce7f --- /dev/null +++ b/universal_ble/lib/src/queue.dart @@ -0,0 +1,81 @@ +import 'dart:async'; + +/// Original Author: Ryan Knell (https://github.com/rknell/dart_queue) + +/// Queue to execute Futures in order. +/// It awaits each future before executing the next one. +class Queue { + final Set _activeItems = {}; + int _lastProcessId = 0; + bool _isCancelled = false; + final List<_QueuedFuture> _nextCycle = []; + Function(int)? onRemainingItemsUpdate; + + Future add(Future Function() closure, [Duration? timeout]) { + if (_isCancelled) throw Exception('Queue Cancelled'); + final completer = Completer(); + _nextCycle.add(_QueuedFuture(closure, completer, timeout)); + _updateRemainingItems(); + if (_activeItems.isEmpty) _queueUpNext(); + return completer.future; + } + + void dispose() { + for (final item in _nextCycle) { + item.completer.completeError(Exception('Queue Cancelled')); + } + _nextCycle.removeWhere((item) => item.completer.isCompleted); + _isCancelled = true; + } + + void _queueUpNext() { + if (_nextCycle.isNotEmpty && !_isCancelled && _activeItems.length <= 1) { + final processId = _lastProcessId; + _activeItems.add(processId); + final item = _nextCycle.first; + _lastProcessId++; + _nextCycle.remove(item); + item.onComplete = () async { + _activeItems.remove(processId); + _updateRemainingItems(); + _queueUpNext(); + }; + unawaited(item.execute()); + } + } + + void _updateRemainingItems() { + int remainingQueueItems = _nextCycle.length + _activeItems.length; + onRemainingItemsUpdate?.call(remainingQueueItems); + } +} + +class _QueuedFuture { + final Completer completer; + final Future Function() closure; + Function? onComplete; + final Duration? timeout; + + _QueuedFuture(this.closure, this.completer, this.timeout, {this.onComplete}); + + Future execute() async { + try { + T result; + if (timeout != null) { + result = await closure().timeout(timeout!); + } else { + result = await closure(); + } + if (result != null) { + completer.complete(result); + } else { + completer.complete(null); + } + await Future.microtask(() {}); + } catch (e, stack) { + completer.completeError(e, stack); + } finally { + if (onComplete != null) onComplete?.call(); + } + } +} diff --git a/universal_ble/lib/src/universal_ble.dart b/universal_ble/lib/src/universal_ble.dart new file mode 100644 index 000000000..874c6ba25 --- /dev/null +++ b/universal_ble/lib/src/universal_ble.dart @@ -0,0 +1,504 @@ +import 'dart:async'; + +import 'package:flutter/foundation.dart'; +import 'package:universal_ble/src/ble_command_queue.dart'; +import 'package:universal_ble/src/universal_ble_linux/universal_ble_linux.dart'; +import 'package:universal_ble/src/universal_ble_pigeon/universal_ble_pigeon_channel.dart'; +import 'package:universal_ble/src/universal_ble_web/universal_ble_web.dart'; +import 'package:universal_ble/src/universal_logger.dart'; +import 'package:universal_ble/universal_ble.dart'; + +class UniversalBle { + /// Get platform specific implementation. + static UniversalBlePlatform _platform = _defaultPlatform(); + static final BleCommandQueue _bleCommandQueue = BleCommandQueue(); + + /// Set custom platform specific implementation (e.g. for testing). + static void setInstance(UniversalBlePlatform instance) => + _platform = instance; + + /// Set global timeout for all commands. + /// Default timeout is 10 seconds. + /// Set to null to disable. + static set timeout(Duration? duration) { + _bleCommandQueue.timeout = duration; + } + + /// Set how commands will be executed. By default, all commands are executed in a global queue (`QueueType.global`), + /// with each command waiting for the previous one to finish. + /// + /// [QueueType.global] will execute commands of all devices in a single queue. + /// [QueueType.perDevice] will execute command of each device in separate queues. + /// [QueueType.none] will execute all commands in parallel. + static set queueType(QueueType queueType) { + _bleCommandQueue.queueType = queueType; + UniversalLogger.logInfo('Queue ${queueType.name}'); + } + + /// Get Bluetooth availability state. + /// To be notified of updates, set [onAvailabilityChange] listener. + static Future getBluetoothAvailabilityState() async { + return await _bleCommandQueue.queueCommand( + () => _platform.getBluetoothAvailabilityState(), + ); + } + + /// Start scan. + /// Scan results will arrive in [onScanResult] listener. + /// It might throw errors if Bluetooth is not available. + /// `webRequestOptions` is supported on Web only. + static Future startScan({ + ScanFilter? scanFilter, + PlatformConfig? platformConfig, + }) async { + return await _bleCommandQueue.queueCommand( + () => _platform.startScan( + scanFilter: scanFilter, + platformConfig: platformConfig, + ), + withTimeout: false, + ); + } + + /// Stop scan. + /// Set [onScanResult] listener to `null` if you don't need it anymore. + /// It might throw errors if Bluetooth is not available. + static Future stopScan() async { + return await _bleCommandQueue.queueCommand( + () => _platform.stopScan(), + withTimeout: false, + ); + } + + /// Connection stream of a device + static Stream connectionStream(String deviceId) => + _platform.connectionStream(deviceId); + + /// Connect to a device. + /// It is advised to stop scanning before connecting. + /// It throws error if device connection fails. + /// Default connection timeout is 60 sec. + /// Can throw `ConnectionException` or `PlatformException`. + static Future connect( + String deviceId, { + Duration? connectionTimeout, + }) async { + connectionTimeout ??= const Duration(seconds: 60); + StreamSubscription? connectionSubscription; + + try { + Completer completer = Completer(); + + connectionSubscription = connectionStream(deviceId).listen( + (BleConnectionUpdate event) { + connectionSubscription?.cancel(); + if (!completer.isCompleted) { + String? error = event.error; + if (error != null) { + completer.completeError(ConnectionException(error)); + } else { + completer.complete(event.isConnected); + } + } + }, + onError: (error) { + if (!completer.isCompleted) { + connectionSubscription?.cancel(); + completer.completeError(ConnectionException(error)); + } + }, + ); + + _platform + .connect(deviceId, connectionTimeout: connectionTimeout) + .catchError( + (error) { + if (!completer.isCompleted) { + connectionSubscription?.cancel(); + completer.completeError(ConnectionException(error)); + } + }, + ); + + if (!await completer.future.timeout(connectionTimeout)) { + throw ConnectionException("Failed to connect"); + } + } finally { + connectionSubscription?.cancel(); + } + } + + /// Disconnect from a device. + /// Get notified of connection state changes in [onConnectionChange] listener. + static Future disconnect(String deviceId) async { + return await _bleCommandQueue.queueCommand( + () => _platform.disconnect(deviceId), + deviceId: deviceId, + ); + } + + /// Discover services of a device. + static Future> discoverServices(String deviceId) async { + return await _bleCommandQueue.queueCommand( + () => _platform.discoverServices(deviceId), + deviceId: deviceId, + ); + } + + /// Set a characteristic notifiable. + /// Set `bleInputProperty` to [BleInputProperty.notification] or [BleInputProperty.indication]. + /// Updates will arrive in [onValueChange] listener. + /// To stop listening to a characteristic, set `bleInputProperty` to [BleInputProperty.disabled]. + static Future setNotifiable( + String deviceId, + String service, + String characteristic, + BleInputProperty bleInputProperty, + ) async { + return await _bleCommandQueue.queueCommand( + () => _platform.setNotifiable( + deviceId, + BleUuidParser.string(service), + BleUuidParser.string(characteristic), + bleInputProperty, + ), + deviceId: deviceId, + ); + } + + /// Read a characteristic value. + /// On iOS and MacOS this command will also trigger [onValueChange] listener. + static Future readValue( + String deviceId, + String service, + String characteristic, { + final Duration? timeout, + }) async { + return await _bleCommandQueue.queueCommand( + () => _platform.readValue( + deviceId, + BleUuidParser.string(service), + BleUuidParser.string(characteristic), + timeout: timeout ?? _bleCommandQueue.timeout, + ), + timeout: timeout, + deviceId: deviceId, + ); + } + + /// Write a characteristic value. + /// To write a characteristic value with response, set `bleOutputProperty` to [BleOutputProperty.withResponse]. + static Future writeValue( + String deviceId, + String service, + String characteristic, + Uint8List value, + BleOutputProperty bleOutputProperty, + ) async { + await _bleCommandQueue.queueCommand( + () => _platform.writeValue( + deviceId, + BleUuidParser.string(service), + BleUuidParser.string(characteristic), + value, + bleOutputProperty, + ), + deviceId: deviceId, + ); + } + + /// Request MTU value. + /// It will **attempt** to set the MTU (Maximum Transmission Unit) but it is not guaranteed to succeed due to platform limitations. + /// It will always return the current MTU. + static Future requestMtu(String deviceId, int expectedMtu) async { + return await _bleCommandQueue.queueCommand( + () => _platform.requestMtu(deviceId, expectedMtu), + deviceId: deviceId, + ); + } + + /// Check if a device is paired. + /// + /// For `Apple` and `Web`, you have to pass a "pairingCommand" with an encrypted read or write characteristic. + /// Returns true/false if it manages to execute the command. + /// Returns null when no `pairingCommand` is passed. + /// Note that it will trigger pairing if the device is not already paired. + static Future isPaired( + String deviceId, { + BleCommand? pairingCommand, + Duration? connectionTimeout, + }) async { + if (BleCapabilities.hasSystemPairingApi) { + return _bleCommandQueue.queueCommand( + () => _platform.isPaired(deviceId), + deviceId: deviceId, + ); + } + + if (pairingCommand == null) { + UniversalLogger.logWarning("PairingCommand required to get result"); + return null; + } + + try { + await _connectAndExecuteBleCommand( + deviceId, + pairingCommand, + connectionTimeout: connectionTimeout, + updateCallbackValue: false, + ); + + // Because pairingCommand will be never null, so we wont get Unknown result here + return true; + } catch (e) { + UniversalLogger.logError("ExecuteBleCommandFailed: $e"); + return false; + } + } + + /// Pair a device. + /// + /// It throws error if pairing fails. + /// + /// On `Apple` and `Web`, it only works on devices with encrypted characteristics. + /// It is advised to pass a pairingCommand with an encrypted read or write characteristic. + /// When not passing a pairingCommand, you should afterwards use [isPaired] with a pairingCommand + /// to verify the pairing state. + /// + /// On `Web/Windows` and `Web/Linux`, it does not work for devices that use `ConfirmOnly` pairing. + /// Can throw `PairingException`, `ConnectionException` or `PlatformException`. + static Future pair( + String deviceId, { + BleCommand? pairingCommand, + Duration? connectionTimeout, + }) async { + if (BleCapabilities.hasSystemPairingApi) { + bool paired = await _platform.pair(deviceId); + if (!paired) throw PairingException(); + } else { + if (pairingCommand == null) { + UniversalLogger.logWarning("PairingCommand required to get result"); + } + await _connectAndExecuteBleCommand( + deviceId, + pairingCommand, + connectionTimeout: connectionTimeout, + ); + } + } + + /// Unpair a device. + /// It might throw an error if device is not paired. + static Future unpair(String deviceId) async { + return await _bleCommandQueue.queueCommand( + () => _platform.unpair(deviceId), + deviceId: deviceId, + ); + } + + /// Get connected devices to the system (connected by any app). + /// Use [withServices] to filter devices by services. + /// On `Apple`, [withServices] is required to get any connected devices. If not passed, several [18XX] generic services will be set by default. + /// On `Android`, `Linux` and `Windows`, if [withServices] is used, then internally all services will be discovered for each device first (either by connecting or by using cached services). + /// Not supported on `Web`. + static Future> getSystemDevices({ + List? withServices, + }) async { + return await _bleCommandQueue.queueCommand( + () => _platform.getSystemDevices(withServices?.toValidUUIDList()), + ); + } + + /// Returns connection state of the device. + /// All platforms will return `Connected/Disconnected` states. + /// `Android` and `Apple` can also return `Connecting/Disconnecting` states. + static Future getConnectionState(String deviceId) async { + return await _bleCommandQueue.queueCommand( + () => _platform.getConnectionState(deviceId), + ); + } + + /// Enable Bluetooth. + /// It might throw errors if Bluetooth is not available. + /// Not supported on `Web` and `Apple`. + static Future enableBluetooth() async { + return await _bleCommandQueue.queueCommand( + () => _platform.enableBluetooth(), + ); + } + + /// Disable Bluetooth. + /// It might throw errors if Bluetooth is not available. + /// Not supported on `Web` and `Apple`. + static Future disableBluetooth() async { + return await _bleCommandQueue.queueCommand( + () => _platform.disableBluetooth(), + ); + } + + /// [receivesAdvertisements] returns true on web if the browser supports receiving advertisements from a certain `deviceId`. + /// The rest of the platforms will always return true. + /// If true, then you will be getting scanResult updates for this device. + /// + /// For this feature to work, you need to enable the `chrome://flags/#enable-experimental-web-platform-features` flag. + /// Not every browser supports this API yet. + /// Even if the browser supports it, sometimes it won't fire any advertisement events even though the device may be sending them. + static bool receivesAdvertisements(String deviceId) => + _platform.receivesAdvertisements(deviceId); + + /// Get Bluetooth state availability. + static set onAvailabilityChange(OnAvailabilityChange? onAvailabilityChange) { + _platform.onAvailabilityChange = onAvailabilityChange; + if (onAvailabilityChange != null) { + getBluetoothAvailabilityState().then((value) { + onAvailabilityChange(value); + }).onError((error, stackTrace) => null); + } + } + + static Future _connectAndExecuteBleCommand( + String deviceId, + BleCommand? bleCommand, { + Duration? connectionTimeout, + bool updateCallbackValue = false, + }) async { + // Try to connect first + if (await getConnectionState(deviceId) != BleConnectionState.connected) { + UniversalLogger.logInfo("Connecting to $deviceId"); + await connect( + deviceId, + connectionTimeout: connectionTimeout, + ); + } + + List services = await discoverServices(deviceId); + UniversalLogger.logInfo("Discovered services: ${services.length}"); + + if (bleCommand == null) { + // Just attempt pairing + await _attemptPairingReadingAll(deviceId, services); + return; + } + + await _executeBleCommand(deviceId, services, bleCommand); + if (updateCallbackValue) _platform.updatePairingState(deviceId, true); + } + + // Fire and forget, and do not rely on result + static _attemptPairingReadingAll( + String deviceId, + List services, + ) async { + bool containsReadCharacteristics = false; + try { + // If BleCommand not given, fallback to reading all characteristics + for (BleService service in services) { + for (BleCharacteristic characteristic in service.characteristics) { + if (characteristic.properties.contains(CharacteristicProperty.read)) { + containsReadCharacteristics = true; + await readValue( + deviceId, + service.uuid, + characteristic.uuid, + timeout: const Duration(seconds: 30), + ); + } + } + } + } catch (_) {} + + if (!containsReadCharacteristics) { + throw PairingException("No readable characteristic found"); + } + } + + static Future _executeBleCommand( + String deviceId, + List services, + BleCommand bleCommand, + ) async { + // First find BleCommand's characteristic + BleCharacteristic? characteristic; + for (BleService service in services) { + if (BleUuidParser.compareStrings(service.uuid, bleCommand.service)) { + for (BleCharacteristic char in service.characteristics) { + if (BleUuidParser.compareStrings( + char.uuid, bleCommand.characteristic)) { + characteristic = char; + break; + } + } + } + } + + if (characteristic == null) { + throw PairingException("BleCommand not found in discovered services"); + } + + // Check if BleCommand Supports Read or Write + BleOutputProperty? bleOutputProperty; + if (characteristic.properties.contains(CharacteristicProperty.write)) { + bleOutputProperty = BleOutputProperty.withResponse; + } else if (characteristic.properties + .contains(CharacteristicProperty.writeWithoutResponse)) { + bleOutputProperty = BleOutputProperty.withoutResponse; + } else if (!characteristic.properties + .contains(CharacteristicProperty.read)) { + throw PairingException( + "BleCommand does not support read or write operation", + ); + } + + Uint8List? value = bleCommand.writeValue; + + try { + if (value != null && bleOutputProperty != null) { + await writeValue( + deviceId, + bleCommand.service, + bleCommand.characteristic, + value, + bleOutputProperty, + ); + } else { + // Fallback to read if supported + await readValue( + deviceId, + bleCommand.service, + bleCommand.characteristic, + timeout: const Duration(seconds: 30), + ); + } + } catch (e) { + throw PairingException(e.toString()); + } + } + + /// Get updates of remaining items of a queue. + static set onQueueUpdate(OnQueueUpdate? onQueueUpdate) => + _bleCommandQueue.onQueueUpdate = onQueueUpdate; + + /// Get scan results. + static set onScanResult(OnScanResult? bleDevice) => + _platform.onScanResult = bleDevice; + + /// Get connection state changes. + static set onConnectionChange(OnConnectionChange? onConnectionChange) => + _platform.onConnectionChange = onConnectionChange; + + /// Get characteristic value updates, set `bleInputProperty` in [setNotifiable] to [BleInputProperty.notification] or [BleInputProperty.indication]. + static set onValueChange(OnValueChange? onValueChange) => + _platform.onValueChange = onValueChange; + + /// Get pair state changes. + static set onPairingStateChange(OnPairingStateChange pairingStateChange) => + _platform.onPairingStateChange = pairingStateChange; + + static UniversalBlePlatform _defaultPlatform() { + if (kIsWeb) return UniversalBleWeb.instance; + if (defaultTargetPlatform == TargetPlatform.linux) { + return UniversalBleLinux.instance; + } + return UniversalBlePigeonChannel.instance; + } +} diff --git a/universal_ble/lib/src/universal_ble_exceptions.dart b/universal_ble/lib/src/universal_ble_exceptions.dart new file mode 100644 index 000000000..15275b96a --- /dev/null +++ b/universal_ble/lib/src/universal_ble_exceptions.dart @@ -0,0 +1,35 @@ +import 'package:flutter/services.dart'; + +class ConnectionException implements Exception { + late String message; + + ConnectionException([dynamic error]) { + message = _errorParser(error); + } + + @override + String toString() => message; +} + +class PairingException implements Exception { + late String message; + + PairingException([dynamic error]) { + message = _errorParser(error); + } + + @override + String toString() => message; +} + +String _errorParser(dynamic error) { + if (error == null) { + return "Failed"; + } else if (error is PlatformException) { + return error.message ?? error.details ?? error.code; + } else if (error is String) { + return error; + } else { + return error.toString(); + } +} diff --git a/universal_ble/lib/src/universal_ble_filter_util.dart b/universal_ble/lib/src/universal_ble_filter_util.dart new file mode 100644 index 000000000..e4d33458c --- /dev/null +++ b/universal_ble/lib/src/universal_ble_filter_util.dart @@ -0,0 +1,105 @@ +import 'dart:typed_data'; + +import 'package:universal_ble/universal_ble.dart'; + +// A default Filter on dart side +// Used on Linux only +class UniversalBleFilterUtil { + ScanFilter? scanFilter; + + bool matchesDevice(BleDevice device) { + final filter = scanFilter; + if (filter == null) return true; + + final hasNamePrefixFilter = filter.withNamePrefix.isNotEmpty; + final hasServiceFilter = filter.withServices.isNotEmpty; + final hasManufacturerDataFilter = filter.withManufacturerData.isNotEmpty; + + // If there is no filter at all, then allow device + if (!hasNamePrefixFilter && + !hasServiceFilter && + !hasManufacturerDataFilter) { + return true; + } + + // Else check one of the filter passes + return hasNamePrefixFilter && nameMatches(filter, device) || + hasServiceFilter && servicesMatch(filter, device) || + hasManufacturerDataFilter && manufacturerDataMatches(filter, device); + } + + bool nameMatches(ScanFilter scanFilter, BleDevice device) { + var namePrefixFilter = scanFilter.withNamePrefix; + if (namePrefixFilter.isEmpty) return true; + + String? name = device.name; + if (name == null || name.isEmpty) return false; + return namePrefixFilter.any(name.startsWith); + } + + bool servicesMatch(ScanFilter scanFilter, BleDevice device) { + var serviceFilters = scanFilter.withServices; + if (serviceFilters.isEmpty) return true; + + List serviceUuids = device.services; + if (serviceUuids.isEmpty) { + return false; + } + return serviceFilters.any(serviceUuids.contains); + } + + bool manufacturerDataMatches(ScanFilter scanFilter, BleDevice device) { + final manufacturerDataFilters = scanFilter.withManufacturerData; + if (manufacturerDataFilters.isEmpty) return true; + + List deviceDataList = device.manufacturerDataList; + if (deviceDataList.isEmpty) return false; + + return deviceDataList + .any((deviceData) => manufacturerDataFilters.any((filter) { + // Early return if company identifiers don't match + if (filter.companyIdentifier != deviceData.companyId) { + return false; + } + + final payloadPrefix = filter.payloadPrefix; + final payload = deviceData.payload; + + // Handle cases where payload prefix is null or empty + if (payloadPrefix == null || payloadPrefix.isEmpty) { + return true; + } + + // Validate payload lengths + if (payload.isEmpty || payloadPrefix.length > payload.length) { + return false; + } + + final filterMask = filter.payloadMask; + + // Choose comparison strategy based on filter mask + return filterMask != null && + filterMask.length == payloadPrefix.length + ? _compareWithMask(payloadPrefix, payload, filterMask) + : _compareWithoutMask(payloadPrefix, payload); + })); + } + + bool _compareWithMask(Uint8List prefix, Uint8List payload, Uint8List mask) { + for (int i = 0; i < prefix.length; i++) { + if ((prefix[i] & mask[i]) != (payload[i] & mask[i])) { + return false; + } + } + return true; + } + + bool _compareWithoutMask(Uint8List prefix, Uint8List payload) { + for (int i = 0; i < prefix.length; i++) { + if (prefix[i] != payload[i]) { + return false; + } + } + return true; + } +} diff --git a/universal_ble/lib/src/universal_ble_linux/universal_ble_linux.dart b/universal_ble/lib/src/universal_ble_linux/universal_ble_linux.dart new file mode 100644 index 000000000..4827c468b --- /dev/null +++ b/universal_ble/lib/src/universal_ble_linux/universal_ble_linux.dart @@ -0,0 +1,613 @@ +import 'dart:async'; + +import 'package:bluez/bluez.dart'; +import 'package:flutter/services.dart'; +import 'package:universal_ble/src/models/model_exports.dart'; +import 'package:universal_ble/src/universal_ble_filter_util.dart'; +import 'package:universal_ble/src/universal_ble_platform_interface.dart'; +import 'package:universal_ble/src/universal_logger.dart'; + +class UniversalBleLinux extends UniversalBlePlatform { + UniversalBleLinux._(); + static UniversalBleLinux? _instance; + static UniversalBleLinux get instance => _instance ??= UniversalBleLinux._(); + + bool isInitialized = false; + + final BlueZClient _client = BlueZClient(); + late final UniversalBleFilterUtil _bleFilter = UniversalBleFilterUtil(); + BlueZAdapter? _activeAdapter; + StreamSubscription? _deviceAdded; + StreamSubscription? _deviceRemoved; + Completer? _initializationCompleter; + final Map _devices = {}; + final Map _deviceUpdateStreamSubscriptions = {}; + final Map _deviceAdvertisementSubscriptions = {}; + + final Map _characteristicPropertiesSubscriptions = + {}; + + @override + Future getBluetoothAvailabilityState() async { + await _ensureInitialized(); + + BlueZAdapter? adapter = _activeAdapter; + if (adapter == null) { + return AvailabilityState.unsupported; + } + return adapter.powered + ? AvailabilityState.poweredOn + : AvailabilityState.poweredOff; + } + + @override + Future enableBluetooth() async { + await _ensureInitialized(); + if (_activeAdapter?.powered == true) return true; + try { + await _activeAdapter?.setPowered(true); + return _activeAdapter?.powered ?? false; + } catch (e) { + UniversalLogger.logError('Error enabling bluetooth: $e'); + return false; + } + } + + @override + Future disableBluetooth() async { + await _ensureInitialized(); + var adapter = _activeAdapter; + if (adapter == null) { + throw "Adapter not available"; + } + if (!adapter.powered) return true; + try { + await adapter.setPowered(false); + return !adapter.powered; + } catch (e) { + UniversalLogger.logError('Error disabling bluetooth: $e'); + return false; + } + } + + @override + Future startScan({ + ScanFilter? scanFilter, + PlatformConfig? platformConfig, + }) async { + await _ensureInitialized(); + var adapter = _activeAdapter; + if (adapter == null) { + throw "Adapter not available"; + } + + // Stop scan and clean all old advertisement listeners + await stopScan(); + + _bleFilter.scanFilter = scanFilter; + + // Setup listeners + _deviceAdded ??= _client.deviceAdded.listen(_onDeviceAdd); + _deviceRemoved ??= _client.deviceRemoved.listen(_onDeviceRemoved); + + await adapter.startDiscovery(); + + for (var device in _client.devices) { + _onDeviceAdd(device); + } + } + + @override + Future stopScan() async { + await _ensureInitialized(); + try { + // Dispose listeners + _deviceAdded?.cancel(); + _deviceRemoved?.cancel(); + _deviceAdded = null; + _deviceRemoved = null; + + // Stop Discovery + if (_activeAdapter?.discovering == true) { + await _activeAdapter?.stopDiscovery(); + } + + // Clean all advertisement listeners + _deviceAdvertisementSubscriptions.removeWhere((e, value) { + value.cancel(); + return true; + }); + } catch (e) { + UniversalLogger.logError("stopScan error: $e"); + } + } + + @override + Future getConnectionState(String deviceId) async { + BlueZDevice? device = _devices[deviceId] ?? + _client.devices.cast().firstWhere( + (device) => device?.address == deviceId, + orElse: () => null); + bool connected = device?.connected ?? false; + return connected + ? BleConnectionState.connected + : BleConnectionState.disconnected; + } + + @override + Future connect(String deviceId, {Duration? connectionTimeout}) async { + final device = _findDeviceById(deviceId); + if (device.connected) { + updateConnection(deviceId, true); + return; + } + await device.connect(); + } + + @override + Future disconnect(String deviceId) async { + final device = _findDeviceById(deviceId); + if (!device.connected) { + updateConnection(deviceId, false); + return; + } + await device.disconnect(); + } + + @override + Future> discoverServices(String deviceId) async { + final device = _findDeviceById(deviceId); + if (device.gattServices.isEmpty && !device.servicesResolved) { + await device.propertiesChanged.firstWhere((element) { + if (element.contains(BluezProperty.connected)) { + if (!device.connected) { + UniversalLogger.logInfo( + "DiscoverServicesFailed: Device disconnected", + ); + return true; + } + } + return element.contains(BluezProperty.servicesResolved); + }).timeout(const Duration(seconds: 10), onTimeout: () { + UniversalLogger.logInfo( + "DiscoverServicesFailed: Timeout", + ); + return []; + }); + } + + // Few ble devices requires delay to perform operations after discovering services + await Future.delayed(const Duration(seconds: 1)); + + if (device.gattServices.isEmpty && !device.servicesResolved) { + throw "Failed to resolve services"; + } + + List services = []; + for (final service in device.gattServices) { + final characteristics = service.characteristics.map((e) { + final properties = List.from(e.flags + .map((e) => e.toCharacteristicProperty()) + .where((element) => element != null) + .toList()); + return BleCharacteristic(e.uuid.toString(), properties); + }).toList(); + services.add(BleService(service.uuid.toString(), characteristics)); + } + return services; + } + + BlueZGattCharacteristic _getCharacteristic( + String deviceId, String service, String characteristic) { + final device = _findDeviceById(deviceId); + final s = device.gattServices + .cast() + .firstWhere((s) => s?.uuid.toString() == service, orElse: () => null); + final c = s?.characteristics.cast().firstWhere( + (c) => c?.uuid.toString() == characteristic, + orElse: () => null); + + if (c == null) { + throw Exception('Unknown characteristic:$characteristic'); + } + return c; + } + + @override + Future setNotifiable(String deviceId, String service, + String characteristic, BleInputProperty bleInputProperty) async { + final char = _getCharacteristic(deviceId, service, characteristic); + + String characteristicKey = "${deviceId}_${service}_$characteristic"; + + if (bleInputProperty != BleInputProperty.disabled) { + if (char.notifying) { + UniversalLogger.logInfo('$characteristic already notifying'); + return; + } + + await char.startNotify(); + + if (_characteristicPropertiesSubscriptions[characteristicKey] != null) { + _characteristicPropertiesSubscriptions[characteristicKey]?.cancel(); + } + + _characteristicPropertiesSubscriptions[characteristicKey] = + char.propertiesChanged.listen((List properties) { + for (String property in properties) { + switch (property) { + case BluezProperty.value: + updateCharacteristicValue( + deviceId, + characteristic, + Uint8List.fromList(char.value), + ); + break; + default: + UniversalLogger.logInfo( + "UnhandledCharValuePropertyChange: $property", + ); + } + } + }); + } else { + if (char.notifying) await char.stopNotify(); + _characteristicPropertiesSubscriptions + .remove(characteristicKey) + ?.cancel(); + } + } + + @override + Future readValue( + String deviceId, + String service, + String characteristic, { + final Duration? timeout, + }) async { + try { + final c = _getCharacteristic(deviceId, service, characteristic); + final data = await c.readValue(); + return Uint8List.fromList(data); + } on BlueZFailedException catch (e) { + throw PlatformException( + code: e.errorCode ?? "ReadFailed", + message: e.message, + ); + } + } + + @override + Future writeValue( + String deviceId, + String service, + String characteristic, + Uint8List value, + BleOutputProperty bleOutputProperty) async { + try { + final c = _getCharacteristic(deviceId, service, characteristic); + if (bleOutputProperty == BleOutputProperty.withResponse) { + await c.writeValue( + value, + type: BlueZGattCharacteristicWriteType.request, + ); + } else { + await c.writeValue( + value, + type: BlueZGattCharacteristicWriteType.command, + ); + } + } on BlueZFailedException catch (e) { + throw PlatformException( + code: e.errorCode ?? "WriteFailed", + message: e.message, + ); + } + } + + @override + Future requestMtu(String deviceId, int expectedMtu) async { + final device = _findDeviceById(deviceId); + if (!device.connected) throw Exception('Device not connected'); + for (BlueZGattService service in device.gattServices) { + for (BlueZGattCharacteristic characteristic in service.characteristics) { + int? mtu = characteristic.mtu; + // The value provided by Bluez includes an extra 3 bytes from the GATT header, which needs to be removed. + if (mtu != null) return mtu - 3; + } + } + throw Exception('MTU not available'); + } + + @override + Future pair(String deviceId) async { + BlueZDevice device = _findDeviceById(deviceId); + try { + if (device.paired) return true; + await device.pair(); + return true; + } catch (error) { + updatePairingState(deviceId, false); + return false; + } + } + + @override + Future unpair(String deviceId) async { + BlueZDevice device = _findDeviceById(deviceId); + if (device.paired) { + // await device.cancelPairing(); + await _activeAdapter?.removeDevice(device); + } + } + + @override + Future isPaired(String deviceId) async { + return _findDeviceById(deviceId).paired; + } + + @override + Future> getSystemDevices( + List? withServices, + ) async { + List devices = + _client.devices.where((device) => device.connected).toList(); + if (withServices != null && withServices.isNotEmpty) { + devices = devices.where((device) { + if (device.servicesResolved) { + return device.gattServices + .map((e) => e.uuid.toString()) + .any((service) => withServices.contains(service)); + } else { + UniversalLogger.logInfo( + 'Skipping: ${device.address}: Services not resolved yet.', + ); + return false; + } + }).toList(); + } + return devices + .map((device) => device.toBleDevice(isSystemDevice: true)) + .toList(); + } + + AvailabilityState get _availabilityState { + return _activeAdapter?.powered == true + ? AvailabilityState.poweredOn + : AvailabilityState.poweredOff; + } + + BlueZDevice _findDeviceById(String deviceId) { + final device = _devices[deviceId] ?? + _client.devices.cast().firstWhere( + (device) => device?.address == deviceId, + orElse: () => null); + if (device == null) { + throw Exception('Unknown deviceId:$deviceId'); + } + return device; + } + + Future _ensureInitialized() async { + if (isInitialized) return; + + if (_initializationCompleter != null) { + await _initializationCompleter?.future; + return; + } + + _initializationCompleter = Completer(); + try { + await _client.connect(); + await _waitForAdapter(_client); + + _activeAdapter ??= _client.adapters.first; + + UniversalLogger.logInfo( + 'BleAdapter: ${_activeAdapter?.name} - ${_activeAdapter?.address}', + ); + + _activeAdapter?.propertiesChanged.listen((List properties) { + // Handle pairing state change + for (final property in properties) { + switch (property) { + case BluezProperty.powered: + updateAvailability(_availabilityState); + break; + case BluezProperty.discoverable: + case BluezProperty.discovering: + // print("Adapter Discovering: ${_activeAdapter?.discovering}"); + break; + case BluezProperty.propertyClass: + default: + UniversalLogger.logInfo( + "UnhandledPropertyChanged: $property", + ); + } + } + }); + + updateAvailability(_availabilityState); + isInitialized = true; + _initializationCompleter?.complete(); + _initializationCompleter = null; + } catch (e) { + UniversalLogger.logError('Error initializing: $e'); + _initializationCompleter?.completeError(e); + await _client.close(); + rethrow; + } + } + + Future _waitForAdapter(BlueZClient client) async { + if (client.adapters.isNotEmpty) return; + + int attempts = 0; + while (attempts < 10 && client.adapters.isEmpty) { + await Future.delayed(const Duration(milliseconds: 100)); + attempts++; + } + + if (client.adapters.isEmpty) { + throw Exception('Bluetooth adapter unavailable'); + } + } + + void _onDeviceAdd(BlueZDevice device) { + BleDevice bleDevice = device.toBleDevice(); + if (!_bleFilter.matchesDevice(bleDevice)) { + return; + } + + // Update scan results only if rssi is available + if (device.rssi != 0) { + updateScanResult(bleDevice); + } + + // Setup Cache + _devices[device.address] = device; + + // Setup advertisements Listener + _deviceAdvertisementSubscriptions[device.address] ??= device + .propertiesChanged + .where((e) => + e.contains(BluezProperty.rssi) || + e.contains(BluezProperty.manufacturerData) || + e.contains(BluezProperty.uuids)) + .listen((_) { + if (_bleFilter.matchesDevice(bleDevice)) { + updateScanResult(device.toBleDevice()); + } + }); + + // Setup update listener + _deviceUpdateStreamSubscriptions[device.address] ??= + device.propertiesChanged.listen((properties) { + for (final property in properties) { + switch (property) { + // Connection/Pair updates + case BluezProperty.connected: + updateConnection(device.address, device.connected); + break; + case BluezProperty.paired: + updatePairingState(device.address, device.paired); + break; + // Ignored these properties updates + case BluezProperty.bonded: + case BluezProperty.legacyPairing: + case BluezProperty.servicesResolved: + case BluezProperty.uuids: + case BluezProperty.txPower: + case BluezProperty.address: + case BluezProperty.addressType: + case BluezProperty.rssi: + case BluezProperty.manufacturerData: + break; + default: + UniversalLogger.logInfo( + "UnhandledDevicePropertyChanged ${device.name} ${device.address}: $property", + ); + break; + } + } + }); + } + + void _onDeviceRemoved(BlueZDevice device) { + _devices.remove(device.address); + // Clean Update listeners + _deviceUpdateStreamSubscriptions.removeWhere((key, value) { + if (key == device.address) { + value.cancel(); + return true; + } + return false; + }); + // Clean Advertisement listeners + _deviceAdvertisementSubscriptions.removeWhere((key, value) { + if (key == device.address) { + value.cancel(); + return true; + } + return false; + }); + } +} + +class BluezProperty { + static const String rssi = 'RSSI'; + static const String connected = 'Connected'; + static const String txPower = 'TxPower'; + static const String bonded = 'Bonded'; + static const String manufacturerData = 'ManufacturerData'; + static const String legacyPairing = 'LegacyPairing'; + static const String servicesResolved = 'ServicesResolved'; + static const String paired = 'Paired'; + static const String address = 'Address'; + static const String addressType = 'AddressType'; + static const String modalias = 'Modalias'; + static const String uuids = 'UUIDs'; + static const String value = 'Value'; + static const String powered = 'Powered'; + static const String discoverable = 'Discoverable'; + static const String discovering = 'Discovering'; + static const String propertyClass = 'Class'; +} + +extension on BlueZGattCharacteristicFlag { + CharacteristicProperty? toCharacteristicProperty() { + return switch (this) { + BlueZGattCharacteristicFlag.broadcast => CharacteristicProperty.broadcast, + BlueZGattCharacteristicFlag.read => CharacteristicProperty.read, + BlueZGattCharacteristicFlag.writeWithoutResponse => + CharacteristicProperty.writeWithoutResponse, + BlueZGattCharacteristicFlag.write => CharacteristicProperty.write, + BlueZGattCharacteristicFlag.notify => CharacteristicProperty.notify, + BlueZGattCharacteristicFlag.indicate => CharacteristicProperty.indicate, + BlueZGattCharacteristicFlag.authenticatedSignedWrites => + CharacteristicProperty.authenticatedSignedWrites, + BlueZGattCharacteristicFlag.extendedProperties => + CharacteristicProperty.extendedProperties, + _ => null, + }; + } +} + +extension on BlueZFailedException { + /// Extract error code from message and parse into decimal + /// example: 'Operation failed with ATT error: 0x90' => 144 + String? get errorCode { + try { + RegExp regExp = RegExp(r'0x\w+'); + Match? match = regExp.firstMatch(message); + String? code = match?.group(0); + if (code == null) return null; + int? decimalValue = int.tryParse( + code.replaceFirst('0x', ''), + radix: 16, + ); + return decimalValue?.toString() ?? code; + } catch (e) { + return null; + } + } +} + +extension BlueZDeviceExtension on BlueZDevice { + List get manufacturerDataList => manufacturerData.entries + .map((MapEntry> data) => + ManufacturerData(data.key.id, Uint8List.fromList(data.value))) + .toList(); + + BleDevice toBleDevice({bool? isSystemDevice}) { + return BleDevice( + name: name, + deviceId: address, + isPaired: paired, + rssi: rssi, + isSystemDevice: isSystemDevice, + services: uuids.map((e) => e.toString()).toList(), + manufacturerDataList: manufacturerDataList, + ); + } +} diff --git a/universal_ble/lib/src/universal_ble_pigeon/universal_ble.g.dart b/universal_ble/lib/src/universal_ble_pigeon/universal_ble.g.dart new file mode 100644 index 000000000..ae3484f0c --- /dev/null +++ b/universal_ble/lib/src/universal_ble_pigeon/universal_ble.g.dart @@ -0,0 +1,862 @@ +// Autogenerated from Pigeon (v22.6.1), do not edit directly. +// See also: https://pub.dev/packages/pigeon +// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers + +import 'dart:async'; +import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; + +import 'package:flutter/foundation.dart' show ReadBuffer, WriteBuffer; +import 'package:flutter/services.dart'; + +PlatformException _createConnectionError(String channelName) { + return PlatformException( + code: 'channel-error', + message: 'Unable to establish connection on channel: "$channelName".', + ); +} + +List wrapResponse({Object? result, PlatformException? error, bool empty = false}) { + if (empty) { + return []; + } + if (error == null) { + return [result]; + } + return [error.code, error.message, error.details]; +} + +class UniversalBleScanResult { + UniversalBleScanResult({ + required this.deviceId, + this.name, + this.isPaired, + this.rssi, + this.manufacturerDataList, + this.services, + }); + + String deviceId; + + String? name; + + bool? isPaired; + + int? rssi; + + List? manufacturerDataList; + + List? services; + + Object encode() { + return [ + deviceId, + name, + isPaired, + rssi, + manufacturerDataList, + services, + ]; + } + + static UniversalBleScanResult decode(Object result) { + result as List; + return UniversalBleScanResult( + deviceId: result[0]! as String, + name: result[1] as String?, + isPaired: result[2] as bool?, + rssi: result[3] as int?, + manufacturerDataList: (result[4] as List?)?.cast(), + services: (result[5] as List?)?.cast(), + ); + } +} + +class UniversalBleService { + UniversalBleService({ + required this.uuid, + this.characteristics, + }); + + String uuid; + + List? characteristics; + + Object encode() { + return [ + uuid, + characteristics, + ]; + } + + static UniversalBleService decode(Object result) { + result as List; + return UniversalBleService( + uuid: result[0]! as String, + characteristics: (result[1] as List?)?.cast(), + ); + } +} + +class UniversalBleCharacteristic { + UniversalBleCharacteristic({ + required this.uuid, + required this.properties, + }); + + String uuid; + + List properties; + + Object encode() { + return [ + uuid, + properties, + ]; + } + + static UniversalBleCharacteristic decode(Object result) { + result as List; + return UniversalBleCharacteristic( + uuid: result[0]! as String, + properties: (result[1] as List?)!.cast(), + ); + } +} + +/// Scan Filters +class UniversalScanFilter { + UniversalScanFilter({ + required this.withServices, + required this.withNamePrefix, + required this.withManufacturerData, + }); + + List withServices; + + List withNamePrefix; + + List withManufacturerData; + + Object encode() { + return [ + withServices, + withNamePrefix, + withManufacturerData, + ]; + } + + static UniversalScanFilter decode(Object result) { + result as List; + return UniversalScanFilter( + withServices: (result[0] as List?)!.cast(), + withNamePrefix: (result[1] as List?)!.cast(), + withManufacturerData: (result[2] as List?)!.cast(), + ); + } +} + +class UniversalManufacturerDataFilter { + UniversalManufacturerDataFilter({ + required this.companyIdentifier, + this.data, + this.mask, + }); + + int companyIdentifier; + + Uint8List? data; + + Uint8List? mask; + + Object encode() { + return [ + companyIdentifier, + data, + mask, + ]; + } + + static UniversalManufacturerDataFilter decode(Object result) { + result as List; + return UniversalManufacturerDataFilter( + companyIdentifier: result[0]! as int, + data: result[1] as Uint8List?, + mask: result[2] as Uint8List?, + ); + } +} + +class UniversalManufacturerData { + UniversalManufacturerData({ + required this.companyIdentifier, + required this.data, + }); + + int companyIdentifier; + + Uint8List data; + + Object encode() { + return [ + companyIdentifier, + data, + ]; + } + + static UniversalManufacturerData decode(Object result) { + result as List; + return UniversalManufacturerData( + companyIdentifier: result[0]! as int, + data: result[1]! as Uint8List, + ); + } +} + + +class _PigeonCodec extends StandardMessageCodec { + const _PigeonCodec(); + @override + void writeValue(WriteBuffer buffer, Object? value) { + if (value is int) { + buffer.putUint8(4); + buffer.putInt64(value); + } else if (value is UniversalBleScanResult) { + buffer.putUint8(129); + writeValue(buffer, value.encode()); + } else if (value is UniversalBleService) { + buffer.putUint8(130); + writeValue(buffer, value.encode()); + } else if (value is UniversalBleCharacteristic) { + buffer.putUint8(131); + writeValue(buffer, value.encode()); + } else if (value is UniversalScanFilter) { + buffer.putUint8(132); + writeValue(buffer, value.encode()); + } else if (value is UniversalManufacturerDataFilter) { + buffer.putUint8(133); + writeValue(buffer, value.encode()); + } else if (value is UniversalManufacturerData) { + buffer.putUint8(134); + writeValue(buffer, value.encode()); + } else { + super.writeValue(buffer, value); + } + } + + @override + Object? readValueOfType(int type, ReadBuffer buffer) { + switch (type) { + case 129: + return UniversalBleScanResult.decode(readValue(buffer)!); + case 130: + return UniversalBleService.decode(readValue(buffer)!); + case 131: + return UniversalBleCharacteristic.decode(readValue(buffer)!); + case 132: + return UniversalScanFilter.decode(readValue(buffer)!); + case 133: + return UniversalManufacturerDataFilter.decode(readValue(buffer)!); + case 134: + return UniversalManufacturerData.decode(readValue(buffer)!); + default: + return super.readValueOfType(type, buffer); + } + } +} + +/// Flutter -> Native +class UniversalBlePlatformChannel { + /// Constructor for [UniversalBlePlatformChannel]. The [binaryMessenger] named argument is + /// available for dependency injection. If it is left null, the default + /// BinaryMessenger will be used which routes to the host platform. + UniversalBlePlatformChannel({BinaryMessenger? binaryMessenger, String messageChannelSuffix = ''}) + : pigeonVar_binaryMessenger = binaryMessenger, + pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; + final BinaryMessenger? pigeonVar_binaryMessenger; + + static const MessageCodec pigeonChannelCodec = _PigeonCodec(); + + final String pigeonVar_messageChannelSuffix; + + Future getBluetoothAvailabilityState() async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getBluetoothAvailabilityState$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send(null) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as int?)!; + } + } + + Future enableBluetooth() async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.enableBluetooth$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send(null) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as bool?)!; + } + } + + Future disableBluetooth() async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disableBluetooth$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send(null) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as bool?)!; + } + } + + Future startScan(UniversalScanFilter? filter) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.startScan$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([filter]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else { + return; + } + } + + Future stopScan() async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.stopScan$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send(null) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else { + return; + } + } + + Future connect(String deviceId) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.connect$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else { + return; + } + } + + Future disconnect(String deviceId) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disconnect$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else { + return; + } + } + + Future setNotifiable(String deviceId, String service, String characteristic, int bleInputProperty) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.setNotifiable$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId, service, characteristic, bleInputProperty]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else { + return; + } + } + + Future> discoverServices(String deviceId) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.discoverServices$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as List?)!.cast(); + } + } + + Future readValue(String deviceId, String service, String characteristic) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.readValue$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId, service, characteristic]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as Uint8List?)!; + } + } + + Future requestMtu(String deviceId, int expectedMtu) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.requestMtu$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId, expectedMtu]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as int?)!; + } + } + + Future writeValue(String deviceId, String service, String characteristic, Uint8List value, int bleOutputProperty) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.writeValue$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId, service, characteristic, value, bleOutputProperty]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else { + return; + } + } + + Future isPaired(String deviceId) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.isPaired$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as bool?)!; + } + } + + Future pair(String deviceId) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.pair$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as bool?)!; + } + } + + Future unPair(String deviceId) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.unPair$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else { + return; + } + } + + Future> getSystemDevices(List withServices) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getSystemDevices$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([withServices]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as List?)!.cast(); + } + } + + Future getConnectionState(String deviceId) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getConnectionState$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + pigeonVar_channelName, + pigeonChannelCodec, + binaryMessenger: pigeonVar_binaryMessenger, + ); + final List? pigeonVar_replyList = + await pigeonVar_channel.send([deviceId]) as List?; + if (pigeonVar_replyList == null) { + throw _createConnectionError(pigeonVar_channelName); + } else if (pigeonVar_replyList.length > 1) { + throw PlatformException( + code: pigeonVar_replyList[0]! as String, + message: pigeonVar_replyList[1] as String?, + details: pigeonVar_replyList[2], + ); + } else if (pigeonVar_replyList[0] == null) { + throw PlatformException( + code: 'null-error', + message: 'Host platform returned null value for non-null return value.', + ); + } else { + return (pigeonVar_replyList[0] as int?)!; + } + } +} + +/// Native -> Flutter +abstract class UniversalBleCallbackChannel { + static const MessageCodec pigeonChannelCodec = _PigeonCodec(); + + void onAvailabilityChanged(int state); + + void onPairStateChange(String deviceId, bool isPaired, String? error); + + void onScanResult(UniversalBleScanResult result); + + void onValueChanged(String deviceId, String characteristicId, Uint8List value); + + void onConnectionChanged(String deviceId, bool connected, String? error); + + static void setUp(UniversalBleCallbackChannel? api, {BinaryMessenger? binaryMessenger, String messageChannelSuffix = '',}) { + messageChannelSuffix = messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; + { + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + 'dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged$messageChannelSuffix', pigeonChannelCodec, + binaryMessenger: binaryMessenger); + if (api == null) { + pigeonVar_channel.setMessageHandler(null); + } else { + pigeonVar_channel.setMessageHandler((Object? message) async { + assert(message != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged was null.'); + final List args = (message as List?)!; + final int? arg_state = (args[0] as int?); + assert(arg_state != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged was null, expected non-null int.'); + try { + api.onAvailabilityChanged(arg_state!); + return wrapResponse(empty: true); + } on PlatformException catch (e) { + return wrapResponse(error: e); + } catch (e) { + return wrapResponse(error: PlatformException(code: 'error', message: e.toString())); + } + }); + } + } + { + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + 'dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange$messageChannelSuffix', pigeonChannelCodec, + binaryMessenger: binaryMessenger); + if (api == null) { + pigeonVar_channel.setMessageHandler(null); + } else { + pigeonVar_channel.setMessageHandler((Object? message) async { + assert(message != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange was null.'); + final List args = (message as List?)!; + final String? arg_deviceId = (args[0] as String?); + assert(arg_deviceId != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange was null, expected non-null String.'); + final bool? arg_isPaired = (args[1] as bool?); + assert(arg_isPaired != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange was null, expected non-null bool.'); + final String? arg_error = (args[2] as String?); + try { + api.onPairStateChange(arg_deviceId!, arg_isPaired!, arg_error); + return wrapResponse(empty: true); + } on PlatformException catch (e) { + return wrapResponse(error: e); + } catch (e) { + return wrapResponse(error: PlatformException(code: 'error', message: e.toString())); + } + }); + } + } + { + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + 'dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult$messageChannelSuffix', pigeonChannelCodec, + binaryMessenger: binaryMessenger); + if (api == null) { + pigeonVar_channel.setMessageHandler(null); + } else { + pigeonVar_channel.setMessageHandler((Object? message) async { + assert(message != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult was null.'); + final List args = (message as List?)!; + final UniversalBleScanResult? arg_result = (args[0] as UniversalBleScanResult?); + assert(arg_result != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult was null, expected non-null UniversalBleScanResult.'); + try { + api.onScanResult(arg_result!); + return wrapResponse(empty: true); + } on PlatformException catch (e) { + return wrapResponse(error: e); + } catch (e) { + return wrapResponse(error: PlatformException(code: 'error', message: e.toString())); + } + }); + } + } + { + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + 'dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged$messageChannelSuffix', pigeonChannelCodec, + binaryMessenger: binaryMessenger); + if (api == null) { + pigeonVar_channel.setMessageHandler(null); + } else { + pigeonVar_channel.setMessageHandler((Object? message) async { + assert(message != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged was null.'); + final List args = (message as List?)!; + final String? arg_deviceId = (args[0] as String?); + assert(arg_deviceId != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged was null, expected non-null String.'); + final String? arg_characteristicId = (args[1] as String?); + assert(arg_characteristicId != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged was null, expected non-null String.'); + final Uint8List? arg_value = (args[2] as Uint8List?); + assert(arg_value != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged was null, expected non-null Uint8List.'); + try { + api.onValueChanged(arg_deviceId!, arg_characteristicId!, arg_value!); + return wrapResponse(empty: true); + } on PlatformException catch (e) { + return wrapResponse(error: e); + } catch (e) { + return wrapResponse(error: PlatformException(code: 'error', message: e.toString())); + } + }); + } + } + { + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( + 'dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged$messageChannelSuffix', pigeonChannelCodec, + binaryMessenger: binaryMessenger); + if (api == null) { + pigeonVar_channel.setMessageHandler(null); + } else { + pigeonVar_channel.setMessageHandler((Object? message) async { + assert(message != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged was null.'); + final List args = (message as List?)!; + final String? arg_deviceId = (args[0] as String?); + assert(arg_deviceId != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged was null, expected non-null String.'); + final bool? arg_connected = (args[1] as bool?); + assert(arg_connected != null, + 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged was null, expected non-null bool.'); + final String? arg_error = (args[2] as String?); + try { + api.onConnectionChanged(arg_deviceId!, arg_connected!, arg_error); + return wrapResponse(empty: true); + } on PlatformException catch (e) { + return wrapResponse(error: e); + } catch (e) { + return wrapResponse(error: PlatformException(code: 'error', message: e.toString())); + } + }); + } + } + } +} diff --git a/universal_ble/lib/src/universal_ble_pigeon/universal_ble_pigeon_channel.dart b/universal_ble/lib/src/universal_ble_pigeon/universal_ble_pigeon_channel.dart new file mode 100644 index 000000000..9071a18e3 --- /dev/null +++ b/universal_ble/lib/src/universal_ble_pigeon/universal_ble_pigeon_channel.dart @@ -0,0 +1,260 @@ +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; +import 'package:universal_ble/src/universal_ble_pigeon/universal_ble.g.dart'; +import 'package:universal_ble/universal_ble.dart'; + +class UniversalBlePigeonChannel extends UniversalBlePlatform { + static UniversalBlePigeonChannel? _instance; + static UniversalBlePigeonChannel get instance => + _instance ??= UniversalBlePigeonChannel._(); + + UniversalBlePigeonChannel._() { + _setupListeners(); + } + + final _channel = UniversalBlePlatformChannel(); + + @override + Future getBluetoothAvailabilityState() async { + int state = await _channel.getBluetoothAvailabilityState(); + return AvailabilityState.parse(state); + } + + @override + Future enableBluetooth() { + if (!BleCapabilities.supportsBluetoothEnableApi) { + throw UnsupportedError("Not supported"); + } + return _channel.enableBluetooth(); + } + + @override + Future disableBluetooth() { + if (!BleCapabilities.supportsBluetoothEnableApi) { + throw UnsupportedError("Not supported"); + } + return _channel.disableBluetooth(); + } + + @override + Future startScan({ + ScanFilter? scanFilter, + PlatformConfig? platformConfig, + }) async { + await _ensureInitialized(); + await _channel.startScan( + scanFilter.toUniversalScanFilter(), + ); + } + + @override + Future stopScan() => _channel.stopScan(); + + @override + Future getConnectionState(String deviceId) async { + int state = await _channel.getConnectionState(deviceId); + return BleConnectionState.parse(state); + } + + @override + Future connect(String deviceId, {Duration? connectionTimeout}) => + _channel.connect(deviceId); + + @override + Future disconnect(String deviceId) => _channel.disconnect(deviceId); + + @override + Future> discoverServices(String deviceId) async { + List universalBleServices = + await _channel.discoverServices(deviceId); + return List.from(universalBleServices + .where((e) => e != null) + .map((e) => e!.toBleService()) + .toList()); + } + + @override + Future setNotifiable(String deviceId, String service, + String characteristic, BleInputProperty bleInputProperty) { + return _channel.setNotifiable( + deviceId, + service, + characteristic, + bleInputProperty.index, + ); + } + + @override + Future readValue( + String deviceId, + String service, + String characteristic, { + final Duration? timeout, + }) { + return _channel.readValue(deviceId, service, characteristic); + } + + @override + Future writeValue( + String deviceId, + String service, + String characteristic, + Uint8List value, + BleOutputProperty bleOutputProperty) { + return _channel.writeValue( + deviceId, + service, + characteristic, + value, + bleOutputProperty.index, + ); + } + + @override + Future requestMtu(String deviceId, int expectedMtu) => + _channel.requestMtu(deviceId, expectedMtu); + + @override + Future isPaired(String deviceId) => _channel.isPaired(deviceId); + + @override + Future pair(String deviceId) => _channel.pair(deviceId); + + @override + Future unpair(String deviceId) => _channel.unPair(deviceId); + + @override + Future> getSystemDevices( + List? withServices, + ) async { + var devices = await _channel.getSystemDevices(withServices ?? []); + return List.from( + devices.map((e) => e.toBleDevice(isSystemDevice: true)).toList(), + ); + } + + /// To set listeners + void _setupListeners() { + UniversalBleCallbackChannel.setUp(_UniversalBleCallbackHandler( + scanResult: updateScanResult, + availabilityChange: updateAvailability, + connectionChanged: updateConnection, + valueChanged: updateCharacteristicValue, + pairStateChange: updatePairingState, + )); + } + + Future _ensureInitialized() async { + // Check bluetooth availability on Apple + // so that it will ask permission only when required, and throw error on failed + if (defaultTargetPlatform == TargetPlatform.iOS || + defaultTargetPlatform == TargetPlatform.macOS) { + AvailabilityState state = await getBluetoothAvailabilityState(); + switch (state) { + case AvailabilityState.unauthorized: + throw PlatformException( + code: "Unauthorized", + message: "Not authorized to access Bluetooth", + ); + case AvailabilityState.unsupported: + throw PlatformException( + code: "Unsupported", + message: "Bluetooth is not supported", + ); + default: + // Ignore rest.. + } + } + } +} + +extension _BleServiceExtension on UniversalBleService { + BleService toBleService() { + List bleCharacteristics = []; + for (UniversalBleCharacteristic? characteristic in characteristics ?? []) { + if (characteristic == null) continue; + List? properties = List.from(characteristic.properties); + bleCharacteristics.add(BleCharacteristic( + characteristic.uuid, + List.from( + properties.map((e) => CharacteristicProperty.parse(e ?? 1)), + ), + )); + } + return BleService(uuid, bleCharacteristics); + } +} + +class _UniversalBleCallbackHandler extends UniversalBleCallbackChannel { + OnAvailabilityChange availabilityChange; + OnScanResult scanResult; + OnConnectionChange connectionChanged; + OnValueChange valueChanged; + OnPairingStateChange pairStateChange; + + _UniversalBleCallbackHandler({ + required this.availabilityChange, + required this.scanResult, + required this.connectionChanged, + required this.valueChanged, + required this.pairStateChange, + }); + + @override + void onAvailabilityChanged(int state) => + availabilityChange(AvailabilityState.parse(state)); + + @override + void onConnectionChanged(String deviceId, bool connected, String? error) => + connectionChanged(deviceId, connected, error); + + @override + void onScanResult(UniversalBleScanResult result) => + scanResult(result.toBleDevice()); + + @override + void onValueChanged( + String deviceId, String characteristicId, Uint8List value) => + valueChanged(deviceId, characteristicId, value); + + @override + void onPairStateChange(String deviceId, bool isPaired, String? error) => + pairStateChange(deviceId, isPaired); +} + +extension _UniversalBleScanResultExtension on UniversalBleScanResult { + BleDevice toBleDevice({bool? isSystemDevice}) { + return BleDevice( + name: name, + deviceId: deviceId, + rssi: rssi, + isPaired: isPaired, + isSystemDevice: isSystemDevice, + services: services?.map(BleUuidParser.string).toList() ?? [], + manufacturerDataList: manufacturerDataList + ?.map((e) => ManufacturerData(e.companyIdentifier, e.data)) + .toList() ?? + [], + ); + } +} + +extension _ScanFilterExtension on ScanFilter? { + UniversalScanFilter? toUniversalScanFilter() { + List? manufacturerDataFilters = this + ?.withManufacturerData + .map((e) => UniversalManufacturerDataFilter( + companyIdentifier: e.companyIdentifier, + data: e.payloadPrefix, + mask: e.payloadMask, + )) + .toList(); + + // Windows crashes if it's null, so we need to pass empty scan filter in this case + return UniversalScanFilter( + withServices: this?.withServices.toValidUUIDList() ?? [], + withNamePrefix: this?.withNamePrefix ?? [], + withManufacturerData: manufacturerDataFilters ?? [], + ); + } +} diff --git a/universal_ble/lib/src/universal_ble_platform_interface.dart b/universal_ble/lib/src/universal_ble_platform_interface.dart new file mode 100644 index 000000000..818352d0d --- /dev/null +++ b/universal_ble/lib/src/universal_ble_platform_interface.dart @@ -0,0 +1,141 @@ +import 'dart:async'; +import 'dart:typed_data'; +import 'package:universal_ble/universal_ble.dart'; + +abstract class UniversalBlePlatform { + // Do not use these directly to push updates + OnScanResult? onScanResult; + OnConnectionChange? onConnectionChange; + OnValueChange? onValueChange; + OnAvailabilityChange? onAvailabilityChange; + OnPairingStateChange? onPairingStateChange; + final Map _pairStateMap = {}; + StreamController? _connectionStreamController; + + Future getBluetoothAvailabilityState(); + + Future enableBluetooth(); + + Future disableBluetooth(); + + Future startScan({ + ScanFilter? scanFilter, + PlatformConfig? platformConfig, + }); + + Future stopScan(); + + Future connect(String deviceId, {Duration? connectionTimeout}); + + Future disconnect(String deviceId); + + Future> discoverServices(String deviceId); + + Future setNotifiable(String deviceId, String service, + String characteristic, BleInputProperty bleInputProperty); + + Future readValue( + String deviceId, + String service, + String characteristic, { + final Duration? timeout, + }); + + Future writeValue( + String deviceId, + String service, + String characteristic, + Uint8List value, + BleOutputProperty bleOutputProperty); + + Future requestMtu(String deviceId, int expectedMtu); + + Future isPaired(String deviceId); + + Future pair(String deviceId); + + Future unpair(String deviceId); + + Future getConnectionState(String deviceId); + + Future> getSystemDevices( + List? withServices, + ); + + bool receivesAdvertisements(String deviceId) => true; + + Stream connectionStream(String deviceId) { + _setupConnectionStreamIfRequired(); + return _connectionStreamController!.stream; + } + + void updateScanResult(BleDevice bleDevice) { + try { + onScanResult?.call(bleDevice); + } catch (_) {} + } + + void updateConnection(String deviceId, bool isConnected, [String? error]) { + _connectionStreamController?.add(BleConnectionUpdate( + deviceId: deviceId, + isConnected: isConnected, + error: error, + )); + + try { + onConnectionChange?.call(deviceId, isConnected, error); + } catch (_) {} + } + + void updateCharacteristicValue( + String deviceId, String characteristicId, Uint8List value) { + try { + onValueChange?.call( + deviceId, BleUuidParser.string(characteristicId), value); + } catch (_) {} + } + + void updateAvailability(AvailabilityState state) { + try { + onAvailabilityChange?.call(state); + } catch (_) {} + } + + void updatePairingState(String deviceId, bool isPaired) { + if (_pairStateMap[deviceId] == isPaired) return; + _pairStateMap[deviceId] = isPaired; + + try { + onPairingStateChange?.call(deviceId, isPaired); + } catch (_) {} + } + + /// Creates an auto disposable streamController + void _setupConnectionStreamIfRequired() { + if (_connectionStreamController != null) return; + + _connectionStreamController = StreamController.broadcast(); + + // Auto dispose if no more subscribers + _connectionStreamController?.onCancel = () { + // logInfo('Disposing Connection Stream'); + _connectionStreamController?.close(); + _connectionStreamController = null; + }; + } +} + +// Callback types +typedef OnConnectionChange = void Function( + String deviceId, bool isConnected, String? error); + +typedef OnValueChange = void Function( + String deviceId, String characteristicId, Uint8List value); + +typedef OnScanResult = void Function(BleDevice scanResult); + +typedef OnAvailabilityChange = void Function(AvailabilityState state); + +typedef OnPairingStateChange = void Function(String deviceId, bool isPaired); + +typedef OnQueueUpdate = void Function(String id, int remainingQueueItems); diff --git a/universal_ble/lib/src/universal_ble_web/universal_ble_web.dart b/universal_ble/lib/src/universal_ble_web/universal_ble_web.dart new file mode 100644 index 000000000..65afb1760 --- /dev/null +++ b/universal_ble/lib/src/universal_ble_web/universal_ble_web.dart @@ -0,0 +1,481 @@ +import 'dart:async'; +import 'dart:collection'; + +import 'package:flutter/foundation.dart'; +import 'package:flutter_web_bluetooth/flutter_web_bluetooth.dart'; +import 'package:universal_ble/src/models/model_exports.dart'; +import 'package:universal_ble/src/universal_ble_platform_interface.dart'; +import 'package:universal_ble/src/universal_logger.dart'; + +class UniversalBleWeb extends UniversalBlePlatform { + static UniversalBleWeb? _instance; + static UniversalBleWeb get instance => _instance ??= UniversalBleWeb._(); + + UniversalBleWeb._() { + _setupListeners(); + } + + final Map _bluetoothDeviceList = {}; + final Map _deviceAdvertisementStreamList = {}; + final Map _connectedDeviceStreamList = {}; + final Map _characteristicStreamList = {}; + final Map> _serviceCache = {}; + + @override + Future getConnectionState(String deviceId) async { + BluetoothDevice? device = _getDeviceById(deviceId); + bool connected = await device?.connected.first ?? false; + return connected + ? BleConnectionState.connected + : BleConnectionState.disconnected; + } + + @override + Future connect( + String deviceId, { + Duration? connectionTimeout = const Duration(seconds: 10), + }) async { + var device = _getDeviceById(deviceId); + if (device == null) throw "$deviceId Not Found"; + await device.connect(timeout: connectionTimeout); + + // Subscribe to Connection Stream + if (_connectedDeviceStreamList[deviceId] != null) { + _connectedDeviceStreamList[deviceId]?.cancel(); + } + + _connectedDeviceStreamList[deviceId] = device.connected.listen((event) { + if (!event) _cleanConnection(deviceId); + updateConnection(deviceId, event); + }); + } + + @override + Future disconnect(String deviceId) async { + _cleanConnection(deviceId); + updateConnection(deviceId, false); + _getDeviceById(deviceId)?.disconnect(); + } + + @override + Future> discoverServices(String deviceId) async => + (await _getServices(deviceId)).map((e) => e._bleService).toList(); + + @override + Future getBluetoothAvailabilityState() async { + bool isSupported = FlutterWebBluetooth.instance.isBluetoothApiSupported; + if (!isSupported) { + return AvailabilityState.unsupported; + } + bool isAvailable = await FlutterWebBluetooth.instance.isAvailable.first; + if (isSupported && !isAvailable) { + return AvailabilityState.poweredOff; + } else if (isAvailable) { + return AvailabilityState.poweredOn; + } + return AvailabilityState.unknown; + } + + @override + Future startScan({ + ScanFilter? scanFilter, + PlatformConfig? platformConfig, + }) async { + FlutterWebBluetooth.instance.isAvailable; + BluetoothDevice device = await FlutterWebBluetooth.instance.requestDevice( + _getRequestOptionBuilder(scanFilter, platformConfig?.web), + ); + + // Update local device list + _bluetoothDeviceList[device.id] = device; + + // Update Scan Result + updateScanResult(device.toBleScanResult()); + + _watchDeviceAdvertisements(device); + } + + @override + bool receivesAdvertisements(String deviceId) { + // Advertisements do not work on Linux/Web even with the "Experimental Web Platform features" flag enabled. Verified with Chrome Version 128.0.6613.138 + if (kIsWeb && defaultTargetPlatform == TargetPlatform.linux) { + return false; + } + + return _getDeviceById(deviceId)?.hasWatchAdvertisements() ?? false; + } + + /// This will work only if `chrome://flags/#enable-experimental-web-platform-features` is enabled + Future _watchDeviceAdvertisements(BluetoothDevice device) async { + try { + if (!device.hasWatchAdvertisements()) return; + + if (_deviceAdvertisementStreamList[device.id] != null) { + _deviceAdvertisementStreamList[device.id]?.cancel(); + await device.unwatchAdvertisements(); + } + + _deviceAdvertisementStreamList[device.id] = + device.advertisements.listen((event) { + updateScanResult( + device.toBleScanResult( + rssi: event.rssi, + manufacturerDataMap: event.manufacturerData, + services: event.uuids.toSet().toList(), + ), + ); + }); + device.advertisementsUseMemory = true; + await device.watchAdvertisements(); + } catch (e) { + UniversalLogger.logError("WebWatchAdvertisementError: $e"); + } + } + + @override + Future stopScan() async { + _disposeAdvertisementWatcher(); + } + + @override + Future setNotifiable( + String deviceId, + String service, + String characteristic, + BleInputProperty bleInputProperty, + ) async { + final bleCharacteristic = await _getBleCharacteristic( + deviceId: deviceId, + serviceId: service, + characteristicId: characteristic, + ); + + if (bleCharacteristic == null) { + throw Exception( + 'Characteristic $characteristic for service $service not found', + ); + } + + String characteristicKey = "${deviceId}_${service}_$characteristic"; + + if (bleInputProperty != BleInputProperty.disabled) { + if (_characteristicStreamList[characteristicKey] != null) { + _characteristicStreamList[characteristicKey]?.cancel(); + } + await bleCharacteristic.startNotifications(); + _characteristicStreamList[characteristicKey] = + bleCharacteristic.value.listen((ByteData event) { + updateCharacteristicValue( + deviceId, + characteristic, + event.buffer.asUint8List(), + ); + }); + } else { + await bleCharacteristic.stopNotifications(); + _characteristicStreamList.remove(characteristicKey)?.cancel(); + } + } + + @override + Future writeValue( + String deviceId, + String service, + String characteristic, + Uint8List value, + BleOutputProperty bleOutputProperty, + ) async { + final bleCharacteristic = await _getBleCharacteristic( + deviceId: deviceId, + serviceId: service, + characteristicId: characteristic, + ); + + if (bleCharacteristic == null) { + throw Exception( + 'Characteristic $characteristic for service $service not found', + ); + } + + if (bleOutputProperty == BleOutputProperty.withResponse) { + await bleCharacteristic.writeValueWithResponse(Uint8List.fromList(value)); + } else { + await bleCharacteristic + .writeValueWithoutResponse(Uint8List.fromList(value)); + } + } + + @override + Future readValue( + String deviceId, + String service, + String characteristic, { + final Duration? timeout, + }) async { + var bleCharacteristic = await _getBleCharacteristic( + deviceId: deviceId, + serviceId: service, + characteristicId: characteristic, + ); + if (bleCharacteristic == null) { + throw Exception( + 'Characteristic $characteristic for service $service not found'); + } + var data = timeout != null + ? bleCharacteristic.readValue(timeout: timeout) + : bleCharacteristic.readValue(); + return (await data).buffer.asUint8List(); + } + + /// `Unimplemented` + @override + Future requestMtu(String deviceId, int expectedMtu) { + throw UnimplementedError(); + } + + @override + Future isPaired(String deviceId) { + throw UnimplementedError(); + } + + @override + Future pair(String deviceId) { + throw UnimplementedError(); + } + + @override + Future unpair(String deviceId) { + throw UnimplementedError(); + } + + @override + Future> getSystemDevices( + List? withServices, + ) { + throw UnimplementedError(); + } + + /// Helpers + void _setupListeners() { + FlutterWebBluetooth.instance.isAvailable.listen( + (bool isAvailable) { + AvailabilityState newState = AvailabilityState.unknown; + if (!FlutterWebBluetooth.instance.isBluetoothApiSupported) { + newState = AvailabilityState.unsupported; + } else if (FlutterWebBluetooth.instance.isBluetoothApiSupported && + !isAvailable) { + newState = AvailabilityState.poweredOff; + } else if (isAvailable) { + newState = AvailabilityState.poweredOn; + } + updateAvailability(newState); + }, + ); + } + + void _cleanConnection(String deviceId) { + _connectedDeviceStreamList.removeWhere((key, value) { + if (key == deviceId) value.cancel(); + return key == deviceId; + }); + _characteristicStreamList.removeWhere((key, value) { + if (key.contains(deviceId)) value.cancel(); + return key.contains(deviceId); + }); + _disposeAdvertisementWatcher(deviceId); + _serviceCache.remove(deviceId); + // _bluetoothDeviceList.removeWhere((element) => element.id == deviceId); + } + + Future _getBleCharacteristic({ + required String deviceId, + required String serviceId, + required String characteristicId, + }) async { + for (var service in await _getServices(deviceId)) { + if (BleUuidParser.compareStrings(service.uuid, serviceId)) { + return service.getCharacteristic(characteristicId); + } + } + return null; + } + + BluetoothDevice? _getDeviceById(String id) => _bluetoothDeviceList[id]; + + /// Get services and their characteristics. + /// Services and characteristics are cached. + /// Clears cache on disconnection. + Future> _getServices( + String deviceId, + ) async { + BluetoothDevice? device = _getDeviceById(deviceId); + if (device == null) return []; + var services = _serviceCache[deviceId] ?? []; + if (services.isNotEmpty) return services; + for (var service in await device.discoverServices()) { + services.add(await _UniversalWebBluetoothService.fromService(service)); + } + _serviceCache[deviceId] = services; + return services; + } + + void _disposeAdvertisementWatcher([String? deviceId]) { + _deviceAdvertisementStreamList.removeWhere((key, value) { + if (deviceId != null && key != deviceId) return false; + value.cancel(); + _getDeviceById(deviceId ?? key) + ?.unwatchAdvertisements() + .onError((_, __) {}); + return true; + }); + } + + @override + Future enableBluetooth() { + throw UnimplementedError(); + } + + @override + Future disableBluetooth() { + throw UnimplementedError(); + } + + RequestOptionsBuilder _getRequestOptionBuilder( + ScanFilter? scanFilter, + WebOptions? webOptions, + ) { + List filters = []; + List optionalManufacturerData = []; + List optionalServices = []; + + if (webOptions != null) { + optionalServices.addAll(webOptions.optionalServices.toValidUUIDList()); + optionalManufacturerData.addAll(webOptions.optionalManufacturerData); + } + + if (scanFilter != null) { + // Add services filter + for (var service in scanFilter.withServices.toValidUUIDList()) { + filters.add(RequestFilterBuilder(services: [service])); + if (webOptions == null || webOptions.optionalServices.isEmpty) { + optionalServices.add(service); + } + } + + // Add manufacturer data filter + for (var manufacturerData in scanFilter.withManufacturerData) { + filters.add( + RequestFilterBuilder( + manufacturerData: [ + ManufacturerDataFilterBuilder( + companyIdentifier: manufacturerData.companyIdentifier, + dataPrefix: manufacturerData.payloadPrefix, + mask: manufacturerData.payloadMask, + ), + ], + ), + ); + + // Add optionalManufacturerData from scanFilter if webOptions is not provided + if (webOptions == null || webOptions.optionalManufacturerData.isEmpty) { + optionalManufacturerData.add(manufacturerData.companyIdentifier); + } + } + + // Add name filter + for (var name in scanFilter.withNamePrefix) { + filters.add(RequestFilterBuilder(namePrefix: name)); + } + } + + if (optionalServices.isEmpty) { + UniversalLogger.logError( + "OptionalServices list is empty on web, you have to specify services in the ScanFilter in order to be able to access those after connecting", + ); + } + + if (filters.isEmpty) { + return RequestOptionsBuilder.acceptAllDevices( + optionalServices: optionalServices, + optionalManufacturerData: optionalManufacturerData, + ); + } else { + return RequestOptionsBuilder( + filters, + optionalServices: optionalServices, + optionalManufacturerData: optionalManufacturerData, + ); + } + } +} + +extension _BluetoothDeviceExtension on BluetoothDevice { + BleDevice toBleScanResult({ + int? rssi, + UnmodifiableMapView? manufacturerDataMap, + List services = const [], + }) { + return BleDevice( + name: name, + deviceId: id, + manufacturerDataList: manufacturerDataMap?.toManufacturerDataList() ?? [], + rssi: rssi, + services: services, + ); + } +} + +extension _UnmodifiableMapViewExtension on UnmodifiableMapView { + List? toManufacturerDataList() => entries + .map((MapEntry data) => + ManufacturerData(data.key, data.value.buffer.asUint8List())) + .toList(); +} + +class _UniversalWebBluetoothService { + late String uuid; + BluetoothService service; + List characteristics; + + _UniversalWebBluetoothService({ + required this.service, + required this.characteristics, + }) { + uuid = service.uuid; + } + + static Future<_UniversalWebBluetoothService> fromService( + BluetoothService service, + ) async { + return _UniversalWebBluetoothService( + service: service, + characteristics: await service.getCharacteristics(), + ); + } + + BluetoothCharacteristic? getCharacteristic(String characteristicId) { + for (var characteristic in characteristics) { + if (BleUuidParser.compareStrings(characteristic.uuid, characteristicId)) { + return characteristic; + } + } + return null; + } + + BleService get _bleService => BleService( + service.uuid, + characteristics.map((e) { + return BleCharacteristic(e.uuid, [ + if (e.properties.broadcast) CharacteristicProperty.broadcast, + if (e.properties.read) CharacteristicProperty.read, + if (e.properties.write) CharacteristicProperty.write, + if (e.properties.writeWithoutResponse) + CharacteristicProperty.writeWithoutResponse, + if (e.properties.notify) CharacteristicProperty.notify, + if (e.properties.indicate) CharacteristicProperty.indicate, + if (e.properties.authenticatedSignedWrites) + CharacteristicProperty.authenticatedSignedWrites, + ]); + }).toList(), + ); +} diff --git a/universal_ble/lib/src/universal_logger.dart b/universal_ble/lib/src/universal_logger.dart new file mode 100644 index 000000000..4b7af5106 --- /dev/null +++ b/universal_ble/lib/src/universal_logger.dart @@ -0,0 +1,24 @@ +import 'dart:developer'; + +class UniversalLogger { + static void logInfo(message) { + log( + message.toString(), + name: 'UniversalBle:INFO', + ); + } + + static void logError(message) { + log( + '\x1B[31m$message\x1B[31m', + name: 'UniversalBle:ERROR', + ); + } + + static void logWarning(message) { + log( + '\x1B[33m$message\x1B[33m', + name: 'UniversalBle:WARN', + ); + } +} diff --git a/universal_ble/lib/universal_ble.dart b/universal_ble/lib/universal_ble.dart new file mode 100644 index 000000000..66d56520e --- /dev/null +++ b/universal_ble/lib/universal_ble.dart @@ -0,0 +1,6 @@ +library universal_ble; + +export 'package:universal_ble/src/universal_ble_exceptions.dart'; +export 'package:universal_ble/src/universal_ble_platform_interface.dart'; +export 'package:universal_ble/src/universal_ble.dart'; +export 'package:universal_ble/src/models/model_exports.dart'; diff --git a/universal_ble/pigeon/universal_ble.dart b/universal_ble/pigeon/universal_ble.dart new file mode 100644 index 000000000..f6f8d8b86 --- /dev/null +++ b/universal_ble/pigeon/universal_ble.dart @@ -0,0 +1,171 @@ +import 'package:pigeon/pigeon.dart'; + +// dart run pigeon --input pigeon/universal_ble.dart +@ConfigurePigeon( + PigeonOptions( + dartPackageName: 'universal_ble', + dartOut: 'lib/src/universal_ble_pigeon/universal_ble.g.dart', + dartOptions: DartOptions(), + kotlinOut: + 'android/src/main/kotlin/com/navideck/universal_ble/UniversalBle.g.kt', + swiftOut: 'darwin/Classes/UniversalBle.g.swift', + kotlinOptions: KotlinOptions(package: 'com.navideck.universal_ble'), + swiftOptions: SwiftOptions(), + cppOptions: CppOptions(namespace: 'universal_ble'), + cppHeaderOut: 'windows/src/generated/universal_ble.g.h', + cppSourceOut: 'windows/src/generated/universal_ble.g.cpp', + debugGenerators: true, + ), +) + +/// Flutter -> Native +@HostApi() +abstract class UniversalBlePlatformChannel { + @async + int getBluetoothAvailabilityState(); + + @async + bool enableBluetooth(); + + @async + bool disableBluetooth(); + + void startScan(UniversalScanFilter? filter); + + void stopScan(); + + void connect(String deviceId); + + void disconnect(String deviceId); + + @async + void setNotifiable( + String deviceId, + String service, + String characteristic, + int bleInputProperty, + ); + + @async + List discoverServices(String deviceId); + + @async + Uint8List readValue( + String deviceId, + String service, + String characteristic, + ); + + @async + int requestMtu(String deviceId, int expectedMtu); + + @async + void writeValue( + String deviceId, + String service, + String characteristic, + Uint8List value, + int bleOutputProperty, + ); + + @async + bool isPaired(String deviceId); + + @async + bool pair(String deviceId); + + void unPair(String deviceId); + + @async + List getSystemDevices( + List withServices, + ); + + int getConnectionState(String deviceId); +} + +/// Native -> Flutter +@FlutterApi() +abstract class UniversalBleCallbackChannel { + void onAvailabilityChanged(int state); + + void onPairStateChange(String deviceId, bool isPaired, String? error); + + void onScanResult(UniversalBleScanResult result); + + void onValueChanged( + String deviceId, + String characteristicId, + Uint8List value, + ); + + void onConnectionChanged( + String deviceId, + bool connected, + String? error, + ); +} + +class UniversalBleScanResult { + final String deviceId; + final String? name; + final bool? isPaired; + final int? rssi; + final List? manufacturerDataList; + final List? services; + + UniversalBleScanResult({ + required this.name, + required this.deviceId, + required this.isPaired, + required this.rssi, + required this.manufacturerDataList, + required this.services, + }); +} + +class UniversalBleService { + String uuid; + List? characteristics; + UniversalBleService(this.uuid, this.characteristics); +} + +class UniversalBleCharacteristic { + String uuid; + List properties; + UniversalBleCharacteristic(this.uuid, this.properties); +} + +/// Scan Filters +class UniversalScanFilter { + final List withServices; + final List withNamePrefix; + final List withManufacturerData; + + UniversalScanFilter( + this.withServices, + this.withNamePrefix, + this.withManufacturerData, + ); +} + +class UniversalManufacturerDataFilter { + int companyIdentifier; + Uint8List? data; + Uint8List? mask; + UniversalManufacturerDataFilter({ + required this.companyIdentifier, + this.data, + this.mask, + }); +} + +class UniversalManufacturerData { + final int companyIdentifier; + final Uint8List data; + + UniversalManufacturerData({ + required this.companyIdentifier, + required this.data, + }); +} diff --git a/universal_ble/pubspec.yaml b/universal_ble/pubspec.yaml new file mode 100644 index 000000000..7fca45a20 --- /dev/null +++ b/universal_ble/pubspec.yaml @@ -0,0 +1,48 @@ +name: universal_ble +description: A cross-platform (Android/iOS/macOS/Windows/Linux/Web) Bluetooth Low Energy (BLE) plugin for Flutter +version: 0.18.0 +homepage: https://navideck.com +repository: https://github.com/Navideck/universal_ble +issue_tracker: https://github.com/Navideck/universal_ble/issues +funding: + - https://github.com/sponsors/Navideck + +platforms: + android: + ios: + linux: + macos: + web: + windows: + +environment: + sdk: ">=3.1.3 <4.0.0" + flutter: ">=3.3.0" + +dependencies: + flutter: + sdk: flutter + plugin_platform_interface: ^2.1.6 + flutter_web_bluetooth: ^1.0.0 + bluez: ^0.8.3 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^2.0.0 + pigeon: ^22.4.0 + +flutter: + plugin: + platforms: + android: + package: com.navideck.universal_ble + pluginClass: UniversalBlePlugin + ios: + pluginClass: UniversalBlePlugin + sharedDarwinSource: true + macos: + pluginClass: UniversalBlePlugin + sharedDarwinSource: true + windows: + pluginClass: UniversalBlePluginCApi diff --git a/universal_ble/test/ble_uuid_parser_test.dart b/universal_ble/test/ble_uuid_parser_test.dart new file mode 100644 index 000000000..2cdbb7996 --- /dev/null +++ b/universal_ble/test/ble_uuid_parser_test.dart @@ -0,0 +1,233 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:universal_ble/universal_ble.dart'; + +void main() { + group('Parsing string', () { + group('Succeeds', () { + test('128-bit UUID in lowercase', () { + expect( + BleUuidParser.string('0000180a-0000-1000-8000-00805f9b34fb'), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + + test('128-bit UUID in uppercase', () { + expect( + BleUuidParser.string('0000180A-0000-1000-8000-00805F9B34FB'), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + + test('16-bit UUID in lowercase', () { + expect( + BleUuidParser.string('180a'), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + + test('16-bit UUID in uppercase', () { + expect( + BleUuidParser.string('180A'), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + + test('32-bit UUID', () { + expect( + BleUuidParser.string('0000180a'), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + + test('UUID without dashes', () { + expect( + BleUuidParser.string('0000180a00001000800000805f9b34fb'), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + + test('Lowercase 16-bit string to 128-bit starting with 0x', () { + expect( + BleUuidParser.string('0x0180a'), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + + test('Uppercase 16-bit string to 128-bit starting with 0x', () { + expect( + BleUuidParser.string('0x0180A'), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + + test('128-bit UUID with trailing space', () { + expect( + BleUuidParser.string('0000180a-0000-1000-8000-00805f9b34fb '), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + }); + group('Fails', () { + test('Invalid UUID length is less than 4', () { + expect( + () => BleUuidParser.string('123'), + throwsFormatException, + ); + }); + + test('Invalid UUID without dashes and short length', () { + expect( + () => BleUuidParser.string('0000180a00001000800000805f9b34'), + throwsFormatException, + ); + }); + + test('Invalid UUID without dashes and long length', () { + expect( + () => BleUuidParser.string('0000180a00001000800000805f9b34fb34'), + throwsFormatException, + ); + }); + + test('Invalid UUID is missing a dash', () { + expect( + () => BleUuidParser.string('0000180a-0000-1000-800000805f9b34fb'), + throwsFormatException, + ); + }); + + test('Invalid UUID has too many dashes', () { + expect( + () => BleUuidParser.string('0000-180a-0000-1000-8000-0080-5f9b-34fb'), + throwsFormatException, + ); + }); + + test('Invalid UUID is too short for 128 bits', () { + expect( + () => BleUuidParser.string('01'), + throwsFormatException, + ); + + expect( + () => BleUuidParser.string('0000180a-0000-1000-8000-00805f9b34f'), + throwsFormatException, + ); + }); + + test('Invalid UUID is too long for 128 bits', () { + expect( + () => BleUuidParser.string('0000180a-0000-1000-8000-00805f9b34fba'), + throwsFormatException, + ); + }); + + test('Invalid UUID contains non-hex characters', () { + expect( + () => BleUuidParser.string('0000180g-0000-1000-8000-00805f9b34fba'), + throwsFormatException, + ); + }); + }); + }); + + group('Parsing number', () { + group('Succeeds', () { + test('16-bit UUID in lowercase', () { + expect( + BleUuidParser.number(0x180a), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + + test('16-bit UUID in uppercase', () { + expect( + BleUuidParser.number(0x180A), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + + test('32-bit UUID', () { + expect( + BleUuidParser.number(0x0000180A), + equals('0000180a-0000-1000-8000-00805f9b34fb'), + ); + }); + }); + group('Fails', () { + test('Invalid UUID is 8 bits', () { + expect( + () => BleUuidParser.number(0x18), + throwsFormatException, + ); + }); + + test('Invalid UUID is more than 32 bits', () { + expect( + () => BleUuidParser.number(0x180A01), + throwsFormatException, + ); + }); + }); + }); + + group('CompareStrings', () { + group('Succeeds', () { + test('Identical UUIDs', () { + expect( + BleUuidParser.compareStrings('0000180a-0000-1000-8000-00805f9b34fb', + '0000180a-0000-1000-8000-00805f9b34fb'), + isTrue, + ); + }); + + test('UUIDs with different case', () { + expect( + BleUuidParser.compareStrings('180A', '180a'), + isTrue, + ); + }); + + test('16-bit and 128-bit UUIDs', () { + expect( + BleUuidParser.compareStrings( + '0000180a-0000-1000-8000-00805f9b34fb', '180a'), + isTrue, + ); + }); + + test('16-bit and 128-bit UUIDs without dashes', () { + expect( + BleUuidParser.compareStrings( + '0000180A00001000800000805F9B34FB', '180a'), + isTrue, + ); + }); + + test('32-bit and 128-bit UUIDs', () { + expect( + BleUuidParser.compareStrings( + '0000180A', '0000180a-0000-1000-8000-00805f9b34fb'), + isTrue, + ); + }); + }); + + group('Fails with', () { + test('Different UUIDs', () { + expect( + BleUuidParser.compareStrings('180A', '180B'), + isFalse, + ); + }); + + test('Different UUIDs with different formats', () { + expect( + BleUuidParser.compareStrings( + '0000180A', '0000180b-0000-1000-8000-00805f9b34fb'), + isFalse, + ); + }); + }); + }); +} diff --git a/universal_ble/test/manufacturer_data_filter_test.dart b/universal_ble/test/manufacturer_data_filter_test.dart new file mode 100644 index 000000000..a5265dc9c --- /dev/null +++ b/universal_ble/test/manufacturer_data_filter_test.dart @@ -0,0 +1,178 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:universal_ble/src/universal_ble_filter_util.dart'; +import 'dart:typed_data'; + +import 'package:universal_ble/universal_ble.dart'; + +void main() { + group('ManufacturerData Matching Tests', () { + late UniversalBleFilterUtil filterUtil; + late ScanFilter scanFilter; + late BleDevice device; + + setUp(() { + filterUtil = UniversalBleFilterUtil(); + scanFilter = ScanFilter( + withNamePrefix: [], + withServices: [], + withManufacturerData: [], + ); + }); + + test('should match when no manufacturer filters are present', () { + device = BleDevice( + deviceId: '1', + name: 'Test Device', + manufacturerDataList: [], + services: [], + ); + + expect(filterUtil.manufacturerDataMatches(scanFilter, device), true); + }); + + test('should not match when device has no manufacturer data', () { + scanFilter = ScanFilter( + withNamePrefix: [], + withServices: [], + withManufacturerData: [ + ManufacturerDataFilter(companyIdentifier: 0x004C), + ], + ); + + device = BleDevice( + deviceId: '1', + name: 'Test Device', + manufacturerDataList: [], + services: [], + ); + + expect(filterUtil.manufacturerDataMatches(scanFilter, device), false); + }); + + test( + 'should match when company identifiers are equal and no payload prefix', + () { + scanFilter = ScanFilter( + withNamePrefix: [], + withServices: [], + withManufacturerData: [ + ManufacturerDataFilter(companyIdentifier: 0x004C), + ], + ); + + device = BleDevice( + deviceId: '1', + name: 'Test Device', + manufacturerDataList: [ + ManufacturerData(0x004C, Uint8List.fromList([])), + ], + services: [], + ); + + expect(filterUtil.manufacturerDataMatches(scanFilter, device), true); + }); + + group('Payload Prefix Tests', () { + test('should match when payload prefix matches start of payload', () { + scanFilter = ScanFilter( + withNamePrefix: [], + withServices: [], + withManufacturerData: [ + ManufacturerDataFilter( + companyIdentifier: 0x004C, + payloadPrefix: Uint8List.fromList([0x01, 0x02]), + ), + ], + ); + + device = BleDevice( + deviceId: '1', + name: 'Test Device', + manufacturerDataList: [ + ManufacturerData(0x004C, Uint8List.fromList([0x01, 0x02, 0x03])), + ], + services: [], + ); + + expect(filterUtil.manufacturerDataMatches(scanFilter, device), true); + }); + + test('should match with multiple manufacturer data entries', () { + scanFilter = ScanFilter( + withNamePrefix: [], + withServices: [], + withManufacturerData: [ + ManufacturerDataFilter( + companyIdentifier: 0x004D, + payloadPrefix: Uint8List.fromList([0x01, 0x02]), + ), + ], + ); + + device = BleDevice( + deviceId: '1', + name: 'Test Device', + manufacturerDataList: [ + ManufacturerData(0x004C, Uint8List.fromList([0x03, 0x04])), + ManufacturerData(0x004D, Uint8List.fromList([0x01, 0x02, 0x03])), + ], + services: [], + ); + + expect(filterUtil.manufacturerDataMatches(scanFilter, device), true); + }); + }); + + group('Payload Mask Tests', () { + test('should match when masked values are equal', () { + scanFilter = ScanFilter( + withNamePrefix: [], + withServices: [], + withManufacturerData: [ + ManufacturerDataFilter( + companyIdentifier: 0x004C, + payloadPrefix: Uint8List.fromList([0xFF, 0xFF]), + payloadMask: Uint8List.fromList([0xF0, 0xF0]), + ), + ], + ); + + device = BleDevice( + deviceId: '1', + name: 'Test Device', + manufacturerDataList: [ + ManufacturerData(0x004C, Uint8List.fromList([0xF5, 0xF8])), + ], + services: [], + ); + + expect(filterUtil.manufacturerDataMatches(scanFilter, device), true); + }); + + test('should not match when masked values are different', () { + scanFilter = ScanFilter( + withNamePrefix: [], + withServices: [], + withManufacturerData: [ + ManufacturerDataFilter( + companyIdentifier: 0x004C, + payloadPrefix: Uint8List.fromList([0xFF, 0xFF]), + payloadMask: Uint8List.fromList([0xF0, 0xF0]), + ), + ], + ); + + device = BleDevice( + deviceId: '1', + name: 'Test Device', + manufacturerDataList: [ + ManufacturerData(0x004C, Uint8List.fromList([0xE5, 0xF8])), + ], + services: [], + ); + + expect(filterUtil.manufacturerDataMatches(scanFilter, device), false); + }); + }); + }); +} diff --git a/universal_ble/test/scan_filter_test.dart b/universal_ble/test/scan_filter_test.dart new file mode 100644 index 000000000..de27b07ee --- /dev/null +++ b/universal_ble/test/scan_filter_test.dart @@ -0,0 +1,198 @@ +import 'dart:typed_data'; + +import 'package:flutter_test/flutter_test.dart'; +import 'package:universal_ble/src/universal_ble_filter_util.dart'; +import 'package:universal_ble/universal_ble.dart'; + +void main() { + final universalBleFilter = UniversalBleFilterUtil(); + var device1 = BleDevice( + deviceId: '1', + name: '1_device', + services: ['1_ser'], + manufacturerDataList: [ + ManufacturerData(0x01, Uint8List.fromList([1, 2, 3])), + ], + ); + var device2 = BleDevice( + deviceId: '2', + name: '2_device', + services: ['2_ser'], + manufacturerDataList: [ + ManufacturerData(0x02, Uint8List.fromList([1, 2, 3])) + ], + ); + var device3 = BleDevice( + deviceId: '3', + name: '3_device', + services: ['3_ser'], + manufacturerDataList: [ + ManufacturerData(0x03, Uint8List.fromList([1, 2, 3])) + ], + ); + + group("Test Individual Filter", () { + test('Test isNameMatchingFilters', () { + var scanFilter = ScanFilter( + withNamePrefix: ['1', '2'], + ); + expect( + universalBleFilter.nameMatches(scanFilter, device1), + isTrue, + ); + expect( + universalBleFilter.nameMatches(scanFilter, device2), + isTrue, + ); + expect( + universalBleFilter.nameMatches(scanFilter, device3), + isFalse, + ); + }); + + test('Test isServicesMatchingFilters', () { + var scanFilter = ScanFilter( + withServices: ['1_ser', 'random', '3_ser'], + ); + expect( + universalBleFilter.servicesMatch(scanFilter, device1), + isTrue, + ); + expect( + universalBleFilter.servicesMatch(scanFilter, device2), + isFalse, + ); + expect( + universalBleFilter.nameMatches(scanFilter, device3), + isTrue, + ); + }); + + test('Test isManufacturerDataMatchingFilters', () { + var scanFilter = ScanFilter(withManufacturerData: [ + ManufacturerDataFilter( + companyIdentifier: 0x01, + payloadPrefix: Uint8List.fromList([1, 2]), + ), + ManufacturerDataFilter( + companyIdentifier: 0x02, + ), + ManufacturerDataFilter( + companyIdentifier: 0x03, + payloadPrefix: Uint8List.fromList([3, 4]), + ) + ]); + expect( + universalBleFilter.manufacturerDataMatches( + scanFilter, + device1, + ), + isTrue, + ); + expect( + universalBleFilter.manufacturerDataMatches( + scanFilter, + device2, + ), + isTrue, + ); + expect( + universalBleFilter.manufacturerDataMatches( + scanFilter, + device3, + ), + isFalse, + ); + }); + }); + + group("Test Scan Filter", () { + test('Test filterDevice: Have filter for all', () { + universalBleFilter.scanFilter = ScanFilter( + withNamePrefix: ['1'], + withServices: ['3_ser'], + withManufacturerData: [ + ManufacturerDataFilter( + companyIdentifier: 0x02, + ) + ], + ); + expect( + universalBleFilter.matchesDevice(device1), + isTrue, + ); + expect( + universalBleFilter.matchesDevice(device2), + isTrue, + ); + expect( + universalBleFilter.matchesDevice(device3), + isTrue, + ); + }); + test('Test filterDevice: Filter for one', () { + universalBleFilter.scanFilter = ScanFilter( + withNamePrefix: ['1'], + ); + expect( + universalBleFilter.matchesDevice(device1), + isTrue, + ); + expect( + universalBleFilter.matchesDevice(device2), + isFalse, + ); + expect( + universalBleFilter.matchesDevice(device3), + isFalse, + ); + }); + test('Test filterDevice: Filter for two', () { + universalBleFilter.scanFilter = ScanFilter( + withNamePrefix: ['1', '2'], + ); + expect( + universalBleFilter.matchesDevice(device1), + isTrue, + ); + expect( + universalBleFilter.matchesDevice(device2), + isTrue, + ); + expect( + universalBleFilter.matchesDevice(device3), + isFalse, + ); + }); + test('Test filterDevice: Empty Filter', () { + universalBleFilter.scanFilter = ScanFilter(); + expect( + universalBleFilter.matchesDevice(device1), + isTrue, + ); + expect( + universalBleFilter.matchesDevice(device2), + isTrue, + ); + expect( + universalBleFilter.matchesDevice(device3), + isTrue, + ); + }); + test('Test filterDevice: Null Filter', () { + universalBleFilter.scanFilter = ScanFilter(); + expect( + universalBleFilter.matchesDevice(device1), + isTrue, + ); + expect( + universalBleFilter.matchesDevice(device2), + isTrue, + ); + expect( + universalBleFilter.matchesDevice(device3), + isTrue, + ); + }); + }); +} diff --git a/universal_ble/windows/.gitignore b/universal_ble/windows/.gitignore new file mode 100644 index 000000000..b3eb2be16 --- /dev/null +++ b/universal_ble/windows/.gitignore @@ -0,0 +1,17 @@ +flutter/ + +# Visual Studio user-specific files. +*.suo +*.user +*.userosscache +*.sln.docstates + +# Visual Studio build-related files. +x64/ +x86/ + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ diff --git a/universal_ble/windows/CMakeLists.txt b/universal_ble/windows/CMakeLists.txt new file mode 100644 index 000000000..3c2854e36 --- /dev/null +++ b/universal_ble/windows/CMakeLists.txt @@ -0,0 +1,80 @@ +cmake_minimum_required(VERSION 3.21) +set(PROJECT_NAME "universal_ble") +project(${PROJECT_NAME} LANGUAGES CXX) +cmake_policy(VERSION 3.14...3.25) +include(FetchContent) +set(CPPWINRT_VERSION "2.0.220418.1") +set(PLUGIN_NAME "universal_ble_plugin") + +# ############### NuGet intall begin ################ +FetchContent_Declare(nuget + URL "https://dist.nuget.org/win-x86-commandline/v6.0.0/nuget.exe" + URL_HASH SHA256=04eb6c4fe4213907e2773e1be1bbbd730e9a655a3c9c58387ce8d4a714a5b9e1 + DOWNLOAD_NO_EXTRACT true +) + +find_program(NUGET nuget) + +if(NOT NUGET) + # message("Nuget.exe not found, trying to download or use cached version.") + FetchContent_MakeAvailable(nuget) + set(NUGET ${nuget_SOURCE_DIR}/nuget.exe) +endif() + +execute_process(COMMAND + ${NUGET} install "Microsoft.Windows.CppWinRT" -Version ${CPPWINRT_VERSION} -OutputDirectory packages + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + RESULT_VARIABLE ret) + +if(NOT ret EQUAL 0) + message(FATAL_ERROR "Failed to install nuget package Microsoft.Windows.CppWinRT.${CPPWINRT_VERSION}") +endif() + +# ############### NuGet install end ################ +list(APPEND PLUGIN_SOURCES + "src/universal_ble_plugin.cpp" + "src/universal_ble_plugin.h" + "src/helper/universal_enum.h" + "src/helper/universal_ble_base.h" + "src/helper/utils.cpp" + "src/helper/utils.h" + "src/ui_thread_handler.hpp" + "src/generated/universal_ble.g.cpp" + "src/generated/universal_ble.g.h" + "src/pin_entry.h" + "src/universal_ble_filter_util.cpp" + "src/universal_ble_filter_util.h" + "src/universal_ble_thread_safe.h" + "src/enum_parser.h" +) + +add_library(${PLUGIN_NAME} SHARED + "include/universal_ble/universal_ble_plugin_c_api.h" + "universal_ble_plugin_c_api.cpp" + ${PLUGIN_SOURCES} +) + +apply_standard_settings(${PLUGIN_NAME}) + +# ############### NuGet import begin ################ +set_target_properties(${PLUGIN_NAME} PROPERTIES VS_PROJECT_IMPORT + ${CMAKE_BINARY_DIR}/packages/Microsoft.Windows.CppWinRT.${CPPWINRT_VERSION}/build/native/Microsoft.Windows.CppWinRT.props +) + +target_link_libraries(${PLUGIN_NAME} PRIVATE + ${CMAKE_BINARY_DIR}/packages/Microsoft.Windows.CppWinRT.${CPPWINRT_VERSION}/build/native/Microsoft.Windows.CppWinRT.targets +) + +# ############### NuGet import end ################ +set_target_properties(${PLUGIN_NAME} PROPERTIES + CXX_VISIBILITY_PRESET hidden) +target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) + +target_include_directories(${PLUGIN_NAME} INTERFACE + "${CMAKE_CURRENT_SOURCE_DIR}/include") +target_link_libraries(${PLUGIN_NAME} PRIVATE flutter flutter_wrapper_plugin) + +set(universal_ble_bundled_libraries + "" + PARENT_SCOPE +) diff --git a/universal_ble/windows/include/universal_ble/universal_ble_plugin_c_api.h b/universal_ble/windows/include/universal_ble/universal_ble_plugin_c_api.h new file mode 100644 index 000000000..37dd65390 --- /dev/null +++ b/universal_ble/windows/include/universal_ble/universal_ble_plugin_c_api.h @@ -0,0 +1,23 @@ +#ifndef FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_C_API_H_ +#define FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_C_API_H_ + +#include + +#ifdef FLUTTER_PLUGIN_IMPL +#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) +#else +#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + +FLUTTER_PLUGIN_EXPORT void UniversalBlePluginCApiRegisterWithRegistrar( + FlutterDesktopPluginRegistrarRef registrar); + +#if defined(__cplusplus) +} // extern "C" +#endif + +#endif // FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_C_API_H_ diff --git a/universal_ble/windows/src/enum_parser.h b/universal_ble/windows/src/enum_parser.h new file mode 100644 index 000000000..eb7899a21 --- /dev/null +++ b/universal_ble/windows/src/enum_parser.h @@ -0,0 +1,127 @@ +#pragma once + +#include + +namespace universal_ble +{ + inline std::string device_watcher_status_to_string(const DeviceWatcherStatus result) + { + switch (result) + { + case DeviceWatcherStatus::Created: return "Created"; + case DeviceWatcherStatus::Aborted: return "Aborted"; + case DeviceWatcherStatus::EnumerationCompleted: return "EnumerationCompleted"; + case DeviceWatcherStatus::Started: return "Started"; + case DeviceWatcherStatus::Stopped: return "Stopped"; + case DeviceWatcherStatus::Stopping: return "Stopping"; + } + return ""; + } + + inline std::optional gatt_communication_status_to_error(const GattCommunicationStatus result) + { + switch (result) + { + case GattCommunicationStatus::Success: return std::nullopt; + case GattCommunicationStatus::Unreachable: return "Unreachable"; + case GattCommunicationStatus::ProtocolError: return "ProtocolError"; + case GattCommunicationStatus::AccessDenied: return "AccessDenied"; + } + return std::nullopt; + } + + + + inline std::optional device_unpairing_result_to_string(const DeviceUnpairingResultStatus result) + { + switch (result) + { + case DeviceUnpairingResultStatus::Failed: return "Failed to unpair device"; + case DeviceUnpairingResultStatus::AccessDenied: return "Access denied"; + case DeviceUnpairingResultStatus::AlreadyUnpaired: return "Device is already unpaired"; + case DeviceUnpairingResultStatus::OperationAlreadyInProgress: return "OperationAlreadyInProgress"; + case DeviceUnpairingResultStatus::Unpaired: return std::nullopt; + + } + return std::nullopt; + } + + inline std::optional parse_pairing_fail_error(const DevicePairingResult& result) + { + switch (result.Status()) + { + case DevicePairingResultStatus::Paired: return std::nullopt; + case DevicePairingResultStatus::AlreadyPaired: return "AlreadyPaired"; + case DevicePairingResultStatus::ConnectionRejected: return "ConnectionRejected"; + case DevicePairingResultStatus::NotPaired: return "NotPaired"; + case DevicePairingResultStatus::NotReadyToPair: return "NotReadyToPair"; + case DevicePairingResultStatus::TooManyConnections: return "TooManyConnections"; + case DevicePairingResultStatus::HardwareFailure: return "HardwareFailure"; + case DevicePairingResultStatus::AuthenticationTimeout: return "AuthenticationTimeout"; + case DevicePairingResultStatus::AuthenticationNotAllowed: return "AuthenticationNotAllowed"; + case DevicePairingResultStatus::AuthenticationFailure: return "AuthenticationFailure"; + case DevicePairingResultStatus::NoSupportedProfiles: return "NoSupportedProfiles"; + case DevicePairingResultStatus::ProtectionLevelCouldNotBeMet: return "ProtectionLevelCouldNotBeMet"; + case DevicePairingResultStatus::AccessDenied: return "AccessDenied"; + case DevicePairingResultStatus::InvalidCeremonyData: return "InvalidCeremonyData"; + case DevicePairingResultStatus::PairingCanceled: return "PairingCanceled"; + case DevicePairingResultStatus::OperationAlreadyInProgress: return "OperationAlreadyInProgress"; + case DevicePairingResultStatus::RequiredHandlerNotRegistered: return "RequiredHandlerNotRegistered"; + case DevicePairingResultStatus::RejectedByHandler: return "RejectedByHandler"; + case DevicePairingResultStatus::RemoteDeviceHasAssociation: return "RemoteDeviceHasAssociation"; + default: return "Failed to pair"; + } + } + + + inline AvailabilityState get_availability_state_from_radio(const RadioState radio_state) + { + switch (radio_state) + { + case RadioState::On: return AvailabilityState::poweredOn; + case RadioState::Off: return AvailabilityState::poweredOff; + case RadioState::Disabled: return AvailabilityState::unsupported; + case RadioState::Unknown: return AvailabilityState::unknown; + } + return AvailabilityState::unknown; + } + + inline flutter::EncodableList properties_to_flutter_encodable (const GattCharacteristicProperties properties_value) + { + auto properties = flutter::EncodableList(); + if ((properties_value & GattCharacteristicProperties::Broadcast) != GattCharacteristicProperties::None) + { + properties.push_back(static_cast(CharacteristicProperty::broadcast)); + } + if ((properties_value & GattCharacteristicProperties::Read) != GattCharacteristicProperties::None) + { + properties.push_back(static_cast(CharacteristicProperty::read)); + } + if ((properties_value & GattCharacteristicProperties::Write) != GattCharacteristicProperties::None) + { + properties.push_back(static_cast(CharacteristicProperty::write)); + } + if ((properties_value & GattCharacteristicProperties::WriteWithoutResponse) != GattCharacteristicProperties::None) + { + properties.push_back(static_cast(CharacteristicProperty::writeWithoutResponse)); + } + if ((properties_value & GattCharacteristicProperties::Notify) != GattCharacteristicProperties::None) + { + properties.push_back(static_cast(CharacteristicProperty::notify)); + } + if ((properties_value & GattCharacteristicProperties::Indicate) != GattCharacteristicProperties::None) + { + properties.push_back(static_cast(CharacteristicProperty::indicate)); + } + if ((properties_value & GattCharacteristicProperties::AuthenticatedSignedWrites) != GattCharacteristicProperties::None) + { + properties.push_back(static_cast(CharacteristicProperty::authenticatedSignedWrites)); + } + if ((properties_value & GattCharacteristicProperties::ExtendedProperties) != GattCharacteristicProperties::None) + { + properties.push_back(static_cast(CharacteristicProperty::extendedProperties)); + } + return properties; + } + +} diff --git a/universal_ble/windows/src/generated/universal_ble.g.cpp b/universal_ble/windows/src/generated/universal_ble.g.cpp new file mode 100644 index 000000000..46ed50374 --- /dev/null +++ b/universal_ble/windows/src/generated/universal_ble.g.cpp @@ -0,0 +1,1190 @@ +// Autogenerated from Pigeon (v22.6.1), do not edit directly. +// See also: https://pub.dev/packages/pigeon + +#undef _HAS_EXCEPTIONS + +#include "universal_ble.g.h" + +#include +#include +#include +#include + +#include +#include +#include + +namespace universal_ble { +using flutter::BasicMessageChannel; +using flutter::CustomEncodableValue; +using flutter::EncodableList; +using flutter::EncodableMap; +using flutter::EncodableValue; + +FlutterError CreateConnectionError(const std::string channel_name) { + return FlutterError( + "channel-error", + "Unable to establish connection on channel: '" + channel_name + "'.", + EncodableValue("")); +} + +// UniversalBleScanResult + +UniversalBleScanResult::UniversalBleScanResult(const std::string& device_id) + : device_id_(device_id) {} + +UniversalBleScanResult::UniversalBleScanResult( + const std::string& device_id, + const std::string* name, + const bool* is_paired, + const int64_t* rssi, + const EncodableList* manufacturer_data_list, + const EncodableList* services) + : device_id_(device_id), + name_(name ? std::optional(*name) : std::nullopt), + is_paired_(is_paired ? std::optional(*is_paired) : std::nullopt), + rssi_(rssi ? std::optional(*rssi) : std::nullopt), + manufacturer_data_list_(manufacturer_data_list ? std::optional(*manufacturer_data_list) : std::nullopt), + services_(services ? std::optional(*services) : std::nullopt) {} + +const std::string& UniversalBleScanResult::device_id() const { + return device_id_; +} + +void UniversalBleScanResult::set_device_id(std::string_view value_arg) { + device_id_ = value_arg; +} + + +const std::string* UniversalBleScanResult::name() const { + return name_ ? &(*name_) : nullptr; +} + +void UniversalBleScanResult::set_name(const std::string_view* value_arg) { + name_ = value_arg ? std::optional(*value_arg) : std::nullopt; +} + +void UniversalBleScanResult::set_name(std::string_view value_arg) { + name_ = value_arg; +} + + +const bool* UniversalBleScanResult::is_paired() const { + return is_paired_ ? &(*is_paired_) : nullptr; +} + +void UniversalBleScanResult::set_is_paired(const bool* value_arg) { + is_paired_ = value_arg ? std::optional(*value_arg) : std::nullopt; +} + +void UniversalBleScanResult::set_is_paired(bool value_arg) { + is_paired_ = value_arg; +} + + +const int64_t* UniversalBleScanResult::rssi() const { + return rssi_ ? &(*rssi_) : nullptr; +} + +void UniversalBleScanResult::set_rssi(const int64_t* value_arg) { + rssi_ = value_arg ? std::optional(*value_arg) : std::nullopt; +} + +void UniversalBleScanResult::set_rssi(int64_t value_arg) { + rssi_ = value_arg; +} + + +const EncodableList* UniversalBleScanResult::manufacturer_data_list() const { + return manufacturer_data_list_ ? &(*manufacturer_data_list_) : nullptr; +} + +void UniversalBleScanResult::set_manufacturer_data_list(const EncodableList* value_arg) { + manufacturer_data_list_ = value_arg ? std::optional(*value_arg) : std::nullopt; +} + +void UniversalBleScanResult::set_manufacturer_data_list(const EncodableList& value_arg) { + manufacturer_data_list_ = value_arg; +} + + +const EncodableList* UniversalBleScanResult::services() const { + return services_ ? &(*services_) : nullptr; +} + +void UniversalBleScanResult::set_services(const EncodableList* value_arg) { + services_ = value_arg ? std::optional(*value_arg) : std::nullopt; +} + +void UniversalBleScanResult::set_services(const EncodableList& value_arg) { + services_ = value_arg; +} + + +EncodableList UniversalBleScanResult::ToEncodableList() const { + EncodableList list; + list.reserve(6); + list.push_back(EncodableValue(device_id_)); + list.push_back(name_ ? EncodableValue(*name_) : EncodableValue()); + list.push_back(is_paired_ ? EncodableValue(*is_paired_) : EncodableValue()); + list.push_back(rssi_ ? EncodableValue(*rssi_) : EncodableValue()); + list.push_back(manufacturer_data_list_ ? EncodableValue(*manufacturer_data_list_) : EncodableValue()); + list.push_back(services_ ? EncodableValue(*services_) : EncodableValue()); + return list; +} + +UniversalBleScanResult UniversalBleScanResult::FromEncodableList(const EncodableList& list) { + UniversalBleScanResult decoded( + std::get(list[0])); + auto& encodable_name = list[1]; + if (!encodable_name.IsNull()) { + decoded.set_name(std::get(encodable_name)); + } + auto& encodable_is_paired = list[2]; + if (!encodable_is_paired.IsNull()) { + decoded.set_is_paired(std::get(encodable_is_paired)); + } + auto& encodable_rssi = list[3]; + if (!encodable_rssi.IsNull()) { + decoded.set_rssi(std::get(encodable_rssi)); + } + auto& encodable_manufacturer_data_list = list[4]; + if (!encodable_manufacturer_data_list.IsNull()) { + decoded.set_manufacturer_data_list(std::get(encodable_manufacturer_data_list)); + } + auto& encodable_services = list[5]; + if (!encodable_services.IsNull()) { + decoded.set_services(std::get(encodable_services)); + } + return decoded; +} + +// UniversalBleService + +UniversalBleService::UniversalBleService(const std::string& uuid) + : uuid_(uuid) {} + +UniversalBleService::UniversalBleService( + const std::string& uuid, + const EncodableList* characteristics) + : uuid_(uuid), + characteristics_(characteristics ? std::optional(*characteristics) : std::nullopt) {} + +const std::string& UniversalBleService::uuid() const { + return uuid_; +} + +void UniversalBleService::set_uuid(std::string_view value_arg) { + uuid_ = value_arg; +} + + +const EncodableList* UniversalBleService::characteristics() const { + return characteristics_ ? &(*characteristics_) : nullptr; +} + +void UniversalBleService::set_characteristics(const EncodableList* value_arg) { + characteristics_ = value_arg ? std::optional(*value_arg) : std::nullopt; +} + +void UniversalBleService::set_characteristics(const EncodableList& value_arg) { + characteristics_ = value_arg; +} + + +EncodableList UniversalBleService::ToEncodableList() const { + EncodableList list; + list.reserve(2); + list.push_back(EncodableValue(uuid_)); + list.push_back(characteristics_ ? EncodableValue(*characteristics_) : EncodableValue()); + return list; +} + +UniversalBleService UniversalBleService::FromEncodableList(const EncodableList& list) { + UniversalBleService decoded( + std::get(list[0])); + auto& encodable_characteristics = list[1]; + if (!encodable_characteristics.IsNull()) { + decoded.set_characteristics(std::get(encodable_characteristics)); + } + return decoded; +} + +// UniversalBleCharacteristic + +UniversalBleCharacteristic::UniversalBleCharacteristic( + const std::string& uuid, + const EncodableList& properties) + : uuid_(uuid), + properties_(properties) {} + +const std::string& UniversalBleCharacteristic::uuid() const { + return uuid_; +} + +void UniversalBleCharacteristic::set_uuid(std::string_view value_arg) { + uuid_ = value_arg; +} + + +const EncodableList& UniversalBleCharacteristic::properties() const { + return properties_; +} + +void UniversalBleCharacteristic::set_properties(const EncodableList& value_arg) { + properties_ = value_arg; +} + + +EncodableList UniversalBleCharacteristic::ToEncodableList() const { + EncodableList list; + list.reserve(2); + list.push_back(EncodableValue(uuid_)); + list.push_back(EncodableValue(properties_)); + return list; +} + +UniversalBleCharacteristic UniversalBleCharacteristic::FromEncodableList(const EncodableList& list) { + UniversalBleCharacteristic decoded( + std::get(list[0]), + std::get(list[1])); + return decoded; +} + +// UniversalScanFilter + +UniversalScanFilter::UniversalScanFilter( + const EncodableList& with_services, + const EncodableList& with_name_prefix, + const EncodableList& with_manufacturer_data) + : with_services_(with_services), + with_name_prefix_(with_name_prefix), + with_manufacturer_data_(with_manufacturer_data) {} + +const EncodableList& UniversalScanFilter::with_services() const { + return with_services_; +} + +void UniversalScanFilter::set_with_services(const EncodableList& value_arg) { + with_services_ = value_arg; +} + + +const EncodableList& UniversalScanFilter::with_name_prefix() const { + return with_name_prefix_; +} + +void UniversalScanFilter::set_with_name_prefix(const EncodableList& value_arg) { + with_name_prefix_ = value_arg; +} + + +const EncodableList& UniversalScanFilter::with_manufacturer_data() const { + return with_manufacturer_data_; +} + +void UniversalScanFilter::set_with_manufacturer_data(const EncodableList& value_arg) { + with_manufacturer_data_ = value_arg; +} + + +EncodableList UniversalScanFilter::ToEncodableList() const { + EncodableList list; + list.reserve(3); + list.push_back(EncodableValue(with_services_)); + list.push_back(EncodableValue(with_name_prefix_)); + list.push_back(EncodableValue(with_manufacturer_data_)); + return list; +} + +UniversalScanFilter UniversalScanFilter::FromEncodableList(const EncodableList& list) { + UniversalScanFilter decoded( + std::get(list[0]), + std::get(list[1]), + std::get(list[2])); + return decoded; +} + +// UniversalManufacturerDataFilter + +UniversalManufacturerDataFilter::UniversalManufacturerDataFilter(int64_t company_identifier) + : company_identifier_(company_identifier) {} + +UniversalManufacturerDataFilter::UniversalManufacturerDataFilter( + int64_t company_identifier, + const std::vector* data, + const std::vector* mask) + : company_identifier_(company_identifier), + data_(data ? std::optional>(*data) : std::nullopt), + mask_(mask ? std::optional>(*mask) : std::nullopt) {} + +int64_t UniversalManufacturerDataFilter::company_identifier() const { + return company_identifier_; +} + +void UniversalManufacturerDataFilter::set_company_identifier(int64_t value_arg) { + company_identifier_ = value_arg; +} + + +const std::vector* UniversalManufacturerDataFilter::data() const { + return data_ ? &(*data_) : nullptr; +} + +void UniversalManufacturerDataFilter::set_data(const std::vector* value_arg) { + data_ = value_arg ? std::optional>(*value_arg) : std::nullopt; +} + +void UniversalManufacturerDataFilter::set_data(const std::vector& value_arg) { + data_ = value_arg; +} + + +const std::vector* UniversalManufacturerDataFilter::mask() const { + return mask_ ? &(*mask_) : nullptr; +} + +void UniversalManufacturerDataFilter::set_mask(const std::vector* value_arg) { + mask_ = value_arg ? std::optional>(*value_arg) : std::nullopt; +} + +void UniversalManufacturerDataFilter::set_mask(const std::vector& value_arg) { + mask_ = value_arg; +} + + +EncodableList UniversalManufacturerDataFilter::ToEncodableList() const { + EncodableList list; + list.reserve(3); + list.push_back(EncodableValue(company_identifier_)); + list.push_back(data_ ? EncodableValue(*data_) : EncodableValue()); + list.push_back(mask_ ? EncodableValue(*mask_) : EncodableValue()); + return list; +} + +UniversalManufacturerDataFilter UniversalManufacturerDataFilter::FromEncodableList(const EncodableList& list) { + UniversalManufacturerDataFilter decoded( + std::get(list[0])); + auto& encodable_data = list[1]; + if (!encodable_data.IsNull()) { + decoded.set_data(std::get>(encodable_data)); + } + auto& encodable_mask = list[2]; + if (!encodable_mask.IsNull()) { + decoded.set_mask(std::get>(encodable_mask)); + } + return decoded; +} + +// UniversalManufacturerData + +UniversalManufacturerData::UniversalManufacturerData( + int64_t company_identifier, + const std::vector& data) + : company_identifier_(company_identifier), + data_(data) {} + +int64_t UniversalManufacturerData::company_identifier() const { + return company_identifier_; +} + +void UniversalManufacturerData::set_company_identifier(int64_t value_arg) { + company_identifier_ = value_arg; +} + + +const std::vector& UniversalManufacturerData::data() const { + return data_; +} + +void UniversalManufacturerData::set_data(const std::vector& value_arg) { + data_ = value_arg; +} + + +EncodableList UniversalManufacturerData::ToEncodableList() const { + EncodableList list; + list.reserve(2); + list.push_back(EncodableValue(company_identifier_)); + list.push_back(EncodableValue(data_)); + return list; +} + +UniversalManufacturerData UniversalManufacturerData::FromEncodableList(const EncodableList& list) { + UniversalManufacturerData decoded( + std::get(list[0]), + std::get>(list[1])); + return decoded; +} + + +PigeonInternalCodecSerializer::PigeonInternalCodecSerializer() {} + +EncodableValue PigeonInternalCodecSerializer::ReadValueOfType( + uint8_t type, + flutter::ByteStreamReader* stream) const { + switch (type) { + case 129: { + return CustomEncodableValue(UniversalBleScanResult::FromEncodableList(std::get(ReadValue(stream)))); + } + case 130: { + return CustomEncodableValue(UniversalBleService::FromEncodableList(std::get(ReadValue(stream)))); + } + case 131: { + return CustomEncodableValue(UniversalBleCharacteristic::FromEncodableList(std::get(ReadValue(stream)))); + } + case 132: { + return CustomEncodableValue(UniversalScanFilter::FromEncodableList(std::get(ReadValue(stream)))); + } + case 133: { + return CustomEncodableValue(UniversalManufacturerDataFilter::FromEncodableList(std::get(ReadValue(stream)))); + } + case 134: { + return CustomEncodableValue(UniversalManufacturerData::FromEncodableList(std::get(ReadValue(stream)))); + } + default: + return flutter::StandardCodecSerializer::ReadValueOfType(type, stream); + } +} + +void PigeonInternalCodecSerializer::WriteValue( + const EncodableValue& value, + flutter::ByteStreamWriter* stream) const { + if (const CustomEncodableValue* custom_value = std::get_if(&value)) { + if (custom_value->type() == typeid(UniversalBleScanResult)) { + stream->WriteByte(129); + WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); + return; + } + if (custom_value->type() == typeid(UniversalBleService)) { + stream->WriteByte(130); + WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); + return; + } + if (custom_value->type() == typeid(UniversalBleCharacteristic)) { + stream->WriteByte(131); + WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); + return; + } + if (custom_value->type() == typeid(UniversalScanFilter)) { + stream->WriteByte(132); + WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); + return; + } + if (custom_value->type() == typeid(UniversalManufacturerDataFilter)) { + stream->WriteByte(133); + WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); + return; + } + if (custom_value->type() == typeid(UniversalManufacturerData)) { + stream->WriteByte(134); + WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); + return; + } + } + flutter::StandardCodecSerializer::WriteValue(value, stream); +} + +/// The codec used by UniversalBlePlatformChannel. +const flutter::StandardMessageCodec& UniversalBlePlatformChannel::GetCodec() { + return flutter::StandardMessageCodec::GetInstance(&PigeonInternalCodecSerializer::GetInstance()); +} + +// Sets up an instance of `UniversalBlePlatformChannel` to handle messages through the `binary_messenger`. +void UniversalBlePlatformChannel::SetUp( + flutter::BinaryMessenger* binary_messenger, + UniversalBlePlatformChannel* api) { + UniversalBlePlatformChannel::SetUp(binary_messenger, api, ""); +} + +void UniversalBlePlatformChannel::SetUp( + flutter::BinaryMessenger* binary_messenger, + UniversalBlePlatformChannel* api, + const std::string& message_channel_suffix) { + const std::string prepended_suffix = message_channel_suffix.length() > 0 ? std::string(".") + message_channel_suffix : ""; + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getBluetoothAvailabilityState" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + api->GetBluetoothAvailabilityState([reply](ErrorOr&& output) { + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.enableBluetooth" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + api->EnableBluetooth([reply](ErrorOr&& output) { + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disableBluetooth" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + api->DisableBluetooth([reply](ErrorOr&& output) { + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.startScan" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_filter_arg = args.at(0); + const auto* filter_arg = encodable_filter_arg.IsNull() ? nullptr : &(std::any_cast(std::get(encodable_filter_arg))); + std::optional output = api->StartScan(filter_arg); + if (output.has_value()) { + reply(WrapError(output.value())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue()); + reply(EncodableValue(std::move(wrapped))); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.stopScan" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + std::optional output = api->StopScan(); + if (output.has_value()) { + reply(WrapError(output.value())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue()); + reply(EncodableValue(std::move(wrapped))); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.connect" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + std::optional output = api->Connect(device_id_arg); + if (output.has_value()) { + reply(WrapError(output.value())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue()); + reply(EncodableValue(std::move(wrapped))); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disconnect" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + std::optional output = api->Disconnect(device_id_arg); + if (output.has_value()) { + reply(WrapError(output.value())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue()); + reply(EncodableValue(std::move(wrapped))); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.setNotifiable" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + const auto& encodable_service_arg = args.at(1); + if (encodable_service_arg.IsNull()) { + reply(WrapError("service_arg unexpectedly null.")); + return; + } + const auto& service_arg = std::get(encodable_service_arg); + const auto& encodable_characteristic_arg = args.at(2); + if (encodable_characteristic_arg.IsNull()) { + reply(WrapError("characteristic_arg unexpectedly null.")); + return; + } + const auto& characteristic_arg = std::get(encodable_characteristic_arg); + const auto& encodable_ble_input_property_arg = args.at(3); + if (encodable_ble_input_property_arg.IsNull()) { + reply(WrapError("ble_input_property_arg unexpectedly null.")); + return; + } + const int64_t ble_input_property_arg = encodable_ble_input_property_arg.LongValue(); + api->SetNotifiable(device_id_arg, service_arg, characteristic_arg, ble_input_property_arg, [reply](std::optional&& output) { + if (output.has_value()) { + reply(WrapError(output.value())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue()); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.discoverServices" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + api->DiscoverServices(device_id_arg, [reply](ErrorOr&& output) { + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.readValue" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + const auto& encodable_service_arg = args.at(1); + if (encodable_service_arg.IsNull()) { + reply(WrapError("service_arg unexpectedly null.")); + return; + } + const auto& service_arg = std::get(encodable_service_arg); + const auto& encodable_characteristic_arg = args.at(2); + if (encodable_characteristic_arg.IsNull()) { + reply(WrapError("characteristic_arg unexpectedly null.")); + return; + } + const auto& characteristic_arg = std::get(encodable_characteristic_arg); + api->ReadValue(device_id_arg, service_arg, characteristic_arg, [reply](ErrorOr>&& output) { + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.requestMtu" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + const auto& encodable_expected_mtu_arg = args.at(1); + if (encodable_expected_mtu_arg.IsNull()) { + reply(WrapError("expected_mtu_arg unexpectedly null.")); + return; + } + const int64_t expected_mtu_arg = encodable_expected_mtu_arg.LongValue(); + api->RequestMtu(device_id_arg, expected_mtu_arg, [reply](ErrorOr&& output) { + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.writeValue" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + const auto& encodable_service_arg = args.at(1); + if (encodable_service_arg.IsNull()) { + reply(WrapError("service_arg unexpectedly null.")); + return; + } + const auto& service_arg = std::get(encodable_service_arg); + const auto& encodable_characteristic_arg = args.at(2); + if (encodable_characteristic_arg.IsNull()) { + reply(WrapError("characteristic_arg unexpectedly null.")); + return; + } + const auto& characteristic_arg = std::get(encodable_characteristic_arg); + const auto& encodable_value_arg = args.at(3); + if (encodable_value_arg.IsNull()) { + reply(WrapError("value_arg unexpectedly null.")); + return; + } + const auto& value_arg = std::get>(encodable_value_arg); + const auto& encodable_ble_output_property_arg = args.at(4); + if (encodable_ble_output_property_arg.IsNull()) { + reply(WrapError("ble_output_property_arg unexpectedly null.")); + return; + } + const int64_t ble_output_property_arg = encodable_ble_output_property_arg.LongValue(); + api->WriteValue(device_id_arg, service_arg, characteristic_arg, value_arg, ble_output_property_arg, [reply](std::optional&& output) { + if (output.has_value()) { + reply(WrapError(output.value())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue()); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.isPaired" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + api->IsPaired(device_id_arg, [reply](ErrorOr&& output) { + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.pair" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + api->Pair(device_id_arg, [reply](ErrorOr&& output) { + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.unPair" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + std::optional output = api->UnPair(device_id_arg); + if (output.has_value()) { + reply(WrapError(output.value())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue()); + reply(EncodableValue(std::move(wrapped))); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getSystemDevices" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_with_services_arg = args.at(0); + if (encodable_with_services_arg.IsNull()) { + reply(WrapError("with_services_arg unexpectedly null.")); + return; + } + const auto& with_services_arg = std::get(encodable_with_services_arg); + api->GetSystemDevices(with_services_arg, [reply](ErrorOr&& output) { + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + }); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } + { + BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getConnectionState" + prepended_suffix, &GetCodec()); + if (api != nullptr) { + channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { + try { + const auto& args = std::get(message); + const auto& encodable_device_id_arg = args.at(0); + if (encodable_device_id_arg.IsNull()) { + reply(WrapError("device_id_arg unexpectedly null.")); + return; + } + const auto& device_id_arg = std::get(encodable_device_id_arg); + ErrorOr output = api->GetConnectionState(device_id_arg); + if (output.has_error()) { + reply(WrapError(output.error())); + return; + } + EncodableList wrapped; + wrapped.push_back(EncodableValue(std::move(output).TakeValue())); + reply(EncodableValue(std::move(wrapped))); + } catch (const std::exception& exception) { + reply(WrapError(exception.what())); + } + }); + } else { + channel.SetMessageHandler(nullptr); + } + } +} + +EncodableValue UniversalBlePlatformChannel::WrapError(std::string_view error_message) { + return EncodableValue(EncodableList{ + EncodableValue(std::string(error_message)), + EncodableValue("Error"), + EncodableValue() + }); +} + +EncodableValue UniversalBlePlatformChannel::WrapError(const FlutterError& error) { + return EncodableValue(EncodableList{ + EncodableValue(error.code()), + EncodableValue(error.message()), + error.details() + }); +} + +// Generated class from Pigeon that represents Flutter messages that can be called from C++. +UniversalBleCallbackChannel::UniversalBleCallbackChannel(flutter::BinaryMessenger* binary_messenger) + : binary_messenger_(binary_messenger), + message_channel_suffix_("") {} + +UniversalBleCallbackChannel::UniversalBleCallbackChannel( + flutter::BinaryMessenger* binary_messenger, + const std::string& message_channel_suffix) + : binary_messenger_(binary_messenger), + message_channel_suffix_(message_channel_suffix.length() > 0 ? std::string(".") + message_channel_suffix : "") {} + +const flutter::StandardMessageCodec& UniversalBleCallbackChannel::GetCodec() { + return flutter::StandardMessageCodec::GetInstance(&PigeonInternalCodecSerializer::GetInstance()); +} + +void UniversalBleCallbackChannel::OnAvailabilityChanged( + int64_t state_arg, + std::function&& on_success, + std::function&& on_error) { + const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged" + message_channel_suffix_; + BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec()); + EncodableValue encoded_api_arguments = EncodableValue(EncodableList{ + EncodableValue(state_arg), + }); + channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) { + std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size); + const auto& encodable_return_value = *response; + const auto* list_return_value = std::get_if(&encodable_return_value); + if (list_return_value) { + if (list_return_value->size() > 1) { + on_error(FlutterError(std::get(list_return_value->at(0)), std::get(list_return_value->at(1)), list_return_value->at(2))); + } else { + on_success(); + } + } else { + on_error(CreateConnectionError(channel_name)); + } + }); +} + +void UniversalBleCallbackChannel::OnPairStateChange( + const std::string& device_id_arg, + bool is_paired_arg, + const std::string* error_arg, + std::function&& on_success, + std::function&& on_error) { + const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange" + message_channel_suffix_; + BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec()); + EncodableValue encoded_api_arguments = EncodableValue(EncodableList{ + EncodableValue(device_id_arg), + EncodableValue(is_paired_arg), + error_arg ? EncodableValue(*error_arg) : EncodableValue(), + }); + channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) { + std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size); + const auto& encodable_return_value = *response; + const auto* list_return_value = std::get_if(&encodable_return_value); + if (list_return_value) { + if (list_return_value->size() > 1) { + on_error(FlutterError(std::get(list_return_value->at(0)), std::get(list_return_value->at(1)), list_return_value->at(2))); + } else { + on_success(); + } + } else { + on_error(CreateConnectionError(channel_name)); + } + }); +} + +void UniversalBleCallbackChannel::OnScanResult( + const UniversalBleScanResult& result_arg, + std::function&& on_success, + std::function&& on_error) { + const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult" + message_channel_suffix_; + BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec()); + EncodableValue encoded_api_arguments = EncodableValue(EncodableList{ + CustomEncodableValue(result_arg), + }); + channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) { + std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size); + const auto& encodable_return_value = *response; + const auto* list_return_value = std::get_if(&encodable_return_value); + if (list_return_value) { + if (list_return_value->size() > 1) { + on_error(FlutterError(std::get(list_return_value->at(0)), std::get(list_return_value->at(1)), list_return_value->at(2))); + } else { + on_success(); + } + } else { + on_error(CreateConnectionError(channel_name)); + } + }); +} + +void UniversalBleCallbackChannel::OnValueChanged( + const std::string& device_id_arg, + const std::string& characteristic_id_arg, + const std::vector& value_arg, + std::function&& on_success, + std::function&& on_error) { + const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged" + message_channel_suffix_; + BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec()); + EncodableValue encoded_api_arguments = EncodableValue(EncodableList{ + EncodableValue(device_id_arg), + EncodableValue(characteristic_id_arg), + EncodableValue(value_arg), + }); + channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) { + std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size); + const auto& encodable_return_value = *response; + const auto* list_return_value = std::get_if(&encodable_return_value); + if (list_return_value) { + if (list_return_value->size() > 1) { + on_error(FlutterError(std::get(list_return_value->at(0)), std::get(list_return_value->at(1)), list_return_value->at(2))); + } else { + on_success(); + } + } else { + on_error(CreateConnectionError(channel_name)); + } + }); +} + +void UniversalBleCallbackChannel::OnConnectionChanged( + const std::string& device_id_arg, + bool connected_arg, + const std::string* error_arg, + std::function&& on_success, + std::function&& on_error) { + const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged" + message_channel_suffix_; + BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec()); + EncodableValue encoded_api_arguments = EncodableValue(EncodableList{ + EncodableValue(device_id_arg), + EncodableValue(connected_arg), + error_arg ? EncodableValue(*error_arg) : EncodableValue(), + }); + channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) { + std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size); + const auto& encodable_return_value = *response; + const auto* list_return_value = std::get_if(&encodable_return_value); + if (list_return_value) { + if (list_return_value->size() > 1) { + on_error(FlutterError(std::get(list_return_value->at(0)), std::get(list_return_value->at(1)), list_return_value->at(2))); + } else { + on_success(); + } + } else { + on_error(CreateConnectionError(channel_name)); + } + }); +} + +} // namespace universal_ble diff --git a/universal_ble/windows/src/generated/universal_ble.g.h b/universal_ble/windows/src/generated/universal_ble.g.h new file mode 100644 index 000000000..2a22a7cfe --- /dev/null +++ b/universal_ble/windows/src/generated/universal_ble.g.h @@ -0,0 +1,403 @@ +// Autogenerated from Pigeon (v22.6.1), do not edit directly. +// See also: https://pub.dev/packages/pigeon + +#ifndef PIGEON_UNIVERSAL_BLE_G_H_ +#define PIGEON_UNIVERSAL_BLE_G_H_ +#include +#include +#include +#include + +#include +#include +#include + +namespace universal_ble { + + +// Generated class from Pigeon. + +class FlutterError { + public: + explicit FlutterError(const std::string& code) + : code_(code) {} + explicit FlutterError(const std::string& code, const std::string& message) + : code_(code), message_(message) {} + explicit FlutterError(const std::string& code, const std::string& message, const flutter::EncodableValue& details) + : code_(code), message_(message), details_(details) {} + + const std::string& code() const { return code_; } + const std::string& message() const { return message_; } + const flutter::EncodableValue& details() const { return details_; } + + private: + std::string code_; + std::string message_; + flutter::EncodableValue details_; +}; + +template class ErrorOr { + public: + ErrorOr(const T& rhs) : v_(rhs) {} + ErrorOr(const T&& rhs) : v_(std::move(rhs)) {} + ErrorOr(const FlutterError& rhs) : v_(rhs) {} + ErrorOr(const FlutterError&& rhs) : v_(std::move(rhs)) {} + + bool has_error() const { return std::holds_alternative(v_); } + const T& value() const { return std::get(v_); }; + const FlutterError& error() const { return std::get(v_); }; + + private: + friend class UniversalBlePlatformChannel; + friend class UniversalBleCallbackChannel; + ErrorOr() = default; + T TakeValue() && { return std::get(std::move(v_)); } + + std::variant v_; +}; + + + +// Generated class from Pigeon that represents data sent in messages. +class UniversalBleScanResult { + public: + // Constructs an object setting all non-nullable fields. + explicit UniversalBleScanResult(const std::string& device_id); + + // Constructs an object setting all fields. + explicit UniversalBleScanResult( + const std::string& device_id, + const std::string* name, + const bool* is_paired, + const int64_t* rssi, + const flutter::EncodableList* manufacturer_data_list, + const flutter::EncodableList* services); + + const std::string& device_id() const; + void set_device_id(std::string_view value_arg); + + const std::string* name() const; + void set_name(const std::string_view* value_arg); + void set_name(std::string_view value_arg); + + const bool* is_paired() const; + void set_is_paired(const bool* value_arg); + void set_is_paired(bool value_arg); + + const int64_t* rssi() const; + void set_rssi(const int64_t* value_arg); + void set_rssi(int64_t value_arg); + + const flutter::EncodableList* manufacturer_data_list() const; + void set_manufacturer_data_list(const flutter::EncodableList* value_arg); + void set_manufacturer_data_list(const flutter::EncodableList& value_arg); + + const flutter::EncodableList* services() const; + void set_services(const flutter::EncodableList* value_arg); + void set_services(const flutter::EncodableList& value_arg); + + + private: + static UniversalBleScanResult FromEncodableList(const flutter::EncodableList& list); + flutter::EncodableList ToEncodableList() const; + friend class UniversalBlePlatformChannel; + friend class UniversalBleCallbackChannel; + friend class PigeonInternalCodecSerializer; + std::string device_id_; + std::optional name_; + std::optional is_paired_; + std::optional rssi_; + std::optional manufacturer_data_list_; + std::optional services_; + +}; + + +// Generated class from Pigeon that represents data sent in messages. +class UniversalBleService { + public: + // Constructs an object setting all non-nullable fields. + explicit UniversalBleService(const std::string& uuid); + + // Constructs an object setting all fields. + explicit UniversalBleService( + const std::string& uuid, + const flutter::EncodableList* characteristics); + + const std::string& uuid() const; + void set_uuid(std::string_view value_arg); + + const flutter::EncodableList* characteristics() const; + void set_characteristics(const flutter::EncodableList* value_arg); + void set_characteristics(const flutter::EncodableList& value_arg); + + + private: + static UniversalBleService FromEncodableList(const flutter::EncodableList& list); + flutter::EncodableList ToEncodableList() const; + friend class UniversalBlePlatformChannel; + friend class UniversalBleCallbackChannel; + friend class PigeonInternalCodecSerializer; + std::string uuid_; + std::optional characteristics_; + +}; + + +// Generated class from Pigeon that represents data sent in messages. +class UniversalBleCharacteristic { + public: + // Constructs an object setting all fields. + explicit UniversalBleCharacteristic( + const std::string& uuid, + const flutter::EncodableList& properties); + + const std::string& uuid() const; + void set_uuid(std::string_view value_arg); + + const flutter::EncodableList& properties() const; + void set_properties(const flutter::EncodableList& value_arg); + + + private: + static UniversalBleCharacteristic FromEncodableList(const flutter::EncodableList& list); + flutter::EncodableList ToEncodableList() const; + friend class UniversalBlePlatformChannel; + friend class UniversalBleCallbackChannel; + friend class PigeonInternalCodecSerializer; + std::string uuid_; + flutter::EncodableList properties_; + +}; + + +// Scan Filters +// +// Generated class from Pigeon that represents data sent in messages. +class UniversalScanFilter { + public: + // Constructs an object setting all fields. + explicit UniversalScanFilter( + const flutter::EncodableList& with_services, + const flutter::EncodableList& with_name_prefix, + const flutter::EncodableList& with_manufacturer_data); + + const flutter::EncodableList& with_services() const; + void set_with_services(const flutter::EncodableList& value_arg); + + const flutter::EncodableList& with_name_prefix() const; + void set_with_name_prefix(const flutter::EncodableList& value_arg); + + const flutter::EncodableList& with_manufacturer_data() const; + void set_with_manufacturer_data(const flutter::EncodableList& value_arg); + + + private: + static UniversalScanFilter FromEncodableList(const flutter::EncodableList& list); + flutter::EncodableList ToEncodableList() const; + friend class UniversalBlePlatformChannel; + friend class UniversalBleCallbackChannel; + friend class PigeonInternalCodecSerializer; + flutter::EncodableList with_services_; + flutter::EncodableList with_name_prefix_; + flutter::EncodableList with_manufacturer_data_; + +}; + + +// Generated class from Pigeon that represents data sent in messages. +class UniversalManufacturerDataFilter { + public: + // Constructs an object setting all non-nullable fields. + explicit UniversalManufacturerDataFilter(int64_t company_identifier); + + // Constructs an object setting all fields. + explicit UniversalManufacturerDataFilter( + int64_t company_identifier, + const std::vector* data, + const std::vector* mask); + + int64_t company_identifier() const; + void set_company_identifier(int64_t value_arg); + + const std::vector* data() const; + void set_data(const std::vector* value_arg); + void set_data(const std::vector& value_arg); + + const std::vector* mask() const; + void set_mask(const std::vector* value_arg); + void set_mask(const std::vector& value_arg); + + + private: + static UniversalManufacturerDataFilter FromEncodableList(const flutter::EncodableList& list); + flutter::EncodableList ToEncodableList() const; + friend class UniversalBlePlatformChannel; + friend class UniversalBleCallbackChannel; + friend class PigeonInternalCodecSerializer; + int64_t company_identifier_; + std::optional> data_; + std::optional> mask_; + +}; + + +// Generated class from Pigeon that represents data sent in messages. +class UniversalManufacturerData { + public: + // Constructs an object setting all fields. + explicit UniversalManufacturerData( + int64_t company_identifier, + const std::vector& data); + + int64_t company_identifier() const; + void set_company_identifier(int64_t value_arg); + + const std::vector& data() const; + void set_data(const std::vector& value_arg); + + + private: + static UniversalManufacturerData FromEncodableList(const flutter::EncodableList& list); + flutter::EncodableList ToEncodableList() const; + friend class UniversalBlePlatformChannel; + friend class UniversalBleCallbackChannel; + friend class PigeonInternalCodecSerializer; + int64_t company_identifier_; + std::vector data_; + +}; + + +class PigeonInternalCodecSerializer : public flutter::StandardCodecSerializer { + public: + PigeonInternalCodecSerializer(); + inline static PigeonInternalCodecSerializer& GetInstance() { + static PigeonInternalCodecSerializer sInstance; + return sInstance; + } + + void WriteValue( + const flutter::EncodableValue& value, + flutter::ByteStreamWriter* stream) const override; + + protected: + flutter::EncodableValue ReadValueOfType( + uint8_t type, + flutter::ByteStreamReader* stream) const override; + +}; + +// Flutter -> Native +// +// Generated interface from Pigeon that represents a handler of messages from Flutter. +class UniversalBlePlatformChannel { + public: + UniversalBlePlatformChannel(const UniversalBlePlatformChannel&) = delete; + UniversalBlePlatformChannel& operator=(const UniversalBlePlatformChannel&) = delete; + virtual ~UniversalBlePlatformChannel() {} + virtual void GetBluetoothAvailabilityState(std::function reply)> result) = 0; + virtual void EnableBluetooth(std::function reply)> result) = 0; + virtual void DisableBluetooth(std::function reply)> result) = 0; + virtual std::optional StartScan(const UniversalScanFilter* filter) = 0; + virtual std::optional StopScan() = 0; + virtual std::optional Connect(const std::string& device_id) = 0; + virtual std::optional Disconnect(const std::string& device_id) = 0; + virtual void SetNotifiable( + const std::string& device_id, + const std::string& service, + const std::string& characteristic, + int64_t ble_input_property, + std::function reply)> result) = 0; + virtual void DiscoverServices( + const std::string& device_id, + std::function reply)> result) = 0; + virtual void ReadValue( + const std::string& device_id, + const std::string& service, + const std::string& characteristic, + std::function> reply)> result) = 0; + virtual void RequestMtu( + const std::string& device_id, + int64_t expected_mtu, + std::function reply)> result) = 0; + virtual void WriteValue( + const std::string& device_id, + const std::string& service, + const std::string& characteristic, + const std::vector& value, + int64_t ble_output_property, + std::function reply)> result) = 0; + virtual void IsPaired( + const std::string& device_id, + std::function reply)> result) = 0; + virtual void Pair( + const std::string& device_id, + std::function reply)> result) = 0; + virtual std::optional UnPair(const std::string& device_id) = 0; + virtual void GetSystemDevices( + const flutter::EncodableList& with_services, + std::function reply)> result) = 0; + virtual ErrorOr GetConnectionState(const std::string& device_id) = 0; + + // The codec used by UniversalBlePlatformChannel. + static const flutter::StandardMessageCodec& GetCodec(); + // Sets up an instance of `UniversalBlePlatformChannel` to handle messages through the `binary_messenger`. + static void SetUp( + flutter::BinaryMessenger* binary_messenger, + UniversalBlePlatformChannel* api); + static void SetUp( + flutter::BinaryMessenger* binary_messenger, + UniversalBlePlatformChannel* api, + const std::string& message_channel_suffix); + static flutter::EncodableValue WrapError(std::string_view error_message); + static flutter::EncodableValue WrapError(const FlutterError& error); + + protected: + UniversalBlePlatformChannel() = default; + +}; +// Native -> Flutter +// +// Generated class from Pigeon that represents Flutter messages that can be called from C++. +class UniversalBleCallbackChannel { + public: + UniversalBleCallbackChannel(flutter::BinaryMessenger* binary_messenger); + UniversalBleCallbackChannel( + flutter::BinaryMessenger* binary_messenger, + const std::string& message_channel_suffix); + static const flutter::StandardMessageCodec& GetCodec(); + void OnAvailabilityChanged( + int64_t state, + std::function&& on_success, + std::function&& on_error); + void OnPairStateChange( + const std::string& device_id, + bool is_paired, + const std::string* error, + std::function&& on_success, + std::function&& on_error); + void OnScanResult( + const UniversalBleScanResult& result, + std::function&& on_success, + std::function&& on_error); + void OnValueChanged( + const std::string& device_id, + const std::string& characteristic_id, + const std::vector& value, + std::function&& on_success, + std::function&& on_error); + void OnConnectionChanged( + const std::string& device_id, + bool connected, + const std::string* error, + std::function&& on_success, + std::function&& on_error); + + private: + flutter::BinaryMessenger* binary_messenger_; + std::string message_channel_suffix_; +}; + +} // namespace universal_ble +#endif // PIGEON_UNIVERSAL_BLE_G_H_ diff --git a/universal_ble/windows/src/helper/universal_ble_base.h b/universal_ble/windows/src/helper/universal_ble_base.h new file mode 100644 index 000000000..196761e5a --- /dev/null +++ b/universal_ble/windows/src/helper/universal_ble_base.h @@ -0,0 +1,25 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace universal_ble +{ + using namespace winrt; + using namespace winrt::Windows; + using namespace winrt::Windows::Devices; + using namespace winrt::Windows::Foundation; + using namespace winrt::Windows::Foundation::Collections; + using namespace winrt::Windows::Storage::Streams; + using namespace winrt::Windows::Devices::Radios; + using namespace winrt::Windows::Devices::Bluetooth; + using namespace winrt::Windows::Devices::Bluetooth::Advertisement; + using namespace winrt::Windows::Devices::Bluetooth::GenericAttributeProfile; + using namespace Windows::Devices::Enumeration; +} \ No newline at end of file diff --git a/universal_ble/windows/src/helper/universal_enum.h b/universal_ble/windows/src/helper/universal_enum.h new file mode 100644 index 000000000..0d795a857 --- /dev/null +++ b/universal_ble/windows/src/helper/universal_enum.h @@ -0,0 +1,81 @@ +#pragma once + +namespace universal_ble +{ + + enum class ConnectionState : int + { + connected = 0, + disconnected = 1, + }; + + enum class CharacteristicProperty : int + { + broadcast = 0, + read = 1, + writeWithoutResponse = 2, + write = 3, + notify = 4, + indicate = 5, + authenticatedSignedWrites = 6, + extendedProperties = 7, + }; + + enum class BleInputProperty : int + { + disabled = 0, + notification = 1, + indication = 2, + }; + + enum class BleOutputProperty : int + { + withResponse = 0, + withoutResponse = 1, + }; + + enum class AvailabilityState : int + { + unknown = 0, + resetting = 1, + unsupported = 2, + unauthorized = 3, + poweredOff = 4, + poweredOn = 5, + }; + + enum class AdvertisementSectionType : uint8_t + { + Flags = 0x01, + IncompleteService16BitUuids = 0x02, + CompleteService16BitUuids = 0x03, + IncompleteService32BitUuids = 0x04, + CompleteService32BitUuids = 0x05, + IncompleteService128BitUuids = 0x06, + CompleteService128BitUuids = 0x07, + ShortenedLocalName = 0x08, + CompleteLocalName = 0x09, + TxPowerLevel = 0x0A, + ClassOfDevice = 0x0D, + SimplePairingHashC192 = 0x0E, + SecurityManagerTKValues = 0x10, + SecurityManagerOutOfBandFlags = 0x11, + SlaveConnectionIntervalRange = 0x12, + ServiceSolicitation16BitUuids = 0x14, + ServiceSolicitation32BitUuids = 0x1F, + ServiceSolicitation128BitUuids = 0x15, + ServiceData16BitUuids = 0x16, + ServiceData32BitUuids = 0x20, + ServiceData128BitUuids = 0x21, + PublicTargetAddress = 0x17, + RandomTargetAddress = 0x18, + Appearance = 0x19, + AdvertisingInterval = 0x1A, + LEBluetoothDeviceAddress = 0x1B, + LERole = 0x1C, + SimplePairingHashC256 = 0x1D, + ThreeDimensionInformationData = 0x3D, + ManufacturerSpecificData = 0xFF, + }; + +} // namespace universal_ble \ No newline at end of file diff --git a/universal_ble/windows/src/helper/utils.cpp b/universal_ble/windows/src/helper/utils.cpp new file mode 100644 index 000000000..a34f8e16d --- /dev/null +++ b/universal_ble/windows/src/helper/utils.cpp @@ -0,0 +1,161 @@ +#include "Utils.h" + +#include +#include +#include +#include +#include +#include + +#if WDK_NTDDI_VERSION < NTDDI_WIN10_VB +#error "Windows SDK version before 10.0.19041.0 is not supported" +#elif WDK_NTDDI_VERSION == NTDDI_WIN10_VB +#define WINRT_IMPL_CoGetApartmentType WINRT_CoGetApartmentType +#endif + +#define MAC_ADDRESS_STR_LENGTH (size_t)17 +typedef LONG NTSTATUS, *PNTSTATUS; +#define STATUS_SUCCESS (0x00000000) +typedef NTSTATUS(WINAPI *RtlGetVersionPtr)(PRTL_OSVERSIONINFOW); + +namespace universal_ble +{ + + std::string mac_address_to_str(uint64_t mac_address) + { + uint8_t* mac_ptr = (uint8_t*)&mac_address; + char mac_str[MAC_ADDRESS_STR_LENGTH + 1] = { 0 }; + snprintf(mac_str, MAC_ADDRESS_STR_LENGTH + 1, "%02x:%02x:%02x:%02x:%02x:%02x", mac_ptr[5], mac_ptr[4], mac_ptr[3], + mac_ptr[2], mac_ptr[1], mac_ptr[0]); + return std::string(mac_str); + } + + uint64_t str_to_mac_address(const std::string& mac_str) + { + uint64_t mac_address_number = 0; + uint8_t* mac_ptr = (uint8_t*)&mac_address_number; + sscanf_s(mac_str.c_str(), "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx", &mac_ptr[5], &mac_ptr[4], &mac_ptr[3], + &mac_ptr[2], &mac_ptr[1], &mac_ptr[0]); + return mac_address_number; + } + + guid uuid_to_guid(const std::string &uuid) + { + std::stringstream helper; + for (int i = 0; i < uuid.length(); i++) + { + if (uuid[i] != '-') + { + helper << uuid[i]; + } + } + std::string clean_uuid = helper.str(); + winrt::guid guid; + uint64_t* data4_ptr = (uint64_t*)guid.Data4; + + guid.Data1 = static_cast(std::strtoul(clean_uuid.substr(0, 8).c_str(), nullptr, 16)); + guid.Data2 = static_cast(std::strtoul(clean_uuid.substr(8, 4).c_str(), nullptr, 16)); + guid.Data3 = static_cast(std::strtoul(clean_uuid.substr(12, 4).c_str(), nullptr, 16)); + *data4_ptr = _byteswap_uint64(std::strtoull(clean_uuid.substr(16, 16).c_str(), nullptr, 16)); + + return guid; + } + + std::string guid_to_uuid(const guid &guid) + { + std::stringstream helper; + for (uint32_t i = 0; i < 4; i++) + { + helper << std::hex << std::setw(2) << std::setfill('0') << (int)((uint8_t*)&guid.Data1)[3 - i]; + } + helper << '-'; + for (uint32_t i = 0; i < 2; i++) + { + helper << std::hex << std::setw(2) << std::setfill('0') << (int)((uint8_t*)&guid.Data2)[1 - i]; + } + helper << '-'; + for (uint32_t i = 0; i < 2; i++) + { + helper << std::hex << std::setw(2) << std::setfill('0') << (int)((uint8_t*)&guid.Data3)[1 - i]; + } + helper << '-'; + for (uint32_t i = 0; i < 2; i++) + { + helper << std::hex << std::setw(2) << std::setfill('0') << (int)guid.Data4[i]; + } + helper << '-'; + for (uint32_t i = 0; i < 6; i++) + { + helper << std::hex << std::setw(2) << std::setfill('0') << (int)guid.Data4[2 + i]; + } + return helper.str(); + } + + std::vector to_bytevc(const IBuffer& buffer) + { + auto reader = DataReader::FromBuffer(buffer); + auto result = std::vector(reader.UnconsumedBufferLength()); + reader.ReadBytes(result); + return result; + } + + IBuffer from_bytevc(std::vector bytes) + { + auto writer = DataWriter(); + writer.WriteBytes(bytes); + return writer.DetachBuffer(); + } + + std::string to_hexstring(const std::vector& bytes) + { + auto ss = std::stringstream(); + for (auto b : bytes) + ss << std::setw(2) << std::setfill('0') << std::hex << static_cast(b); + return ss.str(); + } + + std::string to_uuidstr(const guid guid) + { + char chars[36 + 1]; + sprintf_s(chars, "%08x-%04hx-%04hx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx", + guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1], guid.Data4[2], + guid.Data4[3], guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]); + return std::string{ chars }; + } + + bool is_little_endian() + { + uint16_t number = 0x1; + char* numPtr = (char*)&number; + return (numPtr[0] == 1); + } + + bool is_windows11_or_greater() + { + const HMODULE h_mod = GetModuleHandleW(L"ntdll.dll"); + if (!h_mod) + { + std::cout << "Failed to get ntdll" << std::endl; + return false; + } + + const auto fx_ptr = reinterpret_cast(GetProcAddress(h_mod, "RtlGetVersion")); + if (fx_ptr == nullptr) + { + std::cout << "Failed to get RtlGetVersionPtr" << std::endl; + return false; + } + + RTL_OSVERSIONINFOW rove = {0}; + rove.dwOSVersionInfoSize = sizeof(rove); + if (STATUS_SUCCESS != fx_ptr(&rove)) + { + std::cout << "Failed to get RTL_OSVERSIONINFOW" << std::endl; + return false; + } + + // Windows 11 => MajorVersion = 10 and BuildNumber >= 22000 + return rove.dwMajorVersion == 10 && rove.dwBuildNumber >= 22000; + } + +} // namespace universal_ble diff --git a/universal_ble/windows/src/helper/utils.h b/universal_ble/windows/src/helper/utils.h new file mode 100644 index 000000000..49408bbea --- /dev/null +++ b/universal_ble/windows/src/helper/utils.h @@ -0,0 +1,53 @@ +#pragma once + +#include +#include +#include + +#include "winrt/Windows.Foundation.h" +#include "winrt/Windows.Storage.Streams.h" +#include "winrt/base.h" +#include "universal_ble_base.h" + +constexpr uint32_t TEN_SECONDS_IN_MSECS = 10000; + +namespace universal_ble +{ + + std::string mac_address_to_str(uint64_t mac_address); + uint64_t str_to_mac_address(const std::string& mac_str); + + guid uuid_to_guid(const std::string &uuid); + std::string guid_to_uuid(const guid &guid); + + std::vector to_bytevc(const IBuffer& buffer); + IBuffer from_bytevc(std::vector bytes); + std::string to_hexstring(const std::vector& bytes); + + std::string to_uuidstr(guid guid); + bool is_little_endian(); + bool is_windows11_or_greater(); + + /// To call async functions synchronously + template + static auto async_get(AsyncT const &async) + { + if (async.Status() == AsyncStatus::Started) + { + wait_for_completed(async, TEN_SECONDS_IN_MSECS); + } + try + { + return async.GetResults(); + } + catch (const hresult_error &err) + { + throw FlutterError("Failed", to_string(err.message())); + } + catch (...) + { + throw FlutterError("Failed", "Unknown error"); + } + } + +} // namespace universal_ble \ No newline at end of file diff --git a/universal_ble/windows/src/pin_entry.h b/universal_ble/windows/src/pin_entry.h new file mode 100644 index 000000000..4b86bc488 --- /dev/null +++ b/universal_ble/windows/src/pin_entry.h @@ -0,0 +1,134 @@ +#pragma once + +#include +#include + +namespace universal_ble +{ + typedef struct SizeAndPos_s + { + int x, y, width, height; + } SizeAndPos_t; + + const WORD ID_btnOK = 1; + const WORD ID_txtEdit = 4; + HWND txtEditHandle = NULL; + TCHAR textBoxText[16]; + + // Positions and dimensions of UI elements: X, Y, Width, Height + const SizeAndPos_t mainWindow = {150, 150, 450, 260}; + const SizeAndPos_t txtEdit = {50, 40, 320, 40}; + const SizeAndPos_t btnOK = {50, 100, 320, 40}; + + LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) + { + switch (msg) + { + case WM_CREATE: + { + txtEditHandle = CreateWindow( + TEXT("Edit"), TEXT(""), + WS_CHILD | WS_VISIBLE | WS_BORDER | ES_NUMBER, + txtEdit.x, txtEdit.y, txtEdit.width, txtEdit.height, + hwnd, (HMENU)ID_txtEdit, NULL, NULL); + CreateWindow( + TEXT("Button"), TEXT("OK"), + WS_CHILD | WS_VISIBLE | BS_FLAT, + btnOK.x, btnOK.y, btnOK.width, btnOK.height, + hwnd, (HMENU)ID_btnOK, NULL, NULL); + break; + } + case WM_COMMAND: + if (LOWORD(wParam) == ID_btnOK) + { + GetWindowText(txtEditHandle, textBoxText, sizeof(textBoxText) / sizeof(TCHAR)); + DestroyWindow(hwnd); + } + break; + case WM_CLOSE: + DestroyWindow(hwnd); + break; + case WM_DESTROY: + PostQuitMessage(0); + break; + default: + return DefWindowProc(hwnd, msg, wParam, lParam); + } + + return 0; + } + + hstring askForPairingPin() + { + textBoxText[0] = '\0'; + HINSTANCE hInstance = GetModuleHandle(NULL); + MSG msg; + WNDCLASS mainWindowClass = {0}; + mainWindowClass.lpszClassName = TEXT("JRH.MainWindow"); + mainWindowClass.hInstance = hInstance; + mainWindowClass.hbrBackground = GetSysColorBrush(COLOR_BTNHIGHLIGHT); + mainWindowClass.lpfnWndProc = WndProc; + mainWindowClass.hCursor = LoadCursor(0, IDC_ARROW); + + // Register the window class + if (!RegisterClass(&mainWindowClass)) + { + std::cout << "PinPairDialog: Failed to register window class" << std::endl; + return L""; + } + + HWND hwnd = CreateWindow( + mainWindowClass.lpszClassName, + TEXT("PIN"), (WS_OVERLAPPEDWINDOW & ~WS_THICKFRAME & ~WS_MINIMIZEBOX & ~WS_MAXIMIZEBOX) | WS_VISIBLE, + mainWindow.x, mainWindow.y, mainWindow.width, mainWindow.height, + NULL, 0, hInstance, NULL); + + if (hwnd == NULL) + { + std::cout << "PinPairDialog: Failed to create window" << std::endl; + return L""; + } + + // After creating the window, make it topmost + SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); + + ShowWindow(hwnd, SW_SHOW); + + // Create a font with the desired size + HFONT hFont = CreateFont( + 36, // Height of the font + 0, // Width of the font + 0, // Angle of escapement + 0, // Orientation angle + FW_NORMAL, // Font weight + FALSE, // Italic attribute option + FALSE, // Underline attribute option + FALSE, // Strikeout attribute option + DEFAULT_CHARSET, // Character set identifier + OUT_DEFAULT_PRECIS, // Output precision + CLIP_DEFAULT_PRECIS, // Clipping precision + DEFAULT_QUALITY, // Output quality + DEFAULT_PITCH | FF_SWISS, // Pitch and family + TEXT("Arial") // Font name + ); + + // Set the font to the edit control + SendMessage(txtEditHandle, WM_SETFONT, (WPARAM)hFont, TRUE); + + while (GetMessage(&msg, NULL, 0, 0)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + if (msg.wParam != 0) + { + std::wcout << "PinPairDialog: Got invalid result" << std::endl; + } + + DeleteObject(hFont); + DestroyWindow(hwnd); + UnregisterClass(mainWindowClass.lpszClassName, hInstance); + return winrt::to_hstring(textBoxText); + } +} diff --git a/universal_ble/windows/src/ui_thread_handler.hpp b/universal_ble/windows/src/ui_thread_handler.hpp new file mode 100644 index 000000000..9f8a3275f --- /dev/null +++ b/universal_ble/windows/src/ui_thread_handler.hpp @@ -0,0 +1,79 @@ +#pragma once + +#include + +#include + +#include +#include +#include +#include + +class UniversalBleUiThreadHandler +{ +public: + explicit UniversalBleUiThreadHandler(flutter::PluginRegistrarWindows *registrar) + : registrar_(registrar) + { + windowProcId_ = registrar_->RegisterTopLevelWindowProcDelegate( + [this](HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) + { + return HandleWindowMessage(hwnd, message, wparam, lparam); + }); + } + + ~UniversalBleUiThreadHandler() + { + registrar_->UnregisterTopLevelWindowProcDelegate(windowProcId_); + } + + UniversalBleUiThreadHandler(const UniversalBleUiThreadHandler &) = delete; + UniversalBleUiThreadHandler &operator=(const UniversalBleUiThreadHandler &) = delete; + + void Post(std::function &&func) + { + std::lock_guard lock(mutex_); + queuedFuncs_.emplace_back(std::move(func)); + Notify(); + } + +private: + static const UINT kWmCallQueuedFunctions = WM_APP + 0x1d7; + + void Notify() + { + if (hwnd_ != 0) + { + PostMessage(hwnd_, kWmCallQueuedFunctions, 0, reinterpret_cast(this)); + } + } + + std::optional HandleWindowMessage( + HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) + { + if (hwnd_ == 0) + { + hwnd_ = hwnd; + Notify(); // Make sure queued functions are processed + } + if (message == kWmCallQueuedFunctions && lparam == reinterpret_cast(this)) + { + std::list> queuedFuncs; + { + std::lock_guard lock(mutex_); + std::swap(queuedFuncs_, queuedFuncs); + } + for (auto &func : queuedFuncs) + { + func(); + } + } + return std::nullopt; + } + + flutter::PluginRegistrarWindows *registrar_; + int windowProcId_ = 0; + HWND hwnd_ = 0; + std::list> queuedFuncs_; + std::mutex mutex_; +}; \ No newline at end of file diff --git a/universal_ble/windows/src/universal_ble_filter_util.cpp b/universal_ble/windows/src/universal_ble_filter_util.cpp new file mode 100644 index 000000000..65bf06485 --- /dev/null +++ b/universal_ble/windows/src/universal_ble_filter_util.cpp @@ -0,0 +1,152 @@ +#include +#include "helper/utils.h" +#include "generated/universal_ble.g.h" +#include + +namespace universal_ble +{ + std::vector manufacturerScanFilter = std::vector(); + std::vector serviceFilterUUIDS = std::vector(); + std::vector namePrefixFilter = std::vector(); + + void setScanFilter(const UniversalScanFilter filter) + { + // Set ManufacturerData filter + const auto &manufacturerData = filter.with_manufacturer_data(); + for (const flutter::EncodableValue &data : manufacturerData) + { + UniversalManufacturerDataFilter manufacturerDataFilter = std::any_cast(std::get(data)); + manufacturerScanFilter.push_back(manufacturerDataFilter); + } + // Set Services Filter + if (!filter.with_services().empty()) + { + for (const auto &uuid : filter.with_services()) + { + serviceFilterUUIDS.push_back(uuid_to_guid(std::get(uuid))); + } + } + // Set Names Filter + if (!filter.with_name_prefix().empty()) + { + for (const auto &name : filter.with_name_prefix()) + { + namePrefixFilter.push_back(std::get(name)); + } + } + } + + void resetScanFilter() + { + manufacturerScanFilter.clear(); + serviceFilterUUIDS.clear(); + namePrefixFilter.clear(); + } + + bool isNameMatchingFilters(const std::string *name) + { + if (namePrefixFilter.empty()) + return true; + if (name == nullptr || name->empty()) + return false; + return std::any_of(namePrefixFilter.begin(), namePrefixFilter.end(), + [&name](const flutter::EncodableValue &prefix) + { + return name->find(std::get(prefix)) == 0; + }); + } + + bool isServicesMatchingFilters(const flutter::EncodableList *services) + { + if (serviceFilterUUIDS.empty()) + return true; + if (services == nullptr || services->empty()) + return false; + + std::unordered_set serviceGUIDs; + serviceGUIDs.reserve(services->size()); + for (const auto &service : *services) + { + if (const auto *str = std::get_if(&service)) + { + serviceGUIDs.insert(uuid_to_guid(*str)); + } + } + + // Check if any of the filter UUIDs are in the set of service GUIDs + return std::any_of(serviceFilterUUIDS.begin(), serviceFilterUUIDS.end(), + [&serviceGUIDs](const winrt::guid &filterUUID) + { + return serviceGUIDs.find(filterUUID) != serviceGUIDs.end(); + }); + } + + bool isManufacturerDataMatchingFilters(const flutter::EncodableList *manufacturerDataList) + { + if (manufacturerScanFilter.empty()) + return true; + if (manufacturerDataList == nullptr || manufacturerDataList->empty()) + return false; + + for (const auto &filter : manufacturerScanFilter) + { + const auto *data_filter = filter.data(); + const auto *mask = filter.mask(); + + for (const auto &value : *manufacturerDataList) + { + const auto &deviceManufacturerData = std::any_cast( + std::get(value)); + + if (deviceManufacturerData.company_identifier() != filter.company_identifier()) + continue; + + // If no data filter, all data matches + if (data_filter == nullptr) + return true; + + const auto &deviceData = deviceManufacturerData.data(); + if (deviceData.size() < data_filter->size()) + continue; + + bool isMatch = true; + for (size_t i = 0; i < data_filter->size(); ++i) + { + const bool hasMask = mask != nullptr && i < mask->size(); + const uint8_t maskByte = hasMask ? (*mask)[i] : 0xFF; + if ((maskByte & (*data_filter)[i]) != (maskByte & deviceData[i])) + { + isMatch = false; + break; + } + } + + if (isMatch) + return true; + } + } + + return false; + } + + bool filterDevice(UniversalBleScanResult scanResult) + { + bool hasNamePrefixFilter = !namePrefixFilter.empty(); + bool hasServiceFilter = !serviceFilterUUIDS.empty(); + bool hasManufacturerDataFilter = !manufacturerScanFilter.empty(); + + // If there is no filter at all, then allow device + if (!hasNamePrefixFilter && + !hasServiceFilter && + !hasManufacturerDataFilter) + { + return true; + } + + // Check each filter condition + return (hasNamePrefixFilter && isNameMatchingFilters(scanResult.name())) || + (hasServiceFilter && isServicesMatchingFilters(scanResult.services())) || + (hasManufacturerDataFilter && isManufacturerDataMatchingFilters(scanResult.manufacturer_data_list())); + } + +} // namespace universal_ble diff --git a/universal_ble/windows/src/universal_ble_filter_util.h b/universal_ble/windows/src/universal_ble_filter_util.h new file mode 100644 index 000000000..13496d856 --- /dev/null +++ b/universal_ble/windows/src/universal_ble_filter_util.h @@ -0,0 +1,15 @@ +#pragma once + +#include +#include +#include + +#include "helper/universal_ble_base.h" +#include "generated/universal_ble.g.h" + +namespace universal_ble +{ + void setScanFilter(const UniversalScanFilter filter); + void resetScanFilter(); + bool filterDevice(UniversalBleScanResult scanResult); +} // namespace universal_ble \ No newline at end of file diff --git a/universal_ble/windows/src/universal_ble_plugin.cpp b/universal_ble/windows/src/universal_ble_plugin.cpp new file mode 100644 index 000000000..a5f0097d1 --- /dev/null +++ b/universal_ble/windows/src/universal_ble_plugin.cpp @@ -0,0 +1,1249 @@ +// ReSharper disable CppTooWideScopeInitStatement +// ReSharper disable CppTooWideScope +#include "universal_ble_plugin.h" +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include "helper/utils.h" +#include "helper/universal_enum.h" +#include "generated/universal_ble.g.h" +#include "pin_entry.h" +#include "universal_ble_filter_util.h" +#include "enum_parser.h" + +namespace universal_ble +{ + using universal_ble::ErrorOr; + using universal_ble::UniversalBleCallbackChannel; + using universal_ble::UniversalBlePlatformChannel; + using universal_ble::UniversalBleScanResult; + + const auto is_connectable_key = L"System.Devices.Aep.Bluetooth.Le.IsConnectable"; + const auto is_connected_key = L"System.Devices.Aep.IsConnected"; + const auto is_paired_key = L"System.Devices.Aep.IsPaired"; + const auto is_present_key = L"System.Devices.Aep.IsPresent"; + const auto device_address_key = L"System.Devices.Aep.DeviceAddress"; + const auto signal_strength_key = L"System.Devices.Aep.SignalStrength"; + static std::unique_ptr callback_channel; + + void UniversalBlePlugin::RegisterWithRegistrar(flutter::PluginRegistrarWindows *registrar) + { + auto plugin = std::make_unique(registrar); + SetUp(registrar->messenger(), plugin.get()); + callback_channel = std::make_unique(registrar->messenger()); + registrar->AddPlugin(std::move(plugin)); + } + + UniversalBlePlugin::UniversalBlePlugin(flutter::PluginRegistrarWindows *registrar) + : ui_thread_handler_(registrar) + { + InitializeAsync(); + } + + UniversalBlePlugin::~UniversalBlePlugin() = default; + + // UniversalBlePlatformChannel implementation. + void UniversalBlePlugin::GetBluetoothAvailabilityState(std::function reply)> result) + { + if (!bluetooth_radio_) + { + if (!initialized_) + { + result(static_cast(AvailabilityState::unknown)); + } + else + { + result(static_cast(AvailabilityState::unsupported)); + } + } + else + { + result(static_cast(get_availability_state_from_radio(bluetooth_radio_.State()))); + } + }; + + void UniversalBlePlugin::EnableBluetooth(std::function reply)> result) + { + if (!bluetooth_radio_) + { + result(FlutterError("BluetoothNotAvailable", "Bluetooth is not available")); + return; + } + + if (bluetooth_radio_.State() == RadioState::On) + { + result(true); + return; + } + + bluetooth_radio_.SetStateAsync(RadioState::On).Completed( + [&, result](const IAsyncOperation& sender, const AsyncStatus args) + { + if (const auto radio_access_status = sender.GetResults(); radio_access_status == RadioAccessStatus::Allowed) + { + result(true); + } + else + { + result(FlutterError("Failed","Failed to enable bluetooth")); + } + }); + } + + void UniversalBlePlugin::DisableBluetooth(std::function reply)> result) + { + if (!bluetooth_radio_) + { + result(FlutterError("BluetoothNotAvailable", "Bluetooth is not available")); + return; + } + + if (bluetooth_radio_.State() == RadioState::Off) + { + result(true); + return; + } + + bluetooth_radio_.SetStateAsync(RadioState::Off).Completed( + [&, result](IAsyncOperation const& sender, AsyncStatus const args) + { + if (const auto radio_access_status = sender.GetResults(); radio_access_status == RadioAccessStatus::Allowed) + { + result(true); + } + else + { + result(FlutterError("Failed","Failed to disable bluetooth")); + } + }); + } + + std::optional UniversalBlePlugin::StartScan(const UniversalScanFilter *filter) + { + + if (!bluetooth_radio_ || bluetooth_radio_.State() != RadioState::On) + { + return FlutterError("BluetoothNotAvailable", "Bluetooth is not available"); + } + + try + { + SetupDeviceWatcher(); + scan_results_.clear(); + const DeviceWatcherStatus device_watcher_status = device_watcher_.Status(); + // std::cout << "DeviceWatcherState: " << DeviceWatcherStatusToString(deviceWatcherStatus) << std::endl; + // DeviceWatcher can only start if its in Created, Stopped, or Aborted state + if (device_watcher_status == DeviceWatcherStatus::Created || device_watcher_status == DeviceWatcherStatus::Stopped || device_watcher_status == DeviceWatcherStatus::Aborted) + { + device_watcher_.Start(); + } + else if (device_watcher_status == DeviceWatcherStatus::Stopping) + { + return FlutterError("AlreadyInProgress", "StoppingScan in progress"); + } + + // Setup LeWatcher and apply filters + if (!bluetooth_le_watcher_) + { + bluetooth_le_watcher_ = BluetoothLEAdvertisementWatcher(); + bluetooth_le_watcher_.ScanningMode(BluetoothLEScanningMode::Active); + resetScanFilter(); + + if (filter != nullptr) + { + // Native filter supports only 1 service + const bool uses_custom_filters = filter->with_services().size() > 1 || filter->with_manufacturer_data().size() > 0 || filter->with_name_prefix().size() > 0; + + if (uses_custom_filters) + { + std::cout << "Using Custom Scan Filter" << std::endl; + setScanFilter(*filter); + } + else + { + // Apply Services filter + if (!filter->with_services().empty()) + { + for (const auto &uuid : filter->with_services()) + { + bluetooth_le_watcher_.AdvertisementFilter().Advertisement().ServiceUuids().Append(uuid_to_guid(std::get(uuid))); + } + } + } + } + + bluetooth_le_watcher_received_token_ = bluetooth_le_watcher_.Received({this, &UniversalBlePlugin::BluetoothLeWatcherReceived}); + } + bluetooth_le_watcher_.Start(); + return std::nullopt; + } + catch (...) + { + std::cout << "Unknown error StartScan" << std::endl; + return FlutterError("Failed", "Unknown error"); + } + }; + + std::optional UniversalBlePlugin::StopScan() + { + if (bluetooth_radio_ && bluetooth_radio_.State() == RadioState::On) + { + try + { + if (bluetooth_le_watcher_) + { + bluetooth_le_watcher_.Received(bluetooth_le_watcher_received_token_); + bluetooth_le_watcher_.Stop(); + } + bluetooth_le_watcher_ = nullptr; + DisposeDeviceWatcher(); + scan_results_.clear(); + return std::nullopt; + } + catch (const hresult_error &err) + { + const int error_code = err.code(); + std::cout << "StopScanLog: " << to_string(err.message()) << " ErrorCode: " << std::to_string(error_code) << std::endl; + return FlutterError(std::to_string(error_code), to_string(err.message())); + } + catch (...) + { + return FlutterError("Failed", "Failed to Stop"); + } + } + else + { + return FlutterError("BluetoothNotAvailable", "Bluetooth is not available"); + } + }; + + ErrorOr UniversalBlePlugin::GetConnectionState(const std::string& device_id) + { + const auto it = connected_devices_.find(str_to_mac_address(device_id)); + if (it == connected_devices_.end()) + { + return static_cast(ConnectionState::disconnected); + } + + const auto device_agent = *it->second; + + if (device_agent.device.ConnectionStatus() == BluetoothConnectionStatus::Connected) + { + return static_cast(ConnectionState::connected); + } + else + { + return static_cast(ConnectionState::disconnected); + } + } + + std::optional UniversalBlePlugin::Connect(const std::string &device_id) + { + ConnectAsync(str_to_mac_address(device_id)); + return std::nullopt; + }; + + std::optional UniversalBlePlugin::Disconnect(const std::string &device_id) + { + auto device_address = str_to_mac_address(device_id); + CleanConnection(device_address); + // TODO: send disconnect event only after disconnect is complete + ui_thread_handler_.Post([device_address] + { callback_channel->OnConnectionChanged(mac_address_to_str(device_address), false, nullptr, SuccessCallback, ErrorCallback); }); + + return std::nullopt; + } + + void UniversalBlePlugin::DiscoverServices( + const std::string &device_id, + std::function reply)> result) + { + try + { + const auto it = connected_devices_.find(str_to_mac_address(device_id)); + if (it == connected_devices_.end()) + { + result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); + return; + } + auto device_agent = *it->second; + DiscoverServicesAsync(device_agent, result); + } + catch (const FlutterError &err) + { + return result(err); + } + catch (...) + { + std::cout << "DiscoverServicesLog: Unknown error" << std::endl; + return result(FlutterError("Failed", "Unknown error")); + } + } + + void UniversalBlePlugin::SetNotifiable( + const std::string &device_id, + const std::string &service, + const std::string &characteristic, + int64_t ble_input_property, + std::function reply)> result) + { + SetNotifiableAsync(device_id, service, characteristic, ble_input_property, result); + }; + + void UniversalBlePlugin::ReadValue( + const std::string& device_id, + const std::string& service, + const std::string& characteristic, + std::function> reply)> result) + { + try + { + const auto it = connected_devices_.find(str_to_mac_address(device_id)); + if (it == connected_devices_.end()) + { + result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); + return; + } + + auto bluetooth_agent = *it->second; + const GattCharacteristicObject& gatt_characteristic_holder = bluetooth_agent.FetchCharacteristic(service, characteristic); + const GattCharacteristic gatt_characteristic = gatt_characteristic_holder.obj; + + const auto properties = gatt_characteristic.CharacteristicProperties(); + if ((properties & GattCharacteristicProperties::Read) == GattCharacteristicProperties::None) + { + result(FlutterError("NotSupported", "Characteristic does not support read")); + return; + } + + gatt_characteristic.ReadValueAsync(BluetoothCacheMode::Uncached).Completed( + [&, result](IAsyncOperation const &sender, AsyncStatus const args) + { + const auto read_value_result = sender.GetResults(); + auto error = gatt_communication_status_to_error(read_value_result.Status()); + if (error.has_value()) + { + result(FlutterError("Failed", error.value())); + } + else + { + result(to_bytevc(read_value_result.Value())); + } + }); + } + catch (const FlutterError& err) + { + return result(err); + } + catch (...) + { + std::cout << "ReadValueLog: Unknown error" << std::endl; + return result(FlutterError("Failed","Unknown error")); + } + } + + void UniversalBlePlugin::WriteValue( + const std::string& device_id, + const std::string& service, + const std::string& characteristic, + const std::vector& value, + int64_t ble_output_property, + std::function reply)> result) + { + try + { + const auto it = connected_devices_.find(str_to_mac_address(device_id)); + if (it == connected_devices_.end()) + { + result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); + return; + } + auto bluetooth_agent = *it->second; + const GattCharacteristicObject& gatt_characteristic_holder = bluetooth_agent.FetchCharacteristic( + service, characteristic); + const GattCharacteristic gatt_characteristic = gatt_characteristic_holder.obj; + const auto properties = gatt_characteristic.CharacteristicProperties(); + + auto write_option = GattWriteOption::WriteWithResponse; + if (ble_output_property == static_cast(BleOutputProperty::withoutResponse)) + { + write_option = GattWriteOption::WriteWithoutResponse; + if ((properties & GattCharacteristicProperties::WriteWithoutResponse) == GattCharacteristicProperties::None) + { + result(FlutterError("NotSupported", "Characteristic does not support WriteWithoutResponse")); + return; + } + } + else + { + if ((properties & GattCharacteristicProperties::Write) == GattCharacteristicProperties::None) + { + result(FlutterError("NotSupported", "Characteristic does not support Write")); + return; + } + } + + gatt_characteristic.WriteValueAsync(from_bytevc(value), write_option).Completed( + [&, result](IAsyncOperation const &sender, AsyncStatus const args) + { + if (args == AsyncStatus::Error) + { + result(FlutterError("Failed", "Encountered an error.")); + return; + } + + const auto error = gatt_communication_status_to_error(sender.GetResults()); + if (error.has_value()) + { + result(FlutterError("Failed", error.value())); + } + else + { + result(std::nullopt); + } + }); + } + catch (const FlutterError& err) + { + result(err); + } + catch (...) + { + std::cout << "WriteValue: Unknown error" << std::endl; + result(FlutterError("Failed", "Unknown error")); + } + } + + void UniversalBlePlugin::RequestMtu( + const std::string &device_id, + int64_t expected_mtu, + std::function reply)> result) + { + try + { + const auto it = connected_devices_.find(str_to_mac_address(device_id)); + if (it == connected_devices_.end()) + { + result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); + return; + } + const auto bluetooth_agent = *it->second; + GattSession::FromDeviceIdAsync(bluetooth_agent.device.BluetoothDeviceId()).Completed( + [&, result](IAsyncOperation const& sender, AsyncStatus const args) + { + if (args == AsyncStatus::Error) + { + result(FlutterError("Failed", "Encountered an error.")); + return; + } + + result((int64_t)sender.GetResults().MaxPduSize()); + }); + } + catch (const FlutterError &err) + { + result(err); + } + } + + void UniversalBlePlugin::IsPaired( + const std::string &device_id, + std::function reply)> result) + { + IsPairedAsync(device_id, result); + } + + void UniversalBlePlugin::Pair( + const std::string& device_id, + std::function reply)> result) + { + try + { + if (is_windows11_or_greater()) + { + PairAsync(device_id, result); + } + else + { + CustomPairAsync(device_id, result); + } + } + catch (const FlutterError& err) + { + result(err); + } + } + + std::optional UniversalBlePlugin::UnPair(const std::string& device_id) + { + try + { + const auto device = async_get(BluetoothLEDevice::FromBluetoothAddressAsync(str_to_mac_address(device_id))); + if (device == nullptr) + { + return FlutterError("IllegalArgument", "Unknown devicesId:" + device_id); + } + const auto device_information = device.DeviceInformation(); + + if (!device_information.Pairing().IsPaired()) + { + return FlutterError("NotPaired", "Device is not paired"); + } + + const auto device_unpairing_result = async_get(device_information.Pairing().UnpairAsync()); + + const auto error = device_unpairing_result_to_string(device_unpairing_result.Status()); + + if (error.has_value()) + { + return FlutterError("Failed", error.value()); + } + return std::nullopt; + } + catch (const FlutterError& err) + { + return err; + } + } + + void UniversalBlePlugin::GetSystemDevices( + const flutter::EncodableList &with_services, + std::function reply)> result) + { + auto with_services_str = std::vector(); + for (const auto &item : with_services) + { + auto service_id = std::get(item); + with_services_str.push_back(service_id); + } + GetSystemDevicesAsync(with_services_str, result); + } + + /// Helper Methods + + fire_and_forget UniversalBlePlugin::InitializeAsync() + { + const auto radios = co_await Radio::GetRadiosAsync(); + for (auto &&radio : radios) + { + if (radio.Kind() == RadioKind::Bluetooth) + { + bluetooth_radio_ = radio; + radio_state_changed_revoker_ = bluetooth_radio_.StateChanged(auto_revoke, {this, &UniversalBlePlugin::RadioStateChanged}); + RadioStateChanged(bluetooth_radio_, nullptr); + break; + } + } + if (!bluetooth_radio_) + { + std::cout << "Bluetooth is not available" << std::endl; + ui_thread_handler_.Post([] + { callback_channel->OnAvailabilityChanged(static_cast(AvailabilityState::unsupported), SuccessCallback, ErrorCallback); }); + } + initialized_ = true; + } + + fire_and_forget UniversalBlePlugin::PairAsync( + const std::string& device_id, + const std::function reply)> result) + { + try + { + std::cout << "Trying to pair" << std::endl; + + const auto device = co_await BluetoothLEDevice::FromBluetoothAddressAsync(str_to_mac_address(device_id)); + if (device == nullptr) + { + result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); + co_return; + } + + std::cout << "Got device" << std::endl; + + const auto device_information = device.DeviceInformation(); + if (device_information.Pairing().IsPaired()) + result(true); + else if (!device_information.Pairing().CanPair()) + result(FlutterError("NotPairable", "Device is not pairable")); + else + { + const auto pair_result = co_await device_information.Pairing().PairAsync(); + std::cout << "PairLog: Received pairing status" << std::endl; + bool is_paired = pair_result.Status() == DevicePairingResultStatus::Paired; + result(is_paired); + + const std::string* error_msg = nullptr; + const auto error_str = parse_pairing_fail_error(pair_result); + if (error_str.has_value()) + { + error_msg = &error_str.value(); + } + ui_thread_handler_.Post([device_id, is_paired, error_msg] + { callback_channel->OnPairStateChange(device_id, is_paired, error_msg, SuccessCallback, ErrorCallback); }); + } + } + catch (...) + { + result(false); + std::cout << "PairLog: Unknown error" << std::endl; + } + } + + fire_and_forget UniversalBlePlugin::CustomPairAsync( + const std::string& device_id, + const std::function reply)> result) + { + try + { + const auto device = co_await BluetoothLEDevice::FromBluetoothAddressAsync(str_to_mac_address(device_id)); + if (device == nullptr) + { + result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); + co_return; + } + const auto device_information = device.DeviceInformation(); + if (device_information.Pairing().IsPaired()) + result(true); + else if (!device_information.Pairing().CanPair()) + result(FlutterError("NotPairable", "Device is not pairable")); + else + { + const auto custom_pairing = device_information.Pairing().Custom(); + const event_token token = custom_pairing.PairingRequested({this, &UniversalBlePlugin::PairingRequestedHandler}); + std::cout << "PairLog: Trying to pair" << std::endl; + const DevicePairingProtectionLevel protection_level = device_information.Pairing().ProtectionLevel(); + // DevicePairingKinds => None, ConfirmOnly, DisplayPin, ProvidePin, ConfirmPinMatch, ProvidePasswordCredential + const auto pair_result = co_await custom_pairing.PairAsync(DevicePairingKinds::ConfirmOnly | DevicePairingKinds::ProvidePin, protection_level); + std::cout << "PairLog: Got Pair Result" << std::endl; + const DevicePairingResultStatus status = pair_result.Status(); + custom_pairing.PairingRequested(token); + bool is_paired = status == DevicePairingResultStatus::Paired; + result(is_paired); + + const std::string* error_msg = nullptr; + const auto error_str = parse_pairing_fail_error(pair_result); + if (error_str.has_value()) + { + error_msg = &error_str.value(); + } + ui_thread_handler_.Post([device_id, is_paired, error_msg] + { callback_channel->OnPairStateChange(device_id, is_paired, error_msg, SuccessCallback, ErrorCallback); }); + } + } + catch (...) + { + result(false); + std::cout << "PairLog Error: Pairing Failed" << std::endl; + } + } + + // ReSharper disable once CppMemberFunctionMayBeStatic + void UniversalBlePlugin::PairingRequestedHandler(DeviceInformationCustomPairing sender, const DevicePairingRequestedEventArgs& event_args) + { + std::cout << "PairLog: Got PairingRequest" << std::endl; + const DevicePairingKinds kind = event_args.PairingKind(); + if (kind != DevicePairingKinds::ProvidePin) + { + event_args.Accept(); + return; + } + + std::cout << "PairLog: Trying to get pin from user" << std::endl; + const hstring pin = askForPairingPin(); + std::wcout << "PairLog: Got Pin: " << pin.c_str() << std::endl; + event_args.Accept(pin); + } + + // Send device to callback channel + // if device is already discovered in deviceWatcher then merge the scan result + void UniversalBlePlugin::PushUniversalScanResult(UniversalBleScanResult scan_result, const bool is_connectable) + { + const std::optional it = scan_results_.get(scan_result.device_id()); + if (it.has_value()) + { + const UniversalBleScanResult ¤t_scan_result = it.value(); + bool should_update = false; + + // Check if current scanResult name is longer than the received scanResult name + if (scan_result.name() != nullptr && !scan_result.name()->empty() && current_scan_result.name() != nullptr && !current_scan_result.name()->empty()) + { + if (current_scan_result.name()->size() > scan_result.name()->size()) + { + scan_result.set_name(*current_scan_result.name()); + } + } + + if ((scan_result.name() == nullptr || scan_result.name()->empty()) && (current_scan_result.name() != nullptr && !current_scan_result.name()->empty())) + { + scan_result.set_name(*current_scan_result.name()); + should_update = true; + } + + if (scan_result.is_paired() == nullptr && current_scan_result.is_paired() != nullptr) + { + scan_result.set_is_paired(current_scan_result.is_paired()); + should_update = true; + } + + if ((scan_result.manufacturer_data_list() == nullptr || scan_result.manufacturer_data_list()->empty()) && current_scan_result.manufacturer_data_list() != nullptr) + { + scan_result.set_manufacturer_data_list(current_scan_result.manufacturer_data_list()); + should_update = true; + } + + if (scan_result.services() == nullptr && current_scan_result.services() != nullptr) + { + scan_result.set_services(current_scan_result.services()); + should_update = true; + } + + // if nothing to update then return + if (!should_update) + { + return; + } + } + + // Update cache + scan_results_.insert_or_assign(scan_result.device_id(), scan_result); + + // Filter final result before sending to Flutter + if (is_connectable && filterDevice(scan_result)) + { + ui_thread_handler_.Post([scan_result] + { callback_channel->OnScanResult(scan_result, SuccessCallback, ErrorCallback); }); + } + } + + void UniversalBlePlugin::SetupDeviceWatcher() + { + if (device_watcher_ != nullptr) + return; + + device_watcher_ = DeviceInformation::CreateWatcher( + L"(System.Devices.Aep.ProtocolId:=\"{bb7bb05e-5972-42b5-94fc-76eaa7084d49}\")", + { + device_address_key, + is_connected_key, + is_paired_key, + is_present_key, + is_connectable_key, + signal_strength_key, + }, + DeviceInformationKind::AssociationEndpoint); + + /// Device Added from DeviceWatcher + device_watcher_added_token_ = device_watcher_.Added([this](DeviceWatcher sender, const DeviceInformation& device_info) + { + const std::string device_id = to_string(device_info.Id()); + device_watcher_devices_.insert_or_assign(device_id, device_info); + OnDeviceInfoReceived(device_info); + // On Device Added + }); + + // Update only if device is already discovered in deviceWatcher.Added + device_watcher_updated_token_ = device_watcher_.Updated([this](DeviceWatcher sender, const DeviceInformationUpdate& device_info_update) + { + const std::string device_id = to_string(device_info_update.Id()); + const auto it = device_watcher_devices_.get(device_id); + if (it.has_value()) + { + const auto value = it.value(); + value.Update(device_info_update); + device_watcher_devices_.insert_or_assign(device_id, value); + OnDeviceInfoReceived(value); + } + // On Device Updated + }); + + device_watcher_removed_token_ = device_watcher_.Removed([this](DeviceWatcher sender, const DeviceInformationUpdate& args) + { + const std::string device_id = to_string(args.Id()); + device_watcher_devices_.remove(device_id); + // On Device Removed + }); + + device_watcher_enumeration_completed_token_ = device_watcher_.EnumerationCompleted([this](DeviceWatcher sender, IInspectable args) + { + std::cout << "DeviceWatcherEvent: EnumerationCompleted" << std::endl; + DisposeDeviceWatcher(); + // EnumerationCompleted + }); + + device_watcher_stopped_token_ = device_watcher_.Stopped([this](DeviceWatcher sender, IInspectable args) + { + // std::cout << "DeviceWatcherEvent: Stopped" << std::endl; + // disposeDeviceWatcher(); + // DeviceWatcher Stopped + }); + } + + void UniversalBlePlugin::DisposeDeviceWatcher() + { + if (device_watcher_ != nullptr) + { + device_watcher_.Added(device_watcher_added_token_); + device_watcher_.Updated(device_watcher_updated_token_); + device_watcher_.Removed(device_watcher_removed_token_); + device_watcher_.EnumerationCompleted(device_watcher_enumeration_completed_token_); + device_watcher_.Stopped(device_watcher_stopped_token_); + const auto status = device_watcher_.Status(); + // std::cout << "DisposingDeviceWatcher, CurrentState: " << DeviceWatcherStatusToString(status) << std::endl; + if (status == DeviceWatcherStatus::Started) + { + device_watcher_.Stop(); + } + device_watcher_ = nullptr; + device_watcher_devices_.clear(); + } + } + + void UniversalBlePlugin::OnDeviceInfoReceived(const DeviceInformation& device_info) + { + const auto properties = device_info.Properties(); + + // Avoid devices if not connectable or if deviceAddressKey is not present + if (!(properties.HasKey(is_connectable_key) && (properties.Lookup(is_connectable_key).as()).GetBoolean()) || !properties.HasKey(device_address_key)) + return; + + const auto bluetooth_address_property_value = properties.Lookup(device_address_key).as(); + const std::string device_address = to_string(bluetooth_address_property_value.GetString()); + + // Update device info if already discovered in advertisementWatcher + if (scan_results_.get(device_address).has_value()) + { + bool is_paired = device_info.Pairing().IsPaired(); + if (properties.HasKey(is_paired_key)) + { + const auto is_paired_property_value = properties.Lookup(is_paired_key).as(); + is_paired = is_paired_property_value.GetBoolean(); + } + + UniversalBleScanResult universal_scan_result(device_address); + universal_scan_result.set_is_paired(is_paired); + + if (!device_info.Name().empty()) + universal_scan_result.set_name(to_string(device_info.Name())); + + if (properties.HasKey(signal_strength_key)) + { + const auto rssi_property_value = properties.Lookup(signal_strength_key).as(); + const int16_t rssi = rssi_property_value.GetInt16(); + universal_scan_result.set_rssi(rssi); + } + + PushUniversalScanResult(universal_scan_result, true); + } + } + + /// Advertisement received from advertisementWatcher + void UniversalBlePlugin::BluetoothLeWatcherReceived(const BluetoothLEAdvertisementWatcher&, const BluetoothLEAdvertisementReceivedEventArgs& args) + { + try + { + auto device_id = mac_address_to_str(args.BluetoothAddress()); + auto universal_scan_result = UniversalBleScanResult(device_id); + std::string name = to_string(args.Advertisement().LocalName()); + + auto manufacturer_data_encodable_list = flutter::EncodableList(); + if (args.Advertisement() != nullptr) + { + for (BluetoothLEManufacturerData msd : args.Advertisement().ManufacturerData()) + { + auto universal_manufacturer_data = UniversalManufacturerData(static_cast(msd.CompanyId()), to_bytevc(msd.Data())); + manufacturer_data_encodable_list.push_back(flutter::CustomEncodableValue(universal_manufacturer_data)); + } + } + + auto data_section = args.Advertisement().DataSections(); + for (auto &&data : data_section) + { + auto data_bytes = to_bytevc(data.Data()); + // Use CompleteName from dataType if localName is empty + if (name.empty() && data.DataType() == static_cast(AdvertisementSectionType::CompleteLocalName)) + { + name = std::string(data_bytes.begin(), data_bytes.end()); + } + // Use ShortenedLocalName from dataType if localName is empty + else if (name.empty() && data.DataType() == static_cast(AdvertisementSectionType::ShortenedLocalName)) + { + name = std::string(data_bytes.begin(), data_bytes.end()); + } + } + + if (!name.empty()) + { + universal_scan_result.set_name(name); + } + + if (!manufacturer_data_encodable_list.empty()) + { + universal_scan_result.set_manufacturer_data_list(manufacturer_data_encodable_list); + } + + universal_scan_result.set_rssi(args.RawSignalStrengthInDBm()); + + // Add services + auto services = flutter::EncodableList(); + for (auto &&uuid : args.Advertisement().ServiceUuids()) + services.push_back(guid_to_uuid(uuid)); + universal_scan_result.set_services(services); + + // check if this device already discovered in deviceWatcher + auto it = device_watcher_devices_.get(device_id); + if (it.has_value()) + { + auto &device_info = it.value(); + auto properties = device_info.Properties(); + + // Update Paired Status + bool is_paired = device_info.Pairing().IsPaired(); + if (properties.HasKey(is_paired_key)) + is_paired = (properties.Lookup(is_paired_key).as()).GetBoolean(); + universal_scan_result.set_is_paired(is_paired); + + // Update Name + if (name.empty() && !device_info.Name().empty()) + universal_scan_result.set_name(to_string(device_info.Name())); + } + + // Filter Device + PushUniversalScanResult(universal_scan_result, args.IsConnectable()); + } + catch (...) + { + std::cout << "ScanResultErrorInParsing" << std::endl; + } + } + + void UniversalBlePlugin::RadioStateChanged(const Radio& sender, const IInspectable&) + { + const auto radio_state = !sender ? RadioState::Disabled : sender.State(); + if (old_radio_state_ == radio_state) + { + return; + } + old_radio_state_ = radio_state; + auto state = get_availability_state_from_radio(radio_state); + + ui_thread_handler_.Post([state] + { callback_channel->OnAvailabilityChanged(static_cast(state), SuccessCallback, ErrorCallback); }); + } + + + fire_and_forget UniversalBlePlugin::ConnectAsync(uint64_t bluetooth_address) + { + BluetoothLEDevice device = co_await BluetoothLEDevice::FromBluetoothAddressAsync(bluetooth_address); + if (!device) + { + std::cout << "ConnectionLog: ConnectionFailed: Failed to get device" << std::endl; + ui_thread_handler_.Post([bluetooth_address] + { callback_channel->OnConnectionChanged(mac_address_to_str(bluetooth_address), false, new std::string("Failed to get device"), SuccessCallback, ErrorCallback); }); + + co_return; + } + std::cout << "ConnectionLog: Device found" << std::endl; + auto services_result = co_await device.GetGattServicesAsync((BluetoothCacheMode::Uncached)); + auto services_result_error = gatt_communication_status_to_error(services_result.Status()); + if (services_result_error.has_value()) + { + std::cout << "ConnectionFailed: Failed to get services: " << services_result_error.value() << std::endl; + ui_thread_handler_.Post([bluetooth_address, services_result_error] + { callback_channel->OnConnectionChanged(mac_address_to_str(bluetooth_address), false, &services_result_error.value(), SuccessCallback, ErrorCallback); }); + co_return; + } + + std::cout << "ConnectionLog: Services discovered" << std::endl; + std::unordered_map gatt_map; + auto gatt_services = services_result.Services(); + for (GattDeviceService &&service : gatt_services) + { + GattServiceObject gatt_service; + gatt_service.obj = service; + std::string service_uuid = guid_to_uuid(service.Uuid()); + auto characteristics_result = co_await service.GetCharacteristicsAsync(BluetoothCacheMode::Uncached); + auto characteristics_result_error = gatt_communication_status_to_error(characteristics_result.Status()); + + if (characteristics_result_error.has_value()) + { + std::cout << "Failed to get characteristics for service: " << service_uuid << ", With Status: " << characteristics_result_error.value() << std::endl; + continue; + // PostConnectionUpdate(bluetoothAddress, ConnectionState::disconnected); + // co_return; + } + auto gatt_characteristics = characteristics_result.Characteristics(); + for (GattCharacteristic &&characteristic : gatt_characteristics) + { + GattCharacteristicObject gatt_characteristic; + gatt_characteristic.obj = characteristic; + gatt_characteristic.subscription_token = std::nullopt; + std::string characteristic_uuid = guid_to_uuid(characteristic.Uuid()); + gatt_service.characteristics.insert_or_assign(characteristic_uuid, std::move(gatt_characteristic)); + } + gatt_map.insert_or_assign(service_uuid, std::move(gatt_service)); + } + + event_token connection_status_changed_token = device.ConnectionStatusChanged({this, &UniversalBlePlugin::BluetoothLeDeviceConnectionStatusChanged}); + auto device_agent = std::make_unique(device, connection_status_changed_token, gatt_map); + auto pair = std::make_pair(bluetooth_address, std::move(device_agent)); + connected_devices_.insert(std::move(pair)); + std::cout << "ConnectionLog: Connected" << std::endl; + ui_thread_handler_.Post([bluetooth_address] + { callback_channel->OnConnectionChanged(mac_address_to_str(bluetooth_address), true, nullptr, SuccessCallback, ErrorCallback); }); + } + + void UniversalBlePlugin::BluetoothLeDeviceConnectionStatusChanged(const BluetoothLEDevice& sender, const IInspectable& + ) + { + if (sender.ConnectionStatus() == BluetoothConnectionStatus::Disconnected) + { + CleanConnection(sender.BluetoothAddress()); + auto bluetooth_address = sender.BluetoothAddress(); + ui_thread_handler_.Post([bluetooth_address] + { callback_channel->OnConnectionChanged(mac_address_to_str(bluetooth_address), false, nullptr, SuccessCallback, ErrorCallback); }); + } + } + + void UniversalBlePlugin::CleanConnection(const uint64_t bluetooth_address) + { + const auto node = connected_devices_.extract(bluetooth_address); + if (!node.empty()) + { + const auto device_agent = std::move(node.mapped()); + device_agent->device.ConnectionStatusChanged(device_agent->connection_status_changed_token); + // Clean up all characteristics tokens + for (auto& [service_id, service] : device_agent->gatt_map) + { + for (auto& [char_id, characteristic] : service.characteristics) + { + if (characteristic.subscription_token.has_value()) + { + characteristic.obj.ValueChanged(characteristic.subscription_token.value()); + characteristic.subscription_token = std::nullopt; + } + } + } + device_agent->gatt_map.clear(); + } + } + + fire_and_forget UniversalBlePlugin::GetSystemDevicesAsync( + std::vector with_services, + std::function reply)> result) + { + try + { + auto selector = BluetoothLEDevice::GetDeviceSelectorFromConnectionStatus(BluetoothConnectionStatus::Connected); + DeviceInformationCollection devices = co_await DeviceInformation::FindAllAsync(selector); + auto results = flutter::EncodableList(); + for (auto &&device_info : devices) + { + try + { + BluetoothLEDevice device = co_await BluetoothLEDevice::FromIdAsync(device_info.Id()); + auto device_id = mac_address_to_str(device.BluetoothAddress()); + // Filter by services + if (!with_services.empty()) + { + auto service_result = co_await device.GetGattServicesAsync(BluetoothCacheMode::Cached); + if (service_result.Status() == GattCommunicationStatus::Success) + { + bool has_service = false; + for (auto service : service_result.Services()) + { + std::string service_uuid = to_uuidstr(service.Uuid()); + if (std::find(with_services.begin(), with_services.end(), service_uuid) != with_services.end()) + { + has_service = true; + break; + } + } + if (!has_service) + continue; + } + } + // Add to results, if pass all filters + auto universal_scan_result = UniversalBleScanResult(device_id); + universal_scan_result.set_name(to_string(device_info.Name())); + universal_scan_result.set_is_paired(device_info.Pairing().IsPaired()); + results.push_back(flutter::CustomEncodableValue(universal_scan_result)); + } + catch (...) + { + } + } + result(results); + } + catch (const hresult_error &err) + { + int error_code = err.code(); + std::cout << "GetConnectedDeviceLog: " << to_string(err.message()) << " ErrorCode: " << std::to_string(error_code) << std::endl; + result(FlutterError(std::to_string(error_code), to_string(err.message()))); + } + catch (...) + { + std::cout << "Unknown error GetSystemDevicesAsyncAsync" << std::endl; + result(FlutterError("Failed", "Unknown error")); + } + } + + void UniversalBlePlugin::DiscoverServicesAsync(BluetoothDeviceAgent &bluetooth_device_agent, const std::function reply)>& result) + { + try + { + auto universal_services = flutter::EncodableList(); + for (auto & [service_id, service] : bluetooth_device_agent.gatt_map) + { + flutter::EncodableList universal_characteristics; + for (auto [char_id, characteristic] : service.characteristics) + { + auto& c = characteristic.obj; + + const auto properties_value = c.CharacteristicProperties(); + auto properties = properties_to_flutter_encodable(properties_value); + + universal_characteristics.push_back( + flutter::CustomEncodableValue(UniversalBleCharacteristic(to_uuidstr(c.Uuid()), properties))); + } + + auto universal_ble_service = UniversalBleService(to_uuidstr(service.obj.Uuid())); + universal_ble_service.set_characteristics(universal_characteristics); + universal_services.push_back(flutter::CustomEncodableValue(universal_ble_service)); + } + result(universal_services); + } + catch (...) + { + result(FlutterError("Failed", "Unknown error")); + std::cout << "DiscoverServiceError: Unknown error" << '\n'; + } + } + + fire_and_forget UniversalBlePlugin::IsPairedAsync( + const std::string& device_id, + const std::function reply)> result) + { + try + { + const auto device = co_await BluetoothLEDevice::FromBluetoothAddressAsync(str_to_mac_address(device_id)); + if (device == nullptr) + { + result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); + co_return; + } + const bool is_paired = device.DeviceInformation().Pairing().IsPaired(); + result(is_paired); + } + catch (...) + { + std::cout << "IsPairedAsync: Error " << std::endl; + result(FlutterError("Failed", "Unknown error")); + } + } + + fire_and_forget UniversalBlePlugin::SetNotifiableAsync(const std::string& device_id, + const std::string& service, + const std::string& characteristic, + const int64_t ble_input_property, + const std::function reply)> result) + { + try + { + const auto it = connected_devices_.find(str_to_mac_address(device_id)); + if (it == connected_devices_.end()) + { + result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); + co_return; + } + + auto& gatt_char = it->second->FetchCharacteristic(service, characteristic); + + const auto properties = gatt_char.obj.CharacteristicProperties(); + auto descriptor_value = GattClientCharacteristicConfigurationDescriptorValue::None; + if (ble_input_property == static_cast(BleInputProperty::notification)) + { + descriptor_value = GattClientCharacteristicConfigurationDescriptorValue::Notify; + if ((properties & GattCharacteristicProperties::Notify) == GattCharacteristicProperties::None) + { + result(FlutterError("NotSupported", "Characteristic does not support notify")); + co_return; + } + } + else if (ble_input_property == static_cast(BleInputProperty::indication)) + { + descriptor_value = GattClientCharacteristicConfigurationDescriptorValue::Indicate; + if ((properties & GattCharacteristicProperties::Indicate) == GattCharacteristicProperties::None) + { + result(FlutterError("NotSupported", "Characteristic does not support indicate")); + co_return; + } + } + + const auto gatt_characteristic = gatt_char.obj; + const auto uuid = to_uuidstr(gatt_characteristic.Uuid()); + + // Write to the descriptor. + const auto status = co_await gatt_characteristic.WriteClientCharacteristicConfigurationDescriptorAsync( + descriptor_value); + const auto error = gatt_communication_status_to_error(status); + if (error.has_value()) + { + result(FlutterError("Failed", error.value())); + co_return; + } + + // Register/UnRegister handler for the ValueChanged event. + if (descriptor_value == GattClientCharacteristicConfigurationDescriptorValue::None) + { + if (gatt_char.subscription_token.has_value()) + { + gatt_characteristic.ValueChanged(gatt_char.subscription_token.value()); + gatt_char.subscription_token = std::nullopt; + std::cout << "Unsubscribed " << to_uuidstr(gatt_characteristic.Uuid()) << std::endl; + } + } + else + { + // If a notification for the given characteristic is already in progress, swap the callbacks. + if (gatt_char.subscription_token.has_value()) + { + std::cout << "A notification for the given characteristic is already in progress. Swapping callbacks." << std::endl; + gatt_characteristic.ValueChanged(gatt_char.subscription_token.value()); + gatt_char.subscription_token = std::nullopt; + } + + gatt_char.subscription_token = std::make_optional(gatt_characteristic.ValueChanged({ + this, &UniversalBlePlugin::GattCharacteristicValueChanged + })); + } + + result(std::nullopt); + } + catch (const FlutterError& err) + { + result(err); + } + catch (...) + { + std::cout << "SetNotifiableLog: Unknown error" << std::endl; + result(FlutterError("Failed", "Unknown error")); + } + } + + void UniversalBlePlugin::GattCharacteristicValueChanged(const GattCharacteristic& sender, const GattValueChangedEventArgs& args) + { + auto uuid = to_uuidstr(sender.Uuid()); + auto bytes = to_bytevc(args.CharacteristicValue()); + ui_thread_handler_.Post([sender, uuid, bytes] + { callback_channel->OnValueChanged(mac_address_to_str(sender.Service().Device().BluetoothAddress()), uuid, bytes, SuccessCallback, ErrorCallback); }); + } + +} // namespace universal_ble \ No newline at end of file diff --git a/universal_ble/windows/src/universal_ble_plugin.h b/universal_ble/windows/src/universal_ble_plugin.h new file mode 100644 index 000000000..abeffed79 --- /dev/null +++ b/universal_ble/windows/src/universal_ble_plugin.h @@ -0,0 +1,200 @@ +#ifndef FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_H_ +#define FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_H_ + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include "helper/utils.h" +#include "helper/universal_enum.h" +#include "helper/universal_ble_base.h" +#include "generated/universal_ble.g.h" +#include "ui_thread_handler.hpp" +#include "universal_ble_thread_safe.h" + +namespace universal_ble +{ + struct GattCharacteristicObject + { + GattCharacteristic obj = nullptr; + std::optional subscription_token; + }; + + struct GattServiceObject + { + GattDeviceService obj = nullptr; + std::unordered_map characteristics; + }; + + struct BluetoothDeviceAgent + { + BluetoothLEDevice device; + event_token connection_status_changed_token; + std::unordered_map gatt_map; + + BluetoothDeviceAgent(const BluetoothLEDevice &device, const event_token connection_status_changed_token, + const std::unordered_map &gatt_map) + : device(device), + connection_status_changed_token(connection_status_changed_token), + gatt_map(gatt_map) + { + } + + ~BluetoothDeviceAgent() + { + device = nullptr; + } + + GattCharacteristicObject &FetchCharacteristic(const std::string &service_uuid, + const std::string &characteristic_uuid) + { + if (gatt_map.count(service_uuid) == 0) + { + throw FlutterError("IllegalArgument", "Service not found"); + } + if (gatt_map[service_uuid].characteristics.count(characteristic_uuid) == 0) + { + throw FlutterError("IllegalArgument", "Characteristic not found"); + } + return gatt_map[service_uuid].characteristics.at(characteristic_uuid); + } + }; + + class UniversalBlePlugin : public flutter::Plugin, public UniversalBlePlatformChannel + { + public: + static void RegisterWithRegistrar(flutter::PluginRegistrarWindows *registrar); + + UniversalBlePlugin(flutter::PluginRegistrarWindows *registrar); + + ~UniversalBlePlugin(); + + // Disallow copy and assign. + UniversalBlePlugin(const UniversalBlePlugin&) = delete; + UniversalBlePlugin& operator=(const UniversalBlePlugin&) = delete; + + + private: + static void SuccessCallback() {} + static void ErrorCallback(const FlutterError &error) + { + // Ignore ChannelConnection Error, This might occur because of HotReload + if (error.code() != "channel-error") + { + std::cout << "ErrorCode: " << error.code() << " Message: " << error.message() << std::endl; + } + } + + flutter::PluginRegistrarWindows *registrar_; + bool initialized_ = false; + + UniversalBleUiThreadHandler ui_thread_handler_; + Radio bluetooth_radio_{nullptr}; + RadioState old_radio_state_ = RadioState::Unknown; + BluetoothLEAdvertisementWatcher bluetooth_le_watcher_{nullptr}; + DeviceWatcher device_watcher_{nullptr}; + + std::unordered_map> connected_devices_{}; + ThreadSafeMap device_watcher_devices_{}; + ThreadSafeMap scan_results_{}; + + event_token bluetooth_le_watcher_received_token_; + event_token device_watcher_added_token_; + event_token device_watcher_updated_token_; + event_token device_watcher_removed_token_; + event_token device_watcher_enumeration_completed_token_; + event_token device_watcher_stopped_token_; + event_revoker radio_state_changed_revoker_; + + + fire_and_forget InitializeAsync(); + fire_and_forget ConnectAsync(uint64_t bluetooth_address); + fire_and_forget SetNotifiableAsync( + const std::string& device_id, + const std::string& service, + const std::string& characteristic, + int64_t ble_input_property, + std::function reply)> result); + fire_and_forget PairAsync(const std::string& device_id, std::function reply)> result); + fire_and_forget CustomPairAsync(const std::string& device_id, std::function reply)> result); + static fire_and_forget GetSystemDevicesAsync( + std::vector with_services, + std::function reply)> result); + static fire_and_forget IsPairedAsync(const std::string& device_id, std::function reply)> result); + + static void DiscoverServicesAsync(BluetoothDeviceAgent& bluetooth_device_agent, const std::function reply)>&); + void PairingRequestedHandler(DeviceInformationCustomPairing sender, const DevicePairingRequestedEventArgs& event_args); + + void RadioStateChanged(const Radio& sender, const IInspectable&); + void SetupDeviceWatcher(); + void DisposeDeviceWatcher(); + void PushUniversalScanResult(UniversalBleScanResult scan_result, bool is_connectable); + void BluetoothLeWatcherReceived(const BluetoothLEAdvertisementWatcher& sender, const + BluetoothLEAdvertisementReceivedEventArgs& args); + void OnDeviceInfoReceived(const DeviceInformation& device_info); + void BluetoothLeDeviceConnectionStatusChanged(const BluetoothLEDevice& sender, const IInspectable& args); + void CleanConnection(uint64_t bluetooth_address); + + + void GattCharacteristicValueChanged(const GattCharacteristic& sender, const GattValueChangedEventArgs& args); + + // UniversalBlePlatformChannel implementation. + void GetBluetoothAvailabilityState(std::function reply)> result) override; + void EnableBluetooth(std::function reply)> result) override; + void DisableBluetooth(std::function reply)> result) override; + ErrorOr GetConnectionState(const std::string &device_id) override; + std::optional StartScan(const UniversalScanFilter *filter) override; + std::optional StopScan() override; + std::optional Connect(const std::string &device_id) override; + std::optional Disconnect(const std::string &device_id) override; + void DiscoverServices( + const std::string &device_id, + std::function reply)> result) override; + void SetNotifiable( + const std::string &device_id, + const std::string &service, + const std::string &characteristic, + int64_t ble_input_property, + std::function reply)> result) override; + void ReadValue( + const std::string &device_id, + const std::string &service, + const std::string &characteristic, + std::function> reply)> result) override; + void WriteValue( + const std::string &device_id, + const std::string &service, + const std::string &characteristic, + const std::vector &value, + int64_t ble_output_property, + std::function reply)> result) override; + void RequestMtu( + const std::string &device_id, + int64_t expected_mtu, + std::function reply)> result) override; + void IsPaired( + const std::string &device_id, + std::function reply)> result) override; + void Pair( + const std::string &device_id, + std::function reply)> result) override; + std::optional UnPair(const std::string &device_id) override; + void GetSystemDevices( + const flutter::EncodableList &with_services, + std::function reply)> result) override; + }; + +} // namespace universal_ble + +#endif // FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_H_ \ No newline at end of file diff --git a/universal_ble/windows/src/universal_ble_thread_safe.h b/universal_ble/windows/src/universal_ble_thread_safe.h new file mode 100644 index 000000000..e38a0cf1b --- /dev/null +++ b/universal_ble/windows/src/universal_ble_thread_safe.h @@ -0,0 +1,52 @@ +#include +#include +#include +#include +#include +#include + +namespace universal_ble +{ + // Thread Safe Map wrapper + // Use only if you don't care about value ownership and it's OK to work with copies of the data. + template + class ThreadSafeMap + { + private: + std::unordered_map data; + mutable std::shared_mutex mutex; + + public: + void insert_or_assign(const Key &key, const Value &value) + { + std::unique_lock lock(mutex); + data.insert_or_assign(key, value); + } + + bool remove(const Key &key) + { + std::unique_lock lock(mutex); + return data.erase(key) > 0; + } + + std::optional get(const Key &key) const + { + std::shared_lock lock(mutex); + auto it = data.find(key); + return (it != data.end()) ? std::optional(it->second) : std::nullopt; + } + + void clear() + { + std::unique_lock lock(mutex); + data.clear(); + } + + std::map get_snapshot() const + { + std::shared_lock lock(mutex); + return data; + } + }; + +} // namespace universal_ble diff --git a/universal_ble/windows/universal_ble_plugin_c_api.cpp b/universal_ble/windows/universal_ble_plugin_c_api.cpp new file mode 100644 index 000000000..cb59edda8 --- /dev/null +++ b/universal_ble/windows/universal_ble_plugin_c_api.cpp @@ -0,0 +1,13 @@ +#include "include/universal_ble/universal_ble_plugin_c_api.h" + +#include + +#include "src/universal_ble_plugin.h" + +void UniversalBlePluginCApiRegisterWithRegistrar( + FlutterDesktopPluginRegistrarRef registrar) +{ + universal_ble::UniversalBlePlugin::RegisterWithRegistrar( + flutter::PluginRegistrarManager::GetInstance() + ->GetRegistrar(registrar)); +} diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 7d1f1c592..88d291f12 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -7,11 +7,14 @@ #include "generated_plugin_registrant.h" #include +#include #include void RegisterPlugins(flutter::PluginRegistry* registry) { KeypressSimulatorWindowsPluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("KeypressSimulatorWindowsPluginCApi")); + UniversalBlePluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("UniversalBlePluginCApi")); UrlLauncherWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("UrlLauncherWindows")); } diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index f969141ca..82fcfba44 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -4,6 +4,7 @@ list(APPEND FLUTTER_PLUGIN_LIST keypress_simulator_windows + universal_ble url_launcher_windows ) From 022df97b891e6bc91168f6fe85ed6d7c18b02fcf Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Fri, 28 Mar 2025 23:15:56 +0100 Subject: [PATCH 028/636] fix indicate on macOS --- universal_ble/darwin/Classes/UniversalBlePlugin.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/universal_ble/darwin/Classes/UniversalBlePlugin.swift b/universal_ble/darwin/Classes/UniversalBlePlugin.swift index 3035cb879..f3707ab06 100644 --- a/universal_ble/darwin/Classes/UniversalBlePlugin.swift +++ b/universal_ble/darwin/Classes/UniversalBlePlugin.swift @@ -208,8 +208,8 @@ private class BleCentralDarwin: NSObject, UniversalBlePlatformChannel, CBCentral } if bleInputProperty == BleInputProperty.indication.rawValue && !gattCharacteristic.properties.contains(.indicate) { - completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support indicate", details: nil))) - return + /*completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support indicate", details: nil))) + return*/ } let shouldNotify = bleInputProperty != BleInputProperty.disabled.rawValue From de8ef5f10b42a5f6bc2187d16997c01c6bb1f891 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 29 Mar 2025 02:02:32 +0100 Subject: [PATCH 029/636] attempt to fix windows ble issue --- lib/utils/devices/base_device.dart | 2 +- lib/utils/devices/zwift_click.dart | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/utils/devices/base_device.dart b/lib/utils/devices/base_device.dart index 989fcc9fa..619099978 100644 --- a/lib/utils/devices/base_device.dart +++ b/lib/utils/devices/base_device.dart @@ -83,7 +83,7 @@ abstract class BaseDevice { );*/ if (!kIsWeb && Platform.isAndroid) { - await UniversalBle.requestMtu(device.deviceId, 256); + //await UniversalBle.requestMtu(device.deviceId, 256); } final services = await UniversalBle.discoverServices(device.deviceId); diff --git a/lib/utils/devices/zwift_click.dart b/lib/utils/devices/zwift_click.dart index 65aa81635..8a8bf2d72 100644 --- a/lib/utils/devices/zwift_click.dart +++ b/lib/utils/devices/zwift_click.dart @@ -49,7 +49,7 @@ class ZwiftClick extends BaseDevice { device.deviceId, customService.uuid, asyncCharacteristic.uuid, - BleInputProperty.indication, + BleInputProperty.notification, ); await UniversalBle.setNotifiable( device.deviceId, @@ -63,7 +63,7 @@ class ZwiftClick extends BaseDevice { Future _setupHandshake(BleCharacteristic syncRxCharacteristic) async { if (supportsEncryption) { - UniversalBle.writeValue( + await UniversalBle.writeValue( device.deviceId, customServiceId, syncRxCharacteristic.uuid, @@ -75,7 +75,7 @@ class ZwiftClick extends BaseDevice { BleOutputProperty.withoutResponse, ); } else { - UniversalBle.writeValue( + await UniversalBle.writeValue( device.deviceId, customServiceId, syncRxCharacteristic.uuid, @@ -86,7 +86,7 @@ class ZwiftClick extends BaseDevice { } void _processCharacteristic(String tag, Uint8List bytes) { - if (kDebugMode && false) { + if (kDebugMode) { print('Received $tag: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}'); print('Received $tag: ${String.fromCharCodes(bytes)}'); } From 56ecad07cdf70dc6a450858f7934bb1c8adbbd99 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 29 Mar 2025 10:28:00 +0100 Subject: [PATCH 030/636] remove dependency again --- pubspec.lock | 9 +- pubspec.yaml | 3 +- universal_ble/.github/FUNDING.yml | 1 - .../.github/workflows/build_web_app.yml | 36 - .../workflows/test_ble_uuid_parser.yml | 36 - universal_ble/.gitignore | 30 - universal_ble/.metadata | 42 - universal_ble/.vscode/c_cpp_properties.json | 21 - universal_ble/.vscode/launch.json | 44 - universal_ble/.vscode/settings.json | 150 -- universal_ble/CHANGELOG.md | 171 --- universal_ble/LICENSE | 31 - universal_ble/README.md | 448 ------ universal_ble/analysis_options.yaml | 4 - universal_ble/android/.gitignore | 9 - universal_ble/android/build.gradle | 68 - universal_ble/android/settings.gradle | 1 - .../android/src/main/AndroidManifest.xml | 10 - .../com/navideck/universal_ble/SafeScanner.kt | 79 -- .../navideck/universal_ble/UniversalBle.g.kt | 725 ---------- .../universal_ble/UniversalBleFilterUtil.kt | 164 --- .../universal_ble/UniversalBleHelper.kt | 358 ----- .../universal_ble/UniversalBlePlugin.kt | 1045 -------------- .../universal_ble/UniversalBlePluginTest.kt | 27 - universal_ble/darwin/.gitignore | 38 - universal_ble/darwin/Assets/.gitkeep | 0 .../darwin/Classes/UniversalBle.g.swift | 729 ---------- .../Classes/UniversalBleFilterUtil.swift | 107 -- .../darwin/Classes/UniversalBleHelper.swift | 203 --- .../darwin/Classes/UniversalBlePlugin.swift | 501 ------- universal_ble/darwin/universal_ble.podspec | 25 - universal_ble/example/.gitignore | 47 - universal_ble/example/README.md | 3 - universal_ble/example/analysis_options.yaml | 28 - universal_ble/example/android/.gitignore | 13 - .../example/android/app/build.gradle | 65 - .../android/app/src/debug/AndroidManifest.xml | 7 - .../android/app/src/main/AndroidManifest.xml | 38 - .../universal_ble_example/MainActivity.kt | 6 - .../res/drawable-v21/launch_background.xml | 12 - .../main/res/drawable/launch_background.xml | 12 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 0 bytes .../app/src/main/res/values-night/styles.xml | 18 - .../app/src/main/res/values/styles.xml | 18 - .../app/src/profile/AndroidManifest.xml | 7 - universal_ble/example/android/build.gradle | 18 - .../example/android/gradle.properties | 3 - .../gradle/wrapper/gradle-wrapper.properties | 5 - universal_ble/example/android/settings.gradle | 25 - universal_ble/example/ios/.gitignore | 34 - .../ios/Flutter/AppFrameworkInfo.plist | 26 - .../example/ios/Flutter/Debug.xcconfig | 2 - .../example/ios/Flutter/Release.xcconfig | 2 - universal_ble/example/ios/Podfile | 44 - universal_ble/example/ios/Podfile.lock | 41 - .../ios/Runner.xcodeproj/project.pbxproj | 724 ---------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 98 -- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../example/ios/Runner/AppDelegate.swift | 13 - .../AppIcon.appiconset/Contents.json | 122 -- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 0 bytes .../LaunchImage.imageset/Contents.json | 23 - .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/README.md | 5 - .../Runner/Base.lproj/LaunchScreen.storyboard | 37 - .../ios/Runner/Base.lproj/Main.storyboard | 26 - universal_ble/example/ios/Runner/Info.plist | 53 - .../ios/Runner/Runner-Bridging-Header.h | 1 - .../example/ios/RunnerTests/RunnerTests.swift | 26 - .../example/lib/data/mock_universal_ble.dart | 124 -- .../example/lib/data/permission_handler.dart | 101 -- universal_ble/example/lib/home/home.dart | 282 ---- .../lib/home/widgets/scan_filter_widget.dart | 172 --- .../scanned_devices_placeholder_widget.dart | 26 - .../lib/home/widgets/scanned_item_widget.dart | 50 - universal_ble/example/lib/main.dart | 14 - .../peripheral_detail_page.dart | 495 ------- .../widgets/result_widget.dart | 50 - .../widgets/services_list_widget.dart | 76 - .../example/lib/widgets/platform_button.dart | 34 - .../lib/widgets/responsive_buttons_grid.dart | 26 - .../example/lib/widgets/responsive_view.dart | 28 - universal_ble/example/linux/.gitignore | 1 - universal_ble/example/linux/CMakeLists.txt | 141 -- .../example/linux/flutter/CMakeLists.txt | 88 -- .../flutter/generated_plugin_registrant.cc | 11 - .../flutter/generated_plugin_registrant.h | 15 - .../linux/flutter/generated_plugins.cmake | 23 - universal_ble/example/linux/main.cc | 6 - universal_ble/example/linux/my_application.cc | 104 -- universal_ble/example/linux/my_application.h | 18 - universal_ble/example/macos/.gitignore | 7 - .../macos/Flutter/Flutter-Debug.xcconfig | 2 - .../macos/Flutter/Flutter-Release.xcconfig | 2 - .../Flutter/GeneratedPluginRegistrant.swift | 14 - universal_ble/example/macos/Podfile | 43 - universal_ble/example/macos/Podfile.lock | 29 - .../macos/Runner.xcodeproj/project.pbxproj | 791 ----------- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 98 -- .../contents.xcworkspacedata | 10 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../example/macos/Runner/AppDelegate.swift | 13 - .../AppIcon.appiconset/Contents.json | 68 - .../AppIcon.appiconset/app_icon_1024.png | Bin 102994 -> 0 bytes .../AppIcon.appiconset/app_icon_128.png | Bin 5680 -> 0 bytes .../AppIcon.appiconset/app_icon_16.png | Bin 520 -> 0 bytes .../AppIcon.appiconset/app_icon_256.png | Bin 14142 -> 0 bytes .../AppIcon.appiconset/app_icon_32.png | Bin 1066 -> 0 bytes .../AppIcon.appiconset/app_icon_512.png | Bin 36406 -> 0 bytes .../AppIcon.appiconset/app_icon_64.png | Bin 2218 -> 0 bytes .../macos/Runner/Base.lproj/MainMenu.xib | 343 ----- .../macos/Runner/Configs/AppInfo.xcconfig | 14 - .../macos/Runner/Configs/Debug.xcconfig | 2 - .../macos/Runner/Configs/Release.xcconfig | 2 - .../macos/Runner/Configs/Warnings.xcconfig | 13 - .../macos/Runner/DebugProfile.entitlements | 14 - universal_ble/example/macos/Runner/Info.plist | 36 - .../macos/Runner/MainFlutterWindow.swift | 15 - .../example/macos/Runner/Release.entitlements | 12 - .../macos/RunnerTests/RunnerTests.swift | 27 - universal_ble/example/pubspec.lock | 456 ------ universal_ble/example/pubspec.yaml | 28 - universal_ble/example/web/favicon.png | Bin 917 -> 0 bytes universal_ble/example/web/icons/Icon-192.png | Bin 5292 -> 0 bytes universal_ble/example/web/icons/Icon-512.png | Bin 8252 -> 0 bytes .../example/web/icons/Icon-maskable-192.png | Bin 5594 -> 0 bytes .../example/web/icons/Icon-maskable-512.png | Bin 20998 -> 0 bytes universal_ble/example/web/index.html | 38 - universal_ble/example/web/manifest.json | 35 - universal_ble/example/windows/.gitignore | 17 - universal_ble/example/windows/CMakeLists.txt | 104 -- .../example/windows/flutter/CMakeLists.txt | 109 -- .../flutter/generated_plugin_registrant.cc | 17 - .../flutter/generated_plugin_registrant.h | 15 - .../windows/flutter/generated_plugins.cmake | 25 - .../example/windows/runner/CMakeLists.txt | 40 - .../example/windows/runner/Runner.rc | 121 -- .../example/windows/runner/flutter_window.cpp | 71 - .../example/windows/runner/flutter_window.h | 33 - universal_ble/example/windows/runner/main.cpp | 43 - .../example/windows/runner/resource.h | 16 - .../windows/runner/resources/app_icon.ico | Bin 33772 -> 0 bytes .../windows/runner/runner.exe.manifest | 20 - .../example/windows/runner/utils.cpp | 65 - universal_ble/example/windows/runner/utils.h | 19 - .../example/windows/runner/win32_window.cpp | 288 ---- .../example/windows/runner/win32_window.h | 102 -- universal_ble/lib/src/ble_command_queue.dart | 42 - .../lib/src/models/availability_state.dart | 12 - .../lib/src/models/ble_capabilities.dart | 52 - universal_ble/lib/src/models/ble_command.dart | 13 - .../lib/src/models/ble_connection_state.dart | 11 - .../lib/src/models/ble_connection_update.dart | 11 - universal_ble/lib/src/models/ble_device.dart | 55 - .../lib/src/models/ble_property.dart | 18 - universal_ble/lib/src/models/ble_service.dart | 48 - .../lib/src/models/ble_uuid_parser.dart | 69 - .../lib/src/models/manufacturer_data.dart | 43 - .../src/models/manufacturer_data_filter.dart | 26 - .../lib/src/models/model_exports.dart | 14 - .../lib/src/models/platform_config.dart | 23 - universal_ble/lib/src/models/queue_type.dart | 5 - universal_ble/lib/src/models/scan_filter.dart | 18 - universal_ble/lib/src/queue.dart | 81 -- universal_ble/lib/src/universal_ble.dart | 504 ------- .../lib/src/universal_ble_exceptions.dart | 35 - .../lib/src/universal_ble_filter_util.dart | 105 -- .../universal_ble_linux.dart | 613 -------- .../universal_ble_pigeon/universal_ble.g.dart | 862 ------------ .../universal_ble_pigeon_channel.dart | 260 ---- .../src/universal_ble_platform_interface.dart | 141 -- .../universal_ble_web/universal_ble_web.dart | 481 ------- universal_ble/lib/src/universal_logger.dart | 24 - universal_ble/lib/universal_ble.dart | 6 - universal_ble/pigeon/universal_ble.dart | 171 --- universal_ble/pubspec.yaml | 48 - universal_ble/test/ble_uuid_parser_test.dart | 233 --- .../test/manufacturer_data_filter_test.dart | 178 --- universal_ble/test/scan_filter_test.dart | 198 --- universal_ble/windows/.gitignore | 17 - universal_ble/windows/CMakeLists.txt | 80 -- .../universal_ble_plugin_c_api.h | 23 - universal_ble/windows/src/enum_parser.h | 127 -- .../windows/src/generated/universal_ble.g.cpp | 1190 ---------------- .../windows/src/generated/universal_ble.g.h | 403 ------ .../windows/src/helper/universal_ble_base.h | 25 - .../windows/src/helper/universal_enum.h | 81 -- universal_ble/windows/src/helper/utils.cpp | 161 --- universal_ble/windows/src/helper/utils.h | 53 - universal_ble/windows/src/pin_entry.h | 134 -- .../windows/src/ui_thread_handler.hpp | 79 -- .../windows/src/universal_ble_filter_util.cpp | 152 -- .../windows/src/universal_ble_filter_util.h | 15 - .../windows/src/universal_ble_plugin.cpp | 1249 ----------------- .../windows/src/universal_ble_plugin.h | 200 --- .../windows/src/universal_ble_thread_safe.h | 52 - .../windows/universal_ble_plugin_c_api.cpp | 13 - 223 files changed, 6 insertions(+), 20332 deletions(-) delete mode 100644 universal_ble/.github/FUNDING.yml delete mode 100644 universal_ble/.github/workflows/build_web_app.yml delete mode 100644 universal_ble/.github/workflows/test_ble_uuid_parser.yml delete mode 100644 universal_ble/.gitignore delete mode 100644 universal_ble/.metadata delete mode 100644 universal_ble/.vscode/c_cpp_properties.json delete mode 100644 universal_ble/.vscode/launch.json delete mode 100644 universal_ble/.vscode/settings.json delete mode 100644 universal_ble/CHANGELOG.md delete mode 100644 universal_ble/LICENSE delete mode 100644 universal_ble/README.md delete mode 100644 universal_ble/analysis_options.yaml delete mode 100644 universal_ble/android/.gitignore delete mode 100644 universal_ble/android/build.gradle delete mode 100644 universal_ble/android/settings.gradle delete mode 100644 universal_ble/android/src/main/AndroidManifest.xml delete mode 100644 universal_ble/android/src/main/kotlin/com/navideck/universal_ble/SafeScanner.kt delete mode 100644 universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBle.g.kt delete mode 100644 universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleFilterUtil.kt delete mode 100644 universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleHelper.kt delete mode 100644 universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBlePlugin.kt delete mode 100644 universal_ble/android/src/test/kotlin/com/navideck/universal_ble/UniversalBlePluginTest.kt delete mode 100644 universal_ble/darwin/.gitignore delete mode 100644 universal_ble/darwin/Assets/.gitkeep delete mode 100644 universal_ble/darwin/Classes/UniversalBle.g.swift delete mode 100644 universal_ble/darwin/Classes/UniversalBleFilterUtil.swift delete mode 100644 universal_ble/darwin/Classes/UniversalBleHelper.swift delete mode 100644 universal_ble/darwin/Classes/UniversalBlePlugin.swift delete mode 100644 universal_ble/darwin/universal_ble.podspec delete mode 100644 universal_ble/example/.gitignore delete mode 100644 universal_ble/example/README.md delete mode 100644 universal_ble/example/analysis_options.yaml delete mode 100644 universal_ble/example/android/.gitignore delete mode 100644 universal_ble/example/android/app/build.gradle delete mode 100644 universal_ble/example/android/app/src/debug/AndroidManifest.xml delete mode 100644 universal_ble/example/android/app/src/main/AndroidManifest.xml delete mode 100644 universal_ble/example/android/app/src/main/kotlin/com/navideck/universal_ble_example/MainActivity.kt delete mode 100644 universal_ble/example/android/app/src/main/res/drawable-v21/launch_background.xml delete mode 100644 universal_ble/example/android/app/src/main/res/drawable/launch_background.xml delete mode 100644 universal_ble/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 universal_ble/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 universal_ble/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 universal_ble/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 universal_ble/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 universal_ble/example/android/app/src/main/res/values-night/styles.xml delete mode 100644 universal_ble/example/android/app/src/main/res/values/styles.xml delete mode 100644 universal_ble/example/android/app/src/profile/AndroidManifest.xml delete mode 100644 universal_ble/example/android/build.gradle delete mode 100644 universal_ble/example/android/gradle.properties delete mode 100644 universal_ble/example/android/gradle/wrapper/gradle-wrapper.properties delete mode 100644 universal_ble/example/android/settings.gradle delete mode 100644 universal_ble/example/ios/.gitignore delete mode 100644 universal_ble/example/ios/Flutter/AppFrameworkInfo.plist delete mode 100644 universal_ble/example/ios/Flutter/Debug.xcconfig delete mode 100644 universal_ble/example/ios/Flutter/Release.xcconfig delete mode 100644 universal_ble/example/ios/Podfile delete mode 100644 universal_ble/example/ios/Podfile.lock delete mode 100644 universal_ble/example/ios/Runner.xcodeproj/project.pbxproj delete mode 100644 universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 universal_ble/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 universal_ble/example/ios/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 universal_ble/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 universal_ble/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 universal_ble/example/ios/Runner/AppDelegate.swift delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png delete mode 100644 universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md delete mode 100644 universal_ble/example/ios/Runner/Base.lproj/LaunchScreen.storyboard delete mode 100644 universal_ble/example/ios/Runner/Base.lproj/Main.storyboard delete mode 100644 universal_ble/example/ios/Runner/Info.plist delete mode 100644 universal_ble/example/ios/Runner/Runner-Bridging-Header.h delete mode 100644 universal_ble/example/ios/RunnerTests/RunnerTests.swift delete mode 100644 universal_ble/example/lib/data/mock_universal_ble.dart delete mode 100644 universal_ble/example/lib/data/permission_handler.dart delete mode 100644 universal_ble/example/lib/home/home.dart delete mode 100644 universal_ble/example/lib/home/widgets/scan_filter_widget.dart delete mode 100644 universal_ble/example/lib/home/widgets/scanned_devices_placeholder_widget.dart delete mode 100644 universal_ble/example/lib/home/widgets/scanned_item_widget.dart delete mode 100644 universal_ble/example/lib/main.dart delete mode 100644 universal_ble/example/lib/peripheral_details/peripheral_detail_page.dart delete mode 100644 universal_ble/example/lib/peripheral_details/widgets/result_widget.dart delete mode 100644 universal_ble/example/lib/peripheral_details/widgets/services_list_widget.dart delete mode 100644 universal_ble/example/lib/widgets/platform_button.dart delete mode 100644 universal_ble/example/lib/widgets/responsive_buttons_grid.dart delete mode 100644 universal_ble/example/lib/widgets/responsive_view.dart delete mode 100644 universal_ble/example/linux/.gitignore delete mode 100644 universal_ble/example/linux/CMakeLists.txt delete mode 100644 universal_ble/example/linux/flutter/CMakeLists.txt delete mode 100644 universal_ble/example/linux/flutter/generated_plugin_registrant.cc delete mode 100644 universal_ble/example/linux/flutter/generated_plugin_registrant.h delete mode 100644 universal_ble/example/linux/flutter/generated_plugins.cmake delete mode 100644 universal_ble/example/linux/main.cc delete mode 100644 universal_ble/example/linux/my_application.cc delete mode 100644 universal_ble/example/linux/my_application.h delete mode 100644 universal_ble/example/macos/.gitignore delete mode 100644 universal_ble/example/macos/Flutter/Flutter-Debug.xcconfig delete mode 100644 universal_ble/example/macos/Flutter/Flutter-Release.xcconfig delete mode 100644 universal_ble/example/macos/Flutter/GeneratedPluginRegistrant.swift delete mode 100644 universal_ble/example/macos/Podfile delete mode 100644 universal_ble/example/macos/Podfile.lock delete mode 100644 universal_ble/example/macos/Runner.xcodeproj/project.pbxproj delete mode 100644 universal_ble/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 universal_ble/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 universal_ble/example/macos/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 universal_ble/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 universal_ble/example/macos/Runner/AppDelegate.swift delete mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png delete mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png delete mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png delete mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png delete mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png delete mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png delete mode 100644 universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png delete mode 100644 universal_ble/example/macos/Runner/Base.lproj/MainMenu.xib delete mode 100644 universal_ble/example/macos/Runner/Configs/AppInfo.xcconfig delete mode 100644 universal_ble/example/macos/Runner/Configs/Debug.xcconfig delete mode 100644 universal_ble/example/macos/Runner/Configs/Release.xcconfig delete mode 100644 universal_ble/example/macos/Runner/Configs/Warnings.xcconfig delete mode 100644 universal_ble/example/macos/Runner/DebugProfile.entitlements delete mode 100644 universal_ble/example/macos/Runner/Info.plist delete mode 100644 universal_ble/example/macos/Runner/MainFlutterWindow.swift delete mode 100644 universal_ble/example/macos/Runner/Release.entitlements delete mode 100644 universal_ble/example/macos/RunnerTests/RunnerTests.swift delete mode 100644 universal_ble/example/pubspec.lock delete mode 100644 universal_ble/example/pubspec.yaml delete mode 100644 universal_ble/example/web/favicon.png delete mode 100644 universal_ble/example/web/icons/Icon-192.png delete mode 100644 universal_ble/example/web/icons/Icon-512.png delete mode 100644 universal_ble/example/web/icons/Icon-maskable-192.png delete mode 100644 universal_ble/example/web/icons/Icon-maskable-512.png delete mode 100644 universal_ble/example/web/index.html delete mode 100644 universal_ble/example/web/manifest.json delete mode 100644 universal_ble/example/windows/.gitignore delete mode 100644 universal_ble/example/windows/CMakeLists.txt delete mode 100644 universal_ble/example/windows/flutter/CMakeLists.txt delete mode 100644 universal_ble/example/windows/flutter/generated_plugin_registrant.cc delete mode 100644 universal_ble/example/windows/flutter/generated_plugin_registrant.h delete mode 100644 universal_ble/example/windows/flutter/generated_plugins.cmake delete mode 100644 universal_ble/example/windows/runner/CMakeLists.txt delete mode 100644 universal_ble/example/windows/runner/Runner.rc delete mode 100644 universal_ble/example/windows/runner/flutter_window.cpp delete mode 100644 universal_ble/example/windows/runner/flutter_window.h delete mode 100644 universal_ble/example/windows/runner/main.cpp delete mode 100644 universal_ble/example/windows/runner/resource.h delete mode 100644 universal_ble/example/windows/runner/resources/app_icon.ico delete mode 100644 universal_ble/example/windows/runner/runner.exe.manifest delete mode 100644 universal_ble/example/windows/runner/utils.cpp delete mode 100644 universal_ble/example/windows/runner/utils.h delete mode 100644 universal_ble/example/windows/runner/win32_window.cpp delete mode 100644 universal_ble/example/windows/runner/win32_window.h delete mode 100644 universal_ble/lib/src/ble_command_queue.dart delete mode 100644 universal_ble/lib/src/models/availability_state.dart delete mode 100644 universal_ble/lib/src/models/ble_capabilities.dart delete mode 100644 universal_ble/lib/src/models/ble_command.dart delete mode 100644 universal_ble/lib/src/models/ble_connection_state.dart delete mode 100644 universal_ble/lib/src/models/ble_connection_update.dart delete mode 100644 universal_ble/lib/src/models/ble_device.dart delete mode 100644 universal_ble/lib/src/models/ble_property.dart delete mode 100644 universal_ble/lib/src/models/ble_service.dart delete mode 100644 universal_ble/lib/src/models/ble_uuid_parser.dart delete mode 100644 universal_ble/lib/src/models/manufacturer_data.dart delete mode 100644 universal_ble/lib/src/models/manufacturer_data_filter.dart delete mode 100644 universal_ble/lib/src/models/model_exports.dart delete mode 100644 universal_ble/lib/src/models/platform_config.dart delete mode 100644 universal_ble/lib/src/models/queue_type.dart delete mode 100644 universal_ble/lib/src/models/scan_filter.dart delete mode 100644 universal_ble/lib/src/queue.dart delete mode 100644 universal_ble/lib/src/universal_ble.dart delete mode 100644 universal_ble/lib/src/universal_ble_exceptions.dart delete mode 100644 universal_ble/lib/src/universal_ble_filter_util.dart delete mode 100644 universal_ble/lib/src/universal_ble_linux/universal_ble_linux.dart delete mode 100644 universal_ble/lib/src/universal_ble_pigeon/universal_ble.g.dart delete mode 100644 universal_ble/lib/src/universal_ble_pigeon/universal_ble_pigeon_channel.dart delete mode 100644 universal_ble/lib/src/universal_ble_platform_interface.dart delete mode 100644 universal_ble/lib/src/universal_ble_web/universal_ble_web.dart delete mode 100644 universal_ble/lib/src/universal_logger.dart delete mode 100644 universal_ble/lib/universal_ble.dart delete mode 100644 universal_ble/pigeon/universal_ble.dart delete mode 100644 universal_ble/pubspec.yaml delete mode 100644 universal_ble/test/ble_uuid_parser_test.dart delete mode 100644 universal_ble/test/manufacturer_data_filter_test.dart delete mode 100644 universal_ble/test/scan_filter_test.dart delete mode 100644 universal_ble/windows/.gitignore delete mode 100644 universal_ble/windows/CMakeLists.txt delete mode 100644 universal_ble/windows/include/universal_ble/universal_ble_plugin_c_api.h delete mode 100644 universal_ble/windows/src/enum_parser.h delete mode 100644 universal_ble/windows/src/generated/universal_ble.g.cpp delete mode 100644 universal_ble/windows/src/generated/universal_ble.g.h delete mode 100644 universal_ble/windows/src/helper/universal_ble_base.h delete mode 100644 universal_ble/windows/src/helper/universal_enum.h delete mode 100644 universal_ble/windows/src/helper/utils.cpp delete mode 100644 universal_ble/windows/src/helper/utils.h delete mode 100644 universal_ble/windows/src/pin_entry.h delete mode 100644 universal_ble/windows/src/ui_thread_handler.hpp delete mode 100644 universal_ble/windows/src/universal_ble_filter_util.cpp delete mode 100644 universal_ble/windows/src/universal_ble_filter_util.h delete mode 100644 universal_ble/windows/src/universal_ble_plugin.cpp delete mode 100644 universal_ble/windows/src/universal_ble_plugin.h delete mode 100644 universal_ble/windows/src/universal_ble_thread_safe.h delete mode 100644 universal_ble/windows/universal_ble_plugin_c_api.cpp diff --git a/pubspec.lock b/pubspec.lock index 7f09b080b..fcc3902fb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -495,10 +495,11 @@ packages: universal_ble: dependency: "direct main" description: - path: universal_ble - relative: true - source: path - version: "0.18.0" + name: universal_ble + sha256: "35d210e93a5938c6a6d1fd3c710cf4ac90b1bdd1b11c8eb2beeb32600672e6e6" + url: "https://pub.dev" + source: hosted + version: "0.17.0" url_launcher: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index b786850d6..54d65adac 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,8 +12,7 @@ dependencies: url_launcher: ^6.3.1 flutter_local_notifications: ^19.0.0 - universal_ble: - path: universal_ble + universal_ble: any protobuf: ^3.1.0 dartx: any pointycastle: any diff --git a/universal_ble/.github/FUNDING.yml b/universal_ble/.github/FUNDING.yml deleted file mode 100644 index d782bf9ce..000000000 --- a/universal_ble/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: navideck diff --git a/universal_ble/.github/workflows/build_web_app.yml b/universal_ble/.github/workflows/build_web_app.yml deleted file mode 100644 index 8a73d6904..000000000 --- a/universal_ble/.github/workflows/build_web_app.yml +++ /dev/null @@ -1,36 +0,0 @@ - -name: Build web app - -on: - push: - branches: [ "main" ] - workflow_dispatch: - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Setup Flutter - uses: subosito/flutter-action@v2 - with: - channel: 'stable' - - run: flutter --version - - - name: Cache pub dependencies - uses: actions/cache@v2 - with: - path: ${{ env.FLUTTER_HOME }}/.pub-cache - key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }} - restore-keys: ${{ runner.os }}-pub- - - - name: Download pub dependencies - run: flutter pub get - - - name: Build Web App - run: cd example && flutter build web --base-href=/universal_ble/ - - - name: Deploy to GitHub Pages 🚀 - uses: JamesIves/github-pages-deploy-action@v4 - with: - folder: example/build/web diff --git a/universal_ble/.github/workflows/test_ble_uuid_parser.yml b/universal_ble/.github/workflows/test_ble_uuid_parser.yml deleted file mode 100644 index 5acc44c3d..000000000 --- a/universal_ble/.github/workflows/test_ble_uuid_parser.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: BleUuidParser Tests - -on: - push: - branches: [ main ] - pull_request: - branches: [ main ] - -jobs: - test: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: Set up Flutter - uses: subosito/flutter-action@v2 - with: - channel: stable - - - name: Install dependencies - run: flutter pub get - - - name: Analyze project source - run: flutter analyze - - - name: Run Flutter tests - run: flutter test - - - name: Install Chrome - uses: browser-actions/setup-chrome@latest - - - name: Run Flutter tests on Chrome - uses: coactions/setup-xvfb@v1 - with: - run: flutter test --platform chrome \ No newline at end of file diff --git a/universal_ble/.gitignore b/universal_ble/.gitignore deleted file mode 100644 index 96486fd93..000000000 --- a/universal_ble/.gitignore +++ /dev/null @@ -1,30 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. -/pubspec.lock -**/doc/api/ -.dart_tool/ -.packages -build/ diff --git a/universal_ble/.metadata b/universal_ble/.metadata deleted file mode 100644 index e4874b0b8..000000000 --- a/universal_ble/.metadata +++ /dev/null @@ -1,42 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: "d211f42860350d914a5ad8102f9ec32764dc6d06" - channel: "stable" - -project_type: plugin - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - - platform: android - create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - - platform: ios - create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - - platform: linux - create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - - platform: macos - create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - - platform: windows - create_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - base_revision: d211f42860350d914a5ad8102f9ec32764dc6d06 - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/universal_ble/.vscode/c_cpp_properties.json b/universal_ble/.vscode/c_cpp_properties.json deleted file mode 100644 index a33045a00..000000000 --- a/universal_ble/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "configurations": [ - { - "name": "Win32", - "includePath": [ - "${workspaceFolder}/**" - ], - "defines": [ - "_DEBUG", - "UNICODE", - "_UNICODE" - ], - "windowsSdkVersion": "10.0.20348.0", - "compilerPath": "cl.exe", - "cStandard": "c17", - "cppStandard": "c++20", - "intelliSenseMode": "windows-msvc-x64" - } - ], - "version": 4 -} \ No newline at end of file diff --git a/universal_ble/.vscode/launch.json b/universal_ble/.vscode/launch.json deleted file mode 100644 index ccb178541..000000000 --- a/universal_ble/.vscode/launch.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "example", - "cwd": "example", - "request": "launch", - "type": "dart" - }, - { - "name": "example release", - "cwd": "example", - "request": "launch", - "type": "dart", - "flutterMode": "release" - }, - { - "name": "example_mock", - "cwd": "example", - "request": "launch", - "type": "dart", - "args": [ - "--dart-define", - "MOCK=true", - ] - }, - { - "name": "example_web", - "cwd": "example", - "request": "launch", - "type": "dart", - "program": "lib/main.dart", - "args": [ - "-d", - "web-server", - "--web-hostname=127.0.0.1", - "--web-port=8080" - ], - }, - ], -} \ No newline at end of file diff --git a/universal_ble/.vscode/settings.json b/universal_ble/.vscode/settings.json deleted file mode 100644 index c6bb3ee64..000000000 --- a/universal_ble/.vscode/settings.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "cSpell.words": [ - "bluez", - "BTLE", - "BTNHIGHLIGHT", - "bytevc", - "cccd", - "connnection", - "Cupertino", - "DFACE", - "HFONT", - "HINSTANCE", - "HMENU", - "hresult", - "hstring", - "HWND", - "Inspectable", - "LOWORD", - "LPARAM", - "lpfn", - "LPOSVERSIONINFO", - "lpsz", - "LRESULT", - "MAXIMIZEBOX", - "microtask", - "MINIMIZEBOX", - "modalias", - "msix", - "navideck", - "NOMOVE", - "NOSIZE", - "NSUUID", - "NTDDI", - "ntdll", - "NTSTATUS", - "OSVERSIONINFOW", - "osvi", - "OVERLAPPEDWINDOW", - "pairable", - "PNTSTATUS", - "PRTL", - "pubspec", - "RRSI", - "rssi", - "SETFONT", - "SETTEXT", - "subdata", - "sublist", - "THICKFRAME", - "unawaited", - "UNIVERSALBLE", - "Unpair", - "Unpairing", - "unwatch", - "uuidstr", - "winrt", - "WNDCLASS", - "WPARAM", - "ZUUID" - ], - "cmake.configureOnOpen": false, - "files.associations": { - "xstring": "cpp", - "chrono": "cpp", - "xlocale": "cpp", - "optional": "cpp", - "memory": "cpp", - "algorithm": "cpp", - "any": "cpp", - "array": "cpp", - "atomic": "cpp", - "bit": "cpp", - "cctype": "cpp", - "charconv": "cpp", - "clocale": "cpp", - "cmath": "cpp", - "compare": "cpp", - "concepts": "cpp", - "condition_variable": "cpp", - "coroutine": "cpp", - "cstddef": "cpp", - "cstdint": "cpp", - "cstdio": "cpp", - "cstdlib": "cpp", - "cstring": "cpp", - "ctime": "cpp", - "cwchar": "cpp", - "exception": "cpp", - "format": "cpp", - "forward_list": "cpp", - "functional": "cpp", - "initializer_list": "cpp", - "iomanip": "cpp", - "ios": "cpp", - "iosfwd": "cpp", - "iostream": "cpp", - "istream": "cpp", - "iterator": "cpp", - "limits": "cpp", - "list": "cpp", - "locale": "cpp", - "map": "cpp", - "mutex": "cpp", - "new": "cpp", - "ostream": "cpp", - "ratio": "cpp", - "set": "cpp", - "shared_mutex": "cpp", - "sstream": "cpp", - "stdexcept": "cpp", - "stop_token": "cpp", - "streambuf": "cpp", - "string": "cpp", - "system_error": "cpp", - "thread": "cpp", - "tuple": "cpp", - "type_traits": "cpp", - "typeinfo": "cpp", - "unordered_map": "cpp", - "utility": "cpp", - "variant": "cpp", - "vector": "cpp", - "xfacet": "cpp", - "xhash": "cpp", - "xiosbase": "cpp", - "xlocbuf": "cpp", - "xlocinfo": "cpp", - "xlocmes": "cpp", - "xlocmon": "cpp", - "xlocnum": "cpp", - "xloctime": "cpp", - "xmemory": "cpp", - "xtr1common": "cpp", - "xtree": "cpp", - "xutility": "cpp", - "deque": "cpp", - "fstream": "cpp", - "unordered_set": "cpp", - "complex": "cpp", - "csignal": "cpp", - "cstdarg": "cpp", - "filesystem": "cpp", - "ranges": "cpp", - "span": "cpp", - "stack": "cpp", - "typeindex": "cpp", - "future": "cpp", - "regex": "cpp" - } -} \ No newline at end of file diff --git a/universal_ble/CHANGELOG.md b/universal_ble/CHANGELOG.md deleted file mode 100644 index 57765ad4b..000000000 --- a/universal_ble/CHANGELOG.md +++ /dev/null @@ -1,171 +0,0 @@ -## 0.18.0 -* Improve docs for isPaired - -## 0.17.0 -* Fix Windows crash when calling pair APIs with an unknown deviceId -* Fix Windows crash when calling startScan again after some time -* Fix Windows warning `Unable to establish connection on channel` when hot restarting -* Refactor native Windows code -* Improve Android permission documentation - -## 0.16.0 -* BREAKING CHANGE: `payload` is now `payloadPrefix` -* BREAKING CHANGE: `mask` is now `payloadMask` -* Bump bluez to 0.8.3 -* Do not normalize UUIDs on native side -* Reverse _permissionStatus return values in example app -* Improve readme -* Improve ManufacturerDataFilter - -## 0.15.0 -* `getSystemDevices(withServices:)` now sets several generic services by default as filter -* `getConnectionState` on Android will now return `BleConnectionState.disconnected` if device is connected to the system but not to the app -* Improve callback error handling - -## 0.14.0 -* BREAKING CHANGE: `bleDevice.name` now filters out non-printable characters -* Add `bleDevice.rawName` -* Add `disableBluetooth` API -* Fix Apple CBCentralManager lazy initialization on `startScan` -* Fix Android error `scan too frequently` and auto retry scan once sufficient time has passed -* Fix duplicate `onValueChanged` events on Android 11 or earlier -* Fix Windows `withServices` filter -* Fix Windows Bluetooth availability state in release builds -* Throw error on Apple if Bluetooth permission is denied on `startScan` -* Do not throw `Characteristic already notifying` error. Subscribing to characteristic notifications multiple times is now handled safely -* Bump flutter_web_bluetooth to 1.0.0 - -## 0.13.0 -* BREAKING CHANGE: `scanFilter` filters are now in OR relation -* BREAKING CHANGE: `manufacturerDataHead` is removed from `BleDevice` -* BREAKING CHANGE: `WebConfig` is now `WebOptions` -* BREAKING CHANGE: `ManufacturerDataFilter.data` is now `ManufacturerDataFilter.payload` -* BREAKING CHANGE: `connect()` does not return a boolean anymore. It will throw error on connection failure -* BREAKING CHANGE: `pair()` does not return a boolean anymore. It will throw error on connection failure -* BREAKING CHANGE: `onConnectionChange` returns error as well -* BREAKING CHANGE: rename in-app pairing capabilities -* Deprecation: `manufacturerData` is deprecated in BleDevice and will be removed in the future -* Improve `scanFilter` handling -* Use `ManufacturerData` object instead of `Uint8List` for manufacturerData -* Add `manufacturerDataList` as `List` in `BleDevice` -* Auto convert all services passed to `getSystemDevices()` -* Return false for receivesAdvertisements on Linux/Web -* Add 1s delay in discoverServices on Linux -* Add `connectionStream` API to get connection updates as stream - -## 0.12.0 -* BREAKING CHANGE: `unPair` is now `unpair` -* BREAKING CHANGE: `onPairingStateChange` does not return error anymore -* Add `pair()`, `isPaired` and `onPairingStateChange` support for Apple and web -* `connect()` and `pair()` now return a bool result -* Add `PlatformConfig` property in `StartScan` -* Add `WebConfig` property in `PlatformConfig` -* Fix notifications for characteristics without cccd on Android -* Promote Linux to stable - -## 0.11.1 -* Trim spaces in UUIDs -* Receive advertisement events on web -* Improve cleanup after disconnection on web - -## 0.11.0 -* Unify UUID format across all platforms, 128-bit lowercase -* Add BleUuidParser utility methods for UUID parsing - -## 0.10.1 -* Improve Android error handling -* Fix Android disconnection events sometimes missed -* Improve cleanup after disconnection on Apple and Android -* Support pairing on Apple -* Improve code level documentation - -## 0.10.0 -* BREAKING CHANGE: `ScanResult` is now `BleDevice` -* BREAKING CHANGE: `getConnectedDevices` is now `getSystemDevices` -* BREAKING CHANGE: `isPaired` is now nullable -* BREAKING CHANGE: `onValueChanged` is now `onValueChange` -* BREAKING CHANGE: `onConnectionChanged` is now `onConnectionChange` -* Add `connectionState` property to BleDevice -* Add `isSystemDevice` property to BleDevice -* Add `.perDevice` queue -* Support "ProvidePin" pairing on Windows 10/11 -* Get RRSI updates on Apple platforms -* Improve enum parsing performance -* Improve code level documentation - -## 0.9.11 -* Add device name prefix filtering - -## 0.9.10 -* Fix Windows scan filter -* Remove scan result caching on Windows -* Improve service discovery on Linux -* Use asynchronous callbacks for SetNotifiable -* Remove dependency on `convert` -* Remove dependency on `collection` -* Update Android example app Gradle - -## 0.9.9 -* Improve service discovery on Apple -* Improve reconnection on Apple -* Persist long scan result name on Windows -* Fix Android serviceUuids in scanResults -* Example app improvements - -## 0.9.8 -* Improve manufacturer data discovery on Windows -* Example app improvements - -## 0.9.7 -* Fix characteristic keying on linux allowing receiving data from multiple BLE devices at the same time - -## 0.9.6 -* Fix a Windows issue where characteristics of certain services would not be discovered -* Improve readme - -## 0.9.5 -* Windows support has graduated from beta to stable -* Support filtering by manufacturer data -* Unify web's optionalServices API with filtering API -* Implement requestMtu in Linux -* Fix wrong manufacturer data in Windows release builds -* Improve logging - -## 0.9.4 -* Fix Windows crash when no Bluetooth adapter is present - -## 0.9.3 -* Add scan filter (withServices:) in `startScan()` -* Add service UUIDs from advertisements in `BleScanResult` -* Fix Windows release build compilation - -## 0.9.2 -* Add command queue -* Improve error handling on Android, iOS, macOS, Windows, Linux and web - -## 0.9.1 -* Improve logging - -## 0.9.0 -* Improve windows device name discovery -* Improve linux implementation -* Improve titles in example app - -## 0.8.4 -* Add `WebRequestOptionsBuilder.defaultServices` for convenience when setting `optionalServices` when scanning on web -* Add "try online" URL in readme -* Improve readme -* Improve example app - -## 0.8.3 -* Rename onPairStateChange *> onPairingStateChange -* Improve readme - -## 0.8.2 -* Improve readme - -## 0.8.1 -* Update supported platforms - -## 0.8.0 -* Initial release diff --git a/universal_ble/LICENSE b/universal_ble/LICENSE deleted file mode 100644 index 77b395a94..000000000 --- a/universal_ble/LICENSE +++ /dev/null @@ -1,31 +0,0 @@ -BSD 3-Clause License - -Copyright (c) 2024, Navideck Labs OÜ -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -* Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -* Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -* Neither the name of the copyright holder nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -Copyright (c) 2020, Woodemi Co,Ltd. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/universal_ble/README.md b/universal_ble/README.md deleted file mode 100644 index b2792049f..000000000 --- a/universal_ble/README.md +++ /dev/null @@ -1,448 +0,0 @@ -# UniversalBLE - -[![universal_ble version](https://img.shields.io/pub/v/universal_ble?label=universal_ble)](https://pub.dev/packages/universal_ble) - -A cross-platform (Android/iOS/macOS/Windows/Linux/Web) Bluetooth Low Energy (BLE) plugin for Flutter. - -[Try it online](https://navideck.github.io/universal_ble/), provided your browser supports [Web Bluetooth](https://caniuse.com/web-bluetooth). - -## Features - -- [Scanning](#scanning) -- [Connecting](#connecting) -- [Discovering Services](#discovering-services) -- [Reading & Writing data](#reading--writing-data) -- [Pairing](#pairing) -- [Bluetooth Availability](#bluetooth-availability) -- [Command Queue](#command-queue) -- [Timeout](#timeout) -- [UUID Format Agnostic](#uuid-format-agnostic) - -## Usage - -### API Support Matrix - -| API | Android | iOS | macOS | Windows | Linux | Web | -| :------------------- | :-----: | :-: | :---: | :-----: | :----------: | :-: | -| startScan/stopScan | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| connect/disconnect | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| getSystemDevices | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | -| discoverServices | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| readValue | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| writeValue | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| setNotifiable | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| pair | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ⏺ | -| unpair | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | -| isPaired | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| onPairingStateChange | ✔️ | ⏺ | ⏺ | ✔️ | ✔️ | ⏺ | -| getBluetoothAvailabilityState | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | -| enable/disable Bluetooth | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | -| onAvailabilityChange | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | -| requestMtu | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | - -## Getting Started - -Add universal_ble in your pubspec.yaml: - -```yaml -dependencies: - universal_ble: -``` - -and import it wherever you want to use it: - -```dart -import 'package:universal_ble/universal_ble.dart'; -``` - -### Scanning - -```dart -// Set a scan result handler -UniversalBle.onScanResult = (bleDevice) { - // e.g. Use BleDevice ID to connect -} - -// Perform a scan -UniversalBle.startScan(); - -// Or optionally add a scan filter -UniversalBle.startScan( - scanFilter: ScanFilter( - withServices: ["SERVICE_UUID"], - withManufacturerData: [ManufacturerDataFilter(companyIdentifier: 0x004c)], - withNamePrefix: ["NAME_PREFIX"], - ) -); - -// Stop scanning -UniversalBle.stopScan(); -``` - -Before initiating a scan, ensure that Bluetooth is available: - -```dart -AvailabilityState state = await UniversalBle.getBluetoothAvailabilityState(); -// Start scan only if Bluetooth is powered on -if (state == AvailabilityState.poweredOn) { - UniversalBle.startScan(); -} - -// Or listen to bluetooth availability changes -UniversalBle.onAvailabilityChange = (state) { - if (state == AvailabilityState.poweredOn) { - UniversalBle.startScan(); - } -}; -``` - -See the [Bluetooth Availability](#bluetooth-availability) section for more. - -#### System Devices - -Already connected devices, connected either through previous sessions, other apps or through system settings, won't show up as scan results. You can get those using `getSystemDevices()`. - -```dart -// Get already connected devices. -// You can set `withServices` to narrow down the results. -// On `Apple`, `withServices` is required to get any connected devices. If not passed, several [18XX] generic services will be set by default. -List devices = await UniversalBle.getSystemDevices(withServices: []); -``` - -For each such device the `isSystemDevice` property will be `true`. - -You still need to explicitly [connect](#connecting) to them before being able to use them. - -#### Scan Filter - -You can optionally set a filter when scanning. A filter can have multiple conditions (services, manufacturerData, namePrefix) and all conditions are in `OR` relation, returning results that match any of the given conditions. - -##### With Services - -When setting this parameter, the scan results will only include devices that advertise any of the specified services. - -```dart -List withServices; -``` - -Note: On web **you have to** specify services before you are able to use them. See the [web](#web) section for more details. - -##### With ManufacturerData - -Use the `withManufacturerData` parameter to filter devices by manufacturer data. When you pass a list of `ManufacturerDataFilter` objects to this parameter, the scan results will only include devices that contain any of the specified manufacturer data. - -You can filter manufacturer data by company identifier, payload prefix, or payload mask. - -```dart -List withManufacturerData = [ManufacturerDataFilter( - companyIdentifier: 0x004c, - payloadPrefix: Uint8List.fromList([0x001D,0x001A]), - payloadMask: Uint8List.fromList([1,0,1,1])) - ]; -``` - -##### With namePrefix - -Use the `withNamePrefix` parameter to filter devices by names (case sensitive). When you pass a list of names, the scan results will only include devices that have this name or start with the provided parameter. - -```dart -List withNamePrefix; -``` - -### Connecting - -```dart -// Connect to a device using the `deviceId` of the BleDevice received from `UniversalBle.onScanResult` -String deviceId = bleDevice.deviceId; -UniversalBle.connect(deviceId); - -// Disconnect from a device -UniversalBle.disconnect(deviceId); - -// Get connection/disconnection updates -UniversalBle.onConnectionChange = (String deviceId, bool isConnected, String? error) { - debugPrint('OnConnectionChange $deviceId, $isConnected Error: $error'); -} - -// Get current connection state -// Can be connected, disconnected, connecting or disconnecting -BleConnectionState connectionState = await bleDevice.connectionState; -``` - -### Discovering Services - -After establishing a connection, you need to discover services. This method will discover all services and their characteristics. - -```dart -// Discover services of a specific device -UniversalBle.discoverServices(deviceId); -``` - -### Reading & Writing data - -You need to first [discover services](#discovering-services) before you are able to read and write to characteristics. - -```dart -// Read data from a characteristic -UniversalBle.readValue(deviceId, serviceId, characteristicId); - -// Write data to a characteristic -UniversalBle.writeValue(deviceId, serviceId, characteristicId, value); - -// Subscribe to a characteristic -UniversalBle.setNotifiable(deviceId, serviceId, characteristicId, BleInputProperty.notification); - -// Get characteristic updates in `onValueChange` -UniversalBle.onValueChange = (String deviceId, String characteristicId, Uint8List value) { - debugPrint('onValueChange $deviceId, $characteristicId, ${hex.encode(value)}'); -} - -// Unsubscribe from a characteristic -UniversalBle.setNotifiable(deviceId, serviceId, characteristicId, BleInputProperty.disabled); -``` - -### Pairing - -#### Trigger pairing - -##### Pair on Android, Windows, Linux - -```dart -await UniversalBle.pair(deviceId); -``` - -##### Pair on Apple and web -For Apple and Web, pairing support depends on the device. Pairing is triggered automatically by the OS when you try to read/write from/to an encrypted characteristic. - -Calling `UniversalBle.pair(deviceId)` will only trigger pairing if the device has an *encrypted read characteristic*. - -If your device only has encrypted write characteristics or you happen to know which encrypted read characteristic you want to use, you can pass it with a `pairingCommand`. - -```dart -UniversalBle.pair(deviceId, pairingCommand: BleCommand(service:"SERVICE", characteristic:"ENCRYPTED_CHARACTERISTIC")); -``` -After pairing you can check the pairing status. - -#### Pairing status - -##### Pair on Android, Windows, Linux - -```dart -// Check current pairing state -bool? isPaired = UniversalBle.isPaired(deviceId); -``` - -##### Pair on Apple and web - -For `Apple` and `Web`, you have to pass a "pairingCommand" with an encrypted read or write characteristic. If you don't pass it then it will return `null`. - -```dart -bool? isPaired = await UniversalBle.isPaired(deviceId, pairingCommand: BleCommand(service:"SERVICE", characteristic:"ENCRYPTED_CHARACTERISTIC")); -``` - -##### Discovering encrypted characteristic -To discover encrypted characteristics, make sure your device is not paired and use the example app to read/write to all discovered characteristics one by one. If one of them triggers pairing, that means it is encrypted and you can use it to construct `BleCommand(service:"SERVICE", characteristic:"ENCRYPTED_CHARACTERISTIC")`. - -#### Pairing state changes - -```dart -UniversalBle.onPairingStateChange = (String deviceId, bool isPaired) { - // Handle pairing state change -} -``` - -#### Unpair -```dart -UniversalBle.unpair(deviceId); -``` - -### Bluetooth Availability - -```dart -// Get current Bluetooth availability state -AvailabilityState availabilityState = UniversalBle.getBluetoothAvailabilityState(); // e.g. poweredOff or poweredOn, - -// Receive Bluetooth availability changes -UniversalBle.onAvailabilityChange = (state) { - // Handle the new Bluetooth availability state -}; - -// Enable Bluetooth programmatically -UniversalBle.enableBluetooth(); - -// Disable Bluetooth programmatically -UniversalBle.disableBluetooth(); -``` - -### Request MTU - -This method will **attempt** to set the MTU (Maximum Transmission Unit) but it is not guaranteed to succeed due to platform limitations. It will always return the current MTU. - -```dart -int mtu = await UniversalBle.requestMtu(widget.deviceId, 247); -``` - -#### Platform Limitations - -On most platforms, the MTU can only be queried but not manually set: - -- **iOS/macOS**: System automatically sets MTU to 185 bytes maximum -- **Android 14+**: System automatically sets MTU to 517 bytes for the first GATT client -- **Windows**: MTU can only be queried -- **Linux**: MTU can only be queried -- **Web**: No mechanism to query or modify MTU size - -#### Best Practices - -When developing cross-platform BLE applications and devices: - -- Design for default MTU size (23 bytes) as default -- Dynamically adapt to use larger packet sizes when the system provides them -- Take advantage of the increased throughput when available without requiring it -- Implement data fragmentation for larger transfers -- Handle platform-specific MTU size based on current value - -## Command Queue - -By default, all commands are executed in a global queue (`QueueType.global`), with each command waiting for the previous one to finish. - -If you want to parallelize commands between multiple devices, you can set: - -```dart -// Create a separate queue for each device. -UniversalBle.queueType = QueueType.perDevice; -``` - -You can also disable the queue completely and parallelize all commands, even for the same device, by using: - -```dart -// Disable queue -UniversalBle.queueType = QueueType.none; -``` - -Keep in mind that some platforms (e.g. Android) may not handle well devices that fail to process consecutive commands without a minimum interval. Therefore, it is not advised to set `queueType` to `none`. - -You can get queue updates by setting: - -```dart -// Get queue state updates -UniversalBle.onQueueUpdate = (String id, int remainingItems) { - debugPrint("Queue: $id Remaining: $remainingItems"); -}; -``` - -## Timeout - -By default, all commands have a timeout of 10 seconds. - -```dart -// Change timeout -UniversalBle.timeout = const Duration(seconds: 10); - -// Disable timeout -UniversalBle.timeout = null; -``` - -## UUID Format Agnostic - -UniversalBLE is agnostic to the UUID format of services and characteristics regardless of the platform the app runs on. When passing a UUID, you can pass it in any format (long/short) or character case (upper/lower case) you want. UniversalBLE will take care of necessary conversions, across all platforms, so that you don't need to worry about underlying platform differences. - -For consistency, all characteristic and service UUIDs will be returned in **lowercase 128-bit format**, across all platforms, e.g. `0000180a-0000-1000-8000-00805f9b34fb`. - -### Utility Methods - -If you need to convert any UUIDs in your app you can use the following methods. - -- `BleUuidParser.string()` converts a string to a 128-bit UUID formatted string: - -```dart -BleUuidParser.string("180A"); // "0000180a-0000-1000-8000-00805f9b34fb" - -BleUuidParser.string("0000180A-0000-1000-8000-00805F9B34FB"); // "0000180a-0000-1000-8000-00805f9b34fb" -``` - -- `BleUuidParser.number()` converts a number to a 128-bit UUID formatted string: - -```dart -BleUuidParser.number(0x180A); // "0000180a-0000-1000-8000-00805f9b34fb" -``` - -- `BleUuidParser.compare()` compares two differently formatted UUIDs: - -```dart -BleUuidParser.compare("180a","0000180A-0000-1000-8000-00805F9B34FB"); // true -``` - -## Platform-specific Setup - -### Android - -Add the following permissions to your AndroidManifest.xml file: - -```xml - - - - - - -``` - -If your app uses iBeacons or BLUETOOTH_SCAN to determine location, change the last 2 permissions to: - -```xml - - -``` - -### iOS / macOS - -Add `NSBluetoothPeripheralUsageDescription` and `NSBluetoothAlwaysUsageDescription` to Info.plist of your iOS and macOS app. - -Add the `Bluetooth` capability to the macOS app from Xcode. - -### Windows / Linux - -Your Bluetooth adapter needs to support at least Bluetooth 4.0. If you have more than 1 adapters, the first one returned from the system will be picked. - -When publishing on Windows, you need to declare the following [capabilities](https://learn.microsoft.com/en-us/windows/uwp/packaging/app-capability-declarations): `bluetooth, radios`. - -When publishing on Linux as a snap, you need to declare the `bluez` plug in `snapcraft.yaml`. -``` -... - plugs: - - bluez -``` - -### Web - -On web, the `withServices` parameter in the ScanFilter is used as [optional_services](https://developer.mozilla.org/en-US/docs/Web/API/Bluetooth/requestDevice#optionalservices) as well as a services filter. You have to set this parameter to ensure that you can access the specified services after connecting to the device. You can leave it empty for the rest of the platforms if your device does not advertise services. - -```dart -ScanFilter( - withServices: kIsWeb ? ["SERVICE_UUID"] : [], -) -``` - -If you don't want to apply any filter for these services but still want to access them, after connection, use `PlatformConfig`. - -```dart -UniversalBle.startScan( - platformConfig: PlatformConfig( - web: WebOptions( - optionalServices: ["SERVICE_UUID"] - ) - ) -) -``` - -## Customizing Platform Implementation of UniversalBle - -```dart -// Create a class that extends UniversalBlePlatform -class UniversalBleMock extends UniversalBlePlatform { - // Implement all commands -} - -UniversalBle.setInstance(UniversalBleMock()); -``` diff --git a/universal_ble/analysis_options.yaml b/universal_ble/analysis_options.yaml deleted file mode 100644 index a5744c1cf..000000000 --- a/universal_ble/analysis_options.yaml +++ /dev/null @@ -1,4 +0,0 @@ -include: package:flutter_lints/flutter.yaml - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/universal_ble/android/.gitignore b/universal_ble/android/.gitignore deleted file mode 100644 index 161bdcdaf..000000000 --- a/universal_ble/android/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/workspace.xml -/.idea/libraries -.DS_Store -/build -/captures -.cxx diff --git a/universal_ble/android/build.gradle b/universal_ble/android/build.gradle deleted file mode 100644 index 086e44c48..000000000 --- a/universal_ble/android/build.gradle +++ /dev/null @@ -1,68 +0,0 @@ -group 'com.navideck.universal_ble' -version '1.0-SNAPSHOT' - -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' - -android { - if (project.android.hasProperty("namespace")) { - namespace 'com.navideck.universal_ble' - } - - compileSdkVersion 34 - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - test.java.srcDirs += 'src/test/kotlin' - } - - defaultConfig { - minSdkVersion 21 - } - - dependencies { - testImplementation 'org.jetbrains.kotlin:kotlin-test' - testImplementation 'org.mockito:mockito-core:5.0.0' - } - - testOptions { - unitTests.all { - useJUnitPlatform() - - testLogging { - events "passed", "skipped", "failed", "standardOut", "standardError" - outputs.upToDateWhen {false} - showStandardStreams = true - } - } - } -} diff --git a/universal_ble/android/settings.gradle b/universal_ble/android/settings.gradle deleted file mode 100644 index 2f6c0d89c..000000000 --- a/universal_ble/android/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'universal_ble' diff --git a/universal_ble/android/src/main/AndroidManifest.xml b/universal_ble/android/src/main/AndroidManifest.xml deleted file mode 100644 index 067f1cbf1..000000000 --- a/universal_ble/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/SafeScanner.kt b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/SafeScanner.kt deleted file mode 100644 index e0458a8dc..000000000 --- a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/SafeScanner.kt +++ /dev/null @@ -1,79 +0,0 @@ -package com.navideck.universal_ble - -import android.annotation.SuppressLint -import android.bluetooth.BluetoothManager -import android.bluetooth.le.BluetoothLeScanner -import android.bluetooth.le.ScanCallback -import android.bluetooth.le.ScanFilter -import android.bluetooth.le.ScanSettings -import android.os.Build -import android.os.Handler -import android.os.Looper -import android.util.Log -import java.util.LinkedList - -private const val NUM_SCAN_DURATIONS_KEPT = 5 -private const val EXCESSIVE_SCANNING_PERIOD_MS = 30 * 1000L -private const val TAG = "UniversalBlePlugin" - -/** - * A safe wrapper for Bluetooth LE scanning operations that prevents excessive scanning. - * - * This class manages BLE scanning while adhering to Android's scanning frequency limits by: - * - Tracking scan start times over a 30-second window - * - Limiting to 5 scan operations within this window - * - Automatically scheduling delayed scans when frequency limits are exceeded - * - Providing safe start/stop scan operations with error handling - * - * The scanner will automatically delay new scan requests if the frequency limit is reached, - * and will retry once sufficient time has passed. This helps prevent scan failure errors - * and ensures compliance with Android's scanning restrictions. - * - * @property bluetoothManager The system's BluetoothManager used for scanning operations - */ -@SuppressLint("MissingPermission") -class SafeScanner(private val bluetoothManager: BluetoothManager) { - private val handler = Handler(Looper.myLooper()!!) - private val startTimes = LinkedList() - private var awaitingScan = false - - fun startScan(filters: List, settings: ScanSettings, callback: ScanCallback) { - val now = System.currentTimeMillis() - startTimes.removeAll { now - it > EXCESSIVE_SCANNING_PERIOD_MS } - - if (startTimes.size >= NUM_SCAN_DURATIONS_KEPT) { - if (awaitingScan) { - Log.e(TAG, "startScan: too frequent, awaiting scan..") - return - } - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - callback.onScanFailed(ScanCallback.SCAN_FAILED_SCANNING_TOO_FREQUENTLY) - } - - awaitingScan = true - val delay = startTimes.first + EXCESSIVE_SCANNING_PERIOD_MS - now + 2_000 - Log.e(TAG, "startScan: too frequent, schedule auto-start after $delay ms $startTimes") - - handler.postDelayed({ - Log.d(TAG, "Retrying scan after delay") - awaitingScan = false - startScan(filters, settings, callback) - }, delay) - } else { - awaitingScan = false - startTimes.addLast(now) - try { - bluetoothManager.adapter.bluetoothLeScanner?.startScan(filters, settings, callback) - } catch (e: Exception) { - Log.e(TAG, "Failed to start Scan : $e") - } - } - } - - fun stopScan(callback: ScanCallback) { - awaitingScan = false - handler.removeCallbacksAndMessages(null) - bluetoothManager.adapter.bluetoothLeScanner?.stopScan(callback) - } -} \ No newline at end of file diff --git a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBle.g.kt b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBle.g.kt deleted file mode 100644 index 6d6a34fa7..000000000 --- a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBle.g.kt +++ /dev/null @@ -1,725 +0,0 @@ -// Autogenerated from Pigeon (v22.6.1), do not edit directly. -// See also: https://pub.dev/packages/pigeon -@file:Suppress("UNCHECKED_CAST", "ArrayInDataClass") - -package com.navideck.universal_ble - -import android.util.Log -import io.flutter.plugin.common.BasicMessageChannel -import io.flutter.plugin.common.BinaryMessenger -import io.flutter.plugin.common.MessageCodec -import io.flutter.plugin.common.StandardMessageCodec -import java.io.ByteArrayOutputStream -import java.nio.ByteBuffer - -private fun wrapResult(result: Any?): List { - return listOf(result) -} - -private fun wrapError(exception: Throwable): List { - return if (exception is FlutterError) { - listOf( - exception.code, - exception.message, - exception.details - ) - } else { - listOf( - exception.javaClass.simpleName, - exception.toString(), - "Cause: " + exception.cause + ", Stacktrace: " + Log.getStackTraceString(exception) - ) - } -} - -private fun createConnectionError(channelName: String): FlutterError { - return FlutterError("channel-error", "Unable to establish connection on channel: '$channelName'.", "")} - -/** - * Error class for passing custom error details to Flutter via a thrown PlatformException. - * @property code The error code. - * @property message The error message. - * @property details The error details. Must be a datatype supported by the api codec. - */ -class FlutterError ( - val code: String, - override val message: String? = null, - val details: Any? = null -) : Throwable() - -/** Generated class from Pigeon that represents data sent in messages. */ -data class UniversalBleScanResult ( - val deviceId: String, - val name: String? = null, - val isPaired: Boolean? = null, - val rssi: Long? = null, - val manufacturerDataList: List? = null, - val services: List? = null -) - { - companion object { - fun fromList(pigeonVar_list: List): UniversalBleScanResult { - val deviceId = pigeonVar_list[0] as String - val name = pigeonVar_list[1] as String? - val isPaired = pigeonVar_list[2] as Boolean? - val rssi = pigeonVar_list[3] as Long? - val manufacturerDataList = pigeonVar_list[4] as List? - val services = pigeonVar_list[5] as List? - return UniversalBleScanResult(deviceId, name, isPaired, rssi, manufacturerDataList, services) - } - } - fun toList(): List { - return listOf( - deviceId, - name, - isPaired, - rssi, - manufacturerDataList, - services, - ) - } -} - -/** Generated class from Pigeon that represents data sent in messages. */ -data class UniversalBleService ( - val uuid: String, - val characteristics: List? = null -) - { - companion object { - fun fromList(pigeonVar_list: List): UniversalBleService { - val uuid = pigeonVar_list[0] as String - val characteristics = pigeonVar_list[1] as List? - return UniversalBleService(uuid, characteristics) - } - } - fun toList(): List { - return listOf( - uuid, - characteristics, - ) - } -} - -/** Generated class from Pigeon that represents data sent in messages. */ -data class UniversalBleCharacteristic ( - val uuid: String, - val properties: List -) - { - companion object { - fun fromList(pigeonVar_list: List): UniversalBleCharacteristic { - val uuid = pigeonVar_list[0] as String - val properties = pigeonVar_list[1] as List - return UniversalBleCharacteristic(uuid, properties) - } - } - fun toList(): List { - return listOf( - uuid, - properties, - ) - } -} - -/** - * Scan Filters - * - * Generated class from Pigeon that represents data sent in messages. - */ -data class UniversalScanFilter ( - val withServices: List, - val withNamePrefix: List, - val withManufacturerData: List -) - { - companion object { - fun fromList(pigeonVar_list: List): UniversalScanFilter { - val withServices = pigeonVar_list[0] as List - val withNamePrefix = pigeonVar_list[1] as List - val withManufacturerData = pigeonVar_list[2] as List - return UniversalScanFilter(withServices, withNamePrefix, withManufacturerData) - } - } - fun toList(): List { - return listOf( - withServices, - withNamePrefix, - withManufacturerData, - ) - } -} - -/** Generated class from Pigeon that represents data sent in messages. */ -data class UniversalManufacturerDataFilter ( - val companyIdentifier: Long, - val data: ByteArray? = null, - val mask: ByteArray? = null -) - { - companion object { - fun fromList(pigeonVar_list: List): UniversalManufacturerDataFilter { - val companyIdentifier = pigeonVar_list[0] as Long - val data = pigeonVar_list[1] as ByteArray? - val mask = pigeonVar_list[2] as ByteArray? - return UniversalManufacturerDataFilter(companyIdentifier, data, mask) - } - } - fun toList(): List { - return listOf( - companyIdentifier, - data, - mask, - ) - } -} - -/** Generated class from Pigeon that represents data sent in messages. */ -data class UniversalManufacturerData ( - val companyIdentifier: Long, - val data: ByteArray -) - { - companion object { - fun fromList(pigeonVar_list: List): UniversalManufacturerData { - val companyIdentifier = pigeonVar_list[0] as Long - val data = pigeonVar_list[1] as ByteArray - return UniversalManufacturerData(companyIdentifier, data) - } - } - fun toList(): List { - return listOf( - companyIdentifier, - data, - ) - } -} -private open class UniversalBlePigeonCodec : StandardMessageCodec() { - override fun readValueOfType(type: Byte, buffer: ByteBuffer): Any? { - return when (type) { - 129.toByte() -> { - return (readValue(buffer) as? List)?.let { - UniversalBleScanResult.fromList(it) - } - } - 130.toByte() -> { - return (readValue(buffer) as? List)?.let { - UniversalBleService.fromList(it) - } - } - 131.toByte() -> { - return (readValue(buffer) as? List)?.let { - UniversalBleCharacteristic.fromList(it) - } - } - 132.toByte() -> { - return (readValue(buffer) as? List)?.let { - UniversalScanFilter.fromList(it) - } - } - 133.toByte() -> { - return (readValue(buffer) as? List)?.let { - UniversalManufacturerDataFilter.fromList(it) - } - } - 134.toByte() -> { - return (readValue(buffer) as? List)?.let { - UniversalManufacturerData.fromList(it) - } - } - else -> super.readValueOfType(type, buffer) - } - } - override fun writeValue(stream: ByteArrayOutputStream, value: Any?) { - when (value) { - is UniversalBleScanResult -> { - stream.write(129) - writeValue(stream, value.toList()) - } - is UniversalBleService -> { - stream.write(130) - writeValue(stream, value.toList()) - } - is UniversalBleCharacteristic -> { - stream.write(131) - writeValue(stream, value.toList()) - } - is UniversalScanFilter -> { - stream.write(132) - writeValue(stream, value.toList()) - } - is UniversalManufacturerDataFilter -> { - stream.write(133) - writeValue(stream, value.toList()) - } - is UniversalManufacturerData -> { - stream.write(134) - writeValue(stream, value.toList()) - } - else -> super.writeValue(stream, value) - } - } -} - - -/** - * Flutter -> Native - * - * Generated interface from Pigeon that represents a handler of messages from Flutter. - */ -interface UniversalBlePlatformChannel { - fun getBluetoothAvailabilityState(callback: (Result) -> Unit) - fun enableBluetooth(callback: (Result) -> Unit) - fun disableBluetooth(callback: (Result) -> Unit) - fun startScan(filter: UniversalScanFilter?) - fun stopScan() - fun connect(deviceId: String) - fun disconnect(deviceId: String) - fun setNotifiable(deviceId: String, service: String, characteristic: String, bleInputProperty: Long, callback: (Result) -> Unit) - fun discoverServices(deviceId: String, callback: (Result>) -> Unit) - fun readValue(deviceId: String, service: String, characteristic: String, callback: (Result) -> Unit) - fun requestMtu(deviceId: String, expectedMtu: Long, callback: (Result) -> Unit) - fun writeValue(deviceId: String, service: String, characteristic: String, value: ByteArray, bleOutputProperty: Long, callback: (Result) -> Unit) - fun isPaired(deviceId: String, callback: (Result) -> Unit) - fun pair(deviceId: String, callback: (Result) -> Unit) - fun unPair(deviceId: String) - fun getSystemDevices(withServices: List, callback: (Result>) -> Unit) - fun getConnectionState(deviceId: String): Long - - companion object { - /** The codec used by UniversalBlePlatformChannel. */ - val codec: MessageCodec by lazy { - UniversalBlePigeonCodec() - } - /** Sets up an instance of `UniversalBlePlatformChannel` to handle messages through the `binaryMessenger`. */ - @JvmOverloads - fun setUp(binaryMessenger: BinaryMessenger, api: UniversalBlePlatformChannel?, messageChannelSuffix: String = "") { - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getBluetoothAvailabilityState$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { _, reply -> - api.getBluetoothAvailabilityState{ result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.enableBluetooth$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { _, reply -> - api.enableBluetooth{ result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disableBluetooth$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { _, reply -> - api.disableBluetooth{ result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.startScan$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val filterArg = args[0] as UniversalScanFilter? - val wrapped: List = try { - api.startScan(filterArg) - listOf(null) - } catch (exception: Throwable) { - wrapError(exception) - } - reply.reply(wrapped) - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.stopScan$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { _, reply -> - val wrapped: List = try { - api.stopScan() - listOf(null) - } catch (exception: Throwable) { - wrapError(exception) - } - reply.reply(wrapped) - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.connect$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - val wrapped: List = try { - api.connect(deviceIdArg) - listOf(null) - } catch (exception: Throwable) { - wrapError(exception) - } - reply.reply(wrapped) - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disconnect$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - val wrapped: List = try { - api.disconnect(deviceIdArg) - listOf(null) - } catch (exception: Throwable) { - wrapError(exception) - } - reply.reply(wrapped) - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.setNotifiable$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - val serviceArg = args[1] as String - val characteristicArg = args[2] as String - val bleInputPropertyArg = args[3] as Long - api.setNotifiable(deviceIdArg, serviceArg, characteristicArg, bleInputPropertyArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - reply.reply(wrapResult(null)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.discoverServices$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - api.discoverServices(deviceIdArg) { result: Result> -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.readValue$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - val serviceArg = args[1] as String - val characteristicArg = args[2] as String - api.readValue(deviceIdArg, serviceArg, characteristicArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.requestMtu$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - val expectedMtuArg = args[1] as Long - api.requestMtu(deviceIdArg, expectedMtuArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.writeValue$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - val serviceArg = args[1] as String - val characteristicArg = args[2] as String - val valueArg = args[3] as ByteArray - val bleOutputPropertyArg = args[4] as Long - api.writeValue(deviceIdArg, serviceArg, characteristicArg, valueArg, bleOutputPropertyArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - reply.reply(wrapResult(null)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.isPaired$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - api.isPaired(deviceIdArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.pair$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - api.pair(deviceIdArg) { result: Result -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.unPair$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - val wrapped: List = try { - api.unPair(deviceIdArg) - listOf(null) - } catch (exception: Throwable) { - wrapError(exception) - } - reply.reply(wrapped) - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getSystemDevices$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val withServicesArg = args[0] as List - api.getSystemDevices(withServicesArg) { result: Result> -> - val error = result.exceptionOrNull() - if (error != null) { - reply.reply(wrapError(error)) - } else { - val data = result.getOrNull() - reply.reply(wrapResult(data)) - } - } - } - } else { - channel.setMessageHandler(null) - } - } - run { - val channel = BasicMessageChannel(binaryMessenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getConnectionState$separatedMessageChannelSuffix", codec) - if (api != null) { - channel.setMessageHandler { message, reply -> - val args = message as List - val deviceIdArg = args[0] as String - val wrapped: List = try { - listOf(api.getConnectionState(deviceIdArg)) - } catch (exception: Throwable) { - wrapError(exception) - } - reply.reply(wrapped) - } - } else { - channel.setMessageHandler(null) - } - } - } - } -} -/** - * Native -> Flutter - * - * Generated class from Pigeon that represents Flutter messages that can be called from Kotlin. - */ -class UniversalBleCallbackChannel(private val binaryMessenger: BinaryMessenger, private val messageChannelSuffix: String = "") { - companion object { - /** The codec used by UniversalBleCallbackChannel. */ - val codec: MessageCodec by lazy { - UniversalBlePigeonCodec() - } - } - fun onAvailabilityChanged(stateArg: Long, callback: (Result) -> Unit) -{ - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" - val channelName = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged$separatedMessageChannelSuffix" - val channel = BasicMessageChannel(binaryMessenger, channelName, codec) - channel.send(listOf(stateArg)) { - if (it is List<*>) { - if (it.size > 1) { - callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) - } else { - callback(Result.success(Unit)) - } - } else { - callback(Result.failure(createConnectionError(channelName))) - } - } - } - fun onPairStateChange(deviceIdArg: String, isPairedArg: Boolean, errorArg: String?, callback: (Result) -> Unit) -{ - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" - val channelName = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange$separatedMessageChannelSuffix" - val channel = BasicMessageChannel(binaryMessenger, channelName, codec) - channel.send(listOf(deviceIdArg, isPairedArg, errorArg)) { - if (it is List<*>) { - if (it.size > 1) { - callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) - } else { - callback(Result.success(Unit)) - } - } else { - callback(Result.failure(createConnectionError(channelName))) - } - } - } - fun onScanResult(resultArg: UniversalBleScanResult, callback: (Result) -> Unit) -{ - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" - val channelName = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult$separatedMessageChannelSuffix" - val channel = BasicMessageChannel(binaryMessenger, channelName, codec) - channel.send(listOf(resultArg)) { - if (it is List<*>) { - if (it.size > 1) { - callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) - } else { - callback(Result.success(Unit)) - } - } else { - callback(Result.failure(createConnectionError(channelName))) - } - } - } - fun onValueChanged(deviceIdArg: String, characteristicIdArg: String, valueArg: ByteArray, callback: (Result) -> Unit) -{ - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" - val channelName = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged$separatedMessageChannelSuffix" - val channel = BasicMessageChannel(binaryMessenger, channelName, codec) - channel.send(listOf(deviceIdArg, characteristicIdArg, valueArg)) { - if (it is List<*>) { - if (it.size > 1) { - callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) - } else { - callback(Result.success(Unit)) - } - } else { - callback(Result.failure(createConnectionError(channelName))) - } - } - } - fun onConnectionChanged(deviceIdArg: String, connectedArg: Boolean, errorArg: String?, callback: (Result) -> Unit) -{ - val separatedMessageChannelSuffix = if (messageChannelSuffix.isNotEmpty()) ".$messageChannelSuffix" else "" - val channelName = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged$separatedMessageChannelSuffix" - val channel = BasicMessageChannel(binaryMessenger, channelName, codec) - channel.send(listOf(deviceIdArg, connectedArg, errorArg)) { - if (it is List<*>) { - if (it.size > 1) { - callback(Result.failure(FlutterError(it[0] as String, it[1] as String, it[2] as String?))) - } else { - callback(Result.success(Unit)) - } - } else { - callback(Result.failure(createConnectionError(channelName))) - } - } - } -} diff --git a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleFilterUtil.kt b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleFilterUtil.kt deleted file mode 100644 index a8a6da836..000000000 --- a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleFilterUtil.kt +++ /dev/null @@ -1,164 +0,0 @@ -package com.navideck.universal_ble - -import android.annotation.SuppressLint -import android.bluetooth.le.ScanFilter -import android.bluetooth.le.ScanResult -import android.os.ParcelUuid -import android.util.Log -import java.nio.ByteBuffer -import java.nio.ByteOrder -import java.util.UUID -import kotlin.experimental.and - -private const val TAG = "UniversalBlePlugin" - -@SuppressLint("MissingPermission") -class UniversalBleFilterUtil { - var scanFilter: UniversalScanFilter? = null - var serviceFilterUUIDS: List = emptyList() - - fun filterDevice( - name: String?, - manufacturerDataList: List, - serviceUuids: Array, - ): Boolean { - val filter = scanFilter ?: return true - - val hasNamePrefixFilter = filter.withNamePrefix.isNotEmpty() - val hasServiceFilter = filter.withServices.isNotEmpty() - val hasManufacturerDataFilter = filter.withManufacturerData.isNotEmpty() - - // If there is no filter at all, then allow device - if (!hasNamePrefixFilter && - !hasServiceFilter && - !hasManufacturerDataFilter - ) { - return true - } - - // For not, we only have DeviceName filter - return hasNamePrefixFilter && isNameMatchingFilters(filter, name) || - hasServiceFilter && isServicesMatchingFilters(serviceUuids) || - hasManufacturerDataFilter && isManufacturerDataMatchingFilters( - filter, - manufacturerDataList - ) - } - - private fun isNameMatchingFilters(scanFilter: UniversalScanFilter, name: String?): Boolean { - val namePrefixFilter = scanFilter.withNamePrefix.filterNotNull() - if (namePrefixFilter.isEmpty()) { - return true - } - if (name.isNullOrEmpty()) { - return false - } - return namePrefixFilter.any { name.startsWith(it) } - } - - private fun isServicesMatchingFilters( - serviceUuids: Array, - ): Boolean { - if (serviceFilterUUIDS.isEmpty()) { - return true - } - if (serviceUuids.isEmpty()) { - return false - } - return serviceFilterUUIDS.any { - serviceUuids.contains(it) - } - } - - private fun isManufacturerDataMatchingFilters( - scanFilter: UniversalScanFilter, - manufacturerDataList: List, - ): Boolean { - val filters = scanFilter.withManufacturerData.filterNotNull() - if (filters.isEmpty()) return true - if (manufacturerDataList.isEmpty()) return false - return manufacturerDataList.any { msd -> - filters.any { filter -> - msd.companyIdentifier == filter.companyIdentifier && - isDataMatching(filter.data, msd.data, filter.mask) - } - } - } - - private fun isDataMatching( - filterData: ByteArray?, - deviceData: ByteArray, - filterMask: ByteArray?, - ): Boolean { - if (filterData == null) return true - if (filterData.size > deviceData.size) return false - - val mask = filterMask ?: ByteArray(filterData.size) { 0xFF.toByte() } - if (filterData.size != mask.size) return false - - return filterData.indices.all { i -> - (filterData[i] and mask[i]) == (deviceData[i] and mask[i]) - } - } -} - -fun UniversalScanFilter.usesCustomFilters(): Boolean { - // NamePrefix Filtering is not supported in native filters - return withNamePrefix.isNotEmpty() -} - -// Convert UniversalScanFilter to ScanFilter -fun UniversalScanFilter.toScanFilters(serviceUuids: List): List { - val scanFilters: ArrayList = arrayListOf() - - // Add withServices Filter - for (service in serviceUuids) { - try { - service.let { - scanFilters.add( - ScanFilter.Builder().setServiceUuid(ParcelUuid(it)).build() - ) - Log.e(TAG, "scanFilters: $it") - } - } catch (e: Exception) { - Log.e(TAG, e.toString()) - throw FlutterError( - "illegalIllegalArgument", - "Invalid serviceId: $service", - e.toString() - ) - } - } - - // Add ManufacturerData Filter - for (manufacturerData in this.withManufacturerData) { - try { - manufacturerData?.companyIdentifier?.let { - val data: ByteArray = manufacturerData.data ?: ByteArray(0) - val mask: ByteArray? = manufacturerData.mask - if (mask == null) { - scanFilters.add( - ScanFilter.Builder().setManufacturerData( - it.toInt(), data - ).build() - ) - } else { - scanFilters.add( - ScanFilter.Builder().setManufacturerData( - it.toInt(), data, mask - ).build() - ) - } - } - } catch (e: Exception) { - Log.e(TAG, e.toString()) - throw FlutterError( - "illegalIllegalArgument", - "Invalid manufacturerData: ${manufacturerData?.companyIdentifier} ${manufacturerData?.data} ${manufacturerData?.mask}", - e.toString() - ) - } - } - - return scanFilters.toList() -} diff --git a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleHelper.kt b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleHelper.kt deleted file mode 100644 index 806387c06..000000000 --- a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBleHelper.kt +++ /dev/null @@ -1,358 +0,0 @@ -package com.navideck.universal_ble - -import android.bluetooth.BluetoothAdapter -import android.bluetooth.BluetoothDevice -import android.bluetooth.BluetoothGatt -import android.bluetooth.BluetoothGattCharacteristic -import android.bluetooth.BluetoothStatusCodes -import android.bluetooth.le.ScanCallback.SCAN_FAILED_ALREADY_STARTED -import android.bluetooth.le.ScanCallback.SCAN_FAILED_APPLICATION_REGISTRATION_FAILED -import android.bluetooth.le.ScanCallback.SCAN_FAILED_FEATURE_UNSUPPORTED -import android.bluetooth.le.ScanCallback.SCAN_FAILED_INTERNAL_ERROR -import android.bluetooth.le.ScanCallback.SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES -import android.bluetooth.le.ScanCallback.SCAN_FAILED_SCANNING_TOO_FREQUENTLY -import android.bluetooth.le.ScanResult -import android.util.Log -import android.util.SparseArray -import java.nio.ByteBuffer -import java.nio.ByteOrder -import java.util.UUID - -private const val TAG = "UniversalBlePlugin" - -private val knownGatts = mutableMapOf() -val ccdCharacteristic: UUID = UUID.fromString("00002902-0000-1000-8000-00805f9b34fb") - -enum class BleConnectionState(val value: Long) { - Connected(0), - Disconnected(1), - Connecting(2), - Disconnecting(3) -} - -enum class AvailabilityState(val value: Long) { - Unknown(0), - Resetting(1), - Unsupported(2), - Unauthorized(3), - PoweredOff(4), - PoweredOn(5); -} - -enum class BleInputProperty(val value: Long) { - Disabled(0), - Notification(1), - Indication(2); -} - -enum class BleOutputProperty(val value: Long) { - withResponse(0), - withoutResponse(1); -} - - -enum class CharacteristicProperty(val value: Long) { - Broadcast(0), - Read(1), - WriteWithoutResponse(2), - Write(3), - Notify(4), - Indicate(5), - AuthenticatedSignedWrites(6), - ExtendedProperties(7) -} - - -fun Int.toBleConnectionState(): BleConnectionState { - return when (this) { - BluetoothGatt.STATE_CONNECTED -> BleConnectionState.Connected - BluetoothGatt.STATE_CONNECTING -> BleConnectionState.Connecting - BluetoothGatt.STATE_DISCONNECTING -> BleConnectionState.Disconnecting - BluetoothGatt.STATE_DISCONNECTED -> BleConnectionState.Disconnected - else -> BleConnectionState.Disconnected - } -} - -fun List.toUUIDList(): List { - return this.map { UUID.fromString(it) } -} - - -fun String.toBluetoothGatt(): BluetoothGatt { - return this.findGatt() - ?: throw FlutterError("IllegalArgument", "Unknown deviceId: $this", null) -} - -fun String.isKnownGatt(): Boolean { - return this.findGatt() != null -} - -fun String.findGatt(): BluetoothGatt? { - return knownGatts[this] -} - -fun BluetoothGatt.saveCacheIfNeeded() { - knownGatts[this.device.address] = this -} - -fun BluetoothGatt.removeCache() { - knownGatts.remove(this.device.address) -} - - -fun Int.toAvailabilityState(): Long { - return when (this) { - BluetoothAdapter.STATE_OFF -> AvailabilityState.PoweredOff.value - BluetoothAdapter.STATE_ON -> AvailabilityState.PoweredOn.value - BluetoothAdapter.STATE_TURNING_ON -> AvailabilityState.Resetting.value - BluetoothAdapter.STATE_TURNING_OFF -> AvailabilityState.Resetting.value - else -> AvailabilityState.Unknown.value - } -} - -fun Int.parseScanErrorMessage(): String { - return when (this) { - SCAN_FAILED_ALREADY_STARTED -> "SCAN_FAILED_ALREADY_STARTED" - SCAN_FAILED_APPLICATION_REGISTRATION_FAILED -> "SCAN_FAILED_APPLICATION_REGISTRATION_FAILED" - SCAN_FAILED_FEATURE_UNSUPPORTED -> "SCAN_FAILED_FEATURE_UNSUPPORTED" - SCAN_FAILED_INTERNAL_ERROR -> "SCAN_FAILED_INTERNAL_ERROR" - SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES -> "SCAN_FAILED_OUT_OF_HARDWARE_RESOURCES" - SCAN_FAILED_SCANNING_TOO_FREQUENTLY -> "SCAN_FAILED_SCANNING_TOO_FREQUENTLY" - else -> "ErrorCode: $this" - } -} - -fun Int.parseBluetoothStatusCodeError(): String? { - if (this == BluetoothStatusCodes.SUCCESS) return null - return when (this) { - BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ENABLED -> "ERROR_BLUETOOTH_NOT_ENABLED" - BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ALLOWED -> "ERROR_BLUETOOTH_NOT_ALLOWED" - BluetoothStatusCodes.ERROR_DEVICE_NOT_BONDED -> "ERROR_DEVICE_NOT_BONDED" - BluetoothStatusCodes.ERROR_GATT_WRITE_NOT_ALLOWED -> "ERROR_GATT_WRITE_NOT_ALLOWED" - BluetoothStatusCodes.ERROR_GATT_WRITE_REQUEST_BUSY -> "ERROR_GATT_WRITE_REQUEST_BUSY" - BluetoothStatusCodes.ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION -> "ERROR_MISSING_BLUETOOTH_CONNECT_PERMISSION" - BluetoothStatusCodes.ERROR_PROFILE_SERVICE_NOT_BOUND -> "ERROR_PROFILE_SERVICE_NOT_BOUND" - BluetoothStatusCodes.ERROR_UNKNOWN -> "ERROR_UNKNOWN" - BluetoothStatusCodes.FEATURE_NOT_CONFIGURED -> "FEATURE_NOT_CONFIGURED" - BluetoothStatusCodes.FEATURE_NOT_SUPPORTED -> "FEATURE_NOT_SUPPORTED" - BluetoothStatusCodes.FEATURE_SUPPORTED -> "FEATURE_SUPPORTED" - else -> "ErrorCode: $this" - } -} - -fun Int.parseGattErrorCode(): String? { - return when (this) { - BluetoothGatt.GATT_SUCCESS -> null - BluetoothGatt.GATT_READ_NOT_PERMITTED -> "GATT_READ_NOT_PERMITTED" - BluetoothGatt.GATT_WRITE_NOT_PERMITTED -> "GATT_WRITE_NOT_PERMITTED" - BluetoothGatt.GATT_INSUFFICIENT_AUTHENTICATION -> "GATT_INSUFFICIENT_AUTHENTICATION" - BluetoothGatt.GATT_REQUEST_NOT_SUPPORTED -> "GATT_REQUEST_NOT_SUPPORTED" - BluetoothGatt.GATT_INVALID_OFFSET -> "GATT_INVALID_OFFSET" - BluetoothGatt.GATT_INSUFFICIENT_AUTHORIZATION -> "GATT_INSUFFICIENT_AUTHORIZATION" - BluetoothGatt.GATT_INVALID_ATTRIBUTE_LENGTH -> "GATT_INVALID_ATTRIBUTE_LENGTH" - BluetoothGatt.GATT_INSUFFICIENT_ENCRYPTION -> "GATT_INSUFFICIENT_ENCRYPTION" - BluetoothGatt.GATT_CONNECTION_CONGESTED -> "GATT_CONNECTION_CONGESTED" - BluetoothGatt.GATT_FAILURE -> "GATT_FAILURE" - 0x01 -> "GATT_INVALID_HANDLE" - 0x04 -> "GATT_INVALID_PDU" - 0x09 -> "GATT_PREPARE_QUEUE_FULL" - 0x0a -> "GATT_ATTR_NOT_FOUND" - 0x0b -> "GATT_ATTR_NOT_LONG" - 0x0c -> "GATT_INSUFFICIENT_KEY_SIZE" - 0x0e -> "GATT_UNLIKELY" - 0x10 -> "GATT_UNSUPPORTED_GROUP" - 0x11 -> "GATT_INSUFFICIENT_RESOURCES" - else -> "Unknown Error: $this" - } -} - -val ScanResult.manufacturerDataList: List - get() { - return scanRecord?.manufacturerSpecificData?.toList()?.map { (key, value) -> - UniversalManufacturerData(key.toLong(), value) - } ?: emptyList() - } - -fun SparseArray.toList(): List> { - return (0 until size()).map { index -> - keyAt(index) to valueAt(index) - } -} - -fun BluetoothGatt.getCharacteristic( - service: String, - characteristic: String, -): BluetoothGattCharacteristic? { - return getService(UUID.fromString(service))?.getCharacteristic(UUID.fromString(characteristic)) -} - -fun subscriptionFailedError(error: String? = null): Result { - return Result.failure( - FlutterError( - "Failed", - "Failed to update subscription state", - error - ) - ) -} - -fun BluetoothDevice.removeBond() { - try { - javaClass.getMethod("removeBond").invoke(this) - } catch (e: Exception) { - Log.e(TAG, "Removing bond failed. ${e.message}") - } -} - - -fun BluetoothGattCharacteristic.getPropertiesList(): ArrayList { - val propertiesList = arrayListOf() - if (properties and BluetoothGattCharacteristic.PROPERTY_BROADCAST > 0) { - propertiesList.add(CharacteristicProperty.Broadcast.value) - } - if (properties and BluetoothGattCharacteristic.PROPERTY_READ > 0) { - propertiesList.add(CharacteristicProperty.Read.value) - } - if (properties and BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE > 0) { - propertiesList.add(CharacteristicProperty.WriteWithoutResponse.value) - } - if (properties and BluetoothGattCharacteristic.PROPERTY_WRITE > 0) { - propertiesList.add(CharacteristicProperty.Write.value) - } - if (properties and BluetoothGattCharacteristic.PROPERTY_NOTIFY > 0) { - propertiesList.add(CharacteristicProperty.Notify.value) - } - if (properties and BluetoothGattCharacteristic.PROPERTY_INDICATE > 0) { - propertiesList.add(CharacteristicProperty.Indicate.value) - } - if (properties and BluetoothGattCharacteristic.PROPERTY_SIGNED_WRITE > 0) { - propertiesList.add(CharacteristicProperty.AuthenticatedSignedWrites.value) - } - if (properties and BluetoothGattCharacteristic.PROPERTY_EXTENDED_PROPS > 0) { - propertiesList.add(CharacteristicProperty.ExtendedProperties.value) - } - return propertiesList -} - - -fun Short.toByteArray(byteOrder: ByteOrder = ByteOrder.LITTLE_ENDIAN): ByteArray = - ByteBuffer.allocate(2 /*Short.SIZE_BYTES*/).order(byteOrder).putShort(this).array() - -// Errors -fun unknownCharacteristicError(char: String) = - FlutterError("IllegalArgument", "Unknown error", null) - - -val DeviceDisconnectedError: FlutterError = FlutterError( - "DeviceDisconnected", - "Device Disconnected", - null -) - -fun Int.parseHciErrorCode(): String? { - return when (this) { - BluetoothGatt.GATT_SUCCESS -> null - 0x01 -> "Unknown HCI Command" - 0x02 -> "Unknown Connection Identifier" - 0x03 -> "Hardware Failure" - 0x04 -> "Page Timeout" - 0x05 -> "Authentication Failure" - 0x06 -> "PIN or Key Missing" - 0x07 -> "Memory Capacity Exceeded" - 0x08 -> "Connection Timeout" - 0x09 -> "Connection Limit Exceeded" - 0x0A -> "Synchronous Connection Limit To A Device Exceeded" - 0x0B -> "Connection Already Exists" - 0x0C -> "Command Disallowed" - 0x0D -> "Connection Rejected due to Limited Resources" - 0x0E -> "Connection Rejected Due To Security Reasons" - 0x0F -> "Connection Rejected due to Unacceptable BD_ADDR" - 0x10 -> "Connection Accept Timeout Exceeded" - 0x11 -> "Unsupported Feature or Parameter Value" - 0x12 -> "Invalid HCI Command Parameters" - 0x13 -> "Remote User Terminated Connection" - 0x14 -> "Remote Device Terminated Connection due to Low Resources" - 0x15 -> "Remote Device Terminated Connection due to Power Off" - 0x16 -> "Connection Terminated By Local Host" - 0x17 -> "Repeated Attempts" - 0x18 -> "Pairing Not Allowed" - 0x19 -> "Unknown LMP PDU" - 0x1A -> "Unsupported Remote Feature / Unsupported LMP Feature" - 0x1B -> "SCO Offset Rejected" - 0x1C -> "SCO Interval Rejected" - 0x1D -> "SCO Air Mode Rejected" - 0x1E -> "Invalid LMP Parameters / Invalid LL Parameters" - 0x1F -> "Unspecified Error" - 0x20 -> "Unsupported LMP Parameter Value / Unsupported LL Parameter Value" - 0x21 -> "Role Change Not Allowed" - 0x22 -> "LMP Response Timeout / LL Response Timeout" - 0x23 -> "LMP Error Transaction Collision / LL Procedure Collision" - 0x24 -> "LMP PDU Not Allowed" - 0x25 -> "Encryption Mode Not Acceptable" - 0x26 -> "Link Key cannot be Changed" - 0x27 -> "Requested QoS Not Supported" - 0x28 -> "Instant Passed" - 0x29 -> "Pairing With Unit Key Not Supported" - 0x2A -> "Different Transaction Collision" - 0x2B -> "Reserved for future use" - 0x2C -> "QoS Unacceptable Parameter" - 0x2D -> "QoS Rejected" - 0x2E -> "Channel Classification Not Supported" - 0x2F -> "Insufficient Security" - 0x30 -> "Parameter Out Of Mandatory Range" - 0x31 -> "Reserved for future use" - 0x32 -> "Role Switch Pending" - 0x33 -> "Reserved for future use" - 0x34 -> "Reserved Slot Violation" - 0x35 -> "Role Switch Failed" - 0x36 -> "Extended Inquiry Response Too Large" - 0x37 -> "Secure Simple Pairing Not Supported By Host" - 0x38 -> "Host Busy - Pairing" - 0x39 -> "Connection Rejected due to No Suitable Channel Found" - 0x3A -> "Controller Busy" - 0x3B -> "Unacceptable Connection Parameters" - 0x3C -> "Advertising Timeout" - 0x3D -> "Connection Terminated due to MIC Failure" - 0x3E -> "Connection Failed to be Established / Synchronization Timeout" - 0x3F -> "MAC Connection Failed" - 0x40 -> "Coarse Clock Adjustment Rejected but Will Try to Adjust Using Clock Dragging" - 0x41 -> "Type0 Submap Not Defined" - 0x42 -> "Unknown Advertising Identifier" - 0x43 -> "Limit Reached" - 0x44 -> "Operation Cancelled by Host" - 0x45 -> "Packet Too Long" - else -> "Unknown Error $this" - } -} - -// Future result classes -class DiscoverServicesFuture( - val deviceId: String, - val result: (Result>) -> Unit, -) - -class MtuResultFuture( - val deviceId: String, - val result: (Result) -> Unit, -) - -class ReadResultFuture( - val deviceId: String, - val characteristicId: String, - val serviceId: String, - val result: (Result) -> Unit, -) - -class WriteResultFuture( - val deviceId: String, - val characteristicId: String, - val serviceId: String, - val result: (Result) -> Unit, -) - -class SubscriptionResultFuture( - val deviceId: String, - val characteristicId: String, - val serviceId: String, - val result: (Result) -> Unit, -) \ No newline at end of file diff --git a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBlePlugin.kt b/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBlePlugin.kt deleted file mode 100644 index 344291638..000000000 --- a/universal_ble/android/src/main/kotlin/com/navideck/universal_ble/UniversalBlePlugin.kt +++ /dev/null @@ -1,1045 +0,0 @@ -package com.navideck.universal_ble - -import android.annotation.SuppressLint -import android.app.Activity -import android.bluetooth.BluetoothAdapter -import android.bluetooth.BluetoothDevice -import android.bluetooth.BluetoothDevice.BOND_BONDED -import android.bluetooth.BluetoothGatt -import android.bluetooth.BluetoothGattCallback -import android.bluetooth.BluetoothGattCharacteristic -import android.bluetooth.BluetoothGattDescriptor -import android.bluetooth.BluetoothManager -import android.bluetooth.BluetoothProfile -import android.bluetooth.BluetoothStatusCodes -import android.bluetooth.le.ScanCallback -import android.bluetooth.le.ScanFilter -import android.bluetooth.le.ScanResult -import android.bluetooth.le.ScanSettings -import android.content.BroadcastReceiver -import android.content.Context -import android.content.Context.RECEIVER_EXPORTED -import android.content.Intent -import android.content.IntentFilter -import android.os.Build -import android.os.Handler -import android.os.Looper -import android.util.Log -import io.flutter.embedding.engine.plugins.FlutterPlugin -import io.flutter.embedding.engine.plugins.activity.ActivityAware -import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding -import io.flutter.plugin.common.PluginRegistry -import java.util.UUID -import java.util.concurrent.CountDownLatch -import java.util.concurrent.TimeUnit - - -private const val TAG = "UniversalBlePlugin" - -@SuppressLint("MissingPermission") -class UniversalBlePlugin : UniversalBlePlatformChannel, BluetoothGattCallback(), FlutterPlugin, - ActivityAware, PluginRegistry.ActivityResultListener { - private val bluetoothEnableRequestCode = 2342313 - private val bluetoothDisableRequestCode = 2342414 - private var callbackChannel: UniversalBleCallbackChannel? = null - private var mainThreadHandler: Handler? = null - private lateinit var context: Context - private var activity: Activity? = null - private lateinit var bluetoothManager: BluetoothManager - private lateinit var safeScanner: SafeScanner - private val cachedServicesMap = mutableMapOf>() - private val universalBleFilterUtil = UniversalBleFilterUtil() - - // Flutter Futures - private var bluetoothEnableRequestFuture: ((Result) -> Unit)? = null - private var bluetoothDisableRequestFuture: ((Result) -> Unit)? = null - private val discoverServicesFutureList = mutableListOf() - private val mtuResultFutureList = mutableListOf() - private val readResultFutureList = mutableListOf() - private val writeResultFutureList = mutableListOf() - private val subscriptionResultFutureList = mutableListOf() - private val pairResultFutures = mutableMapOf) -> Unit>() - - override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) { - UniversalBlePlatformChannel.setUp(flutterPluginBinding.binaryMessenger, this) - callbackChannel = UniversalBleCallbackChannel(flutterPluginBinding.binaryMessenger) - context = flutterPluginBinding.applicationContext - mainThreadHandler = Handler(Looper.getMainLooper()) - bluetoothManager = context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager - safeScanner = SafeScanner(bluetoothManager) - - val intentFilter = IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED) - intentFilter.addAction(BluetoothDevice.ACTION_BOND_STATE_CHANGED) - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - context.registerReceiver(broadcastReceiver, intentFilter, RECEIVER_EXPORTED) - } else { - context.registerReceiver(broadcastReceiver, intentFilter) - } - cachedServicesMap.putAll(getCachedServicesMap()) - } - - override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) { - bluetoothManager.adapter.bluetoothLeScanner?.stopScan(scanCallback) - context.unregisterReceiver(broadcastReceiver) - callbackChannel = null - mainThreadHandler = null - } - - override fun getBluetoothAvailabilityState(callback: (Result) -> Unit) { - callback( - Result.success( - bluetoothManager.adapter?.state?.toAvailabilityState() - ?: AvailabilityState.Unknown.value - ) - ) - } - - override fun enableBluetooth(callback: (Result) -> Unit) { - if (bluetoothManager.adapter.isEnabled) { - callback(Result.success(true)) - return - } - if (bluetoothEnableRequestFuture != null) { - callback( - Result.failure( - FlutterError("Failed", "Bluetooth enable request in progress", null) - ) - ) - return - } - val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) - activity?.startActivityForResult(enableBtIntent, bluetoothEnableRequestCode) - bluetoothEnableRequestFuture = callback - } - - override fun disableBluetooth(callback: (Result) -> Unit) { - if (!bluetoothManager.adapter.isEnabled) { - callback(Result.success(true)) - return - } - if (bluetoothDisableRequestFuture != null) { - callback( - Result.failure( - FlutterError("Failed", "Bluetooth disable request in progress", null) - ) - ) - return - } - val disableBtIntent = Intent("android.bluetooth.adapter.action.REQUEST_DISABLE") - activity?.startActivityForResult(disableBtIntent, bluetoothDisableRequestCode) - bluetoothDisableRequestFuture = callback - } - - override fun startScan(filter: UniversalScanFilter?) { - if (!isBluetoothAvailable()) throw FlutterError( - "BluetoothNotEnabled", - "Bluetooth not enabled", - ) - - val builder = ScanSettings.Builder() - if (Build.VERSION.SDK_INT >= 26) { - builder.setPhy(ScanSettings.PHY_LE_ALL_SUPPORTED) - builder.setLegacy(false) - } - val settings = builder.build() - - val usesCustomFilters = filter?.usesCustomFilters() ?: false; - - try { - val filterServices = filter?.withServices?.filterNotNull()?.toUUIDList() ?: emptyList() - var scanFilters = emptyList() - - // Set custom scan filter only if required - if (usesCustomFilters) { - Log.e(TAG, "Using Custom Filters") - universalBleFilterUtil.scanFilter = filter - universalBleFilterUtil.serviceFilterUUIDS = filterServices - } else { - universalBleFilterUtil.scanFilter = null - scanFilters = filter?.toScanFilters(filterServices) ?: emptyList() - } - - safeScanner.startScan( - scanFilters, settings, scanCallback - ) - } catch (e: Exception) { - throw FlutterError( - "illegalIllegalArgument", - "Failed to start Scan", - e.toString() - ) - } - } - - override fun stopScan() { - if (!isBluetoothAvailable()) throw FlutterError( - "BluetoothNotEnabled", - "Bluetooth not enabled", - ) - // check if already scanning - safeScanner.stopScan(scanCallback) - } - - override fun connect(deviceId: String) { - // If already connected, send connected message, - // if connecting, do nothing - deviceId.findGatt()?.let { - val currentState = bluetoothManager.getConnectionState(it.device, BluetoothProfile.GATT) - if (currentState == BluetoothGatt.STATE_CONNECTED) { - Log.e(TAG, "$deviceId Already connected") - mainThreadHandler?.post { - callbackChannel?.onConnectionChanged(deviceId, true, null) {} - } - return - } else if (currentState == BluetoothGatt.STATE_CONNECTING) { - throw FlutterError("Connecting", "Connection already in progress", null) - } - } - - - val remoteDevice = bluetoothManager.adapter.getRemoteDevice(deviceId) - val gatt = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - remoteDevice.connectGatt( - context, - false, - this, - BluetoothDevice.TRANSPORT_LE - ) - } else { - remoteDevice.connectGatt(context, false, this) - } - gatt.saveCacheIfNeeded() - } - - override fun disconnect(deviceId: String) { - cleanConnection(deviceId.toBluetoothGatt()) - } - - override fun getConnectionState(deviceId: String): Long { - val connectionState = bluetoothManager.getConnectionState( - bluetoothManager.adapter.getRemoteDevice(deviceId), - BluetoothProfile.GATT - ) - - return if (deviceId.isKnownGatt() || connectionState == BluetoothGatt.STATE_DISCONNECTED || connectionState == BluetoothGatt.STATE_DISCONNECTING) { - connectionState.toBleConnectionState().value - } else { - // Might be connected with device, but not with app - Log.e(TAG, "Device might be connected but not known to this app") - BleConnectionState.Disconnected.value - } - } - - override fun discoverServices( - deviceId: String, - callback: (Result>) -> Unit, - ) { - try { - val gatt = deviceId.toBluetoothGatt() - if (gatt.discoverServices()) { - discoverServicesFutureList.add(DiscoverServicesFuture(deviceId, callback)) - } else { - callback( - Result.failure(FlutterError("Failed", "Failed to discover services", null)) - ) - } - } catch (e: FlutterError) { - callback(Result.failure(e)) - } - } - - override fun onServicesDiscovered(gatt: BluetoothGatt, status: Int) { - if (status != BluetoothGatt.GATT_SUCCESS) { - discoverServicesFutureList.filter { it.deviceId == gatt.device.address }.forEach { - discoverServicesFutureList.remove(it) - it.result( - Result.failure(FlutterError("Failed", "Failed to discover services", null)) - ) - } - return - } - setCachedServices(gatt.device.address, gatt.services.map { it.uuid.toString() }) - val universalBleServices = gatt.services.map { service -> - UniversalBleService( - uuid = service.uuid.toString(), - characteristics = service.characteristics.map { - UniversalBleCharacteristic( - uuid = it.uuid.toString(), - properties = it.getPropertiesList() - ) - } - ) - } - discoverServicesFutureList.filter { it.deviceId == gatt.device.address }.forEach { - discoverServicesFutureList.remove(it) - it.result(Result.success(universalBleServices)) - } - } - - - override fun setNotifiable( - deviceId: String, - service: String, - characteristic: String, - bleInputProperty: Long, - callback: (Result) -> Unit, - ) { - try { - val gatt = deviceId.toBluetoothGatt() - val gattCharacteristic: BluetoothGattCharacteristic? = - gatt.getCharacteristic(service, characteristic) - - if (gattCharacteristic == null) { - callback(subscriptionFailedError("characteristic not found")) - return - } - - val descriptor: BluetoothGattDescriptor? = - gattCharacteristic.getDescriptor(ccdCharacteristic) - - val bleInputPropertyEnum: BleInputProperty = - BleInputProperty.values().first { it.value == bleInputProperty } - - val (value, enable) = when (bleInputPropertyEnum) { - BleInputProperty.Notification -> BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE to true - BleInputProperty.Indication -> BluetoothGattDescriptor.ENABLE_INDICATION_VALUE to true - else -> BluetoothGattDescriptor.DISABLE_NOTIFICATION_VALUE to false - } - - if (descriptor != null) { - // Some devices do not need CCCD to update - @Suppress("DEPRECATION") - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - if (gatt.writeDescriptor(descriptor, value) != BluetoothStatusCodes.SUCCESS) { - callback(subscriptionFailedError("Failed to update descriptor")) - return - } - } else { - descriptor.value = value - if (!gatt.writeDescriptor(descriptor)) { - callback(subscriptionFailedError("Failed to update descriptor")) - return - } - } - } else { - Log.d("UniversalBle", "CCCD Descriptor not found") - } - - if (gatt.setCharacteristicNotification(gattCharacteristic, enable)) { - if (descriptor != null) { - subscriptionResultFutureList.add( - SubscriptionResultFuture( - gatt.device.address, - gattCharacteristic.uuid.toString(), - gattCharacteristic.service.uuid.toString(), - callback - ) - ) - } else { - callback(Result.success(Unit)) - } - } else { - callback(subscriptionFailedError()) - } - } catch (e: FlutterError) { - callback(Result.failure(e)) - } catch (e: Exception) { - callback(subscriptionFailedError(e.toString())) - } - } - - override fun readValue( - deviceId: String, - service: String, - characteristic: String, - callback: (Result) -> Unit, - ) { - try { - val gatt = deviceId.toBluetoothGatt() - val gattCharacteristic = gatt.getCharacteristic(service, characteristic) - if (gattCharacteristic == null) { - callback( - Result.failure(FlutterError("IllegalArgument", "Unknown characteristic", null)) - ) - return - } - if (!gatt.readCharacteristic(gattCharacteristic)) { - callback( - Result.failure(unknownCharacteristicError(characteristic)) - ) - return - } - - readResultFutureList.add( - ReadResultFuture( - gatt.device.address, - gattCharacteristic.uuid.toString(), - gattCharacteristic.service.uuid.toString(), - callback - ) - ) - } catch (e: FlutterError) { - callback(Result.failure(e)) - } catch (e: Exception) { - callback( - Result.failure( - FlutterError( - "Failed", - "Failed to read value", - e.toString() - ) - ) - ) - } - } - - override fun onCharacteristicRead( - gatt: BluetoothGatt, - characteristic: BluetoothGattCharacteristic, - value: ByteArray, - status: Int, - ) { - readResultFutureList.filter { - it.deviceId == gatt.device.address && - it.characteristicId == characteristic.uuid.toString() && - it.serviceId == characteristic.service.uuid.toString() - }.forEach { - readResultFutureList.remove(it) - if (status == BluetoothGatt.GATT_SUCCESS) { - it.result(Result.success(value)) - } else { - it.result( - Result.failure( - FlutterError( - status.toString(), - "Failed to read: (${status.parseGattErrorCode()})", - null, - ) - ) - ) - } - - } - } - - override fun writeValue( - deviceId: String, - service: String, - characteristic: String, - value: ByteArray, - bleOutputProperty: Long, - callback: (Result) -> Unit, - ) { - try { - val gatt = deviceId.toBluetoothGatt() - val gattCharacteristic = gatt.getCharacteristic(service, characteristic) - if (gattCharacteristic == null) { - callback(Result.failure(unknownCharacteristicError(characteristic))) - return - } - - var writeType = BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT - if (bleOutputProperty == BleOutputProperty.withResponse.value) { - if (gattCharacteristic.properties and BluetoothGattCharacteristic.PROPERTY_WRITE == 0) { - callback( - Result.failure( - FlutterError( - "IllegalArgument", - "Characteristic does not support write withResponse", - null - ) - ) - ) - return - } - writeType = BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT - } else if (bleOutputProperty == BleOutputProperty.withoutResponse.value) { - if (gattCharacteristic.properties and BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE == 0) { - callback( - Result.failure( - FlutterError( - "IllegalArgument", - "Characteristic does not support write withoutResponse", - null - ) - ) - ) - return - } - writeType = BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE - } - - val result = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - val writeResult = gatt.writeCharacteristic(gattCharacteristic, value, writeType) - writeResult == BluetoothGatt.GATT_SUCCESS - } else { - @Suppress("DEPRECATION") - gattCharacteristic.value = value - gattCharacteristic.writeType = writeType - @Suppress("DEPRECATION") - gatt.writeCharacteristic(gattCharacteristic) - } - - if (!result) { - callback(Result.failure(FlutterError("Failed", "Failed to write", null))) - return - } - - if (writeType == BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT) { - // wait for the result - writeResultFutureList.add( - WriteResultFuture( - gatt.device.address, - gattCharacteristic.uuid.toString(), - gattCharacteristic.service.uuid.toString(), - callback - ) - ) - } else { - callback(Result.success(Unit)) - } - } catch (e: FlutterError) { - callback(Result.failure(e)) - } - } - - override fun onCharacteristicWrite( - gatt: BluetoothGatt?, - characteristic: BluetoothGattCharacteristic, - status: Int, - ) { - writeResultFutureList.filter { - it.deviceId == gatt?.device?.address && - it.characteristicId == characteristic.uuid.toString() && - it.serviceId == characteristic.service.uuid.toString() - }.forEach { - writeResultFutureList.remove(it) - if (status == BluetoothGatt.GATT_SUCCESS) { - it.result(Result.success(Unit)) - } else { - it.result( - Result.failure( - FlutterError( - status.toString(), - "Failed to write: (${status.parseGattErrorCode()})", - null, - ) - ) - ) - } - } - } - - - override fun requestMtu(deviceId: String, expectedMtu: Long, callback: (Result) -> Unit) { - try { - val gatt = deviceId.toBluetoothGatt() - gatt.requestMtu(expectedMtu.toInt()) - mtuResultFutureList.add(MtuResultFuture(deviceId, callback)) - } catch (e: FlutterError) { - callback(Result.failure(e)) - } - } - - override fun onMtuChanged(gatt: BluetoothGatt?, mtu: Int, status: Int) { - val deviceId = gatt?.device?.address ?: return - mtuResultFutureList.filter { it.deviceId == deviceId }.forEach { - mtuResultFutureList.remove(it) - if (status == BluetoothGatt.GATT_SUCCESS) { - it.result(Result.success(mtu.toLong())) - } else { - it.result(Result.failure(FlutterError("Failed to change MTU", null, null))) - } - } - } - - override fun isPaired(deviceId: String, callback: (Result) -> Unit) { - val remoteDevice: BluetoothDevice = - bluetoothManager.adapter.getRemoteDevice(deviceId) - callback(Result.success(remoteDevice.bondState == BOND_BONDED)) - } - - override fun pair(deviceId: String, callback: (Result) -> Unit) { - try { - val remoteDevice = bluetoothManager.adapter.getRemoteDevice(deviceId) - val pendingFuture = pairResultFutures.remove(deviceId) - - // If already paired, return and complete pending futures - if (remoteDevice.bondState == BOND_BONDED) { - pendingFuture?.let { it(Result.success(true)) } - callback(Result.success(true)) - return - } - - // throw error if we already have a pending future - if (pendingFuture != null) { - callback( - Result.failure( - FlutterError( - "InProgress", - "Pairing already in progress", - null - ) - ) - ) - return - } - - // Make a Pair request and complete future from Pair Update intent - if (remoteDevice.createBond()) { - pairResultFutures[deviceId] = callback - } else { - callback(Result.failure(FlutterError("Failed", "Failed to pair", null))) - } - } catch (e: Exception) { - callback( - Result.failure( - FlutterError("Failed", e.toString(), null) - ) - ) - } - - } - - override fun unPair(deviceId: String) { - val remoteDevice: BluetoothDevice = - bluetoothManager.adapter.getRemoteDevice(deviceId) - if (remoteDevice.bondState == BOND_BONDED) { - remoteDevice.removeBond() - } - } - - override fun getSystemDevices( - withServices: List, - callback: (Result>) -> Unit, - ) { - var devices: List = - bluetoothManager.getConnectedDevices(BluetoothProfile.GATT) - if (withServices.isNotEmpty()) { - devices = filterDevicesByServices(devices, withServices) - } - callback( - Result.success( - devices.map { - UniversalBleScanResult( - name = it.name, - deviceId = it.address, - isPaired = it.bondState == BOND_BONDED, - manufacturerDataList = null, - rssi = null, - ) - } - ) - ) - } - - private fun filterDevicesByServices( - devices: List, - withServices: List, - ): List { - // If all devices have cached services - if (devices.all { cachedServicesMap[it.address] != null }) { - return devices.filter { device -> - cachedServicesMap[device.address]?.any { uuid -> withServices.contains(uuid) } == true - } - } - - // Else discover services off already connected devices - val latch = CountDownLatch(devices.size) - val resultMap = mutableMapOf() - - devices.forEach { device -> - discoverServicesOffAlreadyConnectedDevice(device) { uuids -> - resultMap[device.address] = - uuids?.any { uuid -> withServices.contains(uuid) } == true - latch.countDown() - } - } - - try { - val timeout = (devices.size * 2).toLong() - latch.await(timeout, TimeUnit.SECONDS) - } catch (e: InterruptedException) { - Thread.currentThread().interrupt() - } - - return devices.filter { resultMap[it.address] == true } - } - - private fun discoverServicesOffAlreadyConnectedDevice( - device: BluetoothDevice, - callback: (List?) -> Unit, - ) { - // Check if already cached - cachedServicesMap[device.address]?.let { - callback(it) - return - } - - // To avoid duplicate callback - var isUpdated = false - fun updateCallback(uuids: List?) { - if (isUpdated) return - callback(uuids) - isUpdated = true - } - - // If its a known gatt, just discover services - device.address.findGatt()?.let { gatt -> - gatt.services?.let { services -> - updateCallback(services.map { service -> service.uuid.toString() }) - return - } - - if (gatt.discoverServices()) { - discoverServicesFutureList.add( - DiscoverServicesFuture(device.address) { uuids: Result> -> - if (uuids.isSuccess) { - updateCallback(uuids.getOrNull()?.map { it.uuid }) - } else { - updateCallback(null) - } - } - ) - return - } - } - - // Else connect to Gatt, discover services, then disconnect - val callbackHandler = object : BluetoothGattCallback() { - override fun onConnectionStateChange(gatt: BluetoothGatt?, status: Int, newState: Int) { - if (status == BluetoothGatt.GATT_SUCCESS && newState == BluetoothGatt.STATE_CONNECTED) { - if (gatt?.discoverServices() != true) { - updateCallback(null) - if (!device.address.isKnownGatt()) { - gatt?.disconnect() - } - } - } else { - updateCallback(null) - } - } - - override fun onServicesDiscovered(gatt: BluetoothGatt?, status: Int) { - if (status == BluetoothGatt.GATT_SUCCESS) { - val uuids = gatt?.services?.map { it.uuid.toString() } - if (uuids != null) { - setCachedServices(device.address, uuids) - } - updateCallback(uuids) - } - if (!device.address.isKnownGatt()) { - gatt?.disconnect() - } - } - } - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - device.connectGatt(context, false, callbackHandler, BluetoothDevice.TRANSPORT_LE) - } else { - device.connectGatt(context, false, callbackHandler) - } - } - - private fun cleanConnection(gatt: BluetoothGatt) { - gatt.removeCache() - gatt.disconnect() - - readResultFutureList.removeAll { - if (it.deviceId == gatt.device.address) { - it.result(Result.failure(DeviceDisconnectedError)) - true - } else { - false - } - } - writeResultFutureList.removeAll { - if (it.deviceId == gatt.device.address) { - it.result(Result.failure(DeviceDisconnectedError)) - true - } else { - false - } - } - subscriptionResultFutureList.removeAll { - if (it.deviceId == gatt.device.address) { - it.result(Result.failure(DeviceDisconnectedError)) - true - } else { - false - } - } - mtuResultFutureList.removeAll { - if (it.deviceId == gatt.device.address) { - it.result(Result.failure(DeviceDisconnectedError)) - true - } else { - false - } - } - discoverServicesFutureList.removeAll { - if (it.deviceId == gatt.device.address) { - it.result(Result.failure(DeviceDisconnectedError)) - true - } else { - false - } - } - } - - private fun onBondStateUpdate(deviceId: String, bonded: Boolean, error: String? = null) { - val future = pairResultFutures.remove(deviceId) - future?.let { it(Result.success(bonded)) } - mainThreadHandler?.post { - callbackChannel?.onPairStateChange(deviceId, bonded, error) {} - } - } - - private val broadcastReceiver = object : BroadcastReceiver() { - override fun onReceive(context: Context, intent: Intent) { - if (intent.action == BluetoothAdapter.ACTION_STATE_CHANGED) { - mainThreadHandler?.post { - callbackChannel?.onAvailabilityChanged( - bluetoothManager.adapter?.state?.toAvailabilityState() - ?: AvailabilityState.Unknown.value - ) {} - } - } else if (intent.action == BluetoothDevice.ACTION_BOND_STATE_CHANGED) { - val device: BluetoothDevice? = - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { - intent.getParcelableExtra( - BluetoothDevice.EXTRA_DEVICE, - BluetoothDevice::class.java - ) - } else { - @Suppress("DEPRECATION") - intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE) - } - if (device == null) { - Log.e(TAG, "No device found in ACTION_BOND_STATE_CHANGED intent") - return - } - // get pairing failed error - when (intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, BluetoothDevice.ERROR)) { - BluetoothDevice.BOND_BONDING -> { - Log.v(TAG, "${device.address} BOND_BONDING") - } - - BluetoothDevice.BOND_BONDED -> { - onBondStateUpdate(device.address, true) - } - - BluetoothDevice.ERROR -> { - onBondStateUpdate(device.address, false, "Failed to Pair") - } - - BluetoothDevice.BOND_NONE -> { - Log.e(TAG, "${device.address} BOND_NONE") - onBondStateUpdate(device.address, false) - } - } - } - } - } - - - private val scanCallback = object : ScanCallback() { - override fun onScanFailed(errorCode: Int) { - Log.e(TAG, "OnScanFailed: ${errorCode.parseScanErrorMessage()}") - } - - override fun onScanResult(callbackType: Int, result: ScanResult) { - - // Log.v(TAG, "onScanResult: $result") - var serviceUuids: Array = arrayOf() - result.device.uuids?.forEach { - serviceUuids += it.uuid - } - result.scanRecord?.serviceUuids?.forEach { - if (!serviceUuids.contains(it.uuid)) { - serviceUuids += it.uuid - } - } - - val name = result.device.name - val manufacturerDataList = result.manufacturerDataList - - if (!universalBleFilterUtil.filterDevice( - name, - manufacturerDataList, - serviceUuids - ) - ) return - - - mainThreadHandler?.post { - callbackChannel?.onScanResult( - UniversalBleScanResult( - name = result.device.name, - deviceId = result.device.address, - isPaired = result.device.bondState == BOND_BONDED, - manufacturerDataList = manufacturerDataList, - rssi = result.rssi.toLong(), - services = serviceUuids.map { it.toString() }.toList() - ) - ) {} - } - } - - override fun onBatchScanResults(results: MutableList?) { - Log.v(TAG, "onBatchScanResults: $results") - } - } - - - override fun onConnectionStateChange(gatt: BluetoothGatt, status: Int, newState: Int) { - Log.d( - TAG, - "onConnectionStateChange-> Status: $status ${status.parseHciErrorCode()}, NewState: $newState" - ) - - if (newState == BluetoothGatt.STATE_CONNECTED) { - mainThreadHandler?.post { - callbackChannel?.onConnectionChanged( - gatt.device.address, true, status.parseHciErrorCode() - ) {} - } - } else if (newState == BluetoothGatt.STATE_DISCONNECTED) { - cleanConnection(gatt) - mainThreadHandler?.post { - callbackChannel?.onConnectionChanged( - gatt.device.address, false, status.parseHciErrorCode() - ) {} - } - Log.d(TAG, "Closing gatt for ${gatt.device.name}") - gatt.close() - } - } - - override fun onCharacteristicChanged( - gatt: BluetoothGatt, - characteristic: BluetoothGattCharacteristic, - value: ByteArray, - ) { - mainThreadHandler?.post { - callbackChannel?.onValueChanged( - deviceIdArg = gatt.device.address, - characteristicIdArg = characteristic.uuid.toString(), - valueArg = value - ) {} - } - } - - override fun onDescriptorWrite( - gatt: BluetoothGatt?, - descriptor: BluetoothGattDescriptor?, - status: Int, - ) { - super.onDescriptorWrite(gatt, descriptor, status) - if (descriptor?.uuid.toString() == ccdCharacteristic.toString()) { - val char: String? = descriptor?.characteristic?.uuid?.toString() - val service: String? = descriptor?.characteristic?.service?.uuid?.toString() - val deviceId: String? = gatt?.device?.address; - if (deviceId != null && char != null && service != null) { - updateSubscriptionState(deviceId, char, service, status) - } - } - } - - private fun updateSubscriptionState( - deviceId: String, - characteristic: String, - service: String, - status: Int, - ) { - subscriptionResultFutureList.filter { - it.deviceId == deviceId && - it.characteristicId == characteristic && - it.serviceId == service - }.forEach { - subscriptionResultFutureList.remove(it) - val error: String? = status.parseGattErrorCode() - if (error != null) { - it.result( - Result.failure( - FlutterError( - status.toString(), - "Failed to update subscription state: $error", - null, - ) - ) - ) - } else { - it.result(Result.success(Unit)) - } - } - } - - private fun isBluetoothAvailable(): Boolean { - return bluetoothManager.adapter.isEnabled - } - - private fun setCachedServices(deviceId: String, services: List) { - val cachedServicesSharedPref = context.getSharedPreferences( - "com.navideck.universal_ble.services", - Context.MODE_PRIVATE - ) - cachedServicesSharedPref.edit().putStringSet(deviceId, services.toSet()).apply() - cachedServicesMap[deviceId] = services - } - - private fun getCachedServicesMap(): Map> { - val cachedServicesSharedPref = context.getSharedPreferences( - "com.navideck.universal_ble.services", - Context.MODE_PRIVATE - ) - return cachedServicesSharedPref.all.mapValues { (_, value) -> - (value as? Set<*>)?.map { it.toString() } ?: emptyList() - } - } - - /// Depreciated Members, ( Requires to support older android devices ) - @Suppress("OVERRIDE_DEPRECATION", "DEPRECATION") - override fun onCharacteristicRead( - gatt: BluetoothGatt, - characteristic: BluetoothGattCharacteristic, - status: Int, - ) { - onCharacteristicRead(gatt, characteristic, characteristic.value, status) - } - - @Suppress("OVERRIDE_DEPRECATION", "DEPRECATION") - override fun onCharacteristicChanged( - gatt: BluetoothGatt, - characteristic: BluetoothGattCharacteristic, - ) { - onCharacteristicChanged(gatt, characteristic, characteristic.value) - } - - override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?): Boolean { - if (requestCode == bluetoothEnableRequestCode) { - val future = bluetoothEnableRequestFuture ?: return false - future(Result.success(resultCode == Activity.RESULT_OK)) - bluetoothEnableRequestFuture = null - return true - } else if (requestCode == bluetoothDisableRequestCode) { - val future = bluetoothDisableRequestFuture ?: return false - future(Result.success(resultCode == Activity.RESULT_OK)) - bluetoothDisableRequestFuture = null - return true - } - return false - } - - override fun onAttachedToActivity(binding: ActivityPluginBinding) { - activity = binding.activity - binding.addActivityResultListener(this) - } - - override fun onDetachedFromActivity() { - activity = null - } - - override fun onDetachedFromActivityForConfigChanges() {} - override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) {} -} \ No newline at end of file diff --git a/universal_ble/android/src/test/kotlin/com/navideck/universal_ble/UniversalBlePluginTest.kt b/universal_ble/android/src/test/kotlin/com/navideck/universal_ble/UniversalBlePluginTest.kt deleted file mode 100644 index 20401439c..000000000 --- a/universal_ble/android/src/test/kotlin/com/navideck/universal_ble/UniversalBlePluginTest.kt +++ /dev/null @@ -1,27 +0,0 @@ -package com.navideck.universal_ble - -import io.flutter.plugin.common.MethodCall -import io.flutter.plugin.common.MethodChannel -import kotlin.test.Test -import org.mockito.Mockito - -/* - * This demonstrates a simple unit test of the Kotlin portion of this plugin's implementation. - * - * Once you have built the plugin's example app, you can run these tests from the command - * line by running `./gradlew testDebugUnitTest` in the `example/android/` directory, or - * you can run them directly from IDEs that support JUnit such as Android Studio. - */ - -internal class UniversalBlePluginTest { - @Test - fun onMethodCall_getPlatformVersion_returnsExpectedValue() { - val plugin = UniversalBlePlugin() - - val call = MethodCall("getPlatformVersion", null) - val mockResult: MethodChannel.Result = Mockito.mock(MethodChannel.Result::class.java) - plugin.onMethodCall(call, mockResult) - - Mockito.verify(mockResult).success("Android " + android.os.Build.VERSION.RELEASE) - } -} diff --git a/universal_ble/darwin/.gitignore b/universal_ble/darwin/.gitignore deleted file mode 100644 index 0c885071e..000000000 --- a/universal_ble/darwin/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -.idea/ -.vagrant/ -.sconsign.dblite -.svn/ - -.DS_Store -*.swp -profile - -DerivedData/ -build/ -GeneratedPluginRegistrant.h -GeneratedPluginRegistrant.m - -.generated/ - -*.pbxuser -*.mode1v3 -*.mode2v3 -*.perspectivev3 - -!default.pbxuser -!default.mode1v3 -!default.mode2v3 -!default.perspectivev3 - -xcuserdata - -*.moved-aside - -*.pyc -*sync/ -Icon? -.tags* - -/Flutter/Generated.xcconfig -/Flutter/ephemeral/ -/Flutter/flutter_export_environment.sh \ No newline at end of file diff --git a/universal_ble/darwin/Assets/.gitkeep b/universal_ble/darwin/Assets/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/universal_ble/darwin/Classes/UniversalBle.g.swift b/universal_ble/darwin/Classes/UniversalBle.g.swift deleted file mode 100644 index eb5424ea2..000000000 --- a/universal_ble/darwin/Classes/UniversalBle.g.swift +++ /dev/null @@ -1,729 +0,0 @@ -// Autogenerated from Pigeon (v22.6.1), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -import Foundation - -#if os(iOS) - import Flutter -#elseif os(macOS) - import FlutterMacOS -#else - #error("Unsupported platform.") -#endif - -/// Error class for passing custom error details to Dart side. -final class PigeonError: Error { - let code: String - let message: String? - let details: Any? - - init(code: String, message: String?, details: Any?) { - self.code = code - self.message = message - self.details = details - } - - var localizedDescription: String { - return - "PigeonError(code: \(code), message: \(message ?? ""), details: \(details ?? "")" - } -} - -private func wrapResult(_ result: Any?) -> [Any?] { - return [result] -} - -private func wrapError(_ error: Any) -> [Any?] { - if let pigeonError = error as? PigeonError { - return [ - pigeonError.code, - pigeonError.message, - pigeonError.details, - ] - } - if let flutterError = error as? FlutterError { - return [ - flutterError.code, - flutterError.message, - flutterError.details, - ] - } - return [ - "\(error)", - "\(type(of: error))", - "Stacktrace: \(Thread.callStackSymbols)", - ] -} - -private func createConnectionError(withChannelName channelName: String) -> PigeonError { - return PigeonError(code: "channel-error", message: "Unable to establish connection on channel: '\(channelName)'.", details: "") -} - -private func isNullish(_ value: Any?) -> Bool { - return value is NSNull || value == nil -} - -private func nilOrValue(_ value: Any?) -> T? { - if value is NSNull { return nil } - return value as! T? -} - -/// Generated class from Pigeon that represents data sent in messages. -struct UniversalBleScanResult { - var deviceId: String - var name: String? = nil - var isPaired: Bool? = nil - var rssi: Int64? = nil - var manufacturerDataList: [UniversalManufacturerData]? = nil - var services: [String]? = nil - - - - // swift-format-ignore: AlwaysUseLowerCamelCase - static func fromList(_ pigeonVar_list: [Any?]) -> UniversalBleScanResult? { - let deviceId = pigeonVar_list[0] as! String - let name: String? = nilOrValue(pigeonVar_list[1]) - let isPaired: Bool? = nilOrValue(pigeonVar_list[2]) - let rssi: Int64? = nilOrValue(pigeonVar_list[3]) - let manufacturerDataList: [UniversalManufacturerData]? = nilOrValue(pigeonVar_list[4]) - let services: [String]? = nilOrValue(pigeonVar_list[5]) - - return UniversalBleScanResult( - deviceId: deviceId, - name: name, - isPaired: isPaired, - rssi: rssi, - manufacturerDataList: manufacturerDataList, - services: services - ) - } - func toList() -> [Any?] { - return [ - deviceId, - name, - isPaired, - rssi, - manufacturerDataList, - services, - ] - } -} - -/// Generated class from Pigeon that represents data sent in messages. -struct UniversalBleService { - var uuid: String - var characteristics: [UniversalBleCharacteristic]? = nil - - - - // swift-format-ignore: AlwaysUseLowerCamelCase - static func fromList(_ pigeonVar_list: [Any?]) -> UniversalBleService? { - let uuid = pigeonVar_list[0] as! String - let characteristics: [UniversalBleCharacteristic]? = nilOrValue(pigeonVar_list[1]) - - return UniversalBleService( - uuid: uuid, - characteristics: characteristics - ) - } - func toList() -> [Any?] { - return [ - uuid, - characteristics, - ] - } -} - -/// Generated class from Pigeon that represents data sent in messages. -struct UniversalBleCharacteristic { - var uuid: String - var properties: [Int64] - - - - // swift-format-ignore: AlwaysUseLowerCamelCase - static func fromList(_ pigeonVar_list: [Any?]) -> UniversalBleCharacteristic? { - let uuid = pigeonVar_list[0] as! String - let properties = pigeonVar_list[1] as! [Int64] - - return UniversalBleCharacteristic( - uuid: uuid, - properties: properties - ) - } - func toList() -> [Any?] { - return [ - uuid, - properties, - ] - } -} - -/// Scan Filters -/// -/// Generated class from Pigeon that represents data sent in messages. -struct UniversalScanFilter { - var withServices: [String] - var withNamePrefix: [String] - var withManufacturerData: [UniversalManufacturerDataFilter] - - - - // swift-format-ignore: AlwaysUseLowerCamelCase - static func fromList(_ pigeonVar_list: [Any?]) -> UniversalScanFilter? { - let withServices = pigeonVar_list[0] as! [String] - let withNamePrefix = pigeonVar_list[1] as! [String] - let withManufacturerData = pigeonVar_list[2] as! [UniversalManufacturerDataFilter] - - return UniversalScanFilter( - withServices: withServices, - withNamePrefix: withNamePrefix, - withManufacturerData: withManufacturerData - ) - } - func toList() -> [Any?] { - return [ - withServices, - withNamePrefix, - withManufacturerData, - ] - } -} - -/// Generated class from Pigeon that represents data sent in messages. -struct UniversalManufacturerDataFilter { - var companyIdentifier: Int64 - var data: FlutterStandardTypedData? = nil - var mask: FlutterStandardTypedData? = nil - - - - // swift-format-ignore: AlwaysUseLowerCamelCase - static func fromList(_ pigeonVar_list: [Any?]) -> UniversalManufacturerDataFilter? { - let companyIdentifier = pigeonVar_list[0] as! Int64 - let data: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[1]) - let mask: FlutterStandardTypedData? = nilOrValue(pigeonVar_list[2]) - - return UniversalManufacturerDataFilter( - companyIdentifier: companyIdentifier, - data: data, - mask: mask - ) - } - func toList() -> [Any?] { - return [ - companyIdentifier, - data, - mask, - ] - } -} - -/// Generated class from Pigeon that represents data sent in messages. -struct UniversalManufacturerData { - var companyIdentifier: Int64 - var data: FlutterStandardTypedData - - - - // swift-format-ignore: AlwaysUseLowerCamelCase - static func fromList(_ pigeonVar_list: [Any?]) -> UniversalManufacturerData? { - let companyIdentifier = pigeonVar_list[0] as! Int64 - let data = pigeonVar_list[1] as! FlutterStandardTypedData - - return UniversalManufacturerData( - companyIdentifier: companyIdentifier, - data: data - ) - } - func toList() -> [Any?] { - return [ - companyIdentifier, - data, - ] - } -} - -private class UniversalBlePigeonCodecReader: FlutterStandardReader { - override func readValue(ofType type: UInt8) -> Any? { - switch type { - case 129: - return UniversalBleScanResult.fromList(self.readValue() as! [Any?]) - case 130: - return UniversalBleService.fromList(self.readValue() as! [Any?]) - case 131: - return UniversalBleCharacteristic.fromList(self.readValue() as! [Any?]) - case 132: - return UniversalScanFilter.fromList(self.readValue() as! [Any?]) - case 133: - return UniversalManufacturerDataFilter.fromList(self.readValue() as! [Any?]) - case 134: - return UniversalManufacturerData.fromList(self.readValue() as! [Any?]) - default: - return super.readValue(ofType: type) - } - } -} - -private class UniversalBlePigeonCodecWriter: FlutterStandardWriter { - override func writeValue(_ value: Any) { - if let value = value as? UniversalBleScanResult { - super.writeByte(129) - super.writeValue(value.toList()) - } else if let value = value as? UniversalBleService { - super.writeByte(130) - super.writeValue(value.toList()) - } else if let value = value as? UniversalBleCharacteristic { - super.writeByte(131) - super.writeValue(value.toList()) - } else if let value = value as? UniversalScanFilter { - super.writeByte(132) - super.writeValue(value.toList()) - } else if let value = value as? UniversalManufacturerDataFilter { - super.writeByte(133) - super.writeValue(value.toList()) - } else if let value = value as? UniversalManufacturerData { - super.writeByte(134) - super.writeValue(value.toList()) - } else { - super.writeValue(value) - } - } -} - -private class UniversalBlePigeonCodecReaderWriter: FlutterStandardReaderWriter { - override func reader(with data: Data) -> FlutterStandardReader { - return UniversalBlePigeonCodecReader(data: data) - } - - override func writer(with data: NSMutableData) -> FlutterStandardWriter { - return UniversalBlePigeonCodecWriter(data: data) - } -} - -class UniversalBlePigeonCodec: FlutterStandardMessageCodec, @unchecked Sendable { - static let shared = UniversalBlePigeonCodec(readerWriter: UniversalBlePigeonCodecReaderWriter()) -} - - -/// Flutter -> Native -/// -/// Generated protocol from Pigeon that represents a handler of messages from Flutter. -protocol UniversalBlePlatformChannel { - func getBluetoothAvailabilityState(completion: @escaping (Result) -> Void) - func enableBluetooth(completion: @escaping (Result) -> Void) - func disableBluetooth(completion: @escaping (Result) -> Void) - func startScan(filter: UniversalScanFilter?) throws - func stopScan() throws - func connect(deviceId: String) throws - func disconnect(deviceId: String) throws - func setNotifiable(deviceId: String, service: String, characteristic: String, bleInputProperty: Int64, completion: @escaping (Result) -> Void) - func discoverServices(deviceId: String, completion: @escaping (Result<[UniversalBleService], Error>) -> Void) - func readValue(deviceId: String, service: String, characteristic: String, completion: @escaping (Result) -> Void) - func requestMtu(deviceId: String, expectedMtu: Int64, completion: @escaping (Result) -> Void) - func writeValue(deviceId: String, service: String, characteristic: String, value: FlutterStandardTypedData, bleOutputProperty: Int64, completion: @escaping (Result) -> Void) - func isPaired(deviceId: String, completion: @escaping (Result) -> Void) - func pair(deviceId: String, completion: @escaping (Result) -> Void) - func unPair(deviceId: String) throws - func getSystemDevices(withServices: [String], completion: @escaping (Result<[UniversalBleScanResult], Error>) -> Void) - func getConnectionState(deviceId: String) throws -> Int64 -} - -/// Generated setup class from Pigeon to handle messages through the `binaryMessenger`. -class UniversalBlePlatformChannelSetup { - static var codec: FlutterStandardMessageCodec { UniversalBlePigeonCodec.shared } - /// Sets up an instance of `UniversalBlePlatformChannel` to handle messages through the `binaryMessenger`. - static func setUp(binaryMessenger: FlutterBinaryMessenger, api: UniversalBlePlatformChannel?, messageChannelSuffix: String = "") { - let channelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" - let getBluetoothAvailabilityStateChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getBluetoothAvailabilityState\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - getBluetoothAvailabilityStateChannel.setMessageHandler { _, reply in - api.getBluetoothAvailabilityState { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - getBluetoothAvailabilityStateChannel.setMessageHandler(nil) - } - let enableBluetoothChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.enableBluetooth\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - enableBluetoothChannel.setMessageHandler { _, reply in - api.enableBluetooth { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - enableBluetoothChannel.setMessageHandler(nil) - } - let disableBluetoothChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disableBluetooth\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - disableBluetoothChannel.setMessageHandler { _, reply in - api.disableBluetooth { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - disableBluetoothChannel.setMessageHandler(nil) - } - let startScanChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.startScan\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - startScanChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let filterArg: UniversalScanFilter? = nilOrValue(args[0]) - do { - try api.startScan(filter: filterArg) - reply(wrapResult(nil)) - } catch { - reply(wrapError(error)) - } - } - } else { - startScanChannel.setMessageHandler(nil) - } - let stopScanChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.stopScan\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - stopScanChannel.setMessageHandler { _, reply in - do { - try api.stopScan() - reply(wrapResult(nil)) - } catch { - reply(wrapError(error)) - } - } - } else { - stopScanChannel.setMessageHandler(nil) - } - let connectChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.connect\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - connectChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - do { - try api.connect(deviceId: deviceIdArg) - reply(wrapResult(nil)) - } catch { - reply(wrapError(error)) - } - } - } else { - connectChannel.setMessageHandler(nil) - } - let disconnectChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disconnect\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - disconnectChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - do { - try api.disconnect(deviceId: deviceIdArg) - reply(wrapResult(nil)) - } catch { - reply(wrapError(error)) - } - } - } else { - disconnectChannel.setMessageHandler(nil) - } - let setNotifiableChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.setNotifiable\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - setNotifiableChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - let serviceArg = args[1] as! String - let characteristicArg = args[2] as! String - let bleInputPropertyArg = args[3] as! Int64 - api.setNotifiable(deviceId: deviceIdArg, service: serviceArg, characteristic: characteristicArg, bleInputProperty: bleInputPropertyArg) { result in - switch result { - case .success: - reply(wrapResult(nil)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - setNotifiableChannel.setMessageHandler(nil) - } - let discoverServicesChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.discoverServices\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - discoverServicesChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - api.discoverServices(deviceId: deviceIdArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - discoverServicesChannel.setMessageHandler(nil) - } - let readValueChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.readValue\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - readValueChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - let serviceArg = args[1] as! String - let characteristicArg = args[2] as! String - api.readValue(deviceId: deviceIdArg, service: serviceArg, characteristic: characteristicArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - readValueChannel.setMessageHandler(nil) - } - let requestMtuChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.requestMtu\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - requestMtuChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - let expectedMtuArg = args[1] as! Int64 - api.requestMtu(deviceId: deviceIdArg, expectedMtu: expectedMtuArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - requestMtuChannel.setMessageHandler(nil) - } - let writeValueChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.writeValue\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - writeValueChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - let serviceArg = args[1] as! String - let characteristicArg = args[2] as! String - let valueArg = args[3] as! FlutterStandardTypedData - let bleOutputPropertyArg = args[4] as! Int64 - api.writeValue(deviceId: deviceIdArg, service: serviceArg, characteristic: characteristicArg, value: valueArg, bleOutputProperty: bleOutputPropertyArg) { result in - switch result { - case .success: - reply(wrapResult(nil)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - writeValueChannel.setMessageHandler(nil) - } - let isPairedChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.isPaired\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - isPairedChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - api.isPaired(deviceId: deviceIdArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - isPairedChannel.setMessageHandler(nil) - } - let pairChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.pair\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - pairChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - api.pair(deviceId: deviceIdArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - pairChannel.setMessageHandler(nil) - } - let unPairChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.unPair\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - unPairChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - do { - try api.unPair(deviceId: deviceIdArg) - reply(wrapResult(nil)) - } catch { - reply(wrapError(error)) - } - } - } else { - unPairChannel.setMessageHandler(nil) - } - let getSystemDevicesChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getSystemDevices\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - getSystemDevicesChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let withServicesArg = args[0] as! [String] - api.getSystemDevices(withServices: withServicesArg) { result in - switch result { - case .success(let res): - reply(wrapResult(res)) - case .failure(let error): - reply(wrapError(error)) - } - } - } - } else { - getSystemDevicesChannel.setMessageHandler(nil) - } - let getConnectionStateChannel = FlutterBasicMessageChannel(name: "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getConnectionState\(channelSuffix)", binaryMessenger: binaryMessenger, codec: codec) - if let api = api { - getConnectionStateChannel.setMessageHandler { message, reply in - let args = message as! [Any?] - let deviceIdArg = args[0] as! String - do { - let result = try api.getConnectionState(deviceId: deviceIdArg) - reply(wrapResult(result)) - } catch { - reply(wrapError(error)) - } - } - } else { - getConnectionStateChannel.setMessageHandler(nil) - } - } -} -/// Native -> Flutter -/// -/// Generated protocol from Pigeon that represents Flutter messages that can be called from Swift. -protocol UniversalBleCallbackChannelProtocol { - func onAvailabilityChanged(state stateArg: Int64, completion: @escaping (Result) -> Void) - func onPairStateChange(deviceId deviceIdArg: String, isPaired isPairedArg: Bool, error errorArg: String?, completion: @escaping (Result) -> Void) - func onScanResult(result resultArg: UniversalBleScanResult, completion: @escaping (Result) -> Void) - func onValueChanged(deviceId deviceIdArg: String, characteristicId characteristicIdArg: String, value valueArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) - func onConnectionChanged(deviceId deviceIdArg: String, connected connectedArg: Bool, error errorArg: String?, completion: @escaping (Result) -> Void) -} -class UniversalBleCallbackChannel: UniversalBleCallbackChannelProtocol { - private let binaryMessenger: FlutterBinaryMessenger - private let messageChannelSuffix: String - init(binaryMessenger: FlutterBinaryMessenger, messageChannelSuffix: String = "") { - self.binaryMessenger = binaryMessenger - self.messageChannelSuffix = messageChannelSuffix.count > 0 ? ".\(messageChannelSuffix)" : "" - } - var codec: UniversalBlePigeonCodec { - return UniversalBlePigeonCodec.shared - } - func onAvailabilityChanged(state stateArg: Int64, completion: @escaping (Result) -> Void) { - let channelName: String = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged\(messageChannelSuffix)" - let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec) - channel.sendMessage([stateArg] as [Any?]) { response in - guard let listResponse = response as? [Any?] else { - completion(.failure(createConnectionError(withChannelName: channelName))) - return - } - if listResponse.count > 1 { - let code: String = listResponse[0] as! String - let message: String? = nilOrValue(listResponse[1]) - let details: String? = nilOrValue(listResponse[2]) - completion(.failure(PigeonError(code: code, message: message, details: details))) - } else { - completion(.success(Void())) - } - } - } - func onPairStateChange(deviceId deviceIdArg: String, isPaired isPairedArg: Bool, error errorArg: String?, completion: @escaping (Result) -> Void) { - let channelName: String = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange\(messageChannelSuffix)" - let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec) - channel.sendMessage([deviceIdArg, isPairedArg, errorArg] as [Any?]) { response in - guard let listResponse = response as? [Any?] else { - completion(.failure(createConnectionError(withChannelName: channelName))) - return - } - if listResponse.count > 1 { - let code: String = listResponse[0] as! String - let message: String? = nilOrValue(listResponse[1]) - let details: String? = nilOrValue(listResponse[2]) - completion(.failure(PigeonError(code: code, message: message, details: details))) - } else { - completion(.success(Void())) - } - } - } - func onScanResult(result resultArg: UniversalBleScanResult, completion: @escaping (Result) -> Void) { - let channelName: String = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult\(messageChannelSuffix)" - let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec) - channel.sendMessage([resultArg] as [Any?]) { response in - guard let listResponse = response as? [Any?] else { - completion(.failure(createConnectionError(withChannelName: channelName))) - return - } - if listResponse.count > 1 { - let code: String = listResponse[0] as! String - let message: String? = nilOrValue(listResponse[1]) - let details: String? = nilOrValue(listResponse[2]) - completion(.failure(PigeonError(code: code, message: message, details: details))) - } else { - completion(.success(Void())) - } - } - } - func onValueChanged(deviceId deviceIdArg: String, characteristicId characteristicIdArg: String, value valueArg: FlutterStandardTypedData, completion: @escaping (Result) -> Void) { - let channelName: String = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged\(messageChannelSuffix)" - let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec) - channel.sendMessage([deviceIdArg, characteristicIdArg, valueArg] as [Any?]) { response in - guard let listResponse = response as? [Any?] else { - completion(.failure(createConnectionError(withChannelName: channelName))) - return - } - if listResponse.count > 1 { - let code: String = listResponse[0] as! String - let message: String? = nilOrValue(listResponse[1]) - let details: String? = nilOrValue(listResponse[2]) - completion(.failure(PigeonError(code: code, message: message, details: details))) - } else { - completion(.success(Void())) - } - } - } - func onConnectionChanged(deviceId deviceIdArg: String, connected connectedArg: Bool, error errorArg: String?, completion: @escaping (Result) -> Void) { - let channelName: String = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged\(messageChannelSuffix)" - let channel = FlutterBasicMessageChannel(name: channelName, binaryMessenger: binaryMessenger, codec: codec) - channel.sendMessage([deviceIdArg, connectedArg, errorArg] as [Any?]) { response in - guard let listResponse = response as? [Any?] else { - completion(.failure(createConnectionError(withChannelName: channelName))) - return - } - if listResponse.count > 1 { - let code: String = listResponse[0] as! String - let message: String? = nilOrValue(listResponse[1]) - let details: String? = nilOrValue(listResponse[2]) - completion(.failure(PigeonError(code: code, message: message, details: details))) - } else { - completion(.success(Void())) - } - } - } -} diff --git a/universal_ble/darwin/Classes/UniversalBleFilterUtil.swift b/universal_ble/darwin/Classes/UniversalBleFilterUtil.swift deleted file mode 100644 index 9994a8d1a..000000000 --- a/universal_ble/darwin/Classes/UniversalBleFilterUtil.swift +++ /dev/null @@ -1,107 +0,0 @@ -// -// UniversalBleFilterUtil.swift -// universal_ble -// -// Created by Rohit Sangwan on 23/08/24. -// - -import CoreBluetooth -import Foundation - -public class UniversalBleFilterUtil { - var scanFilter: UniversalScanFilter? - var scanFilterServicesUUID: [CBUUID] = [] - - func filterDevice(name: String?, manufacturerData: UniversalManufacturerData?, services: [CBUUID]?) -> Bool { - guard let filter = scanFilter else { - return true - } - - let hasNamePrefixFilter = !filter.withNamePrefix.isEmpty - let hasServiceFilter = !filter.withServices.isEmpty - let hasManufacturerDataFilter = !filter.withManufacturerData.isEmpty - - // If there is no filter at all, then allow device - if !hasNamePrefixFilter && !hasServiceFilter && !hasManufacturerDataFilter { - return true - } - - // Else check one of the filter passes - return hasNamePrefixFilter && isNameMatchingFilters(filter: filter, name: name) || - hasServiceFilter && isServicesMatchingFilters(services: services) || - hasManufacturerDataFilter && isManufacturerDataMatchingFilters(scanFilter: filter, msd: manufacturerData) - } - - func isNameMatchingFilters(filter: UniversalScanFilter, name: String?) -> Bool { - let prefixFilters = filter.withNamePrefix.compactMap { $0 }.filter { !$0.isEmpty } - - guard !prefixFilters.isEmpty else { - return true - } - - guard let name = name, !name.isEmpty else { - return false - } - - return prefixFilters.contains { name.hasPrefix($0) } - } - - func isServicesMatchingFilters(services: [CBUUID]?) -> Bool { - let serviceFilters = Set(scanFilterServicesUUID.compactMap { $0 }) - - guard !serviceFilters.isEmpty else { - return true - } - - guard let services = services, !services.isEmpty else { - return false - } - - return !Set(services).isDisjoint(with: serviceFilters) - } - - func isManufacturerDataMatchingFilters(scanFilter: UniversalScanFilter, msd: UniversalManufacturerData?) -> Bool { - let filters = scanFilter.withManufacturerData.compactMap { $0 } - if filters.isEmpty { - return true - } - - guard let msd = msd else { - return false - } - - for filter in filters { - let companyIdentifier: Int64 = filter.companyIdentifier - if msd.companyIdentifier == companyIdentifier && findData(find: filter.data?.toData(), inData: msd.data.toData(), usingMask: filter.mask?.toData()) { - return true - } - } - return false - } - - func findData(find: Data?, inData data: Data, usingMask mask: Data?) -> Bool { - if let find = find { - // If mask is null, use a default mask of all 1s - let mask = mask ?? Data(repeating: 0xFF, count: find.count) - - // Ensure find & mask are same length - guard find.count == mask.count else { - return false - } - - for i in 0 ..< find.count { - // Perform bitwise AND with mask and then compare - if (find[i] & mask[i]) != (data[i] & mask[i]) { - return false - } - } - } - return true - } -} - -extension UniversalScanFilter { - var usesCustomFilters: Bool { - return !withManufacturerData.isEmpty || !withNamePrefix.isEmpty - } -} diff --git a/universal_ble/darwin/Classes/UniversalBleHelper.swift b/universal_ble/darwin/Classes/UniversalBleHelper.swift deleted file mode 100644 index 6eb35f4f7..000000000 --- a/universal_ble/darwin/Classes/UniversalBleHelper.swift +++ /dev/null @@ -1,203 +0,0 @@ -// -// UniversalBleHelper.swift -// universal_ble -// -// Created by Rohit Sangwan on 25/10/23. -// - -import CoreBluetooth -import Foundation -#if os(iOS) - import Flutter -#elseif os(OSX) - import FlutterMacOS -#endif - -enum BleInputProperty: Int { - case disabled = 0 - case notification = 1 - case indication = 2 -} - -enum BleOutputProperty: Int { - case withResponse = 0 - case withoutResponse = 1 -} - -enum BlueConnectionState: Int64 { - case connected = 0 - case disconnected = 1 - case connecting = 2 - case disconnecting = 3 -} - -enum AvailabilityState: Int64 { - case unknown = 0 - case resetting = 1 - case unsupported = 2 - case unauthorized = 3 - case poweredOff = 4 - case poweredOn = 5 -} - -enum CharacteristicProperty: Int64 { - case broadcast = 0 - case read = 1 - case writeWithoutResponse = 2 - case write = 3 - case notify = 4 - case indicate = 5 - case authenticatedSignedWrites = 6 - case extendedProperties = 7 -} - -extension CBCharacteristicProperties { - var toCharacteristicProperty: [Int64] { - var properties = [Int64]() - if contains(.broadcast) { - properties.append(CharacteristicProperty.broadcast.rawValue) - } - if contains(.read) { - properties.append(CharacteristicProperty.read.rawValue) - } - if contains(.writeWithoutResponse) { - properties.append(CharacteristicProperty.writeWithoutResponse.rawValue) - } - if contains(.write) { - properties.append(CharacteristicProperty.write.rawValue) - } - if contains(.notify) { - properties.append(CharacteristicProperty.notify.rawValue) - } - if contains(.indicate) { - properties.append(CharacteristicProperty.indicate.rawValue) - } - if contains(.authenticatedSignedWrites) { - properties.append(CharacteristicProperty.authenticatedSignedWrites.rawValue) - } - if contains(.extendedProperties) { - properties.append(CharacteristicProperty.extendedProperties.rawValue) - } - return properties - } -} - -extension CBManagerState { - func toAvailabilityState() -> AvailabilityState { - switch self { - case .unknown: - return AvailabilityState.unknown - case .resetting: - return AvailabilityState.resetting - case .unsupported: - return AvailabilityState.unsupported - case .unauthorized: - return AvailabilityState.unauthorized - case .poweredOff: - return AvailabilityState.poweredOff - case .poweredOn: - return AvailabilityState.poweredOn - @unknown default: - return AvailabilityState.unknown - } - } -} - -extension Error { - func toPigeonError() -> PigeonError { - let nsError = self as NSError - let errorCode: String = .init(nsError.code) - let errorDescription: String = nsError.localizedDescription - return PigeonError(code: errorCode, message: errorDescription, details: nil) - } -} - -public extension CBUUID { - var uuidStr: String { - uuidString.lowercased() - } -} - -public extension CBPeripheral { - // FIXME: https://forums.developer.apple.com/thread/84375 - var uuid: UUID { - value(forKey: "identifier") as! NSUUID as UUID - } - - func getCharacteristic(_ characteristic: String, of service: String) -> CBCharacteristic? { - let GSS_SUFFIX = "0000-1000-8000-00805f9b34fb" - let s = services?.first { - $0.uuid.uuidStr.lowercased() == service.lowercased() || service.lowercased() == "0000\($0.uuid.uuidStr)-\(GSS_SUFFIX)".lowercased() - } - let c = s?.characteristics?.first { - $0.uuid.uuidStr.lowercased() == characteristic.lowercased() || characteristic.lowercased() == "0000\($0.uuid.uuidStr)-\(GSS_SUFFIX)".lowercased() - } - return c - } - - func setNotifiable(_ bleInputProperty: String, for characteristic: String, of service: String) { - guard let characteristic = getCharacteristic(characteristic, of: service) else { - return - } - setNotifyValue(bleInputProperty != "disabled", for: characteristic) - } -} - -extension FlutterStandardTypedData { - func toData() -> Data { - return Data(data) - } -} - -// Future classes -class CharacteristicReadFuture { - let deviceId: String - let characteristicId: String - let serviceId: String? - let result: (Result) -> Void - - init(deviceId: String, characteristicId: String, serviceId: String?, result: @escaping (Result) -> Void) { - self.deviceId = deviceId - self.characteristicId = characteristicId - self.serviceId = serviceId - self.result = result - } -} - -class CharacteristicWriteFuture { - let deviceId: String - let characteristicId: String - let serviceId: String? - let result: (Result) -> Void - - init(deviceId: String, characteristicId: String, serviceId: String?, result: @escaping (Result) -> Void) { - self.deviceId = deviceId - self.characteristicId = characteristicId - self.serviceId = serviceId - self.result = result - } -} - -class CharacteristicNotifyFuture { - let deviceId: String - let characteristicId: String - let serviceId: String? - let result: (Result) -> Void - - init(deviceId: String, characteristicId: String, serviceId: String?, result: @escaping (Result) -> Void) { - self.deviceId = deviceId - self.characteristicId = characteristicId - self.serviceId = serviceId - self.result = result - } -} - -class DiscoverServicesFuture { - let deviceId: String - let result: (Result<[UniversalBleService], Error>) -> Void - - init(deviceId: String, result: @escaping (Result<[UniversalBleService], Error>) -> Void) { - self.deviceId = deviceId - self.result = result - } -} diff --git a/universal_ble/darwin/Classes/UniversalBlePlugin.swift b/universal_ble/darwin/Classes/UniversalBlePlugin.swift deleted file mode 100644 index f3707ab06..000000000 --- a/universal_ble/darwin/Classes/UniversalBlePlugin.swift +++ /dev/null @@ -1,501 +0,0 @@ -import CoreBluetooth - -#if os(iOS) - import Flutter - import UIKit -#elseif os(OSX) - import Cocoa - import FlutterMacOS -#endif - -public class UniversalBlePlugin: NSObject, FlutterPlugin { - public static func register(with registrar: FlutterPluginRegistrar) { - var messenger: FlutterBinaryMessenger - #if os(iOS) - messenger = registrar.messenger() - #elseif os(macOS) - messenger = registrar.messenger - #endif - let callbackChannel = UniversalBleCallbackChannel(binaryMessenger: messenger) - let api = BleCentralDarwin(callbackChannel: callbackChannel) - UniversalBlePlatformChannelSetup.setUp(binaryMessenger: messenger, api: api) - } -} - -private var discoveredPeripherals = [String: CBPeripheral]() - -private class BleCentralDarwin: NSObject, UniversalBlePlatformChannel, CBCentralManagerDelegate, CBPeripheralDelegate { - var callbackChannel: UniversalBleCallbackChannel - private var universalBleFilterUtil = UniversalBleFilterUtil() - private lazy var manager: CBCentralManager = .init(delegate: self, queue: nil) - private var availabilityStateUpdateHandlers: [(Result) -> Void] = [] - private var discoveredServicesProgressMap: [String: [UniversalBleService]] = [:] - private var characteristicReadFutures = [CharacteristicReadFuture]() - private var characteristicWriteFutures = [CharacteristicWriteFuture]() - private var characteristicNotifyFutures = [CharacteristicNotifyFuture]() - private var discoverServicesFutures = [DiscoverServicesFuture]() - - init(callbackChannel: UniversalBleCallbackChannel) { - self.callbackChannel = callbackChannel - super.init() - } - - func getBluetoothAvailabilityState(completion: @escaping (Result) -> Void) { - if manager.state != .unknown { - completion(.success(manager.state.toAvailabilityState().rawValue)) - } else { - availabilityStateUpdateHandlers.append(completion) - _ = manager - } - } - - func enableBluetooth(completion: @escaping (Result) -> Void) { - completion(Result.failure(PigeonError(code: "NotSupported", message: nil, details: nil))) - } - - func disableBluetooth(completion: @escaping (Result) -> Void) { - completion(Result.failure(PigeonError(code: "NotSupported", message: nil, details: nil))) - } - - func startScan(filter: UniversalScanFilter?) throws { - // If filter has any other filter other than official one - let usesCustomFilters = filter?.usesCustomFilters ?? false - - // Apply services filter - var withServices: [CBUUID] = try filter?.withServices.compactMap { $0 }.toCBUUID() ?? [] - - if usesCustomFilters { - print("Using Custom Filters") - universalBleFilterUtil.scanFilter = filter - universalBleFilterUtil.scanFilterServicesUUID = withServices - withServices = [] - } else { - universalBleFilterUtil.scanFilter = nil - universalBleFilterUtil.scanFilterServicesUUID = [] - } - - let options = [CBCentralManagerScanOptionAllowDuplicatesKey: true] - - manager.scanForPeripherals(withServices: withServices, options: options) - } - - func stopScan() throws { - manager.stopScan() - } - - func connect(deviceId: String) throws { - let peripheral = try deviceId.getPeripheral(manager: manager) - peripheral.delegate = self - manager.connect(peripheral) - } - - func disconnect(deviceId: String) throws { - let peripheral = try deviceId.getPeripheral(manager: manager) - if peripheral.state != CBPeripheralState.disconnected { - manager.cancelPeripheralConnection(peripheral) - } - cleanUpConnection(deviceId: deviceId) - } - - func getConnectionState(deviceId: String) throws -> Int64 { - let peripheral = try deviceId.getPeripheral(manager: manager) - switch peripheral.state { - case .connecting: - return BlueConnectionState.connecting.rawValue - case .connected: - return BlueConnectionState.connected.rawValue - case .disconnecting: - return BlueConnectionState.disconnecting.rawValue - case .disconnected: - return BlueConnectionState.disconnected.rawValue - @unknown default: - fatalError() - } - } - - func cleanUpConnection(deviceId: String) { - characteristicReadFutures.removeAll { future in - if future.deviceId == deviceId { - future.result( - Result.failure(PigeonError(code: "DeviceDisconnected", message: "Device Disconnected", details: nil)) - ) - return true - } - return false - } - characteristicWriteFutures.removeAll { future in - if future.deviceId == deviceId { - future.result( - Result.failure(PigeonError(code: "DeviceDisconnected", message: "Device Disconnected", details: nil)) - ) - return true - } - return false - } - characteristicNotifyFutures.removeAll { future in - if future.deviceId == deviceId { - future.result( - Result.failure(PigeonError(code: "DeviceDisconnected", message: "Device Disconnected", details: nil)) - ) - return true - } - return false - } - discoverServicesFutures.removeAll { future in - if future.deviceId == deviceId { - future.result( - Result.failure(PigeonError(code: "DeviceDisconnected", message: "Device Disconnected", details: nil)) - ) - return true - } - return false - } - discoveredServicesProgressMap[deviceId] = nil - } - - func discoverServices(deviceId: String, completion: @escaping (Result<[UniversalBleService], Error>) -> Void) { - guard let peripheral = deviceId.findPeripheral(manager: manager) else { - completion( - Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil)) - ) - return - } - - if discoveredServicesProgressMap[deviceId] != nil { - print("Services discovery already in progress for :\(deviceId), waiting for completion.") - discoverServicesFutures.append(DiscoverServicesFuture(deviceId: deviceId, result: completion)) - return - } - - if let cachedServices = peripheral.services { - // If services already discovered no need to discover again - if !cachedServices.isEmpty { - // print("Services already cached for this peripheral") - discoverServicesFutures.append(DiscoverServicesFuture(deviceId: deviceId, result: completion)) - self.peripheral(peripheral, didDiscoverServices: nil) - return - } - } - - peripheral.discoverServices(nil) - discoverServicesFutures.append(DiscoverServicesFuture(deviceId: deviceId, result: completion)) - } - - private func onServicesDiscovered(deviceId: String, services: [UniversalBleService]) { - discoverServicesFutures.removeAll { future in - if future.deviceId == deviceId { - future.result(Result.success(services)) - return true - } - return false - } - } - - func setNotifiable(deviceId: String, service: String, characteristic: String, bleInputProperty: Int64, completion: @escaping (Result) -> Void) { - guard let peripheral = deviceId.findPeripheral(manager: manager) else { - completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil))) - return - } - - guard let gattCharacteristic = peripheral.getCharacteristic(characteristic, of: service) else { - completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown characteristic:\(characteristic)", details: nil))) - return - } - - if bleInputProperty == BleInputProperty.notification.rawValue && !gattCharacteristic.properties.contains(.notify) { - completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support notify", details: nil))) - return - } - - if bleInputProperty == BleInputProperty.indication.rawValue && !gattCharacteristic.properties.contains(.indicate) { - /*completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support indicate", details: nil))) - return*/ - } - - let shouldNotify = bleInputProperty != BleInputProperty.disabled.rawValue - peripheral.setNotifyValue(shouldNotify, for: gattCharacteristic) - characteristicNotifyFutures.append(CharacteristicNotifyFuture(deviceId: deviceId, characteristicId: gattCharacteristic.uuid.uuidStr, serviceId: gattCharacteristic.service?.uuid.uuidStr, result: completion)) - } - - func readValue(deviceId: String, service: String, characteristic: String, completion: @escaping (Result) -> Void) { - guard let peripheral = deviceId.findPeripheral(manager: manager) else { - completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil))) - return - } - guard let gattCharacteristic = peripheral.getCharacteristic(characteristic, of: service) else { - completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown characteristic:\(characteristic)", details: nil))) - return - } - if !gattCharacteristic.properties.contains(.read) { - completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support read", details: nil))) - return - } - peripheral.readValue(for: gattCharacteristic) - characteristicReadFutures.append(CharacteristicReadFuture(deviceId: deviceId, characteristicId: gattCharacteristic.uuid.uuidStr, serviceId: gattCharacteristic.service?.uuid.uuidStr, result: completion)) - } - - func writeValue(deviceId: String, service: String, characteristic: String, value: FlutterStandardTypedData, bleOutputProperty: Int64, completion: @escaping (Result) -> Void) { - guard let peripheral = deviceId.findPeripheral(manager: manager) else { - completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil))) - return - } - guard let gattCharacteristic = peripheral.getCharacteristic(characteristic, of: service) else { - completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown characteristic:\(characteristic)", details: nil))) - return - } - - let type = bleOutputProperty == BleOutputProperty.withoutResponse.rawValue ? CBCharacteristicWriteType.withoutResponse : CBCharacteristicWriteType.withResponse - - if type == CBCharacteristicWriteType.withResponse { - if !gattCharacteristic.properties.contains(.write) { - completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support write withResponse", details: nil))) - return - } - } else if type == CBCharacteristicWriteType.withoutResponse { - if !gattCharacteristic.properties.contains(.writeWithoutResponse) { - completion(Result.failure(PigeonError(code: "InvalidAction", message: "Characteristic does not support write withoutResponse", details: nil))) - return - } - } - peripheral.writeValue(value.data, for: gattCharacteristic, type: type) - - if type == CBCharacteristicWriteType.withResponse { - // Wait for future response - characteristicWriteFutures.append(CharacteristicWriteFuture(deviceId: deviceId, characteristicId: gattCharacteristic.uuid.uuidStr, serviceId: gattCharacteristic.service?.uuid.uuidStr, result: completion)) - } else { - completion(Result.success({}())) - } - } - - func requestMtu(deviceId: String, expectedMtu _: Int64, completion: @escaping (Result) -> Void) { - guard let peripheral = deviceId.findPeripheral(manager: manager) else { - completion(Result.failure(PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil))) - return - } - let mtu = peripheral.maximumWriteValueLength(for: CBCharacteristicWriteType.withoutResponse) - let GATT_HEADER_LENGTH = 3 - let mtuResult = Int64(mtu + GATT_HEADER_LENGTH) - completion(Result.success(mtuResult)) - } - - func isPaired(deviceId _: String, completion: @escaping (Result) -> Void) { - completion(Result.failure(PigeonError(code: "NotSupported", message: nil, details: nil))) - } - - func pair(deviceId _: String, completion: @escaping (Result) -> Void) { - completion(Result.failure(PigeonError(code: "Implemented in Dart", message: nil, details: nil))) - } - - func unPair(deviceId _: String) throws { - throw PigeonError(code: "NotSupported", message: nil, details: nil) - } - - func getSystemDevices(withServices: [String], completion: @escaping (Result<[UniversalBleScanResult], Error>) -> Void) { - var servicesFilter = withServices - if servicesFilter.isEmpty { - print("No services filter was set for getting system connected devices. Using default services...") - - // Add several generic services - servicesFilter = ["1800", "1801", "180A", "180D", "1810", "181B", "1808", "181D", "1816", "1814", "181A", "1802", "1803", "1804", "1815", "1805", "1807", "1806", "1848", "185E", "180F", "1812", "180E", "1813"] - } - var filterCBUUID = servicesFilter.map { CBUUID(string: $0) } - let bleDevices = manager.retrieveConnectedPeripherals(withServices: filterCBUUID) - bleDevices.forEach { $0.saveCache() } - completion(Result.success(bleDevices.map { - UniversalBleScanResult( - deviceId: $0.uuid.uuidString, - name: $0.name ?? "" - ) - })) - } - - func centralManagerDidUpdateState(_ central: CBCentralManager) { - let state = central.state.toAvailabilityState().rawValue - callbackChannel.onAvailabilityChanged(state: state) { _ in } - // Complete Pending state handler - availabilityStateUpdateHandlers.removeAll { handler in - handler(.success(state)) - return true - } - } - - public func centralManager(_: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String: Any], rssi RSSI: NSNumber) { - // Store the discovered peripheral using its UUID as the key - peripheral.saveCache() - - // Extract manufacturer data and service UUIDs from the advertisement data - let manufacturerData = advertisementData[CBAdvertisementDataManufacturerDataKey] as? Data - let services = (advertisementData[CBAdvertisementDataServiceUUIDsKey] as? [CBUUID]) - - var manufacturerDataList: [UniversalManufacturerData] = [] - var universalManufacturerData: UniversalManufacturerData? = nil - - if let msd = manufacturerData, msd.count > 2 { - let companyIdentifier = msd.prefix(2).withUnsafeBytes { $0.load(as: UInt16.self) } - let data = FlutterStandardTypedData(bytes: msd.suffix(from: 2)) - universalManufacturerData = UniversalManufacturerData(companyIdentifier: Int64(companyIdentifier), data: data) - manufacturerDataList.append(universalManufacturerData!) - } - - // Apply custom filters and return early if the peripheral doesn't match - if !universalBleFilterUtil.filterDevice(name: peripheral.name, manufacturerData: universalManufacturerData, services: services) { - return - } - - callbackChannel.onScanResult(result: UniversalBleScanResult( - deviceId: peripheral.uuid.uuidString, - name: peripheral.name, - isPaired: nil, - rssi: RSSI as? Int64, - manufacturerDataList: manufacturerDataList, - services: services?.map { $0.uuidStr } - )) { _ in } - } - - public func centralManager(_: CBCentralManager, didConnect peripheral: CBPeripheral) { - callbackChannel.onConnectionChanged(deviceId: peripheral.uuid.uuidString, connected: true, error: nil) { _ in } - } - - public func centralManager(_: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error _: Error?) { - callbackChannel.onConnectionChanged(deviceId: peripheral.uuid.uuidString, connected: false, error: nil) { _ in } - cleanUpConnection(deviceId: peripheral.uuid.uuidString) - } - - public func centralManager(_: CBCentralManager, didFailToConnect peripheral: CBPeripheral, error: Error?) { - callbackChannel.onConnectionChanged(deviceId: peripheral.uuid.uuidString, connected: false, error: error?.localizedDescription) { _ in } - cleanUpConnection(deviceId: peripheral.uuid.uuidString) - } - - public func peripheral(_ peripheral: CBPeripheral, didDiscoverServices _: Error?) { - let deviceId = peripheral.identifier.uuidString - guard let services = peripheral.services else { - onServicesDiscovered(deviceId: deviceId, services: []) - return - } - discoveredServicesProgressMap[deviceId] = services.map { UniversalBleService(uuid: $0.uuid.uuidString, characteristics: nil) } - for service in services { - if let cachedChar = service.characteristics { - if !cachedChar.isEmpty { - self.peripheral(peripheral, didDiscoverCharacteristicsFor: service, error: nil) - continue - } - } - peripheral.discoverCharacteristics(nil, for: service) - } - } - - public func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error _: Error?) { - let deviceId = peripheral.identifier.uuidString - var universalBleCharacteristicsList: [UniversalBleCharacteristic] = [] - for characteristic in service.characteristics ?? [] { - universalBleCharacteristicsList.append( - UniversalBleCharacteristic(uuid: characteristic.uuid.uuidString, properties: characteristic.properties.toCharacteristicProperty)) - } - // Update discoveredServicesProgressMap - if let index = discoveredServicesProgressMap[deviceId]?.firstIndex(where: { $0.uuid == service.uuid.uuidString }) { - discoveredServicesProgressMap[deviceId]?[index] = UniversalBleService(uuid: service.uuid.uuidString, characteristics: universalBleCharacteristicsList) - } - // Check if all services and their characteristics have been discovered - if discoveredServicesProgressMap[deviceId]?.allSatisfy({ $0.characteristics != nil }) ?? false { - onServicesDiscovered(deviceId: deviceId, services: discoveredServicesProgressMap[deviceId] ?? []) - discoveredServicesProgressMap[deviceId] = nil - } - } - - public func peripheral(_ peripheral: CBPeripheral, didWriteValueFor characteristic: CBCharacteristic, error: Error?) { - characteristicWriteFutures.removeAll { future in - if future.deviceId == peripheral.uuid.uuidString && future.characteristicId == characteristic.uuid.uuidStr && future.serviceId == characteristic.service?.uuid.uuidStr { - if let pigeonError = error?.toPigeonError() { - future.result(Result.failure(pigeonError)) - } else { - future.result(Result.success({}())) - } - return true - } - return false - } - } - - public func peripheral(_ peripheral: CBPeripheral, didUpdateNotificationStateFor characteristic: CBCharacteristic, error: Error?) { - characteristicNotifyFutures.removeAll { future in - if future.deviceId == peripheral.uuid.uuidString && future.characteristicId == characteristic.uuid.uuidStr && future.serviceId == characteristic.service?.uuid.uuidStr { - if let pigeonError = error?.toPigeonError() { - future.result(Result.failure(pigeonError)) - } else { - future.result(Result.success({}())) - } - return true - } - return false - } - } - - public func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) { - // Update callbackChannel if notifying - if characteristic.isNotifying { - if let characteristicValue = characteristic.value { - callbackChannel.onValueChanged(deviceId: peripheral.uuid.uuidString, characteristicId: characteristic.uuid.uuidStr, value: FlutterStandardTypedData(bytes: characteristicValue)) { _ in } - } - } - - if characteristicReadFutures.count == 0 { - return - } - - // Update futures for readValue - characteristicReadFutures.removeAll { future in - if future.deviceId == peripheral.uuid.uuidString && future.characteristicId == characteristic.uuid.uuidStr && future.serviceId == characteristic.service?.uuid.uuidStr { - if let pigeonError = error?.toPigeonError() { - future.result(Result.failure(pigeonError)) - } else { - if let characteristicValue = characteristic.value { - future.result(Result.success(FlutterStandardTypedData(bytes: characteristicValue))) - } else { - future.result(Result.failure(PigeonError(code: "ReadFailed", message: "No value", details: nil))) - } - } - return true - } - return false - } - } -} - -extension CBPeripheral { - func saveCache(){ - discoveredPeripherals[self.uuid.uuidString] = self - } -} - -extension String { - func getPeripheral(manager: CBCentralManager) throws -> CBPeripheral { - guard let peripheral = findPeripheral(manager: manager) else { - throw PigeonError(code: "IllegalArgument", message: "Unknown deviceId:\(self)", details: nil) - } - return peripheral - } - - func findPeripheral(manager: CBCentralManager) -> CBPeripheral? { - if let peripheral = discoveredPeripherals[self] { - return peripheral - } - if let uuid = UUID(uuidString: self) { - let peripherals = manager.retrievePeripherals(withIdentifiers: [uuid]) - if let peripheral = peripherals.first { - return peripheral - } - } - return nil - } -} - -extension [String] { - func toCBUUID() throws -> [CBUUID] { - return try compactMap { serviceUUID in - guard UUID(uuidString: serviceUUID) != nil else { - throw PigeonError(code: "IllegalArgument", message: "Invalid service UUID:\(serviceUUID)", details: nil) - } - return CBUUID(string: serviceUUID) - } - } -} diff --git a/universal_ble/darwin/universal_ble.podspec b/universal_ble/darwin/universal_ble.podspec deleted file mode 100644 index bbae3557c..000000000 --- a/universal_ble/darwin/universal_ble.podspec +++ /dev/null @@ -1,25 +0,0 @@ -# -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. -# Run `pod lib lint universal_ble.podspec` to validate before publishing. -# -Pod::Spec.new do |s| - s.name = 'universal_ble' - s.version = '0.0.1' - s.summary = 'A new Flutter plugin project.' - s.description = <<-DESC -A new Flutter plugin project. - DESC - s.homepage = 'http://example.com' - s.license = { :file => '../LICENSE' } - s.author = { 'Your Company' => 'email@example.com' } - s.source = { :path => '.' } - s.source_files = 'Classes/**/*' - s.ios.dependency 'Flutter' - s.osx.dependency 'FlutterMacOS' - s.ios.deployment_target = '9.0' - s.osx.deployment_target = '10.12' - - # Flutter.framework does not contain a i386 slice. - s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' } - s.swift_version = '5.0' -end diff --git a/universal_ble/example/.gitignore b/universal_ble/example/.gitignore deleted file mode 100644 index 29a5418f7..000000000 --- a/universal_ble/example/.gitignore +++ /dev/null @@ -1,47 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.build/ -.buildlog/ -.history -.svn/ -.swiftpm/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release -.metadata \ No newline at end of file diff --git a/universal_ble/example/README.md b/universal_ble/example/README.md deleted file mode 100644 index d991addec..000000000 --- a/universal_ble/example/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# universal_ble_example - -Demonstrates how to use the universal_ble plugin. diff --git a/universal_ble/example/analysis_options.yaml b/universal_ble/example/analysis_options.yaml deleted file mode 100644 index 0d2902135..000000000 --- a/universal_ble/example/analysis_options.yaml +++ /dev/null @@ -1,28 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter apps, -# packages, and plugins designed to encourage good coding practices. -include: package:flutter_lints/flutter.yaml - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at https://dart.dev/lints. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/universal_ble/example/android/.gitignore b/universal_ble/example/android/.gitignore deleted file mode 100644 index 6f568019d..000000000 --- a/universal_ble/example/android/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -gradle-wrapper.jar -/.gradle -/captures/ -/gradlew -/gradlew.bat -/local.properties -GeneratedPluginRegistrant.java - -# Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app -key.properties -**/*.keystore -**/*.jks diff --git a/universal_ble/example/android/app/build.gradle b/universal_ble/example/android/app/build.gradle deleted file mode 100644 index c3cbcfb18..000000000 --- a/universal_ble/example/android/app/build.gradle +++ /dev/null @@ -1,65 +0,0 @@ -plugins { - id "com.android.application" - id "kotlin-android" - id "dev.flutter.flutter-gradle-plugin" -} - -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -android { - namespace "com.navideck.universal_ble_example" - compileSdkVersion 34 - ndkVersion flutter.ndkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - defaultConfig { - applicationId "com.navideck.universal_ble_example" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. - minSdkVersion 21 - targetSdkVersion 34 - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - buildTypes { - release { - // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies {} diff --git a/universal_ble/example/android/app/src/debug/AndroidManifest.xml b/universal_ble/example/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 399f6981d..000000000 --- a/universal_ble/example/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/universal_ble/example/android/app/src/main/AndroidManifest.xml b/universal_ble/example/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index 725af8803..000000000 --- a/universal_ble/example/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/universal_ble/example/android/app/src/main/kotlin/com/navideck/universal_ble_example/MainActivity.kt b/universal_ble/example/android/app/src/main/kotlin/com/navideck/universal_ble_example/MainActivity.kt deleted file mode 100644 index cf1d44306..000000000 --- a/universal_ble/example/android/app/src/main/kotlin/com/navideck/universal_ble_example/MainActivity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.navideck.universal_ble_example - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} diff --git a/universal_ble/example/android/app/src/main/res/drawable-v21/launch_background.xml b/universal_ble/example/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f3f..000000000 --- a/universal_ble/example/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/universal_ble/example/android/app/src/main/res/drawable/launch_background.xml b/universal_ble/example/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f88..000000000 --- a/universal_ble/example/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/universal_ble/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/universal_ble/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/universal_ble/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/universal_ble/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/universal_ble/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/universal_ble/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/universal_ble/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/universal_ble/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372eebdb28e45604e46eeda8dd24651419bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/universal_ble/example/android/app/src/main/res/values-night/styles.xml b/universal_ble/example/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be74..000000000 --- a/universal_ble/example/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/universal_ble/example/android/app/src/main/res/values/styles.xml b/universal_ble/example/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef8805..000000000 --- a/universal_ble/example/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/universal_ble/example/android/app/src/profile/AndroidManifest.xml b/universal_ble/example/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 399f6981d..000000000 --- a/universal_ble/example/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - diff --git a/universal_ble/example/android/build.gradle b/universal_ble/example/android/build.gradle deleted file mode 100644 index bc157bd1a..000000000 --- a/universal_ble/example/android/build.gradle +++ /dev/null @@ -1,18 +0,0 @@ -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -tasks.register("clean", Delete) { - delete rootProject.buildDir -} diff --git a/universal_ble/example/android/gradle.properties b/universal_ble/example/android/gradle.properties deleted file mode 100644 index 94adc3a3f..000000000 --- a/universal_ble/example/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true -android.enableJetifier=true diff --git a/universal_ble/example/android/gradle/wrapper/gradle-wrapper.properties b/universal_ble/example/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index 3c472b99c..000000000 --- a/universal_ble/example/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,5 +0,0 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip diff --git a/universal_ble/example/android/settings.gradle b/universal_ble/example/android/settings.gradle deleted file mode 100644 index 7d0644936..000000000 --- a/universal_ble/example/android/settings.gradle +++ /dev/null @@ -1,25 +0,0 @@ -pluginManagement { - def flutterSdkPath = { - def properties = new Properties() - file("local.properties").withInputStream { properties.load(it) } - def flutterSdkPath = properties.getProperty("flutter.sdk") - assert flutterSdkPath != null, "flutter.sdk not set in local.properties" - return flutterSdkPath - }() - - includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") - - repositories { - google() - mavenCentral() - gradlePluginPortal() - } -} - -plugins { - id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "7.3.0" apply false - id "org.jetbrains.kotlin.android" version "1.7.10" apply false -} - -include ":app" \ No newline at end of file diff --git a/universal_ble/example/ios/.gitignore b/universal_ble/example/ios/.gitignore deleted file mode 100644 index 7a7f9873a..000000000 --- a/universal_ble/example/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/universal_ble/example/ios/Flutter/AppFrameworkInfo.plist b/universal_ble/example/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 7c5696400..000000000 --- a/universal_ble/example/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 12.0 - - diff --git a/universal_ble/example/ios/Flutter/Debug.xcconfig b/universal_ble/example/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6f3..000000000 --- a/universal_ble/example/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/universal_ble/example/ios/Flutter/Release.xcconfig b/universal_ble/example/ios/Flutter/Release.xcconfig deleted file mode 100644 index c4855bfe2..000000000 --- a/universal_ble/example/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/universal_ble/example/ios/Podfile b/universal_ble/example/ios/Podfile deleted file mode 100644 index d97f17e22..000000000 --- a/universal_ble/example/ios/Podfile +++ /dev/null @@ -1,44 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '12.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/universal_ble/example/ios/Podfile.lock b/universal_ble/example/ios/Podfile.lock deleted file mode 100644 index 1b112c7f7..000000000 --- a/universal_ble/example/ios/Podfile.lock +++ /dev/null @@ -1,41 +0,0 @@ -PODS: - - device_info_plus (0.0.1): - - Flutter - - Flutter (1.0.0) - - integration_test (0.0.1): - - Flutter - - permission_handler_apple (9.1.1): - - Flutter - - universal_ble (0.0.1): - - Flutter - - FlutterMacOS - -DEPENDENCIES: - - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - - Flutter (from `Flutter`) - - integration_test (from `.symlinks/plugins/integration_test/ios`) - - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) - - universal_ble (from `.symlinks/plugins/universal_ble/darwin`) - -EXTERNAL SOURCES: - device_info_plus: - :path: ".symlinks/plugins/device_info_plus/ios" - Flutter: - :path: Flutter - integration_test: - :path: ".symlinks/plugins/integration_test/ios" - permission_handler_apple: - :path: ".symlinks/plugins/permission_handler_apple/ios" - universal_ble: - :path: ".symlinks/plugins/universal_ble/darwin" - -SPEC CHECKSUMS: - device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6 - Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - integration_test: 13825b8a9334a850581300559b8839134b124670 - permission_handler_apple: e76247795d700c14ea09e3a2d8855d41ee80a2e6 - universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6 - -PODFILE CHECKSUM: 819463e6a0290f5a72f145ba7cde16e8b6ef0796 - -COCOAPODS: 1.15.2 diff --git a/universal_ble/example/ios/Runner.xcodeproj/project.pbxproj b/universal_ble/example/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index ee051a49e..000000000 --- a/universal_ble/example/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,724 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 3C020DDC565FF8D37F3235C5 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E92536821956EA00892DD639 /* Pods_Runner.framework */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; - B2742FE9E6C1C51A78D26865 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9AB88605F389EEED340E5872 /* Pods_RunnerTests.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 97C146E61CF9000F007C117D /* Project object */; - proxyType = 1; - remoteGlobalIDString = 97C146ED1CF9000F007C117D; - remoteInfo = Runner; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0D9A3CA727A1375BDCCC70CF /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 30B9BF32CD25D1ECB8BB5DCA /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; - 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 411AF23EC127806AE083685B /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 4414252E2351EBDB7761F83A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 6CF659084054FE2807275A3A /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 9AB88605F389EEED340E5872 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A11EED44BE0324AD23055698 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - E92536821956EA00892DD639 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8EE4584064C335A1F66BB6D9 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - B2742FE9E6C1C51A78D26865 /* Pods_RunnerTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 3C020DDC565FF8D37F3235C5 /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 68033A1F47BF85C19A1ED513 /* Frameworks */ = { - isa = PBXGroup; - children = ( - E92536821956EA00892DD639 /* Pods_Runner.framework */, - 9AB88605F389EEED340E5872 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 331C8082294A63A400263BE5 /* RunnerTests */, - FAF8A3758B0770B81319B3AE /* Pods */, - 68033A1F47BF85C19A1ED513 /* Frameworks */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - 331C8081294A63A400263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; - FAF8A3758B0770B81319B3AE /* Pods */ = { - isa = PBXGroup; - children = ( - 30B9BF32CD25D1ECB8BB5DCA /* Pods-Runner.debug.xcconfig */, - 4414252E2351EBDB7761F83A /* Pods-Runner.release.xcconfig */, - A11EED44BE0324AD23055698 /* Pods-Runner.profile.xcconfig */, - 411AF23EC127806AE083685B /* Pods-RunnerTests.debug.xcconfig */, - 0D9A3CA727A1375BDCCC70CF /* Pods-RunnerTests.release.xcconfig */, - 6CF659084054FE2807275A3A /* Pods-RunnerTests.profile.xcconfig */, - ); - path = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C8080294A63A400263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 7E79F47357B64513A488AC3E /* [CP] Check Pods Manifest.lock */, - 331C807D294A63A400263BE5 /* Sources */, - 331C807F294A63A400263BE5 /* Resources */, - 8EE4584064C335A1F66BB6D9 /* Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 331C8086294A63A400263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 3CE2E408302E9BF272A3BE07 /* [CP] Check Pods Manifest.lock */, - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 2F5EDC3CC74E7431E4CB95DF /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C8080294A63A400263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 97C146ED1CF9000F007C117D; - }; - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - 331C8080294A63A400263BE5 /* RunnerTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C807F294A63A400263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 2F5EDC3CC74E7431E4CB95DF /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 3CE2E408302E9BF272A3BE07 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 7E79F47357B64513A488AC3E /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C807D294A63A400263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 97C146ED1CF9000F007C117D /* Runner */; - targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = QQAZR43YM7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 331C8088294A63A400263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 411AF23EC127806AE083685B /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Debug; - }; - 331C8089294A63A400263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0D9A3CA727A1375BDCCC70CF /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Release; - }; - 331C808A294A63A400263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 6CF659084054FE2807275A3A /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = QQAZR43YM7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = QQAZR43YM7; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C8088294A63A400263BE5 /* Debug */, - 331C8089294A63A400263BE5 /* Release */, - 331C808A294A63A400263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a62..000000000 --- a/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5e..000000000 --- a/universal_ble/example/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/universal_ble/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/universal_ble/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 8e3ca5dfe..000000000 --- a/universal_ble/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/universal_ble/example/ios/Runner.xcworkspace/contents.xcworkspacedata b/universal_ble/example/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14c..000000000 --- a/universal_ble/example/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5e..000000000 --- a/universal_ble/example/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/universal_ble/example/ios/Runner/AppDelegate.swift b/universal_ble/example/ios/Runner/AppDelegate.swift deleted file mode 100644 index 70693e4a8..000000000 --- a/universal_ble/example/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import UIKit -import Flutter - -@UIApplicationMain -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fab2..000000000 --- a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4725e9b0ddb1deab583e5b5102493aa332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10932 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 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 797d452e458972bab9d994556c8305db4c827017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index 6ed2d933e1120817fe9182483a228007b18ab6ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cd7b0099ca80c806f8fe495613e8d6c69460d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index fe730945a01f64a61e2235dbe3f45b08f7729182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index 502f463a9bc882b461c96aadf492d1729e49e725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index 0ec303439225b78712f49115768196d8d76f6790..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index e9f5fea27c705180eb716271f41b582e76dcbd90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1674 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 diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index 0467bf12aa4d28f374bb26596605a46dcbb3e7c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2fd..000000000 --- a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725b7..000000000 --- a/universal_ble/example/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/universal_ble/example/ios/Runner/Base.lproj/LaunchScreen.storyboard b/universal_ble/example/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c7c..000000000 --- a/universal_ble/example/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/universal_ble/example/ios/Runner/Base.lproj/Main.storyboard b/universal_ble/example/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c28516f..000000000 --- a/universal_ble/example/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/universal_ble/example/ios/Runner/Info.plist b/universal_ble/example/ios/Runner/Info.plist deleted file mode 100644 index 308732553..000000000 --- a/universal_ble/example/ios/Runner/Info.plist +++ /dev/null @@ -1,53 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Universal BLE - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - universal_ble_example - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - - NSBluetoothAlwaysUsageDescription - Discover Bluetooth devices - NSBluetoothPeripheralUsageDescription - Discover Bluetooth devices - - diff --git a/universal_ble/example/ios/Runner/Runner-Bridging-Header.h b/universal_ble/example/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a560..000000000 --- a/universal_ble/example/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/universal_ble/example/ios/RunnerTests/RunnerTests.swift b/universal_ble/example/ios/RunnerTests/RunnerTests.swift deleted file mode 100644 index 344ed3e0c..000000000 --- a/universal_ble/example/ios/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,26 +0,0 @@ -import Flutter -import UIKit -import XCTest - -@testable import universal_ble - -// This demonstrates a simple unit test of the Swift portion of this plugin's implementation. -// -// See https://developer.apple.com/documentation/xctest for more information about using XCTest. - -class RunnerTests: XCTestCase { - - func testGetPlatformVersion() { - let plugin = UniversalBlePlugin() - - let call = FlutterMethodCall(methodName: "getPlatformVersion", arguments: []) - - let resultExpectation = expectation(description: "result block must be called.") - plugin.handle(call) { result in - XCTAssertEqual(result as! String, "iOS " + UIDevice.current.systemVersion) - resultExpectation.fulfill() - } - waitForExpectations(timeout: 1) - } - -} diff --git a/universal_ble/example/lib/data/mock_universal_ble.dart b/universal_ble/example/lib/data/mock_universal_ble.dart deleted file mode 100644 index 233e8c654..000000000 --- a/universal_ble/example/lib/data/mock_universal_ble.dart +++ /dev/null @@ -1,124 +0,0 @@ -import 'dart:convert'; -import 'dart:typed_data'; - -import 'package:universal_ble/universal_ble.dart'; - -/// Mock implementation of [UniversalBlePlatform] for testing -class MockUniversalBle extends UniversalBlePlatform { - final _mockBleDevice = BleDevice( - name: 'MockDevice', - deviceId: 'MockDeviceId', - rssi: 50, - manufacturerDataList: [], - ); - - Uint8List _serviceValue = utf8.encode('Result'); - - final BleService _mockService = BleService('180', [ - BleCharacteristic('180A', [ - CharacteristicProperty.read, - CharacteristicProperty.write, - CharacteristicProperty.notify, - ]), - ]); - - @override - Future startScan({ - ScanFilter? scanFilter, - PlatformConfig? platformConfig, - }) async => - updateScanResult(_mockBleDevice); - - @override - Future stopScan() async {} - - @override - Future connect(String deviceId, {Duration? connectionTimeout}) async { - updateConnection(deviceId, true); - } - - @override - Future disconnect(String deviceId) async { - updateConnection(deviceId, false); - } - - @override - Future> discoverServices(String deviceId) async { - return [_mockService]; - } - - @override - Future enableBluetooth() async { - await Future.delayed(const Duration(milliseconds: 500)); - return true; - } - - @override - Future getBluetoothAvailabilityState() async { - return AvailabilityState.poweredOn; - } - - @override - Future> getSystemDevices(List? withServices) async { - return []; - } - - @override - Future readValue( - String deviceId, - String service, - String characteristic, { - final Duration? timeout, - }) async { - await Future.delayed(const Duration(milliseconds: 500)); - return _serviceValue; - } - - @override - Future writeValue( - String deviceId, - String service, - String characteristic, - Uint8List value, - BleOutputProperty bleOutputProperty) async { - await Future.delayed(const Duration(milliseconds: 500)); - _serviceValue = value; - } - - @override - Future requestMtu(String deviceId, int expectedMtu) async { - await Future.delayed(const Duration(seconds: 1)); - return 512; - } - - @override - Future setNotifiable(String deviceId, String service, - String characteristic, BleInputProperty bleInputProperty) async {} - - @override - Future isPaired(String deviceId) async { - await Future.delayed(const Duration(milliseconds: 500)); - return true; - } - - @override - Future pair(String deviceId) async { - updatePairingState(deviceId, true); - return true; - } - - @override - Future unpair(String deviceId) async { - updatePairingState(deviceId, false); - } - - @override - Future getConnectionState(String deviceId) { - throw UnimplementedError(); - } - - @override - Future disableBluetooth() { - throw UnimplementedError(); - } -} diff --git a/universal_ble/example/lib/data/permission_handler.dart b/universal_ble/example/lib/data/permission_handler.dart deleted file mode 100644 index c98d05679..000000000 --- a/universal_ble/example/lib/data/permission_handler.dart +++ /dev/null @@ -1,101 +0,0 @@ -// ignore_for_file: avoid_print - -import 'dart:async'; -import 'dart:io'; - -import 'package:device_info_plus/device_info_plus.dart'; -import 'package:flutter/foundation.dart'; -import 'package:permission_handler/permission_handler.dart'; - -/* - Required Permissions : - <-----------> - IOS : - - Bluetooth - <-----------> - Android : - if AndroidVersions < 12 - - Location - - Bluetooth - else - - Bluetooth Scan - - Bluetooth Connect - <-----------> - Macos : - <-----------> - Windows : None - <-----------> - Linux : None - <-----------> - Web : - Check if Browser Supports Bluetooth - */ -class PermissionHandler { - static Future arePermissionsGranted() async { - if (!isMobilePlatform) return true; - - var status = await _permissionStatus; - bool blePermissionGranted = status[0]; - bool locationPermissionGranted = status[1]; - - if (locationPermissionGranted && blePermissionGranted) return true; - - if (!blePermissionGranted) { - PermissionStatus blePermissionCheck = - await Permission.bluetooth.request(); - if (blePermissionCheck.isPermanentlyDenied) { - print("Bluetooth Permission Permanently Denied"); - openAppSettings(); - } - return false; - } - - if (!locationPermissionGranted) { - PermissionStatus locationPermissionCheck = - await Permission.location.request(); - if (locationPermissionCheck.isPermanentlyDenied) { - print("Location Permission Permanently Denied"); - openAppSettings(); - } - return false; - } - - return false; - } - - static Future> get _permissionStatus async { - bool blePermissionGranted = false; - bool locationPermissionGranted = false; - - if (await requiresExplicitAndroidBluetoothPermissions) { - bool bleConnectPermission = - (await Permission.bluetoothConnect.request()).isGranted; - bool bleScanPermission = - (await Permission.bluetoothScan.request()).isGranted; - - blePermissionGranted = bleConnectPermission && bleScanPermission; - locationPermissionGranted = true; - } else { - PermissionStatus permissionStatus = await Permission.bluetooth.request(); - blePermissionGranted = permissionStatus.isGranted; - locationPermissionGranted = await requiresLocationPermission - ? (await Permission.locationWhenInUse.request()).isGranted - : true; - } - return [blePermissionGranted, locationPermissionGranted]; - } - - static bool get isMobilePlatform => - !kIsWeb && (Platform.isAndroid || Platform.isIOS); - - static Future get requiresLocationPermission async => - !kIsWeb && - Platform.isAndroid && - (!await requiresExplicitAndroidBluetoothPermissions); - - static Future get requiresExplicitAndroidBluetoothPermissions async { - if (kIsWeb || !Platform.isAndroid) return false; - AndroidDeviceInfo androidInfo = await DeviceInfoPlugin().androidInfo; - return androidInfo.version.sdkInt >= 31; - } -} diff --git a/universal_ble/example/lib/home/home.dart b/universal_ble/example/lib/home/home.dart deleted file mode 100644 index 502df9277..000000000 --- a/universal_ble/example/lib/home/home.dart +++ /dev/null @@ -1,282 +0,0 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:universal_ble/universal_ble.dart'; -import 'package:universal_ble_example/data/mock_universal_ble.dart'; -import 'package:universal_ble_example/home/widgets/scan_filter_widget.dart'; -import 'package:universal_ble_example/home/widgets/scanned_devices_placeholder_widget.dart'; -import 'package:universal_ble_example/home/widgets/scanned_item_widget.dart'; -import 'package:universal_ble_example/data/permission_handler.dart'; -import 'package:universal_ble_example/peripheral_details/peripheral_detail_page.dart'; -import 'package:universal_ble_example/widgets/platform_button.dart'; -import 'package:universal_ble_example/widgets/responsive_buttons_grid.dart'; - -class MyApp extends StatefulWidget { - const MyApp({Key? key}) : super(key: key); - - @override - State createState() => _MyAppState(); -} - -class _MyAppState extends State { - final _bleDevices = []; - bool _isScanning = false; - QueueType _queueType = QueueType.global; - TextEditingController servicesFilterController = TextEditingController(); - TextEditingController namePrefixController = TextEditingController(); - TextEditingController manufacturerDataController = TextEditingController(); - - AvailabilityState? bleAvailabilityState; - ScanFilter? scanFilter; - - @override - void initState() { - super.initState(); - - /// Set mock instance for testing - if (const bool.fromEnvironment('MOCK')) { - UniversalBle.setInstance(MockUniversalBle()); - } - - /// Setup queue and timeout - UniversalBle.queueType = _queueType; - UniversalBle.timeout = const Duration(seconds: 10); - - UniversalBle.onAvailabilityChange = (state) { - setState(() { - bleAvailabilityState = state; - }); - }; - - UniversalBle.onScanResult = (result) { - // log(result.toString()); - int index = _bleDevices.indexWhere((e) => e.deviceId == result.deviceId); - if (index == -1) { - _bleDevices.add(result); - } else { - if (result.name == null && _bleDevices[index].name != null) { - result.name = _bleDevices[index].name; - } - _bleDevices[index] = result; - } - setState(() {}); - }; - - // UniversalBle.onQueueUpdate = (String id, int remainingItems) { - // debugPrint("Queue: $id RemainingItems: $remainingItems"); - // }; - } - - Future startScan() async { - await UniversalBle.startScan( - scanFilter: scanFilter, - ); - } - - Future _getSystemDevices() async { - // For macOS and iOS, it is recommended to set a filter to get system devices - if (defaultTargetPlatform == TargetPlatform.macOS || - defaultTargetPlatform == TargetPlatform.iOS && - (scanFilter?.withServices ?? []).isEmpty) { - showSnackbar( - "No services filter was set for getting system connected devices. Using default services..."); - } - - List devices = await UniversalBle.getSystemDevices( - withServices: scanFilter?.withServices, - ); - if (devices.isEmpty) { - showSnackbar("No System Connected Devices Found"); - } - setState(() { - _bleDevices.clear(); - _bleDevices.addAll(devices); - }); - } - - void _showScanFilterBottomSheet() { - showModalBottomSheet( - isScrollControlled: true, - context: context, - builder: (context) { - return ScanFilterWidget( - servicesFilterController: servicesFilterController, - namePrefixController: namePrefixController, - manufacturerDataController: manufacturerDataController, - onScanFilter: (ScanFilter? filter) { - setState(() { - scanFilter = filter; - }); - }, - ); - }, - ); - } - - void showSnackbar(message) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar(content: Text(message.toString())), - ); - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: const Text('Universal BLE'), - elevation: 4, - actions: [ - if (_isScanning) - const Padding( - padding: EdgeInsets.all(8.0), - child: SizedBox( - width: 20, - height: 20, - child: CircularProgressIndicator.adaptive( - strokeWidth: 2, - )), - ), - ], - ), - body: Column( - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: ResponsiveButtonsGrid( - children: [ - PlatformButton( - text: 'Start Scan', - onPressed: () async { - setState(() { - _bleDevices.clear(); - _isScanning = true; - }); - try { - await startScan(); - } catch (e) { - setState(() { - _isScanning = false; - }); - showSnackbar(e); - } - }, - ), - PlatformButton( - text: 'Stop Scan', - onPressed: () async { - await UniversalBle.stopScan(); - setState(() { - _isScanning = false; - }); - }, - ), - if (BleCapabilities.supportsBluetoothEnableApi) - bleAvailabilityState != AvailabilityState.poweredOn - ? PlatformButton( - text: 'Enable Bluetooth', - onPressed: () async { - bool isEnabled = - await UniversalBle.enableBluetooth(); - showSnackbar("BluetoothEnabled: $isEnabled"); - }, - ) - : PlatformButton( - text: 'Disable Bluetooth', - onPressed: () async { - bool isDisabled = - await UniversalBle.disableBluetooth(); - showSnackbar("BluetoothDisabled: $isDisabled"); - }, - ), - if (BleCapabilities.requiresRuntimePermission) - PlatformButton( - text: 'Check Permissions', - onPressed: () async { - bool hasPermissions = - await PermissionHandler.arePermissionsGranted(); - if (hasPermissions) { - showSnackbar("Permissions granted"); - } - }, - ), - if (BleCapabilities.supportsConnectedDevicesApi) - PlatformButton( - text: 'System Devices', - onPressed: _getSystemDevices, - ), - PlatformButton( - text: 'Queue: ${_queueType.name}', - onPressed: () { - setState(() { - _queueType = switch (_queueType) { - QueueType.global => QueueType.perDevice, - QueueType.perDevice => QueueType.none, - QueueType.none => QueueType.global, - }; - UniversalBle.queueType = _queueType; - }); - }, - ), - PlatformButton( - text: 'Scan Filters', - onPressed: _showScanFilterBottomSheet, - ), - if (_bleDevices.isNotEmpty) - PlatformButton( - text: 'Clear List', - onPressed: () { - setState(() { - _bleDevices.clear(); - }); - }, - ), - ], - ), - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Text( - 'Ble Availability : ${bleAvailabilityState?.name}', - ), - ), - ], - ), - const Divider(color: Colors.blue), - Expanded( - child: _isScanning && _bleDevices.isEmpty - ? const Center(child: CircularProgressIndicator.adaptive()) - : !_isScanning && _bleDevices.isEmpty - ? const ScannedDevicesPlaceholderWidget() - : ListView.separated( - itemCount: _bleDevices.length, - separatorBuilder: (context, index) => const Divider(), - itemBuilder: (context, index) { - BleDevice device = - _bleDevices[_bleDevices.length - index - 1]; - return ScannedItemWidget( - bleDevice: device, - onTap: () { - Navigator.push( - context, - MaterialPageRoute( - builder: (context) => PeripheralDetailPage( - device.deviceId, - device.name ?? "Unknown Peripheral", - ), - )); - UniversalBle.stopScan(); - setState(() { - _isScanning = false; - }); - }, - ); - }, - ), - ), - ], - ), - ); - } -} diff --git a/universal_ble/example/lib/home/widgets/scan_filter_widget.dart b/universal_ble/example/lib/home/widgets/scan_filter_widget.dart deleted file mode 100644 index cd21487b1..000000000 --- a/universal_ble/example/lib/home/widgets/scan_filter_widget.dart +++ /dev/null @@ -1,172 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:universal_ble/universal_ble.dart'; -import 'package:universal_ble_example/widgets/platform_button.dart'; - -class ScanFilterWidget extends StatefulWidget { - final Function(ScanFilter? filter) onScanFilter; - final TextEditingController servicesFilterController; - final TextEditingController namePrefixController; - final TextEditingController manufacturerDataController; - - const ScanFilterWidget({ - super.key, - required this.onScanFilter, - required this.servicesFilterController, - required this.namePrefixController, - required this.manufacturerDataController, - }); - - @override - State createState() => _ScanFilterWidgetState(); -} - -class _ScanFilterWidgetState extends State { - String? error; - - void applyFilter() { - setState(() { - error = null; - }); - try { - List serviceUUids = []; - List namePrefixes = []; - List manufacturerDataFilters = []; - - // Parse Services - if (widget.servicesFilterController.text.isNotEmpty) { - List services = widget.servicesFilterController.text.split(','); - for (String service in services) { - try { - serviceUUids.add(BleUuidParser.string(service.trim())); - } on FormatException catch (_) { - throw Exception("Invalid Service UUID $service"); - } - } - } - - // Parse Name Prefix - String namePrefix = widget.namePrefixController.text; - if (namePrefix.isNotEmpty) { - namePrefixes = namePrefix.split(',').map((e) => e.trim()).toList(); - } - - // Parse Manufacturer Data - String manufacturerDataText = widget.manufacturerDataController.text; - if (manufacturerDataText.isNotEmpty) { - List manufacturerData = manufacturerDataText.split(','); - for (String manufacturer in manufacturerData) { - int? companyIdentifier = int.tryParse(manufacturer); - if (companyIdentifier == null) { - throw Exception("Invalid Manufacturer Data $manufacturer"); - } - manufacturerDataFilters.add( - ManufacturerDataFilter(companyIdentifier: companyIdentifier)); - } - } - - if (serviceUUids.isEmpty && - namePrefixes.isEmpty && - manufacturerDataFilters.isEmpty) { - widget.onScanFilter(null); - } else { - widget.onScanFilter( - ScanFilter( - withServices: serviceUUids, - withNamePrefix: namePrefixes, - withManufacturerData: manufacturerDataFilters, - ), - ); - ScaffoldMessenger.of(context).showSnackBar( - const SnackBar(content: Text("Filters Applied")), - ); - } - Navigator.pop(context); - } catch (e) { - setState(() { - error = e.toString(); - }); - } - } - - void clearFilter() { - widget.servicesFilterController.clear(); - widget.namePrefixController.clear(); - widget.manufacturerDataController.clear(); - widget.onScanFilter(null); - Navigator.pop(context); - } - - @override - Widget build(BuildContext context) { - return Padding( - padding: MediaQuery.of(context).viewInsets.copyWith(left: 20, right: 20), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - const SizedBox(height: 20), - Center( - child: Text( - "Scan Filters", - style: Theme.of(context).textTheme.titleLarge, - ), - ), - const Text("Use comma to add multiple values"), - const Divider(), - const SizedBox(height: 10), - TextFormField( - controller: widget.namePrefixController, - maxLines: 2, - decoration: const InputDecoration( - labelText: "Name Prefixes", - border: OutlineInputBorder(), - ), - ), - const SizedBox(height: 10), - TextFormField( - controller: widget.servicesFilterController, - maxLines: 2, - decoration: const InputDecoration( - labelText: "Services", - border: OutlineInputBorder(), - ), - ), - const SizedBox(height: 10), - TextFormField( - controller: widget.manufacturerDataController, - maxLines: 2, - decoration: const InputDecoration( - labelText: "Manufacturer Data Company IDs", - border: OutlineInputBorder(), - ), - ), - const SizedBox(height: 10), - Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Expanded( - child: PlatformButton( - text: 'Apply', - onPressed: applyFilter, - ), - ), - const SizedBox(width: 10), - Expanded( - child: PlatformButton( - text: 'Clear', - onPressed: clearFilter, - ), - ), - ], - ), - const SizedBox(height: 10), - if (error != null) - Text( - error!, - style: const TextStyle(color: Colors.red), - ), - const SizedBox(height: 10), - ], - ), - ); - } -} diff --git a/universal_ble/example/lib/home/widgets/scanned_devices_placeholder_widget.dart b/universal_ble/example/lib/home/widgets/scanned_devices_placeholder_widget.dart deleted file mode 100644 index b0643c54b..000000000 --- a/universal_ble/example/lib/home/widgets/scanned_devices_placeholder_widget.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; - -class ScannedDevicesPlaceholderWidget extends StatelessWidget { - const ScannedDevicesPlaceholderWidget({Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return const Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Padding( - padding: EdgeInsets.all(8.0), - child: Icon( - Icons.bluetooth, - color: Colors.grey, - size: 100, - ), - ), - Text( - 'Scan For Devices', - style: TextStyle(color: Colors.grey, fontSize: 22), - ) - ], - ); - } -} diff --git a/universal_ble/example/lib/home/widgets/scanned_item_widget.dart b/universal_ble/example/lib/home/widgets/scanned_item_widget.dart deleted file mode 100644 index 0ce70c6af..000000000 --- a/universal_ble/example/lib/home/widgets/scanned_item_widget.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:universal_ble/universal_ble.dart'; - -class ScannedItemWidget extends StatelessWidget { - final BleDevice bleDevice; - final VoidCallback? onTap; - const ScannedItemWidget({super.key, required this.bleDevice, this.onTap}); - - @override - Widget build(BuildContext context) { - String? name = bleDevice.name; - List rawManufacturerData = bleDevice.manufacturerDataList; - ManufacturerData? manufacturerData; - if (rawManufacturerData.isNotEmpty) { - manufacturerData = rawManufacturerData.first; - } - if (name == null || name.isEmpty) name = 'N/A'; - return Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Card( - child: ListTile( - title: Text( - '$name (${bleDevice.rssi})', - ), - subtitle: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(bleDevice.deviceId), - Visibility( - visible: manufacturerData != null, - child: Text(manufacturerData.toString()), - ), - bleDevice.isPaired == true - ? const Text( - "Paired", - style: TextStyle(color: Colors.green), - ) - : const Text( - "Not Paired", - style: TextStyle(color: Colors.red), - ), - ], - ), - trailing: const Icon(Icons.arrow_forward_ios), - onTap: onTap, - ), - ), - ); - } -} diff --git a/universal_ble/example/lib/main.dart b/universal_ble/example/lib/main.dart deleted file mode 100644 index f31ddb1bf..000000000 --- a/universal_ble/example/lib/main.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:universal_ble_example/home/home.dart'; - -void main() { - runApp( - MaterialApp( - title: 'Universal BLE', - debugShowCheckedModeBanner: false, - darkTheme: ThemeData.dark(), - themeMode: ThemeMode.system, - home: const MyApp(), - ), - ); -} diff --git a/universal_ble/example/lib/peripheral_details/peripheral_detail_page.dart b/universal_ble/example/lib/peripheral_details/peripheral_detail_page.dart deleted file mode 100644 index c705848b1..000000000 --- a/universal_ble/example/lib/peripheral_details/peripheral_detail_page.dart +++ /dev/null @@ -1,495 +0,0 @@ -// ignore_for_file: avoid_print, depend_on_referenced_packages - -import 'dart:async'; - -import 'package:convert/convert.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:universal_ble/universal_ble.dart'; -import 'package:universal_ble_example/peripheral_details/widgets/result_widget.dart'; -import 'package:universal_ble_example/peripheral_details/widgets/services_list_widget.dart'; -import 'package:universal_ble_example/widgets/platform_button.dart'; -import 'package:universal_ble_example/widgets/responsive_buttons_grid.dart'; -import 'package:universal_ble_example/widgets/responsive_view.dart'; - -class PeripheralDetailPage extends StatefulWidget { - final String deviceId; - final String deviceName; - const PeripheralDetailPage(this.deviceId, this.deviceName, {Key? key}) - : super(key: key); - - @override - State createState() { - return _PeripheralDetailPageState(); - } -} - -class _PeripheralDetailPageState extends State { - bool isConnected = false; - GlobalKey valueFormKey = GlobalKey(); - List discoveredServices = []; - final List _logs = []; - final binaryCode = TextEditingController(); - - ({ - BleService service, - BleCharacteristic characteristic - })? selectedCharacteristic; - - @override - void initState() { - super.initState(); - UniversalBle.onConnectionChange = _handleConnectionChange; - UniversalBle.onValueChange = _handleValueChange; - UniversalBle.onPairingStateChange = _handlePairingStateChange; - } - - @override - void dispose() { - super.dispose(); - UniversalBle.onConnectionChange = null; - UniversalBle.onValueChange = null; - // Disconnect when leaving the page - if (isConnected) UniversalBle.disconnect(widget.deviceId); - } - - void _addLog(String type, dynamic data) { - setState(() { - _logs.add('$type: ${data.toString()}'); - }); - } - - void _handleConnectionChange( - String deviceId, - bool isConnected, - String? error, - ) { - print( - '_handleConnectionChange $deviceId, $isConnected ${error != null ? 'Error: $error' : ''}', - ); - setState(() { - if (deviceId == widget.deviceId) { - this.isConnected = isConnected; - } - }); - _addLog('Connection', isConnected ? "Connected" : "Disconnected"); - // Auto Discover Services - if (this.isConnected) { - _discoverServices(); - } - } - - void _handleValueChange( - String deviceId, String characteristicId, Uint8List value) { - String s = String.fromCharCodes(value); - String data = '$s\nraw : ${value.toString()}'; - print('_handleValueChange $deviceId, $characteristicId, $s'); - _addLog("Value", data); - } - - void _handlePairingStateChange(String deviceId, bool isPaired) { - print('isPaired $deviceId, $isPaired'); - _addLog("PairingStateChange - isPaired", isPaired); - } - - Future _discoverServices() async { - const webWarning = - "Note: Only services added in ScanFilter or WebOptions will be discovered"; - try { - var services = await UniversalBle.discoverServices(widget.deviceId); - print('${services.length} services discovered'); - print(services); - discoveredServices.clear(); - setState(() { - discoveredServices = services; - }); - - if (kIsWeb) { - _addLog( - "DiscoverServices", - '${services.length} services discovered,\n$webWarning', - ); - } - } catch (e) { - _addLog("DiscoverServicesError", '$e\n${kIsWeb ? webWarning : ""}'); - } - } - - Future _readValue() async { - if (selectedCharacteristic == null) return; - try { - Uint8List value = await UniversalBle.readValue( - widget.deviceId, - selectedCharacteristic!.service.uuid, - selectedCharacteristic!.characteristic.uuid, - ); - String s = String.fromCharCodes(value); - String data = '$s\nraw : ${value.toString()}'; - _addLog('Read', data); - } catch (e) { - _addLog('ReadError', e); - } - } - - Future _writeValue() async { - if (selectedCharacteristic == null || - !valueFormKey.currentState!.validate() || - binaryCode.text.isEmpty) { - return; - } - - Uint8List value; - try { - value = Uint8List.fromList(hex.decode(binaryCode.text)); - } catch (e) { - _addLog('WriteError', "Error parsing hex $e"); - return; - } - - try { - await UniversalBle.writeValue( - widget.deviceId, - selectedCharacteristic!.service.uuid, - selectedCharacteristic!.characteristic.uuid, - value, - _hasSelectedCharacteristicProperty( - [CharacteristicProperty.writeWithoutResponse]) - ? BleOutputProperty.withoutResponse - : BleOutputProperty.withResponse, - ); - _addLog('Write', value); - } catch (e) { - print(e); - _addLog('WriteError', e); - } - } - - Future _setBleInputProperty(BleInputProperty inputProperty) async { - if (selectedCharacteristic == null) return; - try { - if (inputProperty != BleInputProperty.disabled) { - List properties = - selectedCharacteristic!.characteristic.properties; - if (properties.contains(CharacteristicProperty.notify)) { - inputProperty = BleInputProperty.notification; - } else if (properties.contains(CharacteristicProperty.indicate)) { - inputProperty = BleInputProperty.indication; - } else { - throw 'No notify or indicate property'; - } - } - await UniversalBle.setNotifiable( - widget.deviceId, - selectedCharacteristic!.service.uuid, - selectedCharacteristic!.characteristic.uuid, - inputProperty, - ); - _addLog('BleInputProperty', inputProperty); - } catch (e) { - _addLog('NotifyError', e); - } - } - - @override - Widget build(BuildContext context) { - return Scaffold( - appBar: AppBar( - title: Text("${widget.deviceName} - ${widget.deviceId}"), - elevation: 4, - actions: [ - Padding( - padding: const EdgeInsets.all(8.0), - child: Icon( - isConnected - ? Icons.bluetooth_connected - : Icons.bluetooth_disabled, - color: isConnected ? Colors.greenAccent : Colors.red, - size: 20, - ), - ) - ], - ), - body: ResponsiveView(builder: (_, DeviceType deviceType) { - return Row( - children: [ - if (deviceType == DeviceType.desktop) - Expanded( - flex: 1, - child: Container( - color: Theme.of(context).secondaryHeaderColor, - child: discoveredServices.isEmpty - ? const Center( - child: Text('No Services Discovered'), - ) - : ServicesListWidget( - discoveredServices: discoveredServices, - scrollable: true, - onTap: (BleService service, - BleCharacteristic characteristic) { - setState(() { - selectedCharacteristic = ( - service: service, - characteristic: characteristic - ); - }); - }, - ), - ), - ), - Expanded( - flex: 3, - child: Align( - alignment: Alignment.topCenter, - child: SingleChildScrollView( - child: Column( - children: [ - // Top buttons - Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - PlatformButton( - text: 'Connect', - enabled: !isConnected, - onPressed: () async { - try { - await UniversalBle.connect( - widget.deviceId, - ); - _addLog("ConnectionResult", true); - } catch (e) { - _addLog('ConnectError (${e.runtimeType})', e); - } - }, - ), - PlatformButton( - text: 'Disconnect', - enabled: isConnected, - onPressed: () { - UniversalBle.disconnect(widget.deviceId); - }, - ), - ], - ), - ), - selectedCharacteristic == null - ? Text(discoveredServices.isEmpty - ? "Please discover services" - : "Please select a characteristic") - : Padding( - padding: const EdgeInsets.symmetric( - horizontal: 8.0, - ), - child: Card( - child: ListTile( - title: SelectableText( - "Characteristic: ${selectedCharacteristic!.characteristic.uuid}", - ), - subtitle: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - SelectableText( - "Service: ${selectedCharacteristic!.service.uuid}", - ), - Text( - "Properties: ${selectedCharacteristic!.characteristic.properties.map((e) => e.name)}", - ), - ], - ), - ), - ), - ), - - if (_hasSelectedCharacteristicProperty([ - CharacteristicProperty.write, - CharacteristicProperty.writeWithoutResponse - ])) - Padding( - padding: const EdgeInsets.symmetric(horizontal: 8.0), - child: Form( - key: valueFormKey, - child: Padding( - padding: const EdgeInsets.all(8.0), - child: TextFormField( - controller: binaryCode, - validator: (value) { - if (value == null || value.isEmpty) { - return 'Please enter a value'; - } - try { - hex.decode(binaryCode.text); - return null; - } catch (e) { - return 'Please enter a valid hex value ( without spaces or 0x (e.g. F0BB) )'; - } - }, - decoration: const InputDecoration( - hintText: - "Enter Hex values without spaces or 0x (e.g. F0BB)", - border: OutlineInputBorder(), - ), - ), - ), - ), - ), - const Divider(), - Padding( - padding: const EdgeInsets.all(8.0), - child: ResponsiveButtonsGrid( - children: [ - PlatformButton( - onPressed: () async { - _discoverServices(); - }, - enabled: isConnected, - text: 'Discover Services', - ), - PlatformButton( - onPressed: () async { - _addLog( - 'ConnectionState', - await UniversalBle.getConnectionState( - widget.deviceId, - ), - ); - }, - text: 'Connection State', - ), - if (BleCapabilities.supportsRequestMtuApi) - PlatformButton( - enabled: isConnected, - onPressed: () async { - int mtu = await UniversalBle.requestMtu( - widget.deviceId, 247); - _addLog('MTU', mtu); - }, - text: 'Request Mtu', - ), - PlatformButton( - enabled: isConnected && - discoveredServices.isNotEmpty && - _hasSelectedCharacteristicProperty([ - CharacteristicProperty.read, - ]), - onPressed: _readValue, - text: 'Read', - ), - PlatformButton( - enabled: isConnected && - discoveredServices.isNotEmpty && - _hasSelectedCharacteristicProperty([ - CharacteristicProperty.write, - CharacteristicProperty.writeWithoutResponse - ]), - onPressed: _writeValue, - text: 'Write', - ), - PlatformButton( - enabled: isConnected && - discoveredServices.isNotEmpty && - _hasSelectedCharacteristicProperty([ - CharacteristicProperty.notify, - CharacteristicProperty.indicate - ]), - onPressed: () => _setBleInputProperty( - BleInputProperty.notification), - text: 'Subscribe', - ), - PlatformButton( - enabled: isConnected && - discoveredServices.isNotEmpty && - _hasSelectedCharacteristicProperty([ - CharacteristicProperty.notify, - CharacteristicProperty.indicate - ]), - onPressed: () => _setBleInputProperty( - BleInputProperty.disabled), - text: 'Unsubscribe', - ), - PlatformButton( - enabled: BleCapabilities.supportsAllPairingKinds, - onPressed: () async { - try { - await UniversalBle.pair( - widget.deviceId, - // pairingCommand: BleCommand( - // service: "", - // characteristic: "", - // ), - ); - _addLog("Pairing Result", true); - } catch (e) { - _addLog('PairError (${e.runtimeType})', e); - } - }, - text: 'Pair', - ), - PlatformButton( - onPressed: () async { - bool? isPaired = await UniversalBle.isPaired( - widget.deviceId, - // pairingCommand: BleCommand( - // service: "", - // characteristic: "", - // ), - ); - _addLog('IsPaired', isPaired); - }, - text: 'IsPaired', - ), - PlatformButton( - onPressed: () async { - await UniversalBle.unpair(widget.deviceId); - }, - text: 'Unpair', - ), - ], - ), - ), - // Services - if (deviceType != DeviceType.desktop) - ServicesListWidget( - discoveredServices: discoveredServices, - onTap: (BleService service, - BleCharacteristic characteristic) { - setState(() { - selectedCharacteristic = ( - service: service, - characteristic: characteristic - ); - }); - }, - ), - const Divider(), - ResultWidget( - results: _logs, - onClearTap: (int? index) { - setState(() { - if (index != null) { - _logs.removeAt(index); - } else { - _logs.clear(); - } - }); - }), - const SizedBox(height: 20), - ], - ), - ), - ), - ), - ], - ); - }), - ); - } - - bool _hasSelectedCharacteristicProperty( - List properties) => - properties.any((property) => - selectedCharacteristic?.characteristic.properties - .contains(property) ?? - false); -} diff --git a/universal_ble/example/lib/peripheral_details/widgets/result_widget.dart b/universal_ble/example/lib/peripheral_details/widgets/result_widget.dart deleted file mode 100644 index d34f281b9..000000000 --- a/universal_ble/example/lib/peripheral_details/widgets/result_widget.dart +++ /dev/null @@ -1,50 +0,0 @@ -import 'package:flutter/material.dart'; - -class ResultWidget extends StatelessWidget { - final List results; - final bool scrollable; - final Function(int? index) onClearTap; - const ResultWidget({ - required this.results, - required this.onClearTap, - this.scrollable = false, - super.key, - }); - - @override - Widget build(BuildContext context) { - return Column( - children: [ - if (results.isNotEmpty) - Padding( - padding: const EdgeInsets.all(8.0), - child: ListTile( - tileColor: Theme.of(context).secondaryHeaderColor, - title: const Text("Logs"), - onTap: () { - onClearTap(null); - }, - trailing: const Icon(Icons.clear), - ), - ), - ListView.separated( - shrinkWrap: !scrollable, - physics: scrollable ? null : const NeverScrollableScrollPhysics(), - itemCount: results.length, - reverse: true, - itemBuilder: (BuildContext context, int index) { - return InkWell( - onTap: () => onClearTap(index), - child: Padding( - padding: - const EdgeInsets.symmetric(horizontal: 11, vertical: 2), - child: Text(results[index]), - ), - ); - }, - separatorBuilder: (_, __) => const Divider(), - ), - ], - ); - } -} diff --git a/universal_ble/example/lib/peripheral_details/widgets/services_list_widget.dart b/universal_ble/example/lib/peripheral_details/widgets/services_list_widget.dart deleted file mode 100644 index a72ab5786..000000000 --- a/universal_ble/example/lib/peripheral_details/widgets/services_list_widget.dart +++ /dev/null @@ -1,76 +0,0 @@ -import 'package:expandable/expandable.dart'; -import 'package:flutter/material.dart'; -import 'package:universal_ble/universal_ble.dart'; - -class ServicesListWidget extends StatelessWidget { - final List discoveredServices; - final bool scrollable; - final Function(BleService service, BleCharacteristic characteristic)? onTap; - - const ServicesListWidget({ - super.key, - required this.discoveredServices, - this.onTap, - this.scrollable = false, - }); - - @override - Widget build(BuildContext context) { - return ListView.builder( - shrinkWrap: !scrollable, - physics: scrollable ? null : const NeverScrollableScrollPhysics(), - itemCount: discoveredServices.length, - itemBuilder: (BuildContext context, int index) { - return Padding( - padding: const EdgeInsets.all(8.0), - child: Card( - child: ExpandablePanel( - header: Padding( - padding: const EdgeInsets.all(8.0), - child: Row( - children: [ - const Icon(Icons.arrow_forward_ios), - Expanded(child: Text(discoveredServices[index].uuid)), - ], - ), - ), - collapsed: const SizedBox(), - expanded: Column( - children: discoveredServices[index] - .characteristics - .map((e) => Padding( - padding: const EdgeInsets.all(8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - InkWell( - onTap: () { - onTap?.call(discoveredServices[index], e); - }, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - children: [ - const Icon(Icons.arrow_right_outlined), - Expanded(child: Text(e.uuid)), - ], - ), - Text( - "Properties: ${e.properties.map((e) => e.name)}", - ) - ], - ), - ), - ], - ), - )) - .toList(), - ), - ), - ), - ); - }, - ); - } -} diff --git a/universal_ble/example/lib/widgets/platform_button.dart b/universal_ble/example/lib/widgets/platform_button.dart deleted file mode 100644 index 47ba7f8b3..000000000 --- a/universal_ble/example/lib/widgets/platform_button.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'dart:io'; - -import 'package:flutter/cupertino.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; - -class PlatformButton extends StatelessWidget { - final String text; - final Function()? onPressed; - final bool enabled; - - const PlatformButton({ - required this.text, - required this.onPressed, - this.enabled = true, - super.key, - }); - - @override - Widget build(BuildContext context) { - return (!kIsWeb && (Platform.isMacOS || Platform.isIOS)) - ? CupertinoButton.filled( - onPressed: enabled ? onPressed : null, - // color: Colors.blue, - padding: const EdgeInsets.symmetric(horizontal: 10), - disabledColor: Colors.grey, - child: Text(text), - ) - : ElevatedButton( - onPressed: enabled ? onPressed : null, - child: Text(text), - ); - } -} diff --git a/universal_ble/example/lib/widgets/responsive_buttons_grid.dart b/universal_ble/example/lib/widgets/responsive_buttons_grid.dart deleted file mode 100644 index f45308713..000000000 --- a/universal_ble/example/lib/widgets/responsive_buttons_grid.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; - -class ResponsiveButtonsGrid extends StatelessWidget { - final List children; - const ResponsiveButtonsGrid({super.key, required this.children}); - - @override - Widget build(BuildContext context) { - return LayoutBuilder( - builder: (context, constraints) { - const tileWidth = 150; - const tileHeight = 500; - final count = constraints.maxWidth ~/ tileWidth; - return GridView.count( - crossAxisCount: count, - crossAxisSpacing: 8, - mainAxisSpacing: 8, - childAspectRatio: tileHeight / tileWidth, - shrinkWrap: true, - physics: const NeverScrollableScrollPhysics(), - children: children, - ); - }, - ); - } -} diff --git a/universal_ble/example/lib/widgets/responsive_view.dart b/universal_ble/example/lib/widgets/responsive_view.dart deleted file mode 100644 index 2e5a88d50..000000000 --- a/universal_ble/example/lib/widgets/responsive_view.dart +++ /dev/null @@ -1,28 +0,0 @@ -import 'package:flutter/material.dart'; - -enum DeviceType { - mobile, - tablet, - desktop, -} - -class ResponsiveView extends StatelessWidget { - final Widget Function(BuildContext context, DeviceType deviceType) builder; - const ResponsiveView({super.key, required this.builder}); - - @override - Widget build(BuildContext context) { - return LayoutBuilder( - builder: (ctx, constraints) { - return builder( - ctx, - constraints.maxWidth > 1000 - ? DeviceType.desktop - : constraints.maxWidth > 600 && constraints.maxWidth < 1000 - ? DeviceType.tablet - : DeviceType.mobile, - ); - }, - ); - } -} diff --git a/universal_ble/example/linux/.gitignore b/universal_ble/example/linux/.gitignore deleted file mode 100644 index d3896c984..000000000 --- a/universal_ble/example/linux/.gitignore +++ /dev/null @@ -1 +0,0 @@ -flutter/ephemeral diff --git a/universal_ble/example/linux/CMakeLists.txt b/universal_ble/example/linux/CMakeLists.txt deleted file mode 100644 index b37509922..000000000 --- a/universal_ble/example/linux/CMakeLists.txt +++ /dev/null @@ -1,141 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.10) -project(runner LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "universal_ble_example") -# The unique GTK application identifier for this application. See: -# https://wiki.gnome.org/HowDoI/ChooseApplicationID -set(APPLICATION_ID "com.navideck.universal_ble") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(SET CMP0063 NEW) - -# Load bundled libraries from the lib/ directory relative to the binary. -set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") - -# Root filesystem for cross-building. -if(FLUTTER_TARGET_PLATFORM_SYSROOT) - set(CMAKE_SYSROOT ${FLUTTER_TARGET_PLATFORM_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT}) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) - set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -endif() - -# Define build configuration options. -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") -endif() - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_14) - target_compile_options(${TARGET} PRIVATE -Wall -Werror) - target_compile_options(${TARGET} PRIVATE "$<$>:-O3>") - target_compile_definitions(${TARGET} PRIVATE "$<$>:NDEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) - -add_definitions(-DAPPLICATION_ID="${APPLICATION_ID}") - -# Define the application target. To change its name, change BINARY_NAME above, -# not the value here, or `flutter run` will no longer work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} - "main.cc" - "my_application.cc" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add dependency libraries. Add any application-specific dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter) -target_link_libraries(${BINARY_NAME} PRIVATE PkgConfig::GTK) - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) - -# Only the install-generated bundle's copy of the executable will launch -# correctly, since the resources must in the right relative locations. To avoid -# people trying to run the unbundled copy, put it in a subdirectory instead of -# the default top-level location. -set_target_properties(${BINARY_NAME} - PROPERTIES - RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/intermediates_do_not_run" -) - -# Enable the test target. -set(include_universal_ble_tests TRUE) - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# By default, "installing" just makes a relocatable bundle in the build -# directory. -set(BUILD_BUNDLE_DIR "${PROJECT_BINARY_DIR}/bundle") -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -# Start with a clean build bundle directory every time. -install(CODE " - file(REMOVE_RECURSE \"${BUILD_BUNDLE_DIR}/\") - " COMPONENT Runtime) - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES}) - install(FILES "${bundled_library}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endforeach(bundled_library) - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -if(NOT CMAKE_BUILD_TYPE MATCHES "Debug") - install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() diff --git a/universal_ble/example/linux/flutter/CMakeLists.txt b/universal_ble/example/linux/flutter/CMakeLists.txt deleted file mode 100644 index d5bd01648..000000000 --- a/universal_ble/example/linux/flutter/CMakeLists.txt +++ /dev/null @@ -1,88 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.10) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. - -# Serves the same purpose as list(TRANSFORM ... PREPEND ...), -# which isn't available in 3.10. -function(list_prepend LIST_NAME PREFIX) - set(NEW_LIST "") - foreach(element ${${LIST_NAME}}) - list(APPEND NEW_LIST "${PREFIX}${element}") - endforeach(element) - set(${LIST_NAME} "${NEW_LIST}" PARENT_SCOPE) -endfunction() - -# === Flutter Library === -# System-level dependencies. -find_package(PkgConfig REQUIRED) -pkg_check_modules(GTK REQUIRED IMPORTED_TARGET gtk+-3.0) -pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0) -pkg_check_modules(GIO REQUIRED IMPORTED_TARGET gio-2.0) - -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/libflutter_linux_gtk.so") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/lib/libapp.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "fl_basic_message_channel.h" - "fl_binary_codec.h" - "fl_binary_messenger.h" - "fl_dart_project.h" - "fl_engine.h" - "fl_json_message_codec.h" - "fl_json_method_codec.h" - "fl_message_codec.h" - "fl_method_call.h" - "fl_method_channel.h" - "fl_method_codec.h" - "fl_method_response.h" - "fl_plugin_registrar.h" - "fl_plugin_registry.h" - "fl_standard_message_codec.h" - "fl_standard_method_codec.h" - "fl_string_codec.h" - "fl_value.h" - "fl_view.h" - "flutter_linux.h" -) -list_prepend(FLUTTER_LIBRARY_HEADERS "${EPHEMERAL_DIR}/flutter_linux/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}") -target_link_libraries(flutter INTERFACE - PkgConfig::GTK - PkgConfig::GLIB - PkgConfig::GIO -) -add_dependencies(flutter flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CMAKE_CURRENT_BINARY_DIR}/_phony_ - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.sh" - ${FLUTTER_TARGET_PLATFORM} ${CMAKE_BUILD_TYPE} - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} -) diff --git a/universal_ble/example/linux/flutter/generated_plugin_registrant.cc b/universal_ble/example/linux/flutter/generated_plugin_registrant.cc deleted file mode 100644 index e71a16d23..000000000 --- a/universal_ble/example/linux/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,11 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - - -void fl_register_plugins(FlPluginRegistry* registry) { -} diff --git a/universal_ble/example/linux/flutter/generated_plugin_registrant.h b/universal_ble/example/linux/flutter/generated_plugin_registrant.h deleted file mode 100644 index e0f0a47bc..000000000 --- a/universal_ble/example/linux/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void fl_register_plugins(FlPluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/universal_ble/example/linux/flutter/generated_plugins.cmake b/universal_ble/example/linux/flutter/generated_plugins.cmake deleted file mode 100644 index 2e1de87a7..000000000 --- a/universal_ble/example/linux/flutter/generated_plugins.cmake +++ /dev/null @@ -1,23 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/universal_ble/example/linux/main.cc b/universal_ble/example/linux/main.cc deleted file mode 100644 index e7c5c5437..000000000 --- a/universal_ble/example/linux/main.cc +++ /dev/null @@ -1,6 +0,0 @@ -#include "my_application.h" - -int main(int argc, char** argv) { - g_autoptr(MyApplication) app = my_application_new(); - return g_application_run(G_APPLICATION(app), argc, argv); -} diff --git a/universal_ble/example/linux/my_application.cc b/universal_ble/example/linux/my_application.cc deleted file mode 100644 index a3e4f9296..000000000 --- a/universal_ble/example/linux/my_application.cc +++ /dev/null @@ -1,104 +0,0 @@ -#include "my_application.h" - -#include -#ifdef GDK_WINDOWING_X11 -#include -#endif - -#include "flutter/generated_plugin_registrant.h" - -struct _MyApplication { - GtkApplication parent_instance; - char** dart_entrypoint_arguments; -}; - -G_DEFINE_TYPE(MyApplication, my_application, GTK_TYPE_APPLICATION) - -// Implements GApplication::activate. -static void my_application_activate(GApplication* application) { - MyApplication* self = MY_APPLICATION(application); - GtkWindow* window = - GTK_WINDOW(gtk_application_window_new(GTK_APPLICATION(application))); - - // Use a header bar when running in GNOME as this is the common style used - // by applications and is the setup most users will be using (e.g. Ubuntu - // desktop). - // If running on X and not using GNOME then just use a traditional title bar - // in case the window manager does more exotic layout, e.g. tiling. - // If running on Wayland assume the header bar will work (may need changing - // if future cases occur). - gboolean use_header_bar = TRUE; -#ifdef GDK_WINDOWING_X11 - GdkScreen* screen = gtk_window_get_screen(window); - if (GDK_IS_X11_SCREEN(screen)) { - const gchar* wm_name = gdk_x11_screen_get_window_manager_name(screen); - if (g_strcmp0(wm_name, "GNOME Shell") != 0) { - use_header_bar = FALSE; - } - } -#endif - if (use_header_bar) { - GtkHeaderBar* header_bar = GTK_HEADER_BAR(gtk_header_bar_new()); - gtk_widget_show(GTK_WIDGET(header_bar)); - gtk_header_bar_set_title(header_bar, "universal_ble_example"); - gtk_header_bar_set_show_close_button(header_bar, TRUE); - gtk_window_set_titlebar(window, GTK_WIDGET(header_bar)); - } else { - gtk_window_set_title(window, "universal_ble_example"); - } - - gtk_window_set_default_size(window, 1280, 720); - gtk_widget_show(GTK_WIDGET(window)); - - g_autoptr(FlDartProject) project = fl_dart_project_new(); - fl_dart_project_set_dart_entrypoint_arguments(project, self->dart_entrypoint_arguments); - - FlView* view = fl_view_new(project); - gtk_widget_show(GTK_WIDGET(view)); - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(view)); - - fl_register_plugins(FL_PLUGIN_REGISTRY(view)); - - gtk_widget_grab_focus(GTK_WIDGET(view)); -} - -// Implements GApplication::local_command_line. -static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) { - MyApplication* self = MY_APPLICATION(application); - // Strip out the first argument as it is the binary name. - self->dart_entrypoint_arguments = g_strdupv(*arguments + 1); - - g_autoptr(GError) error = nullptr; - if (!g_application_register(application, nullptr, &error)) { - g_warning("Failed to register: %s", error->message); - *exit_status = 1; - return TRUE; - } - - g_application_activate(application); - *exit_status = 0; - - return TRUE; -} - -// Implements GObject::dispose. -static void my_application_dispose(GObject* object) { - MyApplication* self = MY_APPLICATION(object); - g_clear_pointer(&self->dart_entrypoint_arguments, g_strfreev); - G_OBJECT_CLASS(my_application_parent_class)->dispose(object); -} - -static void my_application_class_init(MyApplicationClass* klass) { - G_APPLICATION_CLASS(klass)->activate = my_application_activate; - G_APPLICATION_CLASS(klass)->local_command_line = my_application_local_command_line; - G_OBJECT_CLASS(klass)->dispose = my_application_dispose; -} - -static void my_application_init(MyApplication* self) {} - -MyApplication* my_application_new() { - return MY_APPLICATION(g_object_new(my_application_get_type(), - "application-id", APPLICATION_ID, - "flags", G_APPLICATION_NON_UNIQUE, - nullptr)); -} diff --git a/universal_ble/example/linux/my_application.h b/universal_ble/example/linux/my_application.h deleted file mode 100644 index 72271d5e4..000000000 --- a/universal_ble/example/linux/my_application.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef FLUTTER_MY_APPLICATION_H_ -#define FLUTTER_MY_APPLICATION_H_ - -#include - -G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION, - GtkApplication) - -/** - * my_application_new: - * - * Creates a new Flutter-based application. - * - * Returns: a new #MyApplication. - */ -MyApplication* my_application_new(); - -#endif // FLUTTER_MY_APPLICATION_H_ diff --git a/universal_ble/example/macos/.gitignore b/universal_ble/example/macos/.gitignore deleted file mode 100644 index 746adbb6b..000000000 --- a/universal_ble/example/macos/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -# Flutter-related -**/Flutter/ephemeral/ -**/Pods/ - -# Xcode-related -**/dgph -**/xcuserdata/ diff --git a/universal_ble/example/macos/Flutter/Flutter-Debug.xcconfig b/universal_ble/example/macos/Flutter/Flutter-Debug.xcconfig deleted file mode 100644 index 4b81f9b2d..000000000 --- a/universal_ble/example/macos/Flutter/Flutter-Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/universal_ble/example/macos/Flutter/Flutter-Release.xcconfig b/universal_ble/example/macos/Flutter/Flutter-Release.xcconfig deleted file mode 100644 index 5caa9d157..000000000 --- a/universal_ble/example/macos/Flutter/Flutter-Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "ephemeral/Flutter-Generated.xcconfig" diff --git a/universal_ble/example/macos/Flutter/GeneratedPluginRegistrant.swift b/universal_ble/example/macos/Flutter/GeneratedPluginRegistrant.swift deleted file mode 100644 index b02da4ca6..000000000 --- a/universal_ble/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// Generated file. Do not edit. -// - -import FlutterMacOS -import Foundation - -import device_info_plus -import universal_ble - -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) - UniversalBlePlugin.register(with: registry.registrar(forPlugin: "UniversalBlePlugin")) -} diff --git a/universal_ble/example/macos/Podfile b/universal_ble/example/macos/Podfile deleted file mode 100644 index c795730db..000000000 --- a/universal_ble/example/macos/Podfile +++ /dev/null @@ -1,43 +0,0 @@ -platform :osx, '10.14' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\"" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_macos_podfile_setup - -target 'Runner' do - use_frameworks! - use_modular_headers! - - flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/universal_ble/example/macos/Podfile.lock b/universal_ble/example/macos/Podfile.lock deleted file mode 100644 index 7ec7ff324..000000000 --- a/universal_ble/example/macos/Podfile.lock +++ /dev/null @@ -1,29 +0,0 @@ -PODS: - - device_info_plus (0.0.1): - - FlutterMacOS - - FlutterMacOS (1.0.0) - - universal_ble (0.0.1): - - Flutter - - FlutterMacOS - -DEPENDENCIES: - - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`) - - FlutterMacOS (from `Flutter/ephemeral`) - - universal_ble (from `Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin`) - -EXTERNAL SOURCES: - device_info_plus: - :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos - FlutterMacOS: - :path: Flutter/ephemeral - universal_ble: - :path: Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin - -SPEC CHECKSUMS: - device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f - FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24 - universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6 - -PODFILE CHECKSUM: 236401fc2c932af29a9fcf0e97baeeb2d750d367 - -COCOAPODS: 1.16.2 diff --git a/universal_ble/example/macos/Runner.xcodeproj/project.pbxproj b/universal_ble/example/macos/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index ea4127b4c..000000000 --- a/universal_ble/example/macos/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,791 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXAggregateTarget section */ - 33CC111A2044C6BA0003C045 /* Flutter Assemble */ = { - isa = PBXAggregateTarget; - buildConfigurationList = 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */; - buildPhases = ( - 33CC111E2044C6BF0003C045 /* ShellScript */, - ); - dependencies = ( - ); - name = "Flutter Assemble"; - productName = FLX; - }; -/* End PBXAggregateTarget section */ - -/* Begin PBXBuildFile section */ - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C80D7294CF71000263BE5 /* RunnerTests.swift */; }; - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */ = {isa = PBXBuildFile; fileRef = 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */; }; - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC10F02044A3C60003C045 /* AppDelegate.swift */; }; - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F22044A3C60003C045 /* Assets.xcassets */; }; - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 33CC10F42044A3C60003C045 /* MainMenu.xib */; }; - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */; }; - 54A7291550390DBA7F60B398 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 095AF621C9B1EE27B63D82D1 /* Pods_RunnerTests.framework */; }; - BFFAEE386BA8C5023F9983AE /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F517363F4B1C144EC77DADCD /* Pods_Runner.framework */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC10EC2044A3C60003C045; - remoteInfo = Runner; - }; - 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 33CC10E52044A3C60003C045 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 33CC111A2044C6BA0003C045; - remoteInfo = FLX; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 33CC110E2044A8840003C045 /* Bundle Framework */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Bundle Framework"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 095AF621C9B1EE27B63D82D1 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 32ED472C70D6ED7C3CD8CE8B /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 331C80D7294CF71000263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = ""; }; - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = ""; }; - 33CC10ED2044A3C60003C045 /* universal_ble_example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = universal_ble_example.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = ""; }; - 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = ""; }; - 33CC10F72044A3C60003C045 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = Runner/Info.plist; sourceTree = ""; }; - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainFlutterWindow.swift; sourceTree = ""; }; - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Debug.xcconfig"; sourceTree = ""; }; - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "Flutter-Release.xcconfig"; sourceTree = ""; }; - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = "Flutter-Generated.xcconfig"; path = "ephemeral/Flutter-Generated.xcconfig"; sourceTree = ""; }; - 33E51913231747F40026EE4D /* DebugProfile.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = DebugProfile.entitlements; sourceTree = ""; }; - 33E51914231749380026EE4D /* Release.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = Release.entitlements; sourceTree = ""; }; - 33E5194F232828860026EE4D /* AppInfo.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = AppInfo.xcconfig; sourceTree = ""; }; - 65CCC8CF23B15CA6818A0496 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Debug.xcconfig; sourceTree = ""; }; - BF9EC7C1208428926C8C045E /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; - C5F6162E162B944885A4C57E /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - D8A7E0EE9000B69937E2CAAF /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - F517363F4B1C144EC77DADCD /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - FF25EBD7FA998BE27A25C911 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 331C80D2294CF70F00263BE5 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 54A7291550390DBA7F60B398 /* Pods_RunnerTests.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EA2044A3C60003C045 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - BFFAEE386BA8C5023F9983AE /* Pods_Runner.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 331C80D6294CF71000263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C80D7294CF71000263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 33BA886A226E78AF003329D5 /* Configs */ = { - isa = PBXGroup; - children = ( - 33E5194F232828860026EE4D /* AppInfo.xcconfig */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 333000ED22D3DE5D00554162 /* Warnings.xcconfig */, - ); - path = Configs; - sourceTree = ""; - }; - 33CC10E42044A3C60003C045 = { - isa = PBXGroup; - children = ( - 33FAB671232836740065AC1E /* Runner */, - 33CEB47122A05771004F2AC0 /* Flutter */, - 331C80D6294CF71000263BE5 /* RunnerTests */, - 33CC10EE2044A3C60003C045 /* Products */, - D73912EC22F37F3D000D13A0 /* Frameworks */, - 918B2BA59DA01E445579435F /* Pods */, - ); - sourceTree = ""; - }; - 33CC10EE2044A3C60003C045 /* Products */ = { - isa = PBXGroup; - children = ( - 33CC10ED2044A3C60003C045 /* universal_ble_example.app */, - 331C80D5294CF71000263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 33CC11242044D66E0003C045 /* Resources */ = { - isa = PBXGroup; - children = ( - 33CC10F22044A3C60003C045 /* Assets.xcassets */, - 33CC10F42044A3C60003C045 /* MainMenu.xib */, - 33CC10F72044A3C60003C045 /* Info.plist */, - ); - name = Resources; - path = ..; - sourceTree = ""; - }; - 33CEB47122A05771004F2AC0 /* Flutter */ = { - isa = PBXGroup; - children = ( - 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */, - 33CEB47222A05771004F2AC0 /* Flutter-Debug.xcconfig */, - 33CEB47422A05771004F2AC0 /* Flutter-Release.xcconfig */, - 33CEB47722A0578A004F2AC0 /* Flutter-Generated.xcconfig */, - ); - path = Flutter; - sourceTree = ""; - }; - 33FAB671232836740065AC1E /* Runner */ = { - isa = PBXGroup; - children = ( - 33CC10F02044A3C60003C045 /* AppDelegate.swift */, - 33CC11122044BFA00003C045 /* MainFlutterWindow.swift */, - 33E51913231747F40026EE4D /* DebugProfile.entitlements */, - 33E51914231749380026EE4D /* Release.entitlements */, - 33CC11242044D66E0003C045 /* Resources */, - 33BA886A226E78AF003329D5 /* Configs */, - ); - path = Runner; - sourceTree = ""; - }; - 918B2BA59DA01E445579435F /* Pods */ = { - isa = PBXGroup; - children = ( - FF25EBD7FA998BE27A25C911 /* Pods-Runner.debug.xcconfig */, - 65CCC8CF23B15CA6818A0496 /* Pods-Runner.release.xcconfig */, - 32ED472C70D6ED7C3CD8CE8B /* Pods-Runner.profile.xcconfig */, - D8A7E0EE9000B69937E2CAAF /* Pods-RunnerTests.debug.xcconfig */, - BF9EC7C1208428926C8C045E /* Pods-RunnerTests.release.xcconfig */, - C5F6162E162B944885A4C57E /* Pods-RunnerTests.profile.xcconfig */, - ); - name = Pods; - path = Pods; - sourceTree = ""; - }; - D73912EC22F37F3D000D13A0 /* Frameworks */ = { - isa = PBXGroup; - children = ( - F517363F4B1C144EC77DADCD /* Pods_Runner.framework */, - 095AF621C9B1EE27B63D82D1 /* Pods_RunnerTests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C80D4294CF70F00263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 0B773D64B309FE8B1C43C096 /* [CP] Check Pods Manifest.lock */, - 331C80D1294CF70F00263BE5 /* Sources */, - 331C80D2294CF70F00263BE5 /* Frameworks */, - 331C80D3294CF70F00263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C80DA294CF71000263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C80D5294CF71000263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 33CC10EC2044A3C60003C045 /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 4DACA89469123DBF706A6DEC /* [CP] Check Pods Manifest.lock */, - 33CC10E92044A3C60003C045 /* Sources */, - 33CC10EA2044A3C60003C045 /* Frameworks */, - 33CC10EB2044A3C60003C045 /* Resources */, - 33CC110E2044A8840003C045 /* Bundle Framework */, - 3399D490228B24CF009A79C7 /* ShellScript */, - DB73DCCDE8FAA136C11B0BD8 /* [CP] Embed Pods Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 33CC11202044C79F0003C045 /* PBXTargetDependency */, - ); - name = Runner; - productName = Runner; - productReference = 33CC10ED2044A3C60003C045 /* universal_ble_example.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 33CC10E52044A3C60003C045 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0920; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C80D4294CF70F00263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 33CC10EC2044A3C60003C045; - }; - 33CC10EC2044A3C60003C045 = { - CreatedOnToolsVersion = 9.2; - LastSwiftMigration = 1100; - ProvisioningStyle = Automatic; - SystemCapabilities = { - com.apple.Sandbox = { - enabled = 1; - }; - }; - }; - 33CC111A2044C6BA0003C045 = { - CreatedOnToolsVersion = 9.2; - ProvisioningStyle = Manual; - }; - }; - }; - buildConfigurationList = 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 33CC10E42044A3C60003C045; - productRefGroup = 33CC10EE2044A3C60003C045 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33CC10EC2044A3C60003C045 /* Runner */, - 331C80D4294CF70F00263BE5 /* RunnerTests */, - 33CC111A2044C6BA0003C045 /* Flutter Assemble */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C80D3294CF70F00263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10EB2044A3C60003C045 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC10F32044A3C60003C045 /* Assets.xcassets in Resources */, - 33CC10F62044A3C60003C045 /* MainMenu.xib in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 0B773D64B309FE8B1C43C096 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - 3399D490228B24CF009A79C7 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n"; - }; - 33CC111E2044C6BF0003C045 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - Flutter/ephemeral/FlutterInputs.xcfilelist, - ); - inputPaths = ( - Flutter/ephemeral/tripwire, - ); - outputFileListPaths = ( - Flutter/ephemeral/FlutterOutputs.xcfilelist, - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh && touch Flutter/ephemeral/tripwire"; - }; - 4DACA89469123DBF706A6DEC /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; - DB73DCCDE8FAA136C11B0BD8 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C80D1294CF70F00263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C80D8294CF71000263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 33CC10E92044A3C60003C045 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 33CC11132044BFA00003C045 /* MainFlutterWindow.swift in Sources */, - 33CC10F12044A3C60003C045 /* AppDelegate.swift in Sources */, - 335BBD1B22A9A15E00E9071D /* GeneratedPluginRegistrant.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C80DA294CF71000263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC10EC2044A3C60003C045 /* Runner */; - targetProxy = 331C80D9294CF71000263BE5 /* PBXContainerItemProxy */; - }; - 33CC11202044C79F0003C045 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 33CC111A2044C6BA0003C045 /* Flutter Assemble */; - targetProxy = 33CC111F2044C79F0003C045 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 33CC10F42044A3C60003C045 /* MainMenu.xib */ = { - isa = PBXVariantGroup; - children = ( - 33CC10F52044A3C60003C045 /* Base */, - ); - name = MainMenu.xib; - path = Runner; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 331C80DB294CF71000263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D8A7E0EE9000B69937E2CAAF /* Pods-RunnerTests.debug.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/universal_ble_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/universal_ble_example"; - }; - name = Debug; - }; - 331C80DC294CF71000263BE5 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = BF9EC7C1208428926C8C045E /* Pods-RunnerTests.release.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/universal_ble_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/universal_ble_example"; - }; - name = Release; - }; - 331C80DD294CF71000263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = C5F6162E162B944885A4C57E /* Pods-RunnerTests.profile.xcconfig */; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/universal_ble_example.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/universal_ble_example"; - }; - name = Profile; - }; - 338D0CE9231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Profile; - }; - 338D0CEA231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Profile; - }; - 338D0CEB231458BD00FA5F75 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Profile; - }; - 33CC10F92044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - }; - name = Debug; - }; - 33CC10FA2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.14; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - }; - name = Release; - }; - 33CC10FC2044A3C60003C045 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - }; - name = Debug; - }; - 33CC10FD2044A3C60003C045 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 33E5194F232828860026EE4D /* AppInfo.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - ); - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - }; - name = Release; - }; - 33CC111C2044C6BA0003C045 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Manual; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 33CC111D2044C6BA0003C045 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_STYLE = Automatic; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C80DE294CF71000263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C80DB294CF71000263BE5 /* Debug */, - 331C80DC294CF71000263BE5 /* Release */, - 331C80DD294CF71000263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10E82044A3C60003C045 /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10F92044A3C60003C045 /* Debug */, - 33CC10FA2044A3C60003C045 /* Release */, - 338D0CE9231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC10FB2044A3C60003C045 /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC10FC2044A3C60003C045 /* Debug */, - 33CC10FD2044A3C60003C045 /* Release */, - 338D0CEA231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 33CC111B2044C6BA0003C045 /* Build configuration list for PBXAggregateTarget "Flutter Assemble" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 33CC111C2044C6BA0003C045 /* Debug */, - 33CC111D2044C6BA0003C045 /* Release */, - 338D0CEB231458BD00FA5F75 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 33CC10E52044A3C60003C045 /* Project object */; -} diff --git a/universal_ble/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/universal_ble/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/universal_ble/example/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/universal_ble/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/universal_ble/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 793b0cfdd..000000000 --- a/universal_ble/example/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/universal_ble/example/macos/Runner.xcworkspace/contents.xcworkspacedata b/universal_ble/example/macos/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 21a3cc14c..000000000 --- a/universal_ble/example/macos/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/universal_ble/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/universal_ble/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/universal_ble/example/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/universal_ble/example/macos/Runner/AppDelegate.swift b/universal_ble/example/macos/Runner/AppDelegate.swift deleted file mode 100644 index b3c176141..000000000 --- a/universal_ble/example/macos/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Cocoa -import FlutterMacOS - -@main -class AppDelegate: FlutterAppDelegate { - override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { - return true - } - - override func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool { - return true - } -} diff --git a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index a2ec33f19..000000000 --- a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_16.png", - "scale" : "1x" - }, - { - "size" : "16x16", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "2x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_32.png", - "scale" : "1x" - }, - { - "size" : "32x32", - "idiom" : "mac", - "filename" : "app_icon_64.png", - "scale" : "2x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_128.png", - "scale" : "1x" - }, - { - "size" : "128x128", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "2x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_256.png", - "scale" : "1x" - }, - { - "size" : "256x256", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "2x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_512.png", - "scale" : "1x" - }, - { - "size" : "512x512", - "idiom" : "mac", - "filename" : "app_icon_1024.png", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png deleted file mode 100644 index 82b6f9d9a33e198f5747104729e1fcef999772a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102994 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ⅅ8MglG&ER{i5lN315cO?EdHNLrg? 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 z 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 Pe7HEdAEg|=c=LY&YVNkY diff --git a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png deleted file mode 100644 index 13b35eba55c6dabc3aac36f33d859266c18fa0d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5680 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 diff --git a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png deleted file mode 100644 index 0a3f5fa40fb3d1e0710331a48de5d256da3f275d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|Tv8)E(|mmy zw18|52FCVG1{RPKAeI7R1_tH@j10^`nh_+nfC(-uuz(rC1}QWNE&K#jR^;j87-Auq zoUlN^K{r-Q+XN;zI ze|?*NFmgt#V#GwrSWaz^2G&@SBmck6ZcIFMww~vE<1E?M2#KUn1CzsB6D2+0SuRV@ zV2kK5HvIGB{HX-hQzs0*AB%5$9RJ@a;)Ahq#p$GSP91^&hi#6sg*;a~dt}4AclK>h z_3MoPRQ{i;==;*1S-mY<(JFzhAxMI&<61&m$J0NDHdJ3tYx~j0%M-uN6Zl8~_0DOkGXc0001@sz3l12C6Xg{AT~( zm6w64BA|AX`Ve)YY-glyudNN>MAfkXz-T7`_`fEolM;0T0BA)(02-OaW z0*cW7Z~ec94o8&g0D$N>b!COu{=m}^%oXZ4?T8ZyPZuGGBPBA7pbQMoV5HYhiT?%! zcae~`(QAN4&}-=#2f5fkn!SWGWmSeCISBcS=1-U|MEoKq=k?_x3apK>9((R zuu$9X?^8?@(a{qMS%J8SJPq))v}Q-ZyDm6Gbie0m92=`YlwnQPQP1kGSm(N2UJ3P6 z^{p-u)SSCTW~c1rw;cM)-uL2{->wCn2{#%;AtCQ!m%AakVs1K#v@(*-6QavyY&v&*wO_rCJXJuq$c$7ZjsW+pJo-$L^@!7X04CvaOpPyfw|FKvu;e(&Iw>Tbg zL}#8e^?X%TReXTt>gsBByt0kSU20oQx*~P=4`&tcZ7N6t-6LiK{LxX*p6}9c<0Pu^ zLx1w_P4P2V>bX=`F%v$#{sUDdF|;rbI{p#ZW`00Bgh(eB(nOIhy8W9T>3aQ=k8Z9% zB+TusFABF~J?N~fAd}1Rme=@4+1=M{^P`~se7}e3;mY0!%#MJf!XSrUC{0uZqMAd7%q zQY#$A>q}noIB4g54Ue)x>ofVm3DKBbUmS4Z-bm7KdKsUixva)1*&z5rgAG2gxG+_x zqT-KNY4g7eM!?>==;uD9Y4iI(Hu$pl8!LrK_Zb}5nv(XKW{9R144E!cFf36p{i|8pRL~p`_^iNo z{mf7y`#hejw#^#7oKPlN_Td{psNpNnM?{7{R-ICBtYxk>?3}OTH_8WkfaTLw)ZRTfxjW+0>gMe zpKg~`Bc$Y>^VX;ks^J0oKhB#6Ukt{oQhN+o2FKGZx}~j`cQB%vVsMFnm~R_1Y&Ml? zwFfb~d|dW~UktY@?zkau>Owe zRroi(<)c4Ux&wJfY=3I=vg)uh;sL(IYY9r$WK1$F;jYqq1>xT{LCkIMb3t2jN8d`9 z=4(v-z7vHucc_fjkpS}mGC{ND+J-hc_0Ix4kT^~{-2n|;Jmn|Xf9wGudDk7bi*?^+ z7fku8z*mbkGm&xf&lmu#=b5mp{X(AwtLTf!N`7FmOmX=4xwbD=fEo8CaB1d1=$|)+ z+Dlf^GzGOdlqTO8EwO?8;r+b;gkaF^$;+#~2_YYVH!hD6r;PaWdm#V=BJ1gH9ZK_9 zrAiIC-)z)hRq6i5+$JVmR!m4P>3yJ%lH)O&wtCyum3A*})*fHODD2nq!1@M>t@Za+ zH6{(Vf>_7!I-APmpsGLYpl7jww@s5hHOj5LCQXh)YAp+y{gG(0UMm(Ur z3o3n36oFwCkn+H*GZ-c6$Y!5r3z*@z0`NrB2C^q#LkOuooUM8Oek2KBk}o1PU8&2L z4iNkb5CqJWs58aR394iCU^ImDqV;q_Pp?pl=RB2372(Io^GA^+oKguO1(x$0<7w3z z)j{vnqEB679Rz4i4t;8|&Zg77UrklxY9@GDq(ZphH6=sW`;@uIt5B?7Oi?A0-BL}(#1&R;>2aFdq+E{jsvpNHjLx2t{@g1}c~DQcPNmVmy| zNMO@ewD^+T!|!DCOf}s9dLJU}(KZy@Jc&2Nq3^;vHTs}Hgcp`cw&gd7#N}nAFe3cM1TF%vKbKSffd&~FG9y$gLyr{#to)nxz5cCASEzQ}gz8O)phtHuKOW6p z@EQF(R>j%~P63Wfosrz8p(F=D|Mff~chUGn(<=CQbSiZ{t!e zeDU-pPsLgtc#d`3PYr$i*AaT!zF#23htIG&?QfcUk+@k$LZI}v+js|yuGmE!PvAV3 ztzh90rK-0L6P}s?1QH`Ot@ilbgMBzWIs zIs6K<_NL$O4lwR%zH4oJ+}JJp-bL6~%k&p)NGDMNZX7)0kni&%^sH|T?A)`z z=adV?!qnWx^B$|LD3BaA(G=ePL1+}8iu^SnnD;VE1@VLHMVdSN9$d)R(Wk{JEOp(P zm3LtAL$b^*JsQ0W&eLaoYag~=fRRdI>#FaELCO7L>zXe6w*nxN$Iy*Q*ftHUX0+N- zU>{D_;RRVPbQ?U+$^%{lhOMKyE5>$?U1aEPist+r)b47_LehJGTu>TcgZe&J{ z{q&D{^Ps~z7|zj~rpoh2I_{gAYNoCIJmio3B}$!5vTF*h$Q*vFj~qbo%bJCCRy509 zHTdDh_HYH8Zb9`}D5;;J9fkWOQi%Y$B1!b9+ESj+B@dtAztlY2O3NE<6HFiqOF&p_ zW-K`KiY@RPSY-p9Q99}Hcd05DT79_pfb{BV7r~?9pWh=;mcKBLTen%THFPo2NN~Nf zriOtFnqx}rtO|A6k!r6 zf-z?y-UD{dT0kT9FJ`-oWuPHbo+3wBS(}?2ql(+e@VTExmfnB*liCb zmeI+v5*+W_L;&kQN^ChW{jE0Mw#0Tfs}`9bk3&7UjxP^Ke(%eJu2{VnW?tu7Iqecm zB5|=-QdzK$=h50~{X3*w4%o1FS_u(dG2s&427$lJ?6bkLet}yYXCy)u_Io1&g^c#( z-$yYmSpxz{>BL;~c+~sxJIe1$7eZI_9t`eB^Pr0)5CuA}w;;7#RvPq|H6!byRzIJG ziQ7a4y_vhj(AL`8PhIm9edCv|%TX#f50lt8+&V+D4<}IA@S@#f4xId80oH$!_!q?@ zFRGGg2mTv&@76P7aTI{)Hu%>3QS_d)pQ%g8BYi58K~m-Ov^7r8BhX7YC1D3vwz&N8{?H*_U7DI?CI)+et?q|eGu>42NJ?K4SY zD?kc>h@%4IqNYuQ8m10+8xr2HYg2qFNdJl=Tmp&ybF>1>pqVfa%SsV*BY$d6<@iJA ziyvKnZ(~F9xQNokBgMci#pnZ}Igh0@S~cYcU_2Jfuf|d3tuH?ZSSYBfM(Y3-JBsC|S9c;# zyIMkPxgrq};0T09pjj#X?W^TFCMf1-9P{)g88;NDI+S4DXe>7d3Mb~i-h&S|Jy{J< zq3736$bH?@{!amD!1Ys-X)9V=#Z={fzsjVYMX5BG6%}tkzwC#1nQLj1y1f#}8**4Y zAvDZHw8)N)8~oWC88CgzbwOrL9HFbk4}h85^ptuu7A+uc#$f^9`EWv1Vr{5+@~@Uv z#B<;-nt;)!k|fRIg;2DZ(A2M2aC65kOIov|?Mhi1Sl7YOU4c$T(DoRQIGY`ycfkn% zViHzL;E*A{`&L?GP06Foa38+QNGA zw3+Wqs(@q+H{XLJbwZzE(omw%9~LPZfYB|NF5%j%E5kr_xE0u;i?IOIchn~VjeDZ) zAqsqhP0vu2&Tbz3IgJvMpKbThC-@=nk)!|?MIPP>MggZg{cUcKsP8|N#cG5 zUXMXxcXBF9`p>09IR?x$Ry3;q@x*%}G#lnB1}r#!WL88I@uvm}X98cZ8KO&cqT1p> z+gT=IxPsq%n4GWgh-Bk8E4!~`r@t>DaQKsjDqYc&h$p~TCh8_Mck5UB84u6Jl@kUZCU9BA-S!*bf>ZotFX9?a_^y%)yH~rsAz0M5#^Di80_tgoKw(egN z`)#(MqAI&A84J#Z<|4`Co8`iY+Cv&iboMJ^f9ROUK0Lm$;-T*c;TCTED_0|qfhlcS zv;BD*$Zko#nWPL}2K8T-?4}p{u)4xon!v_(yVW8VMpxg4Kh^J6WM{IlD{s?%XRT8P|yCU`R&6gwB~ zg}{At!iWCzOH37!ytcPeC`(({ovP7M5Y@bYYMZ}P2Z3=Y_hT)4DRk}wfeIo%q*M9UvXYJq!-@Ly79m5aLD{hf@BzQB>FdQ4mw z6$@vzSKF^Gnzc9vbccii)==~9H#KW<6)Uy1wb~auBn6s`ct!ZEos`WK8e2%<00b%# zY9Nvnmj@V^K(a_38dw-S*;G-(i(ETuIwyirs?$FFW@|66a38k+a%GLmucL%Wc8qk3 z?h_4!?4Y-xt)ry)>J`SuY**fuq2>u+)VZ+_1Egzctb*xJ6+7q`K$^f~r|!i?(07CD zH!)C_uerf-AHNa?6Y61D_MjGu*|wcO+ZMOo4q2bWpvjEWK9yASk%)QhwZS%N2_F4& z16D18>e%Q1mZb`R;vW{+IUoKE`y3(7p zplg5cBB)dtf^SdLd4n60oWie|(ZjgZa6L*VKq02Aij+?Qfr#1z#fwh92aV-HGd^_w zsucG24j8b|pk>BO7k8dS86>f-jBP^Sa}SF{YNn=^NU9mLOdKcAstv&GV>r zLxKHPkFxpvE8^r@MSF6UA}cG`#yFL8;kA7ccH9D=BGBtW2;H>C`FjnF^P}(G{wU;G z!LXLCbPfsGeLCQ{Ep$^~)@?v`q(uI`CxBY44osPcq@(rR-633!qa zsyb>?v%@X+e|Mg`+kRL*(;X>^BNZz{_kw5+K;w?#pReiw7eU8_Z^hhJ&fj80XQkuU z39?-z)6Fy$I`bEiMheS(iB6uLmiMd1i)cbK*9iPpl+h4x9ch7x- z1h4H;W_G?|)i`z??KNJVwgfuAM=7&Apd3vm#AT8uzQZ!NII}}@!j)eIfn53h{NmN7 zAKG6SnKP%^k&R~m5#@_4B@V?hYyHkm>0SQ@PPiw*@Tp@UhP-?w@jW?nxXuCipMW=L zH*5l*d@+jXm0tIMP_ec6Jcy6$w(gKK@xBX8@%oPaSyG;13qkFb*LuVx3{AgIyy&n3 z@R2_DcEn|75_?-v5_o~%xEt~ONB>M~tpL!nOVBLPN&e5bn5>+7o0?Nm|EGJ5 zmUbF{u|Qn?cu5}n4@9}g(G1JxtzkKv(tqwm_?1`?YSVA2IS4WI+*(2D*wh&6MIEhw z+B+2U<&E&|YA=3>?^i6)@n1&&;WGHF-pqi_sN&^C9xoxME5UgorQ_hh1__zzR#zVC zOQt4q6>ME^iPJ37*(kg4^=EFqyKH@6HEHXy79oLj{vFqZGY?sVjk!BX^h$SFJlJnv z5uw~2jLpA)|0=tp>qG*tuLru?-u`khGG2)o{+iDx&nC}eWj3^zx|T`xn5SuR;Aw8U z`p&>dJw`F17@J8YAuW4=;leBE%qagVTG5SZdh&d)(#ZhowZ|cvWvGMMrfVsbg>_~! z19fRz8CSJdrD|Rl)w!uznBF&2-dg{>y4l+6(L(vzbLA0Bk&`=;oQQ>(M8G=3kto_) zP8HD*n4?MySO2YrG6fwSrVmnesW+D&fxjfEmp=tPd?RKLZJcH&K(-S+x)2~QZ$c(> zru?MND7_HPZJVF%wX(49H)+~!7*!I8w72v&{b={#l9yz+S_aVPc_So%iF8>$XD1q1 zFtucO=rBj0Ctmi0{njN8l@}!LX}@dwl>3yMxZ;7 z0Ff2oh8L)YuaAGOuZ5`-p%Z4H@H$;_XRJQ|&(MhO78E|nyFa158gAxG^SP(vGi^+< zChY}o(_=ci3Wta#|K6MVljNe0T$%Q5ylx-v`R)r8;3+VUpp-)7T`-Y&{Zk z*)1*2MW+_eOJtF5tCMDV`}jg-R(_IzeE9|MBKl;a7&(pCLz}5<Zf+)T7bgNUQ_!gZtMlw=8doE}#W+`Xp~1DlE=d5SPT?ymu!r4z%&#A-@x^=QfvDkfx5-jz+h zoZ1OK)2|}_+UI)i9%8sJ9X<7AA?g&_Wd7g#rttHZE;J*7!e5B^zdb%jBj&dUDg4&B zMMYrJ$Z%t!5z6=pMGuO-VF~2dwjoXY+kvR>`N7UYfIBMZGP|C7*O=tU z2Tg_xi#Q3S=1|=WRfZD;HT<1D?GMR%5kI^KWwGrC@P2@R>mDT^3qsmbBiJc21kip~ zZp<7;^w{R;JqZ)C4z-^wL=&dBYj9WJBh&rd^A^n@07qM$c+kGv^f+~mU5_*|eePF| z3wDo-qaoRjmIw<2DjMTG4$HP{z54_te_{W^gu8$r=q0JgowzgQPct2JNtWPUsjF8R zvit&V8$(;7a_m%%9TqPkCXYUp&k*MRcwr*24>hR! z$4c#E=PVE=P4MLTUBM z7#*RDe0}=B)(3cvNpOmWa*eH#2HR?NVqXdJ=hq);MGD07JIQQ7Y0#iD!$C+mk7x&B zMwkS@H%>|fmSu#+ zI!}Sb(%o29Vkp_Th>&&!k7O>Ba#Om~B_J{pT7BHHd8(Ede(l`7O#`_}19hr_?~JP9 z`q(`<)y>%)x;O7)#-wfCP{?llFMoH!)ZomgsOYFvZ1DxrlYhkWRw#E-#Qf*z@Y-EQ z1~?_=c@M4DO@8AzZ2hKvw8CgitzI9yFd&N1-{|vP#4IqYb*#S0e3hrjsEGlnc4xwk z4o!0rxpUt8j&`mJ8?+P8G{m^jbk)bo_UPM+ifW*y-A*et`#_Ja_3nYyRa9fAG1Xr5 z>#AM_@PY|*u)DGRWJihZvgEh#{*joJN28uN7;i5{kJ*Gb-TERfN{ERe_~$Es~NJCpdKLRvdj4658uYYx{ng7I<6j~w@p%F<7a(Ssib|j z51;=Py(Nu*#hnLx@w&8X%=jrADn3TW>kplnb zYbFIWWVQXN7%Cwn6KnR)kYePEBmvM45I)UJb$)ninpdYg3a5N6pm_7Q+9>!_^xy?k za8@tJ@OOs-pRAAfT>Nc2x=>sZUs2!9Dwa%TTmDggH4fq(x^MW>mcRyJINlAqK$YQCMgR8`>6=Sg$ zFnJZsA8xUBXIN3i70Q%8px@yQPMgVP=>xcPI38jNJK<=6hC={a07+n@R|$bnhB)X$ z(Zc%tadp70vBTnW{OUIjTMe38F}JIH$#A}PB&RosPyFZMD}q}5W%$rh>5#U;m`z2K zc(&WRxx7DQLM-+--^w*EWAIS%bi>h587qkwu|H=hma3T^bGD&Z!`u(RKLeNZ&pI=q$|HOcji(0P1QC!YkAp*u z3%S$kumxR}jU<@6`;*-9=5-&LYRA<~uFrwO3U0k*4|xUTp4ZY7;Zbjx|uw&BWU$zK(w55pWa~#=f$c zNDW0O68N!xCy>G}(CX=;8hJLxAKn@Aj(dbZxO8a$+L$jK8$N-h@4$i8)WqD_%Snh4 zR?{O%k}>lr>w$b$g=VP8mckcCrjnp>uQl5F_6dPM8FWRqs}h`DpfCv20uZhyY~tr8 zkAYW4#yM;*je)n=EAb(q@5BWD8b1_--m$Q-3wbh1hM{8ihq7UUQfg@)l06}y+#=$( z$x>oVYJ47zAC^>HLRE-!HitjUixP6!R98WU+h>zct7g4eD;Mj#FL*a!VW!v-@b(Jv zj@@xM5noCp5%Vk3vY{tyI#oyDV7<$`KG`tktVyC&0DqxA#>V;-3oH%NW|Q&=UQ&zU zXNIT67J4D%5R1k#bW0F}TD`hlW7b)-=-%X4;UxQ*u4bK$mTAp%y&-(?{sXF%e_VH6 zTkt(X)SSN|;8q@8XX6qfR;*$r#HbIrvOj*-5ND8RCrcw4u8D$LXm5zlj@E5<3S0R# z??=E$p{tOk96$SloZ~ARe5`J=dB|Nj?u|zy2r(-*(q^@YwZiTF@QzQyPx_l=IDKa) zqD@0?IHJqSqZ_5`)81?4^~`yiGh6>7?|dKa8!e|}5@&qV!Iu9<@G?E}Vx9EzomB3t zEbMEm$TKGwkHDpirp;FZD#6P5qIlQJ8}rf;lHoz#h4TFFPYmS3+8(13_Mx2`?^=8S z|0)0&dQLJTU6{b%*yrpQe#OKKCrL8}YKw+<#|m`SkgeoN69TzIBQOl_Yg)W*w?NW) z*WxhEp$zQBBazJSE6ygu@O^!@Fr46j=|K`Mmb~xbggw7<)BuC@cT@Bwb^k?o-A zKX^9AyqR?zBtW5UA#siILztgOp?r4qgC`9jYJG_fxlsVSugGprremg-W(K0{O!Nw-DN%=FYCyfYA3&p*K>+|Q}s4rx#CQK zNj^U;sLM#q8}#|PeC$p&jAjqMu(lkp-_50Y&n=qF9`a3`Pr9f;b`-~YZ+Bb0r~c+V z*JJ&|^T{}IHkwjNAaM^V*IQ;rk^hnnA@~?YL}7~^St}XfHf6OMMCd9!vhk#gRA*{L zp?&63axj|Si%^NW05#87zpU_>QpFNb+I00v@cHwvdBn+Un)n2Egdt~LcWOeBW4Okm zD$-e~RD+W|UB;KQ;a7GOU&%p*efGu2$@wR74+&iP8|6#_fmnh^WcJLs)rtz{46);F z4v0OL{ZP9550>2%FE(;SbM*#sqMl*UXOb>ch`fJ|(*bOZ9=EB1+V4fkQ)hjsm3-u^Pk-4ji_uDDHdD>84tER!MvbH`*tG zzvbhBR@}Yd`azQGavooV=<WbvWLlO#x`hyO34mKcxrGv=`{ssnP=0Be5#1B;Co9 zh{TR>tjW2Ny$ZxJpYeg57#0`GP#jxDCU0!H15nL@@G*HLQcRdcsUO3sO9xvtmUcc{F*>FQZcZ5bgwaS^k-j5mmt zI7Z{Xnoml|A(&_{imAjK!kf5>g(oDqDI4C{;Bv162k8sFNr;!qPa2LPh>=1n z=^_9)TsLDvTqK7&*Vfm5k;VXjBW^qN3Tl&}K=X5)oXJs$z3gk0_+7`mJvz{pK|FVs zHw!k&7xVjvY;|(Py<;J{)b#Yjj*LZO7x|~pO4^MJ2LqK3X;Irb%nf}L|gck zE#55_BNsy6m+W{e zo!P59DDo*s@VIi+S|v93PwY6d?CE=S&!JLXwE9{i)DMO*_X90;n2*mPDrL%{iqN!?%-_95J^L z=l<*{em(6|h7DR4+4G3Wr;4*}yrBkbe3}=p7sOW1xj!EZVKSMSd;QPw>uhKK z#>MlS@RB@-`ULv|#zI5GytO{=zp*R__uK~R6&p$q{Y{iNkg61yAgB8C^oy&``{~FK z8hE}H&nIihSozKrOONe5Hu?0Zy04U#0$fB7C6y~?8{or}KNvP)an=QP&W80mj&8WL zEZQF&*FhoMMG6tOjeiCIV;T{I>jhi9hiUwz?bkX3NS-k5eWKy)Mo_orMEg4sV6R6X&i-Q%JG;Esl+kLpn@Bsls9O|i9z`tKB^~1D5)RIBB&J<6T@a4$pUvh$IR$%ubH)joi z!7>ON0DPwx=>0DA>Bb^c?L8N0BBrMl#oDB+GOXJh;Y&6I)#GRy$W5xK%a;KS8BrER zX)M>Rdoc*bqP*L9DDA3lF%U8Yzb6RyIsW@}IKq^i7v&{LeIc=*ZHIbO68x=d=+0T( zev=DT9f|x!IWZNTB#N7}V4;9#V$%Wo0%g>*!MdLOEU>My0^gni9ocID{$g9ytD!gy zKRWT`DVN(lcYjR|(}f0?zgBa3SwunLfAhx><%u0uFkrdyqlh8_g zDKt#R6rA2(Vm2LW_>3lBNYKG_F{TEnnKWGGC15y&OebIRhFL4TeMR*v9i0wPoK#H< zu4){s4K&K)K(9~jgGm;H7lS7y_RYfS;&!Oj5*eqbvEcW^a*i67nevzOZxN6F+K~A%TYEtsAVsR z@J=1hc#Dgs7J2^FL|qV&#WBFQyDtEQ2kPO7m2`)WFhqAob)Y>@{crkil6w9VoA?M6 zADGq*#-hyEVhDG5MQj677XmcWY1_-UO40QEP&+D)rZoYv^1B_^w7zAvWGw&pQyCyx zD|ga$w!ODOxxGf_Qq%V9Z7Q2pFiUOIK818AGeZ-~*R zI1O|SSc=3Z?#61Rd|AXx2)K|F@Z1@x!hBBMhAqiU)J=U|Y)T$h3D?ZPPQgkSosnN! zIqw-t$0fqsOlgw3TlHJF*t$Q@bg$9}A3X=cS@-yU3_vNG_!#9}7=q7!LZ?-%U26W4 z$d>_}*s1>Ac%3uFR;tnl*fNlylJ)}r2^Q3&@+is3BIv<}x>-^_ng;jhdaM}6Sg3?p z0jS|b%QyScy3OQ(V*~l~bK>VC{9@FMuW_JUZO?y(V?LKWD6(MXzh}M3r3{7b4eB(#`(q1m{>Be%_<9jw8HO!x#yF6vez$c#kR+}s zZO-_;25Sxngd(}){zv?ccbLqRAlo;yog>4LH&uZUK1n>x?u49C)Y&2evH5Zgt~666 z_2_z|H5AO5Iqxv_Bn~*y1qzRPcob<+Otod5Xd2&z=C;u+F}zBB@b^UdGdUz|s!H}M zXG%KiLzn3G?FZgdY&3pV$nSeY?ZbU^jhLz9!t0K?ep}EFNqR1@E!f*n>x*!uO*~JF zW9UXWrVgbX1n#76_;&0S7z}(5n-bqnII}_iDsNqfmye@)kRk`w~1 z6j4h4BxcPe6}v)xGm%=z2#tB#^KwbgMTl2I*$9eY|EWAHFc3tO48Xo5rW z5oHD!G4kb?MdrOHV=A+8ThlIqL8Uu+7{G@ zb)cGBm|S^Eh5= z^E^SZ=yeC;6nNCdztw&TdnIz}^Of@Ke*@vjt)0g>Y!4AJvWiL~e7+9#Ibhe)> ziNwh>gWZL@FlWc)wzihocz+%+@*euwXhW%Hb>l7tf8aJe5_ZSH1w-uG|B;9qpcBP0 zM`r1Hu#htOl)4Cl1c7oY^t0e4Jh$-I(}M5kzWqh{F=g&IM#JiC`NDSd@BCKX#y<P@Gwl$3a3w z6<(b|K(X5FIR22M)sy$4jY*F4tT{?wZRI+KkZFb<@j@_C316lu1hq2hA|1wCmR+S@ zRN)YNNE{}i_H`_h&VUT5=Y(lN%m?%QX;6$*1P}K-PcPx>*S55v)qZ@r&Vcic-sjkm z! z=nfW&X`}iAqa_H$H%z3Tyz5&P3%+;93_0b;zxLs)t#B|up}JyV$W4~`8E@+BHQ+!y zuIo-jW!~)MN$2eHwyx-{fyGjAWJ(l8TZtUp?wZWBZ%}krT{f*^fqUh+ywHifw)_F> zp76_kj_B&zFmv$FsPm|L7%x-j!WP>_P6dHnUTv!9ZWrrmAUteBa`rT7$2ixO;ga8U z3!91micm}{!Btk+I%pMgcKs?H4`i+=w0@Ws-CS&n^=2hFTQ#QeOmSz6ttIkzmh^`A zYPq)G1l3h(E$mkyr{mvz*MP`x+PULBn%CDhltKkNo6Uqg!vJ#DA@BIYr9TQ`18Un2 zv$}BYzOQuay9}w(?JV63F$H6WmlYPPpH=R|CPb%C@BCv|&Q|&IcW7*LX?Q%epS z`=CPx{1HnJ9_46^=0VmNb>8JvMw-@&+V8SDLRYsa>hZXEeRbtf5eJ>0@Ds47zIY{N z42EOP9J8G@MXXdeiPx#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91AfN*P1ONa40RR91AOHXW0IY^$^8f$?lu1NER9Fe^SItioK@|V(ZWmgL zZT;XwPgVuWM>O%^|Dc$VK;n&?9!&g5)aVsG8cjs5UbtxVVnQNOV~7Mrg3+jnU;rhE z6fhW6P)R>_eXrXo-RW*y6RQ_qcb^s1wTu$TwriZ`=JUws>vRi}5x}MW1MR#7p|gIWJlaLK;~xaN}b< z<-@=RX-%1mt`^O0o^~2=CD7pJ<<$Rp-oUL-7PuG>do^5W_Mk#unlP}6I@6NPxY`Q} zuXJF}!0l)vwPNAW;@5DjPRj?*rZxl zwn;A(cFV!xe^CUu+6SrN?xe#mz?&%N9QHf~=KyK%DoB8HKC)=w=3E?1Bqj9RMJs3U z5am3Uv`@+{jgqO^f}Lx_Jp~CoP3N4AMZr~4&d)T`R?`(M{W5WWJV^z~2B|-oih@h^ zD#DuzGbl(P5>()u*YGo*Och=oRr~3P1wOlKqI)udc$|)(bacG5>~p(y>?{JD7nQf_ z*`T^YL06-O>T(s$bi5v~_fWMfnE7Vn%2*tqV|?~m;wSJEVGkNMD>+xCu#um(7}0so zSEu7?_=Q64Q5D+fz~T=Rr=G_!L*P|(-iOK*@X8r{-?oBlnxMNNgCVCN9Y~ocu+?XA zjjovJ9F1W$Nf!{AEv%W~8oahwM}4Ruc+SLs>_I_*uBxdcn1gQ^2F8a*vGjgAXYyh? zWCE@c5R=tbD(F4nL9NS?$PN1V_2*WR?gjv3)4MQeizuH`;sqrhgykEzj z593&TGlm3h`sIXy_U<7(dpRXGgp0TB{>s?}D{fwLe>IV~exweOfH!qM@CV5kib!YA z6O0gvJi_0J8IdEvyP#;PtqP*=;$iI2t(xG2YI-e!)~kaUn~b{6(&n zp)?iJ`z2)Xh%sCV@BkU`XL%_|FnCA?cVv@h*-FOZhY5erbGh)%Q!Av#fJM3Csc_g zC2I6x%$)80`Tkz#KRA!h1FzY`?0es3t!rKDT5EjPe6B=BLPr7s0GW!if;Ip^!AmGW zL;$`Vdre+|FA!I4r6)keFvAx3M#1`}ijBHDzy)3t0gwjl|qC2YB`SSxFKHr(oY#H$)x{L$LL zBdLKTlsOrmb>T0wd=&6l3+_Te>1!j0OU8%b%N342^opKmT)gni(wV($s(>V-fUv@0p8!f`=>PxC|9=nu ze{ToBBj8b<{PLfXV$h8YPgA~E!_sF9bl;QOF{o6t&JdsX?}rW!_&d`#wlB6T_h;Xf zl{4Tz5>qjF4kZgjO7ZiLPRz_~U@k5%?=30+nxEh9?s78gZ07YHB`FV`4%hlQlMJe@J`+e(qzy+h(9yY^ckv_* zb_E6o4p)ZaWfraIoB2)U7_@l(J0O%jm+Or>8}zSSTkM$ASG^w3F|I? z$+eHt7T~04(_WfKh27zqS$6* zzyy-ZyqvSIZ0!kkSvHknm_P*{5TKLQs8S6M=ONuKAUJWtpxbL#2(_huvY(v~Y%%#~ zYgsq$JbLLprKkV)32`liIT$KKEqs$iYxjFlHiRNvBhxbDg*3@Qefw4UM$>i${R5uB zhvTgmqQsKA{vrKN;TSJU2$f9q=y{$oH{<)woSeV>fkIz6D8@KB zf4M%v%f5U2?<8B(xn}xV+gWP?t&oiapJhJbfa;agtz-YM7=hrSuxl8lAc3GgFna#7 zNjX7;`d?oD`#AK+fQ=ZXqfIZFEk{ApzjJF0=yO~Yj{7oQfXl+6v!wNnoqwEvrs81a zGC?yXeSD2NV!ejp{LdZGEtd1TJ)3g{P6j#2jLR`cpo;YX}~_gU&Gd<+~SUJVh+$7S%`zLy^QqndN<_9 zrLwnXrLvW+ew9zX2)5qw7)zIYawgMrh`{_|(nx%u-ur1B7YcLp&WFa24gAuw~& zKJD3~^`Vp_SR$WGGBaMnttT)#fCc^+P$@UHIyBu+TRJWbcw4`CYL@SVGh!X&y%!x~ zaO*m-bTadEcEL6V6*{>irB8qT5Tqd54TC4`h`PVcd^AM6^Qf=GS->x%N70SY-u?qr>o2*OV7LQ=j)pQGv%4~z zz?X;qv*l$QSNjOuQZ>&WZs2^@G^Qas`T8iM{b19dS>DaXX~=jd4B2u`P;B}JjRBi# z_a@&Z5ev1-VphmKlZEZZd2-Lsw!+1S60YwW6@>+NQ=E5PZ+OUEXjgUaXL-E0fo(E* zsjQ{s>n33o#VZm0e%H{`KJi@2ghl8g>a~`?mFjw+$zlt|VJhSU@Y%0TWs>cnD&61fW4e0vFSaXZa4-c}U{4QR8U z;GV3^@(?Dk5uc@RT|+5C8-24->1snH6-?(nwXSnPcLn#X_}y3XS)MI_?zQ$ZAuyg+ z-pjqsw}|hg{$~f0FzmmbZzFC0He_*Vx|_uLc!Ffeb8#+@m#Z^AYcWcZF(^Os8&Z4g zG)y{$_pgrv#=_rV^D|Y<_b@ICleUv>c<0HzJDOsgJb#Rd-Vt@+EBDPyq7dUM9O{Yp zuGUrO?ma2wpuJuwl1M=*+tb|qx7Doj?!F-3Z>Dq_ihFP=d@_JO;vF{iu-6MWYn#=2 zRX6W=`Q`q-+q@Db|6_a1#8B|#%hskH82lS|9`im0UOJn?N#S;Y0$%xZw3*jR(1h5s z?-7D1tnIafviko>q6$UyqVDq1o@cwyCb*})l~x<@s$5D6N=-Uo1yc49p)xMzxwnuZ zHt!(hu-Ek;Fv4MyNTgbW%rPF*dB=;@r3YnrlFV{#-*gKS_qA(G-~TAlZ@Ti~Yxw;k za1EYyX_Up|`rpbZ0&Iv#$;eC|c0r4XGaQ-1mw@M_4p3vKIIpKs49a8Ns#ni)G314Z z8$Ei?AhiT5dQGWUYdCS|IC7r z=-8ol>V?u!n%F*J^^PZ(ONT&$Ph;r6X;pj|03HlDY6r~0g~X#zuzVU%a&!fs_f|m?qYvg^Z{y?9Qh7Rn?T*F%7lUtA6U&={HzhYEzA`knx1VH> z{tqv?p@I(&ObD5L4|YJV$QM>Nh-X3cx{I&!$FoPC_2iIEJfPk-$;4wz>adRu@n`_y z_R6aN|MDHdK;+IJmyw(hMoDCFCQ(6?hCAG5&7p{y->0Uckv# zvooVuu04$+pqof777ftk<#42@KQ((5DPcSMQyzGOJ{e9H$a9<2Qi_oHjl{#=FUL9d z+~0^2`tcvmp0hENwfHR`Ce|<1S@p;MNGInXCtHnrDPXCKmMTZQ{HVm_cZ>@?Wa6}O zHsJc7wE)mc@1OR2DWY%ZIPK1J2p6XDO$ar`$RXkbW}=@rFZ(t85AS>>U0!yt9f49^ zA9@pc0P#k;>+o5bJfx0t)Lq#v4`OcQn~av__dZ-RYOYu}F#pdsl31C^+Qgro}$q~5A<*c|kypzd} ziYGZ~?}5o`S5lw^B{O@laad9M_DuJle- z*9C7o=CJh#QL=V^sFlJ0c?BaB#4bV^T(DS6&Ne&DBM_3E$S^S13qC$7_Z?GYXTpR@wqr70wu$7+qvf-SEUa5mdHvFbu^7ew!Z1a^ zo}xKOuT*gtGws-a{Tx}{#(>G~Y_h&5P@Q8&p!{*s37^QX_Ibx<6XU*AtDOIvk|^{~ zPlS}&DM5$Ffyu-T&0|KS;Wnaqw{9DB&B3}vcO14wn;)O_e@2*9B&0I_ zZz{}CMxx`hv-XouY>^$Y@J(_INeM>lIQI@I>dBAqq1)}?Xmx(qRuX^i4IV%=MF306 z9g)i*79pP%_7Ex?m6ag-4Tlm=Z;?DQDyC-NpUIb#_^~V_tsL<~5<&;Gf2N+p?(msn zzUD~g>OoW@O}y0@Z;RN)wjam`CipmT&O7a|YljZqU=U86 zedayEdY)2F#BJ6xvmW8K&ffdS*0!%N<%RB!2~PAT4AD*$W7yzHbX#Eja9%3aD+Ah2 zf#T;XJW-GMxpE=d4Y>}jE=#U`IqgSoWcuvgaWQ9j1CKzG zDkoMDDT)B;Byl3R2PtC`ip=yGybfzmVNEx{xi_1|Cbqj>=FxQc{g`xj6fIfy`D8fA z##!-H_e6o0>6Su&$H2kQTujtbtyNFeKc}2=|4IfLTnye#@$Au7Kv4)dnA;-fz@D_8 z)>irG$)dkBY~zX zC!ZXLy*L3xr6cb70QqfN#Q>lFIc<>}>la4@3%7#>a1$PU&O^&VszpxLC%*!m-cO{B z-Y}rQr4$84(hvy#R69H{H zJ*O#uJh)TF6fbXy;fZkk%X=CjsTK}o5N1a`d7kgYYZLPxsHx%9*_XN8VWXEkVJZ%A z1A+5(B;0^{T4aPYr8%i@i32h)_)|q?9vws)r+=5u)1YNftF5mknwfd*%jXA2TeP}Z zQ!m?xJ3?9LpPM?_A3$hQ1QxNbR&}^m z!F999s?p^ak#C4NM_x2p9FoXWJ$>r?lJ)2bG)sX{gExgLA2s5RwHV!h6!C~d_H||J z>9{E{mEv{Z1z~65Vix@dqM4ZqiU|!)eWX$mwS5mLSufxbpBqqS!jShq1bmwCR6 z4uBri7ezMeS6ycaXPVu(i2up$L; zjpMtB`k~WaNrdgM_R=e#SN?Oa*u%nQy01?()h4A(jyfeNfx;5o+kX?maO4#1A^L}0 zYNyIh@QVXIFiS0*tE}2SWTrWNP3pH}1Vz1;E{@JbbgDFM-_Mky^7gH}LEhl~Ve5PexgbIyZ(IN%PqcaV@*_`ZFb=`EjspSz%5m2E34BVT)d=LGyHVz@-e%9Ova*{5@RD;7=Ebkc2GP%pIP^P7KzKapnh`UpH?@h z$RBpD*{b?vhohOKf-JG3?A|AX|2pQ?(>dwIbWhZ38GbTm4AImRNdv_&<99ySX;kJ| zo|5YgbHZC#HYgjBZrvGAT4NZYbp}qkVSa;C-LGsR26Co+i_HM&{awuO9l)Ml{G8zD zs$M8R`r+>PT#Rg!J(K6T4xHq7+tscU(}N$HY;Yz*cUObX7J7h0#u)S7b~t^Oj}TBF zuzsugnst;F#^1jm>22*AC$heublWtaQyM6RuaquFd8V#hJ60Z3j7@bAs&?dD#*>H0SJaDwp%U~27>zdtn+ z|8sZzklZy$%S|+^ie&P6++>zbrq&?+{Yy11Y>@_ce@vU4ZulS@6yziG6;iu3Iu`M= zf3rcWG<+3F`K|*(`0mE<$89F@jSq;j=W#E>(R}2drCB7D*0-|D;S;(;TwzIJkGs|q z2qH{m_zZ+el`b;Bv-#bQ>}*VPYC|7`rgBFf2oivXS^>v<&HHTypvd4|-zn|=h=TG{ z05TH2+{T%EnADO>3i|CB zCu60#qk`}GW{n4l-E$VrqgZGbI zbQW690KgZt4U3F^5@bdO1!xu~p@7Y~*_FfWg2CdvED5P5#w#V46LH`<&V0{t&Ml~4 zHNi7lIa+#i+^Z6EnxO7KJQw)wD)4~&S-Ki8)3=jpqxmx6c&zU&<&h%*c$I(5{1HZT zc9WE}ijcWJiVa^Q^xC|WX0habl89qycOyeViIbi(LFsEY_8a|+X^+%Qv+W4vzj>`y zpuRnjc-eHNkvXvI_f{=*FX=OKQzT?bck#2*qoKTHmDe>CDb&3AngA1O)1b}QJ1Tun z_<@yVEM>qG7664Pa@dzL@;DEh`#?yM+M|_fQS<7yv|i*pw)|Z8)9IR+QB7N3v3K(wv4OY*TXnH&X0nQB}?|h2XQeGL^q~N7N zDFa@x0E(UyN7k9g%IFq7Sf+EAfE#K%%#`)!90_)Dmy3Bll&e1vHQyPA87TaF(xbqMpDntVp?;8*$87STop$!EAnGhZ?>mqPJ(X zFsr336p3P{PpZCGn&^LP(JjnBbl_3P3Kcq+m}xVFMVr1zdCPJMDIV_ki#c=vvTwbU z*gKtfic&{<5ozL6Vfpx>o2Tts?3fkhWnJD&^$&+Mh5WGGyO7fG@6WDE`tEe(8<;+q z@Ld~g08XDzF8xtmpIj`#q^(Ty{Hq>t*v`pedHnuj(0%L(%sjkwp%s}wMd!a<*L~9T z9MM@s)Km~ogxlqEhIw5(lc46gCPsSosUFsgGDr8H{mj%OzJz{N#;bQ;KkV+ZWA1(9 zu0PXzyh+C<4OBYQ0v3z~Lr;=C@qmt8===Ov2lJ1=DeLfq*#jgT{YQCuwz?j{&3o_6 zsqp2Z_q-YWJg?C6=!Or|b@(zxTlg$ng2eUQzuC<+o)k<6^9ju_Z*#x+oioZ5T8Z_L zz9^A1h2eFS0O5muq8;LuDKwOv4A9pxmOjgb6L*i!-(0`Ie^d5Fsgspon%X|7 zC{RRXEmYn!5zP9XjG*{pLa)!2;PJB2<-tH@R7+E1cRo=Wz_5Ko8h8bB$QU%t9#vol zAoq?C$~~AsYC|AQQ)>>7BJ@{Cal)ZpqE=gjT+Juf!RD-;U0mbV1ED5PbvFD6M=qj1 zZ{QERT5@(&LQ~1X9xSf&@%r|3`S#ZCE=sWD`D4YQZ`MR`G&s>lN{y2+HqCfvgcw3E z-}Kp(dfGG?V|97kAHQX+OcKCZS`Q%}HD6u*e$~Ki&Vx53&FC!x94xJd4F2l^qQeFO z?&JdmgrdVjroKNJx64C!H&Vncr^w zzR#XI}Dn&o8jB~_YlVM^+#0W(G1LZH5K^|uYT@KSR z^Y5>^*Bc45E1({~EJB(t@4n9gb-eT#s@@7)J^^<_VV`Pm!h7av8XH6^5zO zOcQBhTGr;|MbRsgxCW69w{bl4EW#A~);L?d4*y#j8Ne=Z@fmJP0k4{_cQ~KA|Y#_#BuUiYx8y*za3_6Y}c=GSe7(2|KAfhdzud!Zq&}j)=o4 z7R|&&oX7~e@~HmyOOsCCwy`AR+deNjZ3bf6ijI_*tKP*_5JP3;0d;L_p(c>W1b%sG zJ*$wcO$ng^aW0E(5ldckV9unU7}OB7s?Wx(761?1^&8tA5y0_(ieV>(x-e@}1`lWC z-YH~G$D>#ud!SxK2_Iw{K%92=+{4yb-_XC>ji&j7)1ofp(OGa4jjF;Hd*`6YQL+Jf zffg+6CPc8F@EDPN{Kn96yip;?g@)qgkPo^nVKFqY?8!=h$G$V=<>%5J&iVjwR!7H0 z$@QL|_Q81I;Bnq8-5JyNRv$Y>`sWl{qhq>u+X|)@cMlsG!{*lu?*H`Tp|!uv z9oEPU1jUEj@ueBr}%Y)7Luyi)REaJV>eQ{+uy4uh0ep0){t;OU8D*RZ& zE-Z-&=BrWQLAD^A&qut&4{ZfhqK1ZQB0fACP)=zgx(0(o-`U62EzTkBkG@mXqbjXm z>w`HNeQM?Is&4xq@BB(K;wv5nI6EXas)XXAkUuf}5uSrZLYxRCQPefn-1^#OCd4aO zzF=dQ*CREEyWf@n6h7(uXLNgJIwGp#Xrsj6S<^bzQ7N0B0N{XlT;`=m9Olg<>KL}9 zlp>EKTx-h|%d1Ncqa=wnQEuE;sIO-f#%Bs?g4}&xS?$9MG?n$isHky0caj za8W+B^ERK#&h?(x)7LLpOqApV5F>sqB`sntV%SV>Q1;ax67qs+WcssfFeF3Xk=e4^ zjR2^(%K1oBq%0%Rf!y&WT;lu2Co(rHi|r1_uW)n{<7fGc-c=ft7Z0Q}r4W$o$@tQF#i?jDBwZ8h+=SC}3?anUp3mtRVv9l#H?-UD;HjTF zQ*>|}e=6gDrgI9p%c&4iMUkQa4zziS$bO&i#DI$Wu$7dz7-}XLk%!US^XUIFf2obO zFCTjVEtkvYSKWB;<0C;_B{HHs~ax_48^Cml*mjfBC5*7^HJZiLDir(3k&BerVIZF8zF;0q80eX8c zPN4tc+Dc5DqEAq$Y3B3R&XPZ=AQfFMXv#!RQnGecJONe0H;+!f^h5x0wS<+%;D}MpUbTNUBA}S2n&U59-_5HKr{L^jPsV8B^%NaH|tUr)mq=qCBv_- ziZ1xUp(ZzxUYTCF@C}To;u60?RIfTGS?#JnB8S8@j`TKPkAa)$My+6ziGaBcA@){d z91)%+v2_ba7gNecdj^8*I4#<11l!{XKl6s0zkXfJPxhP+@b+5ev{a>p*W-3*25c&} zmCf{g9mPWVQ$?Sp*4V|lT@~>RR)9iNdN^7KT@>*MU3&v^3e?=NTbG9!h6C|9zO097 zN{Qs6YwR-5$)~ z`b~qs`a1Dbx8P>%V=1XGjBptMf%P~sl1qbHVm1HYpY|-Z^Dar8^HqjIw}xaeRlsYa zJ_@Apy-??`gxPmb`m`0`z`#G7*_C}qiSZe~l2z65tE~IwMw$1|-u&t|z-8SxliH00 zlh1#kuqB56s+E&PWQ7Nz17?c}pN+A@-c^xLqh(j;mS|?>(Pf7(?qd z5q@jkc^nA&!K-}-1P=Ry0yyze0W!+h^iW}7jzC1{?|rEFFWbE^Yu7Y}t?jmP-D$f+ zmqFT7nTl0HL|4jwGm7w@a>9 zKD)V~+g~ysmei$OT5}%$&LK8?ib|8aY|>W3;P+0B;=oD=?1rg+PxKcP(d;OEzq1CKA&y#boc51P^ZJPPS)z5 zAZ)dd2$glGQXFj$`XBBJyl2y-aoBA8121JC9&~|_nY>nkmW>TLi%mWdn-^Jks-Jv| zSR*wij;A3Fcy8KsDjQ15?Z9oOj|Qw2;jgJiq>dxG(2I2RE- z$As!#zSFIskebqU2bnoM^N<4VWD2#>!;saPSsY8OaCCQqkCMdje$C?Sp%V}f2~tG5 z0whMYk6tcaABwu*x)ak@n4sMElGPX1_lmv@bgdI2jPdD|2-<~Jf`L`@>Lj7{<-uLQ zE3S_#3e10q-ra=vaDQ42QUY^@edh>tnTtpBiiDVUk5+Po@%RmuTntOlE29I4MeJI?;`7;{3e4Qst#i-RH6s;>e(Sc+ubF2_gwf5Qi%P!aa89fx6^{~A*&B4Q zKTF|Kx^NkiWx=RDhe<{PWXMQ;2)=SC=yZC&mh?T&CvFVz?5cW~ritRjG2?I0Av_cI z)=s!@MXpXbarYm>Kj0wOxl=eFMgSMc?62U#2gM^li@wKPK9^;;0_h7B>F>0>I3P`{ zr^ygPYp~WVm?Qbp6O3*O2)(`y)x>%ZXtztz zMAcwKDr=TCMY!S-MJ8|2MJCVNUBI0BkJV6?(!~W!_dC{TS=eh}t#X+2D>Kp&)ZN~q zvg!ogxUXu^y(P*;Q+y_rDoGeSCYxkaGPldDDx)k;ocJvvGO#1YKoQLHUf2h_pjm&1 zqh&!_KFH03FcJvSdfgUYMp=5EpigZ*8}7N_W%Ms^WSQ4hH`9>3061OEcxmf~TcYn5_oHtscWn zo5!ayj<_fZ)vHu3!A!7M;4y1QIr8YGy$P2qDD_4+T8^=^dB6uNsz|D>p~4pF3Nrb6 zcpRK*($<~JUqOya#M1=#IhOZ zG)W+rJS-x(6EoVz)P zsSo>JtnChdj9^);su%SkFG~_7JPM zEDz3gk2T7Y%x>1tWyia|op(ilEzvAujW?Xwlw>J6d7yEi8E zv30riR|a_MM%ZZX&n!qm0{2agq(s?x9E@=*tyT$nND+{Djpm7Rsy!+c$j+wqMwTOF zZL8BQ|I`<^bGW)5apO{lh(Asqen?_U`$_n0-Ob~Yd%^89oEe%9yGumQ_8Be+l2k+n zCxT%s?bMpv|AdWP7M1LQwLm|x+igA~;+iK-*+tClF&ueX_V}>=4gvZ01xpubQWXD_ zi?Un>&3=$fu)dgk-Z;0Ll}HK5_YM->l^Czrd0^cJ))(DwL2g3aZuza7ga9^|mT_70 z))}A}r1#-(9cxtn<9jGRwOB4hb9kK@YCgjfOM-90I$8@l=H^`K$cyhe2mTM|FY9vW znH~h)I<_aa#V1xmhk?Ng@$Jw-s%a!$BI4Us+Df+?J&gKAF-M`v}j`OWKP3>6`X`tEmhe#y*(Xm$_^Ybbs=%;L7h zp7q^C*qM}Krqsinq|WolR99>_!GL#Z71Hhz|IwQQv<>Ds09B?Je(lhI1(FInO8mc} zl$RyKCUmfku+Cd^8s0|t+e}5g7M{ZPJQH=UB3(~U&(w#Bz#@DTDHy>_UaS~AtN>4O zJ-I#U@R($fgupHebcpuEBX`SZ>kN!rW$#9>s{^3`86ZRQRtYTY)hiFm_9wU3c`SC8 z-5M%g)h}3Pt|wyj#F%}pGC@VL`9&>9P+_UbudCkS%y2w&*o})hBplrB*@Z?gel5q+ z%|*59(sR9GMk3xME}wd%&k?7~J)OL`rK#4d-haC7uaU8-L@?$K6(r<0e<;y83rK&` z3Q!1rD9WkcB8WBQ|WT|$u^lkr0UL4WH4EQTJyk@5gzHb18cOte4w zS`fLv8q;PvAZyY;*Go3Qw1~5#gP0D0ERla6M6#{; zr1l?bR}Nh+OC7)4bfAs(0ZD(axaw6j9v`^jh5>*Eo&$dAnt?c|Y*ckEORIiJXfGcM zEo`bmIq6rJm`XhkXR-^3d8^RTK2;nmVetHfUNugJG(4XLOu>HJA;0EWb~?&|0abr6 zxqVp@p=b3MN^|~?djPe!=eex(u!x>RYFAj|*T$cTi*Sd3Bme7Pri1tkK9N`KtRmXf zZYNBNtik97ct1R^vamQBfo9ZUR@k*LhIg8OR9d_{iv#t)LQV91^5}K5u{eyxwOFoU zHMVq$C>tfa@uNDW^_>EmO~WYQd(@!nKmAvSSIb&hPO|}g-3985t?|R&WZXvxS}Kt2i^eRe>WHb_;-K5cM4=@AN1>E&1c$k!w4O*oscx(f=<1K6l#8Exi)U(ZiZ zdr#YTP6?m1e1dOKysUjQ^>-MR={OuD00g6+(a^cvcmn#A_%Fh3Of%(qP5nvjS1=(> z|Ld8{u%(J}%2SY~+$4pjy{()5HN2MYUjg1X9umxOMFFPdM+IwOVEs4Z(olynvT%G) zt9|#VR}%O2@f6=+6uvbZv{3U)l;C{tuc zZ{K$rut=eS%3_~fQv^@$HV6#9)K9>|0qD$EV2$G^XUNBLM|5-ZmFF!KV)$4l^KVj@ zZ4fI}Knv*K%zPqK77}B-h_V{66VrmoZP2>@^euu8Rc}#qwRwt5uEBWcJJE5*5rT2t zA4Jpx`QQ~1Sh_n_a9x%Il!t1&B~J6p54zxAJx`REov${jeuL8h8x-z=?qwMAmPK5i z_*ES)BW(NZluu#Bmn1-NUKQip_X&_WzJy~J`WYxEJQ&Gu7DD< z&F9urE;}8S{x4{yB zaq~1Zrz%8)<`prSQv$eu5@1RY2WLu=waPTrn`WK%;G5(jt^FeM;gOdvXQjYhax~_> z{bS_`;t#$RYMu-;_Dd&o+LD<5Afg6v{NK?0d8dD5ohAN?QoocETBj?y{MB)jQ%UQ}#t3j&iL!qr@#6JEajR3@^k5wgLfI9S9dT2^f`2wd z%I#Q*@Ctk@w=(u)@QC}yBvUP&fFRR-uYKJ){Wp3&$s(o~W7OzgsUIPx0|ph2L1(r*_Pa@T@mcH^JxBjh09#fgo|W#gG7}|)k&uD1iZxb0 z@|Y)W79SKj9sS&EhmTD;uI#)FE6VwQ*YAr&foK$RI5H8_ripb$^=;U%gWbrrk4!5P zXDcyscEZoSH~n6VJu8$^6LE6)>+=o#Q-~*jmob^@191+Ot1w454e3)WMliLtY6~^w zW|n#R@~{5K#P+(w+XC%(+UcOrk|yzkEes=!qW%imu6>zjdb!B#`efaliKtN}_c!Jp zfyZa`n+Nx8;*AquvMT2;c8fnYszdDA*0(R`bsof1W<#O{v%O!1IO4WZe=>XBu_D%d zOwWDaEtX%@B>4V%f1+dKqcXT>m2!|&?}(GK8e&R=&w?V`*Vj)sCetWp9lr@@{xe6a zE)JL&;p}OnOO}Nw?vFyoccXT*z*?r}E8{uPtd;4<(hmX;d$rqJhEF}I+kD+m(ke;J z7Cm$W*CSdcD=RYEBhedg>tuT{PHqwCdDP*NkHv4rvQTXkzEn*Mb0oJz&+WfWIOS4@ zzpPJ|e%a-PIwOaOC7uQcHQ-q(SE(e@fj+7oC@34wzaBNaP;cw&gm{Z8yYX?V(lIv5 zKbg*zo1m5aGA4^lwJ|bAU=j3*d8S{vp!~fLFcK8s6%Ng55_qW_d*3R%e=34aDZPfD z&Le39j|ahp6E7B0*9OVdeMNrTErFatiE+=Z!XZ^tv0y%zZKXRTBuPyP&C{5(H?t)S zKV24_-TKpOmCPzU&by8R1Q5HY^@IDoeDA9MbgizgQ*F1Er~HVmvSU>vx}pZVQ&tr| zOtZl8vfY2#L<)gZ=ba&wG~EI*Vd?}lRMCf+!b5CDz$8~be-HKMo5omk$w7p4`Mym*IR8WiTz4^kKcUo^8Hkcsu14u z`Pkg`#-Y^A%CqJ0O@UF|caAulf68@(zhqp~YjzInh7qSN7Ov%Aj(Qz%{3zW|xubJ- ztNE_u_MO7Q_585r;xD?e=Er}@U1G@BKW5v$UM((eByhH2p!^g9W}99OD8VV@7d{#H zv)Eam+^K(5>-Ot~U!R$Um3prQmM)7DyK=iM%vy>BRX4#aH7*oCMmz07YB(EL!^%F7?CA#>zXqiYDhS;e?LYPTf(bte6B ztrfvDXYG*T;ExK-w?Knt{jNv)>KMk*sM^ngZ-WiUN;=0Ev^GIDMs=AyLg2V@3R z7ugNc45;4!RPxvzoT}3NCMeK$7j#q3r_xV(@t@OPRyoKBzHJ#IepkDsm$EJRxL)A* zf{_GQYttu^OXr$jHQn}zs$Eh|s|Z!r?Yi+bS-bi+PE*lH zo|6ztu6$r_?|B~S#m>imI!kQP9`6X426uHRri!wGcK;J;`%sFM(D#*Le~W*t2uH`Q z(HEO9-c_`mhA@4QhbW+tgtt9Pzx=_*3Kh~TB$SKmU4yx-Ay&)n%PZPKg#rD4H{%Ke zdMY@rf5EAFfqtrf?Vmk&N(_d-<=bvfOdPrYwY*;5%j@O6@O#Qj7LJTk-x3LN+dEKy+X z>~U8j3Ql`exr1jR>+S4nEy+4c2f{-Q!3_9)yY758tLGg7k^=nt<6h$YE$ltA+13S<}uOg#XHe6 zZHKdNsAnMQ_RIuB;mdoZ%RWpandzLR-BnjN2j@lkBbBd+?i ze*!5mC}!Qj(Q!rTu`KrRRqp22c=hF6<^v&iCDB`n7mHl;vdclcer%;{;=kA(PwdGG zdX#BWoC!leBC4);^J^tPkPbIe<)~nYb6R3u{HvC!NOQa?DC^Q`|_@ zcz;rk`a!4rSLAS>_=b@g?Yab4%=J3Cc7pRv8?_rHMl_aK*HSPU%0pG2Fyhef_biA!aW|-(( z*RIdG&Lmk(=(nk28Q1k1Oa$8Oa-phG%Mc6dT3>JIylcMMIc{&FsBYBD^n@#~>C?HG z*1&FpYVvXOU@~r2(BUa+KZv;tZ15#RewooEM0LFb>guQN;Z0EBFMFMZ=-m$a3;gVD z)2EBD4+*=6ZF?+)P`z@DOT;azK0Q4p4>NfwDR#Pd;no|{q_qB!zk1O8QojE;>zhPu z1Q=1z^0MYHo1*``H3ex|bW-Zy==5J4fE2;g6sq6YcXMYK5i|S^9(OSw#v!3^!EB<% zZF~J~CleS`V-peStyf*I%1^R88D;+8{{qN6-t!@gTARDg^w2`uSzFZbPQ!)q^oC}m zPo8VOQxq2BaIN`pAVFGu8!{p3}(+iZ`f4ck2ygVpEZMQW38nLpj3NQx+&sAkb8`}P3- zc>N*k6AG?r}bfO6_vccTuKX+*- z7W4Q#2``P0jIHYs)F>uG#AM#I6W2)!Nu2nD5{CRV_PmkDS2ditmbd#pggqEgAo%5oC?|CP zGa0CV)wA*ko!xC7pZYkqo{10CN_e00FX5SjWkI3?@XG}}bze!(&+k2$C-C`6temSk z_YyYpB^wh3woo`B zrMSTd4T?(X-jh`FeO76C(3xsOm9s2BP_b%ospg^!#*2*o9N;tf4(X9$qc_d(()yz5 zDk@1}u_Xd+86vy5RBs?LQCuYKCGPS;E4uFOi@V%1JTK&|eRf~lp$AV#;*#O}iRI2=i3rFL8{ zA^ptDZ0l6k-mq=hUJ0x$Y@J>UNfz~I5l63H(`~*v;qX`Z{zwsQQD-!wp0D&hyB8&Z z7$R07gIKGJ^%AvQ{4KM0edM39iFRx=P^6`!<1(s0t|JbB2tXs_B_IH9#ajH0C=-n+ z`nz`fKMBKLlf?2AC+|83M+0rqR%uhNGD;uKA6jOjp7YDe^4%0fRB<^bcjlS2KF~F; zu09wh1x0&4pG&76M;x8$u`b134t=dEPBn6PV|X29<#T4F1mxGF*HOgiWU8tN@cguI z_F@o+XL7FJztR63wC|j4x_DANzcX94r7Iz-O2x$({&qd*mdLG=-Rv)uZ}UlMR+F&q zU}=lkfb0p1>1Ho){o$@}mSKIV;h*$AND7~Dl)QzpFBlSM99Kx+F7GsVK5xcR? z_4Q(Z%cgk8ST}U;;=!LwyZVu^S$>B-Waeik%wzcKTIqeX=0FP(TGQ=nxi=dsS5BYF zl@?}NT!Y!Iyos^@v7XWXA{_bV~1lxz7gC?xuXxy0_?GaN!AhRRM5>)^t%&ODd;@HN5L{MD3 zc>i2keQZVm#?NrDwbfd}_<*5^U&w0zv~n-y8=GGN-!=_`FU^cM8oVCWRFxw?BM^YD zi=Vxz4q|jwPTg+?q7_XI)-S@gQkh>w0ZUB}a{^ z_i;`Y(~fvpI!vmW*A^|P7(6+@C4UeL2WATf{P1?H5rk`5{TL zcf!CgP6Mi{MvjZS)rfo7JLDZK7M7ANd$3`{j9baD*7{#Zu-33fOYUzjvtKzR2)_T1I1s7fe&z|=)QkX;=`zX8!Byw-veM#yr;|wjO^II>!B*B z0+w%;0(=*G3V@88t!}~zx)&do(uF=073Yeh*fEhZb3Vn>t!m(9p~Y_FdV3IgR)9eT z)~e9xpI%2deTWyHlXA(7srrfc_`7ACm!R>SoIgkuF8 z!wkOhrixFy9y@)GdxAntd!!7@=L_tFD2T5OdSUO)I%yj02le`qeQ=yKq$g^h)NG;# za(0J@#VBi^5YI|QI=rq{KlxwGabZJ0dKmfWDROkcM}lUN$@DV`K7fU?8CP2H23QPi zG?YF*=Vn=kTK*#Y_{AQN&oLju|0#E=fx%YVh>S{puu&K$b;BN*jIo@VYhqPiJPzzM>#kxoy0vW9i;ne2_BIG0zyRFp<3M(iY(%*M_>q0ulV2K}Tg zkG{EWKS{i%4DUuHi%DVKy%e+Q!~Uf`>>F6NgD{{I8~nO4!VgOvtFOc7(O)X`|7n*f zxBa4CJ-v9fUUH+`7sPVvpM_C*udZ@OTGTzx56QM5y~OlrZc&w9=)B?nmd@keRn+^= zvm~4sa5987LFDnU{(N|N zJAR8H@}p1fC+H(yTI4n#%~TbImMpuqYn9cQ<0QQ%=PzZItLkC*ef9WJUvfITKWh#D zc#__8`4am9%#NslIUw+<82#SR8AYG|woLfBg#!-&dqq}@P>|I0%lbdy0lSMmNe+}o zj0zZuFr6Wb?Y{Qy-S=|r`bdrDmhnmvkRnkdn`YCleU>Q$=je}LGhh>_QAj6aa_0Oc z%Swsmui;IRx7bN*=AAS@5yW&Y2hy;3&|HAiA8}!HT6!Z!RVn~MZg`RmI6&%#tBZDx zfD+y@Z~NWlk*4l13vmt3AK2wP!fQlnBbECL>?p)F?T)<`w&QN>cP_V>r7UTcsTaaP zTOb$f!P@zf$6>890NVKbIkG8rE?9!Y97sMSZjfF?A zYR8lp`LMoz~O?iaZN;gcX;LC-%Ia*R%A&SLx!YIf29?P+=XAAojK8!^OU*@?R&DK!#G_lsn!#;S375uZ&B0HH1|BO0R90$U>qs zSvHv>H~mAgNCcjo-e+;RjY6B9NCbQrZ|BHjTkehaU<9CSkdd>Vl*ifA2LNOP&R2Qdy3k3-TQ+ zbq=#vI43x`s=%~cGyN&y4Y!FxhwgDe@i6uv8^BLL&3z*SO=D0aLjih?gY4-9uWp5or)H+v~w6n5X#F-I52z=Z_p4JB(;M| zeaVFhuR2|3UD2MzVc~^nSoD2(dD#uL_1PdnIxeA{V5n`#3xf1Zx@4lw(DsQ&H$h zw#%3O<1173hjg2_nhKi!d1ej=h7y`hVjCNB6|HTnx>SWuCE-kgTnfT+YGX4_Lun({ zDv2`>d3vrS)tTf7ps_vvh!Cx^e1BFuWnEAh0(7fkNk|-3oU|iRWdsC6U)?Raft~HN z;^$U}vZK5O8|LV$>6X5T(uYkblv{zwPxnQBh(BQ5tA~J!vGiAMYP^_ki~pkIxDfOZ zUJDwq%O~WueeV6%uN<54&u*c&E4y431cklBNrb06zGOOy4XNT~JS-q(s6@)F@ovbe ze`fial(O4(-su%6@@1+V0MsdLLMyE8;)nou(7}czU(5ASaZYDT(kUZ0L(&g$nF^n9 z9-Pi`ZZLX&)^*M6As4_2Mmc9S7OT)F8KkL2NJ)KJcnCuWU=Wy402A&45#Q9Id~BBH z0cY*xlv!uXzKrXLH!xQu(OtJvEj|0-DmRj1vjFz{c*I4$Pe(+_V|^b~S!0xm{8lq= zZv)@NlcyL3Xdz+*|L137F7y6L-2VsrKw=q^S>F6i%<{Fr8zk06$Ay-(!L$fY@7mcng!2}L0t zgi|KxfB63Xtk_Q8#ZPipQ@!zgjdpEIbK_?q17Hoi4Eiyun$hrc>T(7pOLVLQE=lgGwA+A308p& z7@=09(|$>eLy5gLe{*|3b(M;1n;C^~v?o88jYib48eR4$QGsBFzd}3QuwO^_XE(=B zq+hMi0UFC|dB{LCwch7;zYT=NK})O%sgi0k#yV;My@24^B1+CuZmYOh0^b)5Ba_)) zC%i#_Iev&nsu%I|1N5=MVc#PrlunKAs&hY|3s5;@}`>sB>}gzxuB zB=2vrRyB3uiyW(hkDUNe1@&(b`;>ZvGgw|@s{zVC#_`HXIN_^J@Etb zA7A+F?ot37T{<-vTy8h&b3e+WKHE1oh;pUQrN4yRRrx?mT_9jRa2i4l1fUnLW^Cbl z!I1>VzyFe?VELWWhM?@?t-YPZkD-Qjo@bC2(o#ZtZmr{KZsdFWItV`rs$gp{724@C zL8K5}E0+DHcWcL^{BGei4>@J-3%a#$y6;I}=upc};-NDv-z#kPX26ylOpH)Ov1uU{ zkLj6oiH6l_s+B~_z;|Jc2oi?naS7#3H63~~lWj4rUnd=fCnKdkik<@R&kch9q##G{ z4u!%=rlM~Yp3jk*t8}1B`Sv6<%Z^}~1e@aq zg|JQ`QO2pSjAm-g*?IrNc$^~sIrNBo2$m|Sxanr?Mfs>2@Auu49 zGXlsS<9XS1&8h(dD*Hl&5HBDG!^pJ*lkau_Ur+7`7z;rcs$hT4we?3bT=7Fe<>{5( z2m2(c+hUz2BTHM8dCe*Z3XX&Av;b~a=$6EF>&^E8%nyxO@m_n!q&XD^A{SRjRZQ0L~qDeC=j&0$j6=LNIz@`ni^>ch|sv}^6 zlm>?28yPl@WmDPR?Y-A9X{U9Dv_IsbXJnzKCjkRksLOg#42uG2mE_acbTQ4)J|1V>%U@K(FP3AYhL0U zdeOCPN1qLv!|#c=p!_+%VNV(GHt`RuLRV^vz<5tt-r)yOK**kUWPspVAf|}ZL{LS= z@k(@@!P&W!>wwe`x{+GrFSWhHov7hu?{KuuT%kl#WO@*WX$i_@retlhQBj++SVNCx z5$78LxP>Z=^aJ)D280r_jj=zFfMJFXCIe^B{~V@d1rl_F(qo&AB4bC-vYL>x2jSKX zpuTG-6kgp3e^T&+dtV*i6a~)v@n?n*MffN59y}<0djUX zt27R+SE#hp8bzc#;rk$jw3r4)Q@eI$*`_)=Pvge8@8|8>H3X)<9YX6cXa=ii#Le;(qKm@%0-7$>2ShnYc`j#zJ7gu_FE^?uAkL|H)UIH#gPu^40!6^J=^ zr`}iwa^!4tzW~vOMZAaKF>*8A{^8m$i(VK)>?=#l`xrVe>wseSvM_aF zATNkY>kM_P3?1kE`uIq#mvr-wuTgUH0N<&JhF=(E9%^NS*HLm!4GZ4_XI zL=R5tlG5Mk_1rPfg)sk^llFuKPMPBhuU|L5q#yP_mzxp1o&pAzi-X31sgFpIHn@($ z_>=`AB5(8tP6p2zS5VEvH5J$M` z_much3>S7t3Yo`Yx!>83-hW9LYzDKP?mKdkD#QAK8*M((sx{eBQdrR<^3ZhFP81+& zBnJMUefQyNBji~$5d88Wfw1Lv59aJN9t2!pABLg;ewJ#LXL-10;QcJl+Y4Mtngb)k6JZlCf)3uD_u)J3sYyN;NN5hNbg$%W!i-GK%e&!Us)2IExWSss$YG(hm3kJ-h%yD z>8q^n$+4I(_y_mbT{du4P%h1j3oSpjhY97{+IZ`aA4ug!vNJ6*p?<2H(2w+GD3j$I z1TUXGyNzdf>_yB3grP~FZUs<2Quw;eEi*7s(-MiIkQ%@J^+WGdQvYSUN+TRiD-xto zJ=OUU+kxGYc!HCLNbCvR4lGTp~#L;DFzGd-#gJe*xf(P3hDQz|y)?b9mwU3WUVnpcqXM<@w%r-k*Wr^gzAv)8T^sqA=Ye z!7qy&exJmAcAt~CwS#@yNmjr8*T*!A6w4~E*ibaLRs0CFo(;R3=ODhDt6zWNodmo0 zXx&bT$6&+5c>a|WJ)F4G-^GjY0H#*tY=UNyYr_q5fsrcjk(c^~e*7Lf`!Jd`)p412 zn|^*hV= zFI4UbwA%X@smDd$cQOiMC%jfitTxTb+#`9`G=2rJDfK!E=5ra|So>lc{X1$~w28i+ z4p&cTGwZ#5VueiXS9O8#;RR$yg7tL9!^)Sz&pZYIzlSh}0}V{LxL$Cu%B4U5_}k}- zm~|CsD<076x@<>m=6w6N?WaThIBP`!u{-;WF)xc=2otx*lwf|5+MkdJePjh(B z9SH+%cHGCMAXNxB{_3^otDWdsV7Ob6n{0 z+&!(;iaHOX__5z_$Qk{%xYV%Ig@7iokGBwR`3642ZP#H#v9QGbWl8<|MS*=@qO@Uj z6+SZ_v9`1paUe5tFN~v(b#J3a_Lx0+;r9giZIx-A5TxdbG>xi#AZ5_z1V}B^n)sxT zz49}eK7EWb6wR!6-qQOrHQHkUvshvq%=G2d&@(#XM*Am1;WbnJ{X_!a{ZkphD$^TQ z=Iskb&}=lBm(RHiwJoGg`*NiQ6#RB$T#LF+>#ef;Jne&MxKPX!#r`&TVEFsp2jnNx>dClzpcPy&G&13a_<0qaR3i+k212~hoQ z8nMk{JP-t04I{GW5gUBqcJW-jSMrlw}>p)ptx?WKuCUV77taMiV zHok9V=6yv+Uts@fMY&A}amC=!Yj}eL@=e%XJ#%?agkt1jWF+10{(E9mHLDa>Ll7Vj zG=3cp%ljIB-6pC}6&`xJ*6WCP|IlglLWJ^?yviI8Ve)?V_i4%n;olzny62_`-|IGi z^=}p_O>Z8M;c4|RExu70E7ePW(HWVS&E$+LL6xSQgB`QfMQJ|4pCTFowA39p5P-|$ zUtM_H2HnP8_RoS~Vwk(FhbG zH41licj%=0a;Ln2STFBvU}Ne&O&%8bYKj!h1FA#sNM`232fX|U3QPp#3C?mN2;hE9 z;)!@5ixSPl<89^7gwhHc2YAX1KJK$#*3`KOMIQ253q7-*RJ5k)zp9GBO|Ga~X*^}US5oN@aG&waHV%vi~r{t^`ptTxb zL}q1W8S7*>7oWwvgV4uFLZ(@k`R*=LO_|Gu`prs~!WQXj-NLIa^2(7IHg>BG^N zc|i{-^=&Cek9dkJFQys|sjG9i>LLz|;yCv{^1i%c*h>8zF91kLvS9HBQi~ZU!JL`B zK8N+U0fr1*6??Ium)AF!6tc1eGhXIYL6IRT7rmKp7+>?%5Pa6zC5)KY$ycF0ZJ`G5nEQDG100U-jLkH8^UE4g6wq?sg%pP=-$&G#bcN`^?w3a6 z((s$6eRKcSEIslW-kk5Qi|5Mg-(xdLF}PxxVh$PuO}#aR6pW1kV4Af!Bqh*btXNNZ z>-4(IUl+L4dw+3LcpGut=qB45O+W)Q5?*zZ2A6rJcg`qkSvWA!j^r2mqKuCm6`Py? z@^T#Ux04HemPGd!Hs7NkZdVn1}8_j`o?)*OKZGS!`ff)gF zG?v-lj$wWNWCcw2Mg2o18D~1?3_b0XzdiKBNkYSDpcv@&kp0POmweJE2ZkIQ3B!a! zIgIoE+Xv?;34kyo^QYjZk+tEqZvq^#QG(OzX4~X+KtsoQoddTWUR(yo8R+ObEF1j<-syWOb>)JQ&Zbdu(sctU%Mt zW&YR0{ttY2TTXYZ?~WNU&cES1Z2q(7SrWDh``!J(JM+Nk$!hu&Y;(7E`ZNKTe0w+% zJc?Qnw2B+%UR}0;cB0Rufa(7-3FF}?629@LgTiEC&2uyL6NxexOp?AKT^aAx3gi(W zao>r>MPw0eQ3>IV02uLsC@>yK_epX6GRg4{NEL2wPPF9=*L2RV3yyK8DhuEK>rmmV z`&Q~#c`lgR&93TdOCja|ewOXmPNRh7!&dMT(1ett#iDr8HZW~VqWW@7fe9B6;7S+? zbC`d4@MEau&mKlOPKd>*10q0c{~^baw6!a*w^sY#0Xim{oOsiXiDOhbG&kl3c$$n1 zMRrD83&QucDSEcV*7LIp8VTA@F<%qe+_c`L;6on(>SjAU^}5c9!BCffT>$VQhe=)z z8(=Ej{5>jhmjB3{xDfj2R@VmHQ!CqjlO4KnuOmvHy3K#po$yp_V;p_MKjh1`(rzj6 zHW956k1yvntz{_g?Xbs`avK(IjlTnsu%htO;D7 z?J#x^EzuvVn&NA=!MEj7cwe5A-Z$Zk2LBZH$~%E* zf`((xH0?`}hs|HA%mtwfOEsZJxxrennkTYcwP#FKO5%Lpc^JXhSpV|ZH$Wr;`}`_( zIP==gd3LYyVtwD|*ZJGi{7~x8{=^bGVqu0RJ`n_BZH9+}kz%-4ZRsImi@rx%=ZEKs zcPnUXo6hbJV>fH;@1|bAHIe0ijYI*&kdT|HkDS$9No9 zCHo=*HWb~U+Dtzxr+Esao}6@|;Pf+E$ay0$kQp#s{wlw+7aIKbMdf`OqhoG*;Tco0 zjrP}VQG#Y2cJuqoJg&5({)S(BA}q9T1lGeWRyu=Je|)I!6a+aj!IP^1({)ZYe&x6w zt3a)Dq^TB+A7CdB0-}#z2Ur$W&h3YVw8==!xONy$uQmDWh-@15iEOt!q2m&?ZLA|w z8loSb(0}7y6Xu0?M5Uf4>VZGluB`wMf2oh;m)ghxVda>3m}4%V)r^0nVQ5V6f3>*) z0&VN!N0~GC^P}vj$`EDMZEmVV;N&RISY2C;$0;2(<{Lt&PKzqRByQdiEHGAbwtbS zPj`Da5%U6k1oEtVzI}QNw;!hT6F+~|@=c@$C4NtO@=xgP?|5MyZAyuCzcvq4rdAv@C06%gZ`9%I);R6UGiGJobfux+<0DLS&|MSG4UH z_~o{^^9>ixMg~mY!-@Fai{xaE4^;qy9iZN15Gbn5ZqHWf>Jc5Rv6(#n8`1NcCsdmG zab*dSXVPaE?)wCalD;$ivF%@nB#7D`@YG04p6ed9m}4iJW|pfVMLE<-c{=-8$e?cH zUdU#mCj4gb zZKA^b9p*9S(}8@tw~1RNPHr7tQr;P+-)D8|sq=*o)G%RGqt> zzP5yf`pVxb)I51D_G~Xp^GNK zVI6sAX)a9s)e{8N3?35YA6aQTXuyszK3ah~CemzA&CII#8F&F#KN41~8I^&_%}6MCNb{W87qAF`zj_Y^szhb> z3p3}KbOxotY|(lD=;)`fYE_*{S}x;f^SW#)SU&5X#o|-R|trpa|L5PS5aa0 zTHw8%SDSVtU4?vyrhnq+^@dgFS)|(y{~(4j%3UEiO-rBM9%`)8(dh33pMLiuurNY# z#10AsQ7%*0Cu_DSAU}P;X(JwA64~Q_^R%d_zSm^6Aux?Pn70PM>9EvLeOX z&w9c)pGmcL22;MO3C_B>=NC0RJpMp8?#ZUf=GWRvy z6RHq3B}=MGVg?9@iKFBpsvnkVh3{Vpp=`CcD=u~@ql{my|6?3ssi3mCOPnjI&E}VC zc@X+Yl>;;DNo0W0`0th!X{?luDhOC{E8N=?!w}K1{V=)+1={m(f`Oc|N=07>}3;z{-(A zm{JL=j?Sro5iecmE2-pWlRf(r%|HEQ7kgwQ9+kt=NBhtQI7OwcZ#3%$Uf%^r2nhjY zoQ08MfC%_X{O9~WcirMZMhn#z^ux4Erx-tf-6bHD)9eH&^L>^jvAd^9A^DCDs?0;k zkm7LE*KjP6`2d17MrQaaLqd_Rka}J$csvUec#hw78<=s(hyR>065~YCVCA9+#Q+; za(*L0IEw!r5P|@-;x33L$Lv9 zcuN8YG&g{<(SeJG18~(b!5yywSqQiLAX0;---;}mF5&b4lg|T?LwKREa{9YX_-zL@ZE?Zqi@HxK^2KO1>0LATu{te=T zprmHtY)bDVfxI1S}KBE7V zznP7KQ8HekWU#W6mw`dr-boV}pMQR==&5=Q5T=_q091jfc;R*jX#&=MQ%~@E@9^?`$v48ks<>(fI(F6L(5ppKy|$HWng*bKOb(4|cMUB&z$#ob#XV z5-mg)gmFIybZf=znm3ZPyUO^GJfxt0kmHjaTZ|sthsxXw&}Y)fOUSg=JhRSR^UjZ- zhqqb}Wsyw4zdnj6@#BAJa#-PdI4_dgafFXh85DsEQ_cT+5)XpZq$fZlBA_9UsE9r6 zEFec5?uqN@QhJ^IzwZrwl-5J`CmVPv{(YDTqEqWR^dI;5hXc~cxP%B3v&~s0`Ct89 z@S`i~a^c%V^N81dDT*ItFS*&IN;@O$EgzX0e7x&}TD=!zS}hTpezBLS>mdX(5< z)8DEI(-o_D)c-UX@dA1MuJ*yc>Hf4|`*B2S_O>w*-tbUwtiu`;W(Ud{HTty@(&x(T(F&;M zJ=?H>6`B7nf-90e8V`WSVp|0oEKB-P2M{}4ZDawzvM&a!y>`Y#jCsD%T_l``@ah(I2nJs~Q|%uSKu@k!m~*8B*IoA{*TgtF<(5sHCGG;n@NE%~Xt(G$^&<87u;}Na zx-8cq0g`uA(&RBFo=-4Y1GUZ<``Zw{xL4jfHkZw~%~wvtGueszcXt)_QwH8g!; z%s&3kSa~R$dO$-%L-)c@_hi7&>{6L_M>OZFkUQu;{sL_bUMStNrt{{&O(Wn~*zPOk zB>dnfszb29NSTf2pqIs68k|p-UrSrxgLHqi?3N-UFa!LHy9n1)=s>`yS+J{MEzS@ zNlfGtpma7kG&LR3JE@wB%rFA*h~~KitlO=IP)ZjN6dQLM6qsry zHkB#cyNh#n`)}bCrN1My*;k)^@>e4gJ`LJK?2)Pwp?4Tl4)4FA0(tvY+#1jOUM)xw zlMz4x-f@g^+yKUN`?Vu)|AwujArnM~Pa@y*Q9S8eS(u{-S%(Z5=R~pRl5ZGDjdqH% zC8rW&{##wOpU_oTIG4WXMk4&%2t1;lWcW5&!yxmOT*!hBcKyTqEcNoO+R2;Q?Yj+W z1-Y4?59fijz4(MIDwGe4-baYf08UCs;r|YefD-Md2ST;=cxwpgW=tR76-dQVAhn^= zG9Wk5lQk%jIR@KNU!UMp6@BfU;r+;y4VQ)D2!Il9HX%yW-9nOzV+m$YKzVaO`B8S7t z$!S2Mz`xw>V(RjE`0>bQp<0y&h~Y=M#jpy!#=dE>`=e_AjSZq6u!Dy1xJf~-7|0F! zPR9|n`e_7D2DIV2H(CESQ}hA>U>n|6`%z?YKEA~)BOVY%y=jPV zT=44R!L?J)736X#csn|lfBJ)o8ixaZclguWgrGO<`TN2FMfO}7;5}d+BlK0yTSH3* z4!=;5rOh85&2|x=46hkNaz?)U8&=bcfh=N_#8BNpZ2v$aVBo;sk^*X`v;4-LU;D>! zM*h12MxXIQy)SfAqE4;jY)wgnppazZkdNNVVF;(PLf^qK$FgY9+VFyBKE7UC|f z`R|?&egV11K3s$rJ6!GvoeW=jV*!-e(wA;x(2=d0E_e_%0x--0o8#~m^H1%AH5Z^B zn!TNPn927*bvaf0pt}zhK0o^V@WlGwwKo(*nQ|Q~4_;>~-8y20`HP>@UJa)3nEnGG z5Hwhs|FcmFG16ZVNb5hL`2Gc1{zWIMM{_OiKewV!hCi}U!VuE?s9wU-QbZ!)+Y^tS zGzp5OSi5iq6hmEr$w}&9DFgoB+i*`q`8TBi^MVS{SKEb8Aw%@K7@XCo(De2A`6%mf&a2#~y1N)+kJLD$1HCP!22)(U}xo2|j?WRzt(11j8Z_*v;P$R+Ug*Gy3VxV4K; zGGUGabnW*`Z}~`ydXL-l9e=GC$pY#z|63vy>E*m=$=j}iWP{sRTh0%H54`t>2xYH% zsk+M&u&pNgMCM@3e)Xc?jBWX-TIR_cQ1Z!RW7!B zBjZX=+^3}?SE)B+$EP+0oi1Fp5blDT?*}nsP>filqXH{ms zxU<$hetC`u)Wi+x|EKL-`y^#aQX+sDYIa{M;V%LqLrOk~lR>u0Q!+pyQSU4zY`?E^ z|5@)C)w6G_=i5YYC5SE_u(7hDNYr}uKT|@DSqF%S++lTIbIk^$a>{~0IH8KNFEy%+ zW#$&!ynpgNJh>6uR~?2c)ZMW+h0OKu231(7L_vETPaR+(P)Zy%0~yGm>E9?@@x!Jy z3PYgS}Q@b}x}E#F27@F+j}0=&Ql4gES&f8acMrPAVlVs9$97`FR))R5wI zc&}KFI1UIewh>3PkhnB7u zS3AT8_*|nexznG|Z*DU0c!K@jsI4J)5#DyNi#|e#`l1Vv1`1)*NVcy0LZ``aL0n8B zecupJ(rhq3u8bW0NIRhKYq$v1li+jp*4hfAd&wxYDE8vn1TQ7S@bTM|I2Ob z8vMOIxA7&_j{AKmD+O@EyXT`|dElt0pED^@IV0m)RPBUs*5jW60>>w1!@_G3aBKzG z_f(KfAPBk}-jQtR*Sroq!*3rbQ_m27e+YdzQjUb<_*k8vc_C)y!@cj5E>NxUhPu&g z@Z2<~esU`)ih+4opWe+K7sbN9n*9@n>#@n3*o z?xoROgDuvhq>jJ;Ve{6i<3roQNfgo5^4Q4(|GNExO2Dr7GjgA2zWuKp_K)K0R(6lv z!l$!zW-+T6mb3gQaAFviTQi{|*t%>{(mhTdy+y;Re4qT@kccy#{b z&zWy~kLO@>*WPj2k#H)|7L&gAJ37DmHQAme#@m;(Y8Nu^`D5vf8sZFW#+lA2!HK=( zJ)#hO6JD*`o~&c*&46d}g=Qj@SsoB5ikC z^1V8E+&<-OzuS_C`p5<<(A6fB`LXT(!kV^0_~hL6PpW4={l%|#xgdh?5EIk~lu8{D z2hiyhv3Yxij_#$Wu>P@7SYsl`-~3;}Ktx{34_NL^Kwin&=?!HDv3elQDbcU*qyYpN z(#yw~f1vFGK-t%CC-qa-4FYHbA^h>bag-I&*qaxwn?Qv|idE$<>1H|Gr6JtUu(he2$eg!N z@HTF@dG1)*y;4fxe)4_ZkpaBHH9hXp9p4|gLrRQyuevRd@gSS}JhRnWqrvm|U@>qM z=yl7RQROTKwQtzP3!zUF)_6Ld#NGA6v~2{J9Dd`h6{%+XsU#qGLh%`fB1Hc?wfayK zN`H4BpDp)npVQuu$DVW1qsBS&AJ2eP%6Qw>;k{)Z$8%HL=Q4(a$Ng2_vHw&vA!1L+9zc8vaX2GtqJ{L-;gvF0IR$em zMQ8@{Qp3+3Quk)TJ$?I<8KmwzD*7#(q<@Mc`dchngW}cRG14(Z6K7{T|LhFXwhqUQ;BET;cYqPcAcMgt6M$V9$(?jHo@Sud$an$U&5F zZ1QNh^ztt)E*d#Ij;<43oSKKnd+WNr$_r}+s_O_x6DZSB10*5Q{ourqq>mTl| zx4y^(cy+9;t@R=*j>3_dmm_m)$k$#937V(sllby&5)Xex^UD-|m|q<(jEd#@DV(of zAd7sSdmS*zUDqJ9|K%O2J2OfdUiK{{b{PCy)pi<;hp~7v1CQj&4-10 zgO<3dqhYH1#-Fa}Q{pjql5>>P6gZH21zLfxZ4$SK4T@7b!|`nWF9b*84Bq8&Eht;9 z*P72x&NUCZ7*@B$`FtE=hz5b}S`|c6Ey+j@D1ZibjJaRlR;{cxAWv z?Nqa>QqV*H-*zzaPvpLMHt~nl(x6?vrPpR?zn7~wow?oj*1TKmx4j71>$hvtC$DLD zUrz0^tiP0792U&dxJxNv@r}Elsjn^aSLUu=9#mD{&9n8|ayIL$!H3s>%KEvbchBFW z%cd?VU83mGF#Dar9*s~w&AnmQRQIOvR+uWsuZ?+|a=TzApXO@q^(r%8=}iv#wCnFq z=K9}JbqU@k99Q%j-}NNk+qLCP)jXfmOO|)@?mHcnynd6({mJisP1_}u7k)|eYHXWK z63eQ)E$ufFi!3CWUY2gw%e>omCv}qEX66aH-k&35f9`Q@Us|NPetVqe8=dX*VxJdn ze`q7b=Dn(UA(2sf&g)cOmQFhNJ#<-aMELJZbA#@to>25@kbW<)&!X01 z%NMJt>1ST)tyX)h@?`DxhbgCHr>S4wv}WC&Nw-!{+Z7$2D}74QAcXTvip=M0%Tp_N zor=k`)t|ra^ySr-+(|R9mB(E=`MX#y(wSw)$!iymzB;^c*>%&^*7HxTnRga=soSZT zdDl+9s;r!v8hk6POtzBaig4pRp7eWF(<8gufvNHPu6xs-=e{;mnHzJyGKE+8L0j}; z@%8-e^UCL5HhMiR>sD3Rve&yVZ#{Q1*CO8c+qSr^Z#CN;)(X5>tGG5yUw3<+CfhaL z%bP;hZ?jvgJU67BWyiy74_)6r)_nSxttxn0`0?HE^5(uydHVgP+HE$V?Lv)Leti43 zWA|;f-RqX``95>)^P-fw!Vi{3KNsII-*5f){gdxqd%gVdB1sOBNe=nEW%;i~g_P8J w!5uhoe-Jcg1nPN%MiEAtgE$;km@@t6ukO)1^!cY^83Pb_y85}Sb4q9e0FIsP9{>OV diff --git a/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/universal_ble/example/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png deleted file mode 100644 index 2f1632cfddf3d9dade342351e627a0a75609fb46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2218 zcmV;b2vzrqP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91K%fHv1ONa40RR91KmY&$07g+lumAuE6iGxuRCodHTWf3-RTMruyW6Fu zQYeUM04eX6D5c0FCjKKPrco1(K`<0SL=crI{PC3-^hZU0kQie$gh-5!7z6SH6Q0J% zqot*`H1q{R5fHFYS}dje@;kG=v$L0(yY0?wY2%*c?A&{2?!D*x?m71{of2gv!$5|C z3>qG_BW}7K_yUcT3A5C6QD<+{aq?x;MAUyAiJn#Jv8_zZtQ{P zTRzbL3U9!qVuZzS$xKU10KiW~Bgdcv1-!uAhQxf3a7q+dU6lj?yoO4Lq4TUN4}h{N z*fIM=SS8|C2$(T>w$`t@3Tka!(r!7W`x z-isCVgQD^mG-MJ;XtJuK3V{Vy72GQ83KRWsHU?e*wrhKk=ApIYeDqLi;JI1e zuvv}5^Dc=k7F7?nm3nIw$NVmU-+R>> zyqOR$-2SDpJ}Pt;^RkJytDVXNTsu|mI1`~G7yw`EJR?VkGfNdqK9^^8P`JdtTV&tX4CNcV4 z&N06nZa??Fw1AgQOUSE2AmPE@WO(Fvo`%m`cDgiv(fAeRA%3AGXUbsGw{7Q`cY;1BI#ac3iN$$Hw z0LT0;xc%=q)me?Y*$xI@GRAw?+}>=9D+KTk??-HJ4=A>`V&vKFS75@MKdSF1JTq{S zc1!^8?YA|t+uKigaq!sT;Z!&0F2=k7F0PIU;F$leJLaw2UI6FL^w}OG&!;+b%ya1c z1n+6-inU<0VM-Y_s5iTElq)ThyF?StVcebpGI znw#+zLx2@ah{$_2jn+@}(zJZ{+}_N9BM;z)0yr|gF-4=Iyu@hI*Lk=-A8f#bAzc9f z`Kd6K--x@t04swJVC3JK1cHY-Hq+=|PN-VO;?^_C#;coU6TDP7Bt`;{JTG;!+jj(` zw5cLQ-(Cz-Tlb`A^w7|R56Ce;Wmr0)$KWOUZ6ai0PhzPeHwdl0H(etP zUV`va_i0s-4#DkNM8lUlqI7>YQLf)(lz9Q3Uw`)nc(z3{m5ZE77Ul$V%m)E}3&8L0 z-XaU|eB~Is08eORPk;=<>!1w)Kf}FOVS2l&9~A+@R#koFJ$Czd%Y(ENTV&A~U(IPI z;UY+gf+&6ioZ=roly<0Yst8ck>(M=S?B-ys3mLdM&)ex!hbt+ol|T6CTS+Sc0jv(& z7ijdvFwBq;0a{%3GGwkDKTeG`b+lyj0jjS1OMkYnepCdoosNY`*zmBIo*981BU%%U z@~$z0V`OVtIbEx5pa|Tct|Lg#ZQf5OYMUMRD>Wdxm5SAqV2}3!ceE-M2 z@O~lQ0OiKQp}o9I;?uxCgYVV?FH|?Riri*U$Zi_`V2eiA>l zdSm6;SEm6#T+SpcE8Ro_f2AwxzI z44hfe^WE3!h@W3RDyA_H440cpmYkv*)6m1XazTqw%=E5Xv7^@^^T7Q2wxr+Z2kVYr - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/universal_ble/example/macos/Runner/Configs/AppInfo.xcconfig b/universal_ble/example/macos/Runner/Configs/AppInfo.xcconfig deleted file mode 100644 index d550e1438..000000000 --- a/universal_ble/example/macos/Runner/Configs/AppInfo.xcconfig +++ /dev/null @@ -1,14 +0,0 @@ -// Application-level settings for the Runner target. -// -// This may be replaced with something auto-generated from metadata (e.g., pubspec.yaml) in the -// future. If not, the values below would default to using the project name when this becomes a -// 'flutter create' template. - -// The application's name. By default this is also the title of the Flutter window. -PRODUCT_NAME = universal_ble_example - -// The application's bundle identifier -PRODUCT_BUNDLE_IDENTIFIER = com.navideck.universalBleExample - -// The copyright displayed in application information -PRODUCT_COPYRIGHT = Copyright © 2023 com.navideck. All rights reserved. diff --git a/universal_ble/example/macos/Runner/Configs/Debug.xcconfig b/universal_ble/example/macos/Runner/Configs/Debug.xcconfig deleted file mode 100644 index 36b0fd946..000000000 --- a/universal_ble/example/macos/Runner/Configs/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Debug.xcconfig" -#include "Warnings.xcconfig" diff --git a/universal_ble/example/macos/Runner/Configs/Release.xcconfig b/universal_ble/example/macos/Runner/Configs/Release.xcconfig deleted file mode 100644 index dff4f4956..000000000 --- a/universal_ble/example/macos/Runner/Configs/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include "../../Flutter/Flutter-Release.xcconfig" -#include "Warnings.xcconfig" diff --git a/universal_ble/example/macos/Runner/Configs/Warnings.xcconfig b/universal_ble/example/macos/Runner/Configs/Warnings.xcconfig deleted file mode 100644 index 42bcbf478..000000000 --- a/universal_ble/example/macos/Runner/Configs/Warnings.xcconfig +++ /dev/null @@ -1,13 +0,0 @@ -WARNING_CFLAGS = -Wall -Wconditional-uninitialized -Wnullable-to-nonnull-conversion -Wmissing-method-return-type -Woverlength-strings -GCC_WARN_UNDECLARED_SELECTOR = YES -CLANG_UNDEFINED_BEHAVIOR_SANITIZER_NULLABILITY = YES -CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE -CLANG_WARN__DUPLICATE_METHOD_MATCH = YES -CLANG_WARN_PRAGMA_PACK = YES -CLANG_WARN_STRICT_PROTOTYPES = YES -CLANG_WARN_COMMA = YES -GCC_WARN_STRICT_SELECTOR_MATCH = YES -CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES -CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES -GCC_WARN_SHADOW = YES -CLANG_WARN_UNREACHABLE_CODE = YES diff --git a/universal_ble/example/macos/Runner/DebugProfile.entitlements b/universal_ble/example/macos/Runner/DebugProfile.entitlements deleted file mode 100644 index 14a39b7ec..000000000 --- a/universal_ble/example/macos/Runner/DebugProfile.entitlements +++ /dev/null @@ -1,14 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.cs.allow-jit - - com.apple.security.device.bluetooth - - com.apple.security.network.server - - - diff --git a/universal_ble/example/macos/Runner/Info.plist b/universal_ble/example/macos/Runner/Info.plist deleted file mode 100644 index d24dbb710..000000000 --- a/universal_ble/example/macos/Runner/Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIconFile - - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSMinimumSystemVersion - $(MACOSX_DEPLOYMENT_TARGET) - NSHumanReadableCopyright - $(PRODUCT_COPYRIGHT) - NSMainNibFile - MainMenu - NSPrincipalClass - NSApplication - NSBluetoothAlwaysUsageDescription - Discover Bluetooth devices - NSBluetoothPeripheralUsageDescription - Discover Bluetooth devices - - diff --git a/universal_ble/example/macos/Runner/MainFlutterWindow.swift b/universal_ble/example/macos/Runner/MainFlutterWindow.swift deleted file mode 100644 index 3cc05eb23..000000000 --- a/universal_ble/example/macos/Runner/MainFlutterWindow.swift +++ /dev/null @@ -1,15 +0,0 @@ -import Cocoa -import FlutterMacOS - -class MainFlutterWindow: NSWindow { - override func awakeFromNib() { - let flutterViewController = FlutterViewController() - let windowFrame = self.frame - self.contentViewController = flutterViewController - self.setFrame(windowFrame, display: true) - - RegisterGeneratedPlugins(registry: flutterViewController) - - super.awakeFromNib() - } -} diff --git a/universal_ble/example/macos/Runner/Release.entitlements b/universal_ble/example/macos/Runner/Release.entitlements deleted file mode 100644 index c63c9510a..000000000 --- a/universal_ble/example/macos/Runner/Release.entitlements +++ /dev/null @@ -1,12 +0,0 @@ - - - - - com.apple.security.app-sandbox - - com.apple.security.device.bluetooth - - com.apple.security.network.server - - - diff --git a/universal_ble/example/macos/RunnerTests/RunnerTests.swift b/universal_ble/example/macos/RunnerTests/RunnerTests.swift deleted file mode 100644 index e0c61cbd7..000000000 --- a/universal_ble/example/macos/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,27 +0,0 @@ -import FlutterMacOS -import Cocoa -import XCTest - -@testable import universal_ble - -// This demonstrates a simple unit test of the Swift portion of this plugin's implementation. -// -// See https://developer.apple.com/documentation/xctest for more information about using XCTest. - -class RunnerTests: XCTestCase { - - func testGetPlatformVersion() { - let plugin = UniversalBlePlugin() - - let call = FlutterMethodCall(methodName: "getPlatformVersion", arguments: []) - - let resultExpectation = expectation(description: "result block must be called.") - plugin.handle(call) { result in - XCTAssertEqual(result as! String, - "macOS " + ProcessInfo.processInfo.operatingSystemVersionString) - resultExpectation.fulfill() - } - waitForExpectations(timeout: 1) - } - -} diff --git a/universal_ble/example/pubspec.lock b/universal_ble/example/pubspec.lock deleted file mode 100644 index 3ef07d5b2..000000000 --- a/universal_ble/example/pubspec.lock +++ /dev/null @@ -1,456 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - args: - dependency: transitive - description: - name: args - sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" - url: "https://pub.dev" - source: hosted - version: "2.5.0" - async: - dependency: transitive - description: - name: async - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 - url: "https://pub.dev" - source: hosted - version: "2.12.0" - bluez: - dependency: transitive - description: - name: bluez - sha256: "61a7204381925896a374301498f2f5399e59827c6498ae1e924aaa598751b545" - url: "https://pub.dev" - source: hosted - version: "0.8.3" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - characters: - dependency: transitive - description: - name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 - url: "https://pub.dev" - source: hosted - version: "1.4.0" - clock: - dependency: transitive - description: - name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b - url: "https://pub.dev" - source: hosted - version: "1.1.2" - collection: - dependency: transitive - description: - name: collection - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" - url: "https://pub.dev" - source: hosted - version: "1.19.1" - convert: - dependency: "direct main" - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 - url: "https://pub.dev" - source: hosted - version: "1.0.8" - dbus: - dependency: transitive - description: - name: dbus - sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c" - url: "https://pub.dev" - source: hosted - version: "0.7.11" - device_info_plus: - dependency: "direct main" - description: - name: device_info_plus - sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" - url: "https://pub.dev" - source: hosted - version: "9.1.2" - device_info_plus_platform_interface: - dependency: transitive - description: - name: device_info_plus_platform_interface - sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64 - url: "https://pub.dev" - source: hosted - version: "7.0.0" - expandable: - dependency: "direct main" - description: - name: expandable - sha256: "9604d612d4d1146dafa96c6d8eec9c2ff0994658d6d09fed720ab788c7f5afc2" - url: "https://pub.dev" - source: hosted - version: "5.0.1" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" - url: "https://pub.dev" - source: hosted - version: "1.3.2" - ffi: - dependency: transitive - description: - name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - file: - dependency: transitive - description: - name: file - sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 - url: "https://pub.dev" - source: hosted - version: "7.0.1" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_driver: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 - url: "https://pub.dev" - source: hosted - version: "2.0.3" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - flutter_web_bluetooth: - dependency: transitive - description: - name: flutter_web_bluetooth - sha256: "1363831def5eed1e1064d1eca04e8ccb35446e8f758579c3c519e156b77926da" - url: "https://pub.dev" - source: hosted - version: "1.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - fuchsia_remote_debug_protocol: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - integration_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec - url: "https://pub.dev" - source: hosted - version: "10.0.8" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 - url: "https://pub.dev" - source: hosted - version: "3.0.9" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" - url: "https://pub.dev" - source: hosted - version: "3.0.1" - lints: - dependency: transitive - description: - name: lints - sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - logging: - dependency: transitive - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 - url: "https://pub.dev" - source: hosted - version: "0.12.17" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c - url: "https://pub.dev" - source: hosted - version: "1.16.0" - path: - dependency: transitive - description: - name: path - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" - url: "https://pub.dev" - source: hosted - version: "1.9.1" - permission_handler: - dependency: "direct main" - description: - name: permission_handler - sha256: bc56bfe9d3f44c3c612d8d393bd9b174eb796d706759f9b495ac254e4294baa5 - url: "https://pub.dev" - source: hosted - version: "10.4.5" - permission_handler_android: - dependency: transitive - description: - name: permission_handler_android - sha256: "59c6322171c29df93a22d150ad95f3aa19ed86542eaec409ab2691b8f35f9a47" - url: "https://pub.dev" - source: hosted - version: "10.3.6" - permission_handler_apple: - dependency: transitive - description: - name: permission_handler_apple - sha256: "99e220bce3f8877c78e4ace901082fb29fa1b4ebde529ad0932d8d664b34f3f5" - url: "https://pub.dev" - source: hosted - version: "9.1.4" - permission_handler_platform_interface: - dependency: transitive - description: - name: permission_handler_platform_interface - sha256: "6760eb5ef34589224771010805bea6054ad28453906936f843a8cc4d3a55c4a4" - url: "https://pub.dev" - source: hosted - version: "3.12.0" - permission_handler_windows: - dependency: transitive - description: - name: permission_handler_windows - sha256: cc074aace208760f1eee6aa4fae766b45d947df85bc831cde77009cdb4720098 - url: "https://pub.dev" - source: hosted - version: "0.1.3" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.dev" - source: hosted - version: "6.0.2" - platform: - dependency: transitive - description: - name: platform - sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" - url: "https://pub.dev" - source: hosted - version: "3.1.6" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - process: - dependency: transitive - description: - name: process - sha256: "107d8be718f120bbba9dcd1e95e3bd325b1b4a4f07db64154635ba03f2567a0d" - url: "https://pub.dev" - source: hosted - version: "5.0.3" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - source_span: - dependency: transitive - description: - name: source_span - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" - url: "https://pub.dev" - source: hosted - version: "1.10.1" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" - url: "https://pub.dev" - source: hosted - version: "1.12.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" - url: "https://pub.dev" - source: hosted - version: "1.4.1" - sync_http: - dependency: transitive - description: - name: sync_http - sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" - url: "https://pub.dev" - source: hosted - version: "0.3.1" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" - url: "https://pub.dev" - source: hosted - version: "1.2.2" - test_api: - dependency: transitive - description: - name: test_api - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd - url: "https://pub.dev" - source: hosted - version: "0.7.4" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - universal_ble: - dependency: "direct main" - description: - path: ".." - relative: true - source: path - version: "0.17.0" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" - url: "https://pub.dev" - source: hosted - version: "14.3.1" - web: - dependency: transitive - description: - name: web - sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb - url: "https://pub.dev" - source: hosted - version: "1.1.0" - webdriver: - dependency: transitive - description: - name: webdriver - sha256: "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8" - url: "https://pub.dev" - source: hosted - version: "3.0.4" - win32: - dependency: transitive - description: - name: win32 - sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 - url: "https://pub.dev" - source: hosted - version: "5.5.1" - win32_registry: - dependency: transitive - description: - name: win32_registry - sha256: "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb" - url: "https://pub.dev" - source: hosted - version: "1.1.3" - xml: - dependency: transitive - description: - name: xml - sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 - url: "https://pub.dev" - source: hosted - version: "6.5.0" -sdks: - dart: ">=3.7.0-0 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" diff --git a/universal_ble/example/pubspec.yaml b/universal_ble/example/pubspec.yaml deleted file mode 100644 index 8bb769703..000000000 --- a/universal_ble/example/pubspec.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: universal_ble_example -description: Demonstrates how to use the universal_ble plugin. -version: 1.0.0+1 -publish_to: "none" - -environment: - sdk: ">=3.1.3 <4.0.0" - -dependencies: - flutter: - sdk: flutter - convert: ^3.1.1 - expandable: ^5.0.1 - cupertino_icons: ^1.0.2 - permission_handler: ^10.4.3 - device_info_plus: ^9.0.2 - universal_ble: - path: ../ - -dev_dependencies: - integration_test: - sdk: flutter - flutter_test: - sdk: flutter - flutter_lints: ^2.0.0 - -flutter: - uses-material-design: true diff --git a/universal_ble/example/web/favicon.png b/universal_ble/example/web/favicon.png deleted file mode 100644 index 8aaa46ac1ae21512746f852a42ba87e4165dfdd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM diff --git a/universal_ble/example/web/icons/Icon-192.png b/universal_ble/example/web/icons/Icon-192.png deleted file mode 100644 index b749bfef07473333cf1dd31e9eed89862a5d52aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5292 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 diff --git a/universal_ble/example/web/icons/Icon-512.png b/universal_ble/example/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48dff1169879ba46840804b412fe02fefd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8252 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 diff --git a/universal_ble/example/web/icons/Icon-maskable-192.png b/universal_ble/example/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76e525556d5d89141648c724331630325d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! diff --git a/universal_ble/example/web/icons/Icon-maskable-512.png b/universal_ble/example/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c56691fbdb0b7efa65097c7cc1edac12a6d3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20998 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 MPgg&ebxsLQ025IeI{*Lx diff --git a/universal_ble/example/web/index.html b/universal_ble/example/web/index.html deleted file mode 100644 index 26f5da2b7..000000000 --- a/universal_ble/example/web/index.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - example - - - - - - diff --git a/universal_ble/example/web/manifest.json b/universal_ble/example/web/manifest.json deleted file mode 100644 index 8bc88df10..000000000 --- a/universal_ble/example/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "Universal BLE", - "short_name": "Universal BLE", - "start_url": ".", - "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "Example app for Web", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/universal_ble/example/windows/.gitignore b/universal_ble/example/windows/.gitignore deleted file mode 100644 index d492d0d98..000000000 --- a/universal_ble/example/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ephemeral/ - -# Visual Studio user-specific files. -*.suo -*.user -*.userosscache -*.sln.docstates - -# Visual Studio build-related files. -x64/ -x86/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ diff --git a/universal_ble/example/windows/CMakeLists.txt b/universal_ble/example/windows/CMakeLists.txt deleted file mode 100644 index 0937d8274..000000000 --- a/universal_ble/example/windows/CMakeLists.txt +++ /dev/null @@ -1,104 +0,0 @@ -# Project-level configuration. -cmake_minimum_required(VERSION 3.14) -project(universal_ble_example LANGUAGES CXX) - -# The name of the executable created for the application. Change this to change -# the on-disk name of your application. -set(BINARY_NAME "universal_ble_example") - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(VERSION 3.14...3.25) - -# Define build configuration option. -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) -if(IS_MULTICONFIG) - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" - CACHE STRING "" FORCE) -else() - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE "Debug" CACHE - STRING "Flutter build mode" FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS - "Debug" "Profile" "Release") - endif() -endif() -# Define settings for the Profile build mode. -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") - -# Use Unicode for all projects. -add_definitions(-DUNICODE -D_UNICODE) - -# Compilation settings that should be applied to most targets. -# -# Be cautious about adding new options here, as plugins use this function by -# default. In most cases, you should add new options to specific targets instead -# of modifying this function. -function(APPLY_STANDARD_SETTINGS TARGET) - target_compile_features(${TARGET} PUBLIC cxx_std_17) - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") - target_compile_options(${TARGET} PRIVATE /EHsc) - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") - target_compile_definitions(${TARGET} PRIVATE "$<$:_DEBUG>") -endfunction() - -# Flutter library and tool build rules. -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") -add_subdirectory(${FLUTTER_MANAGED_DIR}) - -# Application build; see runner/CMakeLists.txt. -add_subdirectory("runner") - -# Enable the test target. -set(include_universal_ble_tests TRUE) - -# Generated plugin build rules, which manage building the plugins and adding -# them to the application. -include(flutter/generated_plugins.cmake) - - -# === Installation === -# Support files are copied into place next to the executable, so that it can -# run in place. This is done instead of making a separate bundle (as on Linux) -# so that building and running from within Visual Studio will work. -set(BUILD_BUNDLE_DIR "$") -# Make the "install" step default, as it's required to run. -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) -endif() - -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") - -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - COMPONENT Runtime) - -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) - -if(PLUGIN_BUNDLED_LIBRARIES) - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" - COMPONENT Runtime) -endif() - -# Fully re-copy the assets directory on each build to avoid having stale files -# from a previous install. -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") -install(CODE " - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") - " COMPONENT Runtime) -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) - -# Install the AOT library on non-Debug builds only. -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" - CONFIGURATIONS Profile;Release - COMPONENT Runtime) diff --git a/universal_ble/example/windows/flutter/CMakeLists.txt b/universal_ble/example/windows/flutter/CMakeLists.txt deleted file mode 100644 index 903f4899d..000000000 --- a/universal_ble/example/windows/flutter/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -# This file controls Flutter-level build steps. It should not be edited. -cmake_minimum_required(VERSION 3.14) - -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") - -# Configuration provided via flutter tool. -include(${EPHEMERAL_DIR}/generated_config.cmake) - -# TODO: Move the rest of this into files in ephemeral. See -# https://github.com/flutter/flutter/issues/57146. -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") - -# Set fallback configurations for older versions of the flutter tool. -if (NOT DEFINED FLUTTER_TARGET_PLATFORM) - set(FLUTTER_TARGET_PLATFORM "windows-x64") -endif() - -# === Flutter Library === -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") - -# Published to parent scope for install step. -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) - -list(APPEND FLUTTER_LIBRARY_HEADERS - "flutter_export.h" - "flutter_windows.h" - "flutter_messenger.h" - "flutter_plugin_registrar.h" - "flutter_texture_registrar.h" -) -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") -add_library(flutter INTERFACE) -target_include_directories(flutter INTERFACE - "${EPHEMERAL_DIR}" -) -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") -add_dependencies(flutter flutter_assemble) - -# === Wrapper === -list(APPEND CPP_WRAPPER_SOURCES_CORE - "core_implementations.cc" - "standard_codec.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN - "plugin_registrar.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") -list(APPEND CPP_WRAPPER_SOURCES_APP - "flutter_engine.cc" - "flutter_view_controller.cc" -) -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") - -# Wrapper sources needed for a plugin. -add_library(flutter_wrapper_plugin STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} -) -apply_standard_settings(flutter_wrapper_plugin) -set_target_properties(flutter_wrapper_plugin PROPERTIES - POSITION_INDEPENDENT_CODE ON) -set_target_properties(flutter_wrapper_plugin PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) -target_include_directories(flutter_wrapper_plugin PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_plugin flutter_assemble) - -# Wrapper sources needed for the runner. -add_library(flutter_wrapper_app STATIC - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_APP} -) -apply_standard_settings(flutter_wrapper_app) -target_link_libraries(flutter_wrapper_app PUBLIC flutter) -target_include_directories(flutter_wrapper_app PUBLIC - "${WRAPPER_ROOT}/include" -) -add_dependencies(flutter_wrapper_app flutter_assemble) - -# === Flutter tool backend === -# _phony_ is a non-existent file to force this command to run every time, -# since currently there's no way to get a full input/output list from the -# flutter tool. -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) -add_custom_command( - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} - ${PHONY_OUTPUT} - COMMAND ${CMAKE_COMMAND} -E env - ${FLUTTER_TOOL_ENVIRONMENT} - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" - ${FLUTTER_TARGET_PLATFORM} $ - VERBATIM -) -add_custom_target(flutter_assemble DEPENDS - "${FLUTTER_LIBRARY}" - ${FLUTTER_LIBRARY_HEADERS} - ${CPP_WRAPPER_SOURCES_CORE} - ${CPP_WRAPPER_SOURCES_PLUGIN} - ${CPP_WRAPPER_SOURCES_APP} -) diff --git a/universal_ble/example/windows/flutter/generated_plugin_registrant.cc b/universal_ble/example/windows/flutter/generated_plugin_registrant.cc deleted file mode 100644 index 38608602f..000000000 --- a/universal_ble/example/windows/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,17 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - -#include -#include - -void RegisterPlugins(flutter::PluginRegistry* registry) { - PermissionHandlerWindowsPluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin")); - UniversalBlePluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("UniversalBlePluginCApi")); -} diff --git a/universal_ble/example/windows/flutter/generated_plugin_registrant.h b/universal_ble/example/windows/flutter/generated_plugin_registrant.h deleted file mode 100644 index dc139d85a..000000000 --- a/universal_ble/example/windows/flutter/generated_plugin_registrant.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#ifndef GENERATED_PLUGIN_REGISTRANT_ -#define GENERATED_PLUGIN_REGISTRANT_ - -#include - -// Registers Flutter plugins. -void RegisterPlugins(flutter::PluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/universal_ble/example/windows/flutter/generated_plugins.cmake b/universal_ble/example/windows/flutter/generated_plugins.cmake deleted file mode 100644 index 3dcad9f21..000000000 --- a/universal_ble/example/windows/flutter/generated_plugins.cmake +++ /dev/null @@ -1,25 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST - permission_handler_windows - universal_ble -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/universal_ble/example/windows/runner/CMakeLists.txt b/universal_ble/example/windows/runner/CMakeLists.txt deleted file mode 100644 index 394917c05..000000000 --- a/universal_ble/example/windows/runner/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -cmake_minimum_required(VERSION 3.14) -project(runner LANGUAGES CXX) - -# Define the application target. To change its name, change BINARY_NAME in the -# top-level CMakeLists.txt, not the value here, or `flutter run` will no longer -# work. -# -# Any new source files that you add to the application should be added here. -add_executable(${BINARY_NAME} WIN32 - "flutter_window.cpp" - "main.cpp" - "utils.cpp" - "win32_window.cpp" - "${FLUTTER_MANAGED_DIR}/generated_plugin_registrant.cc" - "Runner.rc" - "runner.exe.manifest" -) - -# Apply the standard set of build settings. This can be removed for applications -# that need different build settings. -apply_standard_settings(${BINARY_NAME}) - -# Add preprocessor definitions for the build version. -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION=\"${FLUTTER_VERSION}\"") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MAJOR=${FLUTTER_VERSION_MAJOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_MINOR=${FLUTTER_VERSION_MINOR}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_PATCH=${FLUTTER_VERSION_PATCH}") -target_compile_definitions(${BINARY_NAME} PRIVATE "FLUTTER_VERSION_BUILD=${FLUTTER_VERSION_BUILD}") - -# Disable Windows macros that collide with C++ standard library functions. -target_compile_definitions(${BINARY_NAME} PRIVATE "NOMINMAX") - -# Add dependency libraries and include directories. Add any application-specific -# dependencies here. -target_link_libraries(${BINARY_NAME} PRIVATE flutter flutter_wrapper_app) -target_link_libraries(${BINARY_NAME} PRIVATE "dwmapi.lib") -target_include_directories(${BINARY_NAME} PRIVATE "${CMAKE_SOURCE_DIR}") - -# Run the Flutter tool portions of the build. This must not be removed. -add_dependencies(${BINARY_NAME} flutter_assemble) diff --git a/universal_ble/example/windows/runner/Runner.rc b/universal_ble/example/windows/runner/Runner.rc deleted file mode 100644 index 23c0d5c91..000000000 --- a/universal_ble/example/windows/runner/Runner.rc +++ /dev/null @@ -1,121 +0,0 @@ -// Microsoft Visual C++ generated resource script. -// -#pragma code_page(65001) -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (United States) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDI_APP_ICON ICON "resources\\app_icon.ico" - - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -#if defined(FLUTTER_VERSION_MAJOR) && defined(FLUTTER_VERSION_MINOR) && defined(FLUTTER_VERSION_PATCH) && defined(FLUTTER_VERSION_BUILD) -#define VERSION_AS_NUMBER FLUTTER_VERSION_MAJOR,FLUTTER_VERSION_MINOR,FLUTTER_VERSION_PATCH,FLUTTER_VERSION_BUILD -#else -#define VERSION_AS_NUMBER 1,0,0,0 -#endif - -#if defined(FLUTTER_VERSION) -#define VERSION_AS_STRING FLUTTER_VERSION -#else -#define VERSION_AS_STRING "1.0.0" -#endif - -VS_VERSION_INFO VERSIONINFO - FILEVERSION VERSION_AS_NUMBER - PRODUCTVERSION VERSION_AS_NUMBER - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK -#ifdef _DEBUG - FILEFLAGS VS_FF_DEBUG -#else - FILEFLAGS 0x0L -#endif - FILEOS VOS__WINDOWS32 - FILETYPE VFT_APP - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "com.navideck" "\0" - VALUE "FileDescription", "universal_ble_example" "\0" - VALUE "FileVersion", VERSION_AS_STRING "\0" - VALUE "InternalName", "universal_ble_example" "\0" - VALUE "LegalCopyright", "Copyright (C) 2023 com.navideck. All rights reserved." "\0" - VALUE "OriginalFilename", "universal_ble_example.exe" "\0" - VALUE "ProductName", "universal_ble_example" "\0" - VALUE "ProductVersion", VERSION_AS_STRING "\0" - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1252 - END -END - -#endif // English (United States) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED diff --git a/universal_ble/example/windows/runner/flutter_window.cpp b/universal_ble/example/windows/runner/flutter_window.cpp deleted file mode 100644 index 955ee3038..000000000 --- a/universal_ble/example/windows/runner/flutter_window.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include "flutter_window.h" - -#include - -#include "flutter/generated_plugin_registrant.h" - -FlutterWindow::FlutterWindow(const flutter::DartProject& project) - : project_(project) {} - -FlutterWindow::~FlutterWindow() {} - -bool FlutterWindow::OnCreate() { - if (!Win32Window::OnCreate()) { - return false; - } - - RECT frame = GetClientArea(); - - // The size here must match the window dimensions to avoid unnecessary surface - // creation / destruction in the startup path. - flutter_controller_ = std::make_unique( - frame.right - frame.left, frame.bottom - frame.top, project_); - // Ensure that basic setup of the controller was successful. - if (!flutter_controller_->engine() || !flutter_controller_->view()) { - return false; - } - RegisterPlugins(flutter_controller_->engine()); - SetChildContent(flutter_controller_->view()->GetNativeWindow()); - - flutter_controller_->engine()->SetNextFrameCallback([&]() { - this->Show(); - }); - - // Flutter can complete the first frame before the "show window" callback is - // registered. The following call ensures a frame is pending to ensure the - // window is shown. It is a no-op if the first frame hasn't completed yet. - flutter_controller_->ForceRedraw(); - - return true; -} - -void FlutterWindow::OnDestroy() { - if (flutter_controller_) { - flutter_controller_ = nullptr; - } - - Win32Window::OnDestroy(); -} - -LRESULT -FlutterWindow::MessageHandler(HWND hwnd, UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - // Give Flutter, including plugins, an opportunity to handle window messages. - if (flutter_controller_) { - std::optional result = - flutter_controller_->HandleTopLevelWindowProc(hwnd, message, wparam, - lparam); - if (result) { - return *result; - } - } - - switch (message) { - case WM_FONTCHANGE: - flutter_controller_->engine()->ReloadSystemFonts(); - break; - } - - return Win32Window::MessageHandler(hwnd, message, wparam, lparam); -} diff --git a/universal_ble/example/windows/runner/flutter_window.h b/universal_ble/example/windows/runner/flutter_window.h deleted file mode 100644 index 6da0652f0..000000000 --- a/universal_ble/example/windows/runner/flutter_window.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef RUNNER_FLUTTER_WINDOW_H_ -#define RUNNER_FLUTTER_WINDOW_H_ - -#include -#include - -#include - -#include "win32_window.h" - -// A window that does nothing but host a Flutter view. -class FlutterWindow : public Win32Window { - public: - // Creates a new FlutterWindow hosting a Flutter view running |project|. - explicit FlutterWindow(const flutter::DartProject& project); - virtual ~FlutterWindow(); - - protected: - // Win32Window: - bool OnCreate() override; - void OnDestroy() override; - LRESULT MessageHandler(HWND window, UINT const message, WPARAM const wparam, - LPARAM const lparam) noexcept override; - - private: - // The project to run. - flutter::DartProject project_; - - // The Flutter instance hosted by this window. - std::unique_ptr flutter_controller_; -}; - -#endif // RUNNER_FLUTTER_WINDOW_H_ diff --git a/universal_ble/example/windows/runner/main.cpp b/universal_ble/example/windows/runner/main.cpp deleted file mode 100644 index f2b1e45be..000000000 --- a/universal_ble/example/windows/runner/main.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include -#include -#include - -#include "flutter_window.h" -#include "utils.h" - -int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, - _In_ wchar_t *command_line, _In_ int show_command) { - // Attach to console when present (e.g., 'flutter run') or create a - // new console when running with a debugger. - if (!::AttachConsole(ATTACH_PARENT_PROCESS) && ::IsDebuggerPresent()) { - CreateAndAttachConsole(); - } - - // Initialize COM, so that it is available for use in the library and/or - // plugins. - ::CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED); - - flutter::DartProject project(L"data"); - - std::vector command_line_arguments = - GetCommandLineArguments(); - - project.set_dart_entrypoint_arguments(std::move(command_line_arguments)); - - FlutterWindow window(project); - Win32Window::Point origin(10, 10); - Win32Window::Size size(1280, 720); - if (!window.Create(L"universal_ble_example", origin, size)) { - return EXIT_FAILURE; - } - window.SetQuitOnClose(true); - - ::MSG msg; - while (::GetMessage(&msg, nullptr, 0, 0)) { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - } - - ::CoUninitialize(); - return EXIT_SUCCESS; -} diff --git a/universal_ble/example/windows/runner/resource.h b/universal_ble/example/windows/runner/resource.h deleted file mode 100644 index 66a65d1e4..000000000 --- a/universal_ble/example/windows/runner/resource.h +++ /dev/null @@ -1,16 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by Runner.rc -// -#define IDI_APP_ICON 101 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 102 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/universal_ble/example/windows/runner/resources/app_icon.ico b/universal_ble/example/windows/runner/resources/app_icon.ico deleted file mode 100644 index c04e20caf6370ebb9253ad831cc31de4a9c965f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33772 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 diff --git a/universal_ble/example/windows/runner/runner.exe.manifest b/universal_ble/example/windows/runner/runner.exe.manifest deleted file mode 100644 index a42ea7687..000000000 --- a/universal_ble/example/windows/runner/runner.exe.manifest +++ /dev/null @@ -1,20 +0,0 @@ - - - - - PerMonitorV2 - - - - - - - - - - - - - - - diff --git a/universal_ble/example/windows/runner/utils.cpp b/universal_ble/example/windows/runner/utils.cpp deleted file mode 100644 index b2b08734d..000000000 --- a/universal_ble/example/windows/runner/utils.cpp +++ /dev/null @@ -1,65 +0,0 @@ -#include "utils.h" - -#include -#include -#include -#include - -#include - -void CreateAndAttachConsole() { - if (::AllocConsole()) { - FILE *unused; - if (freopen_s(&unused, "CONOUT$", "w", stdout)) { - _dup2(_fileno(stdout), 1); - } - if (freopen_s(&unused, "CONOUT$", "w", stderr)) { - _dup2(_fileno(stdout), 2); - } - std::ios::sync_with_stdio(); - FlutterDesktopResyncOutputStreams(); - } -} - -std::vector GetCommandLineArguments() { - // Convert the UTF-16 command line arguments to UTF-8 for the Engine to use. - int argc; - wchar_t** argv = ::CommandLineToArgvW(::GetCommandLineW(), &argc); - if (argv == nullptr) { - return std::vector(); - } - - std::vector command_line_arguments; - - // Skip the first argument as it's the binary name. - for (int i = 1; i < argc; i++) { - command_line_arguments.push_back(Utf8FromUtf16(argv[i])); - } - - ::LocalFree(argv); - - return command_line_arguments; -} - -std::string Utf8FromUtf16(const wchar_t* utf16_string) { - if (utf16_string == nullptr) { - return std::string(); - } - int target_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - -1, nullptr, 0, nullptr, nullptr) - -1; // remove the trailing null character - int input_length = (int)wcslen(utf16_string); - std::string utf8_string; - if (target_length <= 0 || target_length > utf8_string.max_size()) { - return utf8_string; - } - utf8_string.resize(target_length); - int converted_length = ::WideCharToMultiByte( - CP_UTF8, WC_ERR_INVALID_CHARS, utf16_string, - input_length, utf8_string.data(), target_length, nullptr, nullptr); - if (converted_length == 0) { - return std::string(); - } - return utf8_string; -} diff --git a/universal_ble/example/windows/runner/utils.h b/universal_ble/example/windows/runner/utils.h deleted file mode 100644 index 3879d5475..000000000 --- a/universal_ble/example/windows/runner/utils.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef RUNNER_UTILS_H_ -#define RUNNER_UTILS_H_ - -#include -#include - -// Creates a console for the process, and redirects stdout and stderr to -// it for both the runner and the Flutter library. -void CreateAndAttachConsole(); - -// Takes a null-terminated wchar_t* encoded in UTF-16 and returns a std::string -// encoded in UTF-8. Returns an empty std::string on failure. -std::string Utf8FromUtf16(const wchar_t* utf16_string); - -// Gets the command line arguments passed in as a std::vector, -// encoded in UTF-8. Returns an empty std::vector on failure. -std::vector GetCommandLineArguments(); - -#endif // RUNNER_UTILS_H_ diff --git a/universal_ble/example/windows/runner/win32_window.cpp b/universal_ble/example/windows/runner/win32_window.cpp deleted file mode 100644 index 60608d0fe..000000000 --- a/universal_ble/example/windows/runner/win32_window.cpp +++ /dev/null @@ -1,288 +0,0 @@ -#include "win32_window.h" - -#include -#include - -#include "resource.h" - -namespace { - -/// Window attribute that enables dark mode window decorations. -/// -/// Redefined in case the developer's machine has a Windows SDK older than -/// version 10.0.22000.0. -/// See: https://docs.microsoft.com/windows/win32/api/dwmapi/ne-dwmapi-dwmwindowattribute -#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE -#define DWMWA_USE_IMMERSIVE_DARK_MODE 20 -#endif - -constexpr const wchar_t kWindowClassName[] = L"FLUTTER_RUNNER_WIN32_WINDOW"; - -/// Registry key for app theme preference. -/// -/// A value of 0 indicates apps should use dark mode. A non-zero or missing -/// value indicates apps should use light mode. -constexpr const wchar_t kGetPreferredBrightnessRegKey[] = - L"Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize"; -constexpr const wchar_t kGetPreferredBrightnessRegValue[] = L"AppsUseLightTheme"; - -// The number of Win32Window objects that currently exist. -static int g_active_window_count = 0; - -using EnableNonClientDpiScaling = BOOL __stdcall(HWND hwnd); - -// Scale helper to convert logical scaler values to physical using passed in -// scale factor -int Scale(int source, double scale_factor) { - return static_cast(source * scale_factor); -} - -// Dynamically loads the |EnableNonClientDpiScaling| from the User32 module. -// This API is only needed for PerMonitor V1 awareness mode. -void EnableFullDpiSupportIfAvailable(HWND hwnd) { - HMODULE user32_module = LoadLibraryA("User32.dll"); - if (!user32_module) { - return; - } - auto enable_non_client_dpi_scaling = - reinterpret_cast( - GetProcAddress(user32_module, "EnableNonClientDpiScaling")); - if (enable_non_client_dpi_scaling != nullptr) { - enable_non_client_dpi_scaling(hwnd); - } - FreeLibrary(user32_module); -} - -} // namespace - -// Manages the Win32Window's window class registration. -class WindowClassRegistrar { - public: - ~WindowClassRegistrar() = default; - - // Returns the singleton registrar instance. - static WindowClassRegistrar* GetInstance() { - if (!instance_) { - instance_ = new WindowClassRegistrar(); - } - return instance_; - } - - // Returns the name of the window class, registering the class if it hasn't - // previously been registered. - const wchar_t* GetWindowClass(); - - // Unregisters the window class. Should only be called if there are no - // instances of the window. - void UnregisterWindowClass(); - - private: - WindowClassRegistrar() = default; - - static WindowClassRegistrar* instance_; - - bool class_registered_ = false; -}; - -WindowClassRegistrar* WindowClassRegistrar::instance_ = nullptr; - -const wchar_t* WindowClassRegistrar::GetWindowClass() { - if (!class_registered_) { - WNDCLASS window_class{}; - window_class.hCursor = LoadCursor(nullptr, IDC_ARROW); - window_class.lpszClassName = kWindowClassName; - window_class.style = CS_HREDRAW | CS_VREDRAW; - window_class.cbClsExtra = 0; - window_class.cbWndExtra = 0; - window_class.hInstance = GetModuleHandle(nullptr); - window_class.hIcon = - LoadIcon(window_class.hInstance, MAKEINTRESOURCE(IDI_APP_ICON)); - window_class.hbrBackground = 0; - window_class.lpszMenuName = nullptr; - window_class.lpfnWndProc = Win32Window::WndProc; - RegisterClass(&window_class); - class_registered_ = true; - } - return kWindowClassName; -} - -void WindowClassRegistrar::UnregisterWindowClass() { - UnregisterClass(kWindowClassName, nullptr); - class_registered_ = false; -} - -Win32Window::Win32Window() { - ++g_active_window_count; -} - -Win32Window::~Win32Window() { - --g_active_window_count; - Destroy(); -} - -bool Win32Window::Create(const std::wstring& title, - const Point& origin, - const Size& size) { - Destroy(); - - const wchar_t* window_class = - WindowClassRegistrar::GetInstance()->GetWindowClass(); - - const POINT target_point = {static_cast(origin.x), - static_cast(origin.y)}; - HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST); - UINT dpi = FlutterDesktopGetDpiForMonitor(monitor); - double scale_factor = dpi / 96.0; - - HWND window = CreateWindow( - window_class, title.c_str(), WS_OVERLAPPEDWINDOW, - Scale(origin.x, scale_factor), Scale(origin.y, scale_factor), - Scale(size.width, scale_factor), Scale(size.height, scale_factor), - nullptr, nullptr, GetModuleHandle(nullptr), this); - - if (!window) { - return false; - } - - UpdateTheme(window); - - return OnCreate(); -} - -bool Win32Window::Show() { - return ShowWindow(window_handle_, SW_SHOWNORMAL); -} - -// static -LRESULT CALLBACK Win32Window::WndProc(HWND const window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - if (message == WM_NCCREATE) { - auto window_struct = reinterpret_cast(lparam); - SetWindowLongPtr(window, GWLP_USERDATA, - reinterpret_cast(window_struct->lpCreateParams)); - - auto that = static_cast(window_struct->lpCreateParams); - EnableFullDpiSupportIfAvailable(window); - that->window_handle_ = window; - } else if (Win32Window* that = GetThisFromHandle(window)) { - return that->MessageHandler(window, message, wparam, lparam); - } - - return DefWindowProc(window, message, wparam, lparam); -} - -LRESULT -Win32Window::MessageHandler(HWND hwnd, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept { - switch (message) { - case WM_DESTROY: - window_handle_ = nullptr; - Destroy(); - if (quit_on_close_) { - PostQuitMessage(0); - } - return 0; - - case WM_DPICHANGED: { - auto newRectSize = reinterpret_cast(lparam); - LONG newWidth = newRectSize->right - newRectSize->left; - LONG newHeight = newRectSize->bottom - newRectSize->top; - - SetWindowPos(hwnd, nullptr, newRectSize->left, newRectSize->top, newWidth, - newHeight, SWP_NOZORDER | SWP_NOACTIVATE); - - return 0; - } - case WM_SIZE: { - RECT rect = GetClientArea(); - if (child_content_ != nullptr) { - // Size and position the child window. - MoveWindow(child_content_, rect.left, rect.top, rect.right - rect.left, - rect.bottom - rect.top, TRUE); - } - return 0; - } - - case WM_ACTIVATE: - if (child_content_ != nullptr) { - SetFocus(child_content_); - } - return 0; - - case WM_DWMCOLORIZATIONCOLORCHANGED: - UpdateTheme(hwnd); - return 0; - } - - return DefWindowProc(window_handle_, message, wparam, lparam); -} - -void Win32Window::Destroy() { - OnDestroy(); - - if (window_handle_) { - DestroyWindow(window_handle_); - window_handle_ = nullptr; - } - if (g_active_window_count == 0) { - WindowClassRegistrar::GetInstance()->UnregisterWindowClass(); - } -} - -Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { - return reinterpret_cast( - GetWindowLongPtr(window, GWLP_USERDATA)); -} - -void Win32Window::SetChildContent(HWND content) { - child_content_ = content; - SetParent(content, window_handle_); - RECT frame = GetClientArea(); - - MoveWindow(content, frame.left, frame.top, frame.right - frame.left, - frame.bottom - frame.top, true); - - SetFocus(child_content_); -} - -RECT Win32Window::GetClientArea() { - RECT frame; - GetClientRect(window_handle_, &frame); - return frame; -} - -HWND Win32Window::GetHandle() { - return window_handle_; -} - -void Win32Window::SetQuitOnClose(bool quit_on_close) { - quit_on_close_ = quit_on_close; -} - -bool Win32Window::OnCreate() { - // No-op; provided for subclasses. - return true; -} - -void Win32Window::OnDestroy() { - // No-op; provided for subclasses. -} - -void Win32Window::UpdateTheme(HWND const window) { - DWORD light_mode; - DWORD light_mode_size = sizeof(light_mode); - LSTATUS result = RegGetValue(HKEY_CURRENT_USER, kGetPreferredBrightnessRegKey, - kGetPreferredBrightnessRegValue, - RRF_RT_REG_DWORD, nullptr, &light_mode, - &light_mode_size); - - if (result == ERROR_SUCCESS) { - BOOL enable_dark_mode = light_mode == 0; - DwmSetWindowAttribute(window, DWMWA_USE_IMMERSIVE_DARK_MODE, - &enable_dark_mode, sizeof(enable_dark_mode)); - } -} diff --git a/universal_ble/example/windows/runner/win32_window.h b/universal_ble/example/windows/runner/win32_window.h deleted file mode 100644 index e901dde68..000000000 --- a/universal_ble/example/windows/runner/win32_window.h +++ /dev/null @@ -1,102 +0,0 @@ -#ifndef RUNNER_WIN32_WINDOW_H_ -#define RUNNER_WIN32_WINDOW_H_ - -#include - -#include -#include -#include - -// A class abstraction for a high DPI-aware Win32 Window. Intended to be -// inherited from by classes that wish to specialize with custom -// rendering and input handling -class Win32Window { - public: - struct Point { - unsigned int x; - unsigned int y; - Point(unsigned int x, unsigned int y) : x(x), y(y) {} - }; - - struct Size { - unsigned int width; - unsigned int height; - Size(unsigned int width, unsigned int height) - : width(width), height(height) {} - }; - - Win32Window(); - virtual ~Win32Window(); - - // Creates a win32 window with |title| that is positioned and sized using - // |origin| and |size|. New windows are created on the default monitor. Window - // sizes are specified to the OS in physical pixels, hence to ensure a - // consistent size this function will scale the inputted width and height as - // as appropriate for the default monitor. The window is invisible until - // |Show| is called. Returns true if the window was created successfully. - bool Create(const std::wstring& title, const Point& origin, const Size& size); - - // Show the current window. Returns true if the window was successfully shown. - bool Show(); - - // Release OS resources associated with window. - void Destroy(); - - // Inserts |content| into the window tree. - void SetChildContent(HWND content); - - // Returns the backing Window handle to enable clients to set icon and other - // window properties. Returns nullptr if the window has been destroyed. - HWND GetHandle(); - - // If true, closing this window will quit the application. - void SetQuitOnClose(bool quit_on_close); - - // Return a RECT representing the bounds of the current client area. - RECT GetClientArea(); - - protected: - // Processes and route salient window messages for mouse handling, - // size change and DPI. Delegates handling of these to member overloads that - // inheriting classes can handle. - virtual LRESULT MessageHandler(HWND window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Called when CreateAndShow is called, allowing subclass window-related - // setup. Subclasses should return false if setup fails. - virtual bool OnCreate(); - - // Called when Destroy is called. - virtual void OnDestroy(); - - private: - friend class WindowClassRegistrar; - - // OS callback called by message pump. Handles the WM_NCCREATE message which - // is passed when the non-client area is being created and enables automatic - // non-client DPI scaling so that the non-client area automatically - // responds to changes in DPI. All other messages are handled by - // MessageHandler. - static LRESULT CALLBACK WndProc(HWND const window, - UINT const message, - WPARAM const wparam, - LPARAM const lparam) noexcept; - - // Retrieves a class instance pointer for |window| - static Win32Window* GetThisFromHandle(HWND const window) noexcept; - - // Update the window frame's theme to match the system theme. - static void UpdateTheme(HWND const window); - - bool quit_on_close_ = false; - - // window handle for top level window. - HWND window_handle_ = nullptr; - - // window handle for hosted content. - HWND child_content_ = nullptr; -}; - -#endif // RUNNER_WIN32_WINDOW_H_ diff --git a/universal_ble/lib/src/ble_command_queue.dart b/universal_ble/lib/src/ble_command_queue.dart deleted file mode 100644 index 2d5449b42..000000000 --- a/universal_ble/lib/src/ble_command_queue.dart +++ /dev/null @@ -1,42 +0,0 @@ -import 'package:universal_ble/src/queue.dart'; -import 'package:universal_ble/universal_ble.dart'; - -/// Set queue type and queue commands -class BleCommandQueue { - QueueType queueType; - Duration? timeout = const Duration(seconds: 10); - OnQueueUpdate? onQueueUpdate; - final Map _queueMap = {}; - static const String globalQueueId = 'global'; - - BleCommandQueue({this.queueType = QueueType.global}); - - Future queueCommand( - Future Function() command, { - bool withTimeout = true, - String? deviceId, - Duration? timeout, - }) { - Duration? duration = timeout ?? (withTimeout ? this.timeout : null); - return switch (queueType) { - QueueType.global => _queue().add(command, duration), - QueueType.perDevice => _queue(deviceId).add(command, duration), - QueueType.none => - duration != null ? command().timeout(duration) : command(), - }; - } - - Queue _queue([String? id = globalQueueId]) => - _queueMap[id] ?? _newQueue(id ?? globalQueueId); - - Queue _newQueue(String id) { - final queue = Queue(); - queue.onRemainingItemsUpdate = (int items) { - try { - onQueueUpdate?.call(id, items); - } catch (_) {} - }; - _queueMap[id] = queue; - return queue; - } -} diff --git a/universal_ble/lib/src/models/availability_state.dart b/universal_ble/lib/src/models/availability_state.dart deleted file mode 100644 index 0e0f8e648..000000000 --- a/universal_ble/lib/src/models/availability_state.dart +++ /dev/null @@ -1,12 +0,0 @@ -enum AvailabilityState { - unknown, - resetting, - unsupported, - unauthorized, - poweredOff, - poweredOn; - - const AvailabilityState(); - - factory AvailabilityState.parse(int index) => AvailabilityState.values[index]; -} diff --git a/universal_ble/lib/src/models/ble_capabilities.dart b/universal_ble/lib/src/models/ble_capabilities.dart deleted file mode 100644 index 9b37657d4..000000000 --- a/universal_ble/lib/src/models/ble_capabilities.dart +++ /dev/null @@ -1,52 +0,0 @@ -import 'package:flutter/foundation.dart'; - -class BleCapabilities { - /// Returns true if in-app pairing is possible either by API or by encrypted characteristic - /// using any kind of pairing method (Just Works, Numeric Comparison or Passkey Entry). - /// - /// All platforms return true except Web/Windows and Web/Linux which return false - /// because they only support "Numeric Comparison" and "Passkey Entry". - /// - /// For more fine-grained control it is recommended to use `triggersConfirmOnlyPairing` - /// in conjunction with the pairing method of your peripheral, - /// e.g. if (!BleCapabilities.triggersConfirmOnlyPairing && peripheralUsesConfirmOnlyPairing) throw "In-app pairing not supported"; - static final bool supportsAllPairingKinds = - triggersConfirmOnlyPairing || hasSystemPairingApi; - - /// Returns true if the platform triggers pairing for devices that use only confirmation pairing - /// (a.k.a. "Just Works" or legacy pairing) when trying to read or write to an encrypted characteristic. - /// - /// The "Numeric Comparison" and "Passkey Entry" pairing methods trigger pairing on all platforms. - /// - /// `Web/Linux` could also, under certain conditions, trigger "Just Works" pairing - /// but it very unreliable, therefore we return false. - static final triggersConfirmOnlyPairing = - defaultTargetPlatform != TargetPlatform.windows && - defaultTargetPlatform != TargetPlatform.linux; - - /// Returns true if pair()/unpair() are supported on the platform. - static bool hasSystemPairingApi = !kIsWeb && - (defaultTargetPlatform == TargetPlatform.android || - defaultTargetPlatform == TargetPlatform.windows || - defaultTargetPlatform == TargetPlatform.linux); - - static bool requiresRuntimePermission = - !_Platform.isWeb && !_Platform.isWindows && !_Platform.isLinux; - - static bool supportsBluetoothEnableApi = - !_Platform.isWeb && !_Platform.isCupertino; - - static bool supportsConnectedDevicesApi = !_Platform.isWeb; - - static bool supportsRequestMtuApi = !_Platform.isWeb; -} - -class _Platform { - static bool isWeb = kIsWeb; - static bool isIOS = !isWeb && defaultTargetPlatform == TargetPlatform.iOS; - static bool isMacos = !isWeb && defaultTargetPlatform == TargetPlatform.macOS; - static bool isWindows = - !isWeb && defaultTargetPlatform == TargetPlatform.windows; - static bool isLinux = !isWeb && defaultTargetPlatform == TargetPlatform.linux; - static bool get isCupertino => isIOS || isMacos; -} diff --git a/universal_ble/lib/src/models/ble_command.dart b/universal_ble/lib/src/models/ble_command.dart deleted file mode 100644 index 345d19c4e..000000000 --- a/universal_ble/lib/src/models/ble_command.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'dart:typed_data'; - -class BleCommand { - String service; - String characteristic; - Uint8List? writeValue; - - BleCommand({ - required this.service, - required this.characteristic, - this.writeValue, - }); -} diff --git a/universal_ble/lib/src/models/ble_connection_state.dart b/universal_ble/lib/src/models/ble_connection_state.dart deleted file mode 100644 index 223029989..000000000 --- a/universal_ble/lib/src/models/ble_connection_state.dart +++ /dev/null @@ -1,11 +0,0 @@ -enum BleConnectionState { - connected, - disconnected, - connecting, - disconnecting; - - const BleConnectionState(); - - factory BleConnectionState.parse(int index) => - BleConnectionState.values[index]; -} diff --git a/universal_ble/lib/src/models/ble_connection_update.dart b/universal_ble/lib/src/models/ble_connection_update.dart deleted file mode 100644 index f9727a75e..000000000 --- a/universal_ble/lib/src/models/ble_connection_update.dart +++ /dev/null @@ -1,11 +0,0 @@ -class BleConnectionUpdate { - final String deviceId; - final bool isConnected; - final String? error; - - BleConnectionUpdate({ - required this.deviceId, - required this.isConnected, - this.error, - }); -} diff --git a/universal_ble/lib/src/models/ble_device.dart b/universal_ble/lib/src/models/ble_device.dart deleted file mode 100644 index b471861f2..000000000 --- a/universal_ble/lib/src/models/ble_device.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'dart:typed_data'; - -import 'package:universal_ble/universal_ble.dart'; - -class BleDevice { - String deviceId; - String? name; - String? rawName; - int? rssi; - bool? isPaired; - List services; - bool? isSystemDevice; - List manufacturerDataList; - - @Deprecated("Use `manufacturerDataList` instead") - Uint8List? get manufacturerData => manufacturerDataList.isEmpty - ? null - : manufacturerDataList.first.toUint8List(); - - /// Returns connection state of the device. - /// All platforms will return `Connected/Disconnected` states. - /// `Android` and `Apple` can also return `Connecting/Disconnecting` states. - Future get connectionState => - UniversalBle.getConnectionState(deviceId); - - /// On web, it returns true if the web browser supports receiving advertisements from this device. - /// The rest of the platforms will always return true. - bool get receivesAdvertisements => - UniversalBle.receivesAdvertisements(deviceId); - - BleDevice({ - required this.deviceId, - required String? name, - this.rssi, - this.isPaired, - this.services = const [], - this.isSystemDevice, - this.manufacturerDataList = const [], - }) { - rawName = name; - this.name = name?.replaceAll(RegExp(r'[^ -~]'), '').trim(); - } - - @override - String toString() { - return 'BleDevice: ' - 'deviceId: $deviceId, ' - 'name: $name, ' - 'rssi: $rssi, ' - 'isPaired: $isPaired, ' - 'services: $services, ' - 'isSystemDevice: $isSystemDevice, ' - 'manufacturerDataList: $manufacturerDataList'; - } -} diff --git a/universal_ble/lib/src/models/ble_property.dart b/universal_ble/lib/src/models/ble_property.dart deleted file mode 100644 index df94343d6..000000000 --- a/universal_ble/lib/src/models/ble_property.dart +++ /dev/null @@ -1,18 +0,0 @@ -enum BleInputProperty { - disabled, - notification, - indication; - - const BleInputProperty(); - - factory BleInputProperty.parse(int index) => BleInputProperty.values[index]; -} - -enum BleOutputProperty { - withResponse, - withoutResponse; - - const BleOutputProperty(); - - factory BleOutputProperty.parse(int index) => BleOutputProperty.values[index]; -} diff --git a/universal_ble/lib/src/models/ble_service.dart b/universal_ble/lib/src/models/ble_service.dart deleted file mode 100644 index f8448204e..000000000 --- a/universal_ble/lib/src/models/ble_service.dart +++ /dev/null @@ -1,48 +0,0 @@ -import 'package:universal_ble/universal_ble.dart'; - -class BleService { - late String uuid; - List characteristics; - - BleService(String uuid, this.characteristics) { - this.uuid = BleUuidParser.string(uuid); - } - - @override - String toString() { - return 'BleService{uuid: $uuid, characteristics: $characteristics}'; - } -} - -class BleCharacteristic { - late String uuid; - List properties; - - BleCharacteristic(String uuid, this.properties) { - this.uuid = BleUuidParser.string(uuid); - } - - @override - String toString() { - return 'BleCharacteristic{uuid: $uuid, properties: $properties}'; - } -} - -enum CharacteristicProperty { - broadcast, - read, - writeWithoutResponse, - write, - notify, - indicate, - authenticatedSignedWrites, - extendedProperties; - - const CharacteristicProperty(); - - factory CharacteristicProperty.parse(int index) => - CharacteristicProperty.values[index]; - - @override - String toString() => name; -} diff --git a/universal_ble/lib/src/models/ble_uuid_parser.dart b/universal_ble/lib/src/models/ble_uuid_parser.dart deleted file mode 100644 index be775f509..000000000 --- a/universal_ble/lib/src/models/ble_uuid_parser.dart +++ /dev/null @@ -1,69 +0,0 @@ -class BleUuidParser { - BleUuidParser._(); - - /// Parse a string to a valid 128-bit UUID. - /// Throws `FormatException` if the string does not hold a valid UUID format. - static String string(String uuid) { - uuid = uuid.trim(); - if (uuid.length < 4) { - throw const FormatException('Invalid UUID'); - } - - if (uuid.startsWith('0x')) { - uuid = uuid.substring(2); - } - - if (uuid.length <= 8) { - uuid = "${uuid.padLeft(8, '0')}-0000-1000-8000-00805f9b34fb"; - } - - if (!uuid.contains("-")) { - if (uuid.length != 32) throw const FormatException("Invalid UUID"); - - uuid = "${uuid.substring(0, 8)}-${uuid.substring(8, 12)}" - "-${uuid.substring(12, 16)}-${uuid.substring(16, 20)}-${uuid.substring(20, 32)}"; - } - - var groups = uuid.split('-'); - - if (groups.length != 5 || - groups[0].length != 8 || - groups[1].length != 4 || - groups[2].length != 4 || - groups[3].length != 4 || - groups[4].length != 12) { - throw const FormatException('Invalid UUID'); - } - - try { - int.parse(groups[0], radix: 16); - int.parse(groups[1], radix: 16); - int.parse(groups[2], radix: 16); - int.parse(groups[3], radix: 16); - int.parse(groups[4], radix: 16); - } catch (e) { - throw const FormatException('Invalid UUID'); - } - - return uuid.toLowerCase(); - } - - /// Parse an int number into a 128-bit UUID string. - /// e.g. `0x1800` to `00001800-0000-1000-8000-00805f9b34fb`. - static String number(int short) { - if (short <= 0xFF || short > 0xFFFF) { - throw const FormatException('Invalid UUID'); - } - return string(short.toRadixString(16).padLeft(4, '0')); - } - - /// Compare two UUIDs regardless of their format. - /// Throws `FormatException` if the UUID is invalid. - static bool compareStrings(String uuid1, String uuid2) => - string(uuid1) == string(uuid2); -} - -/// Parse a list of strings to a list of UUIDs. -extension StringListToUUID on List { - List toValidUUIDList() => map(BleUuidParser.string).toList(); -} diff --git a/universal_ble/lib/src/models/manufacturer_data.dart b/universal_ble/lib/src/models/manufacturer_data.dart deleted file mode 100644 index c6a64ba79..000000000 --- a/universal_ble/lib/src/models/manufacturer_data.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'package:flutter/foundation.dart'; - -/// Represents the manufacturer data of a BLE device. -class ManufacturerData { - final int companyId; - final Uint8List payload; - ManufacturerData(this.companyId, this.payload); - - String get companyIdRadix16 => "0x0${companyId.toRadixString(16)}"; - - factory ManufacturerData.fromData(Uint8List data) { - if (data.length < 2) { - throw const FormatException("Invalid Manufacturer Data"); - } - return ManufacturerData( - (data[0] + (data[1] << 8)), - data.sublist(2), - ); - } - - Uint8List toUint8List() { - final byteData = ByteData(2); - byteData.setInt16(0, companyId, Endian.host); - return Uint8List.fromList( - byteData.buffer.asUint8List() + payload.toList(), - ); - } - - @override - int get hashCode => companyId.hashCode ^ payload.hashCode; - - @override - bool operator ==(Object other) { - if (identical(this, other)) return true; - if (other is! ManufacturerData) return false; - return companyId == other.companyId && listEquals(payload, other.payload); - } - - @override - String toString() { - return 'Manufacturer: $companyIdRadix16 - $payload'; - } -} diff --git a/universal_ble/lib/src/models/manufacturer_data_filter.dart b/universal_ble/lib/src/models/manufacturer_data_filter.dart deleted file mode 100644 index e1d68f0b3..000000000 --- a/universal_ble/lib/src/models/manufacturer_data_filter.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'dart:typed_data'; - -class ManufacturerDataFilter { - /// Must be of integer type, in hex or decimal form (e.g. 0x004c or 76). - int companyIdentifier; - - /// Matches as prefix the peripheral's advertised data. - Uint8List? payloadPrefix; - - /// For each bit in the mask, set it to 1 if it needs to match - /// the corresponding one in manufacturer data, or otherwise set it to 0. - /// The 'mask' must have the same length as the payload. - Uint8List? payloadMask; - - /// Filter manufacturer data by company identifier, payload prefix, or payload mask. - ManufacturerDataFilter({ - required this.companyIdentifier, - this.payloadPrefix, - this.payloadMask, - }); - - @override - String toString() { - return 'ManufacturerDataFilter(companyIdentifier: $companyIdentifier, payloadPrefix: $payloadPrefix, mask: $payloadMask)'; - } -} diff --git a/universal_ble/lib/src/models/model_exports.dart b/universal_ble/lib/src/models/model_exports.dart deleted file mode 100644 index 07e535424..000000000 --- a/universal_ble/lib/src/models/model_exports.dart +++ /dev/null @@ -1,14 +0,0 @@ -export 'package:universal_ble/src/models/ble_connection_update.dart'; -export 'package:universal_ble/src/models/manufacturer_data.dart'; -export 'package:universal_ble/src/models/platform_config.dart'; -export 'package:universal_ble/src/models/queue_type.dart'; -export 'package:universal_ble/src/models/ble_uuid_parser.dart'; -export 'package:universal_ble/src/models/scan_filter.dart'; -export 'package:universal_ble/src/models/manufacturer_data_filter.dart'; -export 'package:universal_ble/src/models/ble_property.dart'; -export 'package:universal_ble/src/models/ble_service.dart'; -export 'package:universal_ble/src/models/availability_state.dart'; -export 'package:universal_ble/src/models/ble_connection_state.dart'; -export 'package:universal_ble/src/models/ble_device.dart'; -export 'package:universal_ble/src/models/ble_command.dart'; -export 'package:universal_ble/src/models/ble_capabilities.dart'; diff --git a/universal_ble/lib/src/models/platform_config.dart b/universal_ble/lib/src/models/platform_config.dart deleted file mode 100644 index df2c8239b..000000000 --- a/universal_ble/lib/src/models/platform_config.dart +++ /dev/null @@ -1,23 +0,0 @@ -/// Platform specific config to scan devices -class PlatformConfig { - WebOptions? web; - - PlatformConfig({this.web}); -} - -/// Web options to scan devices -/// [optionalServices] is a list of service uuid's to ensure that you can access the specified services after connecting to the device, -/// by default services from scanFilter will be used -/// [optionalManufacturerData] is list of `CompanyIdentifier's` and used to add `ManufacturerData` in advertisement results of selected device from web dialog, -/// by default manufacturerData from scanFilter will be used -/// Checkout more details on [web](https://developer.mozilla.org/en-US/docs/Web/API/Bluetooth/requestDevice) -/// Note: you will only get advertisements if Experimental Flag is enabled in the browser -class WebOptions { - List optionalServices; - List optionalManufacturerData; - - WebOptions({ - this.optionalServices = const [], - this.optionalManufacturerData = const [], - }); -} diff --git a/universal_ble/lib/src/models/queue_type.dart b/universal_ble/lib/src/models/queue_type.dart deleted file mode 100644 index b516d1d79..000000000 --- a/universal_ble/lib/src/models/queue_type.dart +++ /dev/null @@ -1,5 +0,0 @@ -enum QueueType { - none, - perDevice, - global, -} diff --git a/universal_ble/lib/src/models/scan_filter.dart b/universal_ble/lib/src/models/scan_filter.dart deleted file mode 100644 index 31455ef1d..000000000 --- a/universal_ble/lib/src/models/scan_filter.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:universal_ble/src/models/manufacturer_data_filter.dart'; - -class ScanFilter { - List withServices; - List withManufacturerData; - List withNamePrefix; - - ScanFilter({ - this.withServices = const [], - this.withManufacturerData = const [], - this.withNamePrefix = const [], - }); - - @override - String toString() { - return 'ScanFilter(withServices: $withServices, withManufacturerData: $withManufacturerData, withNamePrefix: $withNamePrefix)'; - } -} diff --git a/universal_ble/lib/src/queue.dart b/universal_ble/lib/src/queue.dart deleted file mode 100644 index 1203bce7f..000000000 --- a/universal_ble/lib/src/queue.dart +++ /dev/null @@ -1,81 +0,0 @@ -import 'dart:async'; - -/// Original Author: Ryan Knell (https://github.com/rknell/dart_queue) - -/// Queue to execute Futures in order. -/// It awaits each future before executing the next one. -class Queue { - final Set _activeItems = {}; - int _lastProcessId = 0; - bool _isCancelled = false; - final List<_QueuedFuture> _nextCycle = []; - Function(int)? onRemainingItemsUpdate; - - Future add(Future Function() closure, [Duration? timeout]) { - if (_isCancelled) throw Exception('Queue Cancelled'); - final completer = Completer(); - _nextCycle.add(_QueuedFuture(closure, completer, timeout)); - _updateRemainingItems(); - if (_activeItems.isEmpty) _queueUpNext(); - return completer.future; - } - - void dispose() { - for (final item in _nextCycle) { - item.completer.completeError(Exception('Queue Cancelled')); - } - _nextCycle.removeWhere((item) => item.completer.isCompleted); - _isCancelled = true; - } - - void _queueUpNext() { - if (_nextCycle.isNotEmpty && !_isCancelled && _activeItems.length <= 1) { - final processId = _lastProcessId; - _activeItems.add(processId); - final item = _nextCycle.first; - _lastProcessId++; - _nextCycle.remove(item); - item.onComplete = () async { - _activeItems.remove(processId); - _updateRemainingItems(); - _queueUpNext(); - }; - unawaited(item.execute()); - } - } - - void _updateRemainingItems() { - int remainingQueueItems = _nextCycle.length + _activeItems.length; - onRemainingItemsUpdate?.call(remainingQueueItems); - } -} - -class _QueuedFuture { - final Completer completer; - final Future Function() closure; - Function? onComplete; - final Duration? timeout; - - _QueuedFuture(this.closure, this.completer, this.timeout, {this.onComplete}); - - Future execute() async { - try { - T result; - if (timeout != null) { - result = await closure().timeout(timeout!); - } else { - result = await closure(); - } - if (result != null) { - completer.complete(result); - } else { - completer.complete(null); - } - await Future.microtask(() {}); - } catch (e, stack) { - completer.completeError(e, stack); - } finally { - if (onComplete != null) onComplete?.call(); - } - } -} diff --git a/universal_ble/lib/src/universal_ble.dart b/universal_ble/lib/src/universal_ble.dart deleted file mode 100644 index 874c6ba25..000000000 --- a/universal_ble/lib/src/universal_ble.dart +++ /dev/null @@ -1,504 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:universal_ble/src/ble_command_queue.dart'; -import 'package:universal_ble/src/universal_ble_linux/universal_ble_linux.dart'; -import 'package:universal_ble/src/universal_ble_pigeon/universal_ble_pigeon_channel.dart'; -import 'package:universal_ble/src/universal_ble_web/universal_ble_web.dart'; -import 'package:universal_ble/src/universal_logger.dart'; -import 'package:universal_ble/universal_ble.dart'; - -class UniversalBle { - /// Get platform specific implementation. - static UniversalBlePlatform _platform = _defaultPlatform(); - static final BleCommandQueue _bleCommandQueue = BleCommandQueue(); - - /// Set custom platform specific implementation (e.g. for testing). - static void setInstance(UniversalBlePlatform instance) => - _platform = instance; - - /// Set global timeout for all commands. - /// Default timeout is 10 seconds. - /// Set to null to disable. - static set timeout(Duration? duration) { - _bleCommandQueue.timeout = duration; - } - - /// Set how commands will be executed. By default, all commands are executed in a global queue (`QueueType.global`), - /// with each command waiting for the previous one to finish. - /// - /// [QueueType.global] will execute commands of all devices in a single queue. - /// [QueueType.perDevice] will execute command of each device in separate queues. - /// [QueueType.none] will execute all commands in parallel. - static set queueType(QueueType queueType) { - _bleCommandQueue.queueType = queueType; - UniversalLogger.logInfo('Queue ${queueType.name}'); - } - - /// Get Bluetooth availability state. - /// To be notified of updates, set [onAvailabilityChange] listener. - static Future getBluetoothAvailabilityState() async { - return await _bleCommandQueue.queueCommand( - () => _platform.getBluetoothAvailabilityState(), - ); - } - - /// Start scan. - /// Scan results will arrive in [onScanResult] listener. - /// It might throw errors if Bluetooth is not available. - /// `webRequestOptions` is supported on Web only. - static Future startScan({ - ScanFilter? scanFilter, - PlatformConfig? platformConfig, - }) async { - return await _bleCommandQueue.queueCommand( - () => _platform.startScan( - scanFilter: scanFilter, - platformConfig: platformConfig, - ), - withTimeout: false, - ); - } - - /// Stop scan. - /// Set [onScanResult] listener to `null` if you don't need it anymore. - /// It might throw errors if Bluetooth is not available. - static Future stopScan() async { - return await _bleCommandQueue.queueCommand( - () => _platform.stopScan(), - withTimeout: false, - ); - } - - /// Connection stream of a device - static Stream connectionStream(String deviceId) => - _platform.connectionStream(deviceId); - - /// Connect to a device. - /// It is advised to stop scanning before connecting. - /// It throws error if device connection fails. - /// Default connection timeout is 60 sec. - /// Can throw `ConnectionException` or `PlatformException`. - static Future connect( - String deviceId, { - Duration? connectionTimeout, - }) async { - connectionTimeout ??= const Duration(seconds: 60); - StreamSubscription? connectionSubscription; - - try { - Completer completer = Completer(); - - connectionSubscription = connectionStream(deviceId).listen( - (BleConnectionUpdate event) { - connectionSubscription?.cancel(); - if (!completer.isCompleted) { - String? error = event.error; - if (error != null) { - completer.completeError(ConnectionException(error)); - } else { - completer.complete(event.isConnected); - } - } - }, - onError: (error) { - if (!completer.isCompleted) { - connectionSubscription?.cancel(); - completer.completeError(ConnectionException(error)); - } - }, - ); - - _platform - .connect(deviceId, connectionTimeout: connectionTimeout) - .catchError( - (error) { - if (!completer.isCompleted) { - connectionSubscription?.cancel(); - completer.completeError(ConnectionException(error)); - } - }, - ); - - if (!await completer.future.timeout(connectionTimeout)) { - throw ConnectionException("Failed to connect"); - } - } finally { - connectionSubscription?.cancel(); - } - } - - /// Disconnect from a device. - /// Get notified of connection state changes in [onConnectionChange] listener. - static Future disconnect(String deviceId) async { - return await _bleCommandQueue.queueCommand( - () => _platform.disconnect(deviceId), - deviceId: deviceId, - ); - } - - /// Discover services of a device. - static Future> discoverServices(String deviceId) async { - return await _bleCommandQueue.queueCommand( - () => _platform.discoverServices(deviceId), - deviceId: deviceId, - ); - } - - /// Set a characteristic notifiable. - /// Set `bleInputProperty` to [BleInputProperty.notification] or [BleInputProperty.indication]. - /// Updates will arrive in [onValueChange] listener. - /// To stop listening to a characteristic, set `bleInputProperty` to [BleInputProperty.disabled]. - static Future setNotifiable( - String deviceId, - String service, - String characteristic, - BleInputProperty bleInputProperty, - ) async { - return await _bleCommandQueue.queueCommand( - () => _platform.setNotifiable( - deviceId, - BleUuidParser.string(service), - BleUuidParser.string(characteristic), - bleInputProperty, - ), - deviceId: deviceId, - ); - } - - /// Read a characteristic value. - /// On iOS and MacOS this command will also trigger [onValueChange] listener. - static Future readValue( - String deviceId, - String service, - String characteristic, { - final Duration? timeout, - }) async { - return await _bleCommandQueue.queueCommand( - () => _platform.readValue( - deviceId, - BleUuidParser.string(service), - BleUuidParser.string(characteristic), - timeout: timeout ?? _bleCommandQueue.timeout, - ), - timeout: timeout, - deviceId: deviceId, - ); - } - - /// Write a characteristic value. - /// To write a characteristic value with response, set `bleOutputProperty` to [BleOutputProperty.withResponse]. - static Future writeValue( - String deviceId, - String service, - String characteristic, - Uint8List value, - BleOutputProperty bleOutputProperty, - ) async { - await _bleCommandQueue.queueCommand( - () => _platform.writeValue( - deviceId, - BleUuidParser.string(service), - BleUuidParser.string(characteristic), - value, - bleOutputProperty, - ), - deviceId: deviceId, - ); - } - - /// Request MTU value. - /// It will **attempt** to set the MTU (Maximum Transmission Unit) but it is not guaranteed to succeed due to platform limitations. - /// It will always return the current MTU. - static Future requestMtu(String deviceId, int expectedMtu) async { - return await _bleCommandQueue.queueCommand( - () => _platform.requestMtu(deviceId, expectedMtu), - deviceId: deviceId, - ); - } - - /// Check if a device is paired. - /// - /// For `Apple` and `Web`, you have to pass a "pairingCommand" with an encrypted read or write characteristic. - /// Returns true/false if it manages to execute the command. - /// Returns null when no `pairingCommand` is passed. - /// Note that it will trigger pairing if the device is not already paired. - static Future isPaired( - String deviceId, { - BleCommand? pairingCommand, - Duration? connectionTimeout, - }) async { - if (BleCapabilities.hasSystemPairingApi) { - return _bleCommandQueue.queueCommand( - () => _platform.isPaired(deviceId), - deviceId: deviceId, - ); - } - - if (pairingCommand == null) { - UniversalLogger.logWarning("PairingCommand required to get result"); - return null; - } - - try { - await _connectAndExecuteBleCommand( - deviceId, - pairingCommand, - connectionTimeout: connectionTimeout, - updateCallbackValue: false, - ); - - // Because pairingCommand will be never null, so we wont get Unknown result here - return true; - } catch (e) { - UniversalLogger.logError("ExecuteBleCommandFailed: $e"); - return false; - } - } - - /// Pair a device. - /// - /// It throws error if pairing fails. - /// - /// On `Apple` and `Web`, it only works on devices with encrypted characteristics. - /// It is advised to pass a pairingCommand with an encrypted read or write characteristic. - /// When not passing a pairingCommand, you should afterwards use [isPaired] with a pairingCommand - /// to verify the pairing state. - /// - /// On `Web/Windows` and `Web/Linux`, it does not work for devices that use `ConfirmOnly` pairing. - /// Can throw `PairingException`, `ConnectionException` or `PlatformException`. - static Future pair( - String deviceId, { - BleCommand? pairingCommand, - Duration? connectionTimeout, - }) async { - if (BleCapabilities.hasSystemPairingApi) { - bool paired = await _platform.pair(deviceId); - if (!paired) throw PairingException(); - } else { - if (pairingCommand == null) { - UniversalLogger.logWarning("PairingCommand required to get result"); - } - await _connectAndExecuteBleCommand( - deviceId, - pairingCommand, - connectionTimeout: connectionTimeout, - ); - } - } - - /// Unpair a device. - /// It might throw an error if device is not paired. - static Future unpair(String deviceId) async { - return await _bleCommandQueue.queueCommand( - () => _platform.unpair(deviceId), - deviceId: deviceId, - ); - } - - /// Get connected devices to the system (connected by any app). - /// Use [withServices] to filter devices by services. - /// On `Apple`, [withServices] is required to get any connected devices. If not passed, several [18XX] generic services will be set by default. - /// On `Android`, `Linux` and `Windows`, if [withServices] is used, then internally all services will be discovered for each device first (either by connecting or by using cached services). - /// Not supported on `Web`. - static Future> getSystemDevices({ - List? withServices, - }) async { - return await _bleCommandQueue.queueCommand( - () => _platform.getSystemDevices(withServices?.toValidUUIDList()), - ); - } - - /// Returns connection state of the device. - /// All platforms will return `Connected/Disconnected` states. - /// `Android` and `Apple` can also return `Connecting/Disconnecting` states. - static Future getConnectionState(String deviceId) async { - return await _bleCommandQueue.queueCommand( - () => _platform.getConnectionState(deviceId), - ); - } - - /// Enable Bluetooth. - /// It might throw errors if Bluetooth is not available. - /// Not supported on `Web` and `Apple`. - static Future enableBluetooth() async { - return await _bleCommandQueue.queueCommand( - () => _platform.enableBluetooth(), - ); - } - - /// Disable Bluetooth. - /// It might throw errors if Bluetooth is not available. - /// Not supported on `Web` and `Apple`. - static Future disableBluetooth() async { - return await _bleCommandQueue.queueCommand( - () => _platform.disableBluetooth(), - ); - } - - /// [receivesAdvertisements] returns true on web if the browser supports receiving advertisements from a certain `deviceId`. - /// The rest of the platforms will always return true. - /// If true, then you will be getting scanResult updates for this device. - /// - /// For this feature to work, you need to enable the `chrome://flags/#enable-experimental-web-platform-features` flag. - /// Not every browser supports this API yet. - /// Even if the browser supports it, sometimes it won't fire any advertisement events even though the device may be sending them. - static bool receivesAdvertisements(String deviceId) => - _platform.receivesAdvertisements(deviceId); - - /// Get Bluetooth state availability. - static set onAvailabilityChange(OnAvailabilityChange? onAvailabilityChange) { - _platform.onAvailabilityChange = onAvailabilityChange; - if (onAvailabilityChange != null) { - getBluetoothAvailabilityState().then((value) { - onAvailabilityChange(value); - }).onError((error, stackTrace) => null); - } - } - - static Future _connectAndExecuteBleCommand( - String deviceId, - BleCommand? bleCommand, { - Duration? connectionTimeout, - bool updateCallbackValue = false, - }) async { - // Try to connect first - if (await getConnectionState(deviceId) != BleConnectionState.connected) { - UniversalLogger.logInfo("Connecting to $deviceId"); - await connect( - deviceId, - connectionTimeout: connectionTimeout, - ); - } - - List services = await discoverServices(deviceId); - UniversalLogger.logInfo("Discovered services: ${services.length}"); - - if (bleCommand == null) { - // Just attempt pairing - await _attemptPairingReadingAll(deviceId, services); - return; - } - - await _executeBleCommand(deviceId, services, bleCommand); - if (updateCallbackValue) _platform.updatePairingState(deviceId, true); - } - - // Fire and forget, and do not rely on result - static _attemptPairingReadingAll( - String deviceId, - List services, - ) async { - bool containsReadCharacteristics = false; - try { - // If BleCommand not given, fallback to reading all characteristics - for (BleService service in services) { - for (BleCharacteristic characteristic in service.characteristics) { - if (characteristic.properties.contains(CharacteristicProperty.read)) { - containsReadCharacteristics = true; - await readValue( - deviceId, - service.uuid, - characteristic.uuid, - timeout: const Duration(seconds: 30), - ); - } - } - } - } catch (_) {} - - if (!containsReadCharacteristics) { - throw PairingException("No readable characteristic found"); - } - } - - static Future _executeBleCommand( - String deviceId, - List services, - BleCommand bleCommand, - ) async { - // First find BleCommand's characteristic - BleCharacteristic? characteristic; - for (BleService service in services) { - if (BleUuidParser.compareStrings(service.uuid, bleCommand.service)) { - for (BleCharacteristic char in service.characteristics) { - if (BleUuidParser.compareStrings( - char.uuid, bleCommand.characteristic)) { - characteristic = char; - break; - } - } - } - } - - if (characteristic == null) { - throw PairingException("BleCommand not found in discovered services"); - } - - // Check if BleCommand Supports Read or Write - BleOutputProperty? bleOutputProperty; - if (characteristic.properties.contains(CharacteristicProperty.write)) { - bleOutputProperty = BleOutputProperty.withResponse; - } else if (characteristic.properties - .contains(CharacteristicProperty.writeWithoutResponse)) { - bleOutputProperty = BleOutputProperty.withoutResponse; - } else if (!characteristic.properties - .contains(CharacteristicProperty.read)) { - throw PairingException( - "BleCommand does not support read or write operation", - ); - } - - Uint8List? value = bleCommand.writeValue; - - try { - if (value != null && bleOutputProperty != null) { - await writeValue( - deviceId, - bleCommand.service, - bleCommand.characteristic, - value, - bleOutputProperty, - ); - } else { - // Fallback to read if supported - await readValue( - deviceId, - bleCommand.service, - bleCommand.characteristic, - timeout: const Duration(seconds: 30), - ); - } - } catch (e) { - throw PairingException(e.toString()); - } - } - - /// Get updates of remaining items of a queue. - static set onQueueUpdate(OnQueueUpdate? onQueueUpdate) => - _bleCommandQueue.onQueueUpdate = onQueueUpdate; - - /// Get scan results. - static set onScanResult(OnScanResult? bleDevice) => - _platform.onScanResult = bleDevice; - - /// Get connection state changes. - static set onConnectionChange(OnConnectionChange? onConnectionChange) => - _platform.onConnectionChange = onConnectionChange; - - /// Get characteristic value updates, set `bleInputProperty` in [setNotifiable] to [BleInputProperty.notification] or [BleInputProperty.indication]. - static set onValueChange(OnValueChange? onValueChange) => - _platform.onValueChange = onValueChange; - - /// Get pair state changes. - static set onPairingStateChange(OnPairingStateChange pairingStateChange) => - _platform.onPairingStateChange = pairingStateChange; - - static UniversalBlePlatform _defaultPlatform() { - if (kIsWeb) return UniversalBleWeb.instance; - if (defaultTargetPlatform == TargetPlatform.linux) { - return UniversalBleLinux.instance; - } - return UniversalBlePigeonChannel.instance; - } -} diff --git a/universal_ble/lib/src/universal_ble_exceptions.dart b/universal_ble/lib/src/universal_ble_exceptions.dart deleted file mode 100644 index 15275b96a..000000000 --- a/universal_ble/lib/src/universal_ble_exceptions.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'package:flutter/services.dart'; - -class ConnectionException implements Exception { - late String message; - - ConnectionException([dynamic error]) { - message = _errorParser(error); - } - - @override - String toString() => message; -} - -class PairingException implements Exception { - late String message; - - PairingException([dynamic error]) { - message = _errorParser(error); - } - - @override - String toString() => message; -} - -String _errorParser(dynamic error) { - if (error == null) { - return "Failed"; - } else if (error is PlatformException) { - return error.message ?? error.details ?? error.code; - } else if (error is String) { - return error; - } else { - return error.toString(); - } -} diff --git a/universal_ble/lib/src/universal_ble_filter_util.dart b/universal_ble/lib/src/universal_ble_filter_util.dart deleted file mode 100644 index e4d33458c..000000000 --- a/universal_ble/lib/src/universal_ble_filter_util.dart +++ /dev/null @@ -1,105 +0,0 @@ -import 'dart:typed_data'; - -import 'package:universal_ble/universal_ble.dart'; - -// A default Filter on dart side -// Used on Linux only -class UniversalBleFilterUtil { - ScanFilter? scanFilter; - - bool matchesDevice(BleDevice device) { - final filter = scanFilter; - if (filter == null) return true; - - final hasNamePrefixFilter = filter.withNamePrefix.isNotEmpty; - final hasServiceFilter = filter.withServices.isNotEmpty; - final hasManufacturerDataFilter = filter.withManufacturerData.isNotEmpty; - - // If there is no filter at all, then allow device - if (!hasNamePrefixFilter && - !hasServiceFilter && - !hasManufacturerDataFilter) { - return true; - } - - // Else check one of the filter passes - return hasNamePrefixFilter && nameMatches(filter, device) || - hasServiceFilter && servicesMatch(filter, device) || - hasManufacturerDataFilter && manufacturerDataMatches(filter, device); - } - - bool nameMatches(ScanFilter scanFilter, BleDevice device) { - var namePrefixFilter = scanFilter.withNamePrefix; - if (namePrefixFilter.isEmpty) return true; - - String? name = device.name; - if (name == null || name.isEmpty) return false; - return namePrefixFilter.any(name.startsWith); - } - - bool servicesMatch(ScanFilter scanFilter, BleDevice device) { - var serviceFilters = scanFilter.withServices; - if (serviceFilters.isEmpty) return true; - - List serviceUuids = device.services; - if (serviceUuids.isEmpty) { - return false; - } - return serviceFilters.any(serviceUuids.contains); - } - - bool manufacturerDataMatches(ScanFilter scanFilter, BleDevice device) { - final manufacturerDataFilters = scanFilter.withManufacturerData; - if (manufacturerDataFilters.isEmpty) return true; - - List deviceDataList = device.manufacturerDataList; - if (deviceDataList.isEmpty) return false; - - return deviceDataList - .any((deviceData) => manufacturerDataFilters.any((filter) { - // Early return if company identifiers don't match - if (filter.companyIdentifier != deviceData.companyId) { - return false; - } - - final payloadPrefix = filter.payloadPrefix; - final payload = deviceData.payload; - - // Handle cases where payload prefix is null or empty - if (payloadPrefix == null || payloadPrefix.isEmpty) { - return true; - } - - // Validate payload lengths - if (payload.isEmpty || payloadPrefix.length > payload.length) { - return false; - } - - final filterMask = filter.payloadMask; - - // Choose comparison strategy based on filter mask - return filterMask != null && - filterMask.length == payloadPrefix.length - ? _compareWithMask(payloadPrefix, payload, filterMask) - : _compareWithoutMask(payloadPrefix, payload); - })); - } - - bool _compareWithMask(Uint8List prefix, Uint8List payload, Uint8List mask) { - for (int i = 0; i < prefix.length; i++) { - if ((prefix[i] & mask[i]) != (payload[i] & mask[i])) { - return false; - } - } - return true; - } - - bool _compareWithoutMask(Uint8List prefix, Uint8List payload) { - for (int i = 0; i < prefix.length; i++) { - if (prefix[i] != payload[i]) { - return false; - } - } - return true; - } -} diff --git a/universal_ble/lib/src/universal_ble_linux/universal_ble_linux.dart b/universal_ble/lib/src/universal_ble_linux/universal_ble_linux.dart deleted file mode 100644 index 4827c468b..000000000 --- a/universal_ble/lib/src/universal_ble_linux/universal_ble_linux.dart +++ /dev/null @@ -1,613 +0,0 @@ -import 'dart:async'; - -import 'package:bluez/bluez.dart'; -import 'package:flutter/services.dart'; -import 'package:universal_ble/src/models/model_exports.dart'; -import 'package:universal_ble/src/universal_ble_filter_util.dart'; -import 'package:universal_ble/src/universal_ble_platform_interface.dart'; -import 'package:universal_ble/src/universal_logger.dart'; - -class UniversalBleLinux extends UniversalBlePlatform { - UniversalBleLinux._(); - static UniversalBleLinux? _instance; - static UniversalBleLinux get instance => _instance ??= UniversalBleLinux._(); - - bool isInitialized = false; - - final BlueZClient _client = BlueZClient(); - late final UniversalBleFilterUtil _bleFilter = UniversalBleFilterUtil(); - BlueZAdapter? _activeAdapter; - StreamSubscription? _deviceAdded; - StreamSubscription? _deviceRemoved; - Completer? _initializationCompleter; - final Map _devices = {}; - final Map _deviceUpdateStreamSubscriptions = {}; - final Map _deviceAdvertisementSubscriptions = {}; - - final Map _characteristicPropertiesSubscriptions = - {}; - - @override - Future getBluetoothAvailabilityState() async { - await _ensureInitialized(); - - BlueZAdapter? adapter = _activeAdapter; - if (adapter == null) { - return AvailabilityState.unsupported; - } - return adapter.powered - ? AvailabilityState.poweredOn - : AvailabilityState.poweredOff; - } - - @override - Future enableBluetooth() async { - await _ensureInitialized(); - if (_activeAdapter?.powered == true) return true; - try { - await _activeAdapter?.setPowered(true); - return _activeAdapter?.powered ?? false; - } catch (e) { - UniversalLogger.logError('Error enabling bluetooth: $e'); - return false; - } - } - - @override - Future disableBluetooth() async { - await _ensureInitialized(); - var adapter = _activeAdapter; - if (adapter == null) { - throw "Adapter not available"; - } - if (!adapter.powered) return true; - try { - await adapter.setPowered(false); - return !adapter.powered; - } catch (e) { - UniversalLogger.logError('Error disabling bluetooth: $e'); - return false; - } - } - - @override - Future startScan({ - ScanFilter? scanFilter, - PlatformConfig? platformConfig, - }) async { - await _ensureInitialized(); - var adapter = _activeAdapter; - if (adapter == null) { - throw "Adapter not available"; - } - - // Stop scan and clean all old advertisement listeners - await stopScan(); - - _bleFilter.scanFilter = scanFilter; - - // Setup listeners - _deviceAdded ??= _client.deviceAdded.listen(_onDeviceAdd); - _deviceRemoved ??= _client.deviceRemoved.listen(_onDeviceRemoved); - - await adapter.startDiscovery(); - - for (var device in _client.devices) { - _onDeviceAdd(device); - } - } - - @override - Future stopScan() async { - await _ensureInitialized(); - try { - // Dispose listeners - _deviceAdded?.cancel(); - _deviceRemoved?.cancel(); - _deviceAdded = null; - _deviceRemoved = null; - - // Stop Discovery - if (_activeAdapter?.discovering == true) { - await _activeAdapter?.stopDiscovery(); - } - - // Clean all advertisement listeners - _deviceAdvertisementSubscriptions.removeWhere((e, value) { - value.cancel(); - return true; - }); - } catch (e) { - UniversalLogger.logError("stopScan error: $e"); - } - } - - @override - Future getConnectionState(String deviceId) async { - BlueZDevice? device = _devices[deviceId] ?? - _client.devices.cast().firstWhere( - (device) => device?.address == deviceId, - orElse: () => null); - bool connected = device?.connected ?? false; - return connected - ? BleConnectionState.connected - : BleConnectionState.disconnected; - } - - @override - Future connect(String deviceId, {Duration? connectionTimeout}) async { - final device = _findDeviceById(deviceId); - if (device.connected) { - updateConnection(deviceId, true); - return; - } - await device.connect(); - } - - @override - Future disconnect(String deviceId) async { - final device = _findDeviceById(deviceId); - if (!device.connected) { - updateConnection(deviceId, false); - return; - } - await device.disconnect(); - } - - @override - Future> discoverServices(String deviceId) async { - final device = _findDeviceById(deviceId); - if (device.gattServices.isEmpty && !device.servicesResolved) { - await device.propertiesChanged.firstWhere((element) { - if (element.contains(BluezProperty.connected)) { - if (!device.connected) { - UniversalLogger.logInfo( - "DiscoverServicesFailed: Device disconnected", - ); - return true; - } - } - return element.contains(BluezProperty.servicesResolved); - }).timeout(const Duration(seconds: 10), onTimeout: () { - UniversalLogger.logInfo( - "DiscoverServicesFailed: Timeout", - ); - return []; - }); - } - - // Few ble devices requires delay to perform operations after discovering services - await Future.delayed(const Duration(seconds: 1)); - - if (device.gattServices.isEmpty && !device.servicesResolved) { - throw "Failed to resolve services"; - } - - List services = []; - for (final service in device.gattServices) { - final characteristics = service.characteristics.map((e) { - final properties = List.from(e.flags - .map((e) => e.toCharacteristicProperty()) - .where((element) => element != null) - .toList()); - return BleCharacteristic(e.uuid.toString(), properties); - }).toList(); - services.add(BleService(service.uuid.toString(), characteristics)); - } - return services; - } - - BlueZGattCharacteristic _getCharacteristic( - String deviceId, String service, String characteristic) { - final device = _findDeviceById(deviceId); - final s = device.gattServices - .cast() - .firstWhere((s) => s?.uuid.toString() == service, orElse: () => null); - final c = s?.characteristics.cast().firstWhere( - (c) => c?.uuid.toString() == characteristic, - orElse: () => null); - - if (c == null) { - throw Exception('Unknown characteristic:$characteristic'); - } - return c; - } - - @override - Future setNotifiable(String deviceId, String service, - String characteristic, BleInputProperty bleInputProperty) async { - final char = _getCharacteristic(deviceId, service, characteristic); - - String characteristicKey = "${deviceId}_${service}_$characteristic"; - - if (bleInputProperty != BleInputProperty.disabled) { - if (char.notifying) { - UniversalLogger.logInfo('$characteristic already notifying'); - return; - } - - await char.startNotify(); - - if (_characteristicPropertiesSubscriptions[characteristicKey] != null) { - _characteristicPropertiesSubscriptions[characteristicKey]?.cancel(); - } - - _characteristicPropertiesSubscriptions[characteristicKey] = - char.propertiesChanged.listen((List properties) { - for (String property in properties) { - switch (property) { - case BluezProperty.value: - updateCharacteristicValue( - deviceId, - characteristic, - Uint8List.fromList(char.value), - ); - break; - default: - UniversalLogger.logInfo( - "UnhandledCharValuePropertyChange: $property", - ); - } - } - }); - } else { - if (char.notifying) await char.stopNotify(); - _characteristicPropertiesSubscriptions - .remove(characteristicKey) - ?.cancel(); - } - } - - @override - Future readValue( - String deviceId, - String service, - String characteristic, { - final Duration? timeout, - }) async { - try { - final c = _getCharacteristic(deviceId, service, characteristic); - final data = await c.readValue(); - return Uint8List.fromList(data); - } on BlueZFailedException catch (e) { - throw PlatformException( - code: e.errorCode ?? "ReadFailed", - message: e.message, - ); - } - } - - @override - Future writeValue( - String deviceId, - String service, - String characteristic, - Uint8List value, - BleOutputProperty bleOutputProperty) async { - try { - final c = _getCharacteristic(deviceId, service, characteristic); - if (bleOutputProperty == BleOutputProperty.withResponse) { - await c.writeValue( - value, - type: BlueZGattCharacteristicWriteType.request, - ); - } else { - await c.writeValue( - value, - type: BlueZGattCharacteristicWriteType.command, - ); - } - } on BlueZFailedException catch (e) { - throw PlatformException( - code: e.errorCode ?? "WriteFailed", - message: e.message, - ); - } - } - - @override - Future requestMtu(String deviceId, int expectedMtu) async { - final device = _findDeviceById(deviceId); - if (!device.connected) throw Exception('Device not connected'); - for (BlueZGattService service in device.gattServices) { - for (BlueZGattCharacteristic characteristic in service.characteristics) { - int? mtu = characteristic.mtu; - // The value provided by Bluez includes an extra 3 bytes from the GATT header, which needs to be removed. - if (mtu != null) return mtu - 3; - } - } - throw Exception('MTU not available'); - } - - @override - Future pair(String deviceId) async { - BlueZDevice device = _findDeviceById(deviceId); - try { - if (device.paired) return true; - await device.pair(); - return true; - } catch (error) { - updatePairingState(deviceId, false); - return false; - } - } - - @override - Future unpair(String deviceId) async { - BlueZDevice device = _findDeviceById(deviceId); - if (device.paired) { - // await device.cancelPairing(); - await _activeAdapter?.removeDevice(device); - } - } - - @override - Future isPaired(String deviceId) async { - return _findDeviceById(deviceId).paired; - } - - @override - Future> getSystemDevices( - List? withServices, - ) async { - List devices = - _client.devices.where((device) => device.connected).toList(); - if (withServices != null && withServices.isNotEmpty) { - devices = devices.where((device) { - if (device.servicesResolved) { - return device.gattServices - .map((e) => e.uuid.toString()) - .any((service) => withServices.contains(service)); - } else { - UniversalLogger.logInfo( - 'Skipping: ${device.address}: Services not resolved yet.', - ); - return false; - } - }).toList(); - } - return devices - .map((device) => device.toBleDevice(isSystemDevice: true)) - .toList(); - } - - AvailabilityState get _availabilityState { - return _activeAdapter?.powered == true - ? AvailabilityState.poweredOn - : AvailabilityState.poweredOff; - } - - BlueZDevice _findDeviceById(String deviceId) { - final device = _devices[deviceId] ?? - _client.devices.cast().firstWhere( - (device) => device?.address == deviceId, - orElse: () => null); - if (device == null) { - throw Exception('Unknown deviceId:$deviceId'); - } - return device; - } - - Future _ensureInitialized() async { - if (isInitialized) return; - - if (_initializationCompleter != null) { - await _initializationCompleter?.future; - return; - } - - _initializationCompleter = Completer(); - try { - await _client.connect(); - await _waitForAdapter(_client); - - _activeAdapter ??= _client.adapters.first; - - UniversalLogger.logInfo( - 'BleAdapter: ${_activeAdapter?.name} - ${_activeAdapter?.address}', - ); - - _activeAdapter?.propertiesChanged.listen((List properties) { - // Handle pairing state change - for (final property in properties) { - switch (property) { - case BluezProperty.powered: - updateAvailability(_availabilityState); - break; - case BluezProperty.discoverable: - case BluezProperty.discovering: - // print("Adapter Discovering: ${_activeAdapter?.discovering}"); - break; - case BluezProperty.propertyClass: - default: - UniversalLogger.logInfo( - "UnhandledPropertyChanged: $property", - ); - } - } - }); - - updateAvailability(_availabilityState); - isInitialized = true; - _initializationCompleter?.complete(); - _initializationCompleter = null; - } catch (e) { - UniversalLogger.logError('Error initializing: $e'); - _initializationCompleter?.completeError(e); - await _client.close(); - rethrow; - } - } - - Future _waitForAdapter(BlueZClient client) async { - if (client.adapters.isNotEmpty) return; - - int attempts = 0; - while (attempts < 10 && client.adapters.isEmpty) { - await Future.delayed(const Duration(milliseconds: 100)); - attempts++; - } - - if (client.adapters.isEmpty) { - throw Exception('Bluetooth adapter unavailable'); - } - } - - void _onDeviceAdd(BlueZDevice device) { - BleDevice bleDevice = device.toBleDevice(); - if (!_bleFilter.matchesDevice(bleDevice)) { - return; - } - - // Update scan results only if rssi is available - if (device.rssi != 0) { - updateScanResult(bleDevice); - } - - // Setup Cache - _devices[device.address] = device; - - // Setup advertisements Listener - _deviceAdvertisementSubscriptions[device.address] ??= device - .propertiesChanged - .where((e) => - e.contains(BluezProperty.rssi) || - e.contains(BluezProperty.manufacturerData) || - e.contains(BluezProperty.uuids)) - .listen((_) { - if (_bleFilter.matchesDevice(bleDevice)) { - updateScanResult(device.toBleDevice()); - } - }); - - // Setup update listener - _deviceUpdateStreamSubscriptions[device.address] ??= - device.propertiesChanged.listen((properties) { - for (final property in properties) { - switch (property) { - // Connection/Pair updates - case BluezProperty.connected: - updateConnection(device.address, device.connected); - break; - case BluezProperty.paired: - updatePairingState(device.address, device.paired); - break; - // Ignored these properties updates - case BluezProperty.bonded: - case BluezProperty.legacyPairing: - case BluezProperty.servicesResolved: - case BluezProperty.uuids: - case BluezProperty.txPower: - case BluezProperty.address: - case BluezProperty.addressType: - case BluezProperty.rssi: - case BluezProperty.manufacturerData: - break; - default: - UniversalLogger.logInfo( - "UnhandledDevicePropertyChanged ${device.name} ${device.address}: $property", - ); - break; - } - } - }); - } - - void _onDeviceRemoved(BlueZDevice device) { - _devices.remove(device.address); - // Clean Update listeners - _deviceUpdateStreamSubscriptions.removeWhere((key, value) { - if (key == device.address) { - value.cancel(); - return true; - } - return false; - }); - // Clean Advertisement listeners - _deviceAdvertisementSubscriptions.removeWhere((key, value) { - if (key == device.address) { - value.cancel(); - return true; - } - return false; - }); - } -} - -class BluezProperty { - static const String rssi = 'RSSI'; - static const String connected = 'Connected'; - static const String txPower = 'TxPower'; - static const String bonded = 'Bonded'; - static const String manufacturerData = 'ManufacturerData'; - static const String legacyPairing = 'LegacyPairing'; - static const String servicesResolved = 'ServicesResolved'; - static const String paired = 'Paired'; - static const String address = 'Address'; - static const String addressType = 'AddressType'; - static const String modalias = 'Modalias'; - static const String uuids = 'UUIDs'; - static const String value = 'Value'; - static const String powered = 'Powered'; - static const String discoverable = 'Discoverable'; - static const String discovering = 'Discovering'; - static const String propertyClass = 'Class'; -} - -extension on BlueZGattCharacteristicFlag { - CharacteristicProperty? toCharacteristicProperty() { - return switch (this) { - BlueZGattCharacteristicFlag.broadcast => CharacteristicProperty.broadcast, - BlueZGattCharacteristicFlag.read => CharacteristicProperty.read, - BlueZGattCharacteristicFlag.writeWithoutResponse => - CharacteristicProperty.writeWithoutResponse, - BlueZGattCharacteristicFlag.write => CharacteristicProperty.write, - BlueZGattCharacteristicFlag.notify => CharacteristicProperty.notify, - BlueZGattCharacteristicFlag.indicate => CharacteristicProperty.indicate, - BlueZGattCharacteristicFlag.authenticatedSignedWrites => - CharacteristicProperty.authenticatedSignedWrites, - BlueZGattCharacteristicFlag.extendedProperties => - CharacteristicProperty.extendedProperties, - _ => null, - }; - } -} - -extension on BlueZFailedException { - /// Extract error code from message and parse into decimal - /// example: 'Operation failed with ATT error: 0x90' => 144 - String? get errorCode { - try { - RegExp regExp = RegExp(r'0x\w+'); - Match? match = regExp.firstMatch(message); - String? code = match?.group(0); - if (code == null) return null; - int? decimalValue = int.tryParse( - code.replaceFirst('0x', ''), - radix: 16, - ); - return decimalValue?.toString() ?? code; - } catch (e) { - return null; - } - } -} - -extension BlueZDeviceExtension on BlueZDevice { - List get manufacturerDataList => manufacturerData.entries - .map((MapEntry> data) => - ManufacturerData(data.key.id, Uint8List.fromList(data.value))) - .toList(); - - BleDevice toBleDevice({bool? isSystemDevice}) { - return BleDevice( - name: name, - deviceId: address, - isPaired: paired, - rssi: rssi, - isSystemDevice: isSystemDevice, - services: uuids.map((e) => e.toString()).toList(), - manufacturerDataList: manufacturerDataList, - ); - } -} diff --git a/universal_ble/lib/src/universal_ble_pigeon/universal_ble.g.dart b/universal_ble/lib/src/universal_ble_pigeon/universal_ble.g.dart deleted file mode 100644 index ae3484f0c..000000000 --- a/universal_ble/lib/src/universal_ble_pigeon/universal_ble.g.dart +++ /dev/null @@ -1,862 +0,0 @@ -// Autogenerated from Pigeon (v22.6.1), do not edit directly. -// See also: https://pub.dev/packages/pigeon -// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers - -import 'dart:async'; -import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List; - -import 'package:flutter/foundation.dart' show ReadBuffer, WriteBuffer; -import 'package:flutter/services.dart'; - -PlatformException _createConnectionError(String channelName) { - return PlatformException( - code: 'channel-error', - message: 'Unable to establish connection on channel: "$channelName".', - ); -} - -List wrapResponse({Object? result, PlatformException? error, bool empty = false}) { - if (empty) { - return []; - } - if (error == null) { - return [result]; - } - return [error.code, error.message, error.details]; -} - -class UniversalBleScanResult { - UniversalBleScanResult({ - required this.deviceId, - this.name, - this.isPaired, - this.rssi, - this.manufacturerDataList, - this.services, - }); - - String deviceId; - - String? name; - - bool? isPaired; - - int? rssi; - - List? manufacturerDataList; - - List? services; - - Object encode() { - return [ - deviceId, - name, - isPaired, - rssi, - manufacturerDataList, - services, - ]; - } - - static UniversalBleScanResult decode(Object result) { - result as List; - return UniversalBleScanResult( - deviceId: result[0]! as String, - name: result[1] as String?, - isPaired: result[2] as bool?, - rssi: result[3] as int?, - manufacturerDataList: (result[4] as List?)?.cast(), - services: (result[5] as List?)?.cast(), - ); - } -} - -class UniversalBleService { - UniversalBleService({ - required this.uuid, - this.characteristics, - }); - - String uuid; - - List? characteristics; - - Object encode() { - return [ - uuid, - characteristics, - ]; - } - - static UniversalBleService decode(Object result) { - result as List; - return UniversalBleService( - uuid: result[0]! as String, - characteristics: (result[1] as List?)?.cast(), - ); - } -} - -class UniversalBleCharacteristic { - UniversalBleCharacteristic({ - required this.uuid, - required this.properties, - }); - - String uuid; - - List properties; - - Object encode() { - return [ - uuid, - properties, - ]; - } - - static UniversalBleCharacteristic decode(Object result) { - result as List; - return UniversalBleCharacteristic( - uuid: result[0]! as String, - properties: (result[1] as List?)!.cast(), - ); - } -} - -/// Scan Filters -class UniversalScanFilter { - UniversalScanFilter({ - required this.withServices, - required this.withNamePrefix, - required this.withManufacturerData, - }); - - List withServices; - - List withNamePrefix; - - List withManufacturerData; - - Object encode() { - return [ - withServices, - withNamePrefix, - withManufacturerData, - ]; - } - - static UniversalScanFilter decode(Object result) { - result as List; - return UniversalScanFilter( - withServices: (result[0] as List?)!.cast(), - withNamePrefix: (result[1] as List?)!.cast(), - withManufacturerData: (result[2] as List?)!.cast(), - ); - } -} - -class UniversalManufacturerDataFilter { - UniversalManufacturerDataFilter({ - required this.companyIdentifier, - this.data, - this.mask, - }); - - int companyIdentifier; - - Uint8List? data; - - Uint8List? mask; - - Object encode() { - return [ - companyIdentifier, - data, - mask, - ]; - } - - static UniversalManufacturerDataFilter decode(Object result) { - result as List; - return UniversalManufacturerDataFilter( - companyIdentifier: result[0]! as int, - data: result[1] as Uint8List?, - mask: result[2] as Uint8List?, - ); - } -} - -class UniversalManufacturerData { - UniversalManufacturerData({ - required this.companyIdentifier, - required this.data, - }); - - int companyIdentifier; - - Uint8List data; - - Object encode() { - return [ - companyIdentifier, - data, - ]; - } - - static UniversalManufacturerData decode(Object result) { - result as List; - return UniversalManufacturerData( - companyIdentifier: result[0]! as int, - data: result[1]! as Uint8List, - ); - } -} - - -class _PigeonCodec extends StandardMessageCodec { - const _PigeonCodec(); - @override - void writeValue(WriteBuffer buffer, Object? value) { - if (value is int) { - buffer.putUint8(4); - buffer.putInt64(value); - } else if (value is UniversalBleScanResult) { - buffer.putUint8(129); - writeValue(buffer, value.encode()); - } else if (value is UniversalBleService) { - buffer.putUint8(130); - writeValue(buffer, value.encode()); - } else if (value is UniversalBleCharacteristic) { - buffer.putUint8(131); - writeValue(buffer, value.encode()); - } else if (value is UniversalScanFilter) { - buffer.putUint8(132); - writeValue(buffer, value.encode()); - } else if (value is UniversalManufacturerDataFilter) { - buffer.putUint8(133); - writeValue(buffer, value.encode()); - } else if (value is UniversalManufacturerData) { - buffer.putUint8(134); - writeValue(buffer, value.encode()); - } else { - super.writeValue(buffer, value); - } - } - - @override - Object? readValueOfType(int type, ReadBuffer buffer) { - switch (type) { - case 129: - return UniversalBleScanResult.decode(readValue(buffer)!); - case 130: - return UniversalBleService.decode(readValue(buffer)!); - case 131: - return UniversalBleCharacteristic.decode(readValue(buffer)!); - case 132: - return UniversalScanFilter.decode(readValue(buffer)!); - case 133: - return UniversalManufacturerDataFilter.decode(readValue(buffer)!); - case 134: - return UniversalManufacturerData.decode(readValue(buffer)!); - default: - return super.readValueOfType(type, buffer); - } - } -} - -/// Flutter -> Native -class UniversalBlePlatformChannel { - /// Constructor for [UniversalBlePlatformChannel]. The [binaryMessenger] named argument is - /// available for dependency injection. If it is left null, the default - /// BinaryMessenger will be used which routes to the host platform. - UniversalBlePlatformChannel({BinaryMessenger? binaryMessenger, String messageChannelSuffix = ''}) - : pigeonVar_binaryMessenger = binaryMessenger, - pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; - final BinaryMessenger? pigeonVar_binaryMessenger; - - static const MessageCodec pigeonChannelCodec = _PigeonCodec(); - - final String pigeonVar_messageChannelSuffix; - - Future getBluetoothAvailabilityState() async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getBluetoothAvailabilityState$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send(null) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as int?)!; - } - } - - Future enableBluetooth() async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.enableBluetooth$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send(null) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as bool?)!; - } - } - - Future disableBluetooth() async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disableBluetooth$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send(null) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as bool?)!; - } - } - - Future startScan(UniversalScanFilter? filter) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.startScan$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([filter]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } - } - - Future stopScan() async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.stopScan$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send(null) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } - } - - Future connect(String deviceId) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.connect$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } - } - - Future disconnect(String deviceId) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disconnect$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } - } - - Future setNotifiable(String deviceId, String service, String characteristic, int bleInputProperty) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.setNotifiable$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId, service, characteristic, bleInputProperty]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } - } - - Future> discoverServices(String deviceId) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.discoverServices$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as List?)!.cast(); - } - } - - Future readValue(String deviceId, String service, String characteristic) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.readValue$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId, service, characteristic]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as Uint8List?)!; - } - } - - Future requestMtu(String deviceId, int expectedMtu) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.requestMtu$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId, expectedMtu]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as int?)!; - } - } - - Future writeValue(String deviceId, String service, String characteristic, Uint8List value, int bleOutputProperty) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.writeValue$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId, service, characteristic, value, bleOutputProperty]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } - } - - Future isPaired(String deviceId) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.isPaired$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as bool?)!; - } - } - - Future pair(String deviceId) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.pair$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as bool?)!; - } - } - - Future unPair(String deviceId) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.unPair$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else { - return; - } - } - - Future> getSystemDevices(List withServices) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getSystemDevices$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([withServices]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as List?)!.cast(); - } - } - - Future getConnectionState(String deviceId) async { - final String pigeonVar_channelName = 'dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getConnectionState$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - pigeonVar_channelName, - pigeonChannelCodec, - binaryMessenger: pigeonVar_binaryMessenger, - ); - final List? pigeonVar_replyList = - await pigeonVar_channel.send([deviceId]) as List?; - if (pigeonVar_replyList == null) { - throw _createConnectionError(pigeonVar_channelName); - } else if (pigeonVar_replyList.length > 1) { - throw PlatformException( - code: pigeonVar_replyList[0]! as String, - message: pigeonVar_replyList[1] as String?, - details: pigeonVar_replyList[2], - ); - } else if (pigeonVar_replyList[0] == null) { - throw PlatformException( - code: 'null-error', - message: 'Host platform returned null value for non-null return value.', - ); - } else { - return (pigeonVar_replyList[0] as int?)!; - } - } -} - -/// Native -> Flutter -abstract class UniversalBleCallbackChannel { - static const MessageCodec pigeonChannelCodec = _PigeonCodec(); - - void onAvailabilityChanged(int state); - - void onPairStateChange(String deviceId, bool isPaired, String? error); - - void onScanResult(UniversalBleScanResult result); - - void onValueChanged(String deviceId, String characteristicId, Uint8List value); - - void onConnectionChanged(String deviceId, bool connected, String? error); - - static void setUp(UniversalBleCallbackChannel? api, {BinaryMessenger? binaryMessenger, String messageChannelSuffix = '',}) { - messageChannelSuffix = messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; - { - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - 'dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged$messageChannelSuffix', pigeonChannelCodec, - binaryMessenger: binaryMessenger); - if (api == null) { - pigeonVar_channel.setMessageHandler(null); - } else { - pigeonVar_channel.setMessageHandler((Object? message) async { - assert(message != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged was null.'); - final List args = (message as List?)!; - final int? arg_state = (args[0] as int?); - assert(arg_state != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged was null, expected non-null int.'); - try { - api.onAvailabilityChanged(arg_state!); - return wrapResponse(empty: true); - } on PlatformException catch (e) { - return wrapResponse(error: e); - } catch (e) { - return wrapResponse(error: PlatformException(code: 'error', message: e.toString())); - } - }); - } - } - { - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - 'dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange$messageChannelSuffix', pigeonChannelCodec, - binaryMessenger: binaryMessenger); - if (api == null) { - pigeonVar_channel.setMessageHandler(null); - } else { - pigeonVar_channel.setMessageHandler((Object? message) async { - assert(message != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange was null.'); - final List args = (message as List?)!; - final String? arg_deviceId = (args[0] as String?); - assert(arg_deviceId != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange was null, expected non-null String.'); - final bool? arg_isPaired = (args[1] as bool?); - assert(arg_isPaired != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange was null, expected non-null bool.'); - final String? arg_error = (args[2] as String?); - try { - api.onPairStateChange(arg_deviceId!, arg_isPaired!, arg_error); - return wrapResponse(empty: true); - } on PlatformException catch (e) { - return wrapResponse(error: e); - } catch (e) { - return wrapResponse(error: PlatformException(code: 'error', message: e.toString())); - } - }); - } - } - { - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - 'dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult$messageChannelSuffix', pigeonChannelCodec, - binaryMessenger: binaryMessenger); - if (api == null) { - pigeonVar_channel.setMessageHandler(null); - } else { - pigeonVar_channel.setMessageHandler((Object? message) async { - assert(message != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult was null.'); - final List args = (message as List?)!; - final UniversalBleScanResult? arg_result = (args[0] as UniversalBleScanResult?); - assert(arg_result != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult was null, expected non-null UniversalBleScanResult.'); - try { - api.onScanResult(arg_result!); - return wrapResponse(empty: true); - } on PlatformException catch (e) { - return wrapResponse(error: e); - } catch (e) { - return wrapResponse(error: PlatformException(code: 'error', message: e.toString())); - } - }); - } - } - { - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - 'dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged$messageChannelSuffix', pigeonChannelCodec, - binaryMessenger: binaryMessenger); - if (api == null) { - pigeonVar_channel.setMessageHandler(null); - } else { - pigeonVar_channel.setMessageHandler((Object? message) async { - assert(message != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged was null.'); - final List args = (message as List?)!; - final String? arg_deviceId = (args[0] as String?); - assert(arg_deviceId != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged was null, expected non-null String.'); - final String? arg_characteristicId = (args[1] as String?); - assert(arg_characteristicId != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged was null, expected non-null String.'); - final Uint8List? arg_value = (args[2] as Uint8List?); - assert(arg_value != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged was null, expected non-null Uint8List.'); - try { - api.onValueChanged(arg_deviceId!, arg_characteristicId!, arg_value!); - return wrapResponse(empty: true); - } on PlatformException catch (e) { - return wrapResponse(error: e); - } catch (e) { - return wrapResponse(error: PlatformException(code: 'error', message: e.toString())); - } - }); - } - } - { - final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( - 'dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged$messageChannelSuffix', pigeonChannelCodec, - binaryMessenger: binaryMessenger); - if (api == null) { - pigeonVar_channel.setMessageHandler(null); - } else { - pigeonVar_channel.setMessageHandler((Object? message) async { - assert(message != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged was null.'); - final List args = (message as List?)!; - final String? arg_deviceId = (args[0] as String?); - assert(arg_deviceId != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged was null, expected non-null String.'); - final bool? arg_connected = (args[1] as bool?); - assert(arg_connected != null, - 'Argument for dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged was null, expected non-null bool.'); - final String? arg_error = (args[2] as String?); - try { - api.onConnectionChanged(arg_deviceId!, arg_connected!, arg_error); - return wrapResponse(empty: true); - } on PlatformException catch (e) { - return wrapResponse(error: e); - } catch (e) { - return wrapResponse(error: PlatformException(code: 'error', message: e.toString())); - } - }); - } - } - } -} diff --git a/universal_ble/lib/src/universal_ble_pigeon/universal_ble_pigeon_channel.dart b/universal_ble/lib/src/universal_ble_pigeon/universal_ble_pigeon_channel.dart deleted file mode 100644 index 9071a18e3..000000000 --- a/universal_ble/lib/src/universal_ble_pigeon/universal_ble_pigeon_channel.dart +++ /dev/null @@ -1,260 +0,0 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; -import 'package:universal_ble/src/universal_ble_pigeon/universal_ble.g.dart'; -import 'package:universal_ble/universal_ble.dart'; - -class UniversalBlePigeonChannel extends UniversalBlePlatform { - static UniversalBlePigeonChannel? _instance; - static UniversalBlePigeonChannel get instance => - _instance ??= UniversalBlePigeonChannel._(); - - UniversalBlePigeonChannel._() { - _setupListeners(); - } - - final _channel = UniversalBlePlatformChannel(); - - @override - Future getBluetoothAvailabilityState() async { - int state = await _channel.getBluetoothAvailabilityState(); - return AvailabilityState.parse(state); - } - - @override - Future enableBluetooth() { - if (!BleCapabilities.supportsBluetoothEnableApi) { - throw UnsupportedError("Not supported"); - } - return _channel.enableBluetooth(); - } - - @override - Future disableBluetooth() { - if (!BleCapabilities.supportsBluetoothEnableApi) { - throw UnsupportedError("Not supported"); - } - return _channel.disableBluetooth(); - } - - @override - Future startScan({ - ScanFilter? scanFilter, - PlatformConfig? platformConfig, - }) async { - await _ensureInitialized(); - await _channel.startScan( - scanFilter.toUniversalScanFilter(), - ); - } - - @override - Future stopScan() => _channel.stopScan(); - - @override - Future getConnectionState(String deviceId) async { - int state = await _channel.getConnectionState(deviceId); - return BleConnectionState.parse(state); - } - - @override - Future connect(String deviceId, {Duration? connectionTimeout}) => - _channel.connect(deviceId); - - @override - Future disconnect(String deviceId) => _channel.disconnect(deviceId); - - @override - Future> discoverServices(String deviceId) async { - List universalBleServices = - await _channel.discoverServices(deviceId); - return List.from(universalBleServices - .where((e) => e != null) - .map((e) => e!.toBleService()) - .toList()); - } - - @override - Future setNotifiable(String deviceId, String service, - String characteristic, BleInputProperty bleInputProperty) { - return _channel.setNotifiable( - deviceId, - service, - characteristic, - bleInputProperty.index, - ); - } - - @override - Future readValue( - String deviceId, - String service, - String characteristic, { - final Duration? timeout, - }) { - return _channel.readValue(deviceId, service, characteristic); - } - - @override - Future writeValue( - String deviceId, - String service, - String characteristic, - Uint8List value, - BleOutputProperty bleOutputProperty) { - return _channel.writeValue( - deviceId, - service, - characteristic, - value, - bleOutputProperty.index, - ); - } - - @override - Future requestMtu(String deviceId, int expectedMtu) => - _channel.requestMtu(deviceId, expectedMtu); - - @override - Future isPaired(String deviceId) => _channel.isPaired(deviceId); - - @override - Future pair(String deviceId) => _channel.pair(deviceId); - - @override - Future unpair(String deviceId) => _channel.unPair(deviceId); - - @override - Future> getSystemDevices( - List? withServices, - ) async { - var devices = await _channel.getSystemDevices(withServices ?? []); - return List.from( - devices.map((e) => e.toBleDevice(isSystemDevice: true)).toList(), - ); - } - - /// To set listeners - void _setupListeners() { - UniversalBleCallbackChannel.setUp(_UniversalBleCallbackHandler( - scanResult: updateScanResult, - availabilityChange: updateAvailability, - connectionChanged: updateConnection, - valueChanged: updateCharacteristicValue, - pairStateChange: updatePairingState, - )); - } - - Future _ensureInitialized() async { - // Check bluetooth availability on Apple - // so that it will ask permission only when required, and throw error on failed - if (defaultTargetPlatform == TargetPlatform.iOS || - defaultTargetPlatform == TargetPlatform.macOS) { - AvailabilityState state = await getBluetoothAvailabilityState(); - switch (state) { - case AvailabilityState.unauthorized: - throw PlatformException( - code: "Unauthorized", - message: "Not authorized to access Bluetooth", - ); - case AvailabilityState.unsupported: - throw PlatformException( - code: "Unsupported", - message: "Bluetooth is not supported", - ); - default: - // Ignore rest.. - } - } - } -} - -extension _BleServiceExtension on UniversalBleService { - BleService toBleService() { - List bleCharacteristics = []; - for (UniversalBleCharacteristic? characteristic in characteristics ?? []) { - if (characteristic == null) continue; - List? properties = List.from(characteristic.properties); - bleCharacteristics.add(BleCharacteristic( - characteristic.uuid, - List.from( - properties.map((e) => CharacteristicProperty.parse(e ?? 1)), - ), - )); - } - return BleService(uuid, bleCharacteristics); - } -} - -class _UniversalBleCallbackHandler extends UniversalBleCallbackChannel { - OnAvailabilityChange availabilityChange; - OnScanResult scanResult; - OnConnectionChange connectionChanged; - OnValueChange valueChanged; - OnPairingStateChange pairStateChange; - - _UniversalBleCallbackHandler({ - required this.availabilityChange, - required this.scanResult, - required this.connectionChanged, - required this.valueChanged, - required this.pairStateChange, - }); - - @override - void onAvailabilityChanged(int state) => - availabilityChange(AvailabilityState.parse(state)); - - @override - void onConnectionChanged(String deviceId, bool connected, String? error) => - connectionChanged(deviceId, connected, error); - - @override - void onScanResult(UniversalBleScanResult result) => - scanResult(result.toBleDevice()); - - @override - void onValueChanged( - String deviceId, String characteristicId, Uint8List value) => - valueChanged(deviceId, characteristicId, value); - - @override - void onPairStateChange(String deviceId, bool isPaired, String? error) => - pairStateChange(deviceId, isPaired); -} - -extension _UniversalBleScanResultExtension on UniversalBleScanResult { - BleDevice toBleDevice({bool? isSystemDevice}) { - return BleDevice( - name: name, - deviceId: deviceId, - rssi: rssi, - isPaired: isPaired, - isSystemDevice: isSystemDevice, - services: services?.map(BleUuidParser.string).toList() ?? [], - manufacturerDataList: manufacturerDataList - ?.map((e) => ManufacturerData(e.companyIdentifier, e.data)) - .toList() ?? - [], - ); - } -} - -extension _ScanFilterExtension on ScanFilter? { - UniversalScanFilter? toUniversalScanFilter() { - List? manufacturerDataFilters = this - ?.withManufacturerData - .map((e) => UniversalManufacturerDataFilter( - companyIdentifier: e.companyIdentifier, - data: e.payloadPrefix, - mask: e.payloadMask, - )) - .toList(); - - // Windows crashes if it's null, so we need to pass empty scan filter in this case - return UniversalScanFilter( - withServices: this?.withServices.toValidUUIDList() ?? [], - withNamePrefix: this?.withNamePrefix ?? [], - withManufacturerData: manufacturerDataFilters ?? [], - ); - } -} diff --git a/universal_ble/lib/src/universal_ble_platform_interface.dart b/universal_ble/lib/src/universal_ble_platform_interface.dart deleted file mode 100644 index 818352d0d..000000000 --- a/universal_ble/lib/src/universal_ble_platform_interface.dart +++ /dev/null @@ -1,141 +0,0 @@ -import 'dart:async'; -import 'dart:typed_data'; -import 'package:universal_ble/universal_ble.dart'; - -abstract class UniversalBlePlatform { - // Do not use these directly to push updates - OnScanResult? onScanResult; - OnConnectionChange? onConnectionChange; - OnValueChange? onValueChange; - OnAvailabilityChange? onAvailabilityChange; - OnPairingStateChange? onPairingStateChange; - final Map _pairStateMap = {}; - StreamController? _connectionStreamController; - - Future getBluetoothAvailabilityState(); - - Future enableBluetooth(); - - Future disableBluetooth(); - - Future startScan({ - ScanFilter? scanFilter, - PlatformConfig? platformConfig, - }); - - Future stopScan(); - - Future connect(String deviceId, {Duration? connectionTimeout}); - - Future disconnect(String deviceId); - - Future> discoverServices(String deviceId); - - Future setNotifiable(String deviceId, String service, - String characteristic, BleInputProperty bleInputProperty); - - Future readValue( - String deviceId, - String service, - String characteristic, { - final Duration? timeout, - }); - - Future writeValue( - String deviceId, - String service, - String characteristic, - Uint8List value, - BleOutputProperty bleOutputProperty); - - Future requestMtu(String deviceId, int expectedMtu); - - Future isPaired(String deviceId); - - Future pair(String deviceId); - - Future unpair(String deviceId); - - Future getConnectionState(String deviceId); - - Future> getSystemDevices( - List? withServices, - ); - - bool receivesAdvertisements(String deviceId) => true; - - Stream connectionStream(String deviceId) { - _setupConnectionStreamIfRequired(); - return _connectionStreamController!.stream; - } - - void updateScanResult(BleDevice bleDevice) { - try { - onScanResult?.call(bleDevice); - } catch (_) {} - } - - void updateConnection(String deviceId, bool isConnected, [String? error]) { - _connectionStreamController?.add(BleConnectionUpdate( - deviceId: deviceId, - isConnected: isConnected, - error: error, - )); - - try { - onConnectionChange?.call(deviceId, isConnected, error); - } catch (_) {} - } - - void updateCharacteristicValue( - String deviceId, String characteristicId, Uint8List value) { - try { - onValueChange?.call( - deviceId, BleUuidParser.string(characteristicId), value); - } catch (_) {} - } - - void updateAvailability(AvailabilityState state) { - try { - onAvailabilityChange?.call(state); - } catch (_) {} - } - - void updatePairingState(String deviceId, bool isPaired) { - if (_pairStateMap[deviceId] == isPaired) return; - _pairStateMap[deviceId] = isPaired; - - try { - onPairingStateChange?.call(deviceId, isPaired); - } catch (_) {} - } - - /// Creates an auto disposable streamController - void _setupConnectionStreamIfRequired() { - if (_connectionStreamController != null) return; - - _connectionStreamController = StreamController.broadcast(); - - // Auto dispose if no more subscribers - _connectionStreamController?.onCancel = () { - // logInfo('Disposing Connection Stream'); - _connectionStreamController?.close(); - _connectionStreamController = null; - }; - } -} - -// Callback types -typedef OnConnectionChange = void Function( - String deviceId, bool isConnected, String? error); - -typedef OnValueChange = void Function( - String deviceId, String characteristicId, Uint8List value); - -typedef OnScanResult = void Function(BleDevice scanResult); - -typedef OnAvailabilityChange = void Function(AvailabilityState state); - -typedef OnPairingStateChange = void Function(String deviceId, bool isPaired); - -typedef OnQueueUpdate = void Function(String id, int remainingQueueItems); diff --git a/universal_ble/lib/src/universal_ble_web/universal_ble_web.dart b/universal_ble/lib/src/universal_ble_web/universal_ble_web.dart deleted file mode 100644 index 65afb1760..000000000 --- a/universal_ble/lib/src/universal_ble_web/universal_ble_web.dart +++ /dev/null @@ -1,481 +0,0 @@ -import 'dart:async'; -import 'dart:collection'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter_web_bluetooth/flutter_web_bluetooth.dart'; -import 'package:universal_ble/src/models/model_exports.dart'; -import 'package:universal_ble/src/universal_ble_platform_interface.dart'; -import 'package:universal_ble/src/universal_logger.dart'; - -class UniversalBleWeb extends UniversalBlePlatform { - static UniversalBleWeb? _instance; - static UniversalBleWeb get instance => _instance ??= UniversalBleWeb._(); - - UniversalBleWeb._() { - _setupListeners(); - } - - final Map _bluetoothDeviceList = {}; - final Map _deviceAdvertisementStreamList = {}; - final Map _connectedDeviceStreamList = {}; - final Map _characteristicStreamList = {}; - final Map> _serviceCache = {}; - - @override - Future getConnectionState(String deviceId) async { - BluetoothDevice? device = _getDeviceById(deviceId); - bool connected = await device?.connected.first ?? false; - return connected - ? BleConnectionState.connected - : BleConnectionState.disconnected; - } - - @override - Future connect( - String deviceId, { - Duration? connectionTimeout = const Duration(seconds: 10), - }) async { - var device = _getDeviceById(deviceId); - if (device == null) throw "$deviceId Not Found"; - await device.connect(timeout: connectionTimeout); - - // Subscribe to Connection Stream - if (_connectedDeviceStreamList[deviceId] != null) { - _connectedDeviceStreamList[deviceId]?.cancel(); - } - - _connectedDeviceStreamList[deviceId] = device.connected.listen((event) { - if (!event) _cleanConnection(deviceId); - updateConnection(deviceId, event); - }); - } - - @override - Future disconnect(String deviceId) async { - _cleanConnection(deviceId); - updateConnection(deviceId, false); - _getDeviceById(deviceId)?.disconnect(); - } - - @override - Future> discoverServices(String deviceId) async => - (await _getServices(deviceId)).map((e) => e._bleService).toList(); - - @override - Future getBluetoothAvailabilityState() async { - bool isSupported = FlutterWebBluetooth.instance.isBluetoothApiSupported; - if (!isSupported) { - return AvailabilityState.unsupported; - } - bool isAvailable = await FlutterWebBluetooth.instance.isAvailable.first; - if (isSupported && !isAvailable) { - return AvailabilityState.poweredOff; - } else if (isAvailable) { - return AvailabilityState.poweredOn; - } - return AvailabilityState.unknown; - } - - @override - Future startScan({ - ScanFilter? scanFilter, - PlatformConfig? platformConfig, - }) async { - FlutterWebBluetooth.instance.isAvailable; - BluetoothDevice device = await FlutterWebBluetooth.instance.requestDevice( - _getRequestOptionBuilder(scanFilter, platformConfig?.web), - ); - - // Update local device list - _bluetoothDeviceList[device.id] = device; - - // Update Scan Result - updateScanResult(device.toBleScanResult()); - - _watchDeviceAdvertisements(device); - } - - @override - bool receivesAdvertisements(String deviceId) { - // Advertisements do not work on Linux/Web even with the "Experimental Web Platform features" flag enabled. Verified with Chrome Version 128.0.6613.138 - if (kIsWeb && defaultTargetPlatform == TargetPlatform.linux) { - return false; - } - - return _getDeviceById(deviceId)?.hasWatchAdvertisements() ?? false; - } - - /// This will work only if `chrome://flags/#enable-experimental-web-platform-features` is enabled - Future _watchDeviceAdvertisements(BluetoothDevice device) async { - try { - if (!device.hasWatchAdvertisements()) return; - - if (_deviceAdvertisementStreamList[device.id] != null) { - _deviceAdvertisementStreamList[device.id]?.cancel(); - await device.unwatchAdvertisements(); - } - - _deviceAdvertisementStreamList[device.id] = - device.advertisements.listen((event) { - updateScanResult( - device.toBleScanResult( - rssi: event.rssi, - manufacturerDataMap: event.manufacturerData, - services: event.uuids.toSet().toList(), - ), - ); - }); - device.advertisementsUseMemory = true; - await device.watchAdvertisements(); - } catch (e) { - UniversalLogger.logError("WebWatchAdvertisementError: $e"); - } - } - - @override - Future stopScan() async { - _disposeAdvertisementWatcher(); - } - - @override - Future setNotifiable( - String deviceId, - String service, - String characteristic, - BleInputProperty bleInputProperty, - ) async { - final bleCharacteristic = await _getBleCharacteristic( - deviceId: deviceId, - serviceId: service, - characteristicId: characteristic, - ); - - if (bleCharacteristic == null) { - throw Exception( - 'Characteristic $characteristic for service $service not found', - ); - } - - String characteristicKey = "${deviceId}_${service}_$characteristic"; - - if (bleInputProperty != BleInputProperty.disabled) { - if (_characteristicStreamList[characteristicKey] != null) { - _characteristicStreamList[characteristicKey]?.cancel(); - } - await bleCharacteristic.startNotifications(); - _characteristicStreamList[characteristicKey] = - bleCharacteristic.value.listen((ByteData event) { - updateCharacteristicValue( - deviceId, - characteristic, - event.buffer.asUint8List(), - ); - }); - } else { - await bleCharacteristic.stopNotifications(); - _characteristicStreamList.remove(characteristicKey)?.cancel(); - } - } - - @override - Future writeValue( - String deviceId, - String service, - String characteristic, - Uint8List value, - BleOutputProperty bleOutputProperty, - ) async { - final bleCharacteristic = await _getBleCharacteristic( - deviceId: deviceId, - serviceId: service, - characteristicId: characteristic, - ); - - if (bleCharacteristic == null) { - throw Exception( - 'Characteristic $characteristic for service $service not found', - ); - } - - if (bleOutputProperty == BleOutputProperty.withResponse) { - await bleCharacteristic.writeValueWithResponse(Uint8List.fromList(value)); - } else { - await bleCharacteristic - .writeValueWithoutResponse(Uint8List.fromList(value)); - } - } - - @override - Future readValue( - String deviceId, - String service, - String characteristic, { - final Duration? timeout, - }) async { - var bleCharacteristic = await _getBleCharacteristic( - deviceId: deviceId, - serviceId: service, - characteristicId: characteristic, - ); - if (bleCharacteristic == null) { - throw Exception( - 'Characteristic $characteristic for service $service not found'); - } - var data = timeout != null - ? bleCharacteristic.readValue(timeout: timeout) - : bleCharacteristic.readValue(); - return (await data).buffer.asUint8List(); - } - - /// `Unimplemented` - @override - Future requestMtu(String deviceId, int expectedMtu) { - throw UnimplementedError(); - } - - @override - Future isPaired(String deviceId) { - throw UnimplementedError(); - } - - @override - Future pair(String deviceId) { - throw UnimplementedError(); - } - - @override - Future unpair(String deviceId) { - throw UnimplementedError(); - } - - @override - Future> getSystemDevices( - List? withServices, - ) { - throw UnimplementedError(); - } - - /// Helpers - void _setupListeners() { - FlutterWebBluetooth.instance.isAvailable.listen( - (bool isAvailable) { - AvailabilityState newState = AvailabilityState.unknown; - if (!FlutterWebBluetooth.instance.isBluetoothApiSupported) { - newState = AvailabilityState.unsupported; - } else if (FlutterWebBluetooth.instance.isBluetoothApiSupported && - !isAvailable) { - newState = AvailabilityState.poweredOff; - } else if (isAvailable) { - newState = AvailabilityState.poweredOn; - } - updateAvailability(newState); - }, - ); - } - - void _cleanConnection(String deviceId) { - _connectedDeviceStreamList.removeWhere((key, value) { - if (key == deviceId) value.cancel(); - return key == deviceId; - }); - _characteristicStreamList.removeWhere((key, value) { - if (key.contains(deviceId)) value.cancel(); - return key.contains(deviceId); - }); - _disposeAdvertisementWatcher(deviceId); - _serviceCache.remove(deviceId); - // _bluetoothDeviceList.removeWhere((element) => element.id == deviceId); - } - - Future _getBleCharacteristic({ - required String deviceId, - required String serviceId, - required String characteristicId, - }) async { - for (var service in await _getServices(deviceId)) { - if (BleUuidParser.compareStrings(service.uuid, serviceId)) { - return service.getCharacteristic(characteristicId); - } - } - return null; - } - - BluetoothDevice? _getDeviceById(String id) => _bluetoothDeviceList[id]; - - /// Get services and their characteristics. - /// Services and characteristics are cached. - /// Clears cache on disconnection. - Future> _getServices( - String deviceId, - ) async { - BluetoothDevice? device = _getDeviceById(deviceId); - if (device == null) return []; - var services = _serviceCache[deviceId] ?? []; - if (services.isNotEmpty) return services; - for (var service in await device.discoverServices()) { - services.add(await _UniversalWebBluetoothService.fromService(service)); - } - _serviceCache[deviceId] = services; - return services; - } - - void _disposeAdvertisementWatcher([String? deviceId]) { - _deviceAdvertisementStreamList.removeWhere((key, value) { - if (deviceId != null && key != deviceId) return false; - value.cancel(); - _getDeviceById(deviceId ?? key) - ?.unwatchAdvertisements() - .onError((_, __) {}); - return true; - }); - } - - @override - Future enableBluetooth() { - throw UnimplementedError(); - } - - @override - Future disableBluetooth() { - throw UnimplementedError(); - } - - RequestOptionsBuilder _getRequestOptionBuilder( - ScanFilter? scanFilter, - WebOptions? webOptions, - ) { - List filters = []; - List optionalManufacturerData = []; - List optionalServices = []; - - if (webOptions != null) { - optionalServices.addAll(webOptions.optionalServices.toValidUUIDList()); - optionalManufacturerData.addAll(webOptions.optionalManufacturerData); - } - - if (scanFilter != null) { - // Add services filter - for (var service in scanFilter.withServices.toValidUUIDList()) { - filters.add(RequestFilterBuilder(services: [service])); - if (webOptions == null || webOptions.optionalServices.isEmpty) { - optionalServices.add(service); - } - } - - // Add manufacturer data filter - for (var manufacturerData in scanFilter.withManufacturerData) { - filters.add( - RequestFilterBuilder( - manufacturerData: [ - ManufacturerDataFilterBuilder( - companyIdentifier: manufacturerData.companyIdentifier, - dataPrefix: manufacturerData.payloadPrefix, - mask: manufacturerData.payloadMask, - ), - ], - ), - ); - - // Add optionalManufacturerData from scanFilter if webOptions is not provided - if (webOptions == null || webOptions.optionalManufacturerData.isEmpty) { - optionalManufacturerData.add(manufacturerData.companyIdentifier); - } - } - - // Add name filter - for (var name in scanFilter.withNamePrefix) { - filters.add(RequestFilterBuilder(namePrefix: name)); - } - } - - if (optionalServices.isEmpty) { - UniversalLogger.logError( - "OptionalServices list is empty on web, you have to specify services in the ScanFilter in order to be able to access those after connecting", - ); - } - - if (filters.isEmpty) { - return RequestOptionsBuilder.acceptAllDevices( - optionalServices: optionalServices, - optionalManufacturerData: optionalManufacturerData, - ); - } else { - return RequestOptionsBuilder( - filters, - optionalServices: optionalServices, - optionalManufacturerData: optionalManufacturerData, - ); - } - } -} - -extension _BluetoothDeviceExtension on BluetoothDevice { - BleDevice toBleScanResult({ - int? rssi, - UnmodifiableMapView? manufacturerDataMap, - List services = const [], - }) { - return BleDevice( - name: name, - deviceId: id, - manufacturerDataList: manufacturerDataMap?.toManufacturerDataList() ?? [], - rssi: rssi, - services: services, - ); - } -} - -extension _UnmodifiableMapViewExtension on UnmodifiableMapView { - List? toManufacturerDataList() => entries - .map((MapEntry data) => - ManufacturerData(data.key, data.value.buffer.asUint8List())) - .toList(); -} - -class _UniversalWebBluetoothService { - late String uuid; - BluetoothService service; - List characteristics; - - _UniversalWebBluetoothService({ - required this.service, - required this.characteristics, - }) { - uuid = service.uuid; - } - - static Future<_UniversalWebBluetoothService> fromService( - BluetoothService service, - ) async { - return _UniversalWebBluetoothService( - service: service, - characteristics: await service.getCharacteristics(), - ); - } - - BluetoothCharacteristic? getCharacteristic(String characteristicId) { - for (var characteristic in characteristics) { - if (BleUuidParser.compareStrings(characteristic.uuid, characteristicId)) { - return characteristic; - } - } - return null; - } - - BleService get _bleService => BleService( - service.uuid, - characteristics.map((e) { - return BleCharacteristic(e.uuid, [ - if (e.properties.broadcast) CharacteristicProperty.broadcast, - if (e.properties.read) CharacteristicProperty.read, - if (e.properties.write) CharacteristicProperty.write, - if (e.properties.writeWithoutResponse) - CharacteristicProperty.writeWithoutResponse, - if (e.properties.notify) CharacteristicProperty.notify, - if (e.properties.indicate) CharacteristicProperty.indicate, - if (e.properties.authenticatedSignedWrites) - CharacteristicProperty.authenticatedSignedWrites, - ]); - }).toList(), - ); -} diff --git a/universal_ble/lib/src/universal_logger.dart b/universal_ble/lib/src/universal_logger.dart deleted file mode 100644 index 4b7af5106..000000000 --- a/universal_ble/lib/src/universal_logger.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'dart:developer'; - -class UniversalLogger { - static void logInfo(message) { - log( - message.toString(), - name: 'UniversalBle:INFO', - ); - } - - static void logError(message) { - log( - '\x1B[31m$message\x1B[31m', - name: 'UniversalBle:ERROR', - ); - } - - static void logWarning(message) { - log( - '\x1B[33m$message\x1B[33m', - name: 'UniversalBle:WARN', - ); - } -} diff --git a/universal_ble/lib/universal_ble.dart b/universal_ble/lib/universal_ble.dart deleted file mode 100644 index 66d56520e..000000000 --- a/universal_ble/lib/universal_ble.dart +++ /dev/null @@ -1,6 +0,0 @@ -library universal_ble; - -export 'package:universal_ble/src/universal_ble_exceptions.dart'; -export 'package:universal_ble/src/universal_ble_platform_interface.dart'; -export 'package:universal_ble/src/universal_ble.dart'; -export 'package:universal_ble/src/models/model_exports.dart'; diff --git a/universal_ble/pigeon/universal_ble.dart b/universal_ble/pigeon/universal_ble.dart deleted file mode 100644 index f6f8d8b86..000000000 --- a/universal_ble/pigeon/universal_ble.dart +++ /dev/null @@ -1,171 +0,0 @@ -import 'package:pigeon/pigeon.dart'; - -// dart run pigeon --input pigeon/universal_ble.dart -@ConfigurePigeon( - PigeonOptions( - dartPackageName: 'universal_ble', - dartOut: 'lib/src/universal_ble_pigeon/universal_ble.g.dart', - dartOptions: DartOptions(), - kotlinOut: - 'android/src/main/kotlin/com/navideck/universal_ble/UniversalBle.g.kt', - swiftOut: 'darwin/Classes/UniversalBle.g.swift', - kotlinOptions: KotlinOptions(package: 'com.navideck.universal_ble'), - swiftOptions: SwiftOptions(), - cppOptions: CppOptions(namespace: 'universal_ble'), - cppHeaderOut: 'windows/src/generated/universal_ble.g.h', - cppSourceOut: 'windows/src/generated/universal_ble.g.cpp', - debugGenerators: true, - ), -) - -/// Flutter -> Native -@HostApi() -abstract class UniversalBlePlatformChannel { - @async - int getBluetoothAvailabilityState(); - - @async - bool enableBluetooth(); - - @async - bool disableBluetooth(); - - void startScan(UniversalScanFilter? filter); - - void stopScan(); - - void connect(String deviceId); - - void disconnect(String deviceId); - - @async - void setNotifiable( - String deviceId, - String service, - String characteristic, - int bleInputProperty, - ); - - @async - List discoverServices(String deviceId); - - @async - Uint8List readValue( - String deviceId, - String service, - String characteristic, - ); - - @async - int requestMtu(String deviceId, int expectedMtu); - - @async - void writeValue( - String deviceId, - String service, - String characteristic, - Uint8List value, - int bleOutputProperty, - ); - - @async - bool isPaired(String deviceId); - - @async - bool pair(String deviceId); - - void unPair(String deviceId); - - @async - List getSystemDevices( - List withServices, - ); - - int getConnectionState(String deviceId); -} - -/// Native -> Flutter -@FlutterApi() -abstract class UniversalBleCallbackChannel { - void onAvailabilityChanged(int state); - - void onPairStateChange(String deviceId, bool isPaired, String? error); - - void onScanResult(UniversalBleScanResult result); - - void onValueChanged( - String deviceId, - String characteristicId, - Uint8List value, - ); - - void onConnectionChanged( - String deviceId, - bool connected, - String? error, - ); -} - -class UniversalBleScanResult { - final String deviceId; - final String? name; - final bool? isPaired; - final int? rssi; - final List? manufacturerDataList; - final List? services; - - UniversalBleScanResult({ - required this.name, - required this.deviceId, - required this.isPaired, - required this.rssi, - required this.manufacturerDataList, - required this.services, - }); -} - -class UniversalBleService { - String uuid; - List? characteristics; - UniversalBleService(this.uuid, this.characteristics); -} - -class UniversalBleCharacteristic { - String uuid; - List properties; - UniversalBleCharacteristic(this.uuid, this.properties); -} - -/// Scan Filters -class UniversalScanFilter { - final List withServices; - final List withNamePrefix; - final List withManufacturerData; - - UniversalScanFilter( - this.withServices, - this.withNamePrefix, - this.withManufacturerData, - ); -} - -class UniversalManufacturerDataFilter { - int companyIdentifier; - Uint8List? data; - Uint8List? mask; - UniversalManufacturerDataFilter({ - required this.companyIdentifier, - this.data, - this.mask, - }); -} - -class UniversalManufacturerData { - final int companyIdentifier; - final Uint8List data; - - UniversalManufacturerData({ - required this.companyIdentifier, - required this.data, - }); -} diff --git a/universal_ble/pubspec.yaml b/universal_ble/pubspec.yaml deleted file mode 100644 index 7fca45a20..000000000 --- a/universal_ble/pubspec.yaml +++ /dev/null @@ -1,48 +0,0 @@ -name: universal_ble -description: A cross-platform (Android/iOS/macOS/Windows/Linux/Web) Bluetooth Low Energy (BLE) plugin for Flutter -version: 0.18.0 -homepage: https://navideck.com -repository: https://github.com/Navideck/universal_ble -issue_tracker: https://github.com/Navideck/universal_ble/issues -funding: - - https://github.com/sponsors/Navideck - -platforms: - android: - ios: - linux: - macos: - web: - windows: - -environment: - sdk: ">=3.1.3 <4.0.0" - flutter: ">=3.3.0" - -dependencies: - flutter: - sdk: flutter - plugin_platform_interface: ^2.1.6 - flutter_web_bluetooth: ^1.0.0 - bluez: ^0.8.3 - -dev_dependencies: - flutter_test: - sdk: flutter - flutter_lints: ^2.0.0 - pigeon: ^22.4.0 - -flutter: - plugin: - platforms: - android: - package: com.navideck.universal_ble - pluginClass: UniversalBlePlugin - ios: - pluginClass: UniversalBlePlugin - sharedDarwinSource: true - macos: - pluginClass: UniversalBlePlugin - sharedDarwinSource: true - windows: - pluginClass: UniversalBlePluginCApi diff --git a/universal_ble/test/ble_uuid_parser_test.dart b/universal_ble/test/ble_uuid_parser_test.dart deleted file mode 100644 index 2cdbb7996..000000000 --- a/universal_ble/test/ble_uuid_parser_test.dart +++ /dev/null @@ -1,233 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; -import 'package:universal_ble/universal_ble.dart'; - -void main() { - group('Parsing string', () { - group('Succeeds', () { - test('128-bit UUID in lowercase', () { - expect( - BleUuidParser.string('0000180a-0000-1000-8000-00805f9b34fb'), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - - test('128-bit UUID in uppercase', () { - expect( - BleUuidParser.string('0000180A-0000-1000-8000-00805F9B34FB'), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - - test('16-bit UUID in lowercase', () { - expect( - BleUuidParser.string('180a'), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - - test('16-bit UUID in uppercase', () { - expect( - BleUuidParser.string('180A'), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - - test('32-bit UUID', () { - expect( - BleUuidParser.string('0000180a'), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - - test('UUID without dashes', () { - expect( - BleUuidParser.string('0000180a00001000800000805f9b34fb'), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - - test('Lowercase 16-bit string to 128-bit starting with 0x', () { - expect( - BleUuidParser.string('0x0180a'), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - - test('Uppercase 16-bit string to 128-bit starting with 0x', () { - expect( - BleUuidParser.string('0x0180A'), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - - test('128-bit UUID with trailing space', () { - expect( - BleUuidParser.string('0000180a-0000-1000-8000-00805f9b34fb '), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - }); - group('Fails', () { - test('Invalid UUID length is less than 4', () { - expect( - () => BleUuidParser.string('123'), - throwsFormatException, - ); - }); - - test('Invalid UUID without dashes and short length', () { - expect( - () => BleUuidParser.string('0000180a00001000800000805f9b34'), - throwsFormatException, - ); - }); - - test('Invalid UUID without dashes and long length', () { - expect( - () => BleUuidParser.string('0000180a00001000800000805f9b34fb34'), - throwsFormatException, - ); - }); - - test('Invalid UUID is missing a dash', () { - expect( - () => BleUuidParser.string('0000180a-0000-1000-800000805f9b34fb'), - throwsFormatException, - ); - }); - - test('Invalid UUID has too many dashes', () { - expect( - () => BleUuidParser.string('0000-180a-0000-1000-8000-0080-5f9b-34fb'), - throwsFormatException, - ); - }); - - test('Invalid UUID is too short for 128 bits', () { - expect( - () => BleUuidParser.string('01'), - throwsFormatException, - ); - - expect( - () => BleUuidParser.string('0000180a-0000-1000-8000-00805f9b34f'), - throwsFormatException, - ); - }); - - test('Invalid UUID is too long for 128 bits', () { - expect( - () => BleUuidParser.string('0000180a-0000-1000-8000-00805f9b34fba'), - throwsFormatException, - ); - }); - - test('Invalid UUID contains non-hex characters', () { - expect( - () => BleUuidParser.string('0000180g-0000-1000-8000-00805f9b34fba'), - throwsFormatException, - ); - }); - }); - }); - - group('Parsing number', () { - group('Succeeds', () { - test('16-bit UUID in lowercase', () { - expect( - BleUuidParser.number(0x180a), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - - test('16-bit UUID in uppercase', () { - expect( - BleUuidParser.number(0x180A), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - - test('32-bit UUID', () { - expect( - BleUuidParser.number(0x0000180A), - equals('0000180a-0000-1000-8000-00805f9b34fb'), - ); - }); - }); - group('Fails', () { - test('Invalid UUID is 8 bits', () { - expect( - () => BleUuidParser.number(0x18), - throwsFormatException, - ); - }); - - test('Invalid UUID is more than 32 bits', () { - expect( - () => BleUuidParser.number(0x180A01), - throwsFormatException, - ); - }); - }); - }); - - group('CompareStrings', () { - group('Succeeds', () { - test('Identical UUIDs', () { - expect( - BleUuidParser.compareStrings('0000180a-0000-1000-8000-00805f9b34fb', - '0000180a-0000-1000-8000-00805f9b34fb'), - isTrue, - ); - }); - - test('UUIDs with different case', () { - expect( - BleUuidParser.compareStrings('180A', '180a'), - isTrue, - ); - }); - - test('16-bit and 128-bit UUIDs', () { - expect( - BleUuidParser.compareStrings( - '0000180a-0000-1000-8000-00805f9b34fb', '180a'), - isTrue, - ); - }); - - test('16-bit and 128-bit UUIDs without dashes', () { - expect( - BleUuidParser.compareStrings( - '0000180A00001000800000805F9B34FB', '180a'), - isTrue, - ); - }); - - test('32-bit and 128-bit UUIDs', () { - expect( - BleUuidParser.compareStrings( - '0000180A', '0000180a-0000-1000-8000-00805f9b34fb'), - isTrue, - ); - }); - }); - - group('Fails with', () { - test('Different UUIDs', () { - expect( - BleUuidParser.compareStrings('180A', '180B'), - isFalse, - ); - }); - - test('Different UUIDs with different formats', () { - expect( - BleUuidParser.compareStrings( - '0000180A', '0000180b-0000-1000-8000-00805f9b34fb'), - isFalse, - ); - }); - }); - }); -} diff --git a/universal_ble/test/manufacturer_data_filter_test.dart b/universal_ble/test/manufacturer_data_filter_test.dart deleted file mode 100644 index a5265dc9c..000000000 --- a/universal_ble/test/manufacturer_data_filter_test.dart +++ /dev/null @@ -1,178 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; -import 'package:universal_ble/src/universal_ble_filter_util.dart'; -import 'dart:typed_data'; - -import 'package:universal_ble/universal_ble.dart'; - -void main() { - group('ManufacturerData Matching Tests', () { - late UniversalBleFilterUtil filterUtil; - late ScanFilter scanFilter; - late BleDevice device; - - setUp(() { - filterUtil = UniversalBleFilterUtil(); - scanFilter = ScanFilter( - withNamePrefix: [], - withServices: [], - withManufacturerData: [], - ); - }); - - test('should match when no manufacturer filters are present', () { - device = BleDevice( - deviceId: '1', - name: 'Test Device', - manufacturerDataList: [], - services: [], - ); - - expect(filterUtil.manufacturerDataMatches(scanFilter, device), true); - }); - - test('should not match when device has no manufacturer data', () { - scanFilter = ScanFilter( - withNamePrefix: [], - withServices: [], - withManufacturerData: [ - ManufacturerDataFilter(companyIdentifier: 0x004C), - ], - ); - - device = BleDevice( - deviceId: '1', - name: 'Test Device', - manufacturerDataList: [], - services: [], - ); - - expect(filterUtil.manufacturerDataMatches(scanFilter, device), false); - }); - - test( - 'should match when company identifiers are equal and no payload prefix', - () { - scanFilter = ScanFilter( - withNamePrefix: [], - withServices: [], - withManufacturerData: [ - ManufacturerDataFilter(companyIdentifier: 0x004C), - ], - ); - - device = BleDevice( - deviceId: '1', - name: 'Test Device', - manufacturerDataList: [ - ManufacturerData(0x004C, Uint8List.fromList([])), - ], - services: [], - ); - - expect(filterUtil.manufacturerDataMatches(scanFilter, device), true); - }); - - group('Payload Prefix Tests', () { - test('should match when payload prefix matches start of payload', () { - scanFilter = ScanFilter( - withNamePrefix: [], - withServices: [], - withManufacturerData: [ - ManufacturerDataFilter( - companyIdentifier: 0x004C, - payloadPrefix: Uint8List.fromList([0x01, 0x02]), - ), - ], - ); - - device = BleDevice( - deviceId: '1', - name: 'Test Device', - manufacturerDataList: [ - ManufacturerData(0x004C, Uint8List.fromList([0x01, 0x02, 0x03])), - ], - services: [], - ); - - expect(filterUtil.manufacturerDataMatches(scanFilter, device), true); - }); - - test('should match with multiple manufacturer data entries', () { - scanFilter = ScanFilter( - withNamePrefix: [], - withServices: [], - withManufacturerData: [ - ManufacturerDataFilter( - companyIdentifier: 0x004D, - payloadPrefix: Uint8List.fromList([0x01, 0x02]), - ), - ], - ); - - device = BleDevice( - deviceId: '1', - name: 'Test Device', - manufacturerDataList: [ - ManufacturerData(0x004C, Uint8List.fromList([0x03, 0x04])), - ManufacturerData(0x004D, Uint8List.fromList([0x01, 0x02, 0x03])), - ], - services: [], - ); - - expect(filterUtil.manufacturerDataMatches(scanFilter, device), true); - }); - }); - - group('Payload Mask Tests', () { - test('should match when masked values are equal', () { - scanFilter = ScanFilter( - withNamePrefix: [], - withServices: [], - withManufacturerData: [ - ManufacturerDataFilter( - companyIdentifier: 0x004C, - payloadPrefix: Uint8List.fromList([0xFF, 0xFF]), - payloadMask: Uint8List.fromList([0xF0, 0xF0]), - ), - ], - ); - - device = BleDevice( - deviceId: '1', - name: 'Test Device', - manufacturerDataList: [ - ManufacturerData(0x004C, Uint8List.fromList([0xF5, 0xF8])), - ], - services: [], - ); - - expect(filterUtil.manufacturerDataMatches(scanFilter, device), true); - }); - - test('should not match when masked values are different', () { - scanFilter = ScanFilter( - withNamePrefix: [], - withServices: [], - withManufacturerData: [ - ManufacturerDataFilter( - companyIdentifier: 0x004C, - payloadPrefix: Uint8List.fromList([0xFF, 0xFF]), - payloadMask: Uint8List.fromList([0xF0, 0xF0]), - ), - ], - ); - - device = BleDevice( - deviceId: '1', - name: 'Test Device', - manufacturerDataList: [ - ManufacturerData(0x004C, Uint8List.fromList([0xE5, 0xF8])), - ], - services: [], - ); - - expect(filterUtil.manufacturerDataMatches(scanFilter, device), false); - }); - }); - }); -} diff --git a/universal_ble/test/scan_filter_test.dart b/universal_ble/test/scan_filter_test.dart deleted file mode 100644 index de27b07ee..000000000 --- a/universal_ble/test/scan_filter_test.dart +++ /dev/null @@ -1,198 +0,0 @@ -import 'dart:typed_data'; - -import 'package:flutter_test/flutter_test.dart'; -import 'package:universal_ble/src/universal_ble_filter_util.dart'; -import 'package:universal_ble/universal_ble.dart'; - -void main() { - final universalBleFilter = UniversalBleFilterUtil(); - var device1 = BleDevice( - deviceId: '1', - name: '1_device', - services: ['1_ser'], - manufacturerDataList: [ - ManufacturerData(0x01, Uint8List.fromList([1, 2, 3])), - ], - ); - var device2 = BleDevice( - deviceId: '2', - name: '2_device', - services: ['2_ser'], - manufacturerDataList: [ - ManufacturerData(0x02, Uint8List.fromList([1, 2, 3])) - ], - ); - var device3 = BleDevice( - deviceId: '3', - name: '3_device', - services: ['3_ser'], - manufacturerDataList: [ - ManufacturerData(0x03, Uint8List.fromList([1, 2, 3])) - ], - ); - - group("Test Individual Filter", () { - test('Test isNameMatchingFilters', () { - var scanFilter = ScanFilter( - withNamePrefix: ['1', '2'], - ); - expect( - universalBleFilter.nameMatches(scanFilter, device1), - isTrue, - ); - expect( - universalBleFilter.nameMatches(scanFilter, device2), - isTrue, - ); - expect( - universalBleFilter.nameMatches(scanFilter, device3), - isFalse, - ); - }); - - test('Test isServicesMatchingFilters', () { - var scanFilter = ScanFilter( - withServices: ['1_ser', 'random', '3_ser'], - ); - expect( - universalBleFilter.servicesMatch(scanFilter, device1), - isTrue, - ); - expect( - universalBleFilter.servicesMatch(scanFilter, device2), - isFalse, - ); - expect( - universalBleFilter.nameMatches(scanFilter, device3), - isTrue, - ); - }); - - test('Test isManufacturerDataMatchingFilters', () { - var scanFilter = ScanFilter(withManufacturerData: [ - ManufacturerDataFilter( - companyIdentifier: 0x01, - payloadPrefix: Uint8List.fromList([1, 2]), - ), - ManufacturerDataFilter( - companyIdentifier: 0x02, - ), - ManufacturerDataFilter( - companyIdentifier: 0x03, - payloadPrefix: Uint8List.fromList([3, 4]), - ) - ]); - expect( - universalBleFilter.manufacturerDataMatches( - scanFilter, - device1, - ), - isTrue, - ); - expect( - universalBleFilter.manufacturerDataMatches( - scanFilter, - device2, - ), - isTrue, - ); - expect( - universalBleFilter.manufacturerDataMatches( - scanFilter, - device3, - ), - isFalse, - ); - }); - }); - - group("Test Scan Filter", () { - test('Test filterDevice: Have filter for all', () { - universalBleFilter.scanFilter = ScanFilter( - withNamePrefix: ['1'], - withServices: ['3_ser'], - withManufacturerData: [ - ManufacturerDataFilter( - companyIdentifier: 0x02, - ) - ], - ); - expect( - universalBleFilter.matchesDevice(device1), - isTrue, - ); - expect( - universalBleFilter.matchesDevice(device2), - isTrue, - ); - expect( - universalBleFilter.matchesDevice(device3), - isTrue, - ); - }); - test('Test filterDevice: Filter for one', () { - universalBleFilter.scanFilter = ScanFilter( - withNamePrefix: ['1'], - ); - expect( - universalBleFilter.matchesDevice(device1), - isTrue, - ); - expect( - universalBleFilter.matchesDevice(device2), - isFalse, - ); - expect( - universalBleFilter.matchesDevice(device3), - isFalse, - ); - }); - test('Test filterDevice: Filter for two', () { - universalBleFilter.scanFilter = ScanFilter( - withNamePrefix: ['1', '2'], - ); - expect( - universalBleFilter.matchesDevice(device1), - isTrue, - ); - expect( - universalBleFilter.matchesDevice(device2), - isTrue, - ); - expect( - universalBleFilter.matchesDevice(device3), - isFalse, - ); - }); - test('Test filterDevice: Empty Filter', () { - universalBleFilter.scanFilter = ScanFilter(); - expect( - universalBleFilter.matchesDevice(device1), - isTrue, - ); - expect( - universalBleFilter.matchesDevice(device2), - isTrue, - ); - expect( - universalBleFilter.matchesDevice(device3), - isTrue, - ); - }); - test('Test filterDevice: Null Filter', () { - universalBleFilter.scanFilter = ScanFilter(); - expect( - universalBleFilter.matchesDevice(device1), - isTrue, - ); - expect( - universalBleFilter.matchesDevice(device2), - isTrue, - ); - expect( - universalBleFilter.matchesDevice(device3), - isTrue, - ); - }); - }); -} diff --git a/universal_ble/windows/.gitignore b/universal_ble/windows/.gitignore deleted file mode 100644 index b3eb2be16..000000000 --- a/universal_ble/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ - -# Visual Studio user-specific files. -*.suo -*.user -*.userosscache -*.sln.docstates - -# Visual Studio build-related files. -x64/ -x86/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ diff --git a/universal_ble/windows/CMakeLists.txt b/universal_ble/windows/CMakeLists.txt deleted file mode 100644 index 3c2854e36..000000000 --- a/universal_ble/windows/CMakeLists.txt +++ /dev/null @@ -1,80 +0,0 @@ -cmake_minimum_required(VERSION 3.21) -set(PROJECT_NAME "universal_ble") -project(${PROJECT_NAME} LANGUAGES CXX) -cmake_policy(VERSION 3.14...3.25) -include(FetchContent) -set(CPPWINRT_VERSION "2.0.220418.1") -set(PLUGIN_NAME "universal_ble_plugin") - -# ############### NuGet intall begin ################ -FetchContent_Declare(nuget - URL "https://dist.nuget.org/win-x86-commandline/v6.0.0/nuget.exe" - URL_HASH SHA256=04eb6c4fe4213907e2773e1be1bbbd730e9a655a3c9c58387ce8d4a714a5b9e1 - DOWNLOAD_NO_EXTRACT true -) - -find_program(NUGET nuget) - -if(NOT NUGET) - # message("Nuget.exe not found, trying to download or use cached version.") - FetchContent_MakeAvailable(nuget) - set(NUGET ${nuget_SOURCE_DIR}/nuget.exe) -endif() - -execute_process(COMMAND - ${NUGET} install "Microsoft.Windows.CppWinRT" -Version ${CPPWINRT_VERSION} -OutputDirectory packages - WORKING_DIRECTORY ${CMAKE_BINARY_DIR} - RESULT_VARIABLE ret) - -if(NOT ret EQUAL 0) - message(FATAL_ERROR "Failed to install nuget package Microsoft.Windows.CppWinRT.${CPPWINRT_VERSION}") -endif() - -# ############### NuGet install end ################ -list(APPEND PLUGIN_SOURCES - "src/universal_ble_plugin.cpp" - "src/universal_ble_plugin.h" - "src/helper/universal_enum.h" - "src/helper/universal_ble_base.h" - "src/helper/utils.cpp" - "src/helper/utils.h" - "src/ui_thread_handler.hpp" - "src/generated/universal_ble.g.cpp" - "src/generated/universal_ble.g.h" - "src/pin_entry.h" - "src/universal_ble_filter_util.cpp" - "src/universal_ble_filter_util.h" - "src/universal_ble_thread_safe.h" - "src/enum_parser.h" -) - -add_library(${PLUGIN_NAME} SHARED - "include/universal_ble/universal_ble_plugin_c_api.h" - "universal_ble_plugin_c_api.cpp" - ${PLUGIN_SOURCES} -) - -apply_standard_settings(${PLUGIN_NAME}) - -# ############### NuGet import begin ################ -set_target_properties(${PLUGIN_NAME} PROPERTIES VS_PROJECT_IMPORT - ${CMAKE_BINARY_DIR}/packages/Microsoft.Windows.CppWinRT.${CPPWINRT_VERSION}/build/native/Microsoft.Windows.CppWinRT.props -) - -target_link_libraries(${PLUGIN_NAME} PRIVATE - ${CMAKE_BINARY_DIR}/packages/Microsoft.Windows.CppWinRT.${CPPWINRT_VERSION}/build/native/Microsoft.Windows.CppWinRT.targets -) - -# ############### NuGet import end ################ -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) - -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PRIVATE flutter flutter_wrapper_plugin) - -set(universal_ble_bundled_libraries - "" - PARENT_SCOPE -) diff --git a/universal_ble/windows/include/universal_ble/universal_ble_plugin_c_api.h b/universal_ble/windows/include/universal_ble/universal_ble_plugin_c_api.h deleted file mode 100644 index 37dd65390..000000000 --- a/universal_ble/windows/include/universal_ble/universal_ble_plugin_c_api.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_C_API_H_ -#define FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_C_API_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void UniversalBlePluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_C_API_H_ diff --git a/universal_ble/windows/src/enum_parser.h b/universal_ble/windows/src/enum_parser.h deleted file mode 100644 index eb7899a21..000000000 --- a/universal_ble/windows/src/enum_parser.h +++ /dev/null @@ -1,127 +0,0 @@ -#pragma once - -#include - -namespace universal_ble -{ - inline std::string device_watcher_status_to_string(const DeviceWatcherStatus result) - { - switch (result) - { - case DeviceWatcherStatus::Created: return "Created"; - case DeviceWatcherStatus::Aborted: return "Aborted"; - case DeviceWatcherStatus::EnumerationCompleted: return "EnumerationCompleted"; - case DeviceWatcherStatus::Started: return "Started"; - case DeviceWatcherStatus::Stopped: return "Stopped"; - case DeviceWatcherStatus::Stopping: return "Stopping"; - } - return ""; - } - - inline std::optional gatt_communication_status_to_error(const GattCommunicationStatus result) - { - switch (result) - { - case GattCommunicationStatus::Success: return std::nullopt; - case GattCommunicationStatus::Unreachable: return "Unreachable"; - case GattCommunicationStatus::ProtocolError: return "ProtocolError"; - case GattCommunicationStatus::AccessDenied: return "AccessDenied"; - } - return std::nullopt; - } - - - - inline std::optional device_unpairing_result_to_string(const DeviceUnpairingResultStatus result) - { - switch (result) - { - case DeviceUnpairingResultStatus::Failed: return "Failed to unpair device"; - case DeviceUnpairingResultStatus::AccessDenied: return "Access denied"; - case DeviceUnpairingResultStatus::AlreadyUnpaired: return "Device is already unpaired"; - case DeviceUnpairingResultStatus::OperationAlreadyInProgress: return "OperationAlreadyInProgress"; - case DeviceUnpairingResultStatus::Unpaired: return std::nullopt; - - } - return std::nullopt; - } - - inline std::optional parse_pairing_fail_error(const DevicePairingResult& result) - { - switch (result.Status()) - { - case DevicePairingResultStatus::Paired: return std::nullopt; - case DevicePairingResultStatus::AlreadyPaired: return "AlreadyPaired"; - case DevicePairingResultStatus::ConnectionRejected: return "ConnectionRejected"; - case DevicePairingResultStatus::NotPaired: return "NotPaired"; - case DevicePairingResultStatus::NotReadyToPair: return "NotReadyToPair"; - case DevicePairingResultStatus::TooManyConnections: return "TooManyConnections"; - case DevicePairingResultStatus::HardwareFailure: return "HardwareFailure"; - case DevicePairingResultStatus::AuthenticationTimeout: return "AuthenticationTimeout"; - case DevicePairingResultStatus::AuthenticationNotAllowed: return "AuthenticationNotAllowed"; - case DevicePairingResultStatus::AuthenticationFailure: return "AuthenticationFailure"; - case DevicePairingResultStatus::NoSupportedProfiles: return "NoSupportedProfiles"; - case DevicePairingResultStatus::ProtectionLevelCouldNotBeMet: return "ProtectionLevelCouldNotBeMet"; - case DevicePairingResultStatus::AccessDenied: return "AccessDenied"; - case DevicePairingResultStatus::InvalidCeremonyData: return "InvalidCeremonyData"; - case DevicePairingResultStatus::PairingCanceled: return "PairingCanceled"; - case DevicePairingResultStatus::OperationAlreadyInProgress: return "OperationAlreadyInProgress"; - case DevicePairingResultStatus::RequiredHandlerNotRegistered: return "RequiredHandlerNotRegistered"; - case DevicePairingResultStatus::RejectedByHandler: return "RejectedByHandler"; - case DevicePairingResultStatus::RemoteDeviceHasAssociation: return "RemoteDeviceHasAssociation"; - default: return "Failed to pair"; - } - } - - - inline AvailabilityState get_availability_state_from_radio(const RadioState radio_state) - { - switch (radio_state) - { - case RadioState::On: return AvailabilityState::poweredOn; - case RadioState::Off: return AvailabilityState::poweredOff; - case RadioState::Disabled: return AvailabilityState::unsupported; - case RadioState::Unknown: return AvailabilityState::unknown; - } - return AvailabilityState::unknown; - } - - inline flutter::EncodableList properties_to_flutter_encodable (const GattCharacteristicProperties properties_value) - { - auto properties = flutter::EncodableList(); - if ((properties_value & GattCharacteristicProperties::Broadcast) != GattCharacteristicProperties::None) - { - properties.push_back(static_cast(CharacteristicProperty::broadcast)); - } - if ((properties_value & GattCharacteristicProperties::Read) != GattCharacteristicProperties::None) - { - properties.push_back(static_cast(CharacteristicProperty::read)); - } - if ((properties_value & GattCharacteristicProperties::Write) != GattCharacteristicProperties::None) - { - properties.push_back(static_cast(CharacteristicProperty::write)); - } - if ((properties_value & GattCharacteristicProperties::WriteWithoutResponse) != GattCharacteristicProperties::None) - { - properties.push_back(static_cast(CharacteristicProperty::writeWithoutResponse)); - } - if ((properties_value & GattCharacteristicProperties::Notify) != GattCharacteristicProperties::None) - { - properties.push_back(static_cast(CharacteristicProperty::notify)); - } - if ((properties_value & GattCharacteristicProperties::Indicate) != GattCharacteristicProperties::None) - { - properties.push_back(static_cast(CharacteristicProperty::indicate)); - } - if ((properties_value & GattCharacteristicProperties::AuthenticatedSignedWrites) != GattCharacteristicProperties::None) - { - properties.push_back(static_cast(CharacteristicProperty::authenticatedSignedWrites)); - } - if ((properties_value & GattCharacteristicProperties::ExtendedProperties) != GattCharacteristicProperties::None) - { - properties.push_back(static_cast(CharacteristicProperty::extendedProperties)); - } - return properties; - } - -} diff --git a/universal_ble/windows/src/generated/universal_ble.g.cpp b/universal_ble/windows/src/generated/universal_ble.g.cpp deleted file mode 100644 index 46ed50374..000000000 --- a/universal_ble/windows/src/generated/universal_ble.g.cpp +++ /dev/null @@ -1,1190 +0,0 @@ -// Autogenerated from Pigeon (v22.6.1), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#undef _HAS_EXCEPTIONS - -#include "universal_ble.g.h" - -#include -#include -#include -#include - -#include -#include -#include - -namespace universal_ble { -using flutter::BasicMessageChannel; -using flutter::CustomEncodableValue; -using flutter::EncodableList; -using flutter::EncodableMap; -using flutter::EncodableValue; - -FlutterError CreateConnectionError(const std::string channel_name) { - return FlutterError( - "channel-error", - "Unable to establish connection on channel: '" + channel_name + "'.", - EncodableValue("")); -} - -// UniversalBleScanResult - -UniversalBleScanResult::UniversalBleScanResult(const std::string& device_id) - : device_id_(device_id) {} - -UniversalBleScanResult::UniversalBleScanResult( - const std::string& device_id, - const std::string* name, - const bool* is_paired, - const int64_t* rssi, - const EncodableList* manufacturer_data_list, - const EncodableList* services) - : device_id_(device_id), - name_(name ? std::optional(*name) : std::nullopt), - is_paired_(is_paired ? std::optional(*is_paired) : std::nullopt), - rssi_(rssi ? std::optional(*rssi) : std::nullopt), - manufacturer_data_list_(manufacturer_data_list ? std::optional(*manufacturer_data_list) : std::nullopt), - services_(services ? std::optional(*services) : std::nullopt) {} - -const std::string& UniversalBleScanResult::device_id() const { - return device_id_; -} - -void UniversalBleScanResult::set_device_id(std::string_view value_arg) { - device_id_ = value_arg; -} - - -const std::string* UniversalBleScanResult::name() const { - return name_ ? &(*name_) : nullptr; -} - -void UniversalBleScanResult::set_name(const std::string_view* value_arg) { - name_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void UniversalBleScanResult::set_name(std::string_view value_arg) { - name_ = value_arg; -} - - -const bool* UniversalBleScanResult::is_paired() const { - return is_paired_ ? &(*is_paired_) : nullptr; -} - -void UniversalBleScanResult::set_is_paired(const bool* value_arg) { - is_paired_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void UniversalBleScanResult::set_is_paired(bool value_arg) { - is_paired_ = value_arg; -} - - -const int64_t* UniversalBleScanResult::rssi() const { - return rssi_ ? &(*rssi_) : nullptr; -} - -void UniversalBleScanResult::set_rssi(const int64_t* value_arg) { - rssi_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void UniversalBleScanResult::set_rssi(int64_t value_arg) { - rssi_ = value_arg; -} - - -const EncodableList* UniversalBleScanResult::manufacturer_data_list() const { - return manufacturer_data_list_ ? &(*manufacturer_data_list_) : nullptr; -} - -void UniversalBleScanResult::set_manufacturer_data_list(const EncodableList* value_arg) { - manufacturer_data_list_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void UniversalBleScanResult::set_manufacturer_data_list(const EncodableList& value_arg) { - manufacturer_data_list_ = value_arg; -} - - -const EncodableList* UniversalBleScanResult::services() const { - return services_ ? &(*services_) : nullptr; -} - -void UniversalBleScanResult::set_services(const EncodableList* value_arg) { - services_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void UniversalBleScanResult::set_services(const EncodableList& value_arg) { - services_ = value_arg; -} - - -EncodableList UniversalBleScanResult::ToEncodableList() const { - EncodableList list; - list.reserve(6); - list.push_back(EncodableValue(device_id_)); - list.push_back(name_ ? EncodableValue(*name_) : EncodableValue()); - list.push_back(is_paired_ ? EncodableValue(*is_paired_) : EncodableValue()); - list.push_back(rssi_ ? EncodableValue(*rssi_) : EncodableValue()); - list.push_back(manufacturer_data_list_ ? EncodableValue(*manufacturer_data_list_) : EncodableValue()); - list.push_back(services_ ? EncodableValue(*services_) : EncodableValue()); - return list; -} - -UniversalBleScanResult UniversalBleScanResult::FromEncodableList(const EncodableList& list) { - UniversalBleScanResult decoded( - std::get(list[0])); - auto& encodable_name = list[1]; - if (!encodable_name.IsNull()) { - decoded.set_name(std::get(encodable_name)); - } - auto& encodable_is_paired = list[2]; - if (!encodable_is_paired.IsNull()) { - decoded.set_is_paired(std::get(encodable_is_paired)); - } - auto& encodable_rssi = list[3]; - if (!encodable_rssi.IsNull()) { - decoded.set_rssi(std::get(encodable_rssi)); - } - auto& encodable_manufacturer_data_list = list[4]; - if (!encodable_manufacturer_data_list.IsNull()) { - decoded.set_manufacturer_data_list(std::get(encodable_manufacturer_data_list)); - } - auto& encodable_services = list[5]; - if (!encodable_services.IsNull()) { - decoded.set_services(std::get(encodable_services)); - } - return decoded; -} - -// UniversalBleService - -UniversalBleService::UniversalBleService(const std::string& uuid) - : uuid_(uuid) {} - -UniversalBleService::UniversalBleService( - const std::string& uuid, - const EncodableList* characteristics) - : uuid_(uuid), - characteristics_(characteristics ? std::optional(*characteristics) : std::nullopt) {} - -const std::string& UniversalBleService::uuid() const { - return uuid_; -} - -void UniversalBleService::set_uuid(std::string_view value_arg) { - uuid_ = value_arg; -} - - -const EncodableList* UniversalBleService::characteristics() const { - return characteristics_ ? &(*characteristics_) : nullptr; -} - -void UniversalBleService::set_characteristics(const EncodableList* value_arg) { - characteristics_ = value_arg ? std::optional(*value_arg) : std::nullopt; -} - -void UniversalBleService::set_characteristics(const EncodableList& value_arg) { - characteristics_ = value_arg; -} - - -EncodableList UniversalBleService::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(EncodableValue(uuid_)); - list.push_back(characteristics_ ? EncodableValue(*characteristics_) : EncodableValue()); - return list; -} - -UniversalBleService UniversalBleService::FromEncodableList(const EncodableList& list) { - UniversalBleService decoded( - std::get(list[0])); - auto& encodable_characteristics = list[1]; - if (!encodable_characteristics.IsNull()) { - decoded.set_characteristics(std::get(encodable_characteristics)); - } - return decoded; -} - -// UniversalBleCharacteristic - -UniversalBleCharacteristic::UniversalBleCharacteristic( - const std::string& uuid, - const EncodableList& properties) - : uuid_(uuid), - properties_(properties) {} - -const std::string& UniversalBleCharacteristic::uuid() const { - return uuid_; -} - -void UniversalBleCharacteristic::set_uuid(std::string_view value_arg) { - uuid_ = value_arg; -} - - -const EncodableList& UniversalBleCharacteristic::properties() const { - return properties_; -} - -void UniversalBleCharacteristic::set_properties(const EncodableList& value_arg) { - properties_ = value_arg; -} - - -EncodableList UniversalBleCharacteristic::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(EncodableValue(uuid_)); - list.push_back(EncodableValue(properties_)); - return list; -} - -UniversalBleCharacteristic UniversalBleCharacteristic::FromEncodableList(const EncodableList& list) { - UniversalBleCharacteristic decoded( - std::get(list[0]), - std::get(list[1])); - return decoded; -} - -// UniversalScanFilter - -UniversalScanFilter::UniversalScanFilter( - const EncodableList& with_services, - const EncodableList& with_name_prefix, - const EncodableList& with_manufacturer_data) - : with_services_(with_services), - with_name_prefix_(with_name_prefix), - with_manufacturer_data_(with_manufacturer_data) {} - -const EncodableList& UniversalScanFilter::with_services() const { - return with_services_; -} - -void UniversalScanFilter::set_with_services(const EncodableList& value_arg) { - with_services_ = value_arg; -} - - -const EncodableList& UniversalScanFilter::with_name_prefix() const { - return with_name_prefix_; -} - -void UniversalScanFilter::set_with_name_prefix(const EncodableList& value_arg) { - with_name_prefix_ = value_arg; -} - - -const EncodableList& UniversalScanFilter::with_manufacturer_data() const { - return with_manufacturer_data_; -} - -void UniversalScanFilter::set_with_manufacturer_data(const EncodableList& value_arg) { - with_manufacturer_data_ = value_arg; -} - - -EncodableList UniversalScanFilter::ToEncodableList() const { - EncodableList list; - list.reserve(3); - list.push_back(EncodableValue(with_services_)); - list.push_back(EncodableValue(with_name_prefix_)); - list.push_back(EncodableValue(with_manufacturer_data_)); - return list; -} - -UniversalScanFilter UniversalScanFilter::FromEncodableList(const EncodableList& list) { - UniversalScanFilter decoded( - std::get(list[0]), - std::get(list[1]), - std::get(list[2])); - return decoded; -} - -// UniversalManufacturerDataFilter - -UniversalManufacturerDataFilter::UniversalManufacturerDataFilter(int64_t company_identifier) - : company_identifier_(company_identifier) {} - -UniversalManufacturerDataFilter::UniversalManufacturerDataFilter( - int64_t company_identifier, - const std::vector* data, - const std::vector* mask) - : company_identifier_(company_identifier), - data_(data ? std::optional>(*data) : std::nullopt), - mask_(mask ? std::optional>(*mask) : std::nullopt) {} - -int64_t UniversalManufacturerDataFilter::company_identifier() const { - return company_identifier_; -} - -void UniversalManufacturerDataFilter::set_company_identifier(int64_t value_arg) { - company_identifier_ = value_arg; -} - - -const std::vector* UniversalManufacturerDataFilter::data() const { - return data_ ? &(*data_) : nullptr; -} - -void UniversalManufacturerDataFilter::set_data(const std::vector* value_arg) { - data_ = value_arg ? std::optional>(*value_arg) : std::nullopt; -} - -void UniversalManufacturerDataFilter::set_data(const std::vector& value_arg) { - data_ = value_arg; -} - - -const std::vector* UniversalManufacturerDataFilter::mask() const { - return mask_ ? &(*mask_) : nullptr; -} - -void UniversalManufacturerDataFilter::set_mask(const std::vector* value_arg) { - mask_ = value_arg ? std::optional>(*value_arg) : std::nullopt; -} - -void UniversalManufacturerDataFilter::set_mask(const std::vector& value_arg) { - mask_ = value_arg; -} - - -EncodableList UniversalManufacturerDataFilter::ToEncodableList() const { - EncodableList list; - list.reserve(3); - list.push_back(EncodableValue(company_identifier_)); - list.push_back(data_ ? EncodableValue(*data_) : EncodableValue()); - list.push_back(mask_ ? EncodableValue(*mask_) : EncodableValue()); - return list; -} - -UniversalManufacturerDataFilter UniversalManufacturerDataFilter::FromEncodableList(const EncodableList& list) { - UniversalManufacturerDataFilter decoded( - std::get(list[0])); - auto& encodable_data = list[1]; - if (!encodable_data.IsNull()) { - decoded.set_data(std::get>(encodable_data)); - } - auto& encodable_mask = list[2]; - if (!encodable_mask.IsNull()) { - decoded.set_mask(std::get>(encodable_mask)); - } - return decoded; -} - -// UniversalManufacturerData - -UniversalManufacturerData::UniversalManufacturerData( - int64_t company_identifier, - const std::vector& data) - : company_identifier_(company_identifier), - data_(data) {} - -int64_t UniversalManufacturerData::company_identifier() const { - return company_identifier_; -} - -void UniversalManufacturerData::set_company_identifier(int64_t value_arg) { - company_identifier_ = value_arg; -} - - -const std::vector& UniversalManufacturerData::data() const { - return data_; -} - -void UniversalManufacturerData::set_data(const std::vector& value_arg) { - data_ = value_arg; -} - - -EncodableList UniversalManufacturerData::ToEncodableList() const { - EncodableList list; - list.reserve(2); - list.push_back(EncodableValue(company_identifier_)); - list.push_back(EncodableValue(data_)); - return list; -} - -UniversalManufacturerData UniversalManufacturerData::FromEncodableList(const EncodableList& list) { - UniversalManufacturerData decoded( - std::get(list[0]), - std::get>(list[1])); - return decoded; -} - - -PigeonInternalCodecSerializer::PigeonInternalCodecSerializer() {} - -EncodableValue PigeonInternalCodecSerializer::ReadValueOfType( - uint8_t type, - flutter::ByteStreamReader* stream) const { - switch (type) { - case 129: { - return CustomEncodableValue(UniversalBleScanResult::FromEncodableList(std::get(ReadValue(stream)))); - } - case 130: { - return CustomEncodableValue(UniversalBleService::FromEncodableList(std::get(ReadValue(stream)))); - } - case 131: { - return CustomEncodableValue(UniversalBleCharacteristic::FromEncodableList(std::get(ReadValue(stream)))); - } - case 132: { - return CustomEncodableValue(UniversalScanFilter::FromEncodableList(std::get(ReadValue(stream)))); - } - case 133: { - return CustomEncodableValue(UniversalManufacturerDataFilter::FromEncodableList(std::get(ReadValue(stream)))); - } - case 134: { - return CustomEncodableValue(UniversalManufacturerData::FromEncodableList(std::get(ReadValue(stream)))); - } - default: - return flutter::StandardCodecSerializer::ReadValueOfType(type, stream); - } -} - -void PigeonInternalCodecSerializer::WriteValue( - const EncodableValue& value, - flutter::ByteStreamWriter* stream) const { - if (const CustomEncodableValue* custom_value = std::get_if(&value)) { - if (custom_value->type() == typeid(UniversalBleScanResult)) { - stream->WriteByte(129); - WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); - return; - } - if (custom_value->type() == typeid(UniversalBleService)) { - stream->WriteByte(130); - WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); - return; - } - if (custom_value->type() == typeid(UniversalBleCharacteristic)) { - stream->WriteByte(131); - WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); - return; - } - if (custom_value->type() == typeid(UniversalScanFilter)) { - stream->WriteByte(132); - WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); - return; - } - if (custom_value->type() == typeid(UniversalManufacturerDataFilter)) { - stream->WriteByte(133); - WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); - return; - } - if (custom_value->type() == typeid(UniversalManufacturerData)) { - stream->WriteByte(134); - WriteValue(EncodableValue(std::any_cast(*custom_value).ToEncodableList()), stream); - return; - } - } - flutter::StandardCodecSerializer::WriteValue(value, stream); -} - -/// The codec used by UniversalBlePlatformChannel. -const flutter::StandardMessageCodec& UniversalBlePlatformChannel::GetCodec() { - return flutter::StandardMessageCodec::GetInstance(&PigeonInternalCodecSerializer::GetInstance()); -} - -// Sets up an instance of `UniversalBlePlatformChannel` to handle messages through the `binary_messenger`. -void UniversalBlePlatformChannel::SetUp( - flutter::BinaryMessenger* binary_messenger, - UniversalBlePlatformChannel* api) { - UniversalBlePlatformChannel::SetUp(binary_messenger, api, ""); -} - -void UniversalBlePlatformChannel::SetUp( - flutter::BinaryMessenger* binary_messenger, - UniversalBlePlatformChannel* api, - const std::string& message_channel_suffix) { - const std::string prepended_suffix = message_channel_suffix.length() > 0 ? std::string(".") + message_channel_suffix : ""; - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getBluetoothAvailabilityState" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - api->GetBluetoothAvailabilityState([reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.enableBluetooth" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - api->EnableBluetooth([reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disableBluetooth" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - api->DisableBluetooth([reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.startScan" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_filter_arg = args.at(0); - const auto* filter_arg = encodable_filter_arg.IsNull() ? nullptr : &(std::any_cast(std::get(encodable_filter_arg))); - std::optional output = api->StartScan(filter_arg); - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.stopScan" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - std::optional output = api->StopScan(); - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.connect" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - std::optional output = api->Connect(device_id_arg); - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.disconnect" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - std::optional output = api->Disconnect(device_id_arg); - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.setNotifiable" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - const auto& encodable_service_arg = args.at(1); - if (encodable_service_arg.IsNull()) { - reply(WrapError("service_arg unexpectedly null.")); - return; - } - const auto& service_arg = std::get(encodable_service_arg); - const auto& encodable_characteristic_arg = args.at(2); - if (encodable_characteristic_arg.IsNull()) { - reply(WrapError("characteristic_arg unexpectedly null.")); - return; - } - const auto& characteristic_arg = std::get(encodable_characteristic_arg); - const auto& encodable_ble_input_property_arg = args.at(3); - if (encodable_ble_input_property_arg.IsNull()) { - reply(WrapError("ble_input_property_arg unexpectedly null.")); - return; - } - const int64_t ble_input_property_arg = encodable_ble_input_property_arg.LongValue(); - api->SetNotifiable(device_id_arg, service_arg, characteristic_arg, ble_input_property_arg, [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.discoverServices" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - api->DiscoverServices(device_id_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.readValue" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - const auto& encodable_service_arg = args.at(1); - if (encodable_service_arg.IsNull()) { - reply(WrapError("service_arg unexpectedly null.")); - return; - } - const auto& service_arg = std::get(encodable_service_arg); - const auto& encodable_characteristic_arg = args.at(2); - if (encodable_characteristic_arg.IsNull()) { - reply(WrapError("characteristic_arg unexpectedly null.")); - return; - } - const auto& characteristic_arg = std::get(encodable_characteristic_arg); - api->ReadValue(device_id_arg, service_arg, characteristic_arg, [reply](ErrorOr>&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.requestMtu" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - const auto& encodable_expected_mtu_arg = args.at(1); - if (encodable_expected_mtu_arg.IsNull()) { - reply(WrapError("expected_mtu_arg unexpectedly null.")); - return; - } - const int64_t expected_mtu_arg = encodable_expected_mtu_arg.LongValue(); - api->RequestMtu(device_id_arg, expected_mtu_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.writeValue" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - const auto& encodable_service_arg = args.at(1); - if (encodable_service_arg.IsNull()) { - reply(WrapError("service_arg unexpectedly null.")); - return; - } - const auto& service_arg = std::get(encodable_service_arg); - const auto& encodable_characteristic_arg = args.at(2); - if (encodable_characteristic_arg.IsNull()) { - reply(WrapError("characteristic_arg unexpectedly null.")); - return; - } - const auto& characteristic_arg = std::get(encodable_characteristic_arg); - const auto& encodable_value_arg = args.at(3); - if (encodable_value_arg.IsNull()) { - reply(WrapError("value_arg unexpectedly null.")); - return; - } - const auto& value_arg = std::get>(encodable_value_arg); - const auto& encodable_ble_output_property_arg = args.at(4); - if (encodable_ble_output_property_arg.IsNull()) { - reply(WrapError("ble_output_property_arg unexpectedly null.")); - return; - } - const int64_t ble_output_property_arg = encodable_ble_output_property_arg.LongValue(); - api->WriteValue(device_id_arg, service_arg, characteristic_arg, value_arg, ble_output_property_arg, [reply](std::optional&& output) { - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.isPaired" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - api->IsPaired(device_id_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.pair" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - api->Pair(device_id_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.unPair" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - std::optional output = api->UnPair(device_id_arg); - if (output.has_value()) { - reply(WrapError(output.value())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue()); - reply(EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getSystemDevices" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_with_services_arg = args.at(0); - if (encodable_with_services_arg.IsNull()) { - reply(WrapError("with_services_arg unexpectedly null.")); - return; - } - const auto& with_services_arg = std::get(encodable_with_services_arg); - api->GetSystemDevices(with_services_arg, [reply](ErrorOr&& output) { - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - }); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } - { - BasicMessageChannel<> channel(binary_messenger, "dev.flutter.pigeon.universal_ble.UniversalBlePlatformChannel.getConnectionState" + prepended_suffix, &GetCodec()); - if (api != nullptr) { - channel.SetMessageHandler([api](const EncodableValue& message, const flutter::MessageReply& reply) { - try { - const auto& args = std::get(message); - const auto& encodable_device_id_arg = args.at(0); - if (encodable_device_id_arg.IsNull()) { - reply(WrapError("device_id_arg unexpectedly null.")); - return; - } - const auto& device_id_arg = std::get(encodable_device_id_arg); - ErrorOr output = api->GetConnectionState(device_id_arg); - if (output.has_error()) { - reply(WrapError(output.error())); - return; - } - EncodableList wrapped; - wrapped.push_back(EncodableValue(std::move(output).TakeValue())); - reply(EncodableValue(std::move(wrapped))); - } catch (const std::exception& exception) { - reply(WrapError(exception.what())); - } - }); - } else { - channel.SetMessageHandler(nullptr); - } - } -} - -EncodableValue UniversalBlePlatformChannel::WrapError(std::string_view error_message) { - return EncodableValue(EncodableList{ - EncodableValue(std::string(error_message)), - EncodableValue("Error"), - EncodableValue() - }); -} - -EncodableValue UniversalBlePlatformChannel::WrapError(const FlutterError& error) { - return EncodableValue(EncodableList{ - EncodableValue(error.code()), - EncodableValue(error.message()), - error.details() - }); -} - -// Generated class from Pigeon that represents Flutter messages that can be called from C++. -UniversalBleCallbackChannel::UniversalBleCallbackChannel(flutter::BinaryMessenger* binary_messenger) - : binary_messenger_(binary_messenger), - message_channel_suffix_("") {} - -UniversalBleCallbackChannel::UniversalBleCallbackChannel( - flutter::BinaryMessenger* binary_messenger, - const std::string& message_channel_suffix) - : binary_messenger_(binary_messenger), - message_channel_suffix_(message_channel_suffix.length() > 0 ? std::string(".") + message_channel_suffix : "") {} - -const flutter::StandardMessageCodec& UniversalBleCallbackChannel::GetCodec() { - return flutter::StandardMessageCodec::GetInstance(&PigeonInternalCodecSerializer::GetInstance()); -} - -void UniversalBleCallbackChannel::OnAvailabilityChanged( - int64_t state_arg, - std::function&& on_success, - std::function&& on_error) { - const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onAvailabilityChanged" + message_channel_suffix_; - BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec()); - EncodableValue encoded_api_arguments = EncodableValue(EncodableList{ - EncodableValue(state_arg), - }); - channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) { - std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size); - const auto& encodable_return_value = *response; - const auto* list_return_value = std::get_if(&encodable_return_value); - if (list_return_value) { - if (list_return_value->size() > 1) { - on_error(FlutterError(std::get(list_return_value->at(0)), std::get(list_return_value->at(1)), list_return_value->at(2))); - } else { - on_success(); - } - } else { - on_error(CreateConnectionError(channel_name)); - } - }); -} - -void UniversalBleCallbackChannel::OnPairStateChange( - const std::string& device_id_arg, - bool is_paired_arg, - const std::string* error_arg, - std::function&& on_success, - std::function&& on_error) { - const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onPairStateChange" + message_channel_suffix_; - BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec()); - EncodableValue encoded_api_arguments = EncodableValue(EncodableList{ - EncodableValue(device_id_arg), - EncodableValue(is_paired_arg), - error_arg ? EncodableValue(*error_arg) : EncodableValue(), - }); - channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) { - std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size); - const auto& encodable_return_value = *response; - const auto* list_return_value = std::get_if(&encodable_return_value); - if (list_return_value) { - if (list_return_value->size() > 1) { - on_error(FlutterError(std::get(list_return_value->at(0)), std::get(list_return_value->at(1)), list_return_value->at(2))); - } else { - on_success(); - } - } else { - on_error(CreateConnectionError(channel_name)); - } - }); -} - -void UniversalBleCallbackChannel::OnScanResult( - const UniversalBleScanResult& result_arg, - std::function&& on_success, - std::function&& on_error) { - const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onScanResult" + message_channel_suffix_; - BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec()); - EncodableValue encoded_api_arguments = EncodableValue(EncodableList{ - CustomEncodableValue(result_arg), - }); - channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) { - std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size); - const auto& encodable_return_value = *response; - const auto* list_return_value = std::get_if(&encodable_return_value); - if (list_return_value) { - if (list_return_value->size() > 1) { - on_error(FlutterError(std::get(list_return_value->at(0)), std::get(list_return_value->at(1)), list_return_value->at(2))); - } else { - on_success(); - } - } else { - on_error(CreateConnectionError(channel_name)); - } - }); -} - -void UniversalBleCallbackChannel::OnValueChanged( - const std::string& device_id_arg, - const std::string& characteristic_id_arg, - const std::vector& value_arg, - std::function&& on_success, - std::function&& on_error) { - const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onValueChanged" + message_channel_suffix_; - BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec()); - EncodableValue encoded_api_arguments = EncodableValue(EncodableList{ - EncodableValue(device_id_arg), - EncodableValue(characteristic_id_arg), - EncodableValue(value_arg), - }); - channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) { - std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size); - const auto& encodable_return_value = *response; - const auto* list_return_value = std::get_if(&encodable_return_value); - if (list_return_value) { - if (list_return_value->size() > 1) { - on_error(FlutterError(std::get(list_return_value->at(0)), std::get(list_return_value->at(1)), list_return_value->at(2))); - } else { - on_success(); - } - } else { - on_error(CreateConnectionError(channel_name)); - } - }); -} - -void UniversalBleCallbackChannel::OnConnectionChanged( - const std::string& device_id_arg, - bool connected_arg, - const std::string* error_arg, - std::function&& on_success, - std::function&& on_error) { - const std::string channel_name = "dev.flutter.pigeon.universal_ble.UniversalBleCallbackChannel.onConnectionChanged" + message_channel_suffix_; - BasicMessageChannel<> channel(binary_messenger_, channel_name, &GetCodec()); - EncodableValue encoded_api_arguments = EncodableValue(EncodableList{ - EncodableValue(device_id_arg), - EncodableValue(connected_arg), - error_arg ? EncodableValue(*error_arg) : EncodableValue(), - }); - channel.Send(encoded_api_arguments, [channel_name, on_success = std::move(on_success), on_error = std::move(on_error)](const uint8_t* reply, size_t reply_size) { - std::unique_ptr response = GetCodec().DecodeMessage(reply, reply_size); - const auto& encodable_return_value = *response; - const auto* list_return_value = std::get_if(&encodable_return_value); - if (list_return_value) { - if (list_return_value->size() > 1) { - on_error(FlutterError(std::get(list_return_value->at(0)), std::get(list_return_value->at(1)), list_return_value->at(2))); - } else { - on_success(); - } - } else { - on_error(CreateConnectionError(channel_name)); - } - }); -} - -} // namespace universal_ble diff --git a/universal_ble/windows/src/generated/universal_ble.g.h b/universal_ble/windows/src/generated/universal_ble.g.h deleted file mode 100644 index 2a22a7cfe..000000000 --- a/universal_ble/windows/src/generated/universal_ble.g.h +++ /dev/null @@ -1,403 +0,0 @@ -// Autogenerated from Pigeon (v22.6.1), do not edit directly. -// See also: https://pub.dev/packages/pigeon - -#ifndef PIGEON_UNIVERSAL_BLE_G_H_ -#define PIGEON_UNIVERSAL_BLE_G_H_ -#include -#include -#include -#include - -#include -#include -#include - -namespace universal_ble { - - -// Generated class from Pigeon. - -class FlutterError { - public: - explicit FlutterError(const std::string& code) - : code_(code) {} - explicit FlutterError(const std::string& code, const std::string& message) - : code_(code), message_(message) {} - explicit FlutterError(const std::string& code, const std::string& message, const flutter::EncodableValue& details) - : code_(code), message_(message), details_(details) {} - - const std::string& code() const { return code_; } - const std::string& message() const { return message_; } - const flutter::EncodableValue& details() const { return details_; } - - private: - std::string code_; - std::string message_; - flutter::EncodableValue details_; -}; - -template class ErrorOr { - public: - ErrorOr(const T& rhs) : v_(rhs) {} - ErrorOr(const T&& rhs) : v_(std::move(rhs)) {} - ErrorOr(const FlutterError& rhs) : v_(rhs) {} - ErrorOr(const FlutterError&& rhs) : v_(std::move(rhs)) {} - - bool has_error() const { return std::holds_alternative(v_); } - const T& value() const { return std::get(v_); }; - const FlutterError& error() const { return std::get(v_); }; - - private: - friend class UniversalBlePlatformChannel; - friend class UniversalBleCallbackChannel; - ErrorOr() = default; - T TakeValue() && { return std::get(std::move(v_)); } - - std::variant v_; -}; - - - -// Generated class from Pigeon that represents data sent in messages. -class UniversalBleScanResult { - public: - // Constructs an object setting all non-nullable fields. - explicit UniversalBleScanResult(const std::string& device_id); - - // Constructs an object setting all fields. - explicit UniversalBleScanResult( - const std::string& device_id, - const std::string* name, - const bool* is_paired, - const int64_t* rssi, - const flutter::EncodableList* manufacturer_data_list, - const flutter::EncodableList* services); - - const std::string& device_id() const; - void set_device_id(std::string_view value_arg); - - const std::string* name() const; - void set_name(const std::string_view* value_arg); - void set_name(std::string_view value_arg); - - const bool* is_paired() const; - void set_is_paired(const bool* value_arg); - void set_is_paired(bool value_arg); - - const int64_t* rssi() const; - void set_rssi(const int64_t* value_arg); - void set_rssi(int64_t value_arg); - - const flutter::EncodableList* manufacturer_data_list() const; - void set_manufacturer_data_list(const flutter::EncodableList* value_arg); - void set_manufacturer_data_list(const flutter::EncodableList& value_arg); - - const flutter::EncodableList* services() const; - void set_services(const flutter::EncodableList* value_arg); - void set_services(const flutter::EncodableList& value_arg); - - - private: - static UniversalBleScanResult FromEncodableList(const flutter::EncodableList& list); - flutter::EncodableList ToEncodableList() const; - friend class UniversalBlePlatformChannel; - friend class UniversalBleCallbackChannel; - friend class PigeonInternalCodecSerializer; - std::string device_id_; - std::optional name_; - std::optional is_paired_; - std::optional rssi_; - std::optional manufacturer_data_list_; - std::optional services_; - -}; - - -// Generated class from Pigeon that represents data sent in messages. -class UniversalBleService { - public: - // Constructs an object setting all non-nullable fields. - explicit UniversalBleService(const std::string& uuid); - - // Constructs an object setting all fields. - explicit UniversalBleService( - const std::string& uuid, - const flutter::EncodableList* characteristics); - - const std::string& uuid() const; - void set_uuid(std::string_view value_arg); - - const flutter::EncodableList* characteristics() const; - void set_characteristics(const flutter::EncodableList* value_arg); - void set_characteristics(const flutter::EncodableList& value_arg); - - - private: - static UniversalBleService FromEncodableList(const flutter::EncodableList& list); - flutter::EncodableList ToEncodableList() const; - friend class UniversalBlePlatformChannel; - friend class UniversalBleCallbackChannel; - friend class PigeonInternalCodecSerializer; - std::string uuid_; - std::optional characteristics_; - -}; - - -// Generated class from Pigeon that represents data sent in messages. -class UniversalBleCharacteristic { - public: - // Constructs an object setting all fields. - explicit UniversalBleCharacteristic( - const std::string& uuid, - const flutter::EncodableList& properties); - - const std::string& uuid() const; - void set_uuid(std::string_view value_arg); - - const flutter::EncodableList& properties() const; - void set_properties(const flutter::EncodableList& value_arg); - - - private: - static UniversalBleCharacteristic FromEncodableList(const flutter::EncodableList& list); - flutter::EncodableList ToEncodableList() const; - friend class UniversalBlePlatformChannel; - friend class UniversalBleCallbackChannel; - friend class PigeonInternalCodecSerializer; - std::string uuid_; - flutter::EncodableList properties_; - -}; - - -// Scan Filters -// -// Generated class from Pigeon that represents data sent in messages. -class UniversalScanFilter { - public: - // Constructs an object setting all fields. - explicit UniversalScanFilter( - const flutter::EncodableList& with_services, - const flutter::EncodableList& with_name_prefix, - const flutter::EncodableList& with_manufacturer_data); - - const flutter::EncodableList& with_services() const; - void set_with_services(const flutter::EncodableList& value_arg); - - const flutter::EncodableList& with_name_prefix() const; - void set_with_name_prefix(const flutter::EncodableList& value_arg); - - const flutter::EncodableList& with_manufacturer_data() const; - void set_with_manufacturer_data(const flutter::EncodableList& value_arg); - - - private: - static UniversalScanFilter FromEncodableList(const flutter::EncodableList& list); - flutter::EncodableList ToEncodableList() const; - friend class UniversalBlePlatformChannel; - friend class UniversalBleCallbackChannel; - friend class PigeonInternalCodecSerializer; - flutter::EncodableList with_services_; - flutter::EncodableList with_name_prefix_; - flutter::EncodableList with_manufacturer_data_; - -}; - - -// Generated class from Pigeon that represents data sent in messages. -class UniversalManufacturerDataFilter { - public: - // Constructs an object setting all non-nullable fields. - explicit UniversalManufacturerDataFilter(int64_t company_identifier); - - // Constructs an object setting all fields. - explicit UniversalManufacturerDataFilter( - int64_t company_identifier, - const std::vector* data, - const std::vector* mask); - - int64_t company_identifier() const; - void set_company_identifier(int64_t value_arg); - - const std::vector* data() const; - void set_data(const std::vector* value_arg); - void set_data(const std::vector& value_arg); - - const std::vector* mask() const; - void set_mask(const std::vector* value_arg); - void set_mask(const std::vector& value_arg); - - - private: - static UniversalManufacturerDataFilter FromEncodableList(const flutter::EncodableList& list); - flutter::EncodableList ToEncodableList() const; - friend class UniversalBlePlatformChannel; - friend class UniversalBleCallbackChannel; - friend class PigeonInternalCodecSerializer; - int64_t company_identifier_; - std::optional> data_; - std::optional> mask_; - -}; - - -// Generated class from Pigeon that represents data sent in messages. -class UniversalManufacturerData { - public: - // Constructs an object setting all fields. - explicit UniversalManufacturerData( - int64_t company_identifier, - const std::vector& data); - - int64_t company_identifier() const; - void set_company_identifier(int64_t value_arg); - - const std::vector& data() const; - void set_data(const std::vector& value_arg); - - - private: - static UniversalManufacturerData FromEncodableList(const flutter::EncodableList& list); - flutter::EncodableList ToEncodableList() const; - friend class UniversalBlePlatformChannel; - friend class UniversalBleCallbackChannel; - friend class PigeonInternalCodecSerializer; - int64_t company_identifier_; - std::vector data_; - -}; - - -class PigeonInternalCodecSerializer : public flutter::StandardCodecSerializer { - public: - PigeonInternalCodecSerializer(); - inline static PigeonInternalCodecSerializer& GetInstance() { - static PigeonInternalCodecSerializer sInstance; - return sInstance; - } - - void WriteValue( - const flutter::EncodableValue& value, - flutter::ByteStreamWriter* stream) const override; - - protected: - flutter::EncodableValue ReadValueOfType( - uint8_t type, - flutter::ByteStreamReader* stream) const override; - -}; - -// Flutter -> Native -// -// Generated interface from Pigeon that represents a handler of messages from Flutter. -class UniversalBlePlatformChannel { - public: - UniversalBlePlatformChannel(const UniversalBlePlatformChannel&) = delete; - UniversalBlePlatformChannel& operator=(const UniversalBlePlatformChannel&) = delete; - virtual ~UniversalBlePlatformChannel() {} - virtual void GetBluetoothAvailabilityState(std::function reply)> result) = 0; - virtual void EnableBluetooth(std::function reply)> result) = 0; - virtual void DisableBluetooth(std::function reply)> result) = 0; - virtual std::optional StartScan(const UniversalScanFilter* filter) = 0; - virtual std::optional StopScan() = 0; - virtual std::optional Connect(const std::string& device_id) = 0; - virtual std::optional Disconnect(const std::string& device_id) = 0; - virtual void SetNotifiable( - const std::string& device_id, - const std::string& service, - const std::string& characteristic, - int64_t ble_input_property, - std::function reply)> result) = 0; - virtual void DiscoverServices( - const std::string& device_id, - std::function reply)> result) = 0; - virtual void ReadValue( - const std::string& device_id, - const std::string& service, - const std::string& characteristic, - std::function> reply)> result) = 0; - virtual void RequestMtu( - const std::string& device_id, - int64_t expected_mtu, - std::function reply)> result) = 0; - virtual void WriteValue( - const std::string& device_id, - const std::string& service, - const std::string& characteristic, - const std::vector& value, - int64_t ble_output_property, - std::function reply)> result) = 0; - virtual void IsPaired( - const std::string& device_id, - std::function reply)> result) = 0; - virtual void Pair( - const std::string& device_id, - std::function reply)> result) = 0; - virtual std::optional UnPair(const std::string& device_id) = 0; - virtual void GetSystemDevices( - const flutter::EncodableList& with_services, - std::function reply)> result) = 0; - virtual ErrorOr GetConnectionState(const std::string& device_id) = 0; - - // The codec used by UniversalBlePlatformChannel. - static const flutter::StandardMessageCodec& GetCodec(); - // Sets up an instance of `UniversalBlePlatformChannel` to handle messages through the `binary_messenger`. - static void SetUp( - flutter::BinaryMessenger* binary_messenger, - UniversalBlePlatformChannel* api); - static void SetUp( - flutter::BinaryMessenger* binary_messenger, - UniversalBlePlatformChannel* api, - const std::string& message_channel_suffix); - static flutter::EncodableValue WrapError(std::string_view error_message); - static flutter::EncodableValue WrapError(const FlutterError& error); - - protected: - UniversalBlePlatformChannel() = default; - -}; -// Native -> Flutter -// -// Generated class from Pigeon that represents Flutter messages that can be called from C++. -class UniversalBleCallbackChannel { - public: - UniversalBleCallbackChannel(flutter::BinaryMessenger* binary_messenger); - UniversalBleCallbackChannel( - flutter::BinaryMessenger* binary_messenger, - const std::string& message_channel_suffix); - static const flutter::StandardMessageCodec& GetCodec(); - void OnAvailabilityChanged( - int64_t state, - std::function&& on_success, - std::function&& on_error); - void OnPairStateChange( - const std::string& device_id, - bool is_paired, - const std::string* error, - std::function&& on_success, - std::function&& on_error); - void OnScanResult( - const UniversalBleScanResult& result, - std::function&& on_success, - std::function&& on_error); - void OnValueChanged( - const std::string& device_id, - const std::string& characteristic_id, - const std::vector& value, - std::function&& on_success, - std::function&& on_error); - void OnConnectionChanged( - const std::string& device_id, - bool connected, - const std::string* error, - std::function&& on_success, - std::function&& on_error); - - private: - flutter::BinaryMessenger* binary_messenger_; - std::string message_channel_suffix_; -}; - -} // namespace universal_ble -#endif // PIGEON_UNIVERSAL_BLE_G_H_ diff --git a/universal_ble/windows/src/helper/universal_ble_base.h b/universal_ble/windows/src/helper/universal_ble_base.h deleted file mode 100644 index 196761e5a..000000000 --- a/universal_ble/windows/src/helper/universal_ble_base.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace universal_ble -{ - using namespace winrt; - using namespace winrt::Windows; - using namespace winrt::Windows::Devices; - using namespace winrt::Windows::Foundation; - using namespace winrt::Windows::Foundation::Collections; - using namespace winrt::Windows::Storage::Streams; - using namespace winrt::Windows::Devices::Radios; - using namespace winrt::Windows::Devices::Bluetooth; - using namespace winrt::Windows::Devices::Bluetooth::Advertisement; - using namespace winrt::Windows::Devices::Bluetooth::GenericAttributeProfile; - using namespace Windows::Devices::Enumeration; -} \ No newline at end of file diff --git a/universal_ble/windows/src/helper/universal_enum.h b/universal_ble/windows/src/helper/universal_enum.h deleted file mode 100644 index 0d795a857..000000000 --- a/universal_ble/windows/src/helper/universal_enum.h +++ /dev/null @@ -1,81 +0,0 @@ -#pragma once - -namespace universal_ble -{ - - enum class ConnectionState : int - { - connected = 0, - disconnected = 1, - }; - - enum class CharacteristicProperty : int - { - broadcast = 0, - read = 1, - writeWithoutResponse = 2, - write = 3, - notify = 4, - indicate = 5, - authenticatedSignedWrites = 6, - extendedProperties = 7, - }; - - enum class BleInputProperty : int - { - disabled = 0, - notification = 1, - indication = 2, - }; - - enum class BleOutputProperty : int - { - withResponse = 0, - withoutResponse = 1, - }; - - enum class AvailabilityState : int - { - unknown = 0, - resetting = 1, - unsupported = 2, - unauthorized = 3, - poweredOff = 4, - poweredOn = 5, - }; - - enum class AdvertisementSectionType : uint8_t - { - Flags = 0x01, - IncompleteService16BitUuids = 0x02, - CompleteService16BitUuids = 0x03, - IncompleteService32BitUuids = 0x04, - CompleteService32BitUuids = 0x05, - IncompleteService128BitUuids = 0x06, - CompleteService128BitUuids = 0x07, - ShortenedLocalName = 0x08, - CompleteLocalName = 0x09, - TxPowerLevel = 0x0A, - ClassOfDevice = 0x0D, - SimplePairingHashC192 = 0x0E, - SecurityManagerTKValues = 0x10, - SecurityManagerOutOfBandFlags = 0x11, - SlaveConnectionIntervalRange = 0x12, - ServiceSolicitation16BitUuids = 0x14, - ServiceSolicitation32BitUuids = 0x1F, - ServiceSolicitation128BitUuids = 0x15, - ServiceData16BitUuids = 0x16, - ServiceData32BitUuids = 0x20, - ServiceData128BitUuids = 0x21, - PublicTargetAddress = 0x17, - RandomTargetAddress = 0x18, - Appearance = 0x19, - AdvertisingInterval = 0x1A, - LEBluetoothDeviceAddress = 0x1B, - LERole = 0x1C, - SimplePairingHashC256 = 0x1D, - ThreeDimensionInformationData = 0x3D, - ManufacturerSpecificData = 0xFF, - }; - -} // namespace universal_ble \ No newline at end of file diff --git a/universal_ble/windows/src/helper/utils.cpp b/universal_ble/windows/src/helper/utils.cpp deleted file mode 100644 index a34f8e16d..000000000 --- a/universal_ble/windows/src/helper/utils.cpp +++ /dev/null @@ -1,161 +0,0 @@ -#include "Utils.h" - -#include -#include -#include -#include -#include -#include - -#if WDK_NTDDI_VERSION < NTDDI_WIN10_VB -#error "Windows SDK version before 10.0.19041.0 is not supported" -#elif WDK_NTDDI_VERSION == NTDDI_WIN10_VB -#define WINRT_IMPL_CoGetApartmentType WINRT_CoGetApartmentType -#endif - -#define MAC_ADDRESS_STR_LENGTH (size_t)17 -typedef LONG NTSTATUS, *PNTSTATUS; -#define STATUS_SUCCESS (0x00000000) -typedef NTSTATUS(WINAPI *RtlGetVersionPtr)(PRTL_OSVERSIONINFOW); - -namespace universal_ble -{ - - std::string mac_address_to_str(uint64_t mac_address) - { - uint8_t* mac_ptr = (uint8_t*)&mac_address; - char mac_str[MAC_ADDRESS_STR_LENGTH + 1] = { 0 }; - snprintf(mac_str, MAC_ADDRESS_STR_LENGTH + 1, "%02x:%02x:%02x:%02x:%02x:%02x", mac_ptr[5], mac_ptr[4], mac_ptr[3], - mac_ptr[2], mac_ptr[1], mac_ptr[0]); - return std::string(mac_str); - } - - uint64_t str_to_mac_address(const std::string& mac_str) - { - uint64_t mac_address_number = 0; - uint8_t* mac_ptr = (uint8_t*)&mac_address_number; - sscanf_s(mac_str.c_str(), "%02hhx:%02hhx:%02hhx:%02hhx:%02hhx:%02hhx", &mac_ptr[5], &mac_ptr[4], &mac_ptr[3], - &mac_ptr[2], &mac_ptr[1], &mac_ptr[0]); - return mac_address_number; - } - - guid uuid_to_guid(const std::string &uuid) - { - std::stringstream helper; - for (int i = 0; i < uuid.length(); i++) - { - if (uuid[i] != '-') - { - helper << uuid[i]; - } - } - std::string clean_uuid = helper.str(); - winrt::guid guid; - uint64_t* data4_ptr = (uint64_t*)guid.Data4; - - guid.Data1 = static_cast(std::strtoul(clean_uuid.substr(0, 8).c_str(), nullptr, 16)); - guid.Data2 = static_cast(std::strtoul(clean_uuid.substr(8, 4).c_str(), nullptr, 16)); - guid.Data3 = static_cast(std::strtoul(clean_uuid.substr(12, 4).c_str(), nullptr, 16)); - *data4_ptr = _byteswap_uint64(std::strtoull(clean_uuid.substr(16, 16).c_str(), nullptr, 16)); - - return guid; - } - - std::string guid_to_uuid(const guid &guid) - { - std::stringstream helper; - for (uint32_t i = 0; i < 4; i++) - { - helper << std::hex << std::setw(2) << std::setfill('0') << (int)((uint8_t*)&guid.Data1)[3 - i]; - } - helper << '-'; - for (uint32_t i = 0; i < 2; i++) - { - helper << std::hex << std::setw(2) << std::setfill('0') << (int)((uint8_t*)&guid.Data2)[1 - i]; - } - helper << '-'; - for (uint32_t i = 0; i < 2; i++) - { - helper << std::hex << std::setw(2) << std::setfill('0') << (int)((uint8_t*)&guid.Data3)[1 - i]; - } - helper << '-'; - for (uint32_t i = 0; i < 2; i++) - { - helper << std::hex << std::setw(2) << std::setfill('0') << (int)guid.Data4[i]; - } - helper << '-'; - for (uint32_t i = 0; i < 6; i++) - { - helper << std::hex << std::setw(2) << std::setfill('0') << (int)guid.Data4[2 + i]; - } - return helper.str(); - } - - std::vector to_bytevc(const IBuffer& buffer) - { - auto reader = DataReader::FromBuffer(buffer); - auto result = std::vector(reader.UnconsumedBufferLength()); - reader.ReadBytes(result); - return result; - } - - IBuffer from_bytevc(std::vector bytes) - { - auto writer = DataWriter(); - writer.WriteBytes(bytes); - return writer.DetachBuffer(); - } - - std::string to_hexstring(const std::vector& bytes) - { - auto ss = std::stringstream(); - for (auto b : bytes) - ss << std::setw(2) << std::setfill('0') << std::hex << static_cast(b); - return ss.str(); - } - - std::string to_uuidstr(const guid guid) - { - char chars[36 + 1]; - sprintf_s(chars, "%08x-%04hx-%04hx-%02hhx%02hhx-%02hhx%02hhx%02hhx%02hhx%02hhx%02hhx", - guid.Data1, guid.Data2, guid.Data3, guid.Data4[0], guid.Data4[1], guid.Data4[2], - guid.Data4[3], guid.Data4[4], guid.Data4[5], guid.Data4[6], guid.Data4[7]); - return std::string{ chars }; - } - - bool is_little_endian() - { - uint16_t number = 0x1; - char* numPtr = (char*)&number; - return (numPtr[0] == 1); - } - - bool is_windows11_or_greater() - { - const HMODULE h_mod = GetModuleHandleW(L"ntdll.dll"); - if (!h_mod) - { - std::cout << "Failed to get ntdll" << std::endl; - return false; - } - - const auto fx_ptr = reinterpret_cast(GetProcAddress(h_mod, "RtlGetVersion")); - if (fx_ptr == nullptr) - { - std::cout << "Failed to get RtlGetVersionPtr" << std::endl; - return false; - } - - RTL_OSVERSIONINFOW rove = {0}; - rove.dwOSVersionInfoSize = sizeof(rove); - if (STATUS_SUCCESS != fx_ptr(&rove)) - { - std::cout << "Failed to get RTL_OSVERSIONINFOW" << std::endl; - return false; - } - - // Windows 11 => MajorVersion = 10 and BuildNumber >= 22000 - return rove.dwMajorVersion == 10 && rove.dwBuildNumber >= 22000; - } - -} // namespace universal_ble diff --git a/universal_ble/windows/src/helper/utils.h b/universal_ble/windows/src/helper/utils.h deleted file mode 100644 index 49408bbea..000000000 --- a/universal_ble/windows/src/helper/utils.h +++ /dev/null @@ -1,53 +0,0 @@ -#pragma once - -#include -#include -#include - -#include "winrt/Windows.Foundation.h" -#include "winrt/Windows.Storage.Streams.h" -#include "winrt/base.h" -#include "universal_ble_base.h" - -constexpr uint32_t TEN_SECONDS_IN_MSECS = 10000; - -namespace universal_ble -{ - - std::string mac_address_to_str(uint64_t mac_address); - uint64_t str_to_mac_address(const std::string& mac_str); - - guid uuid_to_guid(const std::string &uuid); - std::string guid_to_uuid(const guid &guid); - - std::vector to_bytevc(const IBuffer& buffer); - IBuffer from_bytevc(std::vector bytes); - std::string to_hexstring(const std::vector& bytes); - - std::string to_uuidstr(guid guid); - bool is_little_endian(); - bool is_windows11_or_greater(); - - /// To call async functions synchronously - template - static auto async_get(AsyncT const &async) - { - if (async.Status() == AsyncStatus::Started) - { - wait_for_completed(async, TEN_SECONDS_IN_MSECS); - } - try - { - return async.GetResults(); - } - catch (const hresult_error &err) - { - throw FlutterError("Failed", to_string(err.message())); - } - catch (...) - { - throw FlutterError("Failed", "Unknown error"); - } - } - -} // namespace universal_ble \ No newline at end of file diff --git a/universal_ble/windows/src/pin_entry.h b/universal_ble/windows/src/pin_entry.h deleted file mode 100644 index 4b86bc488..000000000 --- a/universal_ble/windows/src/pin_entry.h +++ /dev/null @@ -1,134 +0,0 @@ -#pragma once - -#include -#include - -namespace universal_ble -{ - typedef struct SizeAndPos_s - { - int x, y, width, height; - } SizeAndPos_t; - - const WORD ID_btnOK = 1; - const WORD ID_txtEdit = 4; - HWND txtEditHandle = NULL; - TCHAR textBoxText[16]; - - // Positions and dimensions of UI elements: X, Y, Width, Height - const SizeAndPos_t mainWindow = {150, 150, 450, 260}; - const SizeAndPos_t txtEdit = {50, 40, 320, 40}; - const SizeAndPos_t btnOK = {50, 100, 320, 40}; - - LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) - { - switch (msg) - { - case WM_CREATE: - { - txtEditHandle = CreateWindow( - TEXT("Edit"), TEXT(""), - WS_CHILD | WS_VISIBLE | WS_BORDER | ES_NUMBER, - txtEdit.x, txtEdit.y, txtEdit.width, txtEdit.height, - hwnd, (HMENU)ID_txtEdit, NULL, NULL); - CreateWindow( - TEXT("Button"), TEXT("OK"), - WS_CHILD | WS_VISIBLE | BS_FLAT, - btnOK.x, btnOK.y, btnOK.width, btnOK.height, - hwnd, (HMENU)ID_btnOK, NULL, NULL); - break; - } - case WM_COMMAND: - if (LOWORD(wParam) == ID_btnOK) - { - GetWindowText(txtEditHandle, textBoxText, sizeof(textBoxText) / sizeof(TCHAR)); - DestroyWindow(hwnd); - } - break; - case WM_CLOSE: - DestroyWindow(hwnd); - break; - case WM_DESTROY: - PostQuitMessage(0); - break; - default: - return DefWindowProc(hwnd, msg, wParam, lParam); - } - - return 0; - } - - hstring askForPairingPin() - { - textBoxText[0] = '\0'; - HINSTANCE hInstance = GetModuleHandle(NULL); - MSG msg; - WNDCLASS mainWindowClass = {0}; - mainWindowClass.lpszClassName = TEXT("JRH.MainWindow"); - mainWindowClass.hInstance = hInstance; - mainWindowClass.hbrBackground = GetSysColorBrush(COLOR_BTNHIGHLIGHT); - mainWindowClass.lpfnWndProc = WndProc; - mainWindowClass.hCursor = LoadCursor(0, IDC_ARROW); - - // Register the window class - if (!RegisterClass(&mainWindowClass)) - { - std::cout << "PinPairDialog: Failed to register window class" << std::endl; - return L""; - } - - HWND hwnd = CreateWindow( - mainWindowClass.lpszClassName, - TEXT("PIN"), (WS_OVERLAPPEDWINDOW & ~WS_THICKFRAME & ~WS_MINIMIZEBOX & ~WS_MAXIMIZEBOX) | WS_VISIBLE, - mainWindow.x, mainWindow.y, mainWindow.width, mainWindow.height, - NULL, 0, hInstance, NULL); - - if (hwnd == NULL) - { - std::cout << "PinPairDialog: Failed to create window" << std::endl; - return L""; - } - - // After creating the window, make it topmost - SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); - - ShowWindow(hwnd, SW_SHOW); - - // Create a font with the desired size - HFONT hFont = CreateFont( - 36, // Height of the font - 0, // Width of the font - 0, // Angle of escapement - 0, // Orientation angle - FW_NORMAL, // Font weight - FALSE, // Italic attribute option - FALSE, // Underline attribute option - FALSE, // Strikeout attribute option - DEFAULT_CHARSET, // Character set identifier - OUT_DEFAULT_PRECIS, // Output precision - CLIP_DEFAULT_PRECIS, // Clipping precision - DEFAULT_QUALITY, // Output quality - DEFAULT_PITCH | FF_SWISS, // Pitch and family - TEXT("Arial") // Font name - ); - - // Set the font to the edit control - SendMessage(txtEditHandle, WM_SETFONT, (WPARAM)hFont, TRUE); - - while (GetMessage(&msg, NULL, 0, 0)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - - if (msg.wParam != 0) - { - std::wcout << "PinPairDialog: Got invalid result" << std::endl; - } - - DeleteObject(hFont); - DestroyWindow(hwnd); - UnregisterClass(mainWindowClass.lpszClassName, hInstance); - return winrt::to_hstring(textBoxText); - } -} diff --git a/universal_ble/windows/src/ui_thread_handler.hpp b/universal_ble/windows/src/ui_thread_handler.hpp deleted file mode 100644 index 9f8a3275f..000000000 --- a/universal_ble/windows/src/ui_thread_handler.hpp +++ /dev/null @@ -1,79 +0,0 @@ -#pragma once - -#include - -#include - -#include -#include -#include -#include - -class UniversalBleUiThreadHandler -{ -public: - explicit UniversalBleUiThreadHandler(flutter::PluginRegistrarWindows *registrar) - : registrar_(registrar) - { - windowProcId_ = registrar_->RegisterTopLevelWindowProcDelegate( - [this](HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) - { - return HandleWindowMessage(hwnd, message, wparam, lparam); - }); - } - - ~UniversalBleUiThreadHandler() - { - registrar_->UnregisterTopLevelWindowProcDelegate(windowProcId_); - } - - UniversalBleUiThreadHandler(const UniversalBleUiThreadHandler &) = delete; - UniversalBleUiThreadHandler &operator=(const UniversalBleUiThreadHandler &) = delete; - - void Post(std::function &&func) - { - std::lock_guard lock(mutex_); - queuedFuncs_.emplace_back(std::move(func)); - Notify(); - } - -private: - static const UINT kWmCallQueuedFunctions = WM_APP + 0x1d7; - - void Notify() - { - if (hwnd_ != 0) - { - PostMessage(hwnd_, kWmCallQueuedFunctions, 0, reinterpret_cast(this)); - } - } - - std::optional HandleWindowMessage( - HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) - { - if (hwnd_ == 0) - { - hwnd_ = hwnd; - Notify(); // Make sure queued functions are processed - } - if (message == kWmCallQueuedFunctions && lparam == reinterpret_cast(this)) - { - std::list> queuedFuncs; - { - std::lock_guard lock(mutex_); - std::swap(queuedFuncs_, queuedFuncs); - } - for (auto &func : queuedFuncs) - { - func(); - } - } - return std::nullopt; - } - - flutter::PluginRegistrarWindows *registrar_; - int windowProcId_ = 0; - HWND hwnd_ = 0; - std::list> queuedFuncs_; - std::mutex mutex_; -}; \ No newline at end of file diff --git a/universal_ble/windows/src/universal_ble_filter_util.cpp b/universal_ble/windows/src/universal_ble_filter_util.cpp deleted file mode 100644 index 65bf06485..000000000 --- a/universal_ble/windows/src/universal_ble_filter_util.cpp +++ /dev/null @@ -1,152 +0,0 @@ -#include -#include "helper/utils.h" -#include "generated/universal_ble.g.h" -#include - -namespace universal_ble -{ - std::vector manufacturerScanFilter = std::vector(); - std::vector serviceFilterUUIDS = std::vector(); - std::vector namePrefixFilter = std::vector(); - - void setScanFilter(const UniversalScanFilter filter) - { - // Set ManufacturerData filter - const auto &manufacturerData = filter.with_manufacturer_data(); - for (const flutter::EncodableValue &data : manufacturerData) - { - UniversalManufacturerDataFilter manufacturerDataFilter = std::any_cast(std::get(data)); - manufacturerScanFilter.push_back(manufacturerDataFilter); - } - // Set Services Filter - if (!filter.with_services().empty()) - { - for (const auto &uuid : filter.with_services()) - { - serviceFilterUUIDS.push_back(uuid_to_guid(std::get(uuid))); - } - } - // Set Names Filter - if (!filter.with_name_prefix().empty()) - { - for (const auto &name : filter.with_name_prefix()) - { - namePrefixFilter.push_back(std::get(name)); - } - } - } - - void resetScanFilter() - { - manufacturerScanFilter.clear(); - serviceFilterUUIDS.clear(); - namePrefixFilter.clear(); - } - - bool isNameMatchingFilters(const std::string *name) - { - if (namePrefixFilter.empty()) - return true; - if (name == nullptr || name->empty()) - return false; - return std::any_of(namePrefixFilter.begin(), namePrefixFilter.end(), - [&name](const flutter::EncodableValue &prefix) - { - return name->find(std::get(prefix)) == 0; - }); - } - - bool isServicesMatchingFilters(const flutter::EncodableList *services) - { - if (serviceFilterUUIDS.empty()) - return true; - if (services == nullptr || services->empty()) - return false; - - std::unordered_set serviceGUIDs; - serviceGUIDs.reserve(services->size()); - for (const auto &service : *services) - { - if (const auto *str = std::get_if(&service)) - { - serviceGUIDs.insert(uuid_to_guid(*str)); - } - } - - // Check if any of the filter UUIDs are in the set of service GUIDs - return std::any_of(serviceFilterUUIDS.begin(), serviceFilterUUIDS.end(), - [&serviceGUIDs](const winrt::guid &filterUUID) - { - return serviceGUIDs.find(filterUUID) != serviceGUIDs.end(); - }); - } - - bool isManufacturerDataMatchingFilters(const flutter::EncodableList *manufacturerDataList) - { - if (manufacturerScanFilter.empty()) - return true; - if (manufacturerDataList == nullptr || manufacturerDataList->empty()) - return false; - - for (const auto &filter : manufacturerScanFilter) - { - const auto *data_filter = filter.data(); - const auto *mask = filter.mask(); - - for (const auto &value : *manufacturerDataList) - { - const auto &deviceManufacturerData = std::any_cast( - std::get(value)); - - if (deviceManufacturerData.company_identifier() != filter.company_identifier()) - continue; - - // If no data filter, all data matches - if (data_filter == nullptr) - return true; - - const auto &deviceData = deviceManufacturerData.data(); - if (deviceData.size() < data_filter->size()) - continue; - - bool isMatch = true; - for (size_t i = 0; i < data_filter->size(); ++i) - { - const bool hasMask = mask != nullptr && i < mask->size(); - const uint8_t maskByte = hasMask ? (*mask)[i] : 0xFF; - if ((maskByte & (*data_filter)[i]) != (maskByte & deviceData[i])) - { - isMatch = false; - break; - } - } - - if (isMatch) - return true; - } - } - - return false; - } - - bool filterDevice(UniversalBleScanResult scanResult) - { - bool hasNamePrefixFilter = !namePrefixFilter.empty(); - bool hasServiceFilter = !serviceFilterUUIDS.empty(); - bool hasManufacturerDataFilter = !manufacturerScanFilter.empty(); - - // If there is no filter at all, then allow device - if (!hasNamePrefixFilter && - !hasServiceFilter && - !hasManufacturerDataFilter) - { - return true; - } - - // Check each filter condition - return (hasNamePrefixFilter && isNameMatchingFilters(scanResult.name())) || - (hasServiceFilter && isServicesMatchingFilters(scanResult.services())) || - (hasManufacturerDataFilter && isManufacturerDataMatchingFilters(scanResult.manufacturer_data_list())); - } - -} // namespace universal_ble diff --git a/universal_ble/windows/src/universal_ble_filter_util.h b/universal_ble/windows/src/universal_ble_filter_util.h deleted file mode 100644 index 13496d856..000000000 --- a/universal_ble/windows/src/universal_ble_filter_util.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once - -#include -#include -#include - -#include "helper/universal_ble_base.h" -#include "generated/universal_ble.g.h" - -namespace universal_ble -{ - void setScanFilter(const UniversalScanFilter filter); - void resetScanFilter(); - bool filterDevice(UniversalBleScanResult scanResult); -} // namespace universal_ble \ No newline at end of file diff --git a/universal_ble/windows/src/universal_ble_plugin.cpp b/universal_ble/windows/src/universal_ble_plugin.cpp deleted file mode 100644 index a5f0097d1..000000000 --- a/universal_ble/windows/src/universal_ble_plugin.cpp +++ /dev/null @@ -1,1249 +0,0 @@ -// ReSharper disable CppTooWideScopeInitStatement -// ReSharper disable CppTooWideScope -#include "universal_ble_plugin.h" -#include - -#include - -#include -#include -#include -#include -#include -#include - -#include "helper/utils.h" -#include "helper/universal_enum.h" -#include "generated/universal_ble.g.h" -#include "pin_entry.h" -#include "universal_ble_filter_util.h" -#include "enum_parser.h" - -namespace universal_ble -{ - using universal_ble::ErrorOr; - using universal_ble::UniversalBleCallbackChannel; - using universal_ble::UniversalBlePlatformChannel; - using universal_ble::UniversalBleScanResult; - - const auto is_connectable_key = L"System.Devices.Aep.Bluetooth.Le.IsConnectable"; - const auto is_connected_key = L"System.Devices.Aep.IsConnected"; - const auto is_paired_key = L"System.Devices.Aep.IsPaired"; - const auto is_present_key = L"System.Devices.Aep.IsPresent"; - const auto device_address_key = L"System.Devices.Aep.DeviceAddress"; - const auto signal_strength_key = L"System.Devices.Aep.SignalStrength"; - static std::unique_ptr callback_channel; - - void UniversalBlePlugin::RegisterWithRegistrar(flutter::PluginRegistrarWindows *registrar) - { - auto plugin = std::make_unique(registrar); - SetUp(registrar->messenger(), plugin.get()); - callback_channel = std::make_unique(registrar->messenger()); - registrar->AddPlugin(std::move(plugin)); - } - - UniversalBlePlugin::UniversalBlePlugin(flutter::PluginRegistrarWindows *registrar) - : ui_thread_handler_(registrar) - { - InitializeAsync(); - } - - UniversalBlePlugin::~UniversalBlePlugin() = default; - - // UniversalBlePlatformChannel implementation. - void UniversalBlePlugin::GetBluetoothAvailabilityState(std::function reply)> result) - { - if (!bluetooth_radio_) - { - if (!initialized_) - { - result(static_cast(AvailabilityState::unknown)); - } - else - { - result(static_cast(AvailabilityState::unsupported)); - } - } - else - { - result(static_cast(get_availability_state_from_radio(bluetooth_radio_.State()))); - } - }; - - void UniversalBlePlugin::EnableBluetooth(std::function reply)> result) - { - if (!bluetooth_radio_) - { - result(FlutterError("BluetoothNotAvailable", "Bluetooth is not available")); - return; - } - - if (bluetooth_radio_.State() == RadioState::On) - { - result(true); - return; - } - - bluetooth_radio_.SetStateAsync(RadioState::On).Completed( - [&, result](const IAsyncOperation& sender, const AsyncStatus args) - { - if (const auto radio_access_status = sender.GetResults(); radio_access_status == RadioAccessStatus::Allowed) - { - result(true); - } - else - { - result(FlutterError("Failed","Failed to enable bluetooth")); - } - }); - } - - void UniversalBlePlugin::DisableBluetooth(std::function reply)> result) - { - if (!bluetooth_radio_) - { - result(FlutterError("BluetoothNotAvailable", "Bluetooth is not available")); - return; - } - - if (bluetooth_radio_.State() == RadioState::Off) - { - result(true); - return; - } - - bluetooth_radio_.SetStateAsync(RadioState::Off).Completed( - [&, result](IAsyncOperation const& sender, AsyncStatus const args) - { - if (const auto radio_access_status = sender.GetResults(); radio_access_status == RadioAccessStatus::Allowed) - { - result(true); - } - else - { - result(FlutterError("Failed","Failed to disable bluetooth")); - } - }); - } - - std::optional UniversalBlePlugin::StartScan(const UniversalScanFilter *filter) - { - - if (!bluetooth_radio_ || bluetooth_radio_.State() != RadioState::On) - { - return FlutterError("BluetoothNotAvailable", "Bluetooth is not available"); - } - - try - { - SetupDeviceWatcher(); - scan_results_.clear(); - const DeviceWatcherStatus device_watcher_status = device_watcher_.Status(); - // std::cout << "DeviceWatcherState: " << DeviceWatcherStatusToString(deviceWatcherStatus) << std::endl; - // DeviceWatcher can only start if its in Created, Stopped, or Aborted state - if (device_watcher_status == DeviceWatcherStatus::Created || device_watcher_status == DeviceWatcherStatus::Stopped || device_watcher_status == DeviceWatcherStatus::Aborted) - { - device_watcher_.Start(); - } - else if (device_watcher_status == DeviceWatcherStatus::Stopping) - { - return FlutterError("AlreadyInProgress", "StoppingScan in progress"); - } - - // Setup LeWatcher and apply filters - if (!bluetooth_le_watcher_) - { - bluetooth_le_watcher_ = BluetoothLEAdvertisementWatcher(); - bluetooth_le_watcher_.ScanningMode(BluetoothLEScanningMode::Active); - resetScanFilter(); - - if (filter != nullptr) - { - // Native filter supports only 1 service - const bool uses_custom_filters = filter->with_services().size() > 1 || filter->with_manufacturer_data().size() > 0 || filter->with_name_prefix().size() > 0; - - if (uses_custom_filters) - { - std::cout << "Using Custom Scan Filter" << std::endl; - setScanFilter(*filter); - } - else - { - // Apply Services filter - if (!filter->with_services().empty()) - { - for (const auto &uuid : filter->with_services()) - { - bluetooth_le_watcher_.AdvertisementFilter().Advertisement().ServiceUuids().Append(uuid_to_guid(std::get(uuid))); - } - } - } - } - - bluetooth_le_watcher_received_token_ = bluetooth_le_watcher_.Received({this, &UniversalBlePlugin::BluetoothLeWatcherReceived}); - } - bluetooth_le_watcher_.Start(); - return std::nullopt; - } - catch (...) - { - std::cout << "Unknown error StartScan" << std::endl; - return FlutterError("Failed", "Unknown error"); - } - }; - - std::optional UniversalBlePlugin::StopScan() - { - if (bluetooth_radio_ && bluetooth_radio_.State() == RadioState::On) - { - try - { - if (bluetooth_le_watcher_) - { - bluetooth_le_watcher_.Received(bluetooth_le_watcher_received_token_); - bluetooth_le_watcher_.Stop(); - } - bluetooth_le_watcher_ = nullptr; - DisposeDeviceWatcher(); - scan_results_.clear(); - return std::nullopt; - } - catch (const hresult_error &err) - { - const int error_code = err.code(); - std::cout << "StopScanLog: " << to_string(err.message()) << " ErrorCode: " << std::to_string(error_code) << std::endl; - return FlutterError(std::to_string(error_code), to_string(err.message())); - } - catch (...) - { - return FlutterError("Failed", "Failed to Stop"); - } - } - else - { - return FlutterError("BluetoothNotAvailable", "Bluetooth is not available"); - } - }; - - ErrorOr UniversalBlePlugin::GetConnectionState(const std::string& device_id) - { - const auto it = connected_devices_.find(str_to_mac_address(device_id)); - if (it == connected_devices_.end()) - { - return static_cast(ConnectionState::disconnected); - } - - const auto device_agent = *it->second; - - if (device_agent.device.ConnectionStatus() == BluetoothConnectionStatus::Connected) - { - return static_cast(ConnectionState::connected); - } - else - { - return static_cast(ConnectionState::disconnected); - } - } - - std::optional UniversalBlePlugin::Connect(const std::string &device_id) - { - ConnectAsync(str_to_mac_address(device_id)); - return std::nullopt; - }; - - std::optional UniversalBlePlugin::Disconnect(const std::string &device_id) - { - auto device_address = str_to_mac_address(device_id); - CleanConnection(device_address); - // TODO: send disconnect event only after disconnect is complete - ui_thread_handler_.Post([device_address] - { callback_channel->OnConnectionChanged(mac_address_to_str(device_address), false, nullptr, SuccessCallback, ErrorCallback); }); - - return std::nullopt; - } - - void UniversalBlePlugin::DiscoverServices( - const std::string &device_id, - std::function reply)> result) - { - try - { - const auto it = connected_devices_.find(str_to_mac_address(device_id)); - if (it == connected_devices_.end()) - { - result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); - return; - } - auto device_agent = *it->second; - DiscoverServicesAsync(device_agent, result); - } - catch (const FlutterError &err) - { - return result(err); - } - catch (...) - { - std::cout << "DiscoverServicesLog: Unknown error" << std::endl; - return result(FlutterError("Failed", "Unknown error")); - } - } - - void UniversalBlePlugin::SetNotifiable( - const std::string &device_id, - const std::string &service, - const std::string &characteristic, - int64_t ble_input_property, - std::function reply)> result) - { - SetNotifiableAsync(device_id, service, characteristic, ble_input_property, result); - }; - - void UniversalBlePlugin::ReadValue( - const std::string& device_id, - const std::string& service, - const std::string& characteristic, - std::function> reply)> result) - { - try - { - const auto it = connected_devices_.find(str_to_mac_address(device_id)); - if (it == connected_devices_.end()) - { - result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); - return; - } - - auto bluetooth_agent = *it->second; - const GattCharacteristicObject& gatt_characteristic_holder = bluetooth_agent.FetchCharacteristic(service, characteristic); - const GattCharacteristic gatt_characteristic = gatt_characteristic_holder.obj; - - const auto properties = gatt_characteristic.CharacteristicProperties(); - if ((properties & GattCharacteristicProperties::Read) == GattCharacteristicProperties::None) - { - result(FlutterError("NotSupported", "Characteristic does not support read")); - return; - } - - gatt_characteristic.ReadValueAsync(BluetoothCacheMode::Uncached).Completed( - [&, result](IAsyncOperation const &sender, AsyncStatus const args) - { - const auto read_value_result = sender.GetResults(); - auto error = gatt_communication_status_to_error(read_value_result.Status()); - if (error.has_value()) - { - result(FlutterError("Failed", error.value())); - } - else - { - result(to_bytevc(read_value_result.Value())); - } - }); - } - catch (const FlutterError& err) - { - return result(err); - } - catch (...) - { - std::cout << "ReadValueLog: Unknown error" << std::endl; - return result(FlutterError("Failed","Unknown error")); - } - } - - void UniversalBlePlugin::WriteValue( - const std::string& device_id, - const std::string& service, - const std::string& characteristic, - const std::vector& value, - int64_t ble_output_property, - std::function reply)> result) - { - try - { - const auto it = connected_devices_.find(str_to_mac_address(device_id)); - if (it == connected_devices_.end()) - { - result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); - return; - } - auto bluetooth_agent = *it->second; - const GattCharacteristicObject& gatt_characteristic_holder = bluetooth_agent.FetchCharacteristic( - service, characteristic); - const GattCharacteristic gatt_characteristic = gatt_characteristic_holder.obj; - const auto properties = gatt_characteristic.CharacteristicProperties(); - - auto write_option = GattWriteOption::WriteWithResponse; - if (ble_output_property == static_cast(BleOutputProperty::withoutResponse)) - { - write_option = GattWriteOption::WriteWithoutResponse; - if ((properties & GattCharacteristicProperties::WriteWithoutResponse) == GattCharacteristicProperties::None) - { - result(FlutterError("NotSupported", "Characteristic does not support WriteWithoutResponse")); - return; - } - } - else - { - if ((properties & GattCharacteristicProperties::Write) == GattCharacteristicProperties::None) - { - result(FlutterError("NotSupported", "Characteristic does not support Write")); - return; - } - } - - gatt_characteristic.WriteValueAsync(from_bytevc(value), write_option).Completed( - [&, result](IAsyncOperation const &sender, AsyncStatus const args) - { - if (args == AsyncStatus::Error) - { - result(FlutterError("Failed", "Encountered an error.")); - return; - } - - const auto error = gatt_communication_status_to_error(sender.GetResults()); - if (error.has_value()) - { - result(FlutterError("Failed", error.value())); - } - else - { - result(std::nullopt); - } - }); - } - catch (const FlutterError& err) - { - result(err); - } - catch (...) - { - std::cout << "WriteValue: Unknown error" << std::endl; - result(FlutterError("Failed", "Unknown error")); - } - } - - void UniversalBlePlugin::RequestMtu( - const std::string &device_id, - int64_t expected_mtu, - std::function reply)> result) - { - try - { - const auto it = connected_devices_.find(str_to_mac_address(device_id)); - if (it == connected_devices_.end()) - { - result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); - return; - } - const auto bluetooth_agent = *it->second; - GattSession::FromDeviceIdAsync(bluetooth_agent.device.BluetoothDeviceId()).Completed( - [&, result](IAsyncOperation const& sender, AsyncStatus const args) - { - if (args == AsyncStatus::Error) - { - result(FlutterError("Failed", "Encountered an error.")); - return; - } - - result((int64_t)sender.GetResults().MaxPduSize()); - }); - } - catch (const FlutterError &err) - { - result(err); - } - } - - void UniversalBlePlugin::IsPaired( - const std::string &device_id, - std::function reply)> result) - { - IsPairedAsync(device_id, result); - } - - void UniversalBlePlugin::Pair( - const std::string& device_id, - std::function reply)> result) - { - try - { - if (is_windows11_or_greater()) - { - PairAsync(device_id, result); - } - else - { - CustomPairAsync(device_id, result); - } - } - catch (const FlutterError& err) - { - result(err); - } - } - - std::optional UniversalBlePlugin::UnPair(const std::string& device_id) - { - try - { - const auto device = async_get(BluetoothLEDevice::FromBluetoothAddressAsync(str_to_mac_address(device_id))); - if (device == nullptr) - { - return FlutterError("IllegalArgument", "Unknown devicesId:" + device_id); - } - const auto device_information = device.DeviceInformation(); - - if (!device_information.Pairing().IsPaired()) - { - return FlutterError("NotPaired", "Device is not paired"); - } - - const auto device_unpairing_result = async_get(device_information.Pairing().UnpairAsync()); - - const auto error = device_unpairing_result_to_string(device_unpairing_result.Status()); - - if (error.has_value()) - { - return FlutterError("Failed", error.value()); - } - return std::nullopt; - } - catch (const FlutterError& err) - { - return err; - } - } - - void UniversalBlePlugin::GetSystemDevices( - const flutter::EncodableList &with_services, - std::function reply)> result) - { - auto with_services_str = std::vector(); - for (const auto &item : with_services) - { - auto service_id = std::get(item); - with_services_str.push_back(service_id); - } - GetSystemDevicesAsync(with_services_str, result); - } - - /// Helper Methods - - fire_and_forget UniversalBlePlugin::InitializeAsync() - { - const auto radios = co_await Radio::GetRadiosAsync(); - for (auto &&radio : radios) - { - if (radio.Kind() == RadioKind::Bluetooth) - { - bluetooth_radio_ = radio; - radio_state_changed_revoker_ = bluetooth_radio_.StateChanged(auto_revoke, {this, &UniversalBlePlugin::RadioStateChanged}); - RadioStateChanged(bluetooth_radio_, nullptr); - break; - } - } - if (!bluetooth_radio_) - { - std::cout << "Bluetooth is not available" << std::endl; - ui_thread_handler_.Post([] - { callback_channel->OnAvailabilityChanged(static_cast(AvailabilityState::unsupported), SuccessCallback, ErrorCallback); }); - } - initialized_ = true; - } - - fire_and_forget UniversalBlePlugin::PairAsync( - const std::string& device_id, - const std::function reply)> result) - { - try - { - std::cout << "Trying to pair" << std::endl; - - const auto device = co_await BluetoothLEDevice::FromBluetoothAddressAsync(str_to_mac_address(device_id)); - if (device == nullptr) - { - result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); - co_return; - } - - std::cout << "Got device" << std::endl; - - const auto device_information = device.DeviceInformation(); - if (device_information.Pairing().IsPaired()) - result(true); - else if (!device_information.Pairing().CanPair()) - result(FlutterError("NotPairable", "Device is not pairable")); - else - { - const auto pair_result = co_await device_information.Pairing().PairAsync(); - std::cout << "PairLog: Received pairing status" << std::endl; - bool is_paired = pair_result.Status() == DevicePairingResultStatus::Paired; - result(is_paired); - - const std::string* error_msg = nullptr; - const auto error_str = parse_pairing_fail_error(pair_result); - if (error_str.has_value()) - { - error_msg = &error_str.value(); - } - ui_thread_handler_.Post([device_id, is_paired, error_msg] - { callback_channel->OnPairStateChange(device_id, is_paired, error_msg, SuccessCallback, ErrorCallback); }); - } - } - catch (...) - { - result(false); - std::cout << "PairLog: Unknown error" << std::endl; - } - } - - fire_and_forget UniversalBlePlugin::CustomPairAsync( - const std::string& device_id, - const std::function reply)> result) - { - try - { - const auto device = co_await BluetoothLEDevice::FromBluetoothAddressAsync(str_to_mac_address(device_id)); - if (device == nullptr) - { - result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); - co_return; - } - const auto device_information = device.DeviceInformation(); - if (device_information.Pairing().IsPaired()) - result(true); - else if (!device_information.Pairing().CanPair()) - result(FlutterError("NotPairable", "Device is not pairable")); - else - { - const auto custom_pairing = device_information.Pairing().Custom(); - const event_token token = custom_pairing.PairingRequested({this, &UniversalBlePlugin::PairingRequestedHandler}); - std::cout << "PairLog: Trying to pair" << std::endl; - const DevicePairingProtectionLevel protection_level = device_information.Pairing().ProtectionLevel(); - // DevicePairingKinds => None, ConfirmOnly, DisplayPin, ProvidePin, ConfirmPinMatch, ProvidePasswordCredential - const auto pair_result = co_await custom_pairing.PairAsync(DevicePairingKinds::ConfirmOnly | DevicePairingKinds::ProvidePin, protection_level); - std::cout << "PairLog: Got Pair Result" << std::endl; - const DevicePairingResultStatus status = pair_result.Status(); - custom_pairing.PairingRequested(token); - bool is_paired = status == DevicePairingResultStatus::Paired; - result(is_paired); - - const std::string* error_msg = nullptr; - const auto error_str = parse_pairing_fail_error(pair_result); - if (error_str.has_value()) - { - error_msg = &error_str.value(); - } - ui_thread_handler_.Post([device_id, is_paired, error_msg] - { callback_channel->OnPairStateChange(device_id, is_paired, error_msg, SuccessCallback, ErrorCallback); }); - } - } - catch (...) - { - result(false); - std::cout << "PairLog Error: Pairing Failed" << std::endl; - } - } - - // ReSharper disable once CppMemberFunctionMayBeStatic - void UniversalBlePlugin::PairingRequestedHandler(DeviceInformationCustomPairing sender, const DevicePairingRequestedEventArgs& event_args) - { - std::cout << "PairLog: Got PairingRequest" << std::endl; - const DevicePairingKinds kind = event_args.PairingKind(); - if (kind != DevicePairingKinds::ProvidePin) - { - event_args.Accept(); - return; - } - - std::cout << "PairLog: Trying to get pin from user" << std::endl; - const hstring pin = askForPairingPin(); - std::wcout << "PairLog: Got Pin: " << pin.c_str() << std::endl; - event_args.Accept(pin); - } - - // Send device to callback channel - // if device is already discovered in deviceWatcher then merge the scan result - void UniversalBlePlugin::PushUniversalScanResult(UniversalBleScanResult scan_result, const bool is_connectable) - { - const std::optional it = scan_results_.get(scan_result.device_id()); - if (it.has_value()) - { - const UniversalBleScanResult ¤t_scan_result = it.value(); - bool should_update = false; - - // Check if current scanResult name is longer than the received scanResult name - if (scan_result.name() != nullptr && !scan_result.name()->empty() && current_scan_result.name() != nullptr && !current_scan_result.name()->empty()) - { - if (current_scan_result.name()->size() > scan_result.name()->size()) - { - scan_result.set_name(*current_scan_result.name()); - } - } - - if ((scan_result.name() == nullptr || scan_result.name()->empty()) && (current_scan_result.name() != nullptr && !current_scan_result.name()->empty())) - { - scan_result.set_name(*current_scan_result.name()); - should_update = true; - } - - if (scan_result.is_paired() == nullptr && current_scan_result.is_paired() != nullptr) - { - scan_result.set_is_paired(current_scan_result.is_paired()); - should_update = true; - } - - if ((scan_result.manufacturer_data_list() == nullptr || scan_result.manufacturer_data_list()->empty()) && current_scan_result.manufacturer_data_list() != nullptr) - { - scan_result.set_manufacturer_data_list(current_scan_result.manufacturer_data_list()); - should_update = true; - } - - if (scan_result.services() == nullptr && current_scan_result.services() != nullptr) - { - scan_result.set_services(current_scan_result.services()); - should_update = true; - } - - // if nothing to update then return - if (!should_update) - { - return; - } - } - - // Update cache - scan_results_.insert_or_assign(scan_result.device_id(), scan_result); - - // Filter final result before sending to Flutter - if (is_connectable && filterDevice(scan_result)) - { - ui_thread_handler_.Post([scan_result] - { callback_channel->OnScanResult(scan_result, SuccessCallback, ErrorCallback); }); - } - } - - void UniversalBlePlugin::SetupDeviceWatcher() - { - if (device_watcher_ != nullptr) - return; - - device_watcher_ = DeviceInformation::CreateWatcher( - L"(System.Devices.Aep.ProtocolId:=\"{bb7bb05e-5972-42b5-94fc-76eaa7084d49}\")", - { - device_address_key, - is_connected_key, - is_paired_key, - is_present_key, - is_connectable_key, - signal_strength_key, - }, - DeviceInformationKind::AssociationEndpoint); - - /// Device Added from DeviceWatcher - device_watcher_added_token_ = device_watcher_.Added([this](DeviceWatcher sender, const DeviceInformation& device_info) - { - const std::string device_id = to_string(device_info.Id()); - device_watcher_devices_.insert_or_assign(device_id, device_info); - OnDeviceInfoReceived(device_info); - // On Device Added - }); - - // Update only if device is already discovered in deviceWatcher.Added - device_watcher_updated_token_ = device_watcher_.Updated([this](DeviceWatcher sender, const DeviceInformationUpdate& device_info_update) - { - const std::string device_id = to_string(device_info_update.Id()); - const auto it = device_watcher_devices_.get(device_id); - if (it.has_value()) - { - const auto value = it.value(); - value.Update(device_info_update); - device_watcher_devices_.insert_or_assign(device_id, value); - OnDeviceInfoReceived(value); - } - // On Device Updated - }); - - device_watcher_removed_token_ = device_watcher_.Removed([this](DeviceWatcher sender, const DeviceInformationUpdate& args) - { - const std::string device_id = to_string(args.Id()); - device_watcher_devices_.remove(device_id); - // On Device Removed - }); - - device_watcher_enumeration_completed_token_ = device_watcher_.EnumerationCompleted([this](DeviceWatcher sender, IInspectable args) - { - std::cout << "DeviceWatcherEvent: EnumerationCompleted" << std::endl; - DisposeDeviceWatcher(); - // EnumerationCompleted - }); - - device_watcher_stopped_token_ = device_watcher_.Stopped([this](DeviceWatcher sender, IInspectable args) - { - // std::cout << "DeviceWatcherEvent: Stopped" << std::endl; - // disposeDeviceWatcher(); - // DeviceWatcher Stopped - }); - } - - void UniversalBlePlugin::DisposeDeviceWatcher() - { - if (device_watcher_ != nullptr) - { - device_watcher_.Added(device_watcher_added_token_); - device_watcher_.Updated(device_watcher_updated_token_); - device_watcher_.Removed(device_watcher_removed_token_); - device_watcher_.EnumerationCompleted(device_watcher_enumeration_completed_token_); - device_watcher_.Stopped(device_watcher_stopped_token_); - const auto status = device_watcher_.Status(); - // std::cout << "DisposingDeviceWatcher, CurrentState: " << DeviceWatcherStatusToString(status) << std::endl; - if (status == DeviceWatcherStatus::Started) - { - device_watcher_.Stop(); - } - device_watcher_ = nullptr; - device_watcher_devices_.clear(); - } - } - - void UniversalBlePlugin::OnDeviceInfoReceived(const DeviceInformation& device_info) - { - const auto properties = device_info.Properties(); - - // Avoid devices if not connectable or if deviceAddressKey is not present - if (!(properties.HasKey(is_connectable_key) && (properties.Lookup(is_connectable_key).as()).GetBoolean()) || !properties.HasKey(device_address_key)) - return; - - const auto bluetooth_address_property_value = properties.Lookup(device_address_key).as(); - const std::string device_address = to_string(bluetooth_address_property_value.GetString()); - - // Update device info if already discovered in advertisementWatcher - if (scan_results_.get(device_address).has_value()) - { - bool is_paired = device_info.Pairing().IsPaired(); - if (properties.HasKey(is_paired_key)) - { - const auto is_paired_property_value = properties.Lookup(is_paired_key).as(); - is_paired = is_paired_property_value.GetBoolean(); - } - - UniversalBleScanResult universal_scan_result(device_address); - universal_scan_result.set_is_paired(is_paired); - - if (!device_info.Name().empty()) - universal_scan_result.set_name(to_string(device_info.Name())); - - if (properties.HasKey(signal_strength_key)) - { - const auto rssi_property_value = properties.Lookup(signal_strength_key).as(); - const int16_t rssi = rssi_property_value.GetInt16(); - universal_scan_result.set_rssi(rssi); - } - - PushUniversalScanResult(universal_scan_result, true); - } - } - - /// Advertisement received from advertisementWatcher - void UniversalBlePlugin::BluetoothLeWatcherReceived(const BluetoothLEAdvertisementWatcher&, const BluetoothLEAdvertisementReceivedEventArgs& args) - { - try - { - auto device_id = mac_address_to_str(args.BluetoothAddress()); - auto universal_scan_result = UniversalBleScanResult(device_id); - std::string name = to_string(args.Advertisement().LocalName()); - - auto manufacturer_data_encodable_list = flutter::EncodableList(); - if (args.Advertisement() != nullptr) - { - for (BluetoothLEManufacturerData msd : args.Advertisement().ManufacturerData()) - { - auto universal_manufacturer_data = UniversalManufacturerData(static_cast(msd.CompanyId()), to_bytevc(msd.Data())); - manufacturer_data_encodable_list.push_back(flutter::CustomEncodableValue(universal_manufacturer_data)); - } - } - - auto data_section = args.Advertisement().DataSections(); - for (auto &&data : data_section) - { - auto data_bytes = to_bytevc(data.Data()); - // Use CompleteName from dataType if localName is empty - if (name.empty() && data.DataType() == static_cast(AdvertisementSectionType::CompleteLocalName)) - { - name = std::string(data_bytes.begin(), data_bytes.end()); - } - // Use ShortenedLocalName from dataType if localName is empty - else if (name.empty() && data.DataType() == static_cast(AdvertisementSectionType::ShortenedLocalName)) - { - name = std::string(data_bytes.begin(), data_bytes.end()); - } - } - - if (!name.empty()) - { - universal_scan_result.set_name(name); - } - - if (!manufacturer_data_encodable_list.empty()) - { - universal_scan_result.set_manufacturer_data_list(manufacturer_data_encodable_list); - } - - universal_scan_result.set_rssi(args.RawSignalStrengthInDBm()); - - // Add services - auto services = flutter::EncodableList(); - for (auto &&uuid : args.Advertisement().ServiceUuids()) - services.push_back(guid_to_uuid(uuid)); - universal_scan_result.set_services(services); - - // check if this device already discovered in deviceWatcher - auto it = device_watcher_devices_.get(device_id); - if (it.has_value()) - { - auto &device_info = it.value(); - auto properties = device_info.Properties(); - - // Update Paired Status - bool is_paired = device_info.Pairing().IsPaired(); - if (properties.HasKey(is_paired_key)) - is_paired = (properties.Lookup(is_paired_key).as()).GetBoolean(); - universal_scan_result.set_is_paired(is_paired); - - // Update Name - if (name.empty() && !device_info.Name().empty()) - universal_scan_result.set_name(to_string(device_info.Name())); - } - - // Filter Device - PushUniversalScanResult(universal_scan_result, args.IsConnectable()); - } - catch (...) - { - std::cout << "ScanResultErrorInParsing" << std::endl; - } - } - - void UniversalBlePlugin::RadioStateChanged(const Radio& sender, const IInspectable&) - { - const auto radio_state = !sender ? RadioState::Disabled : sender.State(); - if (old_radio_state_ == radio_state) - { - return; - } - old_radio_state_ = radio_state; - auto state = get_availability_state_from_radio(radio_state); - - ui_thread_handler_.Post([state] - { callback_channel->OnAvailabilityChanged(static_cast(state), SuccessCallback, ErrorCallback); }); - } - - - fire_and_forget UniversalBlePlugin::ConnectAsync(uint64_t bluetooth_address) - { - BluetoothLEDevice device = co_await BluetoothLEDevice::FromBluetoothAddressAsync(bluetooth_address); - if (!device) - { - std::cout << "ConnectionLog: ConnectionFailed: Failed to get device" << std::endl; - ui_thread_handler_.Post([bluetooth_address] - { callback_channel->OnConnectionChanged(mac_address_to_str(bluetooth_address), false, new std::string("Failed to get device"), SuccessCallback, ErrorCallback); }); - - co_return; - } - std::cout << "ConnectionLog: Device found" << std::endl; - auto services_result = co_await device.GetGattServicesAsync((BluetoothCacheMode::Uncached)); - auto services_result_error = gatt_communication_status_to_error(services_result.Status()); - if (services_result_error.has_value()) - { - std::cout << "ConnectionFailed: Failed to get services: " << services_result_error.value() << std::endl; - ui_thread_handler_.Post([bluetooth_address, services_result_error] - { callback_channel->OnConnectionChanged(mac_address_to_str(bluetooth_address), false, &services_result_error.value(), SuccessCallback, ErrorCallback); }); - co_return; - } - - std::cout << "ConnectionLog: Services discovered" << std::endl; - std::unordered_map gatt_map; - auto gatt_services = services_result.Services(); - for (GattDeviceService &&service : gatt_services) - { - GattServiceObject gatt_service; - gatt_service.obj = service; - std::string service_uuid = guid_to_uuid(service.Uuid()); - auto characteristics_result = co_await service.GetCharacteristicsAsync(BluetoothCacheMode::Uncached); - auto characteristics_result_error = gatt_communication_status_to_error(characteristics_result.Status()); - - if (characteristics_result_error.has_value()) - { - std::cout << "Failed to get characteristics for service: " << service_uuid << ", With Status: " << characteristics_result_error.value() << std::endl; - continue; - // PostConnectionUpdate(bluetoothAddress, ConnectionState::disconnected); - // co_return; - } - auto gatt_characteristics = characteristics_result.Characteristics(); - for (GattCharacteristic &&characteristic : gatt_characteristics) - { - GattCharacteristicObject gatt_characteristic; - gatt_characteristic.obj = characteristic; - gatt_characteristic.subscription_token = std::nullopt; - std::string characteristic_uuid = guid_to_uuid(characteristic.Uuid()); - gatt_service.characteristics.insert_or_assign(characteristic_uuid, std::move(gatt_characteristic)); - } - gatt_map.insert_or_assign(service_uuid, std::move(gatt_service)); - } - - event_token connection_status_changed_token = device.ConnectionStatusChanged({this, &UniversalBlePlugin::BluetoothLeDeviceConnectionStatusChanged}); - auto device_agent = std::make_unique(device, connection_status_changed_token, gatt_map); - auto pair = std::make_pair(bluetooth_address, std::move(device_agent)); - connected_devices_.insert(std::move(pair)); - std::cout << "ConnectionLog: Connected" << std::endl; - ui_thread_handler_.Post([bluetooth_address] - { callback_channel->OnConnectionChanged(mac_address_to_str(bluetooth_address), true, nullptr, SuccessCallback, ErrorCallback); }); - } - - void UniversalBlePlugin::BluetoothLeDeviceConnectionStatusChanged(const BluetoothLEDevice& sender, const IInspectable& - ) - { - if (sender.ConnectionStatus() == BluetoothConnectionStatus::Disconnected) - { - CleanConnection(sender.BluetoothAddress()); - auto bluetooth_address = sender.BluetoothAddress(); - ui_thread_handler_.Post([bluetooth_address] - { callback_channel->OnConnectionChanged(mac_address_to_str(bluetooth_address), false, nullptr, SuccessCallback, ErrorCallback); }); - } - } - - void UniversalBlePlugin::CleanConnection(const uint64_t bluetooth_address) - { - const auto node = connected_devices_.extract(bluetooth_address); - if (!node.empty()) - { - const auto device_agent = std::move(node.mapped()); - device_agent->device.ConnectionStatusChanged(device_agent->connection_status_changed_token); - // Clean up all characteristics tokens - for (auto& [service_id, service] : device_agent->gatt_map) - { - for (auto& [char_id, characteristic] : service.characteristics) - { - if (characteristic.subscription_token.has_value()) - { - characteristic.obj.ValueChanged(characteristic.subscription_token.value()); - characteristic.subscription_token = std::nullopt; - } - } - } - device_agent->gatt_map.clear(); - } - } - - fire_and_forget UniversalBlePlugin::GetSystemDevicesAsync( - std::vector with_services, - std::function reply)> result) - { - try - { - auto selector = BluetoothLEDevice::GetDeviceSelectorFromConnectionStatus(BluetoothConnectionStatus::Connected); - DeviceInformationCollection devices = co_await DeviceInformation::FindAllAsync(selector); - auto results = flutter::EncodableList(); - for (auto &&device_info : devices) - { - try - { - BluetoothLEDevice device = co_await BluetoothLEDevice::FromIdAsync(device_info.Id()); - auto device_id = mac_address_to_str(device.BluetoothAddress()); - // Filter by services - if (!with_services.empty()) - { - auto service_result = co_await device.GetGattServicesAsync(BluetoothCacheMode::Cached); - if (service_result.Status() == GattCommunicationStatus::Success) - { - bool has_service = false; - for (auto service : service_result.Services()) - { - std::string service_uuid = to_uuidstr(service.Uuid()); - if (std::find(with_services.begin(), with_services.end(), service_uuid) != with_services.end()) - { - has_service = true; - break; - } - } - if (!has_service) - continue; - } - } - // Add to results, if pass all filters - auto universal_scan_result = UniversalBleScanResult(device_id); - universal_scan_result.set_name(to_string(device_info.Name())); - universal_scan_result.set_is_paired(device_info.Pairing().IsPaired()); - results.push_back(flutter::CustomEncodableValue(universal_scan_result)); - } - catch (...) - { - } - } - result(results); - } - catch (const hresult_error &err) - { - int error_code = err.code(); - std::cout << "GetConnectedDeviceLog: " << to_string(err.message()) << " ErrorCode: " << std::to_string(error_code) << std::endl; - result(FlutterError(std::to_string(error_code), to_string(err.message()))); - } - catch (...) - { - std::cout << "Unknown error GetSystemDevicesAsyncAsync" << std::endl; - result(FlutterError("Failed", "Unknown error")); - } - } - - void UniversalBlePlugin::DiscoverServicesAsync(BluetoothDeviceAgent &bluetooth_device_agent, const std::function reply)>& result) - { - try - { - auto universal_services = flutter::EncodableList(); - for (auto & [service_id, service] : bluetooth_device_agent.gatt_map) - { - flutter::EncodableList universal_characteristics; - for (auto [char_id, characteristic] : service.characteristics) - { - auto& c = characteristic.obj; - - const auto properties_value = c.CharacteristicProperties(); - auto properties = properties_to_flutter_encodable(properties_value); - - universal_characteristics.push_back( - flutter::CustomEncodableValue(UniversalBleCharacteristic(to_uuidstr(c.Uuid()), properties))); - } - - auto universal_ble_service = UniversalBleService(to_uuidstr(service.obj.Uuid())); - universal_ble_service.set_characteristics(universal_characteristics); - universal_services.push_back(flutter::CustomEncodableValue(universal_ble_service)); - } - result(universal_services); - } - catch (...) - { - result(FlutterError("Failed", "Unknown error")); - std::cout << "DiscoverServiceError: Unknown error" << '\n'; - } - } - - fire_and_forget UniversalBlePlugin::IsPairedAsync( - const std::string& device_id, - const std::function reply)> result) - { - try - { - const auto device = co_await BluetoothLEDevice::FromBluetoothAddressAsync(str_to_mac_address(device_id)); - if (device == nullptr) - { - result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); - co_return; - } - const bool is_paired = device.DeviceInformation().Pairing().IsPaired(); - result(is_paired); - } - catch (...) - { - std::cout << "IsPairedAsync: Error " << std::endl; - result(FlutterError("Failed", "Unknown error")); - } - } - - fire_and_forget UniversalBlePlugin::SetNotifiableAsync(const std::string& device_id, - const std::string& service, - const std::string& characteristic, - const int64_t ble_input_property, - const std::function reply)> result) - { - try - { - const auto it = connected_devices_.find(str_to_mac_address(device_id)); - if (it == connected_devices_.end()) - { - result(FlutterError("IllegalArgument", "Unknown devicesId:" + device_id)); - co_return; - } - - auto& gatt_char = it->second->FetchCharacteristic(service, characteristic); - - const auto properties = gatt_char.obj.CharacteristicProperties(); - auto descriptor_value = GattClientCharacteristicConfigurationDescriptorValue::None; - if (ble_input_property == static_cast(BleInputProperty::notification)) - { - descriptor_value = GattClientCharacteristicConfigurationDescriptorValue::Notify; - if ((properties & GattCharacteristicProperties::Notify) == GattCharacteristicProperties::None) - { - result(FlutterError("NotSupported", "Characteristic does not support notify")); - co_return; - } - } - else if (ble_input_property == static_cast(BleInputProperty::indication)) - { - descriptor_value = GattClientCharacteristicConfigurationDescriptorValue::Indicate; - if ((properties & GattCharacteristicProperties::Indicate) == GattCharacteristicProperties::None) - { - result(FlutterError("NotSupported", "Characteristic does not support indicate")); - co_return; - } - } - - const auto gatt_characteristic = gatt_char.obj; - const auto uuid = to_uuidstr(gatt_characteristic.Uuid()); - - // Write to the descriptor. - const auto status = co_await gatt_characteristic.WriteClientCharacteristicConfigurationDescriptorAsync( - descriptor_value); - const auto error = gatt_communication_status_to_error(status); - if (error.has_value()) - { - result(FlutterError("Failed", error.value())); - co_return; - } - - // Register/UnRegister handler for the ValueChanged event. - if (descriptor_value == GattClientCharacteristicConfigurationDescriptorValue::None) - { - if (gatt_char.subscription_token.has_value()) - { - gatt_characteristic.ValueChanged(gatt_char.subscription_token.value()); - gatt_char.subscription_token = std::nullopt; - std::cout << "Unsubscribed " << to_uuidstr(gatt_characteristic.Uuid()) << std::endl; - } - } - else - { - // If a notification for the given characteristic is already in progress, swap the callbacks. - if (gatt_char.subscription_token.has_value()) - { - std::cout << "A notification for the given characteristic is already in progress. Swapping callbacks." << std::endl; - gatt_characteristic.ValueChanged(gatt_char.subscription_token.value()); - gatt_char.subscription_token = std::nullopt; - } - - gatt_char.subscription_token = std::make_optional(gatt_characteristic.ValueChanged({ - this, &UniversalBlePlugin::GattCharacteristicValueChanged - })); - } - - result(std::nullopt); - } - catch (const FlutterError& err) - { - result(err); - } - catch (...) - { - std::cout << "SetNotifiableLog: Unknown error" << std::endl; - result(FlutterError("Failed", "Unknown error")); - } - } - - void UniversalBlePlugin::GattCharacteristicValueChanged(const GattCharacteristic& sender, const GattValueChangedEventArgs& args) - { - auto uuid = to_uuidstr(sender.Uuid()); - auto bytes = to_bytevc(args.CharacteristicValue()); - ui_thread_handler_.Post([sender, uuid, bytes] - { callback_channel->OnValueChanged(mac_address_to_str(sender.Service().Device().BluetoothAddress()), uuid, bytes, SuccessCallback, ErrorCallback); }); - } - -} // namespace universal_ble \ No newline at end of file diff --git a/universal_ble/windows/src/universal_ble_plugin.h b/universal_ble/windows/src/universal_ble_plugin.h deleted file mode 100644 index abeffed79..000000000 --- a/universal_ble/windows/src/universal_ble_plugin.h +++ /dev/null @@ -1,200 +0,0 @@ -#ifndef FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_H_ -#define FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_H_ - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include "helper/utils.h" -#include "helper/universal_enum.h" -#include "helper/universal_ble_base.h" -#include "generated/universal_ble.g.h" -#include "ui_thread_handler.hpp" -#include "universal_ble_thread_safe.h" - -namespace universal_ble -{ - struct GattCharacteristicObject - { - GattCharacteristic obj = nullptr; - std::optional subscription_token; - }; - - struct GattServiceObject - { - GattDeviceService obj = nullptr; - std::unordered_map characteristics; - }; - - struct BluetoothDeviceAgent - { - BluetoothLEDevice device; - event_token connection_status_changed_token; - std::unordered_map gatt_map; - - BluetoothDeviceAgent(const BluetoothLEDevice &device, const event_token connection_status_changed_token, - const std::unordered_map &gatt_map) - : device(device), - connection_status_changed_token(connection_status_changed_token), - gatt_map(gatt_map) - { - } - - ~BluetoothDeviceAgent() - { - device = nullptr; - } - - GattCharacteristicObject &FetchCharacteristic(const std::string &service_uuid, - const std::string &characteristic_uuid) - { - if (gatt_map.count(service_uuid) == 0) - { - throw FlutterError("IllegalArgument", "Service not found"); - } - if (gatt_map[service_uuid].characteristics.count(characteristic_uuid) == 0) - { - throw FlutterError("IllegalArgument", "Characteristic not found"); - } - return gatt_map[service_uuid].characteristics.at(characteristic_uuid); - } - }; - - class UniversalBlePlugin : public flutter::Plugin, public UniversalBlePlatformChannel - { - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows *registrar); - - UniversalBlePlugin(flutter::PluginRegistrarWindows *registrar); - - ~UniversalBlePlugin(); - - // Disallow copy and assign. - UniversalBlePlugin(const UniversalBlePlugin&) = delete; - UniversalBlePlugin& operator=(const UniversalBlePlugin&) = delete; - - - private: - static void SuccessCallback() {} - static void ErrorCallback(const FlutterError &error) - { - // Ignore ChannelConnection Error, This might occur because of HotReload - if (error.code() != "channel-error") - { - std::cout << "ErrorCode: " << error.code() << " Message: " << error.message() << std::endl; - } - } - - flutter::PluginRegistrarWindows *registrar_; - bool initialized_ = false; - - UniversalBleUiThreadHandler ui_thread_handler_; - Radio bluetooth_radio_{nullptr}; - RadioState old_radio_state_ = RadioState::Unknown; - BluetoothLEAdvertisementWatcher bluetooth_le_watcher_{nullptr}; - DeviceWatcher device_watcher_{nullptr}; - - std::unordered_map> connected_devices_{}; - ThreadSafeMap device_watcher_devices_{}; - ThreadSafeMap scan_results_{}; - - event_token bluetooth_le_watcher_received_token_; - event_token device_watcher_added_token_; - event_token device_watcher_updated_token_; - event_token device_watcher_removed_token_; - event_token device_watcher_enumeration_completed_token_; - event_token device_watcher_stopped_token_; - event_revoker radio_state_changed_revoker_; - - - fire_and_forget InitializeAsync(); - fire_and_forget ConnectAsync(uint64_t bluetooth_address); - fire_and_forget SetNotifiableAsync( - const std::string& device_id, - const std::string& service, - const std::string& characteristic, - int64_t ble_input_property, - std::function reply)> result); - fire_and_forget PairAsync(const std::string& device_id, std::function reply)> result); - fire_and_forget CustomPairAsync(const std::string& device_id, std::function reply)> result); - static fire_and_forget GetSystemDevicesAsync( - std::vector with_services, - std::function reply)> result); - static fire_and_forget IsPairedAsync(const std::string& device_id, std::function reply)> result); - - static void DiscoverServicesAsync(BluetoothDeviceAgent& bluetooth_device_agent, const std::function reply)>&); - void PairingRequestedHandler(DeviceInformationCustomPairing sender, const DevicePairingRequestedEventArgs& event_args); - - void RadioStateChanged(const Radio& sender, const IInspectable&); - void SetupDeviceWatcher(); - void DisposeDeviceWatcher(); - void PushUniversalScanResult(UniversalBleScanResult scan_result, bool is_connectable); - void BluetoothLeWatcherReceived(const BluetoothLEAdvertisementWatcher& sender, const - BluetoothLEAdvertisementReceivedEventArgs& args); - void OnDeviceInfoReceived(const DeviceInformation& device_info); - void BluetoothLeDeviceConnectionStatusChanged(const BluetoothLEDevice& sender, const IInspectable& args); - void CleanConnection(uint64_t bluetooth_address); - - - void GattCharacteristicValueChanged(const GattCharacteristic& sender, const GattValueChangedEventArgs& args); - - // UniversalBlePlatformChannel implementation. - void GetBluetoothAvailabilityState(std::function reply)> result) override; - void EnableBluetooth(std::function reply)> result) override; - void DisableBluetooth(std::function reply)> result) override; - ErrorOr GetConnectionState(const std::string &device_id) override; - std::optional StartScan(const UniversalScanFilter *filter) override; - std::optional StopScan() override; - std::optional Connect(const std::string &device_id) override; - std::optional Disconnect(const std::string &device_id) override; - void DiscoverServices( - const std::string &device_id, - std::function reply)> result) override; - void SetNotifiable( - const std::string &device_id, - const std::string &service, - const std::string &characteristic, - int64_t ble_input_property, - std::function reply)> result) override; - void ReadValue( - const std::string &device_id, - const std::string &service, - const std::string &characteristic, - std::function> reply)> result) override; - void WriteValue( - const std::string &device_id, - const std::string &service, - const std::string &characteristic, - const std::vector &value, - int64_t ble_output_property, - std::function reply)> result) override; - void RequestMtu( - const std::string &device_id, - int64_t expected_mtu, - std::function reply)> result) override; - void IsPaired( - const std::string &device_id, - std::function reply)> result) override; - void Pair( - const std::string &device_id, - std::function reply)> result) override; - std::optional UnPair(const std::string &device_id) override; - void GetSystemDevices( - const flutter::EncodableList &with_services, - std::function reply)> result) override; - }; - -} // namespace universal_ble - -#endif // FLUTTER_PLUGIN_UNIVERSAL_BLE_PLUGIN_H_ \ No newline at end of file diff --git a/universal_ble/windows/src/universal_ble_thread_safe.h b/universal_ble/windows/src/universal_ble_thread_safe.h deleted file mode 100644 index e38a0cf1b..000000000 --- a/universal_ble/windows/src/universal_ble_thread_safe.h +++ /dev/null @@ -1,52 +0,0 @@ -#include -#include -#include -#include -#include -#include - -namespace universal_ble -{ - // Thread Safe Map wrapper - // Use only if you don't care about value ownership and it's OK to work with copies of the data. - template - class ThreadSafeMap - { - private: - std::unordered_map data; - mutable std::shared_mutex mutex; - - public: - void insert_or_assign(const Key &key, const Value &value) - { - std::unique_lock lock(mutex); - data.insert_or_assign(key, value); - } - - bool remove(const Key &key) - { - std::unique_lock lock(mutex); - return data.erase(key) > 0; - } - - std::optional get(const Key &key) const - { - std::shared_lock lock(mutex); - auto it = data.find(key); - return (it != data.end()) ? std::optional(it->second) : std::nullopt; - } - - void clear() - { - std::unique_lock lock(mutex); - data.clear(); - } - - std::map get_snapshot() const - { - std::shared_lock lock(mutex); - return data; - } - }; - -} // namespace universal_ble diff --git a/universal_ble/windows/universal_ble_plugin_c_api.cpp b/universal_ble/windows/universal_ble_plugin_c_api.cpp deleted file mode 100644 index cb59edda8..000000000 --- a/universal_ble/windows/universal_ble_plugin_c_api.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include "include/universal_ble/universal_ble_plugin_c_api.h" - -#include - -#include "src/universal_ble_plugin.h" - -void UniversalBlePluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) -{ - universal_ble::UniversalBlePlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} From 3e56c323766458c8e3adc9f45af5220852197027 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 29 Mar 2025 10:54:26 +0100 Subject: [PATCH 031/636] attempt to fix windows ble issue --- lib/utils/connection.dart | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/utils/connection.dart b/lib/utils/connection.dart index f4fe94358..3a0e68128 100644 --- a/lib/utils/connection.dart +++ b/lib/utils/connection.dart @@ -59,11 +59,12 @@ class Connection { Future _connect(BaseDevice bleDevice) async { try { - await bleDevice.connect(); - final actionSubscription = bleDevice.actionStream.listen((data) { _actionStreams.add(data); }); + + await bleDevice.connect(); + _streamSubscriptions[bleDevice] = actionSubscription; final connectionStateSubscription = UniversalBle.connectionStream(bleDevice.device.deviceId).listen(( From f7856cd71acf36536e03dfe05c711dc6dcf40bba Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 29 Mar 2025 11:04:19 +0100 Subject: [PATCH 032/636] fix build, add zwift_ride.html for debugging --- .github/workflows/build.yml | 2 +- web/zwift_ride.html | 294 ++++++++++++++++++++++++++++++++++++ 2 files changed, 295 insertions(+), 1 deletion(-) create mode 100644 web/zwift_ride.html diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 35694e6aa..c63ec9eb9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -80,9 +80,9 @@ jobs: - name: Handle archives run: | + cp build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/SwiftControl.android.apk cd build/macos/Build/Products/Release/ zip -r SwiftControl.macos.zip SwiftControl.app/ - cp build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/SwiftControl.android.apk #9 Upload Artifacts - name: Upload Artifacts diff --git a/web/zwift_ride.html b/web/zwift_ride.html new file mode 100644 index 000000000..8d6b3d42b --- /dev/null +++ b/web/zwift_ride.html @@ -0,0 +1,294 @@ + + + + + + Zwift Ride Scanner (Protocol Buffers) + + + +

        Zwift Ride Scanner

        + +
        Status: Disconnected
        +
        
        +
        +        
        +    
        +
        
        From dbed5cc24750d53b413378030f91904f4b35e6e0 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 12:26:47 +0100
        Subject: [PATCH 033/636] refactor to use universal_ble
        
        ---
         CHANGELOG.md                       |  3 +
         lib/pages/scan.dart                | 90 +++++++++++-------------------
         lib/utils/connection.dart          | 46 ++++++++++++---
         lib/utils/devices/base_device.dart | 15 +----
         lib/utils/devices/zwift_click.dart | 15 ++---
         pubspec.yaml                       |  2 +-
         6 files changed, 81 insertions(+), 90 deletions(-)
         create mode 100644 CHANGELOG.md
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        new file mode 100644
        index 000000000..472f1008d
        --- /dev/null
        +++ b/CHANGELOG.md
        @@ -0,0 +1,3 @@
        +### 1.0.0+3 (2025-03-29)
        +
        +- Fix Windows connection by using a different Bluetooth stack
        diff --git a/lib/pages/scan.dart b/lib/pages/scan.dart
        index c18ded00a..8158548f4 100644
        --- a/lib/pages/scan.dart
        +++ b/lib/pages/scan.dart
        @@ -1,10 +1,7 @@
        -import 'dart:async';
        -
        +import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/main.dart';
        -import 'package:swift_control/utils/ble.dart';
         import 'package:swift_control/widgets/small_progress_indicator.dart';
        -import 'package:universal_ble/universal_ble.dart';
         
         import '../widgets/logviewer.dart';
         
        @@ -16,14 +13,11 @@ class ScanWidget extends StatefulWidget {
         }
         
         class _ScanWidgetState extends State {
        -  bool _isScanning = false;
        -  late StreamSubscription _isScanningSubscription;
        -
           @override
           void initState() {
             super.initState();
         
        -    connection.startScanning();
        +    connection.initialize();
         
             /*_isScanningSubscription = FlutterBluePlus.isScanning.listen((state) {
               _isScanning = state;
        @@ -34,58 +28,13 @@ class _ScanWidgetState extends State {
         
             // after the first frame
             WidgetsBinding.instance.addPostFrameCallback((_) {
        -      onScanPressed();
        +      // must be called from a button
        +      if (!kIsWeb) {
        +        connection.performScanning();
        +      }
             });
           }
         
        -  @override
        -  void dispose() {
        -    _isScanningSubscription.cancel();
        -    super.dispose();
        -  }
        -
        -  Future onScanPressed() async {
        -    try {
        -      await UniversalBle.startScan(
        -        //timeout: const Duration(seconds: 30),
        -        scanFilter: ScanFilter(
        -          withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID],
        -        ),
        -        platformConfig: PlatformConfig(web: WebOptions(optionalServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID])),
        -      );
        -    } catch (e, backtrace) {
        -      ScaffoldMessenger.of(
        -        context,
        -      ).showSnackBar(SnackBar(content: Text('Error: $e'), duration: const Duration(seconds: 5)));
        -      print(e);
        -      print("backtrace: $backtrace");
        -    }
        -    if (mounted) {
        -      setState(() {});
        -    }
        -  }
        -
        -  Future onStopPressed() async {
        -    try {
        -      UniversalBle.stopScan();
        -    } catch (e, backtrace) {
        -      ScaffoldMessenger.of(
        -        context,
        -      ).showSnackBar(SnackBar(content: Text('Error: $e'), duration: const Duration(seconds: 5)));
        -      print(e);
        -      print("backtrace: $backtrace");
        -    }
        -  }
        -
        -  Widget buildScanButton(BuildContext context) {
        -    if (false) {
        -      //FlutterBluePlus.isScanningNow) {
        -      return ElevatedButton(onPressed: onStopPressed, child: const Icon(Icons.stop));
        -    } else {
        -      return ElevatedButton(onPressed: onScanPressed, child: const Text("SCAN"));
        -    }
        -  }
        -
           @override
           Widget build(BuildContext context) {
             return Container(
        @@ -93,7 +42,32 @@ class _ScanWidgetState extends State {
               child: ListView(
                 padding: EdgeInsets.all(16),
                 shrinkWrap: true,
        -        children: [if (_isScanning) SmallProgressIndicator() else buildScanButton(context), LogViewer()],
        +        children: [
        +          ValueListenableBuilder(
        +            valueListenable: connection.isScanning,
        +            builder: (context, isScanning, widget) {
        +              if (isScanning) {
        +                return Column(
        +                  spacing: 12,
        +                  children: [
        +                    Text(
        +                      'Scanning for devices... Make sure they are powered on and in range and not connected to another device.',
        +                    ),
        +                    SmallProgressIndicator(),
        +                  ],
        +                );
        +              } else {
        +                return ElevatedButton(
        +                  onPressed: () {
        +                    connection.performScanning();
        +                  },
        +                  child: const Text("SCAN"),
        +                );
        +              }
        +            },
        +          ),
        +          if (kDebugMode) LogViewer(),
        +        ],
               ),
             );
           }
        diff --git a/lib/utils/connection.dart b/lib/utils/connection.dart
        index 3a0e68128..e534e965d 100644
        --- a/lib/utils/connection.dart
        +++ b/lib/utils/connection.dart
        @@ -8,6 +8,7 @@ import 'package:swift_control/utils/devices/base_device.dart';
         import 'package:swift_control/utils/requirements/android.dart';
         import 'package:universal_ble/universal_ble.dart';
         
        +import 'ble.dart';
         import 'messages/notification.dart';
         
         class Connection {
        @@ -24,9 +25,9 @@ class Connection {
         
           var _lastScanResult = [];
           final ValueNotifier hasDevices = ValueNotifier(false);
        -  late StreamSubscription> _scanResultsSubscription;
        +  final ValueNotifier isScanning = ValueNotifier(false);
         
        -  void startScanning() {
        +  void initialize() {
             UniversalBle.onScanResult = (result) {
               if (_lastScanResult.none((e) => e.deviceId == result.deviceId)) {
                 _lastScanResult.add(result);
        @@ -37,6 +38,31 @@ class Connection {
                 }
               }
             };
        +
        +    UniversalBle.onValueChange = (deviceId, characteristicUuid, value) {
        +      final device = devices.firstOrNullWhere((e) => e.device.deviceId == deviceId);
        +      if (device == null) {
        +        _actionStreams.add(LogNotification('Device not found: $deviceId'));
        +        return;
        +      } else {
        +        device.processCharacteristic(characteristicUuid, value);
        +      }
        +    };
        +  }
        +
        +  Future performScanning() async {
        +    isScanning.value = true;
        +
        +    await UniversalBle.startScan(
        +      scanFilter: ScanFilter(withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID]),
        +      platformConfig: PlatformConfig(web: WebOptions(optionalServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID])),
        +    );
        +    Future.delayed(Duration(seconds: 30)).then((_) {
        +      if (isScanning.value) {
        +        UniversalBle.stopScan();
        +        isScanning.value = false;
        +      }
        +    });
           }
         
           void _addDevices(List dev) {
        @@ -62,11 +88,6 @@ class Connection {
               final actionSubscription = bleDevice.actionStream.listen((data) {
                 _actionStreams.add(data);
               });
        -
        -      await bleDevice.connect();
        -
        -      _streamSubscriptions[bleDevice] = actionSubscription;
        -
               final connectionStateSubscription = UniversalBle.connectionStream(bleDevice.device.deviceId).listen((
                 state,
               ) async {
        @@ -74,6 +95,10 @@ class Connection {
                 _connectionStreams.add(bleDevice);
               });
               _connectionSubscriptions[bleDevice] = connectionStateSubscription;
        +
        +      await bleDevice.connect();
        +
        +      _streamSubscriptions[bleDevice] = actionSubscription;
             } catch (e, backtrace) {
               _actionStreams.add(LogNotification(e.toString()));
               if (kDebugMode) {
        @@ -85,9 +110,16 @@ class Connection {
         
           void reset() {
             UniversalBle.stopScan();
        +    isScanning.value = false;
             for (var device in devices) {
        +      _streamSubscriptions[device]?.cancel();
        +      _streamSubscriptions.remove(device);
        +      _connectionSubscriptions[device]?.cancel();
        +      _connectionSubscriptions.remove(device);
               UniversalBle.disconnect(device.device.deviceId);
             }
        +    _lastScanResult.clear();
        +    hasDevices.value = false;
             devices.clear();
           }
         }
        diff --git a/lib/utils/devices/base_device.dart b/lib/utils/devices/base_device.dart
        index 619099978..90d7f61c2 100644
        --- a/lib/utils/devices/base_device.dart
        +++ b/lib/utils/devices/base_device.dart
        @@ -69,19 +69,6 @@ abstract class BaseDevice {
           Future connect() async {
             await UniversalBle.connect(device.deviceId, connectionTimeout: const Duration(seconds: 3));
         
        -    /*var filteredStateStream = await device.connectionState;
        -
        -    // Start listening now, before invokeMethod, to ensure we don't miss the response
        -    Future futureState = filteredStateStream.first;
        -
        -    // wait for connection
        -    await futureState.timeout(
        -      const Duration(seconds: 10),
        -      onTimeout: () {
        -        throw TimeoutException('Failed to connect in time.');
        -      },
        -    );*/
        -
             if (!kIsWeb && Platform.isAndroid) {
               //await UniversalBle.requestMtu(device.deviceId, 256);
             }
        @@ -91,4 +78,6 @@ abstract class BaseDevice {
           }
         
           Future handleServices(List services);
        +
        +  void processCharacteristic(String tag, Uint8List bytes);
         }
        diff --git a/lib/utils/devices/zwift_click.dart b/lib/utils/devices/zwift_click.dart
        index 8a8bf2d72..0b4f4e117 100644
        --- a/lib/utils/devices/zwift_click.dart
        +++ b/lib/utils/devices/zwift_click.dart
        @@ -37,14 +37,6 @@ class ZwiftClick extends BaseDevice {
               throw Exception('Characteristics not found');
             }
         
        -    UniversalBle.onValueChange = (deviceId, characteristicUuid, value) {
        -      if (characteristicUuid == asyncCharacteristic.uuid) {
        -        _processCharacteristic('async', value);
        -      } else if (characteristicUuid == syncTxCharacteristic.uuid) {
        -        _processCharacteristic('sync', value);
        -      }
        -    };
        -
             await UniversalBle.setNotifiable(
               device.deviceId,
               customService.uuid,
        @@ -85,10 +77,11 @@ class ZwiftClick extends BaseDevice {
             }
           }
         
        -  void _processCharacteristic(String tag, Uint8List bytes) {
        +  @override
        +  void processCharacteristic(String characteristic, Uint8List bytes) {
             if (kDebugMode) {
        -      print('Received $tag: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}');
        -      print('Received $tag: ${String.fromCharCodes(bytes)}');
        +      print('Received $characteristic: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}');
        +      print('Received $characteristic: ${String.fromCharCodes(bytes)}');
             }
         
             if (bytes.isEmpty) {
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 54d65adac..4e589f4e1 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.0.0+2
        +version: 1.0.0+3
         
         environment:
           sdk: ^3.7.0
        
        From cf9401d81c7314698f9c46e6e41c6cb3ba337e15 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 12:53:27 +0100
        Subject: [PATCH 034/636] resolve
         https://github.com/jonasbark/swiftcontrol/issues/2
        
        ---
         .../de/jonasbark/accessibility/AccessibilityService.kt      | 6 +++++-
         lib/utils/devices/zwift_click.dart                          | 2 +-
         2 files changed, 6 insertions(+), 2 deletions(-)
        
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        index c5b8632fe..4a1946a79 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        @@ -10,6 +10,7 @@ import android.util.Log
         import android.view.ViewConfiguration
         import android.view.accessibility.AccessibilityEvent
         import android.view.accessibility.AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_DISAPPEARED
        +import android.view.accessibility.AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED
         import android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
         
         
        @@ -26,11 +27,14 @@ class AccessibilityService : AccessibilityService(), Listener {
                 Observable.toService = null
             }
         
        +    private val ignorePackages = listOf("com.android.systemui", "com.android.launcher", "com.android.settings")
        +
             override fun onAccessibilityEvent(event: AccessibilityEvent) {
        +        Log.w("Acc", "onAccessibilityEvent: ${event.packageName} ${event.eventType} ${event.contentChangeTypes}")
                 if (event.packageName == null || rootInActiveWindow == null) {
                     return
                 }
        -        if (event.contentChangeTypes == CONTENT_CHANGE_TYPE_PANE_DISAPPEARED) {
        +        if (event.eventType != TYPE_WINDOW_STATE_CHANGED || event.packageName in ignorePackages) {
                     // we're not interested
                     return
                 }
        diff --git a/lib/utils/devices/zwift_click.dart b/lib/utils/devices/zwift_click.dart
        index 0b4f4e117..6a85041a1 100644
        --- a/lib/utils/devices/zwift_click.dart
        +++ b/lib/utils/devices/zwift_click.dart
        @@ -79,7 +79,7 @@ class ZwiftClick extends BaseDevice {
         
           @override
           void processCharacteristic(String characteristic, Uint8List bytes) {
        -    if (kDebugMode) {
        +    if (kDebugMode && false) {
               print('Received $characteristic: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}');
               print('Received $characteristic: ${String.fromCharCodes(bytes)}');
             }
        
        From 3ee38ee1e22f56d5ce59c81217e3e57c3dcb892e Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 13:07:18 +0100
        Subject: [PATCH 035/636] update changelog
        
        ---
         CHANGELOG.md | 3 ++-
         1 file changed, 2 insertions(+), 1 deletion(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 472f1008d..2f19e9f32 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,4 @@
         ### 1.0.0+3 (2025-03-29)
         
        -- Fix Windows connection by using a different Bluetooth stack
        +- Windows: fix connection by using a different Bluetooth stack (issue #1)
        +- Android: fix non-working touch propagation (issue #2)
        
        From 0996506fd1d3fcf64eecc9320f75c9dd940b7c2b Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 13:49:22 +0100
        Subject: [PATCH 036/636] attempt to fix #3
        
        ---
         CHANGELOG.md                                  |   3 +
         lib/utils/ble.dart                            |   6 +-
         lib/utils/devices/zwift_play.dart             |   6 +-
         lib/utils/devices/zwift_ride.dart             |  35 ++++-
         ...tification.dart => play_notification.dart} |   6 +-
         lib/utils/messages/ride_notification.dart     | 140 ++++++++++++++++++
         pubspec.yaml                                  |   2 +-
         7 files changed, 188 insertions(+), 10 deletions(-)
         rename lib/utils/messages/{controller_notification.dart => play_notification.dart} (93%)
         create mode 100644 lib/utils/messages/ride_notification.dart
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 2f19e9f32..f9202bc59 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 1.0.0+4 (2025-03-29)
        +- Zwift Ride: attempt to fix button parsing
        +
         ### 1.0.0+3 (2025-03-29)
         
         - Windows: fix connection by using a different Bluetooth stack (issue #1)
        diff --git a/lib/utils/ble.dart b/lib/utils/ble.dart
        index 5401a05c2..858785a0f 100644
        --- a/lib/utils/ble.dart
        +++ b/lib/utils/ble.dart
        @@ -15,6 +15,10 @@ class Constants {
           static const RC1_LEFT_SIDE = 0x03;
           static const RC1_RIGHT_SIDE = 0x02;
         
        +  // Zwift Ride
        +  static const RIDE_RIGHT_SIDE = 0x07;
        +  static const RIDE_LEFT_SIDE = 0x08;
        +
           // Zwift Click = BC1
           static const BC1 = 0x09;
         
        @@ -33,7 +37,7 @@ class Constants {
           // not figured out the protobuf type this really is, the content is just two varints.
           static const int CLICK_NOTIFICATION_MESSAGE_TYPE = 55;
           static const int PLAY_NOTIFICATION_MESSAGE_TYPE = 7;
        -  static const int RIDE_NOTIFICATION_MESSAGE_TYPE = 35;
        +  static const int RIDE_NOTIFICATION_MESSAGE_TYPE = 35; // 0x23
         
           // see this if connected to Core then Zwift connects to it. just one byte
           static const DISCONNECT_MESSAGE_TYPE = 0xFE;
        diff --git a/lib/utils/devices/zwift_play.dart b/lib/utils/devices/zwift_play.dart
        index 78d32e5ef..8a0e4b615 100644
        --- a/lib/utils/devices/zwift_play.dart
        +++ b/lib/utils/devices/zwift_play.dart
        @@ -1,7 +1,7 @@
         import 'package:accessibility/accessibility.dart';
         import 'package:flutter/foundation.dart';
         import 'package:swift_control/utils/devices/zwift_click.dart';
        -import 'package:swift_control/utils/messages/controller_notification.dart';
        +import 'package:swift_control/utils/messages/play_notification.dart';
         
         import '../../main.dart';
         import '../ble.dart';
        @@ -9,14 +9,14 @@ import '../ble.dart';
         class ZwiftPlay extends ZwiftClick {
           ZwiftPlay(super.scanResult);
         
        -  ControllerNotification? _lastControllerNotification;
        +  PlayNotification? _lastControllerNotification;
         
           @override
           List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_PLAY;
         
           @override
           void processClickNotification(Uint8List message) {
        -    final ControllerNotification clickNotification = ControllerNotification(message);
        +    final PlayNotification clickNotification = PlayNotification(message);
             if (_lastControllerNotification == null || _lastControllerNotification != clickNotification) {
               _lastControllerNotification = clickNotification;
               actionStreamInternal.add(clickNotification);
        diff --git a/lib/utils/devices/zwift_ride.dart b/lib/utils/devices/zwift_ride.dart
        index 462267027..a5cd6145e 100644
        --- a/lib/utils/devices/zwift_ride.dart
        +++ b/lib/utils/devices/zwift_ride.dart
        @@ -1,8 +1,13 @@
        -import 'package:swift_control/utils/devices/zwift_play.dart';
        +import 'dart:typed_data';
        +
        +import 'package:accessibility/accessibility.dart';
        +import 'package:swift_control/main.dart';
        +import 'package:swift_control/utils/devices/zwift_click.dart';
        +import 'package:swift_control/utils/messages/ride_notification.dart';
         
         import '../ble.dart';
         
        -class ZwiftRide extends ZwiftPlay {
        +class ZwiftRide extends ZwiftClick {
           ZwiftRide(super.scanResult);
         
           @override
        @@ -10,4 +15,30 @@ class ZwiftRide extends ZwiftPlay {
         
           @override
           bool get supportsEncryption => false;
        +
        +  RideNotification? _lastControllerNotification;
        +
        +  @override
        +  void processClickNotification(Uint8List message) {
        +    final RideNotification clickNotification = RideNotification(message);
        +    if (_lastControllerNotification == null || _lastControllerNotification != clickNotification) {
        +      _lastControllerNotification = clickNotification;
        +      actionStreamInternal.add(clickNotification);
        +
        +      if (clickNotification.analogLR.abs() == 100) {
        +        actionHandler.increaseGear();
        +      } else if (clickNotification.analogUD.abs() == 100) {
        +        actionHandler.decreaseGear();
        +      }
        +      if (clickNotification.buttonA) {
        +        actionHandler.controlMedia(MediaAction.next);
        +      } else if (clickNotification.buttonY) {
        +        actionHandler.controlMedia(MediaAction.volumeUp);
        +      } else if (clickNotification.buttonB) {
        +        actionHandler.controlMedia(MediaAction.volumeDown);
        +      } else if (clickNotification.buttonZ) {
        +        actionHandler.controlMedia(MediaAction.playPause);
        +      }
        +    }
        +  }
         }
        diff --git a/lib/utils/messages/controller_notification.dart b/lib/utils/messages/play_notification.dart
        similarity index 93%
        rename from lib/utils/messages/controller_notification.dart
        rename to lib/utils/messages/play_notification.dart
        index 7758c3043..6547cfe43 100644
        --- a/lib/utils/messages/controller_notification.dart
        +++ b/lib/utils/messages/play_notification.dart
        @@ -4,13 +4,13 @@ import 'package:swift_control/utils/messages/notification.dart';
         
         import '../../protocol/zwift.pb.dart';
         
        -class ControllerNotification extends BaseNotification {
        +class PlayNotification extends BaseNotification {
           static const int BTN_PRESSED = 0;
         
           late bool rightPad, buttonY, buttonZ, buttonA, buttonB, buttonOn, buttonShift;
           late int analogLR, analogUD;
         
        -  ControllerNotification(Uint8List message) {
        +  PlayNotification(Uint8List message) {
             final status = PlayKeyPadStatus.fromBuffer(message);
         
             rightPad = status.rightPad.value == BTN_PRESSED;
        @@ -41,7 +41,7 @@ class ControllerNotification extends BaseNotification {
           @override
           bool operator ==(Object other) =>
               identical(this, other) ||
        -      other is ControllerNotification &&
        +      other is PlayNotification &&
                   runtimeType == other.runtimeType &&
                   rightPad == other.rightPad &&
                   buttonY == other.buttonY &&
        diff --git a/lib/utils/messages/ride_notification.dart b/lib/utils/messages/ride_notification.dart
        new file mode 100644
        index 000000000..46849ba1c
        --- /dev/null
        +++ b/lib/utils/messages/ride_notification.dart
        @@ -0,0 +1,140 @@
        +import 'dart:typed_data';
        +
        +import 'package:swift_control/utils/messages/notification.dart';
        +
        +import '../../protocol/zwift.pb.dart';
        +
        +enum _RideButtonMask {
        +  LEFT_BTN(0x00001),
        +  UP_BTN(0x00002),
        +  RIGHT_BTN(0x00004),
        +  DOWN_BTN(0x00008),
        +  A_BTN(0x00010),
        +  B_BTN(0x00020),
        +  Y_BTN(0x00040),
        +
        +  Z_BTN(0x00100),
        +  SHFT_UP_L_BTN(0x00200),
        +  SHFT_DN_L_BTN(0x00400),
        +  POWERUP_L_BTN(0x00800),
        +  ONOFF_L_BTN(0x01000),
        +  SHFT_UP_R_BTN(0x02000),
        +  SHFT_DN_R_BTN(0x04000),
        +
        +  POWERUP_R_BTN(0x10000),
        +  ONOFF_R_BTN(0x20000);
        +
        +  final int mask;
        +
        +  const _RideButtonMask(this.mask);
        +}
        +
        +class RideNotification extends BaseNotification {
        +  static const int BTN_PRESSED = 0;
        +
        +  late bool buttonLeft, buttonRight, buttonUp, buttonDown;
        +  late bool buttonA, buttonB, buttonY, buttonZ;
        +  late bool buttonShiftUpLeft, buttonShiftDownLeft;
        +  late bool buttonShiftUpRight, buttonShiftDownRight;
        +  late bool buttonPowerUpLeft, buttonPowerDownLeft;
        +  late bool buttonOnOffLeft, buttonOnOffRight;
        +
        +  late int analogLR, analogUD;
        +
        +  RideNotification(Uint8List message) {
        +    final status = RideKeyPadStatus.fromBuffer(message);
        +
        +    buttonLeft = status.buttonMap & _RideButtonMask.LEFT_BTN.mask == BTN_PRESSED;
        +    buttonRight = status.buttonMap & _RideButtonMask.RIGHT_BTN.mask == BTN_PRESSED;
        +    buttonUp = status.buttonMap & _RideButtonMask.UP_BTN.mask == BTN_PRESSED;
        +    buttonDown = status.buttonMap & _RideButtonMask.DOWN_BTN.mask == BTN_PRESSED;
        +    buttonA = status.buttonMap & _RideButtonMask.A_BTN.mask == BTN_PRESSED;
        +    buttonB = status.buttonMap & _RideButtonMask.B_BTN.mask == BTN_PRESSED;
        +    buttonY = status.buttonMap & _RideButtonMask.Y_BTN.mask == BTN_PRESSED;
        +    buttonZ = status.buttonMap & _RideButtonMask.Z_BTN.mask == BTN_PRESSED;
        +    buttonShiftUpLeft = status.buttonMap & _RideButtonMask.SHFT_UP_L_BTN.mask == BTN_PRESSED;
        +    buttonShiftDownLeft = status.buttonMap & _RideButtonMask.SHFT_DN_L_BTN.mask == BTN_PRESSED;
        +    buttonShiftUpRight = status.buttonMap & _RideButtonMask.SHFT_UP_R_BTN.mask == BTN_PRESSED;
        +    buttonShiftDownRight = status.buttonMap & _RideButtonMask.SHFT_DN_R_BTN.mask == BTN_PRESSED;
        +    buttonPowerUpLeft = status.buttonMap & _RideButtonMask.POWERUP_L_BTN.mask == BTN_PRESSED;
        +    buttonPowerDownLeft = status.buttonMap & _RideButtonMask.POWERUP_R_BTN.mask == BTN_PRESSED;
        +    buttonOnOffLeft = status.buttonMap & _RideButtonMask.ONOFF_L_BTN.mask == BTN_PRESSED;
        +    buttonOnOffRight = status.buttonMap & _RideButtonMask.ONOFF_R_BTN.mask == BTN_PRESSED;
        +
        +    for (final analogue in status.analogButtons.groupStatus) {
        +      if (analogue.location == RideAnalogLocation.LEFT) {
        +        analogLR = analogue.analogValue;
        +      } else if (analogue.location == RideAnalogLocation.DOWN) {
        +        analogUD = analogue.analogValue;
        +      }
        +    }
        +  }
        +
        +  @override
        +  String toString() {
        +    final allTrueParameters = [
        +      if (buttonLeft) 'buttonLeft',
        +      if (buttonRight) 'buttonRight',
        +      if (buttonUp) 'buttonUp',
        +      if (buttonDown) 'buttonDown',
        +      if (buttonA) 'buttonA',
        +      if (buttonB) 'buttonB',
        +      if (buttonY) 'buttonY',
        +      if (buttonZ) 'buttonZ',
        +      if (buttonShiftUpLeft) 'buttonShiftUpLeft',
        +      if (buttonShiftDownLeft) 'buttonShiftDownLeft',
        +      if (buttonShiftUpRight) 'buttonShiftUpRight',
        +      if (buttonShiftDownRight) 'buttonShiftDownRight',
        +      if (buttonPowerUpLeft) 'buttonPowerUpLeft',
        +      if (buttonPowerDownLeft) 'buttonPowerDownLeft',
        +      if (buttonOnOffLeft) 'buttonOnOffLeft',
        +      if (buttonOnOffRight) 'buttonOnOffRight',
        +    ];
        +    return '{$allTrueParameters, analogLR: $analogLR, analogUD: $analogUD}';
        +  }
        +
        +  @override
        +  bool operator ==(Object other) =>
        +      identical(this, other) ||
        +      other is RideNotification &&
        +          runtimeType == other.runtimeType &&
        +          buttonLeft == other.buttonLeft &&
        +          buttonRight == other.buttonRight &&
        +          buttonUp == other.buttonUp &&
        +          buttonDown == other.buttonDown &&
        +          buttonA == other.buttonA &&
        +          buttonB == other.buttonB &&
        +          buttonY == other.buttonY &&
        +          buttonZ == other.buttonZ &&
        +          buttonShiftUpLeft == other.buttonShiftUpLeft &&
        +          buttonShiftDownLeft == other.buttonShiftDownLeft &&
        +          buttonShiftUpRight == other.buttonShiftUpRight &&
        +          buttonShiftDownRight == other.buttonShiftDownRight &&
        +          buttonPowerUpLeft == other.buttonPowerUpLeft &&
        +          buttonPowerDownLeft == other.buttonPowerDownLeft &&
        +          buttonOnOffLeft == other.buttonOnOffLeft &&
        +          buttonOnOffRight == other.buttonOnOffRight &&
        +          analogLR == other.analogLR &&
        +          analogUD == other.analogUD;
        +
        +  @override
        +  int get hashCode =>
        +      buttonLeft.hashCode ^
        +      buttonRight.hashCode ^
        +      buttonUp.hashCode ^
        +      buttonDown.hashCode ^
        +      buttonA.hashCode ^
        +      buttonB.hashCode ^
        +      buttonY.hashCode ^
        +      buttonZ.hashCode ^
        +      buttonShiftUpLeft.hashCode ^
        +      buttonShiftDownLeft.hashCode ^
        +      buttonShiftUpRight.hashCode ^
        +      buttonShiftDownRight.hashCode ^
        +      buttonPowerUpLeft.hashCode ^
        +      buttonPowerDownLeft.hashCode ^
        +      buttonOnOffLeft.hashCode ^
        +      buttonOnOffRight.hashCode ^
        +      analogLR.hashCode ^
        +      analogUD.hashCode;
        +}
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 4e589f4e1..21ae595d4 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.0.0+3
        +version: 1.0.0+4
         
         environment:
           sdk: ^3.7.0
        
        From 82dd8a9b48216ec08a040991245d842877b80e72 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 14:16:17 +0100
        Subject: [PATCH 037/636] sign Android APK
        
        ---
         .github/workflows/build.yml  |  5 +++++
         .gitignore                   |  2 ++
         android/app/build.gradle.kts | 21 ++++++++++++++++++---
         3 files changed, 25 insertions(+), 3 deletions(-)
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index c63ec9eb9..23797637e 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -71,6 +71,11 @@ jobs:
                 env:
                   DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY: ${{ secrets.DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY }}
         
        +      - name: Decode Keystore
        +        run: |
        +          echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > android/android.keystore
        +          echo "${{ secrets.KEYSTORE_PROPERTIES }}" > android/android.properties
        +
                 #6 Building APK
               - name: Build APK
                 run: flutter build apk --release
        diff --git a/.gitignore b/.gitignore
        index 79c113f9b..b037b197c 100644
        --- a/.gitignore
        +++ b/.gitignore
        @@ -12,6 +12,8 @@
         .swiftpm/
         migrate_working_dir/
         
        +android/keystore.properties
        +
         # IntelliJ related
         *.iml
         *.ipr
        diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
        index ab2534c3f..6f36747b8 100644
        --- a/android/app/build.gradle.kts
        +++ b/android/app/build.gradle.kts
        @@ -1,3 +1,6 @@
        +import java.io.FileInputStream
        +import java.util.*
        +
         plugins {
             id("com.android.application")
             id("kotlin-android")
        @@ -5,6 +8,11 @@ plugins {
             id("dev.flutter.flutter-gradle-plugin")
         }
         
        +
        +val keystorePropertiesFile = rootProject.file("keystore.properties")
        +val keystoreProperties = Properties()
        +keystoreProperties.load(FileInputStream(keystorePropertiesFile))
        +
         android {
             namespace = "de.jonasbark.swift_play"
             compileSdk = flutter.compileSdkVersion
        @@ -33,11 +41,18 @@ android {
                 versionName = flutter.versionName
             }
         
        +    signingConfigs {
        +        create("config") {
        +            keyAlias = keystoreProperties["keyAlias"] as String
        +            keyPassword = keystoreProperties["keyPassword"] as String
        +            storeFile = file("../${keystoreProperties["storeFile"] as String}")
        +            storePassword = keystoreProperties["storePassword"] as String
        +        }
        +    }
        +
             buildTypes {
                 release {
        -            // TODO: Add your own signing config for the release build.
        -            // Signing with the debug keys for now, so `flutter run --release` works.
        -            signingConfig = signingConfigs.getByName("debug")
        +            signingConfig = signingConfigs.getByName("config")
                 }
             }
         }
        
        From 3c87d895c52f8299d4434a1fc062f77d96a6ff62 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 14:34:39 +0100
        Subject: [PATCH 038/636] fix missing permissions for Android
        
        ---
         CHANGELOG.md                                  |  1 +
         lib/utils/requirements/android.dart           | 31 ++++++++++++
         lib/utils/requirements/platform.dart          |  9 +++-
         pubspec.lock                                  | 48 +++++++++++++++++++
         pubspec.yaml                                  |  1 +
         .../flutter/generated_plugin_registrant.cc    |  3 ++
         windows/flutter/generated_plugins.cmake       |  1 +
         7 files changed, 93 insertions(+), 1 deletion(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index f9202bc59..52059c18c 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,5 +1,6 @@
         ### 1.0.0+4 (2025-03-29)
         - Zwift Ride: attempt to fix button parsing
        +- Android: fix missing permissions
         
         ### 1.0.0+3 (2025-03-29)
         
        diff --git a/lib/utils/requirements/android.dart b/lib/utils/requirements/android.dart
        index bd1f30ec1..2255e0384 100644
        --- a/lib/utils/requirements/android.dart
        +++ b/lib/utils/requirements/android.dart
        @@ -1,6 +1,7 @@
         import 'dart:io';
         
         import 'package:flutter_local_notifications/flutter_local_notifications.dart';
        +import 'package:permission_handler/permission_handler.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/requirements/platform.dart';
         
        @@ -18,6 +19,36 @@ class AccessibilityRequirement extends PlatformRequirement {
           }
         }
         
        +class BluetoothScanRequirement extends PlatformRequirement {
        +  BluetoothScanRequirement() : super('Allow Bluetooth Scan');
        +
        +  @override
        +  Future call() async {
        +    await Permission.bluetoothScan.request();
        +  }
        +
        +  @override
        +  Future getStatus() async {
        +    final state = await Permission.bluetoothScan.status;
        +    status = state.isGranted || state.isLimited;
        +  }
        +}
        +
        +class BluetoothConnectRequirement extends PlatformRequirement {
        +  BluetoothConnectRequirement() : super('Allow Bluetooth Connections');
        +
        +  @override
        +  Future call() async {
        +    await Permission.bluetoothConnect.request();
        +  }
        +
        +  @override
        +  Future getStatus() async {
        +    final state = await Permission.bluetoothConnect.status;
        +    status = state.isGranted || state.isLimited;
        +  }
        +}
        +
         class NotificationRequirement extends PlatformRequirement {
           NotificationRequirement() : super('Allow adding persistent Notification');
         
        diff --git a/lib/utils/requirements/platform.dart b/lib/utils/requirements/platform.dart
        index d8530d27d..6c91935f8 100644
        --- a/lib/utils/requirements/platform.dart
        +++ b/lib/utils/requirements/platform.dart
        @@ -29,7 +29,14 @@ Future> getRequirements() async {
           } else if (Platform.isWindows) {
             list = [BluetoothTurnedOn(), KeyboardRequirement(), KeymapRequirement(), BluetoothScanning()];
           } else if (Platform.isAndroid) {
        -    list = [BluetoothTurnedOn(), AccessibilityRequirement(), NotificationRequirement(), BluetoothScanning()];
        +    list = [
        +      BluetoothTurnedOn(),
        +      AccessibilityRequirement(),
        +      NotificationRequirement(),
        +      BluetoothScanRequirement(),
        +      BluetoothConnectRequirement(),
        +      BluetoothScanning(),
        +    ];
           } else {
             list = [UnsupportedPlatform()];
           }
        diff --git a/pubspec.lock b/pubspec.lock
        index fcc3902fb..ed0c85f5f 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -367,6 +367,54 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "1.9.1"
        +  permission_handler:
        +    dependency: "direct main"
        +    description:
        +      name: permission_handler
        +      sha256: "59adad729136f01ea9e35a48f5d1395e25cba6cea552249ddbe9cf950f5d7849"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "11.4.0"
        +  permission_handler_android:
        +    dependency: transitive
        +    description:
        +      name: permission_handler_android
        +      sha256: d3971dcdd76182a0c198c096b5db2f0884b0d4196723d21a866fc4cdea057ebc
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "12.1.0"
        +  permission_handler_apple:
        +    dependency: transitive
        +    description:
        +      name: permission_handler_apple
        +      sha256: f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "9.4.6"
        +  permission_handler_html:
        +    dependency: transitive
        +    description:
        +      name: permission_handler_html
        +      sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.1.3+5"
        +  permission_handler_platform_interface:
        +    dependency: transitive
        +    description:
        +      name: permission_handler_platform_interface
        +      sha256: eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "4.3.0"
        +  permission_handler_windows:
        +    dependency: transitive
        +    description:
        +      name: permission_handler_windows
        +      sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.2.1"
           petitparser:
             dependency: transitive
             description:
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 21ae595d4..46b43ea13 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -14,6 +14,7 @@ dependencies:
           flutter_local_notifications: ^19.0.0
           universal_ble: any
           protobuf: ^3.1.0
        +  permission_handler: ^11.4.0
           dartx: any
           pointycastle: any
           keypress_simulator: ^0.2.0
        diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc
        index 88d291f12..795a6e4e4 100644
        --- a/windows/flutter/generated_plugin_registrant.cc
        +++ b/windows/flutter/generated_plugin_registrant.cc
        @@ -7,12 +7,15 @@
         #include "generated_plugin_registrant.h"
         
         #include 
        +#include 
         #include 
         #include 
         
         void RegisterPlugins(flutter::PluginRegistry* registry) {
           KeypressSimulatorWindowsPluginCApiRegisterWithRegistrar(
               registry->GetRegistrarForPlugin("KeypressSimulatorWindowsPluginCApi"));
        +  PermissionHandlerWindowsPluginRegisterWithRegistrar(
        +      registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin"));
           UniversalBlePluginCApiRegisterWithRegistrar(
               registry->GetRegistrarForPlugin("UniversalBlePluginCApi"));
           UrlLauncherWindowsRegisterWithRegistrar(
        diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake
        index 82fcfba44..185f666bc 100644
        --- a/windows/flutter/generated_plugins.cmake
        +++ b/windows/flutter/generated_plugins.cmake
        @@ -4,6 +4,7 @@
         
         list(APPEND FLUTTER_PLUGIN_LIST
           keypress_simulator_windows
        +  permission_handler_windows
           universal_ble
           url_launcher_windows
         )
        
        From 32e8fc9bf5ac04540fc2b4c7b076a05ca4e3c73e Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 14:37:07 +0100
        Subject: [PATCH 039/636] try to resolve
         https://github.com/jonasbark/swiftcontrol/issues/3#issuecomment-2763361122
        
        ---
         .../de/jonasbark/accessibility/AccessibilityService.kt      | 3 ---
         lib/utils/messages/ride_notification.dart                   | 6 +++---
         2 files changed, 3 insertions(+), 6 deletions(-)
        
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        index 4a1946a79..9ca85d64f 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        @@ -9,8 +9,6 @@ import android.os.Build
         import android.util.Log
         import android.view.ViewConfiguration
         import android.view.accessibility.AccessibilityEvent
        -import android.view.accessibility.AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_DISAPPEARED
        -import android.view.accessibility.AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED
         import android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED
         
         
        @@ -30,7 +28,6 @@ class AccessibilityService : AccessibilityService(), Listener {
             private val ignorePackages = listOf("com.android.systemui", "com.android.launcher", "com.android.settings")
         
             override fun onAccessibilityEvent(event: AccessibilityEvent) {
        -        Log.w("Acc", "onAccessibilityEvent: ${event.packageName} ${event.eventType} ${event.contentChangeTypes}")
                 if (event.packageName == null || rootInActiveWindow == null) {
                     return
                 }
        diff --git a/lib/utils/messages/ride_notification.dart b/lib/utils/messages/ride_notification.dart
        index 46849ba1c..38dc00f86 100644
        --- a/lib/utils/messages/ride_notification.dart
        +++ b/lib/utils/messages/ride_notification.dart
        @@ -39,7 +39,7 @@ class RideNotification extends BaseNotification {
           late bool buttonPowerUpLeft, buttonPowerDownLeft;
           late bool buttonOnOffLeft, buttonOnOffRight;
         
        -  late int analogLR, analogUD;
        +  int analogLR = 0, analogUD = 0;
         
           RideNotification(Uint8List message) {
             final status = RideKeyPadStatus.fromBuffer(message);
        @@ -62,9 +62,9 @@ class RideNotification extends BaseNotification {
             buttonOnOffRight = status.buttonMap & _RideButtonMask.ONOFF_R_BTN.mask == BTN_PRESSED;
         
             for (final analogue in status.analogButtons.groupStatus) {
        -      if (analogue.location == RideAnalogLocation.LEFT) {
        +      if (analogue.location == RideAnalogLocation.LEFT || analogue.location == RideAnalogLocation.RIGHT) {
                 analogLR = analogue.analogValue;
        -      } else if (analogue.location == RideAnalogLocation.DOWN) {
        +      } else if (analogue.location == RideAnalogLocation.DOWN || analogue.location == RideAnalogLocation.UP) {
                 analogUD = analogue.analogValue;
               }
             }
        
        From 1ee8a0188b498b7c1d40ad28dc2cc632c3a20bcd Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 14:54:16 +0100
        Subject: [PATCH 040/636] try to resolve
         https://github.com/jonasbark/swiftcontrol/issues/3#issuecomment-2763361122
        
        ---
         lib/utils/actions/android.dart | 5 ++++-
         1 file changed, 4 insertions(+), 1 deletion(-)
        
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index 5feedee85..4bef65273 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -8,13 +8,16 @@ import 'package:swift_control/utils/keymap/keymap.dart';
         class AndroidActions extends BaseActions {
           static const MYWHOOSH_APP_PACKAGE = "com.mywhoosh.whooshgame";
           static const TRAININGPEAKS_APP_PACKAGE = "com.indieVelo.client";
        +  static const validPackageNames = [MYWHOOSH_APP_PACKAGE, TRAININGPEAKS_APP_PACKAGE];
         
           WindowEvent? windowInfo;
         
           @override
           void init(Keymap? keymap) {
             streamEvents().listen((windowEvent) {
        -      windowInfo = windowEvent;
        +      if (validPackageNames.contains(windowEvent.packageName)) {
        +        windowInfo = windowEvent;
        +      }
             });
           }
         
        
        From cde01a4863e5705308e684503bbb700d7dafccf4 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 15:07:01 +0100
        Subject: [PATCH 041/636] fix build
        
        ---
         .github/workflows/build.yml | 4 ++--
         1 file changed, 2 insertions(+), 2 deletions(-)
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index 23797637e..be769dc41 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -73,8 +73,8 @@ jobs:
         
               - name: Decode Keystore
                 run: |
        -          echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > android/android.keystore
        -          echo "${{ secrets.KEYSTORE_PROPERTIES }}" > android/android.properties
        +          echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > android/android.keystore;
        +          echo "${{ secrets.KEYSTORE_PROPERTIES }}" > android/keystore.properties;
         
                 #6 Building APK
               - name: Build APK
        
        From 248c40731ca47d22c02abbfbd1dd5d928c6daf75 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 15:12:10 +0100
        Subject: [PATCH 042/636] potential fix for
         https://github.com/jonasbark/swiftcontrol/issues/1#issuecomment-2763382744
        
        ---
         CHANGELOG.md                   | 1 +
         lib/utils/actions/desktop.dart | 8 ++++++--
         2 files changed, 7 insertions(+), 2 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 52059c18c..9f13abd82 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,6 +1,7 @@
         ### 1.0.0+4 (2025-03-29)
         - Zwift Ride: attempt to fix button parsing
         - Android: fix missing permissions
        +- Windows: potential fix for key press issues
         
         ### 1.0.0+3 (2025-03-29)
         
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index cdafca0cb..e5970fdc7 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -19,7 +19,9 @@ class DesktopActions extends BaseActions {
             if (keymap == null) {
               throw Exception('Keymap is not set');
             }
        -    keyPressSimulator.simulateKeyDown(_keymap!.decrease);
        +    keyPressSimulator.simulateKeyDown(_keymap!.decrease).then((_) {
        +      keyPressSimulator.simulateKeyUp(_keymap!.decrease);
        +    });
           }
         
           @override
        @@ -27,6 +29,8 @@ class DesktopActions extends BaseActions {
             if (keymap == null) {
               throw Exception('Keymap is not set');
             }
        -    keyPressSimulator.simulateKeyDown(_keymap!.increase);
        +    keyPressSimulator.simulateKeyDown(_keymap!.increase).then((_) {
        +      keyPressSimulator.simulateKeyUp(_keymap!.increase);
        +    });
           }
         }
        
        From 765b0c3d6ded3f8f094d5ba8b2d0c1884da195f9 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 17:38:41 +0100
        Subject: [PATCH 043/636] Zwift Ride: more work on
         https://github.com/jonasbark/swiftcontrol/issues/3#issuecomment-2763633261
        
        ---
         CHANGELOG.md                      | 3 +++
         lib/utils/devices/zwift_ride.dart | 9 ++++++---
         pubspec.yaml                      | 2 +-
         3 files changed, 10 insertions(+), 4 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 9f13abd82..09cb61688 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 1.0.5 (2025-03-29)
        +- Zwift Ride: remap the shifter buttons to the correct values
        +
         ### 1.0.0+4 (2025-03-29)
         - Zwift Ride: attempt to fix button parsing
         - Android: fix missing permissions
        diff --git a/lib/utils/devices/zwift_ride.dart b/lib/utils/devices/zwift_ride.dart
        index a5cd6145e..efc5175b7 100644
        --- a/lib/utils/devices/zwift_ride.dart
        +++ b/lib/utils/devices/zwift_ride.dart
        @@ -25,10 +25,13 @@ class ZwiftRide extends ZwiftClick {
               _lastControllerNotification = clickNotification;
               actionStreamInternal.add(clickNotification);
         
        -      if (clickNotification.analogLR.abs() == 100) {
        -        actionHandler.increaseGear();
        -      } else if (clickNotification.analogUD.abs() == 100) {
        +      if (clickNotification.buttonShiftDownLeft || clickNotification.buttonShiftUpLeft || clickNotification.buttonZ) {
                 actionHandler.decreaseGear();
        +      } else if (clickNotification.buttonShiftUpRight ||
        +          clickNotification.buttonShiftDownRight ||
        +          clickNotification.buttonOnOffLeft) {
        +        // TODO remove buttonZ once the assignment is fixed for real
        +        actionHandler.increaseGear();
               }
               if (clickNotification.buttonA) {
                 actionHandler.controlMedia(MediaAction.next);
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 46b43ea13..1ae8a1b1e 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.0.0+4
        +version: 1.0.5+0
         
         environment:
           sdk: ^3.7.0
        
        From e8649203cffd1cf9c1a9bd08b061abf5ca903319 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 17:42:08 +0100
        Subject: [PATCH 044/636] Zwift Ride: more work on
         https://github.com/jonasbark/swiftcontrol/issues/3#issuecomment-2763633261
        
        ---
         lib/utils/devices/zwift_ride.dart | 5 ++---
         1 file changed, 2 insertions(+), 3 deletions(-)
        
        diff --git a/lib/utils/devices/zwift_ride.dart b/lib/utils/devices/zwift_ride.dart
        index efc5175b7..9b1c78437 100644
        --- a/lib/utils/devices/zwift_ride.dart
        +++ b/lib/utils/devices/zwift_ride.dart
        @@ -1,6 +1,5 @@
         import 'dart:typed_data';
         
        -import 'package:accessibility/accessibility.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/devices/zwift_click.dart';
         import 'package:swift_control/utils/messages/ride_notification.dart';
        @@ -33,7 +32,7 @@ class ZwiftRide extends ZwiftClick {
                 // TODO remove buttonZ once the assignment is fixed for real
                 actionHandler.increaseGear();
               }
        -      if (clickNotification.buttonA) {
        +      /*if (clickNotification.buttonA) {
                 actionHandler.controlMedia(MediaAction.next);
               } else if (clickNotification.buttonY) {
                 actionHandler.controlMedia(MediaAction.volumeUp);
        @@ -41,7 +40,7 @@ class ZwiftRide extends ZwiftClick {
                 actionHandler.controlMedia(MediaAction.volumeDown);
               } else if (clickNotification.buttonZ) {
                 actionHandler.controlMedia(MediaAction.playPause);
        -      }
        +      }*/
             }
           }
         }
        
        From 7f6ec2f73262a52f7ec10a9baffbe88068ad9d21 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 19:48:51 +0100
        Subject: [PATCH 045/636] revert keyboard change
        
        ---
         lib/utils/actions/desktop.dart | 10 ++++------
         1 file changed, 4 insertions(+), 6 deletions(-)
        
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index e5970fdc7..84ef89191 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -19,9 +19,8 @@ class DesktopActions extends BaseActions {
             if (keymap == null) {
               throw Exception('Keymap is not set');
             }
        -    keyPressSimulator.simulateKeyDown(_keymap!.decrease).then((_) {
        -      keyPressSimulator.simulateKeyUp(_keymap!.decrease);
        -    });
        +    keyPressSimulator.simulateKeyDown(_keymap!.decrease);
        +    //keyPressSimulator.simulateKeyUp(_keymap!.decrease);
           }
         
           @override
        @@ -29,8 +28,7 @@ class DesktopActions extends BaseActions {
             if (keymap == null) {
               throw Exception('Keymap is not set');
             }
        -    keyPressSimulator.simulateKeyDown(_keymap!.increase).then((_) {
        -      keyPressSimulator.simulateKeyUp(_keymap!.increase);
        -    });
        +    keyPressSimulator.simulateKeyDown(_keymap!.increase);
        +    //keyPressSimulator.simulateKeyUp(_keymap!.increase);
           }
         }
        
        From dbbd1b5f2c8ca4681f74d4121afd5eea9f99bd6b Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 29 Mar 2025 21:15:43 +0100
        Subject: [PATCH 046/636] another potential keyboard fix, Zwift Play adjustment
        
        ---
         CHANGELOG.md                      |  4 ++++
         lib/utils/actions/desktop.dart    | 12 ++++++------
         lib/utils/devices/zwift_play.dart |  6 ++++--
         pubspec.yaml                      |  2 +-
         4 files changed, 15 insertions(+), 9 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 09cb61688..b25606097 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,7 @@
        +### 1.0.6 (2025-03-29)
        +- Another potential keyboard fix for Windows
        +- Zwift Play: actually also use the dedicated shift buttons 
        +
         ### 1.0.5 (2025-03-29)
         - Zwift Ride: remap the shifter buttons to the correct values
         
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index 84ef89191..f87ce1476 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -15,20 +15,20 @@ class DesktopActions extends BaseActions {
           }
         
           @override
        -  void decreaseGear() {
        +  Future decreaseGear() async {
             if (keymap == null) {
               throw Exception('Keymap is not set');
             }
        -    keyPressSimulator.simulateKeyDown(_keymap!.decrease);
        -    //keyPressSimulator.simulateKeyUp(_keymap!.decrease);
        +    await keyPressSimulator.simulateKeyDown(_keymap!.decrease);
        +    await keyPressSimulator.simulateKeyUp(_keymap!.decrease);
           }
         
           @override
        -  void increaseGear() {
        +  Future increaseGear() async {
             if (keymap == null) {
               throw Exception('Keymap is not set');
             }
        -    keyPressSimulator.simulateKeyDown(_keymap!.increase);
        -    //keyPressSimulator.simulateKeyUp(_keymap!.increase);
        +    await keyPressSimulator.simulateKeyDown(_keymap!.increase);
        +    await keyPressSimulator.simulateKeyUp(_keymap!.increase);
           }
         }
        diff --git a/lib/utils/devices/zwift_play.dart b/lib/utils/devices/zwift_play.dart
        index 8a0e4b615..6afe651cb 100644
        --- a/lib/utils/devices/zwift_play.dart
        +++ b/lib/utils/devices/zwift_play.dart
        @@ -21,9 +21,11 @@ class ZwiftPlay extends ZwiftClick {
               _lastControllerNotification = clickNotification;
               actionStreamInternal.add(clickNotification);
         
        -      if (clickNotification.rightPad && clickNotification.analogLR.abs() == 100) {
        +      if ((clickNotification.rightPad && clickNotification.buttonShift) ||
        +          (clickNotification.rightPad && clickNotification.analogLR.abs() == 100)) {
                 actionHandler.increaseGear();
        -      } else if (!clickNotification.rightPad && clickNotification.analogLR.abs() == 100) {
        +      } else if ((!clickNotification.rightPad && clickNotification.buttonShift) ||
        +          (!clickNotification.rightPad && clickNotification.analogLR.abs() == 100)) {
                 actionHandler.decreaseGear();
               }
               if (clickNotification.rightPad) {
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 1ae8a1b1e..da5790b2a 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.0.5+0
        +version: 1.0.6+0
         
         environment:
           sdk: ^3.7.0
        
        From 561bb2f0f4152e0562875a45ba5366e9586fda6f Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 13:36:40 +0200
        Subject: [PATCH 047/636] allow adding custom keymap and store it
        
        ---
         CHANGELOG.md                                  |  3 +
         lib/main.dart                                 |  2 +
         lib/pages/device.dart                         |  2 +-
         lib/pages/requirements.dart                   | 45 +++++----
         lib/pages/scan.dart                           | 14 ++-
         lib/utils/keymap/keymap.dart                  | 43 ++++++--
         lib/utils/requirements/multi.dart             | 27 +++---
         lib/utils/settings/settings.dart              | 26 +++++
         lib/widgets/custom_keymap_selector.dart       | 97 +++++++++++++++++++
         lib/widgets/menu.dart                         | 40 ++++++--
         macos/Flutter/GeneratedPluginRegistrant.swift |  2 +
         macos/Podfile.lock                            |  7 ++
         pubspec.lock                                  | 96 ++++++++++++++++++
         pubspec.yaml                                  |  3 +-
         14 files changed, 355 insertions(+), 52 deletions(-)
         create mode 100644 lib/utils/settings/settings.dart
         create mode 100644 lib/widgets/custom_keymap_selector.dart
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index b25606097..1dc2d5970 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 1.0.7 (2025-03-30)
        +- Windows & macOS: allow setting custom keymap and store the setting
        +
         ### 1.0.6 (2025-03-29)
         - Another potential keyboard fix for Windows
         - Zwift Play: actually also use the dedicated shift buttons 
        diff --git a/lib/main.dart b/lib/main.dart
        index fa9c90c41..1a56dc4ba 100644
        --- a/lib/main.dart
        +++ b/lib/main.dart
        @@ -4,6 +4,7 @@ import 'package:flutter_local_notifications/flutter_local_notifications.dart';
         import 'package:swift_control/pages/requirements.dart';
         import 'package:swift_control/theme.dart';
         import 'package:swift_control/utils/connection.dart';
        +import 'package:swift_control/utils/settings/settings.dart';
         
         import 'utils/actions/base_actions.dart';
         
        @@ -11,6 +12,7 @@ final connection = Connection();
         final actionHandler = ActionHandler();
         final accessibilityHandler = Accessibility();
         final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
        +final settings = Settings();
         
         void main() {
           runApp(const SwiftPlayApp());
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index e994e5149..d719ce581 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -46,7 +46,7 @@ class _DevicePageState extends State {
                 child: Scaffold(
                   appBar: AppBar(
                     title: Text('SwiftControl'),
        -            actions: [MenuButton()],
        +            actions: buildMenuButtons(),
                     backgroundColor: Theme.of(context).colorScheme.inversePrimary,
                   ),
                   body: Padding(
        diff --git a/lib/pages/requirements.dart b/lib/pages/requirements.dart
        index 3bfdcb8b1..bd1825283 100644
        --- a/lib/pages/requirements.dart
        +++ b/lib/pages/requirements.dart
        @@ -4,6 +4,7 @@ import 'package:dartx/dartx.dart';
         import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/main.dart';
        +import 'package:swift_control/utils/requirements/multi.dart';
         import 'package:swift_control/utils/requirements/platform.dart';
         import 'package:swift_control/widgets/menu.dart';
         
        @@ -28,14 +29,16 @@ class _RequirementsPageState extends State with WidgetsBinding
         
             // call after first frame
             WidgetsBinding.instance.addPostFrameCallback((_) {
        -      if (!kIsWeb && Platform.isMacOS) {
        -        // add more delay due tu CBManagerStateUnknown
        -        Future.delayed(const Duration(seconds: 2), () {
        +      settings.init().then((_) {
        +        if (!kIsWeb && Platform.isMacOS) {
        +          // add more delay due tu CBManagerStateUnknown
        +          Future.delayed(const Duration(seconds: 2), () {
        +            _reloadRequirements();
        +          });
        +        } else {
                   _reloadRequirements();
        -        });
        -      } else {
        -        _reloadRequirements();
        -      }
        +        }
        +      });
             });
         
             connection.hasDevices.addListener(() {
        @@ -64,7 +67,7 @@ class _RequirementsPageState extends State with WidgetsBinding
               appBar: AppBar(
                 title: Text('SwiftControl'),
                 backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        -        actions: [MenuButton()],
        +        actions: buildMenuButtons(),
               ),
               body:
                   _requirements.isEmpty
        @@ -83,7 +86,7 @@ class _RequirementsPageState extends State with WidgetsBinding
                                 }
                                 : null,
                         onStepTapped: (step) {
        -                  if (_requirements[step].status) {
        +                  if (_requirements[step].status && _requirements[step] is! KeymapRequirement) {
                             return;
                           }
                           final hasEarlierIncomplete = _requirements.indexWhere((req) => !req.status) < step;
        @@ -100,16 +103,20 @@ class _RequirementsPageState extends State with WidgetsBinding
                                 .mapIndexed(
                                   (index, req) => Step(
                                     title: Text(req.name),
        -                            content:
        -                                (index == _currentStep
        -                                    ? req.build(context, () {
        -                                      _reloadRequirements();
        -                                    })
        -                                    : null) ??
        -                                ElevatedButton(
        -                                  onPressed: req.status ? null : () => _callRequirement(req),
        -                                  child: Text(req.name),
        -                                ),
        +                            content: Container(
        +                              padding: const EdgeInsets.symmetric(vertical: 16.0),
        +                              alignment: Alignment.centerLeft,
        +                              child:
        +                                  (index == _currentStep
        +                                      ? req.build(context, () {
        +                                        _reloadRequirements();
        +                                      })
        +                                      : null) ??
        +                                  ElevatedButton(
        +                                    onPressed: req.status ? null : () => _callRequirement(req),
        +                                    child: Text(req.name),
        +                                  ),
        +                            ),
                                     state: req.status ? StepState.complete : StepState.indexed,
                                   ),
                                 )
        diff --git a/lib/pages/scan.dart b/lib/pages/scan.dart
        index 8158548f4..0b3670fc5 100644
        --- a/lib/pages/scan.dart
        +++ b/lib/pages/scan.dart
        @@ -57,11 +57,15 @@ class _ScanWidgetState extends State {
                           ],
                         );
                       } else {
        -                return ElevatedButton(
        -                  onPressed: () {
        -                    connection.performScanning();
        -                  },
        -                  child: const Text("SCAN"),
        +                return Row(
        +                  children: [
        +                    ElevatedButton(
        +                      onPressed: () {
        +                        connection.performScanning();
        +                      },
        +                      child: const Text("SCAN"),
        +                    ),
        +                  ],
                         );
                       }
                     },
        diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart
        index e3933b810..5978388dc 100644
        --- a/lib/utils/keymap/keymap.dart
        +++ b/lib/utils/keymap/keymap.dart
        @@ -1,12 +1,41 @@
         import 'package:flutter/services.dart';
         
        -enum Keymap {
        -  myWhoosh(increase: PhysicalKeyboardKey.keyK, decrease: PhysicalKeyboardKey.keyI),
        -  indieVelo(increase: PhysicalKeyboardKey(0x70030), decrease: PhysicalKeyboardKey(0x70038)),
        -  plusMinus(increase: PhysicalKeyboardKey(0x70030), decrease: PhysicalKeyboardKey(0x70038));
        +class Keymap {
        +  static Keymap myWhoosh = Keymap('MyWhoosh', increase: PhysicalKeyboardKey.keyK, decrease: PhysicalKeyboardKey.keyI);
        +  static Keymap custom = Keymap('Custom', increase: null, decrease: null);
         
        -  final PhysicalKeyboardKey increase;
        -  final PhysicalKeyboardKey decrease;
        +  static List values = [myWhoosh, custom];
         
        -  const Keymap({required this.increase, required this.decrease});
        +  PhysicalKeyboardKey? increase;
        +  PhysicalKeyboardKey? decrease;
        +  final String name;
        +
        +  Keymap(this.name, {required this.increase, required this.decrease});
        +
        +  @override
        +  String toString() {
        +    if (increase == null && decrease == null) {
        +      return name;
        +    }
        +    return "$name: ${increase?.debugName} + ${decrease?.debugName}";
        +  }
        +
        +  List encode() {
        +    // encode to save in preferences
        +    return [name, increase?.usbHidUsage.toString() ?? '', decrease?.usbHidUsage.toString() ?? ''];
        +  }
        +
        +  static Keymap decode(List data) {
        +    // decode from preferences
        +    final name = data[0];
        +    final keymap = values.firstWhere((element) => element.name == name, orElse: () => custom);
        +
        +    if (keymap.name != custom.name) {
        +      return keymap;
        +    }
        +
        +    keymap.increase = data[1].isNotEmpty ? PhysicalKeyboardKey(int.parse(data[1])) : null;
        +    keymap.decrease = data[2].isNotEmpty ? PhysicalKeyboardKey(int.parse(data[2])) : null;
        +    return keymap;
        +  }
         }
        diff --git a/lib/utils/requirements/multi.dart b/lib/utils/requirements/multi.dart
        index c34d3e732..c7c8869d0 100644
        --- a/lib/utils/requirements/multi.dart
        +++ b/lib/utils/requirements/multi.dart
        @@ -1,8 +1,8 @@
        -import 'package:dartx/dartx.dart';
         import 'package:flutter/material.dart';
         import 'package:keypress_simulator/keypress_simulator.dart';
         import 'package:swift_control/pages/scan.dart';
         import 'package:swift_control/utils/requirements/platform.dart';
        +import 'package:swift_control/widgets/custom_keymap_selector.dart';
         import 'package:universal_ble/universal_ble.dart';
         
         import '../../main.dart';
        @@ -35,18 +35,19 @@ class KeymapRequirement extends PlatformRequirement {
         
           @override
           Widget? build(BuildContext context, VoidCallback onUpdate) {
        -    return Padding(
        -      padding: const EdgeInsets.symmetric(vertical: 16.0),
        -      child: DropdownMenu(
        -        dropdownMenuEntries:
        -            Keymap.values.map((key) => DropdownMenuEntry(value: key, label: key.name.capitalize())).toList(),
        -        onSelected: (keymap) {
        -          actionHandler.init(keymap);
        -          onUpdate();
        -        },
        -        initialSelection: null,
        -        hintText: 'Keymap',
        -      ),
        +    return DropdownMenu(
        +      dropdownMenuEntries:
        +          Keymap.values.map((key) => DropdownMenuEntry(value: key, label: key.toString())).toList(),
        +      onSelected: (keymap) async {
        +        if (keymap!.name == Keymap.custom.name) {
        +          keymap = await showCustomKeymapDialog(context, keymap: keymap);
        +        }
        +        actionHandler.init(keymap);
        +        settings.setKeymap(keymap!);
        +        onUpdate();
        +      },
        +      initialSelection: actionHandler.keymap,
        +      hintText: 'Keymap',
             );
           }
         }
        diff --git a/lib/utils/settings/settings.dart b/lib/utils/settings/settings.dart
        new file mode 100644
        index 000000000..633016a4c
        --- /dev/null
        +++ b/lib/utils/settings/settings.dart
        @@ -0,0 +1,26 @@
        +import 'package:shared_preferences/shared_preferences.dart';
        +
        +import '../../main.dart';
        +import '../keymap/keymap.dart';
        +
        +class Settings {
        +  late final SharedPreferences _prefs;
        +
        +  Future init() async {
        +    _prefs = await SharedPreferences.getInstance();
        +
        +    try {
        +      final keymapSetting = _prefs.getStringList("keymap");
        +      if (keymapSetting != null) {
        +        actionHandler.init(Keymap.decode(keymapSetting));
        +      }
        +    } catch (e) {
        +      // couldn't decode, reset
        +      await _prefs.clear();
        +    }
        +  }
        +
        +  void setKeymap(Keymap keymap) {
        +    _prefs.setStringList("keymap", keymap.encode());
        +  }
        +}
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        new file mode 100644
        index 000000000..d4be63ace
        --- /dev/null
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -0,0 +1,97 @@
        +import 'package:flutter/material.dart';
        +import 'package:flutter/services.dart';
        +import 'package:swift_control/utils/keymap/keymap.dart';
        +
        +Future showCustomKeymapDialog(BuildContext context, {required Keymap keymap}) {
        +  return showDialog(
        +    context: context,
        +    builder: (context) {
        +      return GearHotkeyDialog(keymap: keymap);
        +    },
        +  );
        +}
        +
        +class GearHotkeyDialog extends StatefulWidget {
        +  final Keymap keymap;
        +  const GearHotkeyDialog({super.key, required this.keymap});
        +
        +  @override
        +  State createState() => _GearHotkeyDialogState();
        +}
        +
        +class _GearHotkeyDialogState extends State {
        +  final FocusNode _focusNode = FocusNode();
        +  final Set _pressedKeys = {};
        +  Set? _gearUpHotkey;
        +  Set? _gearDownHotkey;
        +
        +  String _mode = 'up'; // 'up' or 'down'
        +
        +  @override
        +  void initState() {
        +    super.initState();
        +    _focusNode.requestFocus();
        +  }
        +
        +  void _onKey(KeyEvent event) {
        +    setState(() {
        +      if (event is KeyDownEvent) {
        +        _pressedKeys.add(event.physicalKey);
        +      } else if (event is KeyUpEvent) {
        +        if (_pressedKeys.isNotEmpty) {
        +          if (_mode == 'up') {
        +            _gearUpHotkey = {..._pressedKeys};
        +            _mode = 'down';
        +          } else {
        +            _gearDownHotkey = {..._pressedKeys};
        +            widget.keymap.increase = _gearUpHotkey!.first;
        +            widget.keymap.decrease = _gearDownHotkey!.first;
        +            Navigator.of(context).pop(widget.keymap);
        +          }
        +          _pressedKeys.clear();
        +        }
        +      }
        +    });
        +  }
        +
        +  String _formatKeys(Set? keys) {
        +    if (keys == null || keys.isEmpty) return 'Not set';
        +    return keys.map((k) => k.debugName ?? k).join(' + ');
        +  }
        +
        +  @override
        +  Widget build(BuildContext context) {
        +    return AlertDialog(
        +      title: Text('Set Gear Hotkeys'),
        +      content: KeyboardListener(
        +        focusNode: _focusNode,
        +        autofocus: true,
        +        onKeyEvent: _onKey,
        +        child: Column(
        +          mainAxisSize: MainAxisSize.min,
        +          children: [
        +            Text("Step 1: Press a hotkey for **Gear Up**."),
        +            Text("Step 2: Press a hotkey for **Gear Down**."),
        +            SizedBox(height: 20),
        +            ListTile(
        +              leading: Icon(Icons.arrow_upward),
        +              title: Text("Gear Up Hotkey"),
        +              subtitle: Text(_formatKeys(_gearUpHotkey)),
        +            ),
        +            ListTile(
        +              leading: Icon(Icons.arrow_downward),
        +              title: Text("Gear Down Hotkey"),
        +              subtitle: Text(_formatKeys(_gearDownHotkey)),
        +            ),
        +            if (_pressedKeys.isNotEmpty)
        +              Padding(
        +                padding: const EdgeInsets.only(top: 8.0),
        +                child: Text("Recording: ${_formatKeys(_pressedKeys)}", style: TextStyle(color: Colors.blue)),
        +              ),
        +          ],
        +        ),
        +      ),
        +      actions: [TextButton(onPressed: () => Navigator.of(context).pop(null), child: Text("Cancel"))],
        +    );
        +  }
        +}
        diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart
        index 27426184a..f70025c9a 100644
        --- a/lib/widgets/menu.dart
        +++ b/lib/widgets/menu.dart
        @@ -1,6 +1,21 @@
        +import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
        +import 'package:swift_control/main.dart';
         import 'package:url_launcher/url_launcher_string.dart';
         
        +List buildMenuButtons() {
        +  return [
        +    TextButton(
        +      onPressed: () {
        +        launchUrlString('https://paypal.me/boni');
        +      },
        +      child: Text('Donate ♥'),
        +    ),
        +    const MenuButton(),
        +    SizedBox(width: 8),
        +  ];
        +}
        +
         class MenuButton extends StatelessWidget {
           const MenuButton({super.key});
         
        @@ -9,18 +24,31 @@ class MenuButton extends StatelessWidget {
             return PopupMenuButton(
               itemBuilder:
                   (c) => [
        +            if (kDebugMode) ...[
        +              PopupMenuItem(
        +                child: Text('Gear up'),
        +                onTap: () {
        +                  Future.delayed(Duration(seconds: 2)).then((_) {
        +                    actionHandler.increaseGear();
        +                  });
        +                },
        +              ),
        +              PopupMenuItem(
        +                child: Text('Gear down'),
        +                onTap: () {
        +                  Future.delayed(Duration(seconds: 2)).then((_) {
        +                    actionHandler.decreaseGear();
        +                  });
        +                },
        +              ),
        +              PopupMenuItem(child: PopupMenuDivider()),
        +            ],
                     PopupMenuItem(
                       child: Text('Feedback'),
                       onTap: () {
                         launchUrlString('https://github.com/jonasbark/swiftcontrol/issues');
                       },
                     ),
        -            PopupMenuItem(
        -              child: Text('Donate 🫶'),
        -              onTap: () {
        -                launchUrlString('https://paypal.me/boni');
        -              },
        -            ),
                     PopupMenuItem(
                       child: Text('License'),
                       onTap: () {
        diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
        index fe1f8d99d..870916df5 100644
        --- a/macos/Flutter/GeneratedPluginRegistrant.swift
        +++ b/macos/Flutter/GeneratedPluginRegistrant.swift
        @@ -7,12 +7,14 @@ import Foundation
         
         import flutter_local_notifications
         import keypress_simulator_macos
        +import shared_preferences_foundation
         import universal_ble
         import url_launcher_macos
         
         func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
           FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
           KeypressSimulatorMacosPlugin.register(with: registry.registrar(forPlugin: "KeypressSimulatorMacosPlugin"))
        +  SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
           UniversalBlePlugin.register(with: registry.registrar(forPlugin: "UniversalBlePlugin"))
           UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
         }
        diff --git a/macos/Podfile.lock b/macos/Podfile.lock
        index 0b10f2f8e..7ee9c59db 100644
        --- a/macos/Podfile.lock
        +++ b/macos/Podfile.lock
        @@ -4,6 +4,9 @@ PODS:
           - FlutterMacOS (1.0.0)
           - keypress_simulator_macos (0.0.1):
             - FlutterMacOS
        +  - shared_preferences_foundation (0.0.1):
        +    - Flutter
        +    - FlutterMacOS
           - universal_ble (0.0.1):
             - Flutter
             - FlutterMacOS
        @@ -14,6 +17,7 @@ DEPENDENCIES:
           - flutter_local_notifications (from `Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos`)
           - FlutterMacOS (from `Flutter/ephemeral`)
           - keypress_simulator_macos (from `Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos`)
        +  - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
           - universal_ble (from `Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin`)
           - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
         
        @@ -24,6 +28,8 @@ EXTERNAL SOURCES:
             :path: Flutter/ephemeral
           keypress_simulator_macos:
             :path: Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos
        +  shared_preferences_foundation:
        +    :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
           universal_ble:
             :path: Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin
           url_launcher_macos:
        @@ -33,6 +39,7 @@ SPEC CHECKSUMS:
           flutter_local_notifications: 4ccab5b7a22835214a6672e3f9c5e8ae207dab36
           FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
           keypress_simulator_macos: f8556f9101f9f2f175652e0bceddf0fe82a4c6b2
        +  shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
           universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6
           url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404
         
        diff --git a/pubspec.lock b/pubspec.lock
        index ed0c85f5f..f9ccc7f03 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -136,6 +136,14 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "2.1.4"
        +  file:
        +    dependency: transitive
        +    description:
        +      name: file
        +      sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "7.0.1"
           fixnum:
             dependency: transitive
             description:
        @@ -367,6 +375,30 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "1.9.1"
        +  path_provider_linux:
        +    dependency: transitive
        +    description:
        +      name: path_provider_linux
        +      sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.2.1"
        +  path_provider_platform_interface:
        +    dependency: transitive
        +    description:
        +      name: path_provider_platform_interface
        +      sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.1.2"
        +  path_provider_windows:
        +    dependency: transitive
        +    description:
        +      name: path_provider_windows
        +      sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.3.0"
           permission_handler:
             dependency: "direct main"
             description:
        @@ -423,6 +455,14 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "6.1.0"
        +  platform:
        +    dependency: transitive
        +    description:
        +      name: platform
        +      sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "3.1.6"
           plugin_platform_interface:
             dependency: transitive
             description:
        @@ -455,6 +495,62 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "3.1.0"
        +  shared_preferences:
        +    dependency: "direct main"
        +    description:
        +      name: shared_preferences
        +      sha256: "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.5.3"
        +  shared_preferences_android:
        +    dependency: transitive
        +    description:
        +      name: shared_preferences_android
        +      sha256: "3ec7210872c4ba945e3244982918e502fa2bfb5230dff6832459ca0e1879b7ad"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.4.8"
        +  shared_preferences_foundation:
        +    dependency: transitive
        +    description:
        +      name: shared_preferences_foundation
        +      sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.5.4"
        +  shared_preferences_linux:
        +    dependency: transitive
        +    description:
        +      name: shared_preferences_linux
        +      sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.4.1"
        +  shared_preferences_platform_interface:
        +    dependency: transitive
        +    description:
        +      name: shared_preferences_platform_interface
        +      sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.4.1"
        +  shared_preferences_web:
        +    dependency: transitive
        +    description:
        +      name: shared_preferences_web
        +      sha256: c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.4.3"
        +  shared_preferences_windows:
        +    dependency: transitive
        +    description:
        +      name: shared_preferences_windows
        +      sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.4.1"
           sky_engine:
             dependency: transitive
             description: flutter
        diff --git a/pubspec.yaml b/pubspec.yaml
        index da5790b2a..5096fed39 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.0.6+0
        +version: 1.0.7+0
         
         environment:
           sdk: ^3.7.0
        @@ -18,6 +18,7 @@ dependencies:
           dartx: any
           pointycastle: any
           keypress_simulator: ^0.2.0
        +  shared_preferences: ^2.5.3
           flex_color_scheme: ^8.2.0
           accessibility:
             path: accessibility
        
        From a3f1cbb3b1d2458b37b59d508ab704f35a771343 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 14:09:41 +0200
        Subject: [PATCH 048/636] reconnect to existing BLE connection, also fallback
         to name only if manufacturerData isn't available
        
        ---
         lib/utils/connection.dart          |  9 +++++++
         lib/utils/devices/base_device.dart | 41 +++++++++++++++---------------
         2 files changed, 29 insertions(+), 21 deletions(-)
        
        diff --git a/lib/utils/connection.dart b/lib/utils/connection.dart
        index e534e965d..e3b0a001e 100644
        --- a/lib/utils/connection.dart
        +++ b/lib/utils/connection.dart
        @@ -53,6 +53,15 @@ class Connection {
           Future performScanning() async {
             isScanning.value = true;
         
        +    UniversalBle.getSystemDevices(
        +      withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID],
        +    ).then((devices) {
        +      final baseDevices = devices.map((device) => BaseDevice.fromScanResult(device)).whereNotNull().toList();
        +      if (baseDevices.isNotEmpty) {
        +        _addDevices(baseDevices);
        +      }
        +    });
        +
             await UniversalBle.startScan(
               scanFilter: ScanFilter(withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID]),
               platformConfig: PlatformConfig(web: WebOptions(optionalServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID])),
        diff --git a/lib/utils/devices/base_device.dart b/lib/utils/devices/base_device.dart
        index 90d7f61c2..a55cf9451 100644
        --- a/lib/utils/devices/base_device.dart
        +++ b/lib/utils/devices/base_device.dart
        @@ -24,29 +24,28 @@ abstract class BaseDevice {
           BaseDevice(this.scanResult);
         
           static BaseDevice? fromScanResult(BleDevice scanResult) {
        -    if (scanResult.name == 'Zwift Ride') {
        -      return ZwiftRide(scanResult);
        -    }
        -    if (kIsWeb) {
        -      // manufacturer data is not available on web
        -      if (scanResult.name == 'Zwift Play') {
        -        return ZwiftPlay(scanResult);
        -      } else if (scanResult.name == 'Zwift Click') {
        -        return ZwiftClick(scanResult);
        +    // Web does not support manufacturer data, also the "system devices" don't
        +    if (scanResult.manufacturerDataList.isEmpty) {
        +      return switch (scanResult.name) {
        +        'Zwift Ride' => ZwiftRide(scanResult),
        +        'Zwift Play' => ZwiftPlay(scanResult),
        +        'Zwift Click' => ZwiftClick(scanResult),
        +        _ => null,
        +      };
        +    } else {
        +      final manufacturerData = scanResult.manufacturerDataList;
        +      final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
        +      if (data == null || data.isEmpty) {
        +        return null;
               }
        +      final type = DeviceType.fromManufacturerData(data.first);
        +      return switch (type) {
        +        DeviceType.click => ZwiftClick(scanResult),
        +        DeviceType.playRight => ZwiftPlay(scanResult),
        +        DeviceType.playLeft => ZwiftPlay(scanResult),
        +        _ => null,
        +      };
             }
        -    final manufacturerData = scanResult.manufacturerDataList;
        -    final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
        -    if (data == null || data.isEmpty) {
        -      return null;
        -    }
        -    final type = DeviceType.fromManufacturerData(data.first);
        -    return switch (type) {
        -      DeviceType.click => ZwiftClick(scanResult),
        -      DeviceType.playRight => ZwiftPlay(scanResult),
        -      DeviceType.playLeft => ZwiftPlay(scanResult),
        -      _ => null,
        -    };
           }
         
           @override
        
        From c523ba22870007cdedbd8d5e9f62606abeed2f60 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 14:26:51 +0200
        Subject: [PATCH 049/636] Android: allow user to adjust touch placements
        
        ---
         lib/main.dart                                 |  15 +-
         lib/pages/device.dart                         |  24 +++
         lib/pages/touch_area.dart                     | 143 ++++++++++++++++++
         lib/utils/actions/android.dart                |  32 +++-
         lib/utils/actions/base_actions.dart           |  41 +----
         lib/utils/settings/settings.dart              |  17 +++
         linux/flutter/generated_plugin_registrant.cc  |   4 +
         linux/flutter/generated_plugins.cmake         |   1 +
         macos/Flutter/GeneratedPluginRegistrant.swift |   2 +
         macos/Podfile.lock                            |   6 +
         macos/Runner/DebugProfile.entitlements        |   2 +
         pubspec.lock                                  | 120 +++++++++++++++
         pubspec.yaml                                  |   1 +
         .../flutter/generated_plugin_registrant.cc    |   3 +
         windows/flutter/generated_plugins.cmake       |   1 +
         15 files changed, 369 insertions(+), 43 deletions(-)
         create mode 100644 lib/pages/touch_area.dart
        
        diff --git a/lib/main.dart b/lib/main.dart
        index 1a56dc4ba..05cafed05 100644
        --- a/lib/main.dart
        +++ b/lib/main.dart
        @@ -1,20 +1,33 @@
        +import 'dart:io';
        +
         import 'package:accessibility/accessibility.dart';
        +import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:flutter_local_notifications/flutter_local_notifications.dart';
         import 'package:swift_control/pages/requirements.dart';
         import 'package:swift_control/theme.dart';
        +import 'package:swift_control/utils/actions/android.dart';
        +import 'package:swift_control/utils/actions/desktop.dart';
         import 'package:swift_control/utils/connection.dart';
         import 'package:swift_control/utils/settings/settings.dart';
         
         import 'utils/actions/base_actions.dart';
         
         final connection = Connection();
        -final actionHandler = ActionHandler();
        +late final BaseActions actionHandler;
         final accessibilityHandler = Accessibility();
         final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
         final settings = Settings();
         
         void main() {
        +  if (kIsWeb) {
        +    actionHandler = StubActions();
        +  } else if (Platform.isAndroid) {
        +    actionHandler = AndroidActions();
        +  } else {
        +    actionHandler = DesktopActions();
        +  }
        +
           runApp(const SwiftPlayApp());
         }
         
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index d719ce581..dab7bca96 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -1,8 +1,11 @@
         import 'dart:async';
        +import 'dart:io';
         
         import 'package:dartx/dartx.dart';
        +import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/main.dart';
        +import 'package:swift_control/pages/touch_area.dart';
         import 'package:swift_control/utils/devices/base_device.dart';
         import 'package:swift_control/widgets/logviewer.dart';
         
        @@ -53,6 +56,7 @@ class _DevicePageState extends State {
                     padding: const EdgeInsets.all(8.0),
                     child: Column(
                       crossAxisAlignment: CrossAxisAlignment.start,
        +              spacing: 10,
                       children: [
                         Text(
                           'Devices:\n${connection.devices.joinToString(separator: '\n', transform: (it) {
        @@ -60,6 +64,26 @@ class _DevicePageState extends State {
                           })}',
                         ),
                         Divider(color: Theme.of(context).colorScheme.primary, height: 30),
        +                if (!kIsWeb && (Platform.isAndroid || kDebugMode)) ...[
        +                  ElevatedButton(
        +                    onPressed: () {
        +                      Navigator.of(context).push(
        +                        MaterialPageRoute(
        +                          builder:
        +                              (_) => TouchAreaSetupPage(
        +                                onSave: (gearUp, gearDown) {
        +                                  print("Gear Up Position: $gearUp");
        +                                  print("Gear Down Position: $gearDown");
        +                                  actionHandler.updateTouchPositions(gearUp, gearDown);
        +                                  settings.updateTouchPositions(gearUp, gearDown);
        +                                },
        +                              ),
        +                        ),
        +                      );
        +                    },
        +                    child: Text('Customize touch areas (optional)'),
        +                  ),
        +                ],
                         Expanded(child: LogViewer()),
                       ],
                     ),
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        new file mode 100644
        index 000000000..bb7e1f6a8
        --- /dev/null
        +++ b/lib/pages/touch_area.dart
        @@ -0,0 +1,143 @@
        +import 'dart:io';
        +
        +import 'package:flutter/material.dart';
        +import 'package:image_picker/image_picker.dart';
        +import 'package:swift_control/main.dart';
        +
        +class TouchAreaSetupPage extends StatefulWidget {
        +  final void Function(Offset gearUp, Offset gearDown)? onSave;
        +
        +  const TouchAreaSetupPage({this.onSave, super.key});
        +
        +  @override
        +  State createState() => _TouchAreaSetupPageState();
        +}
        +
        +class _TouchAreaSetupPageState extends State {
        +  File? _backgroundImage;
        +  late Offset _gearUpPos;
        +  late Offset _gearDownPos;
        +
        +  Future _pickScreenshot() async {
        +    final picker = ImagePicker();
        +    final result = await picker.pickImage(source: ImageSource.gallery);
        +    if (result != null) {
        +      setState(() {
        +        _backgroundImage = File(result.path);
        +      });
        +    }
        +  }
        +
        +  void _saveAndClose() {
        +    if (widget.onSave != null) {
        +      widget.onSave!(_gearUpPos, _gearDownPos);
        +    }
        +    Navigator.of(context).pop();
        +  }
        +
        +  @override
        +  void initState() {
        +    super.initState();
        +    _gearUpPos = actionHandler.gearUpTouchPosition ?? const Offset(100, 300);
        +    _gearDownPos = actionHandler.gearDownTouchPosition ?? const Offset(200, 300);
        +  }
        +
        +  Widget _buildDraggableArea({
        +    required Offset position,
        +    required void Function(Offset newPosition) onPositionChanged,
        +    required Color color,
        +    required String label,
        +  }) {
        +    return Positioned(
        +      left: position.dx,
        +      top: position.dy,
        +      child: Draggable(
        +        feedback: Material(color: Colors.transparent, child: _TouchDot(color: Colors.yellow, label: label)),
        +        childWhenDragging: const SizedBox.shrink(),
        +        onDraggableCanceled: (_, offset) {
        +          setState(() => onPositionChanged(offset));
        +        },
        +        child: _TouchDot(color: color, label: label),
        +      ),
        +    );
        +  }
        +
        +  @override
        +  Widget build(BuildContext context) {
        +    return Scaffold(
        +      body: Stack(
        +        children: [
        +          if (_backgroundImage != null)
        +            Positioned.fill(child: Opacity(opacity: 0.5, child: Image.file(_backgroundImage!, fit: BoxFit.cover)))
        +          else
        +            Center(
        +              child: Column(
        +                mainAxisSize: MainAxisSize.min,
        +                spacing: 8,
        +                children: [
        +                  Text('''1. Create an in-game screenshot of your app (e.g. within MyWhoosh)
        +2. Load the screenshot with the button below
        +3. Drag the touch areas to the correct position where the gear up / down buttons are located
        +4. Save and close this screen'''),
        +                  ElevatedButton(
        +                    onPressed: () {
        +                      _pickScreenshot();
        +                    },
        +                    child: Text('Load in-game screenshot for placement'),
        +                  ),
        +                ],
        +              ),
        +            ),
        +          // Touch Areas
        +          _buildDraggableArea(
        +            position: _gearUpPos,
        +            onPositionChanged: (newPos) => _gearUpPos = newPos,
        +            color: Colors.green,
        +            label: "Gear ↑",
        +          ),
        +          _buildDraggableArea(
        +            position: _gearDownPos,
        +            onPositionChanged: (newPos) => _gearDownPos = newPos,
        +            color: Colors.red,
        +            label: "Gear ↓",
        +          ),
        +          // Save/Close Button
        +          Positioned(
        +            top: 40,
        +            right: 20,
        +            child: ElevatedButton.icon(
        +              onPressed: _saveAndClose,
        +              icon: const Icon(Icons.save),
        +              label: const Text("Save & Close"),
        +            ),
        +          ),
        +        ],
        +      ),
        +    );
        +  }
        +}
        +
        +class _TouchDot extends StatelessWidget {
        +  final Color color;
        +  final String label;
        +
        +  const _TouchDot({required this.color, required this.label});
        +
        +  @override
        +  Widget build(BuildContext context) {
        +    return Column(
        +      children: [
        +        Container(
        +          width: 32,
        +          height: 32,
        +          decoration: BoxDecoration(
        +            color: color.withOpacity(0.6),
        +            shape: BoxShape.circle,
        +            border: Border.all(color: Colors.black, width: 2),
        +          ),
        +        ),
        +        Text(label, style: TextStyle(color: Colors.black, fontSize: 12)),
        +      ],
        +    );
        +  }
        +}
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index 4bef65273..f6e6304f0 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -11,6 +11,14 @@ class AndroidActions extends BaseActions {
           static const validPackageNames = [MYWHOOSH_APP_PACKAGE, TRAININGPEAKS_APP_PACKAGE];
         
           WindowEvent? windowInfo;
        +  Offset? _gearUpTouchPosition;
        +  Offset? _gearDownTouchPosition;
        +
        +  @override
        +  Offset? get gearUpTouchPosition => _gearUpTouchPosition;
        +
        +  @override
        +  Offset? get gearDownTouchPosition => _gearDownTouchPosition;
         
           @override
           void init(Keymap? keymap) {
        @@ -23,9 +31,10 @@ class AndroidActions extends BaseActions {
         
           @override
           void decreaseGear() {
        -    if (windowInfo == null) {
        -      throw Exception("Decrease gear: No window info");
        -    } else {
        +    if (_gearDownTouchPosition == null) {
        +      if (windowInfo == null) {
        +        throw Exception("Increasing gear: No window info");
        +      }
               final point = switch (windowInfo!.packageName) {
                 MYWHOOSH_APP_PACKAGE => Offset(windowInfo!.windowWidth * 0.80, windowInfo!.windowHeight * 0.94),
                 TRAININGPEAKS_APP_PACKAGE => Offset(windowInfo!.windowWidth / 2 * 1.15, windowInfo!.windowHeight * 0.74),
        @@ -33,14 +42,17 @@ class AndroidActions extends BaseActions {
               };
         
               accessibilityHandler.performTouch(point.dx, point.dy);
        +    } else {
        +      accessibilityHandler.performTouch(_gearDownTouchPosition!.dx, _gearDownTouchPosition!.dy);
             }
           }
         
           @override
           void increaseGear() {
        -    if (windowInfo == null) {
        -      throw Exception("Increasing gear: No window info");
        -    } else {
        +    if (_gearUpTouchPosition == null) {
        +      if (windowInfo == null) {
        +        throw Exception("Increasing gear: No window info");
        +      }
               final point = switch (windowInfo!.packageName) {
                 MYWHOOSH_APP_PACKAGE => Offset(windowInfo!.windowWidth * 0.98, windowInfo!.windowHeight * 0.94),
                 TRAININGPEAKS_APP_PACKAGE => Offset(windowInfo!.windowWidth / 2 * 1.32, windowInfo!.windowHeight * 0.74),
        @@ -48,6 +60,8 @@ class AndroidActions extends BaseActions {
               };
         
               accessibilityHandler.performTouch(point.dx, point.dy);
        +    } else {
        +      accessibilityHandler.performTouch(_gearUpTouchPosition!.dx, _gearUpTouchPosition!.dy);
             }
           }
         
        @@ -55,4 +69,10 @@ class AndroidActions extends BaseActions {
           void controlMedia(MediaAction action) {
             accessibilityHandler.controlMedia(action);
           }
        +
        +  @override
        +  void updateTouchPositions(Offset gearUp, Offset gearDown) {
        +    _gearUpTouchPosition = gearUp;
        +    _gearDownTouchPosition = gearDown;
        +  }
         }
        diff --git a/lib/utils/actions/base_actions.dart b/lib/utils/actions/base_actions.dart
        index 4f0652200..dcf6d9687 100644
        --- a/lib/utils/actions/base_actions.dart
        +++ b/lib/utils/actions/base_actions.dart
        @@ -1,14 +1,13 @@
        -import 'dart:io';
        +import 'dart:ui';
         
         import 'package:accessibility/accessibility.dart';
        -import 'package:flutter/foundation.dart';
         
         import '../keymap/keymap.dart';
        -import 'android.dart';
        -import 'desktop.dart';
         
         abstract class BaseActions {
           Keymap? get keymap => null;
        +  Offset? get gearUpTouchPosition => null;
        +  Offset? get gearDownTouchPosition => null;
         
           void init(Keymap? keymap) {}
           void increaseGear();
        @@ -17,6 +16,8 @@ abstract class BaseActions {
           void controlMedia(MediaAction action) {
             throw UnimplementedError();
           }
        +
        +  void updateTouchPositions(Offset gearUp, Offset gearDown) {}
         }
         
         class StubActions extends BaseActions {
        @@ -30,35 +31,3 @@ class StubActions extends BaseActions {
             print('Increase gear');
           }
         }
        -
        -class ActionHandler {
        -  late BaseActions actions;
        -
        -  ActionHandler() {
        -    if (kIsWeb) {
        -      actions = StubActions();
        -    } else if (Platform.isAndroid) {
        -      actions = AndroidActions();
        -    } else {
        -      actions = DesktopActions();
        -    }
        -  }
        -
        -  Keymap? get keymap => actions.keymap;
        -
        -  void init(Keymap? keymap) {
        -    actions.init(keymap);
        -  }
        -
        -  void increaseGear() {
        -    actions.increaseGear();
        -  }
        -
        -  void decreaseGear() {
        -    actions.decreaseGear();
        -  }
        -
        -  void controlMedia(MediaAction action) {
        -    actions.controlMedia(action);
        -  }
        -}
        diff --git a/lib/utils/settings/settings.dart b/lib/utils/settings/settings.dart
        index 633016a4c..b31f790d7 100644
        --- a/lib/utils/settings/settings.dart
        +++ b/lib/utils/settings/settings.dart
        @@ -1,3 +1,5 @@
        +import 'dart:ui';
        +
         import 'package:shared_preferences/shared_preferences.dart';
         
         import '../../main.dart';
        @@ -14,6 +16,14 @@ class Settings {
               if (keymapSetting != null) {
                 actionHandler.init(Keymap.decode(keymapSetting));
               }
        +
        +      final gearUpX = _prefs.getDouble("gearUpX");
        +      final gearUpY = _prefs.getDouble("gearUpY");
        +      final gearDownX = _prefs.getDouble("gearDownX");
        +      final gearDownY = _prefs.getDouble("gearDownY");
        +      if (gearUpX != null && gearUpY != null && gearDownX != null && gearDownY != null) {
        +        actionHandler.updateTouchPositions(Offset(gearUpX, gearUpY), Offset(gearDownX, gearDownY));
        +      }
             } catch (e) {
               // couldn't decode, reset
               await _prefs.clear();
        @@ -23,4 +33,11 @@ class Settings {
           void setKeymap(Keymap keymap) {
             _prefs.setStringList("keymap", keymap.encode());
           }
        +
        +  void updateTouchPositions(Offset gearUp, Offset gearDown) {
        +    _prefs.setDouble("gearUpX", gearUp.dx);
        +    _prefs.setDouble("gearUpY", gearUp.dy);
        +    _prefs.setDouble("gearDownX", gearDown.dx);
        +    _prefs.setDouble("gearDownY", gearDown.dy);
        +  }
         }
        diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc
        index f6f23bfe9..7299b5cf2 100644
        --- a/linux/flutter/generated_plugin_registrant.cc
        +++ b/linux/flutter/generated_plugin_registrant.cc
        @@ -6,9 +6,13 @@
         
         #include "generated_plugin_registrant.h"
         
        +#include 
         #include 
         
         void fl_register_plugins(FlPluginRegistry* registry) {
        +  g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
        +      fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
        +  file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
           g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
               fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
           url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
        diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake
        index f16b4c342..786ff5c29 100644
        --- a/linux/flutter/generated_plugins.cmake
        +++ b/linux/flutter/generated_plugins.cmake
        @@ -3,6 +3,7 @@
         #
         
         list(APPEND FLUTTER_PLUGIN_LIST
        +  file_selector_linux
           url_launcher_linux
         )
         
        diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
        index 870916df5..65acdf56c 100644
        --- a/macos/Flutter/GeneratedPluginRegistrant.swift
        +++ b/macos/Flutter/GeneratedPluginRegistrant.swift
        @@ -5,6 +5,7 @@
         import FlutterMacOS
         import Foundation
         
        +import file_selector_macos
         import flutter_local_notifications
         import keypress_simulator_macos
         import shared_preferences_foundation
        @@ -12,6 +13,7 @@ import universal_ble
         import url_launcher_macos
         
         func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
        +  FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
           FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
           KeypressSimulatorMacosPlugin.register(with: registry.registrar(forPlugin: "KeypressSimulatorMacosPlugin"))
           SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
        diff --git a/macos/Podfile.lock b/macos/Podfile.lock
        index 7ee9c59db..76adcd0fd 100644
        --- a/macos/Podfile.lock
        +++ b/macos/Podfile.lock
        @@ -1,4 +1,6 @@
         PODS:
        +  - file_selector_macos (0.0.1):
        +    - FlutterMacOS
           - flutter_local_notifications (0.0.1):
             - FlutterMacOS
           - FlutterMacOS (1.0.0)
        @@ -14,6 +16,7 @@ PODS:
             - FlutterMacOS
         
         DEPENDENCIES:
        +  - file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`)
           - flutter_local_notifications (from `Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos`)
           - FlutterMacOS (from `Flutter/ephemeral`)
           - keypress_simulator_macos (from `Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos`)
        @@ -22,6 +25,8 @@ DEPENDENCIES:
           - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
         
         EXTERNAL SOURCES:
        +  file_selector_macos:
        +    :path: Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos
           flutter_local_notifications:
             :path: Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos
           FlutterMacOS:
        @@ -36,6 +41,7 @@ EXTERNAL SOURCES:
             :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
         
         SPEC CHECKSUMS:
        +  file_selector_macos: cc3858c981fe6889f364731200d6232dac1d812d
           flutter_local_notifications: 4ccab5b7a22835214a6672e3f9c5e8ae207dab36
           FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
           keypress_simulator_macos: f8556f9101f9f2f175652e0bceddf0fe82a4c6b2
        diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements
        index 14a39b7ec..8287c2705 100644
        --- a/macos/Runner/DebugProfile.entitlements
        +++ b/macos/Runner/DebugProfile.entitlements
        @@ -10,5 +10,7 @@
         	
         	com.apple.security.network.server
         	
        +    com.apple.security.files.user-selected.read-only
        +    
         
         
        diff --git a/pubspec.lock b/pubspec.lock
        index f9ccc7f03..0f700d917 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -96,6 +96,14 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "3.1.2"
        +  cross_file:
        +    dependency: transitive
        +    description:
        +      name: cross_file
        +      sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.3.4+2"
           crypto:
             dependency: transitive
             description:
        @@ -144,6 +152,38 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "7.0.1"
        +  file_selector_linux:
        +    dependency: transitive
        +    description:
        +      name: file_selector_linux
        +      sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.9.3+2"
        +  file_selector_macos:
        +    dependency: transitive
        +    description:
        +      name: file_selector_macos
        +      sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.9.4+2"
        +  file_selector_platform_interface:
        +    dependency: transitive
        +    description:
        +      name: file_selector_platform_interface
        +      sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.6.2"
        +  file_selector_windows:
        +    dependency: transitive
        +    description:
        +      name: file_selector_windows
        +      sha256: "320fcfb6f33caa90f0b58380489fc5ac05d99ee94b61aa96ec2bff0ba81d3c2b"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.9.3+4"
           fixnum:
             dependency: transitive
             description:
        @@ -221,6 +261,14 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "1.0.0"
        +  flutter_plugin_android_lifecycle:
        +    dependency: transitive
        +    description:
        +      name: flutter_plugin_android_lifecycle
        +      sha256: "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.0.27"
           flutter_test:
             dependency: "direct dev"
             description: flutter
        @@ -263,6 +311,70 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "4.5.4"
        +  image_picker:
        +    dependency: "direct main"
        +    description:
        +      name: image_picker
        +      sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "1.1.2"
        +  image_picker_android:
        +    dependency: transitive
        +    description:
        +      name: image_picker_android
        +      sha256: "8bd392ba8b0c8957a157ae0dc9fcf48c58e6c20908d5880aea1d79734df090e9"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.8.12+22"
        +  image_picker_for_web:
        +    dependency: transitive
        +    description:
        +      name: image_picker_for_web
        +      sha256: "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "3.0.6"
        +  image_picker_ios:
        +    dependency: transitive
        +    description:
        +      name: image_picker_ios
        +      sha256: "05da758e67bc7839e886b3959848aa6b44ff123ab4b28f67891008afe8ef9100"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.8.12+2"
        +  image_picker_linux:
        +    dependency: transitive
        +    description:
        +      name: image_picker_linux
        +      sha256: "34a65f6740df08bbbeb0a1abd8e6d32107941fd4868f67a507b25601651022c9"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.2.1+2"
        +  image_picker_macos:
        +    dependency: transitive
        +    description:
        +      name: image_picker_macos
        +      sha256: "1b90ebbd9dcf98fb6c1d01427e49a55bd96b5d67b8c67cf955d60a5de74207c1"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.2.1+2"
        +  image_picker_platform_interface:
        +    dependency: transitive
        +    description:
        +      name: image_picker_platform_interface
        +      sha256: "886d57f0be73c4b140004e78b9f28a8914a09e50c2d816bdd0520051a71236a0"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.10.1"
        +  image_picker_windows:
        +    dependency: transitive
        +    description:
        +      name: image_picker_windows
        +      sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.2.1+1"
           json_annotation:
             dependency: transitive
             description:
        @@ -367,6 +479,14 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "1.16.0"
        +  mime:
        +    dependency: transitive
        +    description:
        +      name: mime
        +      sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.0.0"
           path:
             dependency: transitive
             description:
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 5096fed39..ec113b8be 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -16,6 +16,7 @@ dependencies:
           protobuf: ^3.1.0
           permission_handler: ^11.4.0
           dartx: any
        +  image_picker: ^1.1.2
           pointycastle: any
           keypress_simulator: ^0.2.0
           shared_preferences: ^2.5.3
        diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc
        index 795a6e4e4..e06ea60e5 100644
        --- a/windows/flutter/generated_plugin_registrant.cc
        +++ b/windows/flutter/generated_plugin_registrant.cc
        @@ -6,12 +6,15 @@
         
         #include "generated_plugin_registrant.h"
         
        +#include 
         #include 
         #include 
         #include 
         #include 
         
         void RegisterPlugins(flutter::PluginRegistry* registry) {
        +  FileSelectorWindowsRegisterWithRegistrar(
        +      registry->GetRegistrarForPlugin("FileSelectorWindows"));
           KeypressSimulatorWindowsPluginCApiRegisterWithRegistrar(
               registry->GetRegistrarForPlugin("KeypressSimulatorWindowsPluginCApi"));
           PermissionHandlerWindowsPluginRegisterWithRegistrar(
        diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake
        index 185f666bc..ea1a1f6f0 100644
        --- a/windows/flutter/generated_plugins.cmake
        +++ b/windows/flutter/generated_plugins.cmake
        @@ -3,6 +3,7 @@
         #
         
         list(APPEND FLUTTER_PLUGIN_LIST
        +  file_selector_windows
           keypress_simulator_windows
           permission_handler_windows
           universal_ble
        
        From 536f36f4e78c5b96f5b6270ba6eb487165804371 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 14:30:38 +0200
        Subject: [PATCH 050/636] update Zwift Ride decoding based on Feedback from
         @JayyajGH fixes #3
        
        ---
         lib/utils/messages/ride_notification.dart | 17 +++++++++--------
         1 file changed, 9 insertions(+), 8 deletions(-)
        
        diff --git a/lib/utils/messages/ride_notification.dart b/lib/utils/messages/ride_notification.dart
        index 38dc00f86..45064c7b3 100644
        --- a/lib/utils/messages/ride_notification.dart
        +++ b/lib/utils/messages/ride_notification.dart
        @@ -9,19 +9,20 @@ enum _RideButtonMask {
           UP_BTN(0x00002),
           RIGHT_BTN(0x00004),
           DOWN_BTN(0x00008),
        +
           A_BTN(0x00010),
           B_BTN(0x00020),
           Y_BTN(0x00040),
        +  Z_BTN(0x00080),
         
        -  Z_BTN(0x00100),
        -  SHFT_UP_L_BTN(0x00200),
        -  SHFT_DN_L_BTN(0x00400),
        -  POWERUP_L_BTN(0x00800),
        -  ONOFF_L_BTN(0x01000),
        -  SHFT_UP_R_BTN(0x02000),
        -  SHFT_DN_R_BTN(0x04000),
        +  SHFT_UP_L_BTN(0x00100),
        +  SHFT_DN_L_BTN(0x00200),
        +  SHFT_UP_R_BTN(0x01000),
        +  SHFT_DN_R_BTN(0x02000),
         
        -  POWERUP_R_BTN(0x10000),
        +  POWERUP_L_BTN(0x00400),
        +  ONOFF_L_BTN(0x01000),
        +  POWERUP_R_BTN(0x04000),
           ONOFF_R_BTN(0x20000);
         
           final int mask;
        
        From 507dbf5d0f02040ead9502a3edb5ad511467e3ab Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 14:40:08 +0200
        Subject: [PATCH 051/636] cleanup code
        
        ---
         lib/{utils => bluetooth}/ble.dart             |   0
         lib/{utils => bluetooth}/connection.dart      |   6 +-
         .../devices/base_device.dart}                 | 113 +++++++++++++-----
         lib/bluetooth/devices/zwift_click.dart        |  26 ++++
         .../devices/zwift_play.dart                   |   4 +-
         .../devices/zwift_ride.dart                   |   4 +-
         .../messages/click_notification.dart          |   5 +-
         .../messages/notification.dart                |   0
         .../messages/play_notification.dart           |   5 +-
         .../messages/ride_notification.dart           |   5 +-
         lib/{ => bluetooth}/protocol/zwift.pb.dart    |   0
         .../protocol/zwift.pbenum.dart                |   0
         .../protocol/zwift.pbjson.dart                |   0
         .../protocol/zwift.pbserver.dart              |   0
         lib/{ => bluetooth}/protocol/zwift.proto      |   0
         lib/main.dart                                 |   2 +-
         lib/pages/device.dart                         |   2 +-
         lib/utils/devices/base_device.dart            |  82 -------------
         lib/widgets/logviewer.dart                    |   2 +-
         19 files changed, 123 insertions(+), 133 deletions(-)
         rename lib/{utils => bluetooth}/ble.dart (100%)
         rename lib/{utils => bluetooth}/connection.dart (97%)
         rename lib/{utils/devices/zwift_click.dart => bluetooth/devices/base_device.dart} (63%)
         create mode 100644 lib/bluetooth/devices/zwift_click.dart
         rename lib/{utils => bluetooth}/devices/zwift_play.dart (92%)
         rename lib/{utils => bluetooth}/devices/zwift_ride.dart (91%)
         rename lib/{utils => bluetooth}/messages/click_notification.dart (88%)
         rename lib/{utils => bluetooth}/messages/notification.dart (100%)
         rename lib/{utils => bluetooth}/messages/play_notification.dart (93%)
         rename lib/{utils => bluetooth}/messages/ride_notification.dart (97%)
         rename lib/{ => bluetooth}/protocol/zwift.pb.dart (100%)
         rename lib/{ => bluetooth}/protocol/zwift.pbenum.dart (100%)
         rename lib/{ => bluetooth}/protocol/zwift.pbjson.dart (100%)
         rename lib/{ => bluetooth}/protocol/zwift.pbserver.dart (100%)
         rename lib/{ => bluetooth}/protocol/zwift.proto (100%)
         delete mode 100644 lib/utils/devices/base_device.dart
        
        diff --git a/lib/utils/ble.dart b/lib/bluetooth/ble.dart
        similarity index 100%
        rename from lib/utils/ble.dart
        rename to lib/bluetooth/ble.dart
        diff --git a/lib/utils/connection.dart b/lib/bluetooth/connection.dart
        similarity index 97%
        rename from lib/utils/connection.dart
        rename to lib/bluetooth/connection.dart
        index e3b0a001e..f23e758bb 100644
        --- a/lib/utils/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -4,11 +4,11 @@ import 'dart:io';
         import 'package:dartx/dartx.dart';
         import 'package:flutter/foundation.dart';
         import 'package:swift_control/main.dart';
        -import 'package:swift_control/utils/devices/base_device.dart';
         import 'package:swift_control/utils/requirements/android.dart';
         import 'package:universal_ble/universal_ble.dart';
         
        -import 'ble.dart';
        +import '../bluetooth/ble.dart';
        +import 'devices/base_device.dart';
         import 'messages/notification.dart';
         
         class Connection {
        @@ -23,7 +23,7 @@ class Connection {
           final StreamController _connectionStreams = StreamController.broadcast();
           Stream get connectionStream => _connectionStreams.stream;
         
        -  var _lastScanResult = [];
        +  final _lastScanResult = [];
           final ValueNotifier hasDevices = ValueNotifier(false);
           final ValueNotifier isScanning = ValueNotifier(false);
         
        diff --git a/lib/utils/devices/zwift_click.dart b/lib/bluetooth/devices/base_device.dart
        similarity index 63%
        rename from lib/utils/devices/zwift_click.dart
        rename to lib/bluetooth/devices/base_device.dart
        index 6a85041a1..30a5401ad 100644
        --- a/lib/utils/devices/zwift_click.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -1,22 +1,86 @@
        +import 'dart:async';
        +import 'dart:io';
        +
         import 'package:dartx/dartx.dart';
         import 'package:flutter/foundation.dart';
        -import 'package:swift_control/main.dart';
        -import 'package:swift_control/utils/devices/base_device.dart';
        -import 'package:swift_control/utils/messages/notification.dart';
        +import 'package:swift_control/bluetooth/ble.dart';
        +import 'package:swift_control/bluetooth/devices/zwift_click.dart';
        +import 'package:swift_control/bluetooth/devices/zwift_play.dart';
        +import 'package:swift_control/bluetooth/devices/zwift_ride.dart';
        +import 'package:swift_control/utils/crypto/local_key_provider.dart';
        +import 'package:swift_control/utils/crypto/zap_crypto.dart';
         import 'package:universal_ble/universal_ble.dart';
         
        -import '../ble.dart';
        -import '../crypto/encryption_utils.dart';
        -import '../messages/click_notification.dart';
        +import '../../utils/crypto/encryption_utils.dart';
        +import '../messages/notification.dart';
        +
        +abstract class BaseDevice {
        +  final BleDevice scanResult;
        +  BaseDevice(this.scanResult);
        +
        +  final zapEncryption = ZapCrypto(LocalKeyProvider());
         
        -class ZwiftClick extends BaseDevice {
        -  ZwiftClick(super.scanResult);
        +  bool isConnected = false;
        +
        +  bool supportsEncryption = true;
         
           List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_CLICK;
           String get customServiceId => BleUuid.ZWIFT_CUSTOM_SERVICE_UUID;
         
        +  static BaseDevice? fromScanResult(BleDevice scanResult) {
        +    // Web does not support manufacturer data, also the "system devices" don't
        +    if (scanResult.manufacturerDataList.isEmpty) {
        +      return switch (scanResult.name) {
        +        'Zwift Ride' => ZwiftRide(scanResult),
        +        'Zwift Play' => ZwiftPlay(scanResult),
        +        'Zwift Click' => ZwiftClick(scanResult),
        +        _ => null,
        +      };
        +    } else {
        +      final manufacturerData = scanResult.manufacturerDataList;
        +      final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
        +      if (data == null || data.isEmpty) {
        +        return null;
        +      }
        +      final type = DeviceType.fromManufacturerData(data.first);
        +      return switch (type) {
        +        DeviceType.click => ZwiftClick(scanResult),
        +        DeviceType.playRight => ZwiftPlay(scanResult),
        +        DeviceType.playLeft => ZwiftPlay(scanResult),
        +        _ => null,
        +      };
        +    }
        +  }
        +
        +  @override
        +  bool operator ==(Object other) =>
        +      identical(this, other) ||
        +      other is BaseDevice && runtimeType == other.runtimeType && scanResult == other.scanResult;
        +
           @override
        -  Future handleServices(List services) async {
        +  int get hashCode => scanResult.hashCode;
        +
        +  @override
        +  String toString() {
        +    return runtimeType.toString();
        +  }
        +
        +  BleDevice get device => scanResult;
        +  final StreamController actionStreamInternal = StreamController.broadcast();
        +  Stream get actionStream => actionStreamInternal.stream;
        +
        +  Future connect() async {
        +    await UniversalBle.connect(device.deviceId, connectionTimeout: const Duration(seconds: 3));
        +
        +    if (!kIsWeb && Platform.isAndroid) {
        +      //await UniversalBle.requestMtu(device.deviceId, 256);
        +    }
        +
        +    final services = await UniversalBle.discoverServices(device.deviceId);
        +    await _handleServices(services);
        +  }
        +
        +  Future _handleServices(List services) async {
             final customService = services.firstOrNullWhere((service) => service.uuid == customServiceId);
         
             if (customService == null) {
        @@ -77,7 +141,6 @@ class ZwiftClick extends BaseDevice {
             }
           }
         
        -  @override
           void processCharacteristic(String characteristic, Uint8List bytes) {
             if (kDebugMode && false) {
               print('Received $characteristic: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}');
        @@ -107,7 +170,13 @@ class ZwiftClick extends BaseDevice {
             }
           }
         
        -  ClickNotification? _lastClickNotification;
        +  void _processDevicePublicKeyResponse(Uint8List bytes) {
        +    final devicePublicKeyBytes = bytes.sublist(Constants.RIDE_ON.length + Constants.RESPONSE_START_CLICK.length);
        +    zapEncryption.initialise(devicePublicKeyBytes);
        +    if (kDebugMode) {
        +      print("Device Public Key - ${devicePublicKeyBytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}");
        +    }
        +  }
         
           void _processData(Uint8List bytes) {
             int type;
        @@ -140,25 +209,5 @@ class ZwiftClick extends BaseDevice {
             }
           }
         
        -  void _processDevicePublicKeyResponse(Uint8List bytes) {
        -    final devicePublicKeyBytes = bytes.sublist(Constants.RIDE_ON.length + Constants.RESPONSE_START_CLICK.length);
        -    zapEncryption.initialise(devicePublicKeyBytes);
        -    if (kDebugMode) {
        -      print("Device Public Key - ${devicePublicKeyBytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}");
        -    }
        -  }
        -
        -  void processClickNotification(Uint8List message) {
        -    final ClickNotification clickNotification = ClickNotification(message);
        -    if (_lastClickNotification == null || _lastClickNotification != clickNotification) {
        -      _lastClickNotification = clickNotification;
        -      actionStreamInternal.add(clickNotification);
        -
        -      if (clickNotification.buttonUp) {
        -        actionHandler.increaseGear();
        -      } else if (clickNotification.buttonDown) {
        -        actionHandler.decreaseGear();
        -      }
        -    }
        -  }
        +  void processClickNotification(Uint8List message);
         }
        diff --git a/lib/bluetooth/devices/zwift_click.dart b/lib/bluetooth/devices/zwift_click.dart
        new file mode 100644
        index 000000000..d0e7b0e05
        --- /dev/null
        +++ b/lib/bluetooth/devices/zwift_click.dart
        @@ -0,0 +1,26 @@
        +import 'package:flutter/foundation.dart';
        +import 'package:swift_control/bluetooth/devices/base_device.dart';
        +import 'package:swift_control/main.dart';
        +
        +import '../messages/click_notification.dart';
        +
        +class ZwiftClick extends BaseDevice {
        +  ZwiftClick(super.scanResult);
        +
        +  ClickNotification? _lastClickNotification;
        +
        +  @override
        +  void processClickNotification(Uint8List message) {
        +    final ClickNotification clickNotification = ClickNotification(message);
        +    if (_lastClickNotification == null || _lastClickNotification != clickNotification) {
        +      _lastClickNotification = clickNotification;
        +      actionStreamInternal.add(clickNotification);
        +
        +      if (clickNotification.buttonUp) {
        +        actionHandler.increaseGear();
        +      } else if (clickNotification.buttonDown) {
        +        actionHandler.decreaseGear();
        +      }
        +    }
        +  }
        +}
        diff --git a/lib/utils/devices/zwift_play.dart b/lib/bluetooth/devices/zwift_play.dart
        similarity index 92%
        rename from lib/utils/devices/zwift_play.dart
        rename to lib/bluetooth/devices/zwift_play.dart
        index 6afe651cb..c4dce834a 100644
        --- a/lib/utils/devices/zwift_play.dart
        +++ b/lib/bluetooth/devices/zwift_play.dart
        @@ -1,10 +1,10 @@
         import 'package:accessibility/accessibility.dart';
         import 'package:flutter/foundation.dart';
        -import 'package:swift_control/utils/devices/zwift_click.dart';
        -import 'package:swift_control/utils/messages/play_notification.dart';
        +import 'package:swift_control/bluetooth/messages/play_notification.dart';
         
         import '../../main.dart';
         import '../ble.dart';
        +import 'zwift_click.dart';
         
         class ZwiftPlay extends ZwiftClick {
           ZwiftPlay(super.scanResult);
        diff --git a/lib/utils/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart
        similarity index 91%
        rename from lib/utils/devices/zwift_ride.dart
        rename to lib/bluetooth/devices/zwift_ride.dart
        index 9b1c78437..a0e5aa375 100644
        --- a/lib/utils/devices/zwift_ride.dart
        +++ b/lib/bluetooth/devices/zwift_ride.dart
        @@ -1,8 +1,8 @@
         import 'dart:typed_data';
         
        +import 'package:swift_control/bluetooth/devices/zwift_click.dart';
        +import 'package:swift_control/bluetooth/messages/ride_notification.dart';
         import 'package:swift_control/main.dart';
        -import 'package:swift_control/utils/devices/zwift_click.dart';
        -import 'package:swift_control/utils/messages/ride_notification.dart';
         
         import '../ble.dart';
         
        diff --git a/lib/utils/messages/click_notification.dart b/lib/bluetooth/messages/click_notification.dart
        similarity index 88%
        rename from lib/utils/messages/click_notification.dart
        rename to lib/bluetooth/messages/click_notification.dart
        index 05e18b5bc..68b2cc399 100644
        --- a/lib/utils/messages/click_notification.dart
        +++ b/lib/bluetooth/messages/click_notification.dart
        @@ -1,8 +1,7 @@
         import 'dart:typed_data';
         
        -import 'package:swift_control/utils/messages/notification.dart';
        -
        -import '../../protocol/zwift.pb.dart';
        +import '../protocol/zwift.pb.dart';
        +import 'notification.dart';
         
         class ClickNotification extends BaseNotification {
           static const int BTN_PRESSED = 0;
        diff --git a/lib/utils/messages/notification.dart b/lib/bluetooth/messages/notification.dart
        similarity index 100%
        rename from lib/utils/messages/notification.dart
        rename to lib/bluetooth/messages/notification.dart
        diff --git a/lib/utils/messages/play_notification.dart b/lib/bluetooth/messages/play_notification.dart
        similarity index 93%
        rename from lib/utils/messages/play_notification.dart
        rename to lib/bluetooth/messages/play_notification.dart
        index 6547cfe43..a95b7b51e 100644
        --- a/lib/utils/messages/play_notification.dart
        +++ b/lib/bluetooth/messages/play_notification.dart
        @@ -1,8 +1,7 @@
         import 'dart:typed_data';
         
        -import 'package:swift_control/utils/messages/notification.dart';
        -
        -import '../../protocol/zwift.pb.dart';
        +import 'package:swift_control/bluetooth/messages/notification.dart';
        +import 'package:swift_control/bluetooth/protocol/zwift.pb.dart';
         
         class PlayNotification extends BaseNotification {
           static const int BTN_PRESSED = 0;
        diff --git a/lib/utils/messages/ride_notification.dart b/lib/bluetooth/messages/ride_notification.dart
        similarity index 97%
        rename from lib/utils/messages/ride_notification.dart
        rename to lib/bluetooth/messages/ride_notification.dart
        index 45064c7b3..b63caefee 100644
        --- a/lib/utils/messages/ride_notification.dart
        +++ b/lib/bluetooth/messages/ride_notification.dart
        @@ -1,8 +1,7 @@
         import 'dart:typed_data';
         
        -import 'package:swift_control/utils/messages/notification.dart';
        -
        -import '../../protocol/zwift.pb.dart';
        +import 'package:swift_control/bluetooth/messages/notification.dart';
        +import 'package:swift_control/bluetooth/protocol/zwift.pb.dart';
         
         enum _RideButtonMask {
           LEFT_BTN(0x00001),
        diff --git a/lib/protocol/zwift.pb.dart b/lib/bluetooth/protocol/zwift.pb.dart
        similarity index 100%
        rename from lib/protocol/zwift.pb.dart
        rename to lib/bluetooth/protocol/zwift.pb.dart
        diff --git a/lib/protocol/zwift.pbenum.dart b/lib/bluetooth/protocol/zwift.pbenum.dart
        similarity index 100%
        rename from lib/protocol/zwift.pbenum.dart
        rename to lib/bluetooth/protocol/zwift.pbenum.dart
        diff --git a/lib/protocol/zwift.pbjson.dart b/lib/bluetooth/protocol/zwift.pbjson.dart
        similarity index 100%
        rename from lib/protocol/zwift.pbjson.dart
        rename to lib/bluetooth/protocol/zwift.pbjson.dart
        diff --git a/lib/protocol/zwift.pbserver.dart b/lib/bluetooth/protocol/zwift.pbserver.dart
        similarity index 100%
        rename from lib/protocol/zwift.pbserver.dart
        rename to lib/bluetooth/protocol/zwift.pbserver.dart
        diff --git a/lib/protocol/zwift.proto b/lib/bluetooth/protocol/zwift.proto
        similarity index 100%
        rename from lib/protocol/zwift.proto
        rename to lib/bluetooth/protocol/zwift.proto
        diff --git a/lib/main.dart b/lib/main.dart
        index 05cafed05..a7c9118cb 100644
        --- a/lib/main.dart
        +++ b/lib/main.dart
        @@ -8,9 +8,9 @@ import 'package:swift_control/pages/requirements.dart';
         import 'package:swift_control/theme.dart';
         import 'package:swift_control/utils/actions/android.dart';
         import 'package:swift_control/utils/actions/desktop.dart';
        -import 'package:swift_control/utils/connection.dart';
         import 'package:swift_control/utils/settings/settings.dart';
         
        +import 'bluetooth/connection.dart';
         import 'utils/actions/base_actions.dart';
         
         final connection = Connection();
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index dab7bca96..b55fc358b 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -6,9 +6,9 @@ import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/pages/touch_area.dart';
        -import 'package:swift_control/utils/devices/base_device.dart';
         import 'package:swift_control/widgets/logviewer.dart';
         
        +import '../bluetooth/devices/base_device.dart';
         import '../widgets/menu.dart';
         
         class DevicePage extends StatefulWidget {
        diff --git a/lib/utils/devices/base_device.dart b/lib/utils/devices/base_device.dart
        deleted file mode 100644
        index a55cf9451..000000000
        --- a/lib/utils/devices/base_device.dart
        +++ /dev/null
        @@ -1,82 +0,0 @@
        -import 'dart:async';
        -import 'dart:io';
        -
        -import 'package:dartx/dartx.dart';
        -import 'package:flutter/foundation.dart';
        -import 'package:swift_control/utils/ble.dart';
        -import 'package:swift_control/utils/crypto/local_key_provider.dart';
        -import 'package:swift_control/utils/devices/zwift_click.dart';
        -import 'package:swift_control/utils/devices/zwift_play.dart';
        -import 'package:swift_control/utils/devices/zwift_ride.dart';
        -import 'package:universal_ble/universal_ble.dart';
        -
        -import '../crypto/zap_crypto.dart';
        -import '../messages/notification.dart';
        -
        -abstract class BaseDevice {
        -  final BleDevice scanResult;
        -  final zapEncryption = ZapCrypto(LocalKeyProvider());
        -
        -  bool isConnected = false;
        -
        -  bool supportsEncryption = true;
        -
        -  BaseDevice(this.scanResult);
        -
        -  static BaseDevice? fromScanResult(BleDevice scanResult) {
        -    // Web does not support manufacturer data, also the "system devices" don't
        -    if (scanResult.manufacturerDataList.isEmpty) {
        -      return switch (scanResult.name) {
        -        'Zwift Ride' => ZwiftRide(scanResult),
        -        'Zwift Play' => ZwiftPlay(scanResult),
        -        'Zwift Click' => ZwiftClick(scanResult),
        -        _ => null,
        -      };
        -    } else {
        -      final manufacturerData = scanResult.manufacturerDataList;
        -      final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
        -      if (data == null || data.isEmpty) {
        -        return null;
        -      }
        -      final type = DeviceType.fromManufacturerData(data.first);
        -      return switch (type) {
        -        DeviceType.click => ZwiftClick(scanResult),
        -        DeviceType.playRight => ZwiftPlay(scanResult),
        -        DeviceType.playLeft => ZwiftPlay(scanResult),
        -        _ => null,
        -      };
        -    }
        -  }
        -
        -  @override
        -  bool operator ==(Object other) =>
        -      identical(this, other) ||
        -      other is BaseDevice && runtimeType == other.runtimeType && scanResult == other.scanResult;
        -
        -  @override
        -  int get hashCode => scanResult.hashCode;
        -
        -  @override
        -  String toString() {
        -    return runtimeType.toString();
        -  }
        -
        -  BleDevice get device => scanResult;
        -  final StreamController actionStreamInternal = StreamController.broadcast();
        -  Stream get actionStream => actionStreamInternal.stream;
        -
        -  Future connect() async {
        -    await UniversalBle.connect(device.deviceId, connectionTimeout: const Duration(seconds: 3));
        -
        -    if (!kIsWeb && Platform.isAndroid) {
        -      //await UniversalBle.requestMtu(device.deviceId, 256);
        -    }
        -
        -    final services = await UniversalBle.discoverServices(device.deviceId);
        -    await handleServices(services);
        -  }
        -
        -  Future handleServices(List services);
        -
        -  void processCharacteristic(String tag, Uint8List bytes);
        -}
        diff --git a/lib/widgets/logviewer.dart b/lib/widgets/logviewer.dart
        index cfbc09f0a..262a04ae5 100644
        --- a/lib/widgets/logviewer.dart
        +++ b/lib/widgets/logviewer.dart
        @@ -3,8 +3,8 @@ import 'dart:async';
         import 'package:dartx/dartx.dart';
         import 'package:flutter/material.dart';
         
        +import '../bluetooth/messages/notification.dart';
         import '../main.dart';
        -import '../utils/messages/notification.dart';
         
         class LogViewer extends StatefulWidget {
           const LogViewer({super.key});
        
        From 0a4989ca475cb78bc1f911236b468c790250b9cd Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 14:59:42 +0200
        Subject: [PATCH 052/636] fix touch placement coordinate systems (closes #4)
        
        ---
         lib/pages/device.dart     | 17 ++++++++---
         lib/pages/touch_area.dart | 59 +++++++++++++++++++++++++++++----------
         2 files changed, 58 insertions(+), 18 deletions(-)
        
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index b55fc358b..075294a35 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -72,10 +72,19 @@ class _DevicePageState extends State {
                                   builder:
                                       (_) => TouchAreaSetupPage(
                                         onSave: (gearUp, gearDown) {
        -                                  print("Gear Up Position: $gearUp");
        -                                  print("Gear Down Position: $gearDown");
        -                                  actionHandler.updateTouchPositions(gearUp, gearDown);
        -                                  settings.updateTouchPositions(gearUp, gearDown);
        +                                  final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
        +
        +                                  final convertedGearUp =
        +                                      gearUp.translate(touchAreaSize / 2, touchAreaSize / 2) * devicePixelRatio;
        +
        +                                  final convertedGearDown =
        +                                      gearDown.translate(touchAreaSize / 2, touchAreaSize / 2) * devicePixelRatio;
        +
        +                                  print("Gear Up Position: $gearUp - converted: $convertedGearUp");
        +                                  print("Gear Down Position: $gearDown - converted: $convertedGearDown");
        +
        +                                  actionHandler.updateTouchPositions(convertedGearUp, convertedGearDown);
        +                                  settings.updateTouchPositions(convertedGearUp, convertedGearDown);
                                         },
                                       ),
                                 ),
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index bb7e1f6a8..62dfda1b0 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -4,10 +4,12 @@ import 'package:flutter/material.dart';
         import 'package:image_picker/image_picker.dart';
         import 'package:swift_control/main.dart';
         
        +final touchAreaSize = 32.0;
        +
         class TouchAreaSetupPage extends StatefulWidget {
        -  final void Function(Offset gearUp, Offset gearDown)? onSave;
        +  final void Function(Offset gearUp, Offset gearDown) onSave;
         
        -  const TouchAreaSetupPage({this.onSave, super.key});
        +  const TouchAreaSetupPage({required this.onSave, super.key});
         
           @override
           State createState() => _TouchAreaSetupPageState();
        @@ -15,8 +17,8 @@ class TouchAreaSetupPage extends StatefulWidget {
         
         class _TouchAreaSetupPageState extends State {
           File? _backgroundImage;
        -  late Offset _gearUpPos;
        -  late Offset _gearDownPos;
        +  Offset _gearUpPos = const Offset(100, 300);
        +  Offset _gearDownPos = const Offset(200, 300);
         
           Future _pickScreenshot() async {
             final picker = ImagePicker();
        @@ -29,17 +31,34 @@ class _TouchAreaSetupPageState extends State {
           }
         
           void _saveAndClose() {
        -    if (widget.onSave != null) {
        -      widget.onSave!(_gearUpPos, _gearDownPos);
        -    }
        +    widget.onSave(_gearUpPos, _gearDownPos);
             Navigator.of(context).pop();
           }
         
           @override
           void initState() {
             super.initState();
        -    _gearUpPos = actionHandler.gearUpTouchPosition ?? const Offset(100, 300);
        -    _gearDownPos = actionHandler.gearDownTouchPosition ?? const Offset(200, 300);
        +
        +    WidgetsBinding.instance.addPostFrameCallback((_) {
        +      final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
        +
        +      if (actionHandler.gearUpTouchPosition != null) {
        +        _gearUpPos = actionHandler.gearUpTouchPosition!;
        +        _gearUpPos = Offset(
        +          _gearUpPos.dx / devicePixelRatio - touchAreaSize / 2,
        +          _gearUpPos.dy / devicePixelRatio - touchAreaSize / 2,
        +        );
        +      }
        +
        +      if (actionHandler.gearDownTouchPosition != null) {
        +        _gearDownPos = actionHandler.gearDownTouchPosition!;
        +        _gearDownPos = Offset(
        +          _gearDownPos.dx / devicePixelRatio - touchAreaSize / 2,
        +          _gearDownPos.dy / devicePixelRatio - touchAreaSize / 2,
        +        );
        +      }
        +      setState(() {});
        +    });
           }
         
           Widget _buildDraggableArea({
        @@ -77,8 +96,9 @@ class _TouchAreaSetupPageState extends State {
                         children: [
                           Text('''1. Create an in-game screenshot of your app (e.g. within MyWhoosh)
         2. Load the screenshot with the button below
        -3. Drag the touch areas to the correct position where the gear up / down buttons are located
        -4. Save and close this screen'''),
        +3. Make sure the app is in the correct orientation (portrait or landscape)
        +4. Drag the touch areas to the correct position where the gear up / down buttons are located
        +5. Save and close this screen'''),
                           ElevatedButton(
                             onPressed: () {
                               _pickScreenshot();
        @@ -101,7 +121,18 @@ class _TouchAreaSetupPageState extends State {
                     color: Colors.red,
                     label: "Gear ↓",
                   ),
        -          // Save/Close Button
        +          Positioned(
        +            top: 40,
        +            right: 170,
        +            child: ElevatedButton.icon(
        +              onPressed: () {
        +                _gearDownPos = Offset(200, 300);
        +                _gearUpPos = Offset(100, 300);
        +                setState(() {});
        +              },
        +              label: const Icon(Icons.lock_reset),
        +            ),
        +          ),
                   Positioned(
                     top: 40,
                     right: 20,
        @@ -128,8 +159,8 @@ class _TouchDot extends StatelessWidget {
             return Column(
               children: [
                 Container(
        -          width: 32,
        -          height: 32,
        +          width: touchAreaSize,
        +          height: touchAreaSize,
                   decoration: BoxDecoration(
                     color: color.withOpacity(0.6),
                     shape: BoxShape.circle,
        
        From dbf24c6cd35e2cd0b3c6d98addf00d0f6ae51ea2 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 15:00:24 +0200
        Subject: [PATCH 053/636] fix touch placement coordinate systems (closes #4)
        
        ---
         lib/pages/touch_area.dart | 8 ++++----
         1 file changed, 4 insertions(+), 4 deletions(-)
        
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index 62dfda1b0..b1ba5064f 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -17,8 +17,8 @@ class TouchAreaSetupPage extends StatefulWidget {
         
         class _TouchAreaSetupPageState extends State {
           File? _backgroundImage;
        -  Offset _gearUpPos = const Offset(100, 300);
        -  Offset _gearDownPos = const Offset(200, 300);
        +  Offset _gearUpPos = const Offset(200, 300);
        +  Offset _gearDownPos = const Offset(100, 300);
         
           Future _pickScreenshot() async {
             final picker = ImagePicker();
        @@ -126,8 +126,8 @@ class _TouchAreaSetupPageState extends State {
                     right: 170,
                     child: ElevatedButton.icon(
                       onPressed: () {
        -                _gearDownPos = Offset(200, 300);
        -                _gearUpPos = Offset(100, 300);
        +                _gearDownPos = Offset(100, 300);
        +                _gearUpPos = Offset(200, 300);
                         setState(() {});
                       },
                       label: const Icon(Icons.lock_reset),
        
        From f560cd59300068b199551844a9f4d8662f836bd3 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 15:02:04 +0200
        Subject: [PATCH 054/636] don't call getSystemDevices on Web
        
        ---
         lib/bluetooth/connection.dart | 18 ++++++++++--------
         1 file changed, 10 insertions(+), 8 deletions(-)
        
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index f23e758bb..b9d06487a 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -53,14 +53,16 @@ class Connection {
           Future performScanning() async {
             isScanning.value = true;
         
        -    UniversalBle.getSystemDevices(
        -      withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID],
        -    ).then((devices) {
        -      final baseDevices = devices.map((device) => BaseDevice.fromScanResult(device)).whereNotNull().toList();
        -      if (baseDevices.isNotEmpty) {
        -        _addDevices(baseDevices);
        -      }
        -    });
        +    if (!kIsWeb) {
        +      UniversalBle.getSystemDevices(
        +        withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID],
        +      ).then((devices) {
        +        final baseDevices = devices.map((device) => BaseDevice.fromScanResult(device)).whereNotNull().toList();
        +        if (baseDevices.isNotEmpty) {
        +          _addDevices(baseDevices);
        +        }
        +      });
        +    }
         
             await UniversalBle.startScan(
               scanFilter: ScanFilter(withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID]),
        
        From 28d178c4bec1dca32547f9cdf5ead63ce9132316 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 15:04:00 +0200
        Subject: [PATCH 055/636] update changelog + version
        
        ---
         CHANGELOG.md | 4 +++-
         pubspec.yaml | 2 +-
         2 files changed, 4 insertions(+), 2 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 1dc2d5970..12c171e36 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,5 +1,7 @@
        -### 1.0.7 (2025-03-30)
        +### 1.1.0 (2025-03-30)
         - Windows & macOS: allow setting custom keymap and store the setting
        +- Android: allow customizing the touch area, so it can work with any device without guesswork where the buttons are (#4)
        +- Zwift Ride: update Zwift Ride decoding based on Feedback from @JayyajGH (#3)
         
         ### 1.0.6 (2025-03-29)
         - Another potential keyboard fix for Windows
        diff --git a/pubspec.yaml b/pubspec.yaml
        index ec113b8be..e45f6b507 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.0.7+0
        +version: 1.1.0+0
         
         environment:
           sdk: ^3.7.0
        
        From 3e37f8a269f2a032b16775558b73e42059f4bd76 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 15:17:52 +0200
        Subject: [PATCH 056/636] update readme
        
        ---
         README.md | 6 +++---
         1 file changed, 3 insertions(+), 3 deletions(-)
        
        diff --git a/README.md b/README.md
        index 895094d20..8889ef34b 100644
        --- a/README.md
        +++ b/README.md
        @@ -18,7 +18,9 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         ## Supported Apps
         - MyWhoosh
         - indieVelo / Training Peaks
        -- let me know if you know others that can benefit
        +- any other: 
        +  - Android: you can customize the gear shifting touch points in the app
        +  - Desktop: you can customize the keyboard shortcuts in the app
         
         ## Supported Devices
         - Zwift Click
        @@ -43,6 +45,4 @@ Please consider donating to support the development of this app.
         [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/boni)
         
         ## TODO
        -- test Zwift Ride
        -- confirm that Windows release works
         - implement more actions for Play + Ride
        
        From 84daba89021424c935afa8bb04cc07271187b204 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 16:03:01 +0200
        Subject: [PATCH 057/636] potential fix for Bluetooth device detection
        
        ---
         CHANGELOG.md                           |  3 +++
         lib/bluetooth/ble.dart                 |  9 +++++++--
         lib/bluetooth/devices/base_device.dart | 14 +++++++-------
         pubspec.yaml                           |  2 +-
         4 files changed, 18 insertions(+), 10 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 12c171e36..7f8899a25 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 1.1.0 (2025-03-30)
        +- potential fix for Bluetooth device detection
        +
         ### 1.1.0 (2025-03-30)
         - Windows & macOS: allow setting custom keymap and store the setting
         - Android: allow customizing the touch area, so it can work with any device without guesswork where the buttons are (#4)
        diff --git a/lib/bluetooth/ble.dart b/lib/bluetooth/ble.dart
        index 858785a0f..e4340039a 100644
        --- a/lib/bluetooth/ble.dart
        +++ b/lib/bluetooth/ble.dart
        @@ -45,9 +45,10 @@ class Constants {
         
         enum DeviceType {
           click,
        -  ride,
           playLeft,
        -  playRight;
        +  playRight,
        +  rideRight,
        +  rideLeft;
         
           @override
           String toString() {
        @@ -63,6 +64,10 @@ enum DeviceType {
                 return DeviceType.playLeft;
               case Constants.RC1_RIGHT_SIDE:
                 return DeviceType.playRight;
        +      case Constants.RIDE_RIGHT_SIDE:
        +        return DeviceType.rideRight;
        +      case Constants.RIDE_LEFT_SIDE:
        +        return DeviceType.rideLeft;
             }
             return null;
           }
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 30a5401ad..1be4f98a8 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -28,8 +28,11 @@ abstract class BaseDevice {
           String get customServiceId => BleUuid.ZWIFT_CUSTOM_SERVICE_UUID;
         
           static BaseDevice? fromScanResult(BleDevice scanResult) {
        -    // Web does not support manufacturer data, also the "system devices" don't
        -    if (scanResult.manufacturerDataList.isEmpty) {
        +    final manufacturerData = scanResult.manufacturerDataList;
        +    final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
        +
        +    // Web does not support manufacturer data, also the "system devices" don't return any, so use name fallback
        +    if (data == null || data.isEmpty) {
               return switch (scanResult.name) {
                 'Zwift Ride' => ZwiftRide(scanResult),
                 'Zwift Play' => ZwiftPlay(scanResult),
        @@ -37,16 +40,13 @@ abstract class BaseDevice {
                 _ => null,
               };
             } else {
        -      final manufacturerData = scanResult.manufacturerDataList;
        -      final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
        -      if (data == null || data.isEmpty) {
        -        return null;
        -      }
               final type = DeviceType.fromManufacturerData(data.first);
               return switch (type) {
                 DeviceType.click => ZwiftClick(scanResult),
                 DeviceType.playRight => ZwiftPlay(scanResult),
                 DeviceType.playLeft => ZwiftPlay(scanResult),
        +        DeviceType.rideRight => ZwiftRide(scanResult),
        +        DeviceType.rideLeft => ZwiftRide(scanResult),
                 _ => null,
               };
             }
        diff --git a/pubspec.yaml b/pubspec.yaml
        index e45f6b507..eeffbd381 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.0+0
        +version: 1.1.1+0
         
         environment:
           sdk: ^3.7.0
        
        From 657c6056c4997ef8504d94c75710f34331fc16c0 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 16:08:03 +0200
        Subject: [PATCH 058/636] potential fix for Bluetooth device detection
        
        ---
         lib/bluetooth/devices/base_device.dart | 2 +-
         lib/bluetooth/devices/zwift_play.dart  | 4 ++--
         lib/bluetooth/devices/zwift_ride.dart  | 4 ++--
         3 files changed, 5 insertions(+), 5 deletions(-)
        
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 1be4f98a8..73e58c8f6 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -84,7 +84,7 @@ abstract class BaseDevice {
             final customService = services.firstOrNullWhere((service) => service.uuid == customServiceId);
         
             if (customService == null) {
        -      throw Exception('Custom service not found');
        +      throw Exception('Custom service $customServiceId not found for device $this ${device.name ?? device.rawName}');
             }
         
             final asyncCharacteristic = customService.characteristics.firstOrNullWhere(
        diff --git a/lib/bluetooth/devices/zwift_play.dart b/lib/bluetooth/devices/zwift_play.dart
        index c4dce834a..dfb4d1dcf 100644
        --- a/lib/bluetooth/devices/zwift_play.dart
        +++ b/lib/bluetooth/devices/zwift_play.dart
        @@ -1,12 +1,12 @@
         import 'package:accessibility/accessibility.dart';
         import 'package:flutter/foundation.dart';
        +import 'package:swift_control/bluetooth/devices/base_device.dart';
         import 'package:swift_control/bluetooth/messages/play_notification.dart';
         
         import '../../main.dart';
         import '../ble.dart';
        -import 'zwift_click.dart';
         
        -class ZwiftPlay extends ZwiftClick {
        +class ZwiftPlay extends BaseDevice {
           ZwiftPlay(super.scanResult);
         
           PlayNotification? _lastControllerNotification;
        diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart
        index a0e5aa375..8d89e0155 100644
        --- a/lib/bluetooth/devices/zwift_ride.dart
        +++ b/lib/bluetooth/devices/zwift_ride.dart
        @@ -1,12 +1,12 @@
         import 'dart:typed_data';
         
        -import 'package:swift_control/bluetooth/devices/zwift_click.dart';
        +import 'package:swift_control/bluetooth/devices/base_device.dart';
         import 'package:swift_control/bluetooth/messages/ride_notification.dart';
         import 'package:swift_control/main.dart';
         
         import '../ble.dart';
         
        -class ZwiftRide extends ZwiftClick {
        +class ZwiftRide extends BaseDevice {
           ZwiftRide(super.scanResult);
         
           @override
        
        From a58ad1daf6df9432d749efe30c79c82e342bd888 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 16:53:34 +0200
        Subject: [PATCH 059/636] potential fix for Bluetooth device detection
        
        ---
         lib/bluetooth/connection.dart | 3 ++-
         1 file changed, 2 insertions(+), 1 deletion(-)
        
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index b9d06487a..63119ba1a 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -53,7 +53,8 @@ class Connection {
           Future performScanning() async {
             isScanning.value = true;
         
        -    if (!kIsWeb) {
        +    // does not work on web, may not work on Windows
        +    if (!kIsWeb && !Platform.isWindows) {
               UniversalBle.getSystemDevices(
                 withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID],
               ).then((devices) {
        
        From b0d8bfcadd95a242d75dfd4eba1b25ddc91a7d19 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 18:29:01 +0200
        Subject: [PATCH 060/636] potential fix for #7
        
        ---
         lib/bluetooth/connection.dart           |  2 +-
         lib/utils/actions/desktop.dart          |  8 ++---
         lib/utils/keymap/keymap.dart            | 44 +++++++++++++++++++++----
         lib/utils/requirements/multi.dart       |  7 ++++
         lib/widgets/custom_keymap_selector.dart | 23 ++++++++-----
         5 files changed, 64 insertions(+), 20 deletions(-)
        
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index 63119ba1a..384ca983a 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -58,7 +58,7 @@ class Connection {
               UniversalBle.getSystemDevices(
                 withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID],
               ).then((devices) {
        -        final baseDevices = devices.map((device) => BaseDevice.fromScanResult(device)).whereNotNull().toList();
        +        final baseDevices = devices.mapNotNull(BaseDevice.fromScanResult).toList();
                 if (baseDevices.isNotEmpty) {
                   _addDevices(baseDevices);
                 }
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index f87ce1476..d7fd0e292 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -19,8 +19,8 @@ class DesktopActions extends BaseActions {
             if (keymap == null) {
               throw Exception('Keymap is not set');
             }
        -    await keyPressSimulator.simulateKeyDown(_keymap!.decrease);
        -    await keyPressSimulator.simulateKeyUp(_keymap!.decrease);
        +    await keyPressSimulator.simulateKeyDown(_keymap!.decrease?.physicalKey);
        +    await keyPressSimulator.simulateKeyUp(_keymap!.decrease?.physicalKey);
           }
         
           @override
        @@ -28,7 +28,7 @@ class DesktopActions extends BaseActions {
             if (keymap == null) {
               throw Exception('Keymap is not set');
             }
        -    await keyPressSimulator.simulateKeyDown(_keymap!.increase);
        -    await keyPressSimulator.simulateKeyUp(_keymap!.increase);
        +    await keyPressSimulator.simulateKeyDown(_keymap!.increase?.physicalKey);
        +    await keyPressSimulator.simulateKeyUp(_keymap!.increase?.physicalKey);
           }
         }
        diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart
        index 5978388dc..ac4b8a035 100644
        --- a/lib/utils/keymap/keymap.dart
        +++ b/lib/utils/keymap/keymap.dart
        @@ -1,13 +1,18 @@
        +import 'package:dartx/dartx.dart';
         import 'package:flutter/services.dart';
         
         class Keymap {
        -  static Keymap myWhoosh = Keymap('MyWhoosh', increase: PhysicalKeyboardKey.keyK, decrease: PhysicalKeyboardKey.keyI);
        +  static Keymap myWhoosh = Keymap(
        +    'MyWhoosh',
        +    increase: KeyPair(physicalKey: PhysicalKeyboardKey.keyK, logicalKey: LogicalKeyboardKey.keyK),
        +    decrease: KeyPair(physicalKey: PhysicalKeyboardKey.keyI, logicalKey: LogicalKeyboardKey.keyI),
        +  );
           static Keymap custom = Keymap('Custom', increase: null, decrease: null);
         
           static List values = [myWhoosh, custom];
         
        -  PhysicalKeyboardKey? increase;
        -  PhysicalKeyboardKey? decrease;
        +  KeyPair? increase;
        +  KeyPair? decrease;
           final String name;
         
           Keymap(this.name, {required this.increase, required this.decrease});
        @@ -17,16 +22,26 @@ class Keymap {
             if (increase == null && decrease == null) {
               return name;
             }
        -    return "$name: ${increase?.debugName} + ${decrease?.debugName}";
        +    return "$name: ${increase?.logicalKey.keyLabel} + ${decrease?.logicalKey.keyLabel}";
           }
         
           List encode() {
             // encode to save in preferences
        -    return [name, increase?.usbHidUsage.toString() ?? '', decrease?.usbHidUsage.toString() ?? ''];
        +    return [
        +      name,
        +      increase?.logicalKey.keyId.toString() ?? '',
        +      increase?.physicalKey.usbHidUsage.toString() ?? '',
        +      decrease?.logicalKey.keyId.toString() ?? '',
        +      decrease?.physicalKey.usbHidUsage.toString() ?? '',
        +    ];
           }
         
           static Keymap decode(List data) {
             // decode from preferences
        +
        +    if (data.length < 4) {
        +      return custom;
        +    }
             final name = data[0];
             final keymap = values.firstWhere((element) => element.name == name, orElse: () => custom);
         
        @@ -34,8 +49,23 @@ class Keymap {
               return keymap;
             }
         
        -    keymap.increase = data[1].isNotEmpty ? PhysicalKeyboardKey(int.parse(data[1])) : null;
        -    keymap.decrease = data[2].isNotEmpty ? PhysicalKeyboardKey(int.parse(data[2])) : null;
        +    if (data.sublist(1).all((e) => e.isNotEmpty)) {
        +      keymap.increase = KeyPair(
        +        physicalKey: PhysicalKeyboardKey(int.parse(data[2])),
        +        logicalKey: LogicalKeyboardKey(int.parse(data[1])),
        +      );
        +      keymap.decrease = KeyPair(
        +        physicalKey: PhysicalKeyboardKey(int.parse(data[4])),
        +        logicalKey: LogicalKeyboardKey(int.parse(data[3])),
        +      );
        +    }
             return keymap;
           }
         }
        +
        +class KeyPair {
        +  final PhysicalKeyboardKey physicalKey;
        +  final LogicalKeyboardKey logicalKey;
        +
        +  KeyPair({required this.physicalKey, required this.logicalKey});
        +}
        diff --git a/lib/utils/requirements/multi.dart b/lib/utils/requirements/multi.dart
        index c7c8869d0..82e051b77 100644
        --- a/lib/utils/requirements/multi.dart
        +++ b/lib/utils/requirements/multi.dart
        @@ -1,3 +1,6 @@
        +import 'dart:io';
        +
        +import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:keypress_simulator/keypress_simulator.dart';
         import 'package:swift_control/pages/scan.dart';
        @@ -41,6 +44,10 @@ class KeymapRequirement extends PlatformRequirement {
               onSelected: (keymap) async {
                 if (keymap!.name == Keymap.custom.name) {
                   keymap = await showCustomKeymapDialog(context, keymap: keymap);
        +        } else if (keymap.name == Keymap.myWhoosh.name && (!kIsWeb && Platform.isWindows)) {
        +          ScaffoldMessenger.of(
        +            context,
        +          ).showSnackBar(SnackBar(content: Text('Use a Custom Keymap if you experience any issues on Windows')));
                 }
                 actionHandler.init(keymap);
                 settings.setKeymap(keymap!);
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        index d4be63ace..56b760a1d 100644
        --- a/lib/widgets/custom_keymap_selector.dart
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -21,9 +21,9 @@ class GearHotkeyDialog extends StatefulWidget {
         
         class _GearHotkeyDialogState extends State {
           final FocusNode _focusNode = FocusNode();
        -  final Set _pressedKeys = {};
        -  Set? _gearUpHotkey;
        -  Set? _gearDownHotkey;
        +  final Set _pressedKeys = {};
        +  Set? _gearUpHotkey;
        +  Set? _gearDownHotkey;
         
           String _mode = 'up'; // 'up' or 'down'
         
        @@ -36,7 +36,7 @@ class _GearHotkeyDialogState extends State {
           void _onKey(KeyEvent event) {
             setState(() {
               if (event is KeyDownEvent) {
        -        _pressedKeys.add(event.physicalKey);
        +        _pressedKeys.add(event);
               } else if (event is KeyUpEvent) {
                 if (_pressedKeys.isNotEmpty) {
                   if (_mode == 'up') {
        @@ -44,8 +44,14 @@ class _GearHotkeyDialogState extends State {
                     _mode = 'down';
                   } else {
                     _gearDownHotkey = {..._pressedKeys};
        -            widget.keymap.increase = _gearUpHotkey!.first;
        -            widget.keymap.decrease = _gearDownHotkey!.first;
        +            widget.keymap.increase = KeyPair(
        +              physicalKey: _gearUpHotkey!.first.physicalKey,
        +              logicalKey: _gearUpHotkey!.first.logicalKey,
        +            );
        +            widget.keymap.decrease = KeyPair(
        +              physicalKey: _gearDownHotkey!.first.physicalKey,
        +              logicalKey: _gearDownHotkey!.first.logicalKey,
        +            );
                     Navigator.of(context).pop(widget.keymap);
                   }
                   _pressedKeys.clear();
        @@ -54,9 +60,9 @@ class _GearHotkeyDialogState extends State {
             });
           }
         
        -  String _formatKeys(Set? keys) {
        +  String _formatKeys(Set? keys) {
             if (keys == null || keys.isEmpty) return 'Not set';
        -    return keys.map((k) => k.debugName ?? k).join(' + ');
        +    return keys.map((k) => k.logicalKey.keyLabel).join(' + ');
           }
         
           @override
        @@ -69,6 +75,7 @@ class _GearHotkeyDialogState extends State {
                 onKeyEvent: _onKey,
                 child: Column(
                   mainAxisSize: MainAxisSize.min,
        +          crossAxisAlignment: CrossAxisAlignment.start,
                   children: [
                     Text("Step 1: Press a hotkey for **Gear Up**."),
                     Text("Step 2: Press a hotkey for **Gear Down**."),
        
        From 68bb5bf371ce8415e60408717999de6481b54b38 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 18:30:15 +0200
        Subject: [PATCH 061/636] Zwift Ride: adjust on off button detection
        
        ---
         lib/bluetooth/messages/ride_notification.dart | 4 ++--
         1 file changed, 2 insertions(+), 2 deletions(-)
        
        diff --git a/lib/bluetooth/messages/ride_notification.dart b/lib/bluetooth/messages/ride_notification.dart
        index b63caefee..1e50530db 100644
        --- a/lib/bluetooth/messages/ride_notification.dart
        +++ b/lib/bluetooth/messages/ride_notification.dart
        @@ -20,9 +20,9 @@ enum _RideButtonMask {
           SHFT_DN_R_BTN(0x02000),
         
           POWERUP_L_BTN(0x00400),
        -  ONOFF_L_BTN(0x01000),
           POWERUP_R_BTN(0x04000),
        -  ONOFF_R_BTN(0x20000);
        +  ONOFF_L_BTN(0x00800),
        +  ONOFF_R_BTN(0x08000);
         
           final int mask;
         
        
        From 92419c9182c61c32d70a0522e64bae9bdc43f019 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 18:44:55 +0200
        Subject: [PATCH 062/636] potential fix for #6
        
        ---
         CHANGELOG.md                           |  5 +++++
         lib/bluetooth/devices/base_device.dart | 29 +++++++++++++++-----------
         pubspec.yaml                           |  2 +-
         3 files changed, 23 insertions(+), 13 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 7f8899a25..741bbb161 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,4 +1,9 @@
         ### 1.1.0 (2025-03-30)
        +- Windows: fix custom keyboard profile recreation after restart, also warn when choosing MyWhoosh profile (may fix #7)
        +- Zwift Ride: button map adjustments to prevent double shifting
        +- potential fix for #6 
        +
        +### 1.1.1 (2025-03-30)
         - potential fix for Bluetooth device detection
         
         ### 1.1.0 (2025-03-30)
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 73e58c8f6..75cbaa944 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -28,18 +28,23 @@ abstract class BaseDevice {
           String get customServiceId => BleUuid.ZWIFT_CUSTOM_SERVICE_UUID;
         
           static BaseDevice? fromScanResult(BleDevice scanResult) {
        -    final manufacturerData = scanResult.manufacturerDataList;
        -    final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
        -
        -    // Web does not support manufacturer data, also the "system devices" don't return any, so use name fallback
        -    if (data == null || data.isEmpty) {
        -      return switch (scanResult.name) {
        -        'Zwift Ride' => ZwiftRide(scanResult),
        -        'Zwift Play' => ZwiftPlay(scanResult),
        -        'Zwift Click' => ZwiftClick(scanResult),
        -        _ => null,
        -      };
        -    } else {
        +    // Use the name first, probably safest method on all platforms
        +    final device = switch (scanResult.name) {
        +      'Zwift Ride' => ZwiftRide(scanResult),
        +      'Zwift Play' => ZwiftPlay(scanResult),
        +      'Zwift Click' => ZwiftClick(scanResult),
        +      _ => null,
        +    };
        +
        +    // otherwise use the manufacturer data, which doesn't exist on Web and "System Devices"
        +    if (device == null) {
        +      final manufacturerData = scanResult.manufacturerDataList;
        +      final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
        +
        +      if (data == null || data.isEmpty) {
        +        return null;
        +      }
        +
               final type = DeviceType.fromManufacturerData(data.first);
               return switch (type) {
                 DeviceType.click => ZwiftClick(scanResult),
        diff --git a/pubspec.yaml b/pubspec.yaml
        index eeffbd381..7ee611721 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.1+0
        +version: 1.1.2+0
         
         environment:
           sdk: ^3.7.0
        
        From 7a3d1201232e6908a89531eaae6127c34e7e612c Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 18:58:38 +0200
        Subject: [PATCH 063/636] Keyboard: no point in catching modifiers
        
        ---
         lib/utils/requirements/multi.dart       |  8 ++++-
         lib/widgets/custom_keymap_selector.dart | 39 ++++++++++---------------
         2 files changed, 23 insertions(+), 24 deletions(-)
        
        diff --git a/lib/utils/requirements/multi.dart b/lib/utils/requirements/multi.dart
        index 82e051b77..b347f7340 100644
        --- a/lib/utils/requirements/multi.dart
        +++ b/lib/utils/requirements/multi.dart
        @@ -38,7 +38,9 @@ class KeymapRequirement extends PlatformRequirement {
         
           @override
           Widget? build(BuildContext context, VoidCallback onUpdate) {
        +    final controller = TextEditingController(text: actionHandler.keymap?.name);
             return DropdownMenu(
        +      controller: controller,
               dropdownMenuEntries:
                   Keymap.values.map((key) => DropdownMenuEntry(value: key, label: key.toString())).toList(),
               onSelected: (keymap) async {
        @@ -49,8 +51,12 @@ class KeymapRequirement extends PlatformRequirement {
                     context,
                   ).showSnackBar(SnackBar(content: Text('Use a Custom Keymap if you experience any issues on Windows')));
                 }
        +        controller.text = keymap?.name ?? '';
        +        if (keymap == null) {
        +          return;
        +        }
                 actionHandler.init(keymap);
        -        settings.setKeymap(keymap!);
        +        settings.setKeymap(keymap);
                 onUpdate();
               },
               initialSelection: actionHandler.keymap,
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        index 56b760a1d..8356bec25 100644
        --- a/lib/widgets/custom_keymap_selector.dart
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -21,9 +21,9 @@ class GearHotkeyDialog extends StatefulWidget {
         
         class _GearHotkeyDialogState extends State {
           final FocusNode _focusNode = FocusNode();
        -  final Set _pressedKeys = {};
        -  Set? _gearUpHotkey;
        -  Set? _gearDownHotkey;
        +  KeyDownEvent? _pressedKey;
        +  KeyDownEvent? _gearUpHotkey;
        +  KeyDownEvent? _gearDownHotkey;
         
           String _mode = 'up'; // 'up' or 'down'
         
        @@ -36,33 +36,32 @@ class _GearHotkeyDialogState extends State {
           void _onKey(KeyEvent event) {
             setState(() {
               if (event is KeyDownEvent) {
        -        _pressedKeys.add(event);
        +        _pressedKey = event;
               } else if (event is KeyUpEvent) {
        -        if (_pressedKeys.isNotEmpty) {
        +        if (_pressedKey != null) {
                   if (_mode == 'up') {
        -            _gearUpHotkey = {..._pressedKeys};
        +            _gearUpHotkey = _pressedKey;
                     _mode = 'down';
                   } else {
        -            _gearDownHotkey = {..._pressedKeys};
        +            _gearDownHotkey = _pressedKey;
                     widget.keymap.increase = KeyPair(
        -              physicalKey: _gearUpHotkey!.first.physicalKey,
        -              logicalKey: _gearUpHotkey!.first.logicalKey,
        +              physicalKey: _gearUpHotkey!.physicalKey,
        +              logicalKey: _gearUpHotkey!.logicalKey,
                     );
                     widget.keymap.decrease = KeyPair(
        -              physicalKey: _gearDownHotkey!.first.physicalKey,
        -              logicalKey: _gearDownHotkey!.first.logicalKey,
        +              physicalKey: _gearDownHotkey!.physicalKey,
        +              logicalKey: _gearDownHotkey!.logicalKey,
                     );
                     Navigator.of(context).pop(widget.keymap);
                   }
        -          _pressedKeys.clear();
        +          _pressedKey = null;
                 }
               }
             });
           }
         
        -  String _formatKeys(Set? keys) {
        -    if (keys == null || keys.isEmpty) return 'Not set';
        -    return keys.map((k) => k.logicalKey.keyLabel).join(' + ');
        +  String _formatKey(KeyDownEvent? key) {
        +    return key?.logicalKey.keyLabel ?? 'Not set';
           }
         
           @override
        @@ -75,7 +74,6 @@ class _GearHotkeyDialogState extends State {
                 onKeyEvent: _onKey,
                 child: Column(
                   mainAxisSize: MainAxisSize.min,
        -          crossAxisAlignment: CrossAxisAlignment.start,
                   children: [
                     Text("Step 1: Press a hotkey for **Gear Up**."),
                     Text("Step 2: Press a hotkey for **Gear Down**."),
        @@ -83,18 +81,13 @@ class _GearHotkeyDialogState extends State {
                     ListTile(
                       leading: Icon(Icons.arrow_upward),
                       title: Text("Gear Up Hotkey"),
        -              subtitle: Text(_formatKeys(_gearUpHotkey)),
        +              subtitle: Text(_formatKey(_gearUpHotkey)),
                     ),
                     ListTile(
                       leading: Icon(Icons.arrow_downward),
                       title: Text("Gear Down Hotkey"),
        -              subtitle: Text(_formatKeys(_gearDownHotkey)),
        +              subtitle: Text(_formatKey(_gearDownHotkey)),
                     ),
        -            if (_pressedKeys.isNotEmpty)
        -              Padding(
        -                padding: const EdgeInsets.only(top: 8.0),
        -                child: Text("Recording: ${_formatKeys(_pressedKeys)}", style: TextStyle(color: Colors.blue)),
        -              ),
                   ],
                 ),
               ),
        
        From edda16dc06afd10b49094284b22cc9cba6893cd2 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 19:30:11 +0200
        Subject: [PATCH 064/636] adjust reinstating saved keymaps
        
        ---
         CHANGELOG.md                 |  2 +-
         lib/utils/keymap/keymap.dart | 14 ++++++++++----
         pubspec.yaml                 |  2 +-
         3 files changed, 12 insertions(+), 6 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 741bbb161..38025589d 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,4 +1,4 @@
        -### 1.1.0 (2025-03-30)
        +### 1.1.3 (2025-03-30)
         - Windows: fix custom keyboard profile recreation after restart, also warn when choosing MyWhoosh profile (may fix #7)
         - Zwift Ride: button map adjustments to prevent double shifting
         - potential fix for #6 
        diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart
        index ac4b8a035..fe45afb7d 100644
        --- a/lib/utils/keymap/keymap.dart
        +++ b/lib/utils/keymap/keymap.dart
        @@ -36,14 +36,18 @@ class Keymap {
             ];
           }
         
        -  static Keymap decode(List data) {
        +  static Keymap? decode(List data) {
             // decode from preferences
         
             if (data.length < 4) {
        -      return custom;
        +      return null;
             }
             final name = data[0];
        -    final keymap = values.firstWhere((element) => element.name == name, orElse: () => custom);
        +    final keymap = values.firstOrNullWhere((element) => element.name == name);
        +
        +    if (keymap == null) {
        +      return null;
        +    }
         
             if (keymap.name != custom.name) {
               return keymap;
        @@ -58,8 +62,10 @@ class Keymap {
                 physicalKey: PhysicalKeyboardKey(int.parse(data[4])),
                 logicalKey: LogicalKeyboardKey(int.parse(data[3])),
               );
        +      return keymap;
        +    } else {
        +      return null;
             }
        -    return keymap;
           }
         }
         
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 7ee611721..ca7b76e4f 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.2+0
        +version: 1.1.3+0
         
         environment:
           sdk: ^3.7.0
        
        From 3343325195c59e49bf63804df221bf5f256ae0ae Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 20:06:44 +0200
        Subject: [PATCH 065/636] adjust reinstating saved keymaps
        
        ---
         CHANGELOG.md                             |  3 +++
         android/app/src/main/AndroidManifest.xml |  2 +-
         lib/utils/requirements/android.dart      | 15 +++++++++++++++
         lib/utils/requirements/platform.dart     |  1 +
         pubspec.yaml                             |  2 +-
         5 files changed, 21 insertions(+), 2 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 38025589d..1568f3a32 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 1.1.4 (2025-03-30)
        +- another potential fix for #6
        +
         ### 1.1.3 (2025-03-30)
         - Windows: fix custom keyboard profile recreation after restart, also warn when choosing MyWhoosh profile (may fix #7)
         - Zwift Ride: button map adjustments to prevent double shifting
        diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
        index 0849e5c09..0fc351637 100644
        --- a/android/app/src/main/AndroidManifest.xml
        +++ b/android/app/src/main/AndroidManifest.xml
        @@ -10,7 +10,7 @@
             
             
             
        -    
        +    
             
             
         
        diff --git a/lib/utils/requirements/android.dart b/lib/utils/requirements/android.dart
        index 2255e0384..09064dfaf 100644
        --- a/lib/utils/requirements/android.dart
        +++ b/lib/utils/requirements/android.dart
        @@ -19,6 +19,21 @@ class AccessibilityRequirement extends PlatformRequirement {
           }
         }
         
        +class LocationRequirement extends PlatformRequirement {
        +  LocationRequirement() : super('Allow Location Permission (req. by Samsung devices');
        +
        +  @override
        +  Future call() async {
        +    await Permission.locationWhenInUse.request();
        +  }
        +
        +  @override
        +  Future getStatus() async {
        +    final state = await Permission.locationWhenInUse.status;
        +    status = state.isGranted;
        +  }
        +}
        +
         class BluetoothScanRequirement extends PlatformRequirement {
           BluetoothScanRequirement() : super('Allow Bluetooth Scan');
         
        diff --git a/lib/utils/requirements/platform.dart b/lib/utils/requirements/platform.dart
        index 6c91935f8..fd29e9dab 100644
        --- a/lib/utils/requirements/platform.dart
        +++ b/lib/utils/requirements/platform.dart
        @@ -32,6 +32,7 @@ Future> getRequirements() async {
             list = [
               BluetoothTurnedOn(),
               AccessibilityRequirement(),
        +      LocationRequirement(),
               NotificationRequirement(),
               BluetoothScanRequirement(),
               BluetoothConnectRequirement(),
        diff --git a/pubspec.yaml b/pubspec.yaml
        index ca7b76e4f..0d07ff58f 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.3+0
        +version: 1.1.4+0
         
         environment:
           sdk: ^3.7.0
        
        From 7a8c7a4ee1319b7e3324094d28395960924e12b0 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 21:18:18 +0200
        Subject: [PATCH 066/636] fix #6 for real this time
        
        ---
         CHANGELOG.md                           | 4 ++--
         lib/bluetooth/devices/base_device.dart | 7 +++++--
         macos/Runner/Release.entitlements      | 5 ++++-
         3 files changed, 11 insertions(+), 5 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 1568f3a32..cba4929ee 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,5 +1,5 @@
        -### 1.1.4 (2025-03-30)
        -- another potential fix for #6
        +### 1.1.5 (2025-03-30)
        +- fix bluetooth connection #6, also add missing entitlement on macOS
         
         ### 1.1.3 (2025-03-30)
         - Windows: fix custom keyboard profile recreation after restart, also warn when choosing MyWhoosh profile (may fix #7)
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 75cbaa944..df5e19abf 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -36,8 +36,11 @@ abstract class BaseDevice {
               _ => null,
             };
         
        -    // otherwise use the manufacturer data, which doesn't exist on Web and "System Devices"
        -    if (device == null) {
        +    if (device != null) {
        +      return device;
        +    } else {
        +      // otherwise use the manufacturer data, which doesn't exist on Web and "System Devices"
        +
               final manufacturerData = scanResult.manufacturerDataList;
               final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
         
        diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements
        index 0c67376eb..459934afa 100644
        --- a/macos/Runner/Release.entitlements
        +++ b/macos/Runner/Release.entitlements
        @@ -1,5 +1,8 @@
         
         
         
        -
        +
        +	com.apple.security.device.bluetooth
        +	
        +
         
        
        From 5fe88ffc6ada85ccb3e6e34013b0aebaebd8167c Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 21:18:38 +0200
        Subject: [PATCH 067/636] version++
        
        ---
         pubspec.yaml | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 0d07ff58f..26dbc5d15 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.4+0
        +version: 1.1.5+0
         
         environment:
           sdk: ^3.7.0
        
        From 8c11cfcad61711a78bd947f2f5218cc7f85df1ac Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 21:21:31 +0200
        Subject: [PATCH 068/636] remove location requirement again
        
        ---
         android/app/src/main/AndroidManifest.xml |  2 +-
         lib/utils/requirements/android.dart      | 15 ---------------
         lib/utils/requirements/platform.dart     |  1 -
         3 files changed, 1 insertion(+), 17 deletions(-)
        
        diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
        index 0fc351637..0849e5c09 100644
        --- a/android/app/src/main/AndroidManifest.xml
        +++ b/android/app/src/main/AndroidManifest.xml
        @@ -10,7 +10,7 @@
             
             
             
        -    
        +    
             
             
         
        diff --git a/lib/utils/requirements/android.dart b/lib/utils/requirements/android.dart
        index 09064dfaf..2255e0384 100644
        --- a/lib/utils/requirements/android.dart
        +++ b/lib/utils/requirements/android.dart
        @@ -19,21 +19,6 @@ class AccessibilityRequirement extends PlatformRequirement {
           }
         }
         
        -class LocationRequirement extends PlatformRequirement {
        -  LocationRequirement() : super('Allow Location Permission (req. by Samsung devices');
        -
        -  @override
        -  Future call() async {
        -    await Permission.locationWhenInUse.request();
        -  }
        -
        -  @override
        -  Future getStatus() async {
        -    final state = await Permission.locationWhenInUse.status;
        -    status = state.isGranted;
        -  }
        -}
        -
         class BluetoothScanRequirement extends PlatformRequirement {
           BluetoothScanRequirement() : super('Allow Bluetooth Scan');
         
        diff --git a/lib/utils/requirements/platform.dart b/lib/utils/requirements/platform.dart
        index fd29e9dab..6c91935f8 100644
        --- a/lib/utils/requirements/platform.dart
        +++ b/lib/utils/requirements/platform.dart
        @@ -32,7 +32,6 @@ Future> getRequirements() async {
             list = [
               BluetoothTurnedOn(),
               AccessibilityRequirement(),
        -      LocationRequirement(),
               NotificationRequirement(),
               BluetoothScanRequirement(),
               BluetoothConnectRequirement(),
        
        From c98f213e2e702613960c35b0f672df92b0d764a2 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 30 Mar 2025 21:34:29 +0200
        Subject: [PATCH 069/636] add some comments
        
        ---
         lib/bluetooth/devices/base_device.dart | 5 ++---
         1 file changed, 2 insertions(+), 3 deletions(-)
        
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index df5e19abf..87ef100d0 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -28,7 +28,7 @@ abstract class BaseDevice {
           String get customServiceId => BleUuid.ZWIFT_CUSTOM_SERVICE_UUID;
         
           static BaseDevice? fromScanResult(BleDevice scanResult) {
        -    // Use the name first, probably safest method on all platforms
        +    // Use the name first as the "System Devices" and Web (android sometimes Windows) don't have manufacturer data
             final device = switch (scanResult.name) {
               'Zwift Ride' => ZwiftRide(scanResult),
               'Zwift Play' => ZwiftPlay(scanResult),
        @@ -39,8 +39,7 @@ abstract class BaseDevice {
             if (device != null) {
               return device;
             } else {
        -      // otherwise use the manufacturer data, which doesn't exist on Web and "System Devices"
        -
        +      // otherwise use the manufacturer data to identify the device
               final manufacturerData = scanResult.manufacturerDataList;
               final data = manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
         
        
        From 11aec5fba1e712802c394f55d2d2b72be0bec20a Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 31 Mar 2025 20:20:47 +0200
        Subject: [PATCH 070/636] Zwift Ride: add buttonPowerDown to shift gears Zwift
         Play: Fix buttonShift assignment Android: fix Media next button
        
        ---
         .../accessibility/AccessibilityPlugin.kt      | 18 ++++--------
         lib/bluetooth/devices/zwift_ride.dart         |  9 ++++--
         .../messages/click_notification.dart          |  6 ++--
         lib/bluetooth/messages/play_notification.dart | 16 +++++------
         lib/bluetooth/protocol/zwift.pb.dart          | 28 +++++++++----------
         lib/bluetooth/protocol/zwift.pbjson.dart      | 10 +++----
         lib/bluetooth/protocol/zwift.proto            |  4 +--
         7 files changed, 41 insertions(+), 50 deletions(-)
        
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        index 9c7eaf543..5eca6d597 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        @@ -11,14 +11,11 @@ import android.os.Bundle
         import android.provider.Settings
         import androidx.core.content.ContextCompat.startActivity
         import io.flutter.embedding.engine.plugins.FlutterPlugin
        -import io.flutter.plugin.common.MethodCall
         import io.flutter.plugin.common.MethodChannel
        -import io.flutter.plugin.common.MethodChannel.MethodCallHandler
        -import io.flutter.plugin.common.MethodChannel.Result
         
         
         /** AccessibilityPlugin */
        -class AccessibilityPlugin: FlutterPlugin, MethodCallHandler, Accessibility {
        +class AccessibilityPlugin: FlutterPlugin, Accessibility {
           /// The MethodChannel that will the communication between Flutter and native Android
           ///
           /// This local reference serves to register the plugin with the Flutter Engine and unregister it
        @@ -38,14 +35,6 @@ class AccessibilityPlugin: FlutterPlugin, MethodCallHandler, Accessibility {
             Observable.fromService = eventHandler
           }
         
        -  override fun onMethodCall(call: MethodCall, result: Result) {
        -    if (call.method == "getPlatformVersion") {
        -      result.success("Android ${android.os.Build.VERSION.RELEASE}")
        -    } else {
        -      result.notImplemented()
        -    }
        -  }
        -
           override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
             channel.setMethodCallHandler(null)
           }
        @@ -72,7 +61,10 @@ class AccessibilityPlugin: FlutterPlugin, MethodCallHandler, Accessibility {
                 audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE))
                 audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_UP, android.view.KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE))
               }
        -      MediaAction.NEXT -> audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_NEXT))
        +      MediaAction.NEXT -> {
        +        audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_NEXT))
        +        audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_UP, android.view.KeyEvent.KEYCODE_MEDIA_NEXT))
        +      }
               MediaAction.VOLUME_DOWN -> audioService.adjustVolume(android.media.AudioManager.ADJUST_LOWER, android.media.AudioManager.FLAG_SHOW_UI)
               MediaAction.VOLUME_UP -> audioService.adjustVolume(android.media.AudioManager.ADJUST_RAISE, android.media.AudioManager.FLAG_SHOW_UI)
             }
        diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart
        index 8d89e0155..5c8af5838 100644
        --- a/lib/bluetooth/devices/zwift_ride.dart
        +++ b/lib/bluetooth/devices/zwift_ride.dart
        @@ -24,12 +24,15 @@ class ZwiftRide extends BaseDevice {
               _lastControllerNotification = clickNotification;
               actionStreamInternal.add(clickNotification);
         
        -      if (clickNotification.buttonShiftDownLeft || clickNotification.buttonShiftUpLeft || clickNotification.buttonZ) {
        +      if (clickNotification.buttonShiftDownLeft ||
        +          clickNotification.buttonShiftUpLeft ||
        +          clickNotification.buttonOnOffLeft ||
        +          clickNotification.buttonPowerDownLeft) {
                 actionHandler.decreaseGear();
               } else if (clickNotification.buttonShiftUpRight ||
                   clickNotification.buttonShiftDownRight ||
        -          clickNotification.buttonOnOffLeft) {
        -        // TODO remove buttonZ once the assignment is fixed for real
        +          clickNotification.buttonOnOffRight ||
        +          clickNotification.buttonPowerUpLeft) {
                 actionHandler.increaseGear();
               }
               /*if (clickNotification.buttonA) {
        diff --git a/lib/bluetooth/messages/click_notification.dart b/lib/bluetooth/messages/click_notification.dart
        index 68b2cc399..922c08951 100644
        --- a/lib/bluetooth/messages/click_notification.dart
        +++ b/lib/bluetooth/messages/click_notification.dart
        @@ -4,15 +4,13 @@ import '../protocol/zwift.pb.dart';
         import 'notification.dart';
         
         class ClickNotification extends BaseNotification {
        -  static const int BTN_PRESSED = 0;
        -
           bool buttonUp = false;
           bool buttonDown = false;
         
           ClickNotification(Uint8List message) {
             final status = ClickKeyPadStatus.fromBuffer(message);
        -    buttonUp = status.buttonPlus.value == BTN_PRESSED;
        -    buttonDown = status.buttonMinus.value == BTN_PRESSED;
        +    buttonUp = status.buttonPlus == PlayButtonStatus.ON;
        +    buttonDown = status.buttonMinus == PlayButtonStatus.ON;
           }
         
           @override
        diff --git a/lib/bluetooth/messages/play_notification.dart b/lib/bluetooth/messages/play_notification.dart
        index a95b7b51e..56bae384a 100644
        --- a/lib/bluetooth/messages/play_notification.dart
        +++ b/lib/bluetooth/messages/play_notification.dart
        @@ -4,21 +4,19 @@ import 'package:swift_control/bluetooth/messages/notification.dart';
         import 'package:swift_control/bluetooth/protocol/zwift.pb.dart';
         
         class PlayNotification extends BaseNotification {
        -  static const int BTN_PRESSED = 0;
        -
           late bool rightPad, buttonY, buttonZ, buttonA, buttonB, buttonOn, buttonShift;
           late int analogLR, analogUD;
         
           PlayNotification(Uint8List message) {
             final status = PlayKeyPadStatus.fromBuffer(message);
         
        -    rightPad = status.rightPad.value == BTN_PRESSED;
        -    buttonY = status.buttonYUp.value == BTN_PRESSED;
        -    buttonZ = status.buttonZLeft.value == BTN_PRESSED;
        -    buttonA = status.buttonARight.value == BTN_PRESSED;
        -    buttonB = status.buttonBDown.value == BTN_PRESSED;
        -    buttonOn = status.buttonOn.value == BTN_PRESSED;
        -    buttonShift = status.buttonShift.value == BTN_PRESSED;
        +    rightPad = status.rightPad == PlayButtonStatus.ON;
        +    buttonY = status.buttonYUp == PlayButtonStatus.ON;
        +    buttonZ = status.buttonZLeft == PlayButtonStatus.ON;
        +    buttonA = status.buttonARight == PlayButtonStatus.ON;
        +    buttonB = status.buttonBDown == PlayButtonStatus.ON;
        +    buttonOn = status.buttonOn == PlayButtonStatus.ON;
        +    buttonShift = status.buttonShift == PlayButtonStatus.ON;
             analogLR = status.analogLR;
             analogUD = status.analogUD;
           }
        diff --git a/lib/bluetooth/protocol/zwift.pb.dart b/lib/bluetooth/protocol/zwift.pb.dart
        index db9986b08..4198ccee9 100644
        --- a/lib/bluetooth/protocol/zwift.pb.dart
        +++ b/lib/bluetooth/protocol/zwift.pb.dart
        @@ -25,8 +25,8 @@ class PlayKeyPadStatus extends $pb.GeneratedMessage {
             PlayButtonStatus? buttonZLeft,
             PlayButtonStatus? buttonARight,
             PlayButtonStatus? buttonBDown,
        -    PlayButtonStatus? buttonOn,
             PlayButtonStatus? buttonShift,
        +    PlayButtonStatus? buttonOn,
             $core.int? analogLR,
             $core.int? analogUD,
           }) {
        @@ -46,12 +46,12 @@ class PlayKeyPadStatus extends $pb.GeneratedMessage {
             if (buttonBDown != null) {
               $result.buttonBDown = buttonBDown;
             }
        -    if (buttonOn != null) {
        -      $result.buttonOn = buttonOn;
        -    }
             if (buttonShift != null) {
               $result.buttonShift = buttonShift;
             }
        +    if (buttonOn != null) {
        +      $result.buttonOn = buttonOn;
        +    }
             if (analogLR != null) {
               $result.analogLR = analogLR;
             }
        @@ -70,8 +70,8 @@ class PlayKeyPadStatus extends $pb.GeneratedMessage {
             ..e(3, _omitFieldNames ? '' : 'ButtonZLeft', $pb.PbFieldType.OE, protoName: 'Button_Z_Left', defaultOrMaker: PlayButtonStatus.ON, valueOf: PlayButtonStatus.valueOf, enumValues: PlayButtonStatus.values)
             ..e(4, _omitFieldNames ? '' : 'ButtonARight', $pb.PbFieldType.OE, protoName: 'Button_A_Right', defaultOrMaker: PlayButtonStatus.ON, valueOf: PlayButtonStatus.valueOf, enumValues: PlayButtonStatus.values)
             ..e(5, _omitFieldNames ? '' : 'ButtonBDown', $pb.PbFieldType.OE, protoName: 'Button_B_Down', defaultOrMaker: PlayButtonStatus.ON, valueOf: PlayButtonStatus.valueOf, enumValues: PlayButtonStatus.values)
        -    ..e(6, _omitFieldNames ? '' : 'ButtonOn', $pb.PbFieldType.OE, protoName: 'Button_On', defaultOrMaker: PlayButtonStatus.ON, valueOf: PlayButtonStatus.valueOf, enumValues: PlayButtonStatus.values)
        -    ..e(7, _omitFieldNames ? '' : 'ButtonShift', $pb.PbFieldType.OE, protoName: 'Button_Shift', defaultOrMaker: PlayButtonStatus.ON, valueOf: PlayButtonStatus.valueOf, enumValues: PlayButtonStatus.values)
        +    ..e(6, _omitFieldNames ? '' : 'ButtonShift', $pb.PbFieldType.OE, protoName: 'Button_Shift', defaultOrMaker: PlayButtonStatus.ON, valueOf: PlayButtonStatus.valueOf, enumValues: PlayButtonStatus.values)
        +    ..e(7, _omitFieldNames ? '' : 'ButtonOn', $pb.PbFieldType.OE, protoName: 'Button_On', defaultOrMaker: PlayButtonStatus.ON, valueOf: PlayButtonStatus.valueOf, enumValues: PlayButtonStatus.values)
             ..a<$core.int>(8, _omitFieldNames ? '' : 'AnalogLR', $pb.PbFieldType.OS3, protoName: 'Analog_LR')
             ..a<$core.int>(9, _omitFieldNames ? '' : 'AnalogUD', $pb.PbFieldType.OS3, protoName: 'Analog_UD')
             ..hasRequiredFields = false
        @@ -144,22 +144,22 @@ class PlayKeyPadStatus extends $pb.GeneratedMessage {
           void clearButtonBDown() => clearField(5);
         
           @$pb.TagNumber(6)
        -  PlayButtonStatus get buttonOn => $_getN(5);
        +  PlayButtonStatus get buttonShift => $_getN(5);
           @$pb.TagNumber(6)
        -  set buttonOn(PlayButtonStatus v) { setField(6, v); }
        +  set buttonShift(PlayButtonStatus v) { setField(6, v); }
           @$pb.TagNumber(6)
        -  $core.bool hasButtonOn() => $_has(5);
        +  $core.bool hasButtonShift() => $_has(5);
           @$pb.TagNumber(6)
        -  void clearButtonOn() => clearField(6);
        +  void clearButtonShift() => clearField(6);
         
           @$pb.TagNumber(7)
        -  PlayButtonStatus get buttonShift => $_getN(6);
        +  PlayButtonStatus get buttonOn => $_getN(6);
           @$pb.TagNumber(7)
        -  set buttonShift(PlayButtonStatus v) { setField(7, v); }
        +  set buttonOn(PlayButtonStatus v) { setField(7, v); }
           @$pb.TagNumber(7)
        -  $core.bool hasButtonShift() => $_has(6);
        +  $core.bool hasButtonOn() => $_has(6);
           @$pb.TagNumber(7)
        -  void clearButtonShift() => clearField(7);
        +  void clearButtonOn() => clearField(7);
         
           @$pb.TagNumber(8)
           $core.int get analogLR => $_getIZ(7);
        diff --git a/lib/bluetooth/protocol/zwift.pbjson.dart b/lib/bluetooth/protocol/zwift.pbjson.dart
        index e67347665..a151db6f0 100644
        --- a/lib/bluetooth/protocol/zwift.pbjson.dart
        +++ b/lib/bluetooth/protocol/zwift.pbjson.dart
        @@ -82,8 +82,8 @@ const PlayKeyPadStatus$json = {
             {'1': 'Button_Z_Left', '3': 3, '4': 1, '5': 14, '6': '.de.jonasbark.PlayButtonStatus', '10': 'ButtonZLeft'},
             {'1': 'Button_A_Right', '3': 4, '4': 1, '5': 14, '6': '.de.jonasbark.PlayButtonStatus', '10': 'ButtonARight'},
             {'1': 'Button_B_Down', '3': 5, '4': 1, '5': 14, '6': '.de.jonasbark.PlayButtonStatus', '10': 'ButtonBDown'},
        -    {'1': 'Button_On', '3': 6, '4': 1, '5': 14, '6': '.de.jonasbark.PlayButtonStatus', '10': 'ButtonOn'},
        -    {'1': 'Button_Shift', '3': 7, '4': 1, '5': 14, '6': '.de.jonasbark.PlayButtonStatus', '10': 'ButtonShift'},
        +    {'1': 'Button_Shift', '3': 6, '4': 1, '5': 14, '6': '.de.jonasbark.PlayButtonStatus', '10': 'ButtonShift'},
        +    {'1': 'Button_On', '3': 7, '4': 1, '5': 14, '6': '.de.jonasbark.PlayButtonStatus', '10': 'ButtonOn'},
             {'1': 'Analog_LR', '3': 8, '4': 1, '5': 17, '10': 'AnalogLR'},
             {'1': 'Analog_UD', '3': 9, '4': 1, '5': 17, '10': 'AnalogUD'},
           ],
        @@ -97,9 +97,9 @@ final $typed_data.Uint8List playKeyPadStatusDescriptor = $convert.base64Decode(
             '4uZGUuam9uYXNiYXJrLlBsYXlCdXR0b25TdGF0dXNSC0J1dHRvblpMZWZ0EkQKDkJ1dHRvbl9B'
             'X1JpZ2h0GAQgASgOMh4uZGUuam9uYXNiYXJrLlBsYXlCdXR0b25TdGF0dXNSDEJ1dHRvbkFSaW'
             'dodBJCCg1CdXR0b25fQl9Eb3duGAUgASgOMh4uZGUuam9uYXNiYXJrLlBsYXlCdXR0b25TdGF0'
        -    'dXNSC0J1dHRvbkJEb3duEjsKCUJ1dHRvbl9PbhgGIAEoDjIeLmRlLmpvbmFzYmFyay5QbGF5Qn'
        -    'V0dG9uU3RhdHVzUghCdXR0b25PbhJBCgxCdXR0b25fU2hpZnQYByABKA4yHi5kZS5qb25hc2Jh'
        -    'cmsuUGxheUJ1dHRvblN0YXR1c1ILQnV0dG9uU2hpZnQSGwoJQW5hbG9nX0xSGAggASgRUghBbm'
        +    'dXNSC0J1dHRvbkJEb3duEkEKDEJ1dHRvbl9TaGlmdBgGIAEoDjIeLmRlLmpvbmFzYmFyay5QbG'
        +    'F5QnV0dG9uU3RhdHVzUgtCdXR0b25TaGlmdBI7CglCdXR0b25fT24YByABKA4yHi5kZS5qb25h'
        +    'c2JhcmsuUGxheUJ1dHRvblN0YXR1c1IIQnV0dG9uT24SGwoJQW5hbG9nX0xSGAggASgRUghBbm'
             'Fsb2dMUhIbCglBbmFsb2dfVUQYCSABKBFSCEFuYWxvZ1VE');
         
         @$core.Deprecated('Use playCommandParametersDescriptor instead')
        diff --git a/lib/bluetooth/protocol/zwift.proto b/lib/bluetooth/protocol/zwift.proto
        index 709db86fc..e4c3e4e72 100644
        --- a/lib/bluetooth/protocol/zwift.proto
        +++ b/lib/bluetooth/protocol/zwift.proto
        @@ -16,8 +16,8 @@ message PlayKeyPadStatus {
           optional PlayButtonStatus Button_Z_Left = 3;
           optional PlayButtonStatus Button_A_Right = 4;
           optional PlayButtonStatus Button_B_Down = 5;
        -  optional PlayButtonStatus Button_On = 6;
        -  optional PlayButtonStatus Button_Shift = 7;
        +  optional PlayButtonStatus Button_Shift = 6;
        +  optional PlayButtonStatus Button_On = 7;
           optional sint32 Analog_LR = 8;
           optional sint32 Analog_UD = 9;
         }
        
        From 8e23de2718883c8f8d9e8856af58485e500cc718 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 31 Mar 2025 20:58:27 +0200
        Subject: [PATCH 071/636] version update check => internet permission is
         required
        
        ---
         android/app/src/main/AndroidManifest.xml      |  3 +
         lib/pages/device.dart                         |  3 +-
         lib/pages/requirements.dart                   |  3 +-
         lib/widgets/title.dart                        | 93 +++++++++++++++++++
         macos/Flutter/GeneratedPluginRegistrant.swift |  2 +
         macos/Podfile.lock                            |  6 ++
         macos/Runner/DebugProfile.entitlements        |  2 +
         macos/Runner/Release.entitlements             |  2 +
         pubspec.lock                                  | 26 +++++-
         pubspec.yaml                                  |  2 +
         10 files changed, 139 insertions(+), 3 deletions(-)
         create mode 100644 lib/widgets/title.dart
        
        diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
        index 0849e5c09..5c37ce934 100644
        --- a/android/app/src/main/AndroidManifest.xml
        +++ b/android/app/src/main/AndroidManifest.xml
        @@ -19,6 +19,9 @@
             
             
         
        +    
        +    
        +
              {
                 },
                 child: Scaffold(
                   appBar: AppBar(
        -            title: Text('SwiftControl'),
        +            title: AppTitle(),
                     actions: buildMenuButtons(),
                     backgroundColor: Theme.of(context).colorScheme.inversePrimary,
                   ),
        diff --git a/lib/pages/requirements.dart b/lib/pages/requirements.dart
        index bd1825283..ea7cdcf07 100644
        --- a/lib/pages/requirements.dart
        +++ b/lib/pages/requirements.dart
        @@ -7,6 +7,7 @@ import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/requirements/multi.dart';
         import 'package:swift_control/utils/requirements/platform.dart';
         import 'package:swift_control/widgets/menu.dart';
        +import 'package:swift_control/widgets/title.dart';
         
         import 'device.dart';
         
        @@ -65,7 +66,7 @@ class _RequirementsPageState extends State with WidgetsBinding
           Widget build(BuildContext context) {
             return Scaffold(
               appBar: AppBar(
        -        title: Text('SwiftControl'),
        +        title: AppTitle(),
                 backgroundColor: Theme.of(context).colorScheme.inversePrimary,
                 actions: buildMenuButtons(),
               ),
        diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart
        new file mode 100644
        index 000000000..c90fb2e2c
        --- /dev/null
        +++ b/lib/widgets/title.dart
        @@ -0,0 +1,93 @@
        +import 'dart:convert';
        +import 'dart:io';
        +
        +import 'package:dartx/dartx.dart';
        +import 'package:flutter/foundation.dart';
        +import 'package:flutter/material.dart';
        +import 'package:http/http.dart' as http;
        +import 'package:package_info_plus/package_info_plus.dart';
        +import 'package:swift_control/widgets/small_progress_indicator.dart';
        +import 'package:url_launcher/url_launcher_string.dart';
        +
        +String? _latestVersionUrlValue;
        +PackageInfo? _packageInfoValue;
        +
        +class AppTitle extends StatefulWidget {
        +  const AppTitle({super.key});
        +
        +  @override
        +  State createState() => _AppTitleState();
        +}
        +
        +class _AppTitleState extends State {
        +  Future getLatestVersionUrlIfNewer() async {
        +    final response = await http.get(Uri.parse('https://api.github.com/repos/jonasbark/swiftcontrol/releases/latest'));
        +    if (response.statusCode == 200) {
        +      final data = jsonDecode(response.body);
        +      final latestVersion = data['tag_name'].split('+').first;
        +      final currentVersion = 'v${_packageInfoValue!.version}';
        +
        +      if (latestVersion != null && latestVersion != currentVersion) {
        +        final assets = data['assets'] as List;
        +        if (Platform.isAndroid) {
        +          final apkUrl = assets.firstWhere((asset) => asset['name'].endsWith('.apk'))['browser_download_url'];
        +          return apkUrl;
        +        } else if (Platform.isMacOS) {
        +          final dmgUrl = assets.firstWhere((asset) => asset['name'].endsWith('.macos.zip'))['browser_download_url'];
        +          return dmgUrl;
        +        } else if (Platform.isWindows) {
        +          final appImageUrl =
        +              assets.firstWhere((asset) => asset['name'].endsWith('.windows.zip'))['browser_download_url'];
        +          return appImageUrl;
        +        }
        +      }
        +    }
        +    return null;
        +  }
        +
        +  @override
        +  void initState() {
        +    super.initState();
        +    if (_packageInfoValue == null) {
        +      PackageInfo.fromPlatform().then((value) {
        +        setState(() {
        +          _packageInfoValue = value;
        +        });
        +        _loadLatestVersionUrl();
        +      });
        +    } else {
        +      _loadLatestVersionUrl();
        +    }
        +  }
        +
        +  void _loadLatestVersionUrl() async {
        +    if (_latestVersionUrlValue == null && !kIsWeb) {
        +      final url = await getLatestVersionUrlIfNewer();
        +      if (url != null && mounted) {
        +        ScaffoldMessenger.of(context).showSnackBar(
        +          SnackBar(
        +            content: Text('New version available: ${url.split("/").takeLast(2).first.split('%').first}'),
        +            duration: Duration(seconds: 1337),
        +            action: SnackBarAction(
        +              label: 'Download',
        +              onPressed: () {
        +                launchUrlString(url);
        +              },
        +            ),
        +          ),
        +        );
        +      }
        +    }
        +  }
        +
        +  @override
        +  Widget build(BuildContext context) {
        +    return Row(
        +      spacing: 8,
        +      children: [
        +        Text('SwiftControl'),
        +        if (_packageInfoValue != null) Text('v${_packageInfoValue!.version}') else SmallProgressIndicator(),
        +      ],
        +    );
        +  }
        +}
        diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
        index 65acdf56c..48b7b7821 100644
        --- a/macos/Flutter/GeneratedPluginRegistrant.swift
        +++ b/macos/Flutter/GeneratedPluginRegistrant.swift
        @@ -8,6 +8,7 @@ import Foundation
         import file_selector_macos
         import flutter_local_notifications
         import keypress_simulator_macos
        +import package_info_plus
         import shared_preferences_foundation
         import universal_ble
         import url_launcher_macos
        @@ -16,6 +17,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
           FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
           FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
           KeypressSimulatorMacosPlugin.register(with: registry.registrar(forPlugin: "KeypressSimulatorMacosPlugin"))
        +  FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
           SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
           UniversalBlePlugin.register(with: registry.registrar(forPlugin: "UniversalBlePlugin"))
           UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
        diff --git a/macos/Podfile.lock b/macos/Podfile.lock
        index 76adcd0fd..0aff5fb7e 100644
        --- a/macos/Podfile.lock
        +++ b/macos/Podfile.lock
        @@ -6,6 +6,8 @@ PODS:
           - FlutterMacOS (1.0.0)
           - keypress_simulator_macos (0.0.1):
             - FlutterMacOS
        +  - package_info_plus (0.0.1):
        +    - FlutterMacOS
           - shared_preferences_foundation (0.0.1):
             - Flutter
             - FlutterMacOS
        @@ -20,6 +22,7 @@ DEPENDENCIES:
           - flutter_local_notifications (from `Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos`)
           - FlutterMacOS (from `Flutter/ephemeral`)
           - keypress_simulator_macos (from `Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos`)
        +  - package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`)
           - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
           - universal_ble (from `Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin`)
           - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
        @@ -33,6 +36,8 @@ EXTERNAL SOURCES:
             :path: Flutter/ephemeral
           keypress_simulator_macos:
             :path: Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos
        +  package_info_plus:
        +    :path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos
           shared_preferences_foundation:
             :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
           universal_ble:
        @@ -45,6 +50,7 @@ SPEC CHECKSUMS:
           flutter_local_notifications: 4ccab5b7a22835214a6672e3f9c5e8ae207dab36
           FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
           keypress_simulator_macos: f8556f9101f9f2f175652e0bceddf0fe82a4c6b2
        +  package_info_plus: 12f1c5c2cfe8727ca46cbd0b26677728972d9a5b
           shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
           universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6
           url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404
        diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements
        index 8287c2705..1c52ecfe2 100644
        --- a/macos/Runner/DebugProfile.entitlements
        +++ b/macos/Runner/DebugProfile.entitlements
        @@ -12,5 +12,7 @@
         	
             com.apple.security.files.user-selected.read-only
             
        +	com.apple.security.network.client
        +    
         
         
        diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements
        index 459934afa..33db5ad85 100644
        --- a/macos/Runner/Release.entitlements
        +++ b/macos/Runner/Release.entitlements
        @@ -4,5 +4,7 @@
         
         	com.apple.security.device.bluetooth
         	
        +	com.apple.security.network.client
        +    
         
         
        diff --git a/pubspec.lock b/pubspec.lock
        index 0f700d917..cf8dde8ff 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -288,7 +288,7 @@ packages:
             source: sdk
             version: "0.0.0"
           http:
        -    dependency: transitive
        +    dependency: "direct main"
             description:
               name: http
               sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
        @@ -487,6 +487,22 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "2.0.0"
        +  package_info_plus:
        +    dependency: "direct main"
        +    description:
        +      name: package_info_plus
        +      sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "8.3.0"
        +  package_info_plus_platform_interface:
        +    dependency: transitive
        +    description:
        +      name: package_info_plus_platform_interface
        +      sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "3.2.0"
           path:
             dependency: transitive
             description:
        @@ -852,6 +868,14 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "1.1.1"
        +  win32:
        +    dependency: transitive
        +    description:
        +      name: win32
        +      sha256: dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "5.12.0"
           xdg_directories:
             dependency: transitive
             description:
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 26dbc5d15..acc4dcb83 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -21,8 +21,10 @@ dependencies:
           keypress_simulator: ^0.2.0
           shared_preferences: ^2.5.3
           flex_color_scheme: ^8.2.0
        +  package_info_plus: ^8.3.0
           accessibility:
             path: accessibility
        +  http: ^1.3.0
         
         dev_dependencies:
           flutter_test:
        
        From 6a7922cf179c054a6386b1e8951967551a7843a7 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 31 Mar 2025 21:00:37 +0200
        Subject: [PATCH 072/636] version++
        
        ---
         CHANGELOG.md           | 6 ++++++
         lib/widgets/title.dart | 7 ++++---
         pubspec.yaml           | 2 +-
         3 files changed, 11 insertions(+), 4 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index cba4929ee..415836bf0 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,9 @@
        +### 1.1.6 (2025-03-31)
        +- Zwift Ride: add buttonPowerDown to shift gears
        +- Zwift Play: Fix buttonShift assignment
        +- Android: fix action to go to next song
        +- App now checks if you run the latest available version
        +
         ### 1.1.5 (2025-03-30)
         - fix bluetooth connection #6, also add missing entitlement on macOS
         
        diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart
        index c90fb2e2c..49c814b67 100644
        --- a/lib/widgets/title.dart
        +++ b/lib/widgets/title.dart
        @@ -30,14 +30,15 @@ class _AppTitleState extends State {
               if (latestVersion != null && latestVersion != currentVersion) {
                 final assets = data['assets'] as List;
                 if (Platform.isAndroid) {
        -          final apkUrl = assets.firstWhere((asset) => asset['name'].endsWith('.apk'))['browser_download_url'];
        +          final apkUrl = assets.firstOrNullWhere((asset) => asset['name'].endsWith('.apk'))['browser_download_url'];
                   return apkUrl;
                 } else if (Platform.isMacOS) {
        -          final dmgUrl = assets.firstWhere((asset) => asset['name'].endsWith('.macos.zip'))['browser_download_url'];
        +          final dmgUrl =
        +              assets.firstOrNullWhere((asset) => asset['name'].endsWith('.macos.zip'))['browser_download_url'];
                   return dmgUrl;
                 } else if (Platform.isWindows) {
                   final appImageUrl =
        -              assets.firstWhere((asset) => asset['name'].endsWith('.windows.zip'))['browser_download_url'];
        +              assets.firstOrNullWhere((asset) => asset['name'].endsWith('.windows.zip'))['browser_download_url'];
                   return appImageUrl;
                 }
               }
        diff --git a/pubspec.yaml b/pubspec.yaml
        index acc4dcb83..dc797b3fc 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.5+0
        +version: 1.1.6+0
         
         environment:
           sdk: ^3.7.0
        
        From cbc2f103ac67812fadc728f32632cd17dff155af Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 09:21:31 +0200
        Subject: [PATCH 073/636] run connection sequentially - may fix issues on
         Windows
        
        ---
         lib/bluetooth/connection.dart | 36 ++++++++++++++++++++++++++++++-----
         lib/pages/scan.dart           |  4 +++-
         2 files changed, 34 insertions(+), 6 deletions(-)
        
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index 384ca983a..e5f17d2f4 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -15,6 +15,9 @@ class Connection {
           final devices = [];
           var androidNotificationsSetup = false;
         
        +  final _connectionQueue = [];
        +  var _handlingConnectionQueue = false;
        +
           final Map> _streamSubscriptions = {};
           final StreamController _actionStreams = StreamController.broadcast();
           Stream get actionStream => _actionStreams.stream;
        @@ -31,7 +34,7 @@ class Connection {
             UniversalBle.onScanResult = (result) {
               if (_lastScanResult.none((e) => e.deviceId == result.deviceId)) {
                 _lastScanResult.add(result);
        -        _actionStreams.add(LogNotification('Found new devices: ${result.name}'));
        +        _actionStreams.add(LogNotification('Found new device: ${result.name}'));
                 final scanResult = BaseDevice.fromScanResult(result);
                 if (scanResult != null) {
                   _addDevices([scanResult]);
        @@ -57,7 +60,7 @@ class Connection {
             if (!kIsWeb && !Platform.isWindows) {
               UniversalBle.getSystemDevices(
                 withServices: [BleUuid.ZWIFT_CUSTOM_SERVICE_UUID, BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID],
        -      ).then((devices) {
        +      ).then((devices) async {
                 final baseDevices = devices.mapNotNull(BaseDevice.fromScanResult).toList();
                 if (baseDevices.isNotEmpty) {
                   _addDevices(baseDevices);
        @@ -81,9 +84,8 @@ class Connection {
             final newDevices = dev.where((device) => !devices.contains(device)).toList();
             devices.addAll(newDevices);
         
        -    for (final device in newDevices) {
        -      _connect(device).then((_) {});
        -    }
        +    _connectionQueue.addAll(newDevices);
        +    _handleConnectionQueue();
         
             hasDevices.value = devices.isNotEmpty;
             if (devices.isNotEmpty && !androidNotificationsSetup && !kIsWeb && Platform.isAndroid) {
        @@ -95,6 +97,30 @@ class Connection {
             }
           }
         
        +  void _handleConnectionQueue() {
        +    // windows apparently has issues when connecting to multiple devices at once, so don't
        +    if (_connectionQueue.isNotEmpty && !_handlingConnectionQueue) {
        +      _handlingConnectionQueue = true;
        +      final device = _connectionQueue.removeAt(0);
        +      _actionStreams.add(LogNotification('Connecting to: ${device.device.name}'));
        +      _connect(device)
        +          .then((_) {
        +            _handlingConnectionQueue = false;
        +            _actionStreams.add(LogNotification('Connection finished: ${device.device.name}'));
        +            if (_connectionQueue.isNotEmpty) {
        +              _handleConnectionQueue();
        +            }
        +          })
        +          .catchError((e) {
        +            _handlingConnectionQueue = false;
        +            _actionStreams.add(LogNotification('Connection failed: ${device.device.name} - $e'));
        +            if (_connectionQueue.isNotEmpty) {
        +              _handleConnectionQueue();
        +            }
        +          });
        +    }
        +  }
        +
           Future _connect(BaseDevice bleDevice) async {
             try {
               final actionSubscription = bleDevice.actionStream.listen((data) {
        diff --git a/lib/pages/scan.dart b/lib/pages/scan.dart
        index 0b3670fc5..c21997792 100644
        --- a/lib/pages/scan.dart
        +++ b/lib/pages/scan.dart
        @@ -30,7 +30,9 @@ class _ScanWidgetState extends State {
             WidgetsBinding.instance.addPostFrameCallback((_) {
               // must be called from a button
               if (!kIsWeb) {
        -        connection.performScanning();
        +        Future.delayed(Duration(seconds: 1)).then((_) {
        +          connection.performScanning();
        +        });
               }
             });
           }
        
        From 7e19b76403808509cbe29a0848a1c7973420702d Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 09:25:05 +0200
        Subject: [PATCH 074/636] integrate keypress_simulator to make changes
        
        ---
         keypress_simulator/.clang-format              |  12 +++
         keypress_simulator/.github/FUNDING.yml        |   1 +
         .../.github/workflows/build.yml               |  50 +++++++++
         keypress_simulator/.github/workflows/lint.yml |  31 ++++++
         keypress_simulator/.github/workflows/test.yml |  20 ++++
         keypress_simulator/.gitignore                 |   6 ++
         keypress_simulator/LICENSE                    |  21 ++++
         keypress_simulator/README-ZH.md               |  93 ++++++++++++++++
         keypress_simulator/README.md                  |  93 ++++++++++++++++
         keypress_simulator/melos.yaml                 |  35 ++++++
         .../packages/keypress_simulator/.gitignore    |  29 +++++
         .../packages/keypress_simulator/.metadata     |  10 ++
         .../packages/keypress_simulator/CHANGELOG.md  |   7 ++
         .../packages/keypress_simulator/LICENSE       |  21 ++++
         .../packages/keypress_simulator/README-ZH.md  |   1 +
         .../packages/keypress_simulator/README.md     |   1 +
         .../keypress_simulator/analysis_options.yaml  |   1 +
         .../lib/keypress_simulator.dart               |   1 +
         .../lib/src/keypress_simulator.dart           |  70 ++++++++++++
         .../packages/keypress_simulator/pubspec.yaml  |  33 ++++++
         .../keypress_simulator_macos/.gitignore       |  29 +++++
         .../keypress_simulator_macos/.metadata        |  30 ++++++
         .../keypress_simulator_macos/CHANGELOG.md     |   3 +
         .../packages/keypress_simulator_macos/LICENSE |  21 ++++
         .../keypress_simulator_macos/README.md        |  12 +++
         .../analysis_options.yaml                     |   1 +
         .../KeypressSimulatorMacosPlugin.swift        |  79 ++++++++++++++
         .../macos/keypress_simulator_macos.podspec    |  23 ++++
         .../keypress_simulator_macos/pubspec.yaml     |  26 +++++
         .../.gitignore                                |  29 +++++
         .../.metadata                                 |  27 +++++
         .../CHANGELOG.md                              |   3 +
         .../LICENSE                                   |  21 ++++
         .../README.md                                 |  16 +++
         .../analysis_options.yaml                     |   1 +
         ...keypress_simulator_platform_interface.dart |   4 +
         .../keypress_simulator_method_channel.dart    |  51 +++++++++
         ...keypress_simulator_platform_interface.dart |  43 ++++++++
         .../pubspec.yaml                              |  20 ++++
         ...eypress_simulator_method_channel_test.dart |  32 ++++++
         .../keypress_simulator_windows/.gitignore     |  29 +++++
         .../keypress_simulator_windows/.metadata      |  30 ++++++
         .../keypress_simulator_windows/CHANGELOG.md   |   3 +
         .../keypress_simulator_windows/LICENSE        |  21 ++++
         .../keypress_simulator_windows/README.md      |  12 +++
         .../analysis_options.yaml                     |   1 +
         .../keypress_simulator_windows/pubspec.yaml   |  25 +++++
         .../windows/.gitignore                        |  17 +++
         .../windows/CMakeLists.txt                    | 100 ++++++++++++++++++
         .../keypress_simulator_windows_plugin_c_api.h |  23 ++++
         .../keypress_simulator_windows_plugin.cpp     |  95 +++++++++++++++++
         .../keypress_simulator_windows_plugin.h       |  37 +++++++
         ...eypress_simulator_windows_plugin_c_api.cpp |  12 +++
         ...keypress_simulator_windows_plugin_test.cpp |  43 ++++++++
         keypress_simulator/pubspec.yaml               |   9 ++
         pubspec.lock                                  |   7 +-
         pubspec.yaml                                  |   3 +-
         57 files changed, 1469 insertions(+), 5 deletions(-)
         create mode 100644 keypress_simulator/.clang-format
         create mode 100644 keypress_simulator/.github/FUNDING.yml
         create mode 100644 keypress_simulator/.github/workflows/build.yml
         create mode 100644 keypress_simulator/.github/workflows/lint.yml
         create mode 100644 keypress_simulator/.github/workflows/test.yml
         create mode 100644 keypress_simulator/.gitignore
         create mode 100644 keypress_simulator/LICENSE
         create mode 100644 keypress_simulator/README-ZH.md
         create mode 100644 keypress_simulator/README.md
         create mode 100644 keypress_simulator/melos.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator/.gitignore
         create mode 100644 keypress_simulator/packages/keypress_simulator/.metadata
         create mode 100644 keypress_simulator/packages/keypress_simulator/CHANGELOG.md
         create mode 100644 keypress_simulator/packages/keypress_simulator/LICENSE
         create mode 120000 keypress_simulator/packages/keypress_simulator/README-ZH.md
         create mode 120000 keypress_simulator/packages/keypress_simulator/README.md
         create mode 100644 keypress_simulator/packages/keypress_simulator/analysis_options.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator/pubspec.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/.gitignore
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/.metadata
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/LICENSE
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/README.md
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/.metadata
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/README.md
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/.gitignore
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/.metadata
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/CHANGELOG.md
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/LICENSE
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/README.md
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/analysis_options.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/pubspec.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/windows/.gitignore
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/windows/CMakeLists.txt
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/windows/include/keypress_simulator_windows/keypress_simulator_windows_plugin_c_api.h
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin_c_api.cpp
         create mode 100644 keypress_simulator/packages/keypress_simulator_windows/windows/test/keypress_simulator_windows_plugin_test.cpp
         create mode 100644 keypress_simulator/pubspec.yaml
        
        diff --git a/keypress_simulator/.clang-format b/keypress_simulator/.clang-format
        new file mode 100644
        index 000000000..3c73f32a3
        --- /dev/null
        +++ b/keypress_simulator/.clang-format
        @@ -0,0 +1,12 @@
        +# Defines the Chromium style for automatic reformatting.
        +# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
        +BasedOnStyle: Chromium
        +# This defaults to 'Auto'. Explicitly set it for a while, so that
        +# 'vector >' in existing files gets formatted to
        +# 'vector>'. ('Auto' means that clang-format will only use
        +# 'int>>' if the file already contains at least one such instance.)
        +Standard: Cpp11
        +SortIncludes: true
        +---
        +Language: ObjC
        +ColumnLimit: 100
        diff --git a/keypress_simulator/.github/FUNDING.yml b/keypress_simulator/.github/FUNDING.yml
        new file mode 100644
        index 000000000..cb2bfb178
        --- /dev/null
        +++ b/keypress_simulator/.github/FUNDING.yml
        @@ -0,0 +1 @@
        +liberapay: lijy91
        diff --git a/keypress_simulator/.github/workflows/build.yml b/keypress_simulator/.github/workflows/build.yml
        new file mode 100644
        index 000000000..1ee5a4aa5
        --- /dev/null
        +++ b/keypress_simulator/.github/workflows/build.yml
        @@ -0,0 +1,50 @@
        +name: build
        +
        +on:
        +  push:
        +    branches: [main, dev]
        +  pull_request:
        +    branches: [main]
        +
        +jobs:
        +  build-macos:
        +    runs-on: macos-latest
        +    steps:
        +      - uses: actions/checkout@v3
        +      - uses: subosito/flutter-action@v2
        +        with:
        +          flutter-version: "3.16.8"
        +          channel: "stable"
        +      - uses: bluefireteam/melos-action@v2
        +      - working-directory: ./packages/keypress_simulator/example
        +        run: |
        +          melos bs
        +          flutter build macos --release
        +
        +  build-web:
        +    runs-on: macos-latest
        +    steps:
        +      - uses: actions/checkout@v3
        +      - uses: subosito/flutter-action@v2
        +        with:
        +          flutter-version: "3.16.8"
        +          channel: "stable"
        +      - uses: bluefireteam/melos-action@v2
        +      - working-directory: ./packages/keypress_simulator/example
        +        run: |
        +          melos bs
        +          flutter build web --release
        +
        +  build-windows:
        +    runs-on: windows-latest
        +    steps:
        +      - uses: actions/checkout@v3
        +      - uses: subosito/flutter-action@v2
        +        with:
        +          flutter-version: "3.16.8"
        +          channel: "stable"
        +      - uses: bluefireteam/melos-action@v2
        +      - working-directory: ./packages/keypress_simulator/example
        +        run: |
        +          melos bs
        +          flutter build windows --release
        diff --git a/keypress_simulator/.github/workflows/lint.yml b/keypress_simulator/.github/workflows/lint.yml
        new file mode 100644
        index 000000000..8d68ba7c9
        --- /dev/null
        +++ b/keypress_simulator/.github/workflows/lint.yml
        @@ -0,0 +1,31 @@
        +name: lint
        +
        +on:
        +  push:
        +    branches: [main, dev]
        +  pull_request:
        +    branches: [main]
        +
        +jobs:
        +  analyze:
        +    runs-on: ubuntu-latest
        +    steps:
        +      - uses: actions/checkout@v3
        +      - uses: subosito/flutter-action@v2
        +        with:
        +          flutter-version: "3.16.8"
        +          channel: "stable"
        +      - uses: bluefireteam/melos-action@v2
        +      - run: melos run analyze
        +
        +  format:
        +    runs-on: ubuntu-latest
        +    steps:
        +      - uses: actions/checkout@v3
        +      - uses: subosito/flutter-action@v2
        +        with:
        +          flutter-version: "3.16.8"
        +          channel: "stable"
        +          cache: true
        +      - uses: bluefireteam/melos-action@v2
        +      - run: melos run format-check
        diff --git a/keypress_simulator/.github/workflows/test.yml b/keypress_simulator/.github/workflows/test.yml
        new file mode 100644
        index 000000000..617f89a88
        --- /dev/null
        +++ b/keypress_simulator/.github/workflows/test.yml
        @@ -0,0 +1,20 @@
        +name: test
        +
        +on:
        +  push:
        +    branches: [main, dev]
        +  pull_request:
        +    branches: [main]
        +
        +jobs:
        +  test:
        +    runs-on: ubuntu-latest
        +    steps:
        +      - uses: actions/checkout@v3
        +      - uses: subosito/flutter-action@v2
        +        with:
        +          flutter-version: "3.16.8"
        +          channel: "stable"
        +          cache: true
        +      - uses: bluefireteam/melos-action@v2
        +      - run: melos run test --no-select
        diff --git a/keypress_simulator/.gitignore b/keypress_simulator/.gitignore
        new file mode 100644
        index 000000000..fa08f0546
        --- /dev/null
        +++ b/keypress_simulator/.gitignore
        @@ -0,0 +1,6 @@
        +.dart_tool/
        +.idea/
        +
        +*.iml
        +pubspec_overrides.yaml
        +pubspec.lock
        diff --git a/keypress_simulator/LICENSE b/keypress_simulator/LICENSE
        new file mode 100644
        index 000000000..eea05ab78
        --- /dev/null
        +++ b/keypress_simulator/LICENSE
        @@ -0,0 +1,21 @@
        +MIT License
        +
        +Copyright (c) 2022-2024 LiJianying 
        +
        +Permission is hereby granted, free of charge, to any person obtaining a copy
        +of this software and associated documentation files (the "Software"), to deal
        +in the Software without restriction, including without limitation the rights
        +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        +copies of the Software, and to permit persons to whom the Software is
        +furnished to do so, subject to the following conditions:
        +
        +The above copyright notice and this permission notice shall be included in all
        +copies or substantial portions of the Software.
        +
        +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        +SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/README-ZH.md b/keypress_simulator/README-ZH.md
        new file mode 100644
        index 000000000..91223a21a
        --- /dev/null
        +++ b/keypress_simulator/README-ZH.md
        @@ -0,0 +1,93 @@
        +> **🚀 快速发布您的应用**: 试试 [Fastforge](https://fastforge.dev) - 构建、打包和分发您的 Flutter 应用最简单的方式。
        +
        +# keypress_simulator
        +
        +[![pub version][pub-image]][pub-url] [![][discord-image]][discord-url]
        +
        +[pub-image]: https://img.shields.io/pub/v/keypress_simulator.svg
        +[pub-url]: https://pub.dev/packages/keypress_simulator
        +[discord-image]: https://img.shields.io/discord/884679008049037342.svg
        +[discord-url]: https://discord.gg/zPa6EZ2jqb
        +
        +这个插件允许 Flutter 桌面应用模拟按键操作。
        +
        +---
        +
        +[English](./README.md) | 简体中文
        +
        +---
        +
        +
        +
        +
        +- [平台支持](#%E5%B9%B3%E5%8F%B0%E6%94%AF%E6%8C%81)
        +- [快速开始](#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)
        +  - [安装](#%E5%AE%89%E8%A3%85)
        +  - [用法](#%E7%94%A8%E6%B3%95)
        +- [谁在用使用它?](#%E8%B0%81%E5%9C%A8%E7%94%A8%E4%BD%BF%E7%94%A8%E5%AE%83)
        +- [许可证](#%E8%AE%B8%E5%8F%AF%E8%AF%81)
        +
        +
        +
        +## 平台支持
        +
        +| Linux | macOS | Windows |
        +| :---: | :---: | :-----: |
        +|  ➖   |  ✔️   |   ✔️    |
        +
        +## 快速开始
        +
        +### 安装
        +
        +将此添加到你的软件包的 pubspec.yaml 文件:
        +
        +```yaml
        +dependencies:
        +  keypress_simulator: ^0.2.0
        +```
        +
        +### 用法
        +
        +```dart
        +import 'package:keypress_simulator/keypress_simulator.dart';
        +
        +// 1. Simulate pressing ⌘ + C
        +
        +// 1.1 Simulate key down
        +await keyPressSimulator.simulateKeyDown(
        +  PhysicalKeyboardKey.keyC,
        +  [ModifierKey.metaModifier],
        +);
        +
        +// 1.2 Simulate key up
        +await keyPressSimulator.simulateKeyUp(
        +  PhysicalKeyboardKey.keyC,
        +  [ModifierKey.metaModifier],
        +);
        +
        +// 2. Simulate long pressing ⌘ + space
        +
        +// 2.1. Simulate key down
        +await keyPressSimulator.simulateKeyDown(
        +  PhysicalKeyboardKey.space,
        +  [ModifierKey.metaModifier],
        +);
        +
        +await Future.delayed(const Duration(seconds: 5));
        +
        +// 2.2. Simulate key up
        +await keyPressSimulator.simulateKeyUp(
        +  PhysicalKeyboardKey.space,
        +  [ModifierKey.metaModifier],
        +);
        +```
        +
        +> 请看这个插件的示例应用,以了解完整的例子。
        +
        +## 谁在用使用它?
        +
        +- [Biyi (比译)](https://biyidev.com/) - 一个便捷的翻译和词典应用程序。
        +
        +## 许可证
        +
        +[MIT](./LICENSE)
        diff --git a/keypress_simulator/README.md b/keypress_simulator/README.md
        new file mode 100644
        index 000000000..95ee8f4e1
        --- /dev/null
        +++ b/keypress_simulator/README.md
        @@ -0,0 +1,93 @@
        +> **🚀 Ship Your App Faster**: Try [Fastforge](https://fastforge.dev) - The simplest way to build, package and distribute your Flutter apps.
        +
        +# keypress_simulator
        +
        +[![pub version][pub-image]][pub-url] [![][discord-image]][discord-url]
        +
        +[pub-image]: https://img.shields.io/pub/v/keypress_simulator.svg
        +[pub-url]: https://pub.dev/packages/keypress_simulator
        +[discord-image]: https://img.shields.io/discord/884679008049037342.svg
        +[discord-url]: https://discord.gg/zPa6EZ2jqb
        +
        +This plugin allows Flutter desktop apps to simulate key presses.
        +
        +---
        +
        +English | [简体中文](./README-ZH.md)
        +
        +---
        +
        +
        +
        +
        +- [Platform Support](#platform-support)
        +- [Quick Start](#quick-start)
        +  - [Installation](#installation)
        +  - [Usage](#usage)
        +- [Who's using it?](#whos-using-it)
        +- [License](#license)
        +
        +
        +
        +## Platform Support
        +
        +| Linux | macOS | Windows |
        +| :---: | :---: | :-----: |
        +|  ➖   |  ✔️   |   ✔️    |
        +
        +## Quick Start
        +
        +### Installation
        +
        +Add this to your package's pubspec.yaml file:
        +
        +```yaml
        +dependencies:
        +  keypress_simulator: ^0.2.0
        +```
        +
        +### Usage
        +
        +```dart
        +import 'package:keypress_simulator/keypress_simulator.dart';
        +
        +// 1. Simulate pressing ⌘ + C
        +
        +// 1.1 Simulate key down
        +await keyPressSimulator.simulateKeyDown(
        +  PhysicalKeyboardKey.keyC,
        +  [ModifierKey.metaModifier],
        +);
        +
        +// 1.2 Simulate key up
        +await keyPressSimulator.simulateKeyUp(
        +  PhysicalKeyboardKey.keyC,
        +  [ModifierKey.metaModifier],
        +);
        +
        +// 2. Simulate long pressing ⌘ + space
        +
        +// 2.1. Simulate key down
        +await keyPressSimulator.simulateKeyDown(
        +  PhysicalKeyboardKey.space,
        +  [ModifierKey.metaModifier],
        +);
        +
        +await Future.delayed(const Duration(seconds: 5));
        +
        +// 2.2. Simulate key up
        +await keyPressSimulator.simulateKeyUp(
        +  PhysicalKeyboardKey.space,
        +  [ModifierKey.metaModifier],
        +);
        +```
        +
        +> Please see the example app of this plugin for a full example.
        +
        +## Who's using it?
        +
        +- [Biyi (比译)](https://biyidev.com/) - A convenient translation and dictionary app.
        +
        +## License
        +
        +[MIT](./LICENSE)
        diff --git a/keypress_simulator/melos.yaml b/keypress_simulator/melos.yaml
        new file mode 100644
        index 000000000..fc9445c17
        --- /dev/null
        +++ b/keypress_simulator/melos.yaml
        @@ -0,0 +1,35 @@
        +name: keypress_simulator_workspace
        +repository: https://github.com/leanflutter/keypress_simulator
        +
        +packages:
        +  - examples/**
        +  - packages/**
        +
        +command:
        +  bootstrap:
        +    # Uses the pubspec_overrides.yaml instead of having Melos modifying the lock file.
        +    usePubspecOverrides: true
        +
        +scripts:
        +  analyze:
        +    exec: flutter analyze --fatal-infos
        +    description: Run `flutter analyze` for all packages.
        +
        +  test:
        +    exec: flutter test
        +    description: Run `flutter test` for a specific package.
        +    packageFilters:
        +      dirExists:
        +        - test
        +
        +  format:
        +    exec: dart format . --fix
        +    description: Run `dart format` for all packages.
        +
        +  format-check:
        +    exec: dart format . --fix --set-exit-if-changed
        +    description: Run `dart format` checks for all packages.
        +
        +  fix:
        +    exec: dart fix . --apply
        +    description: Run `dart fix` for all packages.
        diff --git a/keypress_simulator/packages/keypress_simulator/.gitignore b/keypress_simulator/packages/keypress_simulator/.gitignore
        new file mode 100644
        index 000000000..01c49d55f
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/.gitignore
        @@ -0,0 +1,29 @@
        +# Miscellaneous
        +*.class
        +*.log
        +*.pyc
        +*.swp
        +.DS_Store
        +.atom/
        +.buildlog/
        +.history
        +.svn/
        +
        +# IntelliJ related
        +*.iml
        +*.ipr
        +*.iws
        +.idea/
        +
        +# The .vscode folder contains launch configuration and tasks you configure in
        +# VS Code which you may wish to be included in version control, so this line
        +# is commented out by default.
        +.vscode/
        +
        +# Flutter/Dart/Pub related
        +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
        +/pubspec.lock
        +**/doc/api/
        +.dart_tool/
        +.packages
        +build/
        diff --git a/keypress_simulator/packages/keypress_simulator/.metadata b/keypress_simulator/packages/keypress_simulator/.metadata
        new file mode 100644
        index 000000000..0b5ddf05b
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/.metadata
        @@ -0,0 +1,10 @@
        +# This file tracks properties of this Flutter project.
        +# Used by Flutter tool to assess capabilities and perform upgrades etc.
        +#
        +# This file should be version controlled and should not be manually edited.
        +
        +version:
        +  revision: db747aa1331bd95bc9b3874c842261ca2d302cd5
        +  channel: stable
        +
        +project_type: plugin
        diff --git a/keypress_simulator/packages/keypress_simulator/CHANGELOG.md b/keypress_simulator/packages/keypress_simulator/CHANGELOG.md
        new file mode 100644
        index 000000000..a25790099
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/CHANGELOG.md
        @@ -0,0 +1,7 @@
        +## 0.2.0
        +
        +* feat: Convert to federated plugin
        +
        +## 0.1.0
        +
        +* First release.
        diff --git a/keypress_simulator/packages/keypress_simulator/LICENSE b/keypress_simulator/packages/keypress_simulator/LICENSE
        new file mode 100644
        index 000000000..eea05ab78
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/LICENSE
        @@ -0,0 +1,21 @@
        +MIT License
        +
        +Copyright (c) 2022-2024 LiJianying 
        +
        +Permission is hereby granted, free of charge, to any person obtaining a copy
        +of this software and associated documentation files (the "Software"), to deal
        +in the Software without restriction, including without limitation the rights
        +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        +copies of the Software, and to permit persons to whom the Software is
        +furnished to do so, subject to the following conditions:
        +
        +The above copyright notice and this permission notice shall be included in all
        +copies or substantial portions of the Software.
        +
        +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        +SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator/README-ZH.md b/keypress_simulator/packages/keypress_simulator/README-ZH.md
        new file mode 120000
        index 000000000..7da944f1c
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/README-ZH.md
        @@ -0,0 +1 @@
        +../../README-ZH.md
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator/README.md b/keypress_simulator/packages/keypress_simulator/README.md
        new file mode 120000
        index 000000000..fe8400541
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/README.md
        @@ -0,0 +1 @@
        +../../README.md
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator/analysis_options.yaml b/keypress_simulator/packages/keypress_simulator/analysis_options.yaml
        new file mode 100644
        index 000000000..095b1d67f
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/analysis_options.yaml
        @@ -0,0 +1 @@
        +include: package:mostly_reasonable_lints/flutter.yaml
        diff --git a/keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart b/keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart
        new file mode 100644
        index 000000000..4c8a7e899
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart
        @@ -0,0 +1 @@
        +export 'src/keypress_simulator.dart';
        diff --git a/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        new file mode 100644
        index 000000000..f1335ec59
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        @@ -0,0 +1,70 @@
        +import 'dart:async';
        +import 'dart:io';
        +
        +import 'package:flutter/services.dart';
        +import 'package:keypress_simulator_platform_interface/keypress_simulator_platform_interface.dart';
        +
        +class KeyPressSimulator {
        +  KeyPressSimulator._();
        +
        +  /// The shared instance of [KeyPressSimulator].
        +  static final KeyPressSimulator instance = KeyPressSimulator._();
        +
        +  KeyPressSimulatorPlatform get _platform => KeyPressSimulatorPlatform.instance;
        +
        +  Future isAccessAllowed() {
        +    return _platform.isAccessAllowed();
        +  }
        +
        +  Future requestAccess({
        +    bool onlyOpenPrefPane = false,
        +  }) {
        +    return _platform.requestAccess(onlyOpenPrefPane: onlyOpenPrefPane);
        +  }
        +
        +  /// Simulate key down.
        +  Future simulateKeyDown(
        +    PhysicalKeyboardKey? key, [
        +    List modifiers = const [],
        +  ]) {
        +    return _platform.simulateKeyPress(
        +      key: key,
        +      modifiers: modifiers,
        +      keyDown: true,
        +    );
        +  }
        +
        +  /// Simulate key up.
        +  Future simulateKeyUp(
        +    PhysicalKeyboardKey? key, [
        +    List modifiers = const [],
        +  ]) {
        +    return _platform.simulateKeyPress(
        +      key: key,
        +      modifiers: modifiers,
        +      keyDown: false,
        +    );
        +  }
        +
        +  @Deprecated('Please use simulateKeyDown & simulateKeyUp methods.')
        +  Future simulateCtrlCKeyPress() async {
        +    const key = PhysicalKeyboardKey.keyC;
        +    final modifiers = Platform.isMacOS
        +        ? [ModifierKey.metaModifier]
        +        : [ModifierKey.controlModifier];
        +    await simulateKeyDown(key, modifiers);
        +    await simulateKeyUp(key, modifiers);
        +  }
        +
        +  @Deprecated('Please use simulateKeyDown & simulateKeyUp methods.')
        +  Future simulateCtrlVKeyPress() async {
        +    const key = PhysicalKeyboardKey.keyV;
        +    final modifiers = Platform.isMacOS
        +        ? [ModifierKey.metaModifier]
        +        : [ModifierKey.controlModifier];
        +    await simulateKeyDown(key, modifiers);
        +    await simulateKeyUp(key, modifiers);
        +  }
        +}
        +
        +final keyPressSimulator = KeyPressSimulator.instance;
        diff --git a/keypress_simulator/packages/keypress_simulator/pubspec.yaml b/keypress_simulator/packages/keypress_simulator/pubspec.yaml
        new file mode 100644
        index 000000000..1f45031d1
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/pubspec.yaml
        @@ -0,0 +1,33 @@
        +name: keypress_simulator
        +description: This plugin allows Flutter desktop apps to simulate key presses.
        +version: 0.2.0
        +homepage: https://github.com/leanflutter/keypress_simulator
        +
        +platforms:
        +  macos:
        +  windows:
        +
        +environment:
        +  sdk: ">=3.0.0 <4.0.0"
        +  flutter: ">=3.3.0"
        +
        +dependencies:
        +  flutter:
        +    sdk: flutter
        +  keypress_simulator_macos: ^0.2.0
        +  keypress_simulator_platform_interface: ^0.2.0
        +  keypress_simulator_windows: ^0.2.0
        +
        +dev_dependencies:
        +  flutter_test:
        +    sdk: flutter
        +  mostly_reasonable_lints: ^0.1.1
        +
        +flutter:
        +  plugin:
        +    platforms:
        +      macos:
        +        default_package: keypress_simulator_macos
        +      windows:
        +        default_package: keypress_simulator_windows
        +
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/.gitignore b/keypress_simulator/packages/keypress_simulator_macos/.gitignore
        new file mode 100644
        index 000000000..ac5aa9893
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/.gitignore
        @@ -0,0 +1,29 @@
        +# Miscellaneous
        +*.class
        +*.log
        +*.pyc
        +*.swp
        +.DS_Store
        +.atom/
        +.buildlog/
        +.history
        +.svn/
        +migrate_working_dir/
        +
        +# IntelliJ related
        +*.iml
        +*.ipr
        +*.iws
        +.idea/
        +
        +# The .vscode folder contains launch configuration and tasks you configure in
        +# VS Code which you may wish to be included in version control, so this line
        +# is commented out by default.
        +#.vscode/
        +
        +# Flutter/Dart/Pub related
        +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
        +/pubspec.lock
        +**/doc/api/
        +.dart_tool/
        +build/
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/.metadata b/keypress_simulator/packages/keypress_simulator_macos/.metadata
        new file mode 100644
        index 000000000..6422a9994
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/.metadata
        @@ -0,0 +1,30 @@
        +# This file tracks properties of this Flutter project.
        +# Used by Flutter tool to assess capabilities and perform upgrades etc.
        +#
        +# This file should be version controlled and should not be manually edited.
        +
        +version:
        +  revision: "67457e669f79e9f8d13d7a68fe09775fefbb79f4"
        +  channel: "stable"
        +
        +project_type: plugin
        +
        +# Tracks metadata for the flutter migrate command
        +migration:
        +  platforms:
        +    - platform: root
        +      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +    - platform: macos
        +      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +
        +  # User provided section
        +
        +  # List of Local paths (relative to this file) that should be
        +  # ignored by the migrate tool.
        +  #
        +  # Files that are not part of the templates will be ignored by default.
        +  unmanaged_files:
        +    - 'lib/main.dart'
        +    - 'ios/Runner.xcodeproj/project.pbxproj'
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md b/keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md
        new file mode 100644
        index 000000000..2f145cea2
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md
        @@ -0,0 +1,3 @@
        +## 0.2.0
        +
        +* First release.
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/LICENSE b/keypress_simulator/packages/keypress_simulator_macos/LICENSE
        new file mode 100644
        index 000000000..eea05ab78
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/LICENSE
        @@ -0,0 +1,21 @@
        +MIT License
        +
        +Copyright (c) 2022-2024 LiJianying 
        +
        +Permission is hereby granted, free of charge, to any person obtaining a copy
        +of this software and associated documentation files (the "Software"), to deal
        +in the Software without restriction, including without limitation the rights
        +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        +copies of the Software, and to permit persons to whom the Software is
        +furnished to do so, subject to the following conditions:
        +
        +The above copyright notice and this permission notice shall be included in all
        +copies or substantial portions of the Software.
        +
        +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        +SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/README.md b/keypress_simulator/packages/keypress_simulator_macos/README.md
        new file mode 100644
        index 000000000..87a076f02
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/README.md
        @@ -0,0 +1,12 @@
        +# keypress_simulator_macos
        +
        +[![pub version][pub-image]][pub-url]
        +
        +[pub-image]: https://img.shields.io/pub/v/keypress_simulator_macos.svg
        +[pub-url]: https://pub.dev/packages/keypress_simulator_macos
        +
        +The macOS implementation of [keypress_simulator](https://pub.dev/packages/keypress_simulator).
        +
        +## License
        +
        +[MIT](./LICENSE)
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml b/keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml
        new file mode 100644
        index 000000000..095b1d67f
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml
        @@ -0,0 +1 @@
        +include: package:mostly_reasonable_lints/flutter.yaml
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift b/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
        new file mode 100644
        index 000000000..8be4f0e3a
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
        @@ -0,0 +1,79 @@
        +import Cocoa
        +import FlutterMacOS
        +
        +public class KeypressSimulatorMacosPlugin: NSObject, FlutterPlugin {
        +    public static func register(with registrar: FlutterPluginRegistrar) {
        +        let channel = FlutterMethodChannel(name: "dev.leanflutter.plugins/keypress_simulator", binaryMessenger: registrar.messenger)
        +        let instance = KeypressSimulatorMacosPlugin()
        +        registrar.addMethodCallDelegate(instance, channel: channel)
        +    }
        +    
        +    public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        +        switch call.method {
        +        case "isAccessAllowed":
        +            isAccessAllowed(call, result: result)
        +            break
        +        case "requestAccess":
        +            requestAccess(call, result: result)
        +            break
        +        case "simulateKeyPress":
        +            simulateKeyPress(call, result: result)
        +            break
        +        default:
        +            result(FlutterMethodNotImplemented)
        +        }
        +    }
        +    public func isAccessAllowed(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        +        result(AXIsProcessTrusted())
        +    }
        +    
        +    public func requestAccess(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        +        let args:[String: Any] = call.arguments as! [String: Any]
        +        let onlyOpenPrefPane: Bool = args["onlyOpenPrefPane"] as! Bool
        +        
        +        if (!onlyOpenPrefPane) {
        +            let options = [kAXTrustedCheckOptionPrompt.takeRetainedValue(): true] as CFDictionary
        +            AXIsProcessTrustedWithOptions(options)
        +        } else  {
        +            let prefpaneUrl = URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility")!
        +            NSWorkspace.shared.open(prefpaneUrl)
        +        }
        +        result(true)
        +    }
        +    
        +    public func simulateKeyPress(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        +        let args:[String: Any] = call.arguments as! [String: Any]
        +        
        +        let keyCode: Int? = args["keyCode"] as? Int
        +        let modifiers: Array = args["modifiers"] as! Array
        +        let keyDown: Bool = args["keyDown"] as! Bool
        +        
        +        let event = _createKeyPressEvent(keyCode, modifiers, keyDown);
        +        event.post(tap: .cghidEventTap);
        +        result(true)
        +    }
        +    
        +    public func _createKeyPressEvent(_ keyCode: Int?, _ modifiers: Array, _ keyDown: Bool) -> CGEvent {
        +        let virtualKey: CGKeyCode = CGKeyCode(UInt32(keyCode ?? 0))
        +        var flags: CGEventFlags = CGEventFlags()
        +        
        +        if (modifiers.contains("shiftModifier")) {
        +            flags.insert(CGEventFlags.maskShift)
        +        }
        +        if (modifiers.contains("controlModifier")) {
        +            flags.insert(CGEventFlags.maskControl)
        +        }
        +        if (modifiers.contains("altModifier")) {
        +            flags.insert(CGEventFlags.maskAlternate)
        +        }
        +        if (modifiers.contains("metaModifier")) {
        +            flags.insert(CGEventFlags.maskCommand)
        +        }
        +        if (modifiers.contains("functionModifier")) {
        +            flags.insert(CGEventFlags.maskSecondaryFn)
        +        }
        +        let eventKeyPress = CGEvent(keyboardEventSource: nil, virtualKey: virtualKey, keyDown: keyDown);
        +        eventKeyPress!.flags = flags
        +        return eventKeyPress!
        +    }
        +}
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec b/keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec
        new file mode 100644
        index 000000000..81ed85326
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec
        @@ -0,0 +1,23 @@
        +#
        +# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
        +# Run `pod lib lint keypress_simulator_macos.podspec` to validate before publishing.
        +#
        +Pod::Spec.new do |s|
        +  s.name             = 'keypress_simulator_macos'
        +  s.version          = '0.0.1'
        +  s.summary          = 'A new Flutter plugin project.'
        +  s.description      = <<-DESC
        +A new Flutter plugin project.
        +                       DESC
        +  s.homepage         = 'http://example.com'
        +  s.license          = { :file => '../LICENSE' }
        +  s.author           = { 'Your Company' => 'email@example.com' }
        +
        +  s.source           = { :path => '.' }
        +  s.source_files     = 'Classes/**/*'
        +  s.dependency 'FlutterMacOS'
        +
        +  s.platform = :osx, '10.11'
        +  s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
        +  s.swift_version = '5.0'
        +end
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml b/keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml
        new file mode 100644
        index 000000000..7dba18493
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml
        @@ -0,0 +1,26 @@
        +name: keypress_simulator_macos
        +description: macOS implementation of the keypress_simulator plugin.
        +version: 0.2.0
        +repository: https://github.com/leanflutter/keypress_simulator/tree/main/packages/keypress_simulator_macos
        +
        +environment:
        +  sdk: '>=3.0.0 <4.0.0'
        +  flutter: '>=3.3.0'
        +
        +dependencies:
        +  flutter:
        +    sdk: flutter
        +  keypress_simulator_platform_interface: ^0.2.0
        +
        +dev_dependencies:
        +  flutter_test:
        +    sdk: flutter
        +  mostly_reasonable_lints: ^0.1.1
        +
        +flutter:
        +  plugin:
        +    implements: keypress_simulator
        +    platforms:
        +      macos:
        +        pluginClass: KeypressSimulatorMacosPlugin
        +
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore b/keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore
        new file mode 100644
        index 000000000..ac5aa9893
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore
        @@ -0,0 +1,29 @@
        +# Miscellaneous
        +*.class
        +*.log
        +*.pyc
        +*.swp
        +.DS_Store
        +.atom/
        +.buildlog/
        +.history
        +.svn/
        +migrate_working_dir/
        +
        +# IntelliJ related
        +*.iml
        +*.ipr
        +*.iws
        +.idea/
        +
        +# The .vscode folder contains launch configuration and tasks you configure in
        +# VS Code which you may wish to be included in version control, so this line
        +# is commented out by default.
        +#.vscode/
        +
        +# Flutter/Dart/Pub related
        +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
        +/pubspec.lock
        +**/doc/api/
        +.dart_tool/
        +build/
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/.metadata b/keypress_simulator/packages/keypress_simulator_platform_interface/.metadata
        new file mode 100644
        index 000000000..9e91d2fd4
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/.metadata
        @@ -0,0 +1,27 @@
        +# This file tracks properties of this Flutter project.
        +# Used by Flutter tool to assess capabilities and perform upgrades etc.
        +#
        +# This file should be version controlled and should not be manually edited.
        +
        +version:
        +  revision: "67457e669f79e9f8d13d7a68fe09775fefbb79f4"
        +  channel: "stable"
        +
        +project_type: plugin
        +
        +# Tracks metadata for the flutter migrate command
        +migration:
        +  platforms:
        +    - platform: root
        +      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +
        +  # User provided section
        +
        +  # List of Local paths (relative to this file) that should be
        +  # ignored by the migrate tool.
        +  #
        +  # Files that are not part of the templates will be ignored by default.
        +  unmanaged_files:
        +    - 'lib/main.dart'
        +    - 'ios/Runner.xcodeproj/project.pbxproj'
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md b/keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md
        new file mode 100644
        index 000000000..2f145cea2
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md
        @@ -0,0 +1,3 @@
        +## 0.2.0
        +
        +* First release.
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE b/keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE
        new file mode 100644
        index 000000000..eea05ab78
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE
        @@ -0,0 +1,21 @@
        +MIT License
        +
        +Copyright (c) 2022-2024 LiJianying 
        +
        +Permission is hereby granted, free of charge, to any person obtaining a copy
        +of this software and associated documentation files (the "Software"), to deal
        +in the Software without restriction, including without limitation the rights
        +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        +copies of the Software, and to permit persons to whom the Software is
        +furnished to do so, subject to the following conditions:
        +
        +The above copyright notice and this permission notice shall be included in all
        +copies or substantial portions of the Software.
        +
        +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        +SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/README.md b/keypress_simulator/packages/keypress_simulator_platform_interface/README.md
        new file mode 100644
        index 000000000..907200d10
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/README.md
        @@ -0,0 +1,16 @@
        +# keypress_simulator_platform_interface
        +
        +[![pub version][pub-image]][pub-url]
        +
        +[pub-image]: https://img.shields.io/pub/v/keypress_simulator_platform_interface.svg
        +[pub-url]: https://pub.dev/packages/keypress_simulator_platform_interface
        +
        +A common platform interface for the [keypress_simulator](https://pub.dev/packages/keypress_simulator) plugin.
        +
        +## Usage
        +
        +To implement a new platform-specific implementation of keypress_simulator, extend `KeyPressSimulatorPlatform` with an implementation that performs the platform-specific behavior, and when you register your plugin, set the default `KeyPressSimulatorPlatform` by calling `KeyPressSimulatorPlatform.instance = MyPlatformKeyPressSimulator()`.
        +
        +## License
        +
        +[MIT](./LICENSE)
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml b/keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml
        new file mode 100644
        index 000000000..095b1d67f
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml
        @@ -0,0 +1 @@
        +include: package:mostly_reasonable_lints/flutter.yaml
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart
        new file mode 100644
        index 000000000..fdd2ecad6
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart
        @@ -0,0 +1,4 @@
        +library keypress_simulator_platform_interface;
        +
        +export 'src/keypress_simulator_method_channel.dart';
        +export 'src/keypress_simulator_platform_interface.dart';
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        new file mode 100644
        index 000000000..6754ddfe7
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        @@ -0,0 +1,51 @@
        +import 'package:flutter/services.dart';
        +import 'package:flutter/widgets.dart';
        +import 'package:keypress_simulator_platform_interface/src/keypress_simulator_platform_interfacetorPlatform] that uses method channels.
        +class MethodChannelKeyPressSimulator extends KeyPressSimulatorPlatform {
        +  /// The method channel used to interact with the native platform.
        +  @visibleForTesting
        +  final methodChannel = const MethodChannel(
        +    'dev.leanflutter.plugins/keypress_simulator',
        +  );
        +
        +  @override
        +  Future isAccessAllowed() async {
        +    if (UniPlatform.isMacOS) {
        +      return await methodChannel.invokeMethod('isAccessAllowed');
        +    }
        +    return true;
        +  }
        +
        +  @override
        +  Future requestAccess({
        +    bool onlyOpenPrefPane = false,
        +  }) async {
        +    if (UniPlatform.isMacOS) {
        +      final Map arguments = {
        +        'onlyOpenPrefPane': onlyOpenPrefPane,
        +      };
        +      await methodChannel.invokeMethod('requestAccess', arguments);
        +    }
        +  }
        +
        +  @override
        +  Future simulateKeyPress({
        +    KeyboardKey? key,
        +    List modifiers = const [],
        +    bool keyDown = true,
        +  }) async {
        +    PhysicalKeyboardKey? physicalKey = key is PhysicalKeyboardKey ? key : null;
        +    if (key is LogicalKeyboardKey) {
        +      physicalKey = key.physicalKey;
        +    }
        +    if (key != null && physicalKey == null) {
        +      throw UnsupportedError('Unsupported key: $key.');
        +    }
        +    final Map arguments = {
        +      'keyCode': physicalKey?.keyCode,
        +      'modifiers': modifiers.map((e) => e.name).toList(),
        +      'keyDown': keyDown,
        +    }..removeWhere((key, value) => value == null);
        +    await methodChannel.invokeMethod('simulateKeyPress', arguments);
        +  }
        +}
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        new file mode 100644
        index 000000000..9d6b0bfd8
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        @@ -0,0 +1,43 @@
        +import 'package:flutter/services.dart';
        +import 'package:keypress_simulator_platform_interface/src/keypress_simulator_method_channel.dart';
        +import 'package:plugin_platform_interface/plugin_platform_interface.dart';
        +
        +abstract class KeyPressSimulatorPlatform extends PlatformInterface {
        +  /// Constructs a KeyPressSimulatorPlatform.
        +  KeyPressSimulatorPlatform() : super(token: _token);
        +
        +  static final Object _token = Object();
        +
        +  static KeyPressSimulatorPlatform _instance = MethodChannelKeyPressSimulator();
        +
        +  /// The default instance of [KeyPressSimulatorPlatform] to use.
        +  ///
        +  /// Defaults to [MethodChannelKeyPressSimulator].
        +  static KeyPressSimulatorPlatform get instance => _instance;
        +
        +  /// Platform-specific implementations should set this with their own
        +  /// platform-specific class that extends [KeyPressSimulatorPlatform] when
        +  /// they register themselves.
        +  static set instance(KeyPressSimulatorPlatform instance) {
        +    PlatformInterface.verifyToken(instance, _token);
        +    _instance = instance;
        +  }
        +
        +  Future isAccessAllowed() {
        +    throw UnimplementedError('isAccessAllowed() has not been implemented.');
        +  }
        +
        +  Future requestAccess({
        +    bool onlyOpenPrefPane = false,
        +  }) {
        +    throw UnimplementedError('requestAccess() has not been implemented.');
        +  }
        +
        +  Future simulateKeyPress({
        +    KeyboardKey? key,
        +    List modifiers = const [],
        +    bool keyDown = true,
        +  }) {
        +    throw UnimplementedError('simulateKeyPress() has not been implemented.');
        +  }
        +}
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml b/keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml
        new file mode 100644
        index 000000000..4b85fcf11
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml
        @@ -0,0 +1,20 @@
        +name: keypress_simulator_platform_interface
        +description: A common platform interface for the keypress_simulator plugin.
        +version: 0.2.0
        +homepage: https://github.com/leanflutter/keypress_simulator/blob/main/packages/keypress_simulator_platform_interface
        +
        +environment:
        +  sdk: '>=3.0.0 <4.0.0'
        +  flutter: '>=3.3.0'
        +
        +dependencies:
        +  collection: ^1.18.0
        +  flutter:
        +    sdk: flutter
        +  plugin_platform_interface: ^2.1.8
        +  uni_platform: ^0.1.2
        +
        +dev_dependencies:
        +  flutter_test:
        +    sdk: flutter
        +  mostly_reasonable_lints: ^0.1.1
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart
        new file mode 100644
        index 000000000..af2c3b90e
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart
        @@ -0,0 +1,32 @@
        +import 'package:flutter/services.dart';
        +import 'package:flutter_test/flutter_test.dart';
        +import 'package:keypress_simulator_platform_interface/src/keypress_simulator_method_channel.dart';
        +
        +void main() {
        +  TestWidgetsFlutterBinding.ensureInitialized();
        +
        +  MethodChannelKeyPressSimulator platform = MethodChannelKeyPressSimulator();
        +  const MethodChannel channel = MethodChannel(
        +    'dev.leanflutter.plugins/keypress_simulator',
        +  );
        +
        +  setUp(() {
        +    TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
        +        .setMockMethodCallHandler(
        +      channel,
        +      (MethodCall methodCall) async {
        +        if (methodCall.method == 'isAccessAllowed') return true;
        +        return '42';
        +      },
        +    );
        +  });
        +
        +  tearDown(() {
        +    TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
        +        .setMockMethodCallHandler(channel, null);
        +  });
        +
        +  test('isAccessAllowed', () async {
        +    expect(await platform.isAccessAllowed(), true);
        +  });
        +}
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/.gitignore b/keypress_simulator/packages/keypress_simulator_windows/.gitignore
        new file mode 100644
        index 000000000..ac5aa9893
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/.gitignore
        @@ -0,0 +1,29 @@
        +# Miscellaneous
        +*.class
        +*.log
        +*.pyc
        +*.swp
        +.DS_Store
        +.atom/
        +.buildlog/
        +.history
        +.svn/
        +migrate_working_dir/
        +
        +# IntelliJ related
        +*.iml
        +*.ipr
        +*.iws
        +.idea/
        +
        +# The .vscode folder contains launch configuration and tasks you configure in
        +# VS Code which you may wish to be included in version control, so this line
        +# is commented out by default.
        +#.vscode/
        +
        +# Flutter/Dart/Pub related
        +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
        +/pubspec.lock
        +**/doc/api/
        +.dart_tool/
        +build/
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/.metadata b/keypress_simulator/packages/keypress_simulator_windows/.metadata
        new file mode 100644
        index 000000000..bcaf04fcc
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/.metadata
        @@ -0,0 +1,30 @@
        +# This file tracks properties of this Flutter project.
        +# Used by Flutter tool to assess capabilities and perform upgrades etc.
        +#
        +# This file should be version controlled and should not be manually edited.
        +
        +version:
        +  revision: "67457e669f79e9f8d13d7a68fe09775fefbb79f4"
        +  channel: "stable"
        +
        +project_type: plugin
        +
        +# Tracks metadata for the flutter migrate command
        +migration:
        +  platforms:
        +    - platform: root
        +      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +    - platform: windows
        +      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +
        +  # User provided section
        +
        +  # List of Local paths (relative to this file) that should be
        +  # ignored by the migrate tool.
        +  #
        +  # Files that are not part of the templates will be ignored by default.
        +  unmanaged_files:
        +    - 'lib/main.dart'
        +    - 'ios/Runner.xcodeproj/project.pbxproj'
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/CHANGELOG.md b/keypress_simulator/packages/keypress_simulator_windows/CHANGELOG.md
        new file mode 100644
        index 000000000..2f145cea2
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/CHANGELOG.md
        @@ -0,0 +1,3 @@
        +## 0.2.0
        +
        +* First release.
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/LICENSE b/keypress_simulator/packages/keypress_simulator_windows/LICENSE
        new file mode 100644
        index 000000000..eea05ab78
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/LICENSE
        @@ -0,0 +1,21 @@
        +MIT License
        +
        +Copyright (c) 2022-2024 LiJianying 
        +
        +Permission is hereby granted, free of charge, to any person obtaining a copy
        +of this software and associated documentation files (the "Software"), to deal
        +in the Software without restriction, including without limitation the rights
        +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        +copies of the Software, and to permit persons to whom the Software is
        +furnished to do so, subject to the following conditions:
        +
        +The above copyright notice and this permission notice shall be included in all
        +copies or substantial portions of the Software.
        +
        +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        +SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/README.md b/keypress_simulator/packages/keypress_simulator_windows/README.md
        new file mode 100644
        index 000000000..a7ee3cad9
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/README.md
        @@ -0,0 +1,12 @@
        +# keypress_simulator_windows
        +
        +[![pub version][pub-image]][pub-url]
        +
        +[pub-image]: https://img.shields.io/pub/v/keypress_simulator_windows.svg
        +[pub-url]: https://pub.dev/packages/keypress_simulator_windows
        +
        +The Windows implementation of [keypress_simulator](https://pub.dev/packages/keypress_simulator).
        +
        +## License
        +
        +[MIT](./LICENSE)
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/analysis_options.yaml b/keypress_simulator/packages/keypress_simulator_windows/analysis_options.yaml
        new file mode 100644
        index 000000000..095b1d67f
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/analysis_options.yaml
        @@ -0,0 +1 @@
        +include: package:mostly_reasonable_lints/flutter.yaml
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/pubspec.yaml b/keypress_simulator/packages/keypress_simulator_windows/pubspec.yaml
        new file mode 100644
        index 000000000..7be839231
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/pubspec.yaml
        @@ -0,0 +1,25 @@
        +name: keypress_simulator_windows
        +description: Windows implementation of the keypress_simulator plugin.
        +version: 0.2.0
        +repository: https://github.com/leanflutter/keypress_simulator/tree/main/packages/keypress_simulator_windows
        +
        +environment:
        +  sdk: '>=3.0.0 <4.0.0'
        +  flutter: '>=3.3.0'
        +
        +dependencies:
        +  flutter:
        +    sdk: flutter
        +  keypress_simulator_platform_interface: ^0.2.0
        +
        +dev_dependencies:
        +  flutter_test:
        +    sdk: flutter
        +  mostly_reasonable_lints: ^0.1.1
        +
        +flutter:
        +  plugin:
        +    implements: keypress_simulator
        +    platforms:
        +      windows:
        +        pluginClass: KeypressSimulatorWindowsPluginCApi
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/.gitignore b/keypress_simulator/packages/keypress_simulator_windows/windows/.gitignore
        new file mode 100644
        index 000000000..b3eb2be16
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/.gitignore
        @@ -0,0 +1,17 @@
        +flutter/
        +
        +# Visual Studio user-specific files.
        +*.suo
        +*.user
        +*.userosscache
        +*.sln.docstates
        +
        +# Visual Studio build-related files.
        +x64/
        +x86/
        +
        +# Visual Studio cache files
        +# files ending in .cache can be ignored
        +*.[Cc]ache
        +# but keep track of directories ending in .cache
        +!*.[Cc]ache/
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/CMakeLists.txt b/keypress_simulator/packages/keypress_simulator_windows/windows/CMakeLists.txt
        new file mode 100644
        index 000000000..a516e24b8
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/CMakeLists.txt
        @@ -0,0 +1,100 @@
        +# The Flutter tooling requires that developers have a version of Visual Studio
        +# installed that includes CMake 3.14 or later. You should not increase this
        +# version, as doing so will cause the plugin to fail to compile for some
        +# customers of the plugin.
        +cmake_minimum_required(VERSION 3.14)
        +
        +# Project-level configuration.
        +set(PROJECT_NAME "keypress_simulator_windows")
        +project(${PROJECT_NAME} LANGUAGES CXX)
        +
        +# Explicitly opt in to modern CMake behaviors to avoid warnings with recent
        +# versions of CMake.
        +cmake_policy(VERSION 3.14...3.25)
        +
        +# This value is used when generating builds using this plugin, so it must
        +# not be changed
        +set(PLUGIN_NAME "keypress_simulator_windows_plugin")
        +
        +# Any new source files that you add to the plugin should be added here.
        +list(APPEND PLUGIN_SOURCES
        +  "keypress_simulator_windows_plugin.cpp"
        +  "keypress_simulator_windows_plugin.h"
        +)
        +
        +# Define the plugin library target. Its name must not be changed (see comment
        +# on PLUGIN_NAME above).
        +add_library(${PLUGIN_NAME} SHARED
        +  "include/keypress_simulator_windows/keypress_simulator_windows_plugin_c_api.h"
        +  "keypress_simulator_windows_plugin_c_api.cpp"
        +  ${PLUGIN_SOURCES}
        +)
        +
        +# Apply a standard set of build settings that are configured in the
        +# application-level CMakeLists.txt. This can be removed for plugins that want
        +# full control over build settings.
        +apply_standard_settings(${PLUGIN_NAME})
        +
        +# Symbols are hidden by default to reduce the chance of accidental conflicts
        +# between plugins. This should not be removed; any symbols that should be
        +# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro.
        +set_target_properties(${PLUGIN_NAME} PROPERTIES
        +  CXX_VISIBILITY_PRESET hidden)
        +target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL)
        +
        +# Source include directories and library dependencies. Add any plugin-specific
        +# dependencies here.
        +target_include_directories(${PLUGIN_NAME} INTERFACE
        +  "${CMAKE_CURRENT_SOURCE_DIR}/include")
        +target_link_libraries(${PLUGIN_NAME} PRIVATE flutter flutter_wrapper_plugin)
        +
        +# List of absolute paths to libraries that should be bundled with the plugin.
        +# This list could contain prebuilt libraries, or libraries created by an
        +# external build triggered from this build file.
        +set(keypress_simulator_windows_bundled_libraries
        +  ""
        +  PARENT_SCOPE
        +)
        +
        +# === Tests ===
        +# These unit tests can be run from a terminal after building the example, or
        +# from Visual Studio after opening the generated solution file.
        +
        +# Only enable test builds when building the example (which sets this variable)
        +# so that plugin clients aren't building the tests.
        +if (${include_${PROJECT_NAME}_tests})
        +set(TEST_RUNNER "${PROJECT_NAME}_test")
        +enable_testing()
        +
        +# Add the Google Test dependency.
        +include(FetchContent)
        +FetchContent_Declare(
        +  googletest
        +  URL https://github.com/google/googletest/archive/release-1.11.0.zip
        +)
        +# Prevent overriding the parent project's compiler/linker settings
        +set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
        +# Disable install commands for gtest so it doesn't end up in the bundle.
        +set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of googletest" FORCE)
        +FetchContent_MakeAvailable(googletest)
        +
        +# The plugin's C API is not very useful for unit testing, so build the sources
        +# directly into the test binary rather than using the DLL.
        +add_executable(${TEST_RUNNER}
        +  test/keypress_simulator_windows_plugin_test.cpp
        +  ${PLUGIN_SOURCES}
        +)
        +apply_standard_settings(${TEST_RUNNER})
        +target_include_directories(${TEST_RUNNER} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
        +target_link_libraries(${TEST_RUNNER} PRIVATE flutter_wrapper_plugin)
        +target_link_libraries(${TEST_RUNNER} PRIVATE gtest_main gmock)
        +# flutter_wrapper_plugin has link dependencies on the Flutter DLL.
        +add_custom_command(TARGET ${TEST_RUNNER} POST_BUILD
        +  COMMAND ${CMAKE_COMMAND} -E copy_if_different
        +  "${FLUTTER_LIBRARY}" $
        +)
        +
        +# Enable automatic test discovery.
        +include(GoogleTest)
        +gtest_discover_tests(${TEST_RUNNER})
        +endif()
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/include/keypress_simulator_windows/keypress_simulator_windows_plugin_c_api.h b/keypress_simulator/packages/keypress_simulator_windows/windows/include/keypress_simulator_windows/keypress_simulator_windows_plugin_c_api.h
        new file mode 100644
        index 000000000..f69a1c287
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/include/keypress_simulator_windows/keypress_simulator_windows_plugin_c_api.h
        @@ -0,0 +1,23 @@
        +#ifndef FLUTTER_PLUGIN_KEYPRESS_SIMULATOR_WINDOWS_PLUGIN_C_API_H_
        +#define FLUTTER_PLUGIN_KEYPRESS_SIMULATOR_WINDOWS_PLUGIN_C_API_H_
        +
        +#include 
        +
        +#ifdef FLUTTER_PLUGIN_IMPL
        +#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport)
        +#else
        +#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport)
        +#endif
        +
        +#if defined(__cplusplus)
        +extern "C" {
        +#endif
        +
        +FLUTTER_PLUGIN_EXPORT void KeypressSimulatorWindowsPluginCApiRegisterWithRegistrar(
        +    FlutterDesktopPluginRegistrarRef registrar);
        +
        +#if defined(__cplusplus)
        +}  // extern "C"
        +#endif
        +
        +#endif  // FLUTTER_PLUGIN_KEYPRESS_SIMULATOR_WINDOWS_PLUGIN_C_API_H_
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        new file mode 100644
        index 000000000..cba7da58d
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -0,0 +1,95 @@
        +#include "keypress_simulator_windows_plugin.h"
        +
        +// This must be included before many other Windows headers.
        +#include 
        +
        +#include 
        +#include 
        +#include 
        +
        +#include 
        +#include 
        +
        +using flutter::EncodableList;
        +using flutter::EncodableMap;
        +using flutter::EncodableValue;
        +
        +namespace keypress_simulator_windows {
        +
        +// static
        +void KeypressSimulatorWindowsPlugin::RegisterWithRegistrar(
        +    flutter::PluginRegistrarWindows* registrar) {
        +  auto channel =
        +      std::make_unique>(
        +          registrar->messenger(), "dev.leanflutter.plugins/keypress_simulator",
        +          &flutter::StandardMethodCodec::GetInstance());
        +
        +  auto plugin = std::make_unique();
        +
        +  channel->SetMethodCallHandler(
        +      [plugin_pointer = plugin.get()](const auto& call, auto result) {
        +        plugin_pointer->HandleMethodCall(call, std::move(result));
        +      });
        +
        +  registrar->AddPlugin(std::move(plugin));
        +}
        +
        +KeypressSimulatorWindowsPlugin::KeypressSimulatorWindowsPlugin() {}
        +
        +KeypressSimulatorWindowsPlugin::~KeypressSimulatorWindowsPlugin() {}
        +
        +void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
        +    const flutter::MethodCall& method_call,
        +    std::unique_ptr> result) {
        +  const EncodableMap& args = std::get(*method_call.arguments());
        +
        +  UINT keyCode = std::get(args.at(EncodableValue("keyCode")));
        +  std::vector modifiers;
        +  bool keyDown = std::get(args.at(EncodableValue("keyDown")));
        +
        +  EncodableList key_modifier_list =
        +      std::get(args.at(EncodableValue("modifiers")));
        +  for (flutter::EncodableValue key_modifier_value : key_modifier_list) {
        +    std::string key_modifier = std::get(key_modifier_value);
        +    modifiers.push_back(key_modifier);
        +  }
        +
        +  INPUT input[6];
        +
        +  for (int32_t i = 0; i < modifiers.size(); i++) {
        +    if (modifiers[i].compare("shiftModifier") == 0) {
        +      input[i].ki.wVk = VK_SHIFT;
        +    } else if (modifiers[i].compare("controlModifier") == 0) {
        +      input[i].ki.wVk = VK_CONTROL;
        +    } else if (modifiers[i].compare("altModifier") == 0) {
        +      input[i].ki.wVk = VK_MENU;
        +    } else if (modifiers[i].compare("metaModifier") == 0) {
        +      input[i].ki.wVk = VK_LWIN;
        +    }
        +
        +    input[i].ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        +    input[i].type = INPUT_KEYBOARD;
        +  }
        +
        +  int keyIndex = static_cast(modifiers.size());
        +  input[keyIndex].ki.wVk = static_cast(keyCode);
        +  input[keyIndex].ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        +  input[keyIndex].type = INPUT_KEYBOARD;
        +
        +  // Send key sequence to system
        +  SendInput(static_cast(std::size(input)), input, sizeof(INPUT));
        +
        +  result->Success(flutter::EncodableValue(true));
        +}
        +
        +void KeypressSimulatorWindowsPlugin::HandleMethodCall(
        +    const flutter::MethodCall& method_call,
        +    std::unique_ptr> result) {
        +  if (method_call.method_name().compare("simulateKeyPress") == 0) {
        +    SimulateKeyPress(method_call, std::move(result));
        +  } else {
        +    result->NotImplemented();
        +  }
        +}
        +
        +}  // namespace keypress_simulator_windows
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        new file mode 100644
        index 000000000..654c59d13
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        @@ -0,0 +1,37 @@
        +#ifndef FLUTTER_PLUGIN_KEYPRESS_SIMULATOR_WINDOWS_PLUGIN_H_
        +#define FLUTTER_PLUGIN_KEYPRESS_SIMULATOR_WINDOWS_PLUGIN_H_
        +
        +#include 
        +#include 
        +
        +#include 
        +
        +namespace keypress_simulator_windows {
        +
        +class KeypressSimulatorWindowsPlugin : public flutter::Plugin {
        + public:
        +  static void RegisterWithRegistrar(flutter::PluginRegistrarWindows* registrar);
        +
        +  KeypressSimulatorWindowsPlugin();
        +
        +  virtual ~KeypressSimulatorWindowsPlugin();
        +
        +  // Disallow copy and assign.
        +  KeypressSimulatorWindowsPlugin(const KeypressSimulatorWindowsPlugin&) =
        +      delete;
        +  KeypressSimulatorWindowsPlugin& operator=(
        +      const KeypressSimulatorWindowsPlugin&) = delete;
        +
        +  void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
        +      const flutter::MethodCall& method_call,
        +      std::unique_ptr> result);
        +
        +  // Called when a method is called on this plugin's channel from Dart.
        +  void HandleMethodCall(
        +      const flutter::MethodCall& method_call,
        +      std::unique_ptr> result);
        +};
        +
        +}  // namespace keypress_simulator_windows
        +
        +#endif  // FLUTTER_PLUGIN_KEYPRESS_SIMULATOR_WINDOWS_PLUGIN_H_
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin_c_api.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin_c_api.cpp
        new file mode 100644
        index 000000000..5c6fb9bad
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin_c_api.cpp
        @@ -0,0 +1,12 @@
        +#include "include/keypress_simulator_windows/keypress_simulator_windows_plugin_c_api.h"
        +
        +#include 
        +
        +#include "keypress_simulator_windows_plugin.h"
        +
        +void KeypressSimulatorWindowsPluginCApiRegisterWithRegistrar(
        +    FlutterDesktopPluginRegistrarRef registrar) {
        +  keypress_simulator_windows::KeypressSimulatorWindowsPlugin::RegisterWithRegistrar(
        +      flutter::PluginRegistrarManager::GetInstance()
        +          ->GetRegistrar(registrar));
        +}
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/test/keypress_simulator_windows_plugin_test.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/test/keypress_simulator_windows_plugin_test.cpp
        new file mode 100644
        index 000000000..8e0518994
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/test/keypress_simulator_windows_plugin_test.cpp
        @@ -0,0 +1,43 @@
        +#include 
        +#include 
        +#include 
        +#include 
        +#include 
        +
        +#include 
        +#include 
        +#include 
        +
        +#include "keypress_simulator_windows_plugin.h"
        +
        +namespace keypress_simulator_windows {
        +namespace test {
        +
        +namespace {
        +
        +using flutter::EncodableMap;
        +using flutter::EncodableValue;
        +using flutter::MethodCall;
        +using flutter::MethodResultFunctions;
        +
        +}  // namespace
        +
        +TEST(KeypressSimulatorWindowsPlugin, GetPlatformVersion) {
        +  KeypressSimulatorWindowsPlugin plugin;
        +  // Save the reply value from the success callback.
        +  std::string result_string;
        +  plugin.HandleMethodCall(
        +      MethodCall("getPlatformVersion", std::make_unique()),
        +      std::make_unique>(
        +          [&result_string](const EncodableValue* result) {
        +            result_string = std::get(*result);
        +          },
        +          nullptr, nullptr));
        +
        +  // Since the exact string varies by host, just ensure that it's a string
        +  // with the expected format.
        +  EXPECT_TRUE(result_string.rfind("Windows ", 0) == 0);
        +}
        +
        +}  // namespace test
        +}  // namespace keypress_simulator_windows
        diff --git a/keypress_simulator/pubspec.yaml b/keypress_simulator/pubspec.yaml
        new file mode 100644
        index 000000000..9d261665d
        --- /dev/null
        +++ b/keypress_simulator/pubspec.yaml
        @@ -0,0 +1,9 @@
        +name: keypress_simulator_workspace
        +homepage: https://github.com/leanflutter/keypress_simulator
        +publish_to: none
        +
        +environment:
        +  sdk: ">=3.0.0 <4.0.0"
        +
        +dev_dependencies:
        +  melos: ^3.1.0
        diff --git a/pubspec.lock b/pubspec.lock
        index cf8dde8ff..933d20d42 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -386,10 +386,9 @@ packages:
           keypress_simulator:
             dependency: "direct main"
             description:
        -      name: keypress_simulator
        -      sha256: d5aa5ed472b6b396f41fd6dcee99f4afb2c7ac6202af622b4cec7955de6ed7f6
        -      url: "https://pub.dev"
        -    source: hosted
        +      path: "keypress_simulator/packages/keypress_simulator"
        +      relative: true
        +    source: path
             version: "0.2.0"
           keypress_simulator_macos:
             dependency: transitive
        diff --git a/pubspec.yaml b/pubspec.yaml
        index dc797b3fc..d49cd3eb7 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -18,7 +18,8 @@ dependencies:
           dartx: any
           image_picker: ^1.1.2
           pointycastle: any
        -  keypress_simulator: ^0.2.0
        +  keypress_simulator:
        +    path: keypress_simulator/packages/keypress_simulator
           shared_preferences: ^2.5.3
           flex_color_scheme: ^8.2.0
           package_info_plus: ^8.3.0
        
        From ab8d480a01aa73986ec8be6bbb07b7346d4e9c3f Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 09:39:41 +0200
        Subject: [PATCH 075/636] change SendInput to use keybd_event instead
        
        ---
         keypress_simulator/packages/keypress_simulator/pubspec.yaml  | 3 ++-
         .../windows/keypress_simulator_windows_plugin.cpp            | 5 ++++-
         2 files changed, 6 insertions(+), 2 deletions(-)
        
        diff --git a/keypress_simulator/packages/keypress_simulator/pubspec.yaml b/keypress_simulator/packages/keypress_simulator/pubspec.yaml
        index 1f45031d1..b9db8885e 100644
        --- a/keypress_simulator/packages/keypress_simulator/pubspec.yaml
        +++ b/keypress_simulator/packages/keypress_simulator/pubspec.yaml
        @@ -16,7 +16,8 @@ dependencies:
             sdk: flutter
           keypress_simulator_macos: ^0.2.0
           keypress_simulator_platform_interface: ^0.2.0
        -  keypress_simulator_windows: ^0.2.0
        +  keypress_simulator_windows:
        +    path: ../keypress_simulator_windows
         
         dev_dependencies:
           flutter_test:
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index cba7da58d..90103ddd5 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -77,7 +77,10 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
           input[keyIndex].type = INPUT_KEYBOARD;
         
           // Send key sequence to system
        -  SendInput(static_cast(std::size(input)), input, sizeof(INPUT));
        +  //SendInput(static_cast(std::size(input)), input, sizeof(INPUT));
        +
        +  keybd_event(0x4B, 0x45, 0x0, 0);
        +  keybd_event(0x4B, 0x45, KEYEVENTF_KEYUP, 0);
         
           result->Success(flutter::EncodableValue(true));
         }
        
        From 986bfd481cc56c254cdeb56a01a8220f4306885b Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 09:42:40 +0200
        Subject: [PATCH 076/636] show the connected device type if the bluetooth name
         is null
        
        ---
         lib/pages/device.dart | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index 6c03845d6..e49d60684 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -61,7 +61,7 @@ class _DevicePageState extends State {
                       children: [
                         Text(
                           'Devices:\n${connection.devices.joinToString(separator: '\n', transform: (it) {
        -                    return "${it.device.name}: ${it.isConnected ? 'Connected' : 'Not connected'}";
        +                    return "${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'}";
                           })}',
                         ),
                         Divider(color: Theme.of(context).colorScheme.primary, height: 30),
        
        From 505b9704975e5bf10c215b6f09aadec01096a37f Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 09:43:08 +0200
        Subject: [PATCH 077/636] show the connected device type if the bluetooth name
         is null
        
        ---
         lib/bluetooth/connection.dart | 6 +++---
         1 file changed, 3 insertions(+), 3 deletions(-)
        
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index e5f17d2f4..37a8323a7 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -102,18 +102,18 @@ class Connection {
             if (_connectionQueue.isNotEmpty && !_handlingConnectionQueue) {
               _handlingConnectionQueue = true;
               final device = _connectionQueue.removeAt(0);
        -      _actionStreams.add(LogNotification('Connecting to: ${device.device.name}'));
        +      _actionStreams.add(LogNotification('Connecting to: ${device.device.name ?? device.runtimeType}'));
               _connect(device)
                   .then((_) {
                     _handlingConnectionQueue = false;
        -            _actionStreams.add(LogNotification('Connection finished: ${device.device.name}'));
        +            _actionStreams.add(LogNotification('Connection finished: ${device.device.name ?? device.runtimeType}'));
                     if (_connectionQueue.isNotEmpty) {
                       _handleConnectionQueue();
                     }
                   })
                   .catchError((e) {
                     _handlingConnectionQueue = false;
        -            _actionStreams.add(LogNotification('Connection failed: ${device.device.name} - $e'));
        +            _actionStreams.add(LogNotification('Connection failed: ${device.device.name ?? device.runtimeType} - $e'));
                     if (_connectionQueue.isNotEmpty) {
                       _handleConnectionQueue();
                     }
        
        From 2e800bb2de2e2889dc271fd6fb0e7a477c2ba3b6 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 11:48:38 +0200
        Subject: [PATCH 078/636] add hint to install runtime libraries for windows
        
        ---
         README.md | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/README.md b/README.md
        index 8889ef34b..670d4c935 100644
        --- a/README.md
        +++ b/README.md
        @@ -30,7 +30,7 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         ## Supported Platforms
         - Android
         - macOS
        -- Windows
        +- Windows (make sure you have installed the "[Microsoft Visual C++ Runtime libraries](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170)")
         - [Web](https://jonasbark.github.io/swiftcontrol/) (you won't be able to do much)
         
         ## How does it work?
        
        From c4b0ef38c084128a9ee844ea1cd380164848f2cd Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 19:38:52 +0200
        Subject: [PATCH 079/636] Zwift Ride: only connect to the left controller
        
        ---
         .../windows/keypress_simulator_windows_plugin.cpp            | 2 +-
         lib/bluetooth/devices/base_device.dart                       | 5 +++--
         2 files changed, 4 insertions(+), 3 deletions(-)
        
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index 90103ddd5..f5dbafbc9 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -79,7 +79,7 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
           // Send key sequence to system
           //SendInput(static_cast(std::size(input)), input, sizeof(INPUT));
         
        -  keybd_event(0x4B, 0x45, 0x0, 0);
        +  //keybd_event(0x4B, 0x45, 0x0, 0);
           keybd_event(0x4B, 0x45, KEYEVENTF_KEYUP, 0);
         
           result->Success(flutter::EncodableValue(true));
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 87ef100d0..bbd812320 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -30,7 +30,8 @@ abstract class BaseDevice {
           static BaseDevice? fromScanResult(BleDevice scanResult) {
             // Use the name first as the "System Devices" and Web (android sometimes Windows) don't have manufacturer data
             final device = switch (scanResult.name) {
        -      'Zwift Ride' => ZwiftRide(scanResult),
        +      //'Zwift Ride' => ZwiftRide(scanResult), special case for Zwift Ride: we must only connect to the left controller
        +      // https://www.makinolo.com/blog/2024/07/26/zwift-ride-protocol/
               'Zwift Play' => ZwiftPlay(scanResult),
               'Zwift Click' => ZwiftClick(scanResult),
               _ => null,
        @@ -52,7 +53,7 @@ abstract class BaseDevice {
                 DeviceType.click => ZwiftClick(scanResult),
                 DeviceType.playRight => ZwiftPlay(scanResult),
                 DeviceType.playLeft => ZwiftPlay(scanResult),
        -        DeviceType.rideRight => ZwiftRide(scanResult),
        +        //DeviceType.rideRight => ZwiftRide(scanResult), // see comment above
                 DeviceType.rideLeft => ZwiftRide(scanResult),
                 _ => null,
               };
        
        From 0e3f6f1d5e1abcc909ae7bc1a7772e77b3b50f8e Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 19:54:41 +0200
        Subject: [PATCH 080/636] Windows: implement keybd_event
        
        ---
         .../windows/keypress_simulator_windows_plugin.cpp         | 8 ++++----
         1 file changed, 4 insertions(+), 4 deletions(-)
        
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index f5dbafbc9..e63e92f84 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -71,16 +71,16 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
             input[i].type = INPUT_KEYBOARD;
           }
         
        -  int keyIndex = static_cast(modifiers.size());
        +  /*int keyIndex = static_cast(modifiers.size());
           input[keyIndex].ki.wVk = static_cast(keyCode);
           input[keyIndex].ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        -  input[keyIndex].type = INPUT_KEYBOARD;
        +  input[keyIndex].type = INPUT_KEYBOARD;*/
         
           // Send key sequence to system
           //SendInput(static_cast(std::size(input)), input, sizeof(INPUT));
         
        -  //keybd_event(0x4B, 0x45, 0x0, 0);
        -  keybd_event(0x4B, 0x45, KEYEVENTF_KEYUP, 0);
        +  BYTE byteValue = static_cast(keyCode);
        +  keybd_event(byteValue, 0x45, keyDown ? 0 : KEYEVENTF_KEYUP, 0);
         
           result->Success(flutter::EncodableValue(true));
         }
        
        From 3d414edda947eac70a812c1eef91574317673542 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 21:17:46 +0200
        Subject: [PATCH 081/636] Zwift Ride: cleanup, fix button
        
        ---
         .../packages/keypress_simulator/.gitignore    | 29 -------
         .../packages/keypress_simulator/.metadata     | 10 ---
         .../packages/keypress_simulator/CHANGELOG.md  |  7 --
         .../packages/keypress_simulator/LICENSE       | 21 -----
         .../packages/keypress_simulator/README-ZH.md  |  1 -
         .../packages/keypress_simulator/README.md     |  1 -
         .../keypress_simulator/analysis_options.yaml  |  1 -
         .../lib/keypress_simulator.dart               |  1 -
         .../lib/src/keypress_simulator.dart           | 70 ----------------
         .../packages/keypress_simulator/pubspec.yaml  | 34 --------
         .../keypress_simulator_macos/.gitignore       | 29 -------
         .../keypress_simulator_macos/.metadata        | 30 -------
         .../keypress_simulator_macos/CHANGELOG.md     |  3 -
         .../packages/keypress_simulator_macos/LICENSE | 21 -----
         .../keypress_simulator_macos/README.md        | 12 ---
         .../analysis_options.yaml                     |  1 -
         .../KeypressSimulatorMacosPlugin.swift        | 79 -------------------
         .../macos/keypress_simulator_macos.podspec    | 23 ------
         .../keypress_simulator_macos/pubspec.yaml     | 26 ------
         .../.gitignore                                | 29 -------
         .../.metadata                                 | 27 -------
         .../CHANGELOG.md                              |  3 -
         .../LICENSE                                   | 21 -----
         .../README.md                                 | 16 ----
         .../analysis_options.yaml                     |  1 -
         ...keypress_simulator_platform_interface.dart |  4 -
         .../keypress_simulator_method_channel.dart    | 51 ------------
         ...keypress_simulator_platform_interface.dart | 43 ----------
         .../pubspec.yaml                              | 20 -----
         ...eypress_simulator_method_channel_test.dart | 32 --------
         lib/bluetooth/devices/zwift_ride.dart         |  4 +-
         lib/bluetooth/messages/ride_notification.dart | 10 +--
         pubspec.lock                                  | 16 ++--
         pubspec.yaml                                  |  7 +-
         34 files changed, 20 insertions(+), 663 deletions(-)
         delete mode 100644 keypress_simulator/packages/keypress_simulator/.gitignore
         delete mode 100644 keypress_simulator/packages/keypress_simulator/.metadata
         delete mode 100644 keypress_simulator/packages/keypress_simulator/CHANGELOG.md
         delete mode 100644 keypress_simulator/packages/keypress_simulator/LICENSE
         delete mode 120000 keypress_simulator/packages/keypress_simulator/README-ZH.md
         delete mode 120000 keypress_simulator/packages/keypress_simulator/README.md
         delete mode 100644 keypress_simulator/packages/keypress_simulator/analysis_options.yaml
         delete mode 100644 keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart
         delete mode 100644 keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
         delete mode 100644 keypress_simulator/packages/keypress_simulator/pubspec.yaml
         delete mode 100644 keypress_simulator/packages/keypress_simulator_macos/.gitignore
         delete mode 100644 keypress_simulator/packages/keypress_simulator_macos/.metadata
         delete mode 100644 keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md
         delete mode 100644 keypress_simulator/packages/keypress_simulator_macos/LICENSE
         delete mode 100644 keypress_simulator/packages/keypress_simulator_macos/README.md
         delete mode 100644 keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml
         delete mode 100644 keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
         delete mode 100644 keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec
         delete mode 100644 keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/.metadata
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/README.md
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml
         delete mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart
        
        diff --git a/keypress_simulator/packages/keypress_simulator/.gitignore b/keypress_simulator/packages/keypress_simulator/.gitignore
        deleted file mode 100644
        index 01c49d55f..000000000
        --- a/keypress_simulator/packages/keypress_simulator/.gitignore
        +++ /dev/null
        @@ -1,29 +0,0 @@
        -# Miscellaneous
        -*.class
        -*.log
        -*.pyc
        -*.swp
        -.DS_Store
        -.atom/
        -.buildlog/
        -.history
        -.svn/
        -
        -# IntelliJ related
        -*.iml
        -*.ipr
        -*.iws
        -.idea/
        -
        -# The .vscode folder contains launch configuration and tasks you configure in
        -# VS Code which you may wish to be included in version control, so this line
        -# is commented out by default.
        -.vscode/
        -
        -# Flutter/Dart/Pub related
        -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
        -/pubspec.lock
        -**/doc/api/
        -.dart_tool/
        -.packages
        -build/
        diff --git a/keypress_simulator/packages/keypress_simulator/.metadata b/keypress_simulator/packages/keypress_simulator/.metadata
        deleted file mode 100644
        index 0b5ddf05b..000000000
        --- a/keypress_simulator/packages/keypress_simulator/.metadata
        +++ /dev/null
        @@ -1,10 +0,0 @@
        -# This file tracks properties of this Flutter project.
        -# Used by Flutter tool to assess capabilities and perform upgrades etc.
        -#
        -# This file should be version controlled and should not be manually edited.
        -
        -version:
        -  revision: db747aa1331bd95bc9b3874c842261ca2d302cd5
        -  channel: stable
        -
        -project_type: plugin
        diff --git a/keypress_simulator/packages/keypress_simulator/CHANGELOG.md b/keypress_simulator/packages/keypress_simulator/CHANGELOG.md
        deleted file mode 100644
        index a25790099..000000000
        --- a/keypress_simulator/packages/keypress_simulator/CHANGELOG.md
        +++ /dev/null
        @@ -1,7 +0,0 @@
        -## 0.2.0
        -
        -* feat: Convert to federated plugin
        -
        -## 0.1.0
        -
        -* First release.
        diff --git a/keypress_simulator/packages/keypress_simulator/LICENSE b/keypress_simulator/packages/keypress_simulator/LICENSE
        deleted file mode 100644
        index eea05ab78..000000000
        --- a/keypress_simulator/packages/keypress_simulator/LICENSE
        +++ /dev/null
        @@ -1,21 +0,0 @@
        -MIT License
        -
        -Copyright (c) 2022-2024 LiJianying 
        -
        -Permission is hereby granted, free of charge, to any person obtaining a copy
        -of this software and associated documentation files (the "Software"), to deal
        -in the Software without restriction, including without limitation the rights
        -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        -copies of the Software, and to permit persons to whom the Software is
        -furnished to do so, subject to the following conditions:
        -
        -The above copyright notice and this permission notice shall be included in all
        -copies or substantial portions of the Software.
        -
        -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        -SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator/README-ZH.md b/keypress_simulator/packages/keypress_simulator/README-ZH.md
        deleted file mode 120000
        index 7da944f1c..000000000
        --- a/keypress_simulator/packages/keypress_simulator/README-ZH.md
        +++ /dev/null
        @@ -1 +0,0 @@
        -../../README-ZH.md
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator/README.md b/keypress_simulator/packages/keypress_simulator/README.md
        deleted file mode 120000
        index fe8400541..000000000
        --- a/keypress_simulator/packages/keypress_simulator/README.md
        +++ /dev/null
        @@ -1 +0,0 @@
        -../../README.md
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator/analysis_options.yaml b/keypress_simulator/packages/keypress_simulator/analysis_options.yaml
        deleted file mode 100644
        index 095b1d67f..000000000
        --- a/keypress_simulator/packages/keypress_simulator/analysis_options.yaml
        +++ /dev/null
        @@ -1 +0,0 @@
        -include: package:mostly_reasonable_lints/flutter.yaml
        diff --git a/keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart b/keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart
        deleted file mode 100644
        index 4c8a7e899..000000000
        --- a/keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart
        +++ /dev/null
        @@ -1 +0,0 @@
        -export 'src/keypress_simulator.dart';
        diff --git a/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        deleted file mode 100644
        index f1335ec59..000000000
        --- a/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        +++ /dev/null
        @@ -1,70 +0,0 @@
        -import 'dart:async';
        -import 'dart:io';
        -
        -import 'package:flutter/services.dart';
        -import 'package:keypress_simulator_platform_interface/keypress_simulator_platform_interface.dart';
        -
        -class KeyPressSimulator {
        -  KeyPressSimulator._();
        -
        -  /// The shared instance of [KeyPressSimulator].
        -  static final KeyPressSimulator instance = KeyPressSimulator._();
        -
        -  KeyPressSimulatorPlatform get _platform => KeyPressSimulatorPlatform.instance;
        -
        -  Future isAccessAllowed() {
        -    return _platform.isAccessAllowed();
        -  }
        -
        -  Future requestAccess({
        -    bool onlyOpenPrefPane = false,
        -  }) {
        -    return _platform.requestAccess(onlyOpenPrefPane: onlyOpenPrefPane);
        -  }
        -
        -  /// Simulate key down.
        -  Future simulateKeyDown(
        -    PhysicalKeyboardKey? key, [
        -    List modifiers = const [],
        -  ]) {
        -    return _platform.simulateKeyPress(
        -      key: key,
        -      modifiers: modifiers,
        -      keyDown: true,
        -    );
        -  }
        -
        -  /// Simulate key up.
        -  Future simulateKeyUp(
        -    PhysicalKeyboardKey? key, [
        -    List modifiers = const [],
        -  ]) {
        -    return _platform.simulateKeyPress(
        -      key: key,
        -      modifiers: modifiers,
        -      keyDown: false,
        -    );
        -  }
        -
        -  @Deprecated('Please use simulateKeyDown & simulateKeyUp methods.')
        -  Future simulateCtrlCKeyPress() async {
        -    const key = PhysicalKeyboardKey.keyC;
        -    final modifiers = Platform.isMacOS
        -        ? [ModifierKey.metaModifier]
        -        : [ModifierKey.controlModifier];
        -    await simulateKeyDown(key, modifiers);
        -    await simulateKeyUp(key, modifiers);
        -  }
        -
        -  @Deprecated('Please use simulateKeyDown & simulateKeyUp methods.')
        -  Future simulateCtrlVKeyPress() async {
        -    const key = PhysicalKeyboardKey.keyV;
        -    final modifiers = Platform.isMacOS
        -        ? [ModifierKey.metaModifier]
        -        : [ModifierKey.controlModifier];
        -    await simulateKeyDown(key, modifiers);
        -    await simulateKeyUp(key, modifiers);
        -  }
        -}
        -
        -final keyPressSimulator = KeyPressSimulator.instance;
        diff --git a/keypress_simulator/packages/keypress_simulator/pubspec.yaml b/keypress_simulator/packages/keypress_simulator/pubspec.yaml
        deleted file mode 100644
        index b9db8885e..000000000
        --- a/keypress_simulator/packages/keypress_simulator/pubspec.yaml
        +++ /dev/null
        @@ -1,34 +0,0 @@
        -name: keypress_simulator
        -description: This plugin allows Flutter desktop apps to simulate key presses.
        -version: 0.2.0
        -homepage: https://github.com/leanflutter/keypress_simulator
        -
        -platforms:
        -  macos:
        -  windows:
        -
        -environment:
        -  sdk: ">=3.0.0 <4.0.0"
        -  flutter: ">=3.3.0"
        -
        -dependencies:
        -  flutter:
        -    sdk: flutter
        -  keypress_simulator_macos: ^0.2.0
        -  keypress_simulator_platform_interface: ^0.2.0
        -  keypress_simulator_windows:
        -    path: ../keypress_simulator_windows
        -
        -dev_dependencies:
        -  flutter_test:
        -    sdk: flutter
        -  mostly_reasonable_lints: ^0.1.1
        -
        -flutter:
        -  plugin:
        -    platforms:
        -      macos:
        -        default_package: keypress_simulator_macos
        -      windows:
        -        default_package: keypress_simulator_windows
        -
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/.gitignore b/keypress_simulator/packages/keypress_simulator_macos/.gitignore
        deleted file mode 100644
        index ac5aa9893..000000000
        --- a/keypress_simulator/packages/keypress_simulator_macos/.gitignore
        +++ /dev/null
        @@ -1,29 +0,0 @@
        -# Miscellaneous
        -*.class
        -*.log
        -*.pyc
        -*.swp
        -.DS_Store
        -.atom/
        -.buildlog/
        -.history
        -.svn/
        -migrate_working_dir/
        -
        -# IntelliJ related
        -*.iml
        -*.ipr
        -*.iws
        -.idea/
        -
        -# The .vscode folder contains launch configuration and tasks you configure in
        -# VS Code which you may wish to be included in version control, so this line
        -# is commented out by default.
        -#.vscode/
        -
        -# Flutter/Dart/Pub related
        -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
        -/pubspec.lock
        -**/doc/api/
        -.dart_tool/
        -build/
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/.metadata b/keypress_simulator/packages/keypress_simulator_macos/.metadata
        deleted file mode 100644
        index 6422a9994..000000000
        --- a/keypress_simulator/packages/keypress_simulator_macos/.metadata
        +++ /dev/null
        @@ -1,30 +0,0 @@
        -# This file tracks properties of this Flutter project.
        -# Used by Flutter tool to assess capabilities and perform upgrades etc.
        -#
        -# This file should be version controlled and should not be manually edited.
        -
        -version:
        -  revision: "67457e669f79e9f8d13d7a68fe09775fefbb79f4"
        -  channel: "stable"
        -
        -project_type: plugin
        -
        -# Tracks metadata for the flutter migrate command
        -migration:
        -  platforms:
        -    - platform: root
        -      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        -      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        -    - platform: macos
        -      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        -      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        -
        -  # User provided section
        -
        -  # List of Local paths (relative to this file) that should be
        -  # ignored by the migrate tool.
        -  #
        -  # Files that are not part of the templates will be ignored by default.
        -  unmanaged_files:
        -    - 'lib/main.dart'
        -    - 'ios/Runner.xcodeproj/project.pbxproj'
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md b/keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md
        deleted file mode 100644
        index 2f145cea2..000000000
        --- a/keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md
        +++ /dev/null
        @@ -1,3 +0,0 @@
        -## 0.2.0
        -
        -* First release.
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/LICENSE b/keypress_simulator/packages/keypress_simulator_macos/LICENSE
        deleted file mode 100644
        index eea05ab78..000000000
        --- a/keypress_simulator/packages/keypress_simulator_macos/LICENSE
        +++ /dev/null
        @@ -1,21 +0,0 @@
        -MIT License
        -
        -Copyright (c) 2022-2024 LiJianying 
        -
        -Permission is hereby granted, free of charge, to any person obtaining a copy
        -of this software and associated documentation files (the "Software"), to deal
        -in the Software without restriction, including without limitation the rights
        -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        -copies of the Software, and to permit persons to whom the Software is
        -furnished to do so, subject to the following conditions:
        -
        -The above copyright notice and this permission notice shall be included in all
        -copies or substantial portions of the Software.
        -
        -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        -SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/README.md b/keypress_simulator/packages/keypress_simulator_macos/README.md
        deleted file mode 100644
        index 87a076f02..000000000
        --- a/keypress_simulator/packages/keypress_simulator_macos/README.md
        +++ /dev/null
        @@ -1,12 +0,0 @@
        -# keypress_simulator_macos
        -
        -[![pub version][pub-image]][pub-url]
        -
        -[pub-image]: https://img.shields.io/pub/v/keypress_simulator_macos.svg
        -[pub-url]: https://pub.dev/packages/keypress_simulator_macos
        -
        -The macOS implementation of [keypress_simulator](https://pub.dev/packages/keypress_simulator).
        -
        -## License
        -
        -[MIT](./LICENSE)
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml b/keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml
        deleted file mode 100644
        index 095b1d67f..000000000
        --- a/keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml
        +++ /dev/null
        @@ -1 +0,0 @@
        -include: package:mostly_reasonable_lints/flutter.yaml
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift b/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
        deleted file mode 100644
        index 8be4f0e3a..000000000
        --- a/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
        +++ /dev/null
        @@ -1,79 +0,0 @@
        -import Cocoa
        -import FlutterMacOS
        -
        -public class KeypressSimulatorMacosPlugin: NSObject, FlutterPlugin {
        -    public static func register(with registrar: FlutterPluginRegistrar) {
        -        let channel = FlutterMethodChannel(name: "dev.leanflutter.plugins/keypress_simulator", binaryMessenger: registrar.messenger)
        -        let instance = KeypressSimulatorMacosPlugin()
        -        registrar.addMethodCallDelegate(instance, channel: channel)
        -    }
        -    
        -    public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        -        switch call.method {
        -        case "isAccessAllowed":
        -            isAccessAllowed(call, result: result)
        -            break
        -        case "requestAccess":
        -            requestAccess(call, result: result)
        -            break
        -        case "simulateKeyPress":
        -            simulateKeyPress(call, result: result)
        -            break
        -        default:
        -            result(FlutterMethodNotImplemented)
        -        }
        -    }
        -    public func isAccessAllowed(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        -        result(AXIsProcessTrusted())
        -    }
        -    
        -    public func requestAccess(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        -        let args:[String: Any] = call.arguments as! [String: Any]
        -        let onlyOpenPrefPane: Bool = args["onlyOpenPrefPane"] as! Bool
        -        
        -        if (!onlyOpenPrefPane) {
        -            let options = [kAXTrustedCheckOptionPrompt.takeRetainedValue(): true] as CFDictionary
        -            AXIsProcessTrustedWithOptions(options)
        -        } else  {
        -            let prefpaneUrl = URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility")!
        -            NSWorkspace.shared.open(prefpaneUrl)
        -        }
        -        result(true)
        -    }
        -    
        -    public func simulateKeyPress(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        -        let args:[String: Any] = call.arguments as! [String: Any]
        -        
        -        let keyCode: Int? = args["keyCode"] as? Int
        -        let modifiers: Array = args["modifiers"] as! Array
        -        let keyDown: Bool = args["keyDown"] as! Bool
        -        
        -        let event = _createKeyPressEvent(keyCode, modifiers, keyDown);
        -        event.post(tap: .cghidEventTap);
        -        result(true)
        -    }
        -    
        -    public func _createKeyPressEvent(_ keyCode: Int?, _ modifiers: Array, _ keyDown: Bool) -> CGEvent {
        -        let virtualKey: CGKeyCode = CGKeyCode(UInt32(keyCode ?? 0))
        -        var flags: CGEventFlags = CGEventFlags()
        -        
        -        if (modifiers.contains("shiftModifier")) {
        -            flags.insert(CGEventFlags.maskShift)
        -        }
        -        if (modifiers.contains("controlModifier")) {
        -            flags.insert(CGEventFlags.maskControl)
        -        }
        -        if (modifiers.contains("altModifier")) {
        -            flags.insert(CGEventFlags.maskAlternate)
        -        }
        -        if (modifiers.contains("metaModifier")) {
        -            flags.insert(CGEventFlags.maskCommand)
        -        }
        -        if (modifiers.contains("functionModifier")) {
        -            flags.insert(CGEventFlags.maskSecondaryFn)
        -        }
        -        let eventKeyPress = CGEvent(keyboardEventSource: nil, virtualKey: virtualKey, keyDown: keyDown);
        -        eventKeyPress!.flags = flags
        -        return eventKeyPress!
        -    }
        -}
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec b/keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec
        deleted file mode 100644
        index 81ed85326..000000000
        --- a/keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec
        +++ /dev/null
        @@ -1,23 +0,0 @@
        -#
        -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
        -# Run `pod lib lint keypress_simulator_macos.podspec` to validate before publishing.
        -#
        -Pod::Spec.new do |s|
        -  s.name             = 'keypress_simulator_macos'
        -  s.version          = '0.0.1'
        -  s.summary          = 'A new Flutter plugin project.'
        -  s.description      = <<-DESC
        -A new Flutter plugin project.
        -                       DESC
        -  s.homepage         = 'http://example.com'
        -  s.license          = { :file => '../LICENSE' }
        -  s.author           = { 'Your Company' => 'email@example.com' }
        -
        -  s.source           = { :path => '.' }
        -  s.source_files     = 'Classes/**/*'
        -  s.dependency 'FlutterMacOS'
        -
        -  s.platform = :osx, '10.11'
        -  s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
        -  s.swift_version = '5.0'
        -end
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml b/keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml
        deleted file mode 100644
        index 7dba18493..000000000
        --- a/keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml
        +++ /dev/null
        @@ -1,26 +0,0 @@
        -name: keypress_simulator_macos
        -description: macOS implementation of the keypress_simulator plugin.
        -version: 0.2.0
        -repository: https://github.com/leanflutter/keypress_simulator/tree/main/packages/keypress_simulator_macos
        -
        -environment:
        -  sdk: '>=3.0.0 <4.0.0'
        -  flutter: '>=3.3.0'
        -
        -dependencies:
        -  flutter:
        -    sdk: flutter
        -  keypress_simulator_platform_interface: ^0.2.0
        -
        -dev_dependencies:
        -  flutter_test:
        -    sdk: flutter
        -  mostly_reasonable_lints: ^0.1.1
        -
        -flutter:
        -  plugin:
        -    implements: keypress_simulator
        -    platforms:
        -      macos:
        -        pluginClass: KeypressSimulatorMacosPlugin
        -
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore b/keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore
        deleted file mode 100644
        index ac5aa9893..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore
        +++ /dev/null
        @@ -1,29 +0,0 @@
        -# Miscellaneous
        -*.class
        -*.log
        -*.pyc
        -*.swp
        -.DS_Store
        -.atom/
        -.buildlog/
        -.history
        -.svn/
        -migrate_working_dir/
        -
        -# IntelliJ related
        -*.iml
        -*.ipr
        -*.iws
        -.idea/
        -
        -# The .vscode folder contains launch configuration and tasks you configure in
        -# VS Code which you may wish to be included in version control, so this line
        -# is commented out by default.
        -#.vscode/
        -
        -# Flutter/Dart/Pub related
        -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
        -/pubspec.lock
        -**/doc/api/
        -.dart_tool/
        -build/
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/.metadata b/keypress_simulator/packages/keypress_simulator_platform_interface/.metadata
        deleted file mode 100644
        index 9e91d2fd4..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/.metadata
        +++ /dev/null
        @@ -1,27 +0,0 @@
        -# This file tracks properties of this Flutter project.
        -# Used by Flutter tool to assess capabilities and perform upgrades etc.
        -#
        -# This file should be version controlled and should not be manually edited.
        -
        -version:
        -  revision: "67457e669f79e9f8d13d7a68fe09775fefbb79f4"
        -  channel: "stable"
        -
        -project_type: plugin
        -
        -# Tracks metadata for the flutter migrate command
        -migration:
        -  platforms:
        -    - platform: root
        -      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        -      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        -
        -  # User provided section
        -
        -  # List of Local paths (relative to this file) that should be
        -  # ignored by the migrate tool.
        -  #
        -  # Files that are not part of the templates will be ignored by default.
        -  unmanaged_files:
        -    - 'lib/main.dart'
        -    - 'ios/Runner.xcodeproj/project.pbxproj'
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md b/keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md
        deleted file mode 100644
        index 2f145cea2..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md
        +++ /dev/null
        @@ -1,3 +0,0 @@
        -## 0.2.0
        -
        -* First release.
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE b/keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE
        deleted file mode 100644
        index eea05ab78..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE
        +++ /dev/null
        @@ -1,21 +0,0 @@
        -MIT License
        -
        -Copyright (c) 2022-2024 LiJianying 
        -
        -Permission is hereby granted, free of charge, to any person obtaining a copy
        -of this software and associated documentation files (the "Software"), to deal
        -in the Software without restriction, including without limitation the rights
        -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        -copies of the Software, and to permit persons to whom the Software is
        -furnished to do so, subject to the following conditions:
        -
        -The above copyright notice and this permission notice shall be included in all
        -copies or substantial portions of the Software.
        -
        -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        -SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/README.md b/keypress_simulator/packages/keypress_simulator_platform_interface/README.md
        deleted file mode 100644
        index 907200d10..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/README.md
        +++ /dev/null
        @@ -1,16 +0,0 @@
        -# keypress_simulator_platform_interface
        -
        -[![pub version][pub-image]][pub-url]
        -
        -[pub-image]: https://img.shields.io/pub/v/keypress_simulator_platform_interface.svg
        -[pub-url]: https://pub.dev/packages/keypress_simulator_platform_interface
        -
        -A common platform interface for the [keypress_simulator](https://pub.dev/packages/keypress_simulator) plugin.
        -
        -## Usage
        -
        -To implement a new platform-specific implementation of keypress_simulator, extend `KeyPressSimulatorPlatform` with an implementation that performs the platform-specific behavior, and when you register your plugin, set the default `KeyPressSimulatorPlatform` by calling `KeyPressSimulatorPlatform.instance = MyPlatformKeyPressSimulator()`.
        -
        -## License
        -
        -[MIT](./LICENSE)
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml b/keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml
        deleted file mode 100644
        index 095b1d67f..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml
        +++ /dev/null
        @@ -1 +0,0 @@
        -include: package:mostly_reasonable_lints/flutter.yaml
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart
        deleted file mode 100644
        index fdd2ecad6..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart
        +++ /dev/null
        @@ -1,4 +0,0 @@
        -library keypress_simulator_platform_interface;
        -
        -export 'src/keypress_simulator_method_channel.dart';
        -export 'src/keypress_simulator_platform_interface.dart';
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        deleted file mode 100644
        index 6754ddfe7..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        +++ /dev/null
        @@ -1,51 +0,0 @@
        -import 'package:flutter/services.dart';
        -import 'package:flutter/widgets.dart';
        -import 'package:keypress_simulator_platform_interface/src/keypress_simulator_platform_interfacetorPlatform] that uses method channels.
        -class MethodChannelKeyPressSimulator extends KeyPressSimulatorPlatform {
        -  /// The method channel used to interact with the native platform.
        -  @visibleForTesting
        -  final methodChannel = const MethodChannel(
        -    'dev.leanflutter.plugins/keypress_simulator',
        -  );
        -
        -  @override
        -  Future isAccessAllowed() async {
        -    if (UniPlatform.isMacOS) {
        -      return await methodChannel.invokeMethod('isAccessAllowed');
        -    }
        -    return true;
        -  }
        -
        -  @override
        -  Future requestAccess({
        -    bool onlyOpenPrefPane = false,
        -  }) async {
        -    if (UniPlatform.isMacOS) {
        -      final Map arguments = {
        -        'onlyOpenPrefPane': onlyOpenPrefPane,
        -      };
        -      await methodChannel.invokeMethod('requestAccess', arguments);
        -    }
        -  }
        -
        -  @override
        -  Future simulateKeyPress({
        -    KeyboardKey? key,
        -    List modifiers = const [],
        -    bool keyDown = true,
        -  }) async {
        -    PhysicalKeyboardKey? physicalKey = key is PhysicalKeyboardKey ? key : null;
        -    if (key is LogicalKeyboardKey) {
        -      physicalKey = key.physicalKey;
        -    }
        -    if (key != null && physicalKey == null) {
        -      throw UnsupportedError('Unsupported key: $key.');
        -    }
        -    final Map arguments = {
        -      'keyCode': physicalKey?.keyCode,
        -      'modifiers': modifiers.map((e) => e.name).toList(),
        -      'keyDown': keyDown,
        -    }..removeWhere((key, value) => value == null);
        -    await methodChannel.invokeMethod('simulateKeyPress', arguments);
        -  }
        -}
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        deleted file mode 100644
        index 9d6b0bfd8..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        +++ /dev/null
        @@ -1,43 +0,0 @@
        -import 'package:flutter/services.dart';
        -import 'package:keypress_simulator_platform_interface/src/keypress_simulator_method_channel.dart';
        -import 'package:plugin_platform_interface/plugin_platform_interface.dart';
        -
        -abstract class KeyPressSimulatorPlatform extends PlatformInterface {
        -  /// Constructs a KeyPressSimulatorPlatform.
        -  KeyPressSimulatorPlatform() : super(token: _token);
        -
        -  static final Object _token = Object();
        -
        -  static KeyPressSimulatorPlatform _instance = MethodChannelKeyPressSimulator();
        -
        -  /// The default instance of [KeyPressSimulatorPlatform] to use.
        -  ///
        -  /// Defaults to [MethodChannelKeyPressSimulator].
        -  static KeyPressSimulatorPlatform get instance => _instance;
        -
        -  /// Platform-specific implementations should set this with their own
        -  /// platform-specific class that extends [KeyPressSimulatorPlatform] when
        -  /// they register themselves.
        -  static set instance(KeyPressSimulatorPlatform instance) {
        -    PlatformInterface.verifyToken(instance, _token);
        -    _instance = instance;
        -  }
        -
        -  Future isAccessAllowed() {
        -    throw UnimplementedError('isAccessAllowed() has not been implemented.');
        -  }
        -
        -  Future requestAccess({
        -    bool onlyOpenPrefPane = false,
        -  }) {
        -    throw UnimplementedError('requestAccess() has not been implemented.');
        -  }
        -
        -  Future simulateKeyPress({
        -    KeyboardKey? key,
        -    List modifiers = const [],
        -    bool keyDown = true,
        -  }) {
        -    throw UnimplementedError('simulateKeyPress() has not been implemented.');
        -  }
        -}
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml b/keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml
        deleted file mode 100644
        index 4b85fcf11..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml
        +++ /dev/null
        @@ -1,20 +0,0 @@
        -name: keypress_simulator_platform_interface
        -description: A common platform interface for the keypress_simulator plugin.
        -version: 0.2.0
        -homepage: https://github.com/leanflutter/keypress_simulator/blob/main/packages/keypress_simulator_platform_interface
        -
        -environment:
        -  sdk: '>=3.0.0 <4.0.0'
        -  flutter: '>=3.3.0'
        -
        -dependencies:
        -  collection: ^1.18.0
        -  flutter:
        -    sdk: flutter
        -  plugin_platform_interface: ^2.1.8
        -  uni_platform: ^0.1.2
        -
        -dev_dependencies:
        -  flutter_test:
        -    sdk: flutter
        -  mostly_reasonable_lints: ^0.1.1
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart
        deleted file mode 100644
        index af2c3b90e..000000000
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart
        +++ /dev/null
        @@ -1,32 +0,0 @@
        -import 'package:flutter/services.dart';
        -import 'package:flutter_test/flutter_test.dart';
        -import 'package:keypress_simulator_platform_interface/src/keypress_simulator_method_channel.dart';
        -
        -void main() {
        -  TestWidgetsFlutterBinding.ensureInitialized();
        -
        -  MethodChannelKeyPressSimulator platform = MethodChannelKeyPressSimulator();
        -  const MethodChannel channel = MethodChannel(
        -    'dev.leanflutter.plugins/keypress_simulator',
        -  );
        -
        -  setUp(() {
        -    TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
        -        .setMockMethodCallHandler(
        -      channel,
        -      (MethodCall methodCall) async {
        -        if (methodCall.method == 'isAccessAllowed') return true;
        -        return '42';
        -      },
        -    );
        -  });
        -
        -  tearDown(() {
        -    TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
        -        .setMockMethodCallHandler(channel, null);
        -  });
        -
        -  test('isAccessAllowed', () async {
        -    expect(await platform.isAccessAllowed(), true);
        -  });
        -}
        diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart
        index 5c8af5838..43a1634c2 100644
        --- a/lib/bluetooth/devices/zwift_ride.dart
        +++ b/lib/bluetooth/devices/zwift_ride.dart
        @@ -27,12 +27,12 @@ class ZwiftRide extends BaseDevice {
               if (clickNotification.buttonShiftDownLeft ||
                   clickNotification.buttonShiftUpLeft ||
                   clickNotification.buttonOnOffLeft ||
        -          clickNotification.buttonPowerDownLeft) {
        +          clickNotification.buttonPowerUpLeft) {
                 actionHandler.decreaseGear();
               } else if (clickNotification.buttonShiftUpRight ||
                   clickNotification.buttonShiftDownRight ||
                   clickNotification.buttonOnOffRight ||
        -          clickNotification.buttonPowerUpLeft) {
        +          clickNotification.buttonPowerUpRight) {
                 actionHandler.increaseGear();
               }
               /*if (clickNotification.buttonA) {
        diff --git a/lib/bluetooth/messages/ride_notification.dart b/lib/bluetooth/messages/ride_notification.dart
        index 1e50530db..fb20c587f 100644
        --- a/lib/bluetooth/messages/ride_notification.dart
        +++ b/lib/bluetooth/messages/ride_notification.dart
        @@ -36,7 +36,7 @@ class RideNotification extends BaseNotification {
           late bool buttonA, buttonB, buttonY, buttonZ;
           late bool buttonShiftUpLeft, buttonShiftDownLeft;
           late bool buttonShiftUpRight, buttonShiftDownRight;
        -  late bool buttonPowerUpLeft, buttonPowerDownLeft;
        +  late bool buttonPowerUpLeft, buttonPowerUpRight;
           late bool buttonOnOffLeft, buttonOnOffRight;
         
           int analogLR = 0, analogUD = 0;
        @@ -57,7 +57,7 @@ class RideNotification extends BaseNotification {
             buttonShiftUpRight = status.buttonMap & _RideButtonMask.SHFT_UP_R_BTN.mask == BTN_PRESSED;
             buttonShiftDownRight = status.buttonMap & _RideButtonMask.SHFT_DN_R_BTN.mask == BTN_PRESSED;
             buttonPowerUpLeft = status.buttonMap & _RideButtonMask.POWERUP_L_BTN.mask == BTN_PRESSED;
        -    buttonPowerDownLeft = status.buttonMap & _RideButtonMask.POWERUP_R_BTN.mask == BTN_PRESSED;
        +    buttonPowerUpRight = status.buttonMap & _RideButtonMask.POWERUP_R_BTN.mask == BTN_PRESSED;
             buttonOnOffLeft = status.buttonMap & _RideButtonMask.ONOFF_L_BTN.mask == BTN_PRESSED;
             buttonOnOffRight = status.buttonMap & _RideButtonMask.ONOFF_R_BTN.mask == BTN_PRESSED;
         
        @@ -86,7 +86,7 @@ class RideNotification extends BaseNotification {
               if (buttonShiftUpRight) 'buttonShiftUpRight',
               if (buttonShiftDownRight) 'buttonShiftDownRight',
               if (buttonPowerUpLeft) 'buttonPowerUpLeft',
        -      if (buttonPowerDownLeft) 'buttonPowerDownLeft',
        +      if (buttonPowerUpRight) 'buttonPowerUpRight',
               if (buttonOnOffLeft) 'buttonOnOffLeft',
               if (buttonOnOffRight) 'buttonOnOffRight',
             ];
        @@ -111,7 +111,7 @@ class RideNotification extends BaseNotification {
                   buttonShiftUpRight == other.buttonShiftUpRight &&
                   buttonShiftDownRight == other.buttonShiftDownRight &&
                   buttonPowerUpLeft == other.buttonPowerUpLeft &&
        -          buttonPowerDownLeft == other.buttonPowerDownLeft &&
        +          buttonPowerUpRight == other.buttonPowerUpRight &&
                   buttonOnOffLeft == other.buttonOnOffLeft &&
                   buttonOnOffRight == other.buttonOnOffRight &&
                   analogLR == other.analogLR &&
        @@ -132,7 +132,7 @@ class RideNotification extends BaseNotification {
               buttonShiftUpRight.hashCode ^
               buttonShiftDownRight.hashCode ^
               buttonPowerUpLeft.hashCode ^
        -      buttonPowerDownLeft.hashCode ^
        +      buttonPowerUpRight.hashCode ^
               buttonOnOffLeft.hashCode ^
               buttonOnOffRight.hashCode ^
               analogLR.hashCode ^
        diff --git a/pubspec.lock b/pubspec.lock
        index 933d20d42..a8361e58a 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -386,9 +386,10 @@ packages:
           keypress_simulator:
             dependency: "direct main"
             description:
        -      path: "keypress_simulator/packages/keypress_simulator"
        -      relative: true
        -    source: path
        +      name: keypress_simulator
        +      sha256: d5aa5ed472b6b396f41fd6dcee99f4afb2c7ac6202af622b4cec7955de6ed7f6
        +      url: "https://pub.dev"
        +    source: hosted
             version: "0.2.0"
           keypress_simulator_macos:
             dependency: transitive
        @@ -407,12 +408,11 @@ packages:
             source: hosted
             version: "0.2.0"
           keypress_simulator_windows:
        -    dependency: transitive
        +    dependency: "direct overridden"
             description:
        -      name: keypress_simulator_windows
        -      sha256: b4ff055131a2e5ea920eb3b6a185e1889fe00749b027df3b83aa726ed590a9b5
        -      url: "https://pub.dev"
        -    source: hosted
        +      path: "keypress_simulator/packages/keypress_simulator_windows"
        +      relative: true
        +    source: path
             version: "0.2.0"
           leak_tracker:
             dependency: transitive
        diff --git a/pubspec.yaml b/pubspec.yaml
        index d49cd3eb7..3f9a084d6 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -18,8 +18,7 @@ dependencies:
           dartx: any
           image_picker: ^1.1.2
           pointycastle: any
        -  keypress_simulator:
        -    path: keypress_simulator/packages/keypress_simulator
        +  keypress_simulator: any
           shared_preferences: ^2.5.3
           flex_color_scheme: ^8.2.0
           package_info_plus: ^8.3.0
        @@ -27,6 +26,10 @@ dependencies:
             path: accessibility
           http: ^1.3.0
         
        +dependency_overrides:
        +  keypress_simulator_windows:
        +    path: keypress_simulator/packages/keypress_simulator_windows
        +
         dev_dependencies:
           flutter_test:
             sdk: flutter
        
        From f9c882030316f4c7965eac97af442cd4f4155b75 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 21:20:20 +0200
        Subject: [PATCH 082/636] version++
        
        ---
         CHANGELOG.md | 4 ++++
         pubspec.yaml | 2 +-
         2 files changed, 5 insertions(+), 1 deletion(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 415836bf0..d2c718115 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,7 @@
        +### 1.1.7 (2025-04-01)
        +- Zwift Ride: fix connection issues by connecting only to the left controller
        +- 
        +
         ### 1.1.6 (2025-03-31)
         - Zwift Ride: add buttonPowerDown to shift gears
         - Zwift Play: Fix buttonShift assignment
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 3f9a084d6..af6ea2e4d 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.6+0
        +version: 1.1.7+0
         
         environment:
           sdk: ^3.7.0
        
        From 0dcb666bbdd0f969a454b5d0bbd770123bd3d3a5 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 1 Apr 2025 21:21:58 +0200
        Subject: [PATCH 083/636] update changelog
        
        ---
         CHANGELOG.md | 3 ++-
         1 file changed, 2 insertions(+), 1 deletion(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index d2c718115..f6b13da70 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,6 +1,7 @@
         ### 1.1.7 (2025-04-01)
         - Zwift Ride: fix connection issues by connecting only to the left controller
        -- 
        +- Windows: connect sequentially to fix (finally?) fix connection issues
        +- Windows: change the way keyboard is simulated, should fix glitches
         
         ### 1.1.6 (2025-03-31)
         - Zwift Ride: add buttonPowerDown to shift gears
        
        From 1c0e027abbf0d6a3d962cb6511df592bd60731ee Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 2 Apr 2025 12:20:56 +0200
        Subject: [PATCH 084/636] Android: make sure the touch reassignment page is
         fullscreen
        
        ---
         CHANGELOG.md              |  3 +++
         lib/pages/touch_area.dart | 40 +++++++++++++++++++++++++--------------
         pubspec.yaml              |  2 +-
         3 files changed, 30 insertions(+), 15 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index f6b13da70..3b362d217 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 1.1.8 (2025-04-02)
        +- Android: make sure the touch reassignment page is fullscreen
        +
         ### 1.1.7 (2025-04-01)
         - Zwift Ride: fix connection issues by connecting only to the left controller
         - Windows: connect sequentially to fix (finally?) fix connection issues
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index b1ba5064f..c1c406fed 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -1,6 +1,7 @@
         import 'dart:io';
         
         import 'package:flutter/material.dart';
        +import 'package:flutter/services.dart';
         import 'package:image_picker/image_picker.dart';
         import 'package:swift_control/main.dart';
         
        @@ -35,10 +36,18 @@ class _TouchAreaSetupPageState extends State {
             Navigator.of(context).pop();
           }
         
        +  @override
        +  void dispose() {
        +    super.dispose();
        +    // Exit full screen
        +    SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: SystemUiOverlay.values);
        +  }
        +
           @override
           void initState() {
             super.initState();
         
        +    SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky, overlays: []);
             WidgetsBinding.instance.addPostFrameCallback((_) {
               final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
         
        @@ -90,35 +99,38 @@ class _TouchAreaSetupPageState extends State {
                     Positioned.fill(child: Opacity(opacity: 0.5, child: Image.file(_backgroundImage!, fit: BoxFit.cover)))
                   else
                     Center(
        -              child: Column(
        -                mainAxisSize: MainAxisSize.min,
        -                spacing: 8,
        -                children: [
        -                  Text('''1. Create an in-game screenshot of your app (e.g. within MyWhoosh)
        +              child: Padding(
        +                padding: const EdgeInsets.all(16.0),
        +                child: Column(
        +                  mainAxisSize: MainAxisSize.min,
        +                  spacing: 8,
        +                  children: [
        +                    Text('''1. Create an in-game screenshot of your app (e.g. within MyWhoosh)
         2. Load the screenshot with the button below
         3. Make sure the app is in the correct orientation (portrait or landscape)
         4. Drag the touch areas to the correct position where the gear up / down buttons are located
         5. Save and close this screen'''),
        -                  ElevatedButton(
        -                    onPressed: () {
        -                      _pickScreenshot();
        -                    },
        -                    child: Text('Load in-game screenshot for placement'),
        -                  ),
        -                ],
        +                    ElevatedButton(
        +                      onPressed: () {
        +                        _pickScreenshot();
        +                      },
        +                      child: Text('Load in-game screenshot for placement'),
        +                    ),
        +                  ],
        +                ),
                       ),
                     ),
                   // Touch Areas
                   _buildDraggableArea(
                     position: _gearUpPos,
                     onPositionChanged: (newPos) => _gearUpPos = newPos,
        -            color: Colors.green,
        +            color: Colors.red,
                     label: "Gear ↑",
                   ),
                   _buildDraggableArea(
                     position: _gearDownPos,
                     onPositionChanged: (newPos) => _gearDownPos = newPos,
        -            color: Colors.red,
        +            color: Colors.green,
                     label: "Gear ↓",
                   ),
                   Positioned(
        diff --git a/pubspec.yaml b/pubspec.yaml
        index af6ea2e4d..bd4e229b1 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.7+0
        +version: 1.1.8+0
         
         environment:
           sdk: ^3.7.0
        
        From 0780cdc80bf4610d41ebaeb5ba4a2336f3537a57 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 2 Apr 2025 13:30:25 +0200
        Subject: [PATCH 085/636] increase connection timeout, logging
        
        ---
         lib/bluetooth/connection.dart          | 1 +
         lib/bluetooth/devices/base_device.dart | 6 ++++--
         2 files changed, 5 insertions(+), 2 deletions(-)
        
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index 37a8323a7..2707190a8 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -143,6 +143,7 @@ class Connection {
                 print(e);
                 print("backtrace: $backtrace");
               }
        +      throw e;
             }
           }
         
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index bbd812320..b7dbbf839 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -78,7 +78,7 @@ abstract class BaseDevice {
           Stream get actionStream => actionStreamInternal.stream;
         
           Future connect() async {
        -    await UniversalBle.connect(device.deviceId, connectionTimeout: const Duration(seconds: 3));
        +    await UniversalBle.connect(device.deviceId);
         
             if (!kIsWeb && Platform.isAndroid) {
               //await UniversalBle.requestMtu(device.deviceId, 256);
        @@ -92,7 +92,9 @@ abstract class BaseDevice {
             final customService = services.firstOrNullWhere((service) => service.uuid == customServiceId);
         
             if (customService == null) {
        -      throw Exception('Custom service $customServiceId not found for device $this ${device.name ?? device.rawName}');
        +      throw Exception(
        +        'Custom service $customServiceId not found for device $this ${device.name ?? device.rawName}. We found: ${services.joinToString(transform: (s) => s.uuid)}',
        +      );
             }
         
             final asyncCharacteristic = customService.characteristics.firstOrNullWhere(
        
        From ece3f3822f6ec0242763924f4efa50d0a989dad9 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 2 Apr 2025 13:34:40 +0200
        Subject: [PATCH 086/636] increase connection timeout, logging
        
        ---
         lib/bluetooth/connection.dart | 6 ++++--
         1 file changed, 4 insertions(+), 2 deletions(-)
        
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index 2707190a8..5575aaa49 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -34,8 +34,10 @@ class Connection {
             UniversalBle.onScanResult = (result) {
               if (_lastScanResult.none((e) => e.deviceId == result.deviceId)) {
                 _lastScanResult.add(result);
        -        _actionStreams.add(LogNotification('Found new device: ${result.name}'));
                 final scanResult = BaseDevice.fromScanResult(result);
        +        _actionStreams.add(
        +          LogNotification('Found new device: ${result.name ?? scanResult?.runtimeType ?? result.deviceId}'),
        +        );
                 if (scanResult != null) {
                   _addDevices([scanResult]);
                 }
        @@ -143,7 +145,7 @@ class Connection {
                 print(e);
                 print("backtrace: $backtrace");
               }
        -      throw e;
        +      rethrow;
             }
           }
         
        
        From b875489ad3e4503c145554dba01622bef0821d46 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 2 Apr 2025 18:29:41 +0200
        Subject: [PATCH 087/636] more logging
        
        ---
         CHANGELOG.md                           | 3 +++
         README.md                              | 3 +++
         lib/bluetooth/devices/base_device.dart | 2 +-
         pubspec.yaml                           | 2 +-
         4 files changed, 8 insertions(+), 2 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 3b362d217..377fe6ba8 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 1.1.9 (2025-04-03)
        +- Add more troubleshooting during connection
        +
         ### 1.1.8 (2025-04-02)
         - Android: make sure the touch reassignment page is fullscreen
         
        diff --git a/README.md b/README.md
        index 670d4c935..b2ff9451e 100644
        --- a/README.md
        +++ b/README.md
        @@ -33,6 +33,9 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         - Windows (make sure you have installed the "[Microsoft Visual C++ Runtime libraries](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170)")
         - [Web](https://jonasbark.github.io/swiftcontrol/) (you won't be able to do much)
         
        +## Troubleshooting
        +Your Zwift device is found but connection does not work properly? You may need to update the firmware in Zwift Companion app.
        +
         ## How does it work?
         The app connects to your Zwift device automatically. 
         
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index b7dbbf839..b5f3c3248 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -93,7 +93,7 @@ abstract class BaseDevice {
         
             if (customService == null) {
               throw Exception(
        -        'Custom service $customServiceId not found for device $this ${device.name ?? device.rawName}. We found: ${services.joinToString(transform: (s) => s.uuid)}',
        +        'Custom service $customServiceId not found for device $this ${device.name ?? device.rawName}.\nYou may need to update the firmware in Zwift Companion app.\nWe found: ${services.joinToString(transform: (s) => s.uuid)}',
               );
             }
         
        diff --git a/pubspec.yaml b/pubspec.yaml
        index bd4e229b1..4a99ca755 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.8+0
        +version: 1.1.9+0
         
         environment:
           sdk: ^3.7.0
        
        From 4450db3be91c63a4f78e97dc88f27f42464d4b8a Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 2 Apr 2025 21:31:27 +0200
        Subject: [PATCH 088/636] more logging
        
        ---
         CHANGELOG.md                           | 2 +-
         lib/bluetooth/connection.dart          | 2 +-
         lib/bluetooth/devices/base_device.dart | 2 +-
         pubspec.yaml                           | 2 +-
         4 files changed, 4 insertions(+), 4 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 377fe6ba8..b70a3935d 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,4 +1,4 @@
        -### 1.1.9 (2025-04-03)
        +### 1.1.10 (2025-04-03)
         - Add more troubleshooting during connection
         
         ### 1.1.8 (2025-04-02)
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index 5575aaa49..bb5016d24 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -140,7 +140,7 @@ class Connection {
         
               _streamSubscriptions[bleDevice] = actionSubscription;
             } catch (e, backtrace) {
        -      _actionStreams.add(LogNotification(e.toString()));
        +      _actionStreams.add(LogNotification("$e\n$backtrace"));
               if (kDebugMode) {
                 print(e);
                 print("backtrace: $backtrace");
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index b5f3c3248..7c21845c4 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -176,7 +176,7 @@ abstract class BaseDevice {
             } catch (e, stackTrace) {
               print("Error processing data: $e");
               print("Stack Trace: $stackTrace");
        -      actionStreamInternal.add(LogNotification(e.toString()));
        +      actionStreamInternal.add(LogNotification("$e\n$stackTrace"));
             }
           }
         
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 4a99ca755..c58750085 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.9+0
        +version: 1.1.10+0
         
         environment:
           sdk: ^3.7.0
        
        From 80d8d8c0cdb9e0a73f315214413ea81784eb99dd Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 5 Apr 2025 11:40:07 +0200
        Subject: [PATCH 089/636] some refactoring, UI adjustments
        
        ---
         lib/bluetooth/devices/base_device.dart        |   5 +
         lib/bluetooth/devices/zwift_click.dart        |   9 +-
         lib/bluetooth/devices/zwift_play.dart         |  31 ++---
         lib/bluetooth/devices/zwift_ride.dart         |  27 ++--
         .../messages/click_notification.dart          |  19 +--
         lib/bluetooth/messages/play_notification.dart |  66 ++++------
         lib/bluetooth/messages/ride_notification.dart | 119 +++++-------------
         lib/pages/scan.dart                           |   2 +-
         lib/pages/touch_area.dart                     |   2 +-
         lib/utils/actions/desktop.dart                |  14 +++
         lib/utils/keymap/buttons.dart                 |  31 +++++
         lib/utils/requirements/android.dart           |   2 +-
         lib/widgets/logviewer.dart                    |  35 +++++-
         13 files changed, 192 insertions(+), 170 deletions(-)
         create mode 100644 lib/utils/keymap/buttons.dart
        
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 7c21845c4..ee493babc 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -196,6 +196,11 @@ abstract class BaseDevice {
               final counter = bytes.sublist(0, 4); // Int.SIZE_BYTES is 4
               final payload = bytes.sublist(4);
         
        +      if (zapEncryption.encryptionKeyBytes == null) {
        +        actionStreamInternal.add(LogNotification('Encryption not initialized, yet.'));
        +        return;
        +      }
        +
               final data = zapEncryption.decrypt(counter, payload);
               type = data[0];
               message = data.sublist(1);
        diff --git a/lib/bluetooth/devices/zwift_click.dart b/lib/bluetooth/devices/zwift_click.dart
        index d0e7b0e05..265e47859 100644
        --- a/lib/bluetooth/devices/zwift_click.dart
        +++ b/lib/bluetooth/devices/zwift_click.dart
        @@ -1,6 +1,7 @@
         import 'package:flutter/foundation.dart';
         import 'package:swift_control/bluetooth/devices/base_device.dart';
         import 'package:swift_control/main.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
         import '../messages/click_notification.dart';
         
        @@ -14,11 +15,13 @@ class ZwiftClick extends BaseDevice {
             final ClickNotification clickNotification = ClickNotification(message);
             if (_lastClickNotification == null || _lastClickNotification != clickNotification) {
               _lastClickNotification = clickNotification;
        -      actionStreamInternal.add(clickNotification);
        +      if (clickNotification.buttonsClicked.isNotEmpty) {
        +        actionStreamInternal.add(clickNotification);
        +      }
         
        -      if (clickNotification.buttonUp) {
        +      if (clickNotification.buttonsClicked.contains(ZwiftButton.shiftUpLeft)) {
                 actionHandler.increaseGear();
        -      } else if (clickNotification.buttonDown) {
        +      } else if (clickNotification.buttonsClicked.contains(ZwiftButton.shiftDownLeft)) {
                 actionHandler.decreaseGear();
               }
             }
        diff --git a/lib/bluetooth/devices/zwift_play.dart b/lib/bluetooth/devices/zwift_play.dart
        index dfb4d1dcf..d9ee274c2 100644
        --- a/lib/bluetooth/devices/zwift_play.dart
        +++ b/lib/bluetooth/devices/zwift_play.dart
        @@ -1,7 +1,9 @@
         import 'package:accessibility/accessibility.dart';
        +import 'package:dartx/dartx.dart';
         import 'package:flutter/foundation.dart';
         import 'package:swift_control/bluetooth/devices/base_device.dart';
         import 'package:swift_control/bluetooth/messages/play_notification.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
         import '../../main.dart';
         import '../ble.dart';
        @@ -19,25 +21,24 @@ class ZwiftPlay extends BaseDevice {
             final PlayNotification clickNotification = PlayNotification(message);
             if (_lastControllerNotification == null || _lastControllerNotification != clickNotification) {
               _lastControllerNotification = clickNotification;
        -      actionStreamInternal.add(clickNotification);
         
        -      if ((clickNotification.rightPad && clickNotification.buttonShift) ||
        -          (clickNotification.rightPad && clickNotification.analogLR.abs() == 100)) {
        +      if (clickNotification.buttonsClicked.isNotEmpty) {
        +        actionStreamInternal.add(clickNotification);
        +      }
        +
        +      if (clickNotification.buttonsClicked.containsAny([ZwiftButton.sideButtonRight, ZwiftButton.paddleRight])) {
                 actionHandler.increaseGear();
        -      } else if ((!clickNotification.rightPad && clickNotification.buttonShift) ||
        -          (!clickNotification.rightPad && clickNotification.analogLR.abs() == 100)) {
        +      } else if (clickNotification.buttonsClicked.containsAny([ZwiftButton.sideButtonLeft, ZwiftButton.paddleLeft])) {
                 actionHandler.decreaseGear();
               }
        -      if (clickNotification.rightPad) {
        -        if (clickNotification.buttonA) {
        -          actionHandler.controlMedia(MediaAction.next);
        -        } else if (clickNotification.buttonY) {
        -          actionHandler.controlMedia(MediaAction.volumeUp);
        -        } else if (clickNotification.buttonB) {
        -          actionHandler.controlMedia(MediaAction.volumeDown);
        -        } else if (clickNotification.buttonZ) {
        -          actionHandler.controlMedia(MediaAction.playPause);
        -        }
        +      if (clickNotification.buttonsClicked.contains(ZwiftButton.navigationLeft)) {
        +        actionHandler.controlMedia(MediaAction.next);
        +      } else if (clickNotification.buttonsClicked.contains(ZwiftButton.navigationUp)) {
        +        actionHandler.controlMedia(MediaAction.volumeUp);
        +      } else if (clickNotification.buttonsClicked.contains(ZwiftButton.navigationDown)) {
        +        actionHandler.controlMedia(MediaAction.volumeDown);
        +      } else if (clickNotification.buttonsClicked.contains(ZwiftButton.navigationRight)) {
        +        actionHandler.controlMedia(MediaAction.playPause);
               }
             }
           }
        diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart
        index 43a1634c2..975e3ab68 100644
        --- a/lib/bluetooth/devices/zwift_ride.dart
        +++ b/lib/bluetooth/devices/zwift_ride.dart
        @@ -1,8 +1,10 @@
         import 'dart:typed_data';
         
        +import 'package:dartx/dartx.dart';
         import 'package:swift_control/bluetooth/devices/base_device.dart';
         import 'package:swift_control/bluetooth/messages/ride_notification.dart';
         import 'package:swift_control/main.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
         import '../ble.dart';
         
        @@ -22,19 +24,26 @@ class ZwiftRide extends BaseDevice {
             final RideNotification clickNotification = RideNotification(message);
             if (_lastControllerNotification == null || _lastControllerNotification != clickNotification) {
               _lastControllerNotification = clickNotification;
        -      actionStreamInternal.add(clickNotification);
        +      if (clickNotification.buttonsClicked.isNotEmpty) {
        +        actionStreamInternal.add(clickNotification);
        +      }
         
        -      if (clickNotification.buttonShiftDownLeft ||
        -          clickNotification.buttonShiftUpLeft ||
        -          clickNotification.buttonOnOffLeft ||
        -          clickNotification.buttonPowerUpLeft) {
        +      if (clickNotification.buttonsClicked.containsAny([
        +        ZwiftButton.shiftDownLeft,
        +        ZwiftButton.shiftUpLeft,
        +        ZwiftButton.onOffLeft,
        +        ZwiftButton.powerUpLeft,
        +      ])) {
                 actionHandler.decreaseGear();
        -      } else if (clickNotification.buttonShiftUpRight ||
        -          clickNotification.buttonShiftDownRight ||
        -          clickNotification.buttonOnOffRight ||
        -          clickNotification.buttonPowerUpRight) {
        +      } else if (clickNotification.buttonsClicked.containsAny([
        +        ZwiftButton.shiftUpRight,
        +        ZwiftButton.shiftDownRight,
        +        ZwiftButton.onOffRight,
        +        ZwiftButton.powerUpRight,
        +      ])) {
                 actionHandler.increaseGear();
               }
        +
               /*if (clickNotification.buttonA) {
                 actionHandler.controlMedia(MediaAction.next);
               } else if (clickNotification.buttonY) {
        diff --git a/lib/bluetooth/messages/click_notification.dart b/lib/bluetooth/messages/click_notification.dart
        index 922c08951..f6ee8a9ec 100644
        --- a/lib/bluetooth/messages/click_notification.dart
        +++ b/lib/bluetooth/messages/click_notification.dart
        @@ -1,21 +1,25 @@
         import 'dart:typed_data';
         
        +import 'package:dartx/dartx.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
        +
         import '../protocol/zwift.pb.dart';
         import 'notification.dart';
         
         class ClickNotification extends BaseNotification {
        -  bool buttonUp = false;
        -  bool buttonDown = false;
        +  late List buttonsClicked;
         
           ClickNotification(Uint8List message) {
             final status = ClickKeyPadStatus.fromBuffer(message);
        -    buttonUp = status.buttonPlus == PlayButtonStatus.ON;
        -    buttonDown = status.buttonMinus == PlayButtonStatus.ON;
        +    buttonsClicked = [
        +      if (status.buttonPlus == PlayButtonStatus.ON) ZwiftButton.shiftUpLeft,
        +      if (status.buttonMinus == PlayButtonStatus.ON) ZwiftButton.shiftDownLeft,
        +    ];
           }
         
           @override
           String toString() {
        -    return 'Click: {buttonUp: $buttonUp, buttonDown: $buttonDown}';
        +    return 'Buttons: ${buttonsClicked.joinToString(transform: (e) => e.name)}';
           }
         
           @override
        @@ -23,9 +27,8 @@ class ClickNotification extends BaseNotification {
               identical(this, other) ||
               other is ClickNotification &&
                   runtimeType == other.runtimeType &&
        -          buttonUp == other.buttonUp &&
        -          buttonDown == other.buttonDown;
        +          buttonsClicked.contentEquals(other.buttonsClicked);
         
           @override
        -  int get hashCode => buttonUp.hashCode ^ buttonDown.hashCode;
        +  int get hashCode => buttonsClicked.hashCode;
         }
        diff --git a/lib/bluetooth/messages/play_notification.dart b/lib/bluetooth/messages/play_notification.dart
        index 56bae384a..4ccf75f37 100644
        --- a/lib/bluetooth/messages/play_notification.dart
        +++ b/lib/bluetooth/messages/play_notification.dart
        @@ -1,38 +1,41 @@
         import 'dart:typed_data';
         
        +import 'package:dartx/dartx.dart';
         import 'package:swift_control/bluetooth/messages/notification.dart';
         import 'package:swift_control/bluetooth/protocol/zwift.pb.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
         class PlayNotification extends BaseNotification {
        -  late bool rightPad, buttonY, buttonZ, buttonA, buttonB, buttonOn, buttonShift;
        -  late int analogLR, analogUD;
        +  late List buttonsClicked;
         
           PlayNotification(Uint8List message) {
             final status = PlayKeyPadStatus.fromBuffer(message);
         
        -    rightPad = status.rightPad == PlayButtonStatus.ON;
        -    buttonY = status.buttonYUp == PlayButtonStatus.ON;
        -    buttonZ = status.buttonZLeft == PlayButtonStatus.ON;
        -    buttonA = status.buttonARight == PlayButtonStatus.ON;
        -    buttonB = status.buttonBDown == PlayButtonStatus.ON;
        -    buttonOn = status.buttonOn == PlayButtonStatus.ON;
        -    buttonShift = status.buttonShift == PlayButtonStatus.ON;
        -    analogLR = status.analogLR;
        -    analogUD = status.analogUD;
        +    buttonsClicked = [
        +      if (status.rightPad == PlayButtonStatus.ON) ...[
        +        if (status.buttonYUp == PlayButtonStatus.ON) ZwiftButton.y,
        +        if (status.buttonZLeft == PlayButtonStatus.ON) ZwiftButton.z,
        +        if (status.buttonARight == PlayButtonStatus.ON) ZwiftButton.a,
        +        if (status.buttonBDown == PlayButtonStatus.ON) ZwiftButton.b,
        +        if (status.buttonOn == PlayButtonStatus.ON) ZwiftButton.onOffRight,
        +        if (status.buttonShift == PlayButtonStatus.ON) ZwiftButton.sideButtonRight,
        +        if (status.analogLR.abs() == 100) ZwiftButton.paddleRight,
        +      ],
        +      if (status.rightPad == PlayButtonStatus.OFF) ...[
        +        if (status.buttonYUp == PlayButtonStatus.ON) ZwiftButton.navigationUp,
        +        if (status.buttonZLeft == PlayButtonStatus.ON) ZwiftButton.navigationLeft,
        +        if (status.buttonARight == PlayButtonStatus.ON) ZwiftButton.navigationRight,
        +        if (status.buttonBDown == PlayButtonStatus.ON) ZwiftButton.navigationDown,
        +        if (status.buttonOn == PlayButtonStatus.ON) ZwiftButton.onOffLeft,
        +        if (status.buttonShift == PlayButtonStatus.ON) ZwiftButton.sideButtonLeft,
        +        if (status.analogLR.abs() == 100) ZwiftButton.paddleLeft,
        +      ],
        +    ];
           }
         
           @override
           String toString() {
        -    final allTrueParameters = [
        -      //if (rightPad) 'rightPad',
        -      if (buttonY) 'buttonY',
        -      if (buttonZ) 'buttonZ',
        -      if (buttonA) 'buttonA',
        -      if (buttonB) 'buttonB',
        -      if (buttonOn) 'buttonOn',
        -      if (buttonShift) 'buttonShift',
        -    ];
        -    return '${rightPad ? 'Right' : 'Left'}: {$allTrueParameters, analogLR: $analogLR, analogUD: $analogUD}';
        +    return 'Buttons: ${buttonsClicked.joinToString(transform: (e) => e.name)}';
           }
         
           @override
        @@ -40,25 +43,8 @@ class PlayNotification extends BaseNotification {
               identical(this, other) ||
               other is PlayNotification &&
                   runtimeType == other.runtimeType &&
        -          rightPad == other.rightPad &&
        -          buttonY == other.buttonY &&
        -          buttonZ == other.buttonZ &&
        -          buttonA == other.buttonA &&
        -          buttonB == other.buttonB &&
        -          buttonOn == other.buttonOn &&
        -          buttonShift == other.buttonShift &&
        -          analogLR == other.analogLR &&
        -          analogUD == other.analogUD;
        +          buttonsClicked.contentEquals(other.buttonsClicked);
         
           @override
        -  int get hashCode =>
        -      rightPad.hashCode ^
        -      buttonY.hashCode ^
        -      buttonZ.hashCode ^
        -      buttonA.hashCode ^
        -      buttonB.hashCode ^
        -      buttonOn.hashCode ^
        -      buttonShift.hashCode ^
        -      analogLR.hashCode ^
        -      analogUD.hashCode;
        +  int get hashCode => buttonsClicked.hashCode;
         }
        diff --git a/lib/bluetooth/messages/ride_notification.dart b/lib/bluetooth/messages/ride_notification.dart
        index fb20c587f..89e08d8e9 100644
        --- a/lib/bluetooth/messages/ride_notification.dart
        +++ b/lib/bluetooth/messages/ride_notification.dart
        @@ -1,7 +1,9 @@
         import 'dart:typed_data';
         
        +import 'package:dartx/dartx.dart';
         import 'package:swift_control/bluetooth/messages/notification.dart';
         import 'package:swift_control/bluetooth/protocol/zwift.pb.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
         enum _RideButtonMask {
           LEFT_BTN(0x00001),
        @@ -30,67 +32,47 @@ enum _RideButtonMask {
         }
         
         class RideNotification extends BaseNotification {
        -  static const int BTN_PRESSED = 0;
        -
        -  late bool buttonLeft, buttonRight, buttonUp, buttonDown;
        -  late bool buttonA, buttonB, buttonY, buttonZ;
        -  late bool buttonShiftUpLeft, buttonShiftDownLeft;
        -  late bool buttonShiftUpRight, buttonShiftDownRight;
        -  late bool buttonPowerUpLeft, buttonPowerUpRight;
        -  late bool buttonOnOffLeft, buttonOnOffRight;
        -
        -  int analogLR = 0, analogUD = 0;
        +  late List buttonsClicked;
         
           RideNotification(Uint8List message) {
             final status = RideKeyPadStatus.fromBuffer(message);
         
        -    buttonLeft = status.buttonMap & _RideButtonMask.LEFT_BTN.mask == BTN_PRESSED;
        -    buttonRight = status.buttonMap & _RideButtonMask.RIGHT_BTN.mask == BTN_PRESSED;
        -    buttonUp = status.buttonMap & _RideButtonMask.UP_BTN.mask == BTN_PRESSED;
        -    buttonDown = status.buttonMap & _RideButtonMask.DOWN_BTN.mask == BTN_PRESSED;
        -    buttonA = status.buttonMap & _RideButtonMask.A_BTN.mask == BTN_PRESSED;
        -    buttonB = status.buttonMap & _RideButtonMask.B_BTN.mask == BTN_PRESSED;
        -    buttonY = status.buttonMap & _RideButtonMask.Y_BTN.mask == BTN_PRESSED;
        -    buttonZ = status.buttonMap & _RideButtonMask.Z_BTN.mask == BTN_PRESSED;
        -    buttonShiftUpLeft = status.buttonMap & _RideButtonMask.SHFT_UP_L_BTN.mask == BTN_PRESSED;
        -    buttonShiftDownLeft = status.buttonMap & _RideButtonMask.SHFT_DN_L_BTN.mask == BTN_PRESSED;
        -    buttonShiftUpRight = status.buttonMap & _RideButtonMask.SHFT_UP_R_BTN.mask == BTN_PRESSED;
        -    buttonShiftDownRight = status.buttonMap & _RideButtonMask.SHFT_DN_R_BTN.mask == BTN_PRESSED;
        -    buttonPowerUpLeft = status.buttonMap & _RideButtonMask.POWERUP_L_BTN.mask == BTN_PRESSED;
        -    buttonPowerUpRight = status.buttonMap & _RideButtonMask.POWERUP_R_BTN.mask == BTN_PRESSED;
        -    buttonOnOffLeft = status.buttonMap & _RideButtonMask.ONOFF_L_BTN.mask == BTN_PRESSED;
        -    buttonOnOffRight = status.buttonMap & _RideButtonMask.ONOFF_R_BTN.mask == BTN_PRESSED;
        +    buttonsClicked = [
        +      if (status.buttonMap & _RideButtonMask.LEFT_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.navigationLeft,
        +      if (status.buttonMap & _RideButtonMask.RIGHT_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.navigationRight,
        +      if (status.buttonMap & _RideButtonMask.UP_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.navigationUp,
        +      if (status.buttonMap & _RideButtonMask.DOWN_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.navigationDown,
        +      if (status.buttonMap & _RideButtonMask.A_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.a,
        +      if (status.buttonMap & _RideButtonMask.B_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.b,
        +      if (status.buttonMap & _RideButtonMask.Y_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.y,
        +      if (status.buttonMap & _RideButtonMask.Z_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.z,
        +      if (status.buttonMap & _RideButtonMask.SHFT_UP_L_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.shiftUpLeft,
        +      if (status.buttonMap & _RideButtonMask.SHFT_DN_L_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.shiftDownLeft,
        +      if (status.buttonMap & _RideButtonMask.SHFT_UP_R_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.shiftUpRight,
        +      if (status.buttonMap & _RideButtonMask.SHFT_DN_R_BTN.mask == PlayButtonStatus.ON.value)
        +        ZwiftButton.shiftDownRight,
        +      if (status.buttonMap & _RideButtonMask.POWERUP_L_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.powerUpLeft,
        +      if (status.buttonMap & _RideButtonMask.POWERUP_R_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.powerUpRight,
        +      if (status.buttonMap & _RideButtonMask.ONOFF_L_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.onOffLeft,
        +      if (status.buttonMap & _RideButtonMask.ONOFF_R_BTN.mask == PlayButtonStatus.ON.value) ZwiftButton.onOffRight,
        +    ];
         
             for (final analogue in status.analogButtons.groupStatus) {
        -      if (analogue.location == RideAnalogLocation.LEFT || analogue.location == RideAnalogLocation.RIGHT) {
        -        analogLR = analogue.analogValue;
        -      } else if (analogue.location == RideAnalogLocation.DOWN || analogue.location == RideAnalogLocation.UP) {
        -        analogUD = analogue.analogValue;
        +      if (analogue.analogValue.abs() == 100) {
        +        if (analogue.location == RideAnalogLocation.LEFT) {
        +          buttonsClicked.add(ZwiftButton.paddleLeft);
        +        } else if (analogue.location == RideAnalogLocation.RIGHT) {
        +          buttonsClicked.add(ZwiftButton.paddleRight);
        +        } else if (analogue.location == RideAnalogLocation.DOWN || analogue.location == RideAnalogLocation.UP) {
        +          // TODO what is this even?
        +        }
               }
             }
           }
         
           @override
           String toString() {
        -    final allTrueParameters = [
        -      if (buttonLeft) 'buttonLeft',
        -      if (buttonRight) 'buttonRight',
        -      if (buttonUp) 'buttonUp',
        -      if (buttonDown) 'buttonDown',
        -      if (buttonA) 'buttonA',
        -      if (buttonB) 'buttonB',
        -      if (buttonY) 'buttonY',
        -      if (buttonZ) 'buttonZ',
        -      if (buttonShiftUpLeft) 'buttonShiftUpLeft',
        -      if (buttonShiftDownLeft) 'buttonShiftDownLeft',
        -      if (buttonShiftUpRight) 'buttonShiftUpRight',
        -      if (buttonShiftDownRight) 'buttonShiftDownRight',
        -      if (buttonPowerUpLeft) 'buttonPowerUpLeft',
        -      if (buttonPowerUpRight) 'buttonPowerUpRight',
        -      if (buttonOnOffLeft) 'buttonOnOffLeft',
        -      if (buttonOnOffRight) 'buttonOnOffRight',
        -    ];
        -    return '{$allTrueParameters, analogLR: $analogLR, analogUD: $analogUD}';
        +    return 'Buttons: ${buttonsClicked.joinToString(transform: (e) => e.name)}';
           }
         
           @override
        @@ -98,43 +80,8 @@ class RideNotification extends BaseNotification {
               identical(this, other) ||
               other is RideNotification &&
                   runtimeType == other.runtimeType &&
        -          buttonLeft == other.buttonLeft &&
        -          buttonRight == other.buttonRight &&
        -          buttonUp == other.buttonUp &&
        -          buttonDown == other.buttonDown &&
        -          buttonA == other.buttonA &&
        -          buttonB == other.buttonB &&
        -          buttonY == other.buttonY &&
        -          buttonZ == other.buttonZ &&
        -          buttonShiftUpLeft == other.buttonShiftUpLeft &&
        -          buttonShiftDownLeft == other.buttonShiftDownLeft &&
        -          buttonShiftUpRight == other.buttonShiftUpRight &&
        -          buttonShiftDownRight == other.buttonShiftDownRight &&
        -          buttonPowerUpLeft == other.buttonPowerUpLeft &&
        -          buttonPowerUpRight == other.buttonPowerUpRight &&
        -          buttonOnOffLeft == other.buttonOnOffLeft &&
        -          buttonOnOffRight == other.buttonOnOffRight &&
        -          analogLR == other.analogLR &&
        -          analogUD == other.analogUD;
        +          buttonsClicked.contentEquals(other.buttonsClicked);
         
           @override
        -  int get hashCode =>
        -      buttonLeft.hashCode ^
        -      buttonRight.hashCode ^
        -      buttonUp.hashCode ^
        -      buttonDown.hashCode ^
        -      buttonA.hashCode ^
        -      buttonB.hashCode ^
        -      buttonY.hashCode ^
        -      buttonZ.hashCode ^
        -      buttonShiftUpLeft.hashCode ^
        -      buttonShiftDownLeft.hashCode ^
        -      buttonShiftUpRight.hashCode ^
        -      buttonShiftDownRight.hashCode ^
        -      buttonPowerUpLeft.hashCode ^
        -      buttonPowerUpRight.hashCode ^
        -      buttonOnOffLeft.hashCode ^
        -      buttonOnOffRight.hashCode ^
        -      analogLR.hashCode ^
        -      analogUD.hashCode;
        +  int get hashCode => buttonsClicked.hashCode;
         }
        diff --git a/lib/pages/scan.dart b/lib/pages/scan.dart
        index c21997792..11ef3e0b3 100644
        --- a/lib/pages/scan.dart
        +++ b/lib/pages/scan.dart
        @@ -72,7 +72,7 @@ class _ScanWidgetState extends State {
                       }
                     },
                   ),
        -          if (kDebugMode) LogViewer(),
        +          if (kDebugMode) SizedBox(height: 500, child: LogViewer()),
                 ],
               ),
             );
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index c1c406fed..aae43cc02 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -96,7 +96,7 @@ class _TouchAreaSetupPageState extends State {
               body: Stack(
                 children: [
                   if (_backgroundImage != null)
        -            Positioned.fill(child: Opacity(opacity: 0.5, child: Image.file(_backgroundImage!, fit: BoxFit.cover)))
        +            Positioned.fill(child: Opacity(opacity: 0.5, child: Image.file(_backgroundImage!, fit: BoxFit.contain)))
                   else
                     Center(
                       child: Padding(
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index d7fd0e292..8500e8c4b 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -1,3 +1,5 @@
        +import 'package:accessibility/accessibility.dart';
        +import 'package:flutter/services.dart';
         import 'package:keypress_simulator/keypress_simulator.dart';
         import 'package:swift_control/utils/actions/base_actions.dart';
         
        @@ -31,4 +33,16 @@ class DesktopActions extends BaseActions {
             await keyPressSimulator.simulateKeyDown(_keymap!.increase?.physicalKey);
             await keyPressSimulator.simulateKeyUp(_keymap!.increase?.physicalKey);
           }
        +
        +  @override
        +  Future controlMedia(MediaAction action) async {
        +    final key = switch (action) {
        +      MediaAction.playPause => PhysicalKeyboardKey.mediaPlayPause,
        +      MediaAction.next => PhysicalKeyboardKey.mediaTrackNext,
        +      MediaAction.volumeUp => PhysicalKeyboardKey.audioVolumeUp,
        +      MediaAction.volumeDown => PhysicalKeyboardKey.audioVolumeDown,
        +    };
        +    await keyPressSimulator.simulateKeyDown(key);
        +    await keyPressSimulator.simulateKeyUp(key);
        +  }
         }
        diff --git a/lib/utils/keymap/buttons.dart b/lib/utils/keymap/buttons.dart
        new file mode 100644
        index 000000000..ef7cd7f3d
        --- /dev/null
        +++ b/lib/utils/keymap/buttons.dart
        @@ -0,0 +1,31 @@
        +enum InGameAction { gearUp, gearDown }
        +
        +enum ZwiftButton {
        +  // left controller
        +  navigationUp,
        +  navigationDown,
        +  navigationLeft,
        +  navigationRight,
        +  onOffLeft,
        +  sideButtonLeft,
        +  paddleLeft,
        +
        +  // zwift ride only
        +  shiftUpLeft,
        +  shiftDownLeft,
        +  powerUpLeft,
        +
        +  // right controller
        +  a,
        +  b,
        +  z,
        +  y,
        +  onOffRight,
        +  sideButtonRight,
        +  paddleRight,
        +
        +  // zwift ride only
        +  shiftUpRight,
        +  shiftDownRight,
        +  powerUpRight,
        +}
        diff --git a/lib/utils/requirements/android.dart b/lib/utils/requirements/android.dart
        index 2255e0384..084295196 100644
        --- a/lib/utils/requirements/android.dart
        +++ b/lib/utils/requirements/android.dart
        @@ -50,7 +50,7 @@ class BluetoothConnectRequirement extends PlatformRequirement {
         }
         
         class NotificationRequirement extends PlatformRequirement {
        -  NotificationRequirement() : super('Allow adding persistent Notification');
        +  NotificationRequirement() : super('Allow adding persistent Notification (keeps app alive)');
         
           @override
           Future call() async {
        diff --git a/lib/widgets/logviewer.dart b/lib/widgets/logviewer.dart
        index 262a04ae5..c9e221673 100644
        --- a/lib/widgets/logviewer.dart
        +++ b/lib/widgets/logviewer.dart
        @@ -14,9 +14,10 @@ class LogViewer extends StatefulWidget {
         }
         
         class _LogviewerState extends State {
        -  List _actions = [];
        +  List<({DateTime date, String entry})> _actions = [];
         
           late StreamSubscription _actionSubscription;
        +  final ScrollController _scrollController = ScrollController();
         
           @override
           void initState() {
        @@ -25,9 +26,15 @@ class _LogviewerState extends State {
             _actionSubscription = connection.actionStream.listen((data) {
               if (mounted) {
                 setState(() {
        -          _actions.add('${DateTime.now().toString().split(" ").last}: $data');
        -          _actions = _actions.takeLast(30).toList();
        +          _actions.add((date: DateTime.now(), entry: data.toString()));
        +          _actions = _actions.takeLast(60).toList();
                 });
        +        // scroll to the bottom
        +        _scrollController.animateTo(
        +          _scrollController.position.maxScrollExtent,
        +          duration: const Duration(milliseconds: 60),
        +          curve: Curves.easeInOut,
        +        );
               }
             });
           }
        @@ -35,6 +42,7 @@ class _LogviewerState extends State {
           @override
           void dispose() {
             _actionSubscription.cancel();
        +    _scrollController.dispose();
             super.dispose();
           }
         
        @@ -43,12 +51,27 @@ class _LogviewerState extends State {
             return Stack(
               children: [
                 ListView(
        -          shrinkWrap: true,
        +          controller: _scrollController,
                   children:
                       _actions
                           .map(
        -                    (action) =>
        -                        Text(action, style: TextStyle(fontSize: 12, fontFeatures: [FontFeature.tabularFigures()])),
        +                    (action) => Row(
        +                      spacing: 8,
        +                      children: [
        +                        Text(
        +                          action.date.toString().split(" ").last,
        +                          style: TextStyle(fontSize: 12, fontFeatures: [FontFeature.tabularFigures()]),
        +                        ),
        +                        Text(
        +                          action.entry,
        +                          style: TextStyle(
        +                            fontSize: 12,
        +                            fontFeatures: [FontFeature.tabularFigures()],
        +                            fontWeight: FontWeight.bold,
        +                          ),
        +                        ),
        +                      ],
        +                    ),
                           )
                           .toList(),
                 ),
        
        From 06b322e575070eab70b0320261a46a583e63d4ee Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 5 Apr 2025 13:53:23 +0200
        Subject: [PATCH 090/636] Windows & macOS: custom keyboard mapping for all
         actions
        
        ---
         lib/bluetooth/devices/base_device.dart  |   7 +-
         lib/bluetooth/devices/zwift_click.dart  |   9 +-
         lib/bluetooth/devices/zwift_play.dart   |  20 +--
         lib/bluetooth/devices/zwift_ride.dart   |  30 +---
         lib/pages/device.dart                   |  35 ++++-
         lib/pages/requirements.dart             |   3 +-
         lib/utils/actions/android.dart          |  51 ++-----
         lib/utils/actions/base_actions.dart     |  24 ++--
         lib/utils/actions/desktop.dart          |  43 ++----
         lib/utils/keymap/buttons.dart           | 175 +++++++++++++++++++++---
         lib/utils/keymap/keymap.dart            |  98 ++++++-------
         lib/utils/requirements/multi.dart       |  47 -------
         lib/utils/requirements/platform.dart    |   4 +-
         lib/utils/settings/settings.dart        |  14 +-
         lib/utils/single_line_exception.dart    |  10 ++
         lib/widgets/custom_keymap_selector.dart | 164 +++++++++++++++-------
         lib/widgets/logviewer.dart              |  49 +++----
         lib/widgets/menu.dart                   |  25 ++--
         18 files changed, 444 insertions(+), 364 deletions(-)
         create mode 100644 lib/utils/single_line_exception.dart
        
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index ee493babc..c5e791a9f 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -9,6 +9,7 @@ import 'package:swift_control/bluetooth/devices/zwift_play.dart';
         import 'package:swift_control/bluetooth/devices/zwift_ride.dart';
         import 'package:swift_control/utils/crypto/local_key_provider.dart';
         import 'package:swift_control/utils/crypto/zap_crypto.dart';
        +import 'package:swift_control/utils/single_line_exception.dart';
         import 'package:universal_ble/universal_ble.dart';
         
         import '../../utils/crypto/encryption_utils.dart';
        @@ -176,7 +177,11 @@ abstract class BaseDevice {
             } catch (e, stackTrace) {
               print("Error processing data: $e");
               print("Stack Trace: $stackTrace");
        -      actionStreamInternal.add(LogNotification("$e\n$stackTrace"));
        +      if (e is SingleLineException) {
        +        actionStreamInternal.add(LogNotification(e.message));
        +      } else {
        +        actionStreamInternal.add(LogNotification("$e\n$stackTrace"));
        +      }
             }
           }
         
        diff --git a/lib/bluetooth/devices/zwift_click.dart b/lib/bluetooth/devices/zwift_click.dart
        index 265e47859..bd4853616 100644
        --- a/lib/bluetooth/devices/zwift_click.dart
        +++ b/lib/bluetooth/devices/zwift_click.dart
        @@ -1,7 +1,6 @@
         import 'package:flutter/foundation.dart';
         import 'package:swift_control/bluetooth/devices/base_device.dart';
         import 'package:swift_control/main.dart';
        -import 'package:swift_control/utils/keymap/buttons.dart';
         
         import '../messages/click_notification.dart';
         
        @@ -19,10 +18,10 @@ class ZwiftClick extends BaseDevice {
                 actionStreamInternal.add(clickNotification);
               }
         
        -      if (clickNotification.buttonsClicked.contains(ZwiftButton.shiftUpLeft)) {
        -        actionHandler.increaseGear();
        -      } else if (clickNotification.buttonsClicked.contains(ZwiftButton.shiftDownLeft)) {
        -        actionHandler.decreaseGear();
        +      final buttons = clickNotification.buttonsClicked;
        +
        +      for (final action in buttons) {
        +        actionHandler.performAction(action);
               }
             }
           }
        diff --git a/lib/bluetooth/devices/zwift_play.dart b/lib/bluetooth/devices/zwift_play.dart
        index d9ee274c2..d76507b2e 100644
        --- a/lib/bluetooth/devices/zwift_play.dart
        +++ b/lib/bluetooth/devices/zwift_play.dart
        @@ -1,9 +1,6 @@
        -import 'package:accessibility/accessibility.dart';
        -import 'package:dartx/dartx.dart';
         import 'package:flutter/foundation.dart';
         import 'package:swift_control/bluetooth/devices/base_device.dart';
         import 'package:swift_control/bluetooth/messages/play_notification.dart';
        -import 'package:swift_control/utils/keymap/buttons.dart';
         
         import '../../main.dart';
         import '../ble.dart';
        @@ -26,19 +23,10 @@ class ZwiftPlay extends BaseDevice {
                 actionStreamInternal.add(clickNotification);
               }
         
        -      if (clickNotification.buttonsClicked.containsAny([ZwiftButton.sideButtonRight, ZwiftButton.paddleRight])) {
        -        actionHandler.increaseGear();
        -      } else if (clickNotification.buttonsClicked.containsAny([ZwiftButton.sideButtonLeft, ZwiftButton.paddleLeft])) {
        -        actionHandler.decreaseGear();
        -      }
        -      if (clickNotification.buttonsClicked.contains(ZwiftButton.navigationLeft)) {
        -        actionHandler.controlMedia(MediaAction.next);
        -      } else if (clickNotification.buttonsClicked.contains(ZwiftButton.navigationUp)) {
        -        actionHandler.controlMedia(MediaAction.volumeUp);
        -      } else if (clickNotification.buttonsClicked.contains(ZwiftButton.navigationDown)) {
        -        actionHandler.controlMedia(MediaAction.volumeDown);
        -      } else if (clickNotification.buttonsClicked.contains(ZwiftButton.navigationRight)) {
        -        actionHandler.controlMedia(MediaAction.playPause);
        +      final buttons = clickNotification.buttonsClicked;
        +
        +      for (final action in buttons) {
        +        actionHandler.performAction(action);
               }
             }
           }
        diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart
        index 975e3ab68..e4efc1ae7 100644
        --- a/lib/bluetooth/devices/zwift_ride.dart
        +++ b/lib/bluetooth/devices/zwift_ride.dart
        @@ -1,10 +1,8 @@
         import 'dart:typed_data';
         
        -import 'package:dartx/dartx.dart';
         import 'package:swift_control/bluetooth/devices/base_device.dart';
         import 'package:swift_control/bluetooth/messages/ride_notification.dart';
         import 'package:swift_control/main.dart';
        -import 'package:swift_control/utils/keymap/buttons.dart';
         
         import '../ble.dart';
         
        @@ -28,31 +26,11 @@ class ZwiftRide extends BaseDevice {
                 actionStreamInternal.add(clickNotification);
               }
         
        -      if (clickNotification.buttonsClicked.containsAny([
        -        ZwiftButton.shiftDownLeft,
        -        ZwiftButton.shiftUpLeft,
        -        ZwiftButton.onOffLeft,
        -        ZwiftButton.powerUpLeft,
        -      ])) {
        -        actionHandler.decreaseGear();
        -      } else if (clickNotification.buttonsClicked.containsAny([
        -        ZwiftButton.shiftUpRight,
        -        ZwiftButton.shiftDownRight,
        -        ZwiftButton.onOffRight,
        -        ZwiftButton.powerUpRight,
        -      ])) {
        -        actionHandler.increaseGear();
        -      }
        +      final buttons = clickNotification.buttonsClicked;
         
        -      /*if (clickNotification.buttonA) {
        -        actionHandler.controlMedia(MediaAction.next);
        -      } else if (clickNotification.buttonY) {
        -        actionHandler.controlMedia(MediaAction.volumeUp);
        -      } else if (clickNotification.buttonB) {
        -        actionHandler.controlMedia(MediaAction.volumeDown);
        -      } else if (clickNotification.buttonZ) {
        -        actionHandler.controlMedia(MediaAction.playPause);
        -      }*/
        +      for (final action in buttons) {
        +        actionHandler.performAction(action);
        +      }
             }
           }
         }
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index e49d60684..5425b54c5 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -6,6 +6,8 @@ import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/pages/touch_area.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
        +import 'package:swift_control/widgets/custom_keymap_selector.dart';
         import 'package:swift_control/widgets/logviewer.dart';
         import 'package:swift_control/widgets/title.dart';
         
        @@ -21,6 +23,7 @@ class DevicePage extends StatefulWidget {
         
         class _DevicePageState extends State {
           late StreamSubscription _connectionStateSubscription;
        +  final controller = TextEditingController(text: actionHandler.supportedApp?.name);
         
           @override
           void initState() {
        @@ -34,6 +37,7 @@ class _DevicePageState extends State {
           @override
           void dispose() {
             _connectionStateSubscription.cancel();
        +    controller.dispose();
             super.dispose();
           }
         
        @@ -65,7 +69,7 @@ class _DevicePageState extends State {
                           })}',
                         ),
                         Divider(color: Theme.of(context).colorScheme.primary, height: 30),
        -                if (!kIsWeb && (Platform.isAndroid || kDebugMode)) ...[
        +                if (!kIsWeb && (Platform.isAndroid || kDebugMode))
                           ElevatedButton(
                             onPressed: () {
                               Navigator.of(context).push(
        @@ -93,7 +97,34 @@ class _DevicePageState extends State {
                             },
                             child: Text('Customize touch areas (optional)'),
                           ),
        -                ],
        +                if (!kIsWeb && (Platform.isMacOS || Platform.isWindows || kDebugMode))
        +                  DropdownMenu(
        +                    controller: controller,
        +                    dropdownMenuEntries:
        +                        SupportedApp.supportedApps
        +                            .map((app) => DropdownMenuEntry(value: app, label: app.name))
        +                            .toList(),
        +                    onSelected: (app) async {
        +                      if (app is CustomApp) {
        +                        app = await showCustomKeymapDialog(context, customApp: app);
        +                      } else if (app is! CustomApp && (!kIsWeb && Platform.isWindows)) {
        +                        ScaffoldMessenger.of(context).showSnackBar(
        +                          SnackBar(content: Text('Use a Custom Keymap if you experience any issues on Windows')),
        +                        );
        +                      }
        +                      if (app == null) {
        +                        return;
        +                      }
        +                      controller.text = app.name ?? '';
        +                      actionHandler.init(app);
        +                      if (app is CustomApp) {
        +                        settings.setCustomApp(app);
        +                      }
        +                      setState(() {});
        +                    },
        +                    initialSelection: actionHandler.supportedApp,
        +                    hintText: 'Keymap',
        +                  ),
                         Expanded(child: LogViewer()),
                       ],
                     ),
        diff --git a/lib/pages/requirements.dart b/lib/pages/requirements.dart
        index ea7cdcf07..3a023b402 100644
        --- a/lib/pages/requirements.dart
        +++ b/lib/pages/requirements.dart
        @@ -4,7 +4,6 @@ import 'package:dartx/dartx.dart';
         import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/main.dart';
        -import 'package:swift_control/utils/requirements/multi.dart';
         import 'package:swift_control/utils/requirements/platform.dart';
         import 'package:swift_control/widgets/menu.dart';
         import 'package:swift_control/widgets/title.dart';
        @@ -87,7 +86,7 @@ class _RequirementsPageState extends State with WidgetsBinding
                                 }
                                 : null,
                         onStepTapped: (step) {
        -                  if (_requirements[step].status && _requirements[step] is! KeymapRequirement) {
        +                  if (_requirements[step].status) {
                             return;
                           }
                           final hasEarlierIncomplete = _requirements.indexWhere((req) => !req.status) < step;
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index f6e6304f0..3af8c0bae 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -1,16 +1,16 @@
         import 'dart:ui';
         
         import 'package:accessibility/accessibility.dart';
        +import 'package:dartx/dartx.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/actions/base_actions.dart';
        -import 'package:swift_control/utils/keymap/keymap.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
        -class AndroidActions extends BaseActions {
        -  static const MYWHOOSH_APP_PACKAGE = "com.mywhoosh.whooshgame";
        -  static const TRAININGPEAKS_APP_PACKAGE = "com.indieVelo.client";
        -  static const validPackageNames = [MYWHOOSH_APP_PACKAGE, TRAININGPEAKS_APP_PACKAGE];
        +import '../single_line_exception.dart';
         
        +class AndroidActions extends BaseActions {
           WindowEvent? windowInfo;
        +  SupportedApp? supportedApp;
           Offset? _gearUpTouchPosition;
           Offset? _gearDownTouchPosition;
         
        @@ -21,55 +21,32 @@ class AndroidActions extends BaseActions {
           Offset? get gearDownTouchPosition => _gearDownTouchPosition;
         
           @override
        -  void init(Keymap? keymap) {
        +  void init(SupportedApp? supportedApp) {
             streamEvents().listen((windowEvent) {
        -      if (validPackageNames.contains(windowEvent.packageName)) {
        +      supportedApp = SupportedApp.supportedApps.firstOrNullWhere((e) => e.packageName == windowEvent.packageName);
        +      if (supportedApp != null) {
                 windowInfo = windowEvent;
               }
             });
           }
         
           @override
        -  void decreaseGear() {
        +  Future performAction(ZwiftButton button) async {
             if (_gearDownTouchPosition == null) {
               if (windowInfo == null) {
        -        throw Exception("Increasing gear: No window info");
        +        throw SingleLineException("Could not perform ${button.name}: No window info");
               }
        -      final point = switch (windowInfo!.packageName) {
        -        MYWHOOSH_APP_PACKAGE => Offset(windowInfo!.windowWidth * 0.80, windowInfo!.windowHeight * 0.94),
        -        TRAININGPEAKS_APP_PACKAGE => Offset(windowInfo!.windowWidth / 2 * 1.15, windowInfo!.windowHeight * 0.74),
        -        _ => throw UnimplementedError("Decreasing gear not supported for ${windowInfo!.packageName}"),
        -      };
        -
        -      accessibilityHandler.performTouch(point.dx, point.dy);
        -    } else {
        -      accessibilityHandler.performTouch(_gearDownTouchPosition!.dx, _gearDownTouchPosition!.dy);
        -    }
        -  }
        -
        -  @override
        -  void increaseGear() {
        -    if (_gearUpTouchPosition == null) {
        -      if (windowInfo == null) {
        -        throw Exception("Increasing gear: No window info");
        +      if (supportedApp == null) {
        +        throw SingleLineException("Could not perform ${button.name}: No supported app detected");
               }
        -      final point = switch (windowInfo!.packageName) {
        -        MYWHOOSH_APP_PACKAGE => Offset(windowInfo!.windowWidth * 0.98, windowInfo!.windowHeight * 0.94),
        -        TRAININGPEAKS_APP_PACKAGE => Offset(windowInfo!.windowWidth / 2 * 1.32, windowInfo!.windowHeight * 0.74),
        -        _ => throw UnimplementedError("Increasing gear not supported for ${windowInfo!.packageName}"),
        -      };
        +      final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo!);
         
               accessibilityHandler.performTouch(point.dx, point.dy);
             } else {
        -      accessibilityHandler.performTouch(_gearUpTouchPosition!.dx, _gearUpTouchPosition!.dy);
        +      accessibilityHandler.performTouch(_gearDownTouchPosition!.dx, _gearDownTouchPosition!.dy);
             }
           }
         
        -  @override
        -  void controlMedia(MediaAction action) {
        -    accessibilityHandler.controlMedia(action);
        -  }
        -
           @override
           void updateTouchPositions(Offset gearUp, Offset gearDown) {
             _gearUpTouchPosition = gearUp;
        diff --git a/lib/utils/actions/base_actions.dart b/lib/utils/actions/base_actions.dart
        index dcf6d9687..fba5d314f 100644
        --- a/lib/utils/actions/base_actions.dart
        +++ b/lib/utils/actions/base_actions.dart
        @@ -1,33 +1,25 @@
         import 'dart:ui';
         
        -import 'package:accessibility/accessibility.dart';
        -
        -import '../keymap/keymap.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
         abstract class BaseActions {
        -  Keymap? get keymap => null;
        +  SupportedApp? supportedApp;
        +
           Offset? get gearUpTouchPosition => null;
           Offset? get gearDownTouchPosition => null;
         
        -  void init(Keymap? keymap) {}
        -  void increaseGear();
        -  void decreaseGear();
        -
        -  void controlMedia(MediaAction action) {
        -    throw UnimplementedError();
        +  void init(SupportedApp? supportedApp) {
        +    this.supportedApp = supportedApp;
           }
         
        +  void performAction(ZwiftButton action);
        +
           void updateTouchPositions(Offset gearUp, Offset gearDown) {}
         }
         
         class StubActions extends BaseActions {
           @override
        -  void decreaseGear() {
        +  void performAction(ZwiftButton action) {
             print('Decrease gear');
           }
        -
        -  @override
        -  void increaseGear() {
        -    print('Increase gear');
        -  }
         }
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index 8500e8c4b..f769e77d9 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -1,47 +1,20 @@
        -import 'package:accessibility/accessibility.dart';
        -import 'package:flutter/services.dart';
         import 'package:keypress_simulator/keypress_simulator.dart';
         import 'package:swift_control/utils/actions/base_actions.dart';
        -
        -import '../keymap/keymap.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
        +import 'package:swift_control/utils/single_line_exception.dart';
         
         class DesktopActions extends BaseActions {
        -  Keymap? _keymap;
        -
        -  @override
        -  Keymap? get keymap => _keymap;
        -
           @override
        -  void init(Keymap? keymap) {
        -    _keymap = keymap;
        -  }
        -
        -  @override
        -  Future decreaseGear() async {
        -    if (keymap == null) {
        -      throw Exception('Keymap is not set');
        +  Future performAction(ZwiftButton action) async {
        +    if (supportedApp == null) {
        +      throw SingleLineException('Supported app is not set');
             }
        -    await keyPressSimulator.simulateKeyDown(_keymap!.decrease?.physicalKey);
        -    await keyPressSimulator.simulateKeyUp(_keymap!.decrease?.physicalKey);
        -  }
         
        -  @override
        -  Future increaseGear() async {
        -    if (keymap == null) {
        -      throw Exception('Keymap is not set');
        +    final key = supportedApp!.keymap.getPhysicalKey(action);
        +    if (key == null) {
        +      throw SingleLineException('Keymap entry not found for action: $action');
             }
        -    await keyPressSimulator.simulateKeyDown(_keymap!.increase?.physicalKey);
        -    await keyPressSimulator.simulateKeyUp(_keymap!.increase?.physicalKey);
        -  }
         
        -  @override
        -  Future controlMedia(MediaAction action) async {
        -    final key = switch (action) {
        -      MediaAction.playPause => PhysicalKeyboardKey.mediaPlayPause,
        -      MediaAction.next => PhysicalKeyboardKey.mediaTrackNext,
        -      MediaAction.volumeUp => PhysicalKeyboardKey.audioVolumeUp,
        -      MediaAction.volumeDown => PhysicalKeyboardKey.audioVolumeDown,
        -    };
             await keyPressSimulator.simulateKeyDown(key);
             await keyPressSimulator.simulateKeyUp(key);
           }
        diff --git a/lib/utils/keymap/buttons.dart b/lib/utils/keymap/buttons.dart
        index ef7cd7f3d..5b5861021 100644
        --- a/lib/utils/keymap/buttons.dart
        +++ b/lib/utils/keymap/buttons.dart
        @@ -1,31 +1,164 @@
        -enum InGameAction { gearUp, gearDown }
        +import 'package:accessibility/accessibility.dart';
        +import 'package:dartx/dartx.dart';
        +import 'package:flutter/services.dart';
        +
        +import '../single_line_exception.dart';
        +import 'keymap.dart';
        +
        +enum InGameAction {
        +  shiftUp,
        +  shiftDown,
        +  mediaPlayPause(defaultPhysicalKey: PhysicalKeyboardKey.mediaPlayPause),
        +  mediaNext(defaultPhysicalKey: PhysicalKeyboardKey.mediaTrackNext),
        +  mediaVolumeUp(defaultPhysicalKey: PhysicalKeyboardKey.audioVolumeUp),
        +  mediaVolumeDown(defaultPhysicalKey: PhysicalKeyboardKey.audioVolumeDown);
        +
        +  final PhysicalKeyboardKey? defaultPhysicalKey;
        +
        +  const InGameAction({this.defaultPhysicalKey});
        +}
         
         enum ZwiftButton {
           // left controller
        -  navigationUp,
        -  navigationDown,
        -  navigationLeft,
        -  navigationRight,
        -  onOffLeft,
        -  sideButtonLeft,
        -  paddleLeft,
        +  navigationUp._(InGameAction.mediaVolumeUp),
        +  navigationDown._(InGameAction.mediaVolumeDown),
        +  navigationLeft._(InGameAction.mediaPlayPause),
        +  navigationRight._(InGameAction.mediaNext),
        +  onOffLeft._(null),
        +  sideButtonLeft._(InGameAction.shiftDown),
        +  paddleLeft._(InGameAction.shiftDown),
         
           // zwift ride only
        -  shiftUpLeft,
        -  shiftDownLeft,
        -  powerUpLeft,
        +  shiftUpLeft._(InGameAction.shiftDown),
        +  shiftDownLeft._(InGameAction.shiftDown),
        +  powerUpLeft._(InGameAction.shiftDown),
         
           // right controller
        -  a,
        -  b,
        -  z,
        -  y,
        -  onOffRight,
        -  sideButtonRight,
        -  paddleRight,
        +  a._(null),
        +  b._(null),
        +  z._(null),
        +  y._(null),
        +  onOffRight._(null),
        +  sideButtonRight._(InGameAction.shiftUp),
        +  paddleRight._(InGameAction.shiftUp),
         
           // zwift ride only
        -  shiftUpRight,
        -  shiftDownRight,
        -  powerUpRight,
        +  shiftUpRight._(InGameAction.shiftUp),
        +  shiftDownRight._(InGameAction.shiftUp),
        +  powerUpRight._(InGameAction.shiftUp);
        +
        +  final InGameAction? action;
        +  const ZwiftButton._(this.action);
        +
        +  @override
        +  String toString() {
        +    return name;
        +  }
        +}
        +
        +abstract class SupportedApp {
        +  final String packageName;
        +  final String name;
        +  final Keymap keymap;
        +
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo});
        +
        +  const SupportedApp({required this.name, required this.packageName, required this.keymap});
        +
        +  static final List supportedApps = [MyWhoosh(), TrainingPeaks(), CustomApp()];
        +
        +  @override
        +  String toString() {
        +    return runtimeType.toString();
        +  }
        +}
        +
        +class MyWhoosh extends SupportedApp {
        +  MyWhoosh()
        +    : super(
        +        name: 'MyWhoosh',
        +        packageName: "com.mywhoosh.whooshgame",
        +        keymap: Keymap(
        +          keyPairs: [
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftDown).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyK,
        +              logicalKey: LogicalKeyboardKey.keyK,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftUp).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyI,
        +              logicalKey: LogicalKeyboardKey.keyI,
        +            ),
        +          ],
        +        ),
        +      );
        +
        +  @override
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +    return switch (action.action) {
        +      InGameAction.shiftUp => Offset(windowInfo.windowWidth * 0.98, windowInfo.windowHeight * 0.94),
        +      InGameAction.shiftDown => Offset(windowInfo.windowWidth * 0.80, windowInfo.windowHeight * 0.94),
        +      _ => throw SingleLineException("Unsupported action for MyWhoosh: $action"),
        +    };
        +  }
        +}
        +
        +class TrainingPeaks extends SupportedApp {
        +  TrainingPeaks()
        +    : super(name: 'IndieVelo / TrainingPeaks', packageName: "com.indieVelo.client", keymap: Keymap.custom);
        +
        +  @override
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +    return switch (action.action) {
        +      InGameAction.shiftUp => Offset(windowInfo.windowWidth / 2 * 1.32, windowInfo.windowHeight * 0.74),
        +      InGameAction.shiftDown => Offset(windowInfo.windowWidth / 2 * 1.15, windowInfo.windowHeight * 0.74),
        +      _ => throw SingleLineException("Unsupported action for IndieVelo: $action"),
        +    };
        +  }
        +}
        +
        +class CustomApp extends SupportedApp {
        +  CustomApp() : super(name: 'Custom', packageName: "custom", keymap: Keymap.custom);
        +
        +  @override
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +    return switch (action.action) {
        +      InGameAction.shiftUp => Offset(windowInfo.windowWidth / 2 * 1.32, windowInfo.windowHeight * 0.74),
        +      InGameAction.shiftDown => Offset(windowInfo.windowWidth / 2 * 1.15, windowInfo.windowHeight * 0.74),
        +      _ => throw SingleLineException("Unsupported action for IndieVelo: $action"),
        +    };
        +  }
        +
        +  List encode() {
        +    // encode to save in preferences
        +    return keymap.keyPairs.map((e) => e.encode()).toList();
        +  }
        +
        +  void decode(List data) {
        +    // decode from preferences
        +
        +    if (data.isEmpty) {
        +      return;
        +    }
        +
        +    final keyPairs = data.map((e) => KeyPair.decode(e)).whereNotNull().toList();
        +    if (keyPairs.isEmpty) {
        +      return;
        +    }
        +    keymap.keyPairs = keyPairs;
        +  }
        +
        +  void setKey(ZwiftButton zwiftButton, KeyDownEvent keyDownEvent) {
        +    // set the key for the zwift button
        +    final keyPair = keymap.getKeyPair(zwiftButton);
        +    if (keyPair != null) {
        +      keyPair.physicalKey = keyDownEvent.physicalKey;
        +      keyPair.logicalKey = keyDownEvent.logicalKey;
        +    } else {
        +      keymap.keyPairs.add(
        +        KeyPair(buttons: [zwiftButton], physicalKey: keyDownEvent.physicalKey, logicalKey: keyDownEvent.logicalKey),
        +      );
        +    }
        +  }
         }
        diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart
        index fe45afb7d..8374cd8ef 100644
        --- a/lib/utils/keymap/keymap.dart
        +++ b/lib/utils/keymap/keymap.dart
        @@ -1,77 +1,61 @@
        +import 'dart:convert';
        +
         import 'package:dartx/dartx.dart';
         import 'package:flutter/services.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
         class Keymap {
        -  static Keymap myWhoosh = Keymap(
        -    'MyWhoosh',
        -    increase: KeyPair(physicalKey: PhysicalKeyboardKey.keyK, logicalKey: LogicalKeyboardKey.keyK),
        -    decrease: KeyPair(physicalKey: PhysicalKeyboardKey.keyI, logicalKey: LogicalKeyboardKey.keyI),
        -  );
        -  static Keymap custom = Keymap('Custom', increase: null, decrease: null);
        -
        -  static List values = [myWhoosh, custom];
        +  static Keymap custom = Keymap(keyPairs: []);
         
        -  KeyPair? increase;
        -  KeyPair? decrease;
        -  final String name;
        +  List keyPairs;
         
        -  Keymap(this.name, {required this.increase, required this.decrease});
        +  Keymap({required this.keyPairs});
         
           @override
           String toString() {
        -    if (increase == null && decrease == null) {
        -      return name;
        -    }
        -    return "$name: ${increase?.logicalKey.keyLabel} + ${decrease?.logicalKey.keyLabel}";
        +    return keyPairs.toString();
           }
         
        -  List encode() {
        -    // encode to save in preferences
        -    return [
        -      name,
        -      increase?.logicalKey.keyId.toString() ?? '',
        -      increase?.physicalKey.usbHidUsage.toString() ?? '',
        -      decrease?.logicalKey.keyId.toString() ?? '',
        -      decrease?.physicalKey.usbHidUsage.toString() ?? '',
        -    ];
        +  PhysicalKeyboardKey? getPhysicalKey(ZwiftButton action) {
        +    // get the key pair by in game action
        +    return keyPairs.firstOrNullWhere((element) => element.buttons.contains(action))?.physicalKey ??
        +        action.action?.defaultPhysicalKey;
           }
         
        -  static Keymap? decode(List data) {
        -    // decode from preferences
        -
        -    if (data.length < 4) {
        -      return null;
        -    }
        -    final name = data[0];
        -    final keymap = values.firstOrNullWhere((element) => element.name == name);
        +  KeyPair? getKeyPair(ZwiftButton action) {
        +    // get the key pair by in game action
        +    return keyPairs.firstOrNullWhere((element) => element.buttons.contains(action));
        +  }
        +}
         
        -    if (keymap == null) {
        -      return null;
        -    }
        +class KeyPair {
        +  final List buttons;
        +  PhysicalKeyboardKey physicalKey;
        +  LogicalKeyboardKey logicalKey;
         
        -    if (keymap.name != custom.name) {
        -      return keymap;
        -    }
        +  KeyPair({required this.buttons, required this.physicalKey, required this.logicalKey});
        +  String encode() {
        +    // encode to save in preferences
        +    return jsonEncode({
        +      'actions': buttons.map((e) => e.name).toList(),
        +      'logicalKey': logicalKey.keyId.toString() ?? '',
        +      'physicalKey': physicalKey.usbHidUsage.toString() ?? '',
        +    });
        +  }
         
        -    if (data.sublist(1).all((e) => e.isNotEmpty)) {
        -      keymap.increase = KeyPair(
        -        physicalKey: PhysicalKeyboardKey(int.parse(data[2])),
        -        logicalKey: LogicalKeyboardKey(int.parse(data[1])),
        -      );
        -      keymap.decrease = KeyPair(
        -        physicalKey: PhysicalKeyboardKey(int.parse(data[4])),
        -        logicalKey: LogicalKeyboardKey(int.parse(data[3])),
        -      );
        -      return keymap;
        -    } else {
        +  static KeyPair? decode(String data) {
        +    // decode from preferences
        +    final decoded = jsonDecode(data);
        +    if (decoded['actions'] == null || decoded['logicalKey'] == null || decoded['physicalKey'] == null) {
               return null;
             }
        +    return KeyPair(
        +      buttons:
        +          decoded['actions']
        +              .map((e) => ZwiftButton.values.firstWhere((element) => element.name == e))
        +              .toList(),
        +      logicalKey: LogicalKeyboardKey(int.parse(decoded['logicalKey'])),
        +      physicalKey: PhysicalKeyboardKey(int.parse(decoded['physicalKey'])),
        +    );
           }
         }
        -
        -class KeyPair {
        -  final PhysicalKeyboardKey physicalKey;
        -  final LogicalKeyboardKey logicalKey;
        -
        -  KeyPair({required this.physicalKey, required this.logicalKey});
        -}
        diff --git a/lib/utils/requirements/multi.dart b/lib/utils/requirements/multi.dart
        index b347f7340..f627de017 100644
        --- a/lib/utils/requirements/multi.dart
        +++ b/lib/utils/requirements/multi.dart
        @@ -1,16 +1,9 @@
        -import 'dart:io';
        -
        -import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:keypress_simulator/keypress_simulator.dart';
         import 'package:swift_control/pages/scan.dart';
         import 'package:swift_control/utils/requirements/platform.dart';
        -import 'package:swift_control/widgets/custom_keymap_selector.dart';
         import 'package:universal_ble/universal_ble.dart';
         
        -import '../../main.dart';
        -import '../keymap/keymap.dart';
        -
         class KeyboardRequirement extends PlatformRequirement {
           KeyboardRequirement() : super('Keyboard access');
         
        @@ -25,46 +18,6 @@ class KeyboardRequirement extends PlatformRequirement {
           }
         }
         
        -class KeymapRequirement extends PlatformRequirement {
        -  KeymapRequirement() : super('Select your Keymap / App');
        -
        -  @override
        -  Future call() async {}
        -
        -  @override
        -  Future getStatus() async {
        -    status = actionHandler.keymap != null;
        -  }
        -
        -  @override
        -  Widget? build(BuildContext context, VoidCallback onUpdate) {
        -    final controller = TextEditingController(text: actionHandler.keymap?.name);
        -    return DropdownMenu(
        -      controller: controller,
        -      dropdownMenuEntries:
        -          Keymap.values.map((key) => DropdownMenuEntry(value: key, label: key.toString())).toList(),
        -      onSelected: (keymap) async {
        -        if (keymap!.name == Keymap.custom.name) {
        -          keymap = await showCustomKeymapDialog(context, keymap: keymap);
        -        } else if (keymap.name == Keymap.myWhoosh.name && (!kIsWeb && Platform.isWindows)) {
        -          ScaffoldMessenger.of(
        -            context,
        -          ).showSnackBar(SnackBar(content: Text('Use a Custom Keymap if you experience any issues on Windows')));
        -        }
        -        controller.text = keymap?.name ?? '';
        -        if (keymap == null) {
        -          return;
        -        }
        -        actionHandler.init(keymap);
        -        settings.setKeymap(keymap);
        -        onUpdate();
        -      },
        -      initialSelection: actionHandler.keymap,
        -      hintText: 'Keymap',
        -    );
        -  }
        -}
        -
         class BluetoothTurnedOn extends PlatformRequirement {
           BluetoothTurnedOn() : super('Bluetooth turned on');
         
        diff --git a/lib/utils/requirements/platform.dart b/lib/utils/requirements/platform.dart
        index 6c91935f8..c790e7f4c 100644
        --- a/lib/utils/requirements/platform.dart
        +++ b/lib/utils/requirements/platform.dart
        @@ -25,9 +25,9 @@ Future> getRequirements() async {
           if (kIsWeb) {
             list = [BluetoothTurnedOn(), BluetoothScanning()];
           } else if (Platform.isMacOS) {
        -    list = [BluetoothTurnedOn(), KeyboardRequirement(), KeymapRequirement(), BluetoothScanning()];
        +    list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()];
           } else if (Platform.isWindows) {
        -    list = [BluetoothTurnedOn(), KeyboardRequirement(), KeymapRequirement(), BluetoothScanning()];
        +    list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()];
           } else if (Platform.isAndroid) {
             list = [
               BluetoothTurnedOn(),
        diff --git a/lib/utils/settings/settings.dart b/lib/utils/settings/settings.dart
        index b31f790d7..fa98f7c3b 100644
        --- a/lib/utils/settings/settings.dart
        +++ b/lib/utils/settings/settings.dart
        @@ -1,9 +1,9 @@
         import 'dart:ui';
         
         import 'package:shared_preferences/shared_preferences.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
         import '../../main.dart';
        -import '../keymap/keymap.dart';
         
         class Settings {
           late final SharedPreferences _prefs;
        @@ -12,9 +12,11 @@ class Settings {
             _prefs = await SharedPreferences.getInstance();
         
             try {
        -      final keymapSetting = _prefs.getStringList("keymap");
        -      if (keymapSetting != null) {
        -        actionHandler.init(Keymap.decode(keymapSetting));
        +      final appSetting = _prefs.getStringList("customapp");
        +      if (appSetting != null) {
        +        final customApp = CustomApp();
        +        customApp.decode(appSetting);
        +        actionHandler.init(customApp);
               }
         
               final gearUpX = _prefs.getDouble("gearUpX");
        @@ -30,8 +32,8 @@ class Settings {
             }
           }
         
        -  void setKeymap(Keymap keymap) {
        -    _prefs.setStringList("keymap", keymap.encode());
        +  void setCustomApp(CustomApp app) {
        +    _prefs.setStringList("customapp", app.encode());
           }
         
           void updateTouchPositions(Offset gearUp, Offset gearDown) {
        diff --git a/lib/utils/single_line_exception.dart b/lib/utils/single_line_exception.dart
        new file mode 100644
        index 000000000..b27d7dce5
        --- /dev/null
        +++ b/lib/utils/single_line_exception.dart
        @@ -0,0 +1,10 @@
        +class SingleLineException implements Exception {
        +  final String message;
        +
        +  SingleLineException(this.message);
        +
        +  @override
        +  String toString() {
        +    return message;
        +  }
        +}
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        index 8356bec25..345c49cc7 100644
        --- a/lib/widgets/custom_keymap_selector.dart
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -1,61 +1,124 @@
        +import 'dart:async';
        +
        +import 'package:dartx/dartx.dart';
         import 'package:flutter/material.dart';
         import 'package:flutter/services.dart';
        -import 'package:swift_control/utils/keymap/keymap.dart';
        +import 'package:swift_control/bluetooth/messages/click_notification.dart';
        +import 'package:swift_control/bluetooth/messages/notification.dart';
        +import 'package:swift_control/bluetooth/messages/play_notification.dart';
        +import 'package:swift_control/bluetooth/messages/ride_notification.dart';
        +import 'package:swift_control/main.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
        -Future showCustomKeymapDialog(BuildContext context, {required Keymap keymap}) {
        -  return showDialog(
        +Future showCustomKeymapDialog(BuildContext context, {required CustomApp customApp}) {
        +  return showDialog(
             context: context,
             builder: (context) {
        -      return GearHotkeyDialog(keymap: keymap);
        +      return GearHotkeyDialog(customApp: customApp);
             },
           );
         }
         
         class GearHotkeyDialog extends StatefulWidget {
        -  final Keymap keymap;
        -  const GearHotkeyDialog({super.key, required this.keymap});
        +  final CustomApp customApp;
        +  const GearHotkeyDialog({super.key, required this.customApp});
         
           @override
           State createState() => _GearHotkeyDialogState();
         }
         
         class _GearHotkeyDialogState extends State {
        +  @override
        +  Widget build(BuildContext context) {
        +    return AlertDialog(
        +      title: Text('Set Hotkeys'),
        +      content: Column(
        +        mainAxisAlignment: MainAxisAlignment.start,
        +        children: [
        +          TextButton(
        +            onPressed: () async {
        +              await showDialog(
        +                context: context,
        +                builder: (c) => HotKeyListenerDialog(customApp: widget.customApp),
        +              );
        +              setState(() {});
        +            },
        +            child: Text('Add Key'),
        +          ),
        +          ...widget.customApp.keymap.keyPairs.map(
        +            (e) => ListTile(
        +              title: Text(e.buttons.joinToString(transform: (e) => e.name)),
        +              subtitle: Text('Currently: ${e.logicalKey.keyLabel}'),
        +              onTap: () async {
        +                await showDialog(
        +                  context: context,
        +                  builder: (c) => HotKeyListenerDialog(customApp: widget.customApp),
        +                );
        +                setState(() {});
        +              },
        +            ),
        +          ),
        +        ],
        +      ),
        +      actions: [TextButton(onPressed: () => Navigator.of(context).pop(widget.customApp), child: Text("OK"))],
        +    );
        +  }
        +}
        +
        +class HotKeyListenerDialog extends StatefulWidget {
        +  final CustomApp customApp;
        +  const HotKeyListenerDialog({super.key, required this.customApp});
        +
        +  @override
        +  State createState() => _HotKeyListenerState();
        +}
        +
        +class _HotKeyListenerState extends State {
        +  late StreamSubscription _actionSubscription;
        +
           final FocusNode _focusNode = FocusNode();
           KeyDownEvent? _pressedKey;
        -  KeyDownEvent? _gearUpHotkey;
        -  KeyDownEvent? _gearDownHotkey;
        -
        -  String _mode = 'up'; // 'up' or 'down'
        +  ZwiftButton? _pressedButton;
         
           @override
           void initState() {
             super.initState();
        +    _actionSubscription = connection.actionStream.listen((data) {
        +      if (!mounted) {
        +        return;
        +      }
        +      if (data is ClickNotification) {
        +        setState(() {
        +          _pressedButton = data.buttonsClicked.singleOrNull;
        +        });
        +      }
        +      if (data is PlayNotification) {
        +        setState(() {
        +          _pressedButton = data.buttonsClicked.singleOrNull;
        +        });
        +      }
        +      if (data is RideNotification) {
        +        setState(() {
        +          _pressedButton = data.buttonsClicked.singleOrNull;
        +        });
        +      }
        +    });
             _focusNode.requestFocus();
           }
         
        +  @override
        +  void dispose() {
        +    _actionSubscription.cancel();
        +    _focusNode.dispose();
        +    super.dispose();
        +  }
        +
           void _onKey(KeyEvent event) {
             setState(() {
               if (event is KeyDownEvent) {
                 _pressedKey = event;
               } else if (event is KeyUpEvent) {
        -        if (_pressedKey != null) {
        -          if (_mode == 'up') {
        -            _gearUpHotkey = _pressedKey;
        -            _mode = 'down';
        -          } else {
        -            _gearDownHotkey = _pressedKey;
        -            widget.keymap.increase = KeyPair(
        -              physicalKey: _gearUpHotkey!.physicalKey,
        -              logicalKey: _gearUpHotkey!.logicalKey,
        -            );
        -            widget.keymap.decrease = KeyPair(
        -              physicalKey: _gearDownHotkey!.physicalKey,
        -              logicalKey: _gearDownHotkey!.logicalKey,
        -            );
        -            Navigator.of(context).pop(widget.keymap);
        -          }
        -          _pressedKey = null;
        -        }
        +        widget.customApp.setKey(_pressedButton!, _pressedKey!);
               }
             });
           }
        @@ -67,31 +130,26 @@ class _GearHotkeyDialogState extends State {
           @override
           Widget build(BuildContext context) {
             return AlertDialog(
        -      title: Text('Set Gear Hotkeys'),
        -      content: KeyboardListener(
        -        focusNode: _focusNode,
        -        autofocus: true,
        -        onKeyEvent: _onKey,
        -        child: Column(
        -          mainAxisSize: MainAxisSize.min,
        -          children: [
        -            Text("Step 1: Press a hotkey for **Gear Up**."),
        -            Text("Step 2: Press a hotkey for **Gear Down**."),
        -            SizedBox(height: 20),
        -            ListTile(
        -              leading: Icon(Icons.arrow_upward),
        -              title: Text("Gear Up Hotkey"),
        -              subtitle: Text(_formatKey(_gearUpHotkey)),
        -            ),
        -            ListTile(
        -              leading: Icon(Icons.arrow_downward),
        -              title: Text("Gear Down Hotkey"),
        -              subtitle: Text(_formatKey(_gearDownHotkey)),
        -            ),
        -          ],
        -        ),
        -      ),
        -      actions: [TextButton(onPressed: () => Navigator.of(context).pop(null), child: Text("Cancel"))],
        +      content:
        +          _pressedButton == null
        +              ? Text('Press a button on your Zwift device')
        +              : KeyboardListener(
        +                focusNode: _focusNode,
        +                autofocus: true,
        +                onKeyEvent: _onKey,
        +                child: Column(
        +                  mainAxisAlignment: MainAxisAlignment.start,
        +                  crossAxisAlignment: CrossAxisAlignment.start,
        +                  mainAxisSize: MainAxisSize.min,
        +                  children: [
        +                    Text("Press a hotkey for ${_pressedButton.toString()}"),
        +                    SizedBox(height: 20),
        +                    Text(_formatKey(_pressedKey)),
        +                  ],
        +                ),
        +              ),
        +
        +      actions: [TextButton(onPressed: () => Navigator.of(context).pop(_pressedKey), child: Text("OK"))],
             );
           }
         }
        diff --git a/lib/widgets/logviewer.dart b/lib/widgets/logviewer.dart
        index c9e221673..4ccbf9890 100644
        --- a/lib/widgets/logviewer.dart
        +++ b/lib/widgets/logviewer.dart
        @@ -50,30 +50,33 @@ class _LogviewerState extends State {
           Widget build(BuildContext context) {
             return Stack(
               children: [
        -        ListView(
        -          controller: _scrollController,
        -          children:
        -              _actions
        -                  .map(
        -                    (action) => Row(
        -                      spacing: 8,
        -                      children: [
        -                        Text(
        -                          action.date.toString().split(" ").last,
        -                          style: TextStyle(fontSize: 12, fontFeatures: [FontFeature.tabularFigures()]),
        +        SelectionArea(
        +          child: ListView(
        +            controller: _scrollController,
        +            children:
        +                _actions
        +                    .map(
        +                      (action) => Text.rich(
        +                        TextSpan(
        +                          children: [
        +                            TextSpan(
        +                              text: action.date.toString().split(" ").last,
        +                              style: TextStyle(fontSize: 12, fontFeatures: [FontFeature.tabularFigures()]),
        +                            ),
        +                            TextSpan(
        +                              text: "  ${action.entry}",
        +                              style: TextStyle(
        +                                fontSize: 12,
        +                                fontFeatures: [FontFeature.tabularFigures()],
        +                                fontWeight: FontWeight.bold,
        +                              ),
        +                            ),
        +                          ],
                                 ),
        -                        Text(
        -                          action.entry,
        -                          style: TextStyle(
        -                            fontSize: 12,
        -                            fontFeatures: [FontFeature.tabularFigures()],
        -                            fontWeight: FontWeight.bold,
        -                          ),
        -                        ),
        -                      ],
        -                    ),
        -                  )
        -                  .toList(),
        +                      ),
        +                    )
        +                    .toList(),
        +          ),
                 ),
                 Align(
                   alignment: Alignment.topRight,
        diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart
        index f70025c9a..4667853a6 100644
        --- a/lib/widgets/menu.dart
        +++ b/lib/widgets/menu.dart
        @@ -1,6 +1,7 @@
         import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/main.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         import 'package:url_launcher/url_launcher_string.dart';
         
         List buildMenuButtons() {
        @@ -25,21 +26,15 @@ class MenuButton extends StatelessWidget {
               itemBuilder:
                   (c) => [
                     if (kDebugMode) ...[
        -              PopupMenuItem(
        -                child: Text('Gear up'),
        -                onTap: () {
        -                  Future.delayed(Duration(seconds: 2)).then((_) {
        -                    actionHandler.increaseGear();
        -                  });
        -                },
        -              ),
        -              PopupMenuItem(
        -                child: Text('Gear down'),
        -                onTap: () {
        -                  Future.delayed(Duration(seconds: 2)).then((_) {
        -                    actionHandler.decreaseGear();
        -                  });
        -                },
        +              ...ZwiftButton.values.map(
        +                (e) => PopupMenuItem(
        +                  child: Text(e.name),
        +                  onTap: () {
        +                    Future.delayed(Duration(seconds: 2)).then((_) {
        +                      actionHandler.performAction(e);
        +                    });
        +                  },
        +                ),
                       ),
                       PopupMenuItem(child: PopupMenuDivider()),
                     ],
        
        From e9f460279a2a6fafd09bbc67b5c80cb30fb38ac5 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sat, 5 Apr 2025 17:25:46 +0200
        Subject: [PATCH 091/636] Android: custom touch mapping for all actions
        
        ---
         lib/bluetooth/connection.dart           |   2 -
         lib/pages/device.dart                   |  68 +++++++-------
         lib/pages/touch_area.dart               | 117 ++++++++++++++----------
         lib/utils/actions/android.dart          |  37 ++------
         lib/utils/actions/base_actions.dart     |   7 --
         lib/utils/keymap/buttons.dart           |  14 +--
         lib/utils/keymap/keymap.dart            |  23 +++--
         lib/utils/settings/settings.dart        |  23 +----
         lib/widgets/custom_keymap_selector.dart |  10 +-
         9 files changed, 139 insertions(+), 162 deletions(-)
        
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index bb5016d24..9d8773705 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -3,7 +3,6 @@ import 'dart:io';
         
         import 'package:dartx/dartx.dart';
         import 'package:flutter/foundation.dart';
        -import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/requirements/android.dart';
         import 'package:universal_ble/universal_ble.dart';
         
        @@ -92,7 +91,6 @@ class Connection {
             hasDevices.value = devices.isNotEmpty;
             if (devices.isNotEmpty && !androidNotificationsSetup && !kIsWeb && Platform.isAndroid) {
               androidNotificationsSetup = true;
        -      actionHandler.init(null);
               NotificationRequirement.setup().catchError((e) {
                 _actionStreams.add(LogNotification(e.toString()));
               });
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index 5425b54c5..47f58bbad 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -69,35 +69,7 @@ class _DevicePageState extends State {
                           })}',
                         ),
                         Divider(color: Theme.of(context).colorScheme.primary, height: 30),
        -                if (!kIsWeb && (Platform.isAndroid || kDebugMode))
        -                  ElevatedButton(
        -                    onPressed: () {
        -                      Navigator.of(context).push(
        -                        MaterialPageRoute(
        -                          builder:
        -                              (_) => TouchAreaSetupPage(
        -                                onSave: (gearUp, gearDown) {
        -                                  final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
        -
        -                                  final convertedGearUp =
        -                                      gearUp.translate(touchAreaSize / 2, touchAreaSize / 2) * devicePixelRatio;
        -
        -                                  final convertedGearDown =
        -                                      gearDown.translate(touchAreaSize / 2, touchAreaSize / 2) * devicePixelRatio;
        -
        -                                  print("Gear Up Position: $gearUp - converted: $convertedGearUp");
        -                                  print("Gear Down Position: $gearDown - converted: $convertedGearDown");
        -
        -                                  actionHandler.updateTouchPositions(convertedGearUp, convertedGearDown);
        -                                  settings.updateTouchPositions(convertedGearUp, convertedGearDown);
        -                                },
        -                              ),
        -                        ),
        -                      );
        -                    },
        -                    child: Text('Customize touch areas (optional)'),
        -                  ),
        -                if (!kIsWeb && (Platform.isMacOS || Platform.isWindows || kDebugMode))
        +                if (!kIsWeb)
                           DropdownMenu(
                             controller: controller,
                             dropdownMenuEntries:
        @@ -105,18 +77,10 @@ class _DevicePageState extends State {
                                     .map((app) => DropdownMenuEntry(value: app, label: app.name))
                                     .toList(),
                             onSelected: (app) async {
        -                      if (app is CustomApp) {
        -                        app = await showCustomKeymapDialog(context, customApp: app);
        -                      } else if (app is! CustomApp && (!kIsWeb && Platform.isWindows)) {
        -                        ScaffoldMessenger.of(context).showSnackBar(
        -                          SnackBar(content: Text('Use a Custom Keymap if you experience any issues on Windows')),
        -                        );
        -                      }
                               if (app == null) {
                                 return;
                               }
                               controller.text = app.name ?? '';
        -                      actionHandler.init(app);
                               if (app is CustomApp) {
                                 settings.setCustomApp(app);
                               }
        @@ -125,6 +89,36 @@ class _DevicePageState extends State {
                             initialSelection: actionHandler.supportedApp,
                             hintText: 'Keymap',
                           ),
        +
        +                if (!kIsWeb &&
        +                    (Platform.isMacOS || Platform.isWindows || kDebugMode) &&
        +                    actionHandler.supportedApp is CustomApp)
        +                  ElevatedButton(
        +                    onPressed: () async {
        +                      final app = await showCustomKeymapDialog(
        +                        context,
        +                        customApp: actionHandler.supportedApp as CustomApp,
        +                      );
        +                      if (app != null) {
        +                        settings.setCustomApp(app);
        +                      }
        +                      setState(() {});
        +                    },
        +                    child: Text('Customize key map'),
        +                  ),
        +                if (!kIsWeb && (Platform.isAndroid || kDebugMode) && actionHandler.supportedApp is CustomApp)
        +                  ElevatedButton(
        +                    onPressed: () async {
        +                      final result = await Navigator.of(
        +                        context,
        +                      ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage()));
        +                      if (result == true && actionHandler.supportedApp is CustomApp) {
        +                        settings.setCustomApp(actionHandler.supportedApp as CustomApp);
        +                      }
        +                      setState(() {});
        +                    },
        +                    child: Text('Customize touch areas (optional)'),
        +                  ),
                         Expanded(child: LogViewer()),
                       ],
                     ),
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index aae43cc02..a38b2f180 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -1,16 +1,23 @@
        +import 'dart:async';
         import 'dart:io';
         
        +import 'package:dartx/dartx.dart';
         import 'package:flutter/material.dart';
         import 'package:flutter/services.dart';
         import 'package:image_picker/image_picker.dart';
         import 'package:swift_control/main.dart';
         
        +import '../bluetooth/messages/click_notification.dart';
        +import '../bluetooth/messages/notification.dart';
        +import '../bluetooth/messages/play_notification.dart';
        +import '../bluetooth/messages/ride_notification.dart';
        +import '../utils/keymap/buttons.dart';
        +import '../utils/keymap/keymap.dart';
        +
         final touchAreaSize = 32.0;
         
         class TouchAreaSetupPage extends StatefulWidget {
        -  final void Function(Offset gearUp, Offset gearDown) onSave;
        -
        -  const TouchAreaSetupPage({required this.onSave, super.key});
        +  const TouchAreaSetupPage({super.key});
         
           @override
           State createState() => _TouchAreaSetupPageState();
        @@ -18,8 +25,8 @@ class TouchAreaSetupPage extends StatefulWidget {
         
         class _TouchAreaSetupPageState extends State {
           File? _backgroundImage;
        -  Offset _gearUpPos = const Offset(200, 300);
        -  Offset _gearDownPos = const Offset(100, 300);
        +  late StreamSubscription _actionSubscription;
        +  ZwiftButton? _pressedButton;
         
           Future _pickScreenshot() async {
             final picker = ImagePicker();
        @@ -32,13 +39,13 @@ class _TouchAreaSetupPageState extends State {
           }
         
           void _saveAndClose() {
        -    widget.onSave(_gearUpPos, _gearDownPos);
        -    Navigator.of(context).pop();
        +    Navigator.of(context).pop(true);
           }
         
           @override
           void dispose() {
             super.dispose();
        +    _actionSubscription.cancel();
             // Exit full screen
             SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: SystemUiOverlay.values);
           }
        @@ -48,25 +55,33 @@ class _TouchAreaSetupPageState extends State {
             super.initState();
         
             SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky, overlays: []);
        -    WidgetsBinding.instance.addPostFrameCallback((_) {
        -      final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
        -
        -      if (actionHandler.gearUpTouchPosition != null) {
        -        _gearUpPos = actionHandler.gearUpTouchPosition!;
        -        _gearUpPos = Offset(
        -          _gearUpPos.dx / devicePixelRatio - touchAreaSize / 2,
        -          _gearUpPos.dy / devicePixelRatio - touchAreaSize / 2,
        -        );
        +    _actionSubscription = connection.actionStream.listen((data) {
        +      if (!mounted) {
        +        return;
        +      }
        +      if (data is ClickNotification) {
        +        _pressedButton = data.buttonsClicked.singleOrNull;
        +      }
        +      if (data is PlayNotification) {
        +        _pressedButton = data.buttonsClicked.singleOrNull;
        +      }
        +      if (data is RideNotification) {
        +        _pressedButton = data.buttonsClicked.singleOrNull;
               }
         
        -      if (actionHandler.gearDownTouchPosition != null) {
        -        _gearDownPos = actionHandler.gearDownTouchPosition!;
        -        _gearDownPos = Offset(
        -          _gearDownPos.dx / devicePixelRatio - touchAreaSize / 2,
        -          _gearDownPos.dy / devicePixelRatio - touchAreaSize / 2,
        -        );
        +      if (_pressedButton != null) {
        +        if (actionHandler.supportedApp!.keymap.getKeyPair(_pressedButton!) == null) {
        +          actionHandler.supportedApp!.keymap.keyPairs.add(
        +            KeyPair(
        +              touchPosition: context.size!.center(Offset.zero),
        +              buttons: [_pressedButton!],
        +              physicalKey: null,
        +              logicalKey: null,
        +            ),
        +          );
        +          setState(() {});
        +        }
               }
        -      setState(() {});
             });
           }
         
        @@ -92,6 +107,7 @@ class _TouchAreaSetupPageState extends State {
         
           @override
           Widget build(BuildContext context) {
        +    final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
             return Scaffold(
               body: Stack(
                 children: [
        @@ -108,7 +124,8 @@ class _TouchAreaSetupPageState extends State {
                             Text('''1. Create an in-game screenshot of your app (e.g. within MyWhoosh)
         2. Load the screenshot with the button below
         3. Make sure the app is in the correct orientation (portrait or landscape)
        -4. Drag the touch areas to the correct position where the gear up / down buttons are located
        +4. Press a button on your Zwift device to create a touch area
        +5. Drag the touch areas to the desired position on the screenshot
         5. Save and close this screen'''),
                             ElevatedButton(
                               onPressed: () {
        @@ -121,37 +138,39 @@ class _TouchAreaSetupPageState extends State {
                       ),
                     ),
                   // Touch Areas
        -          _buildDraggableArea(
        -            position: _gearUpPos,
        -            onPositionChanged: (newPos) => _gearUpPos = newPos,
        -            color: Colors.red,
        -            label: "Gear ↑",
        -          ),
        -          _buildDraggableArea(
        -            position: _gearDownPos,
        -            onPositionChanged: (newPos) => _gearDownPos = newPos,
        -            color: Colors.green,
        -            label: "Gear ↓",
        -          ),
        -          Positioned(
        -            top: 40,
        -            right: 170,
        -            child: ElevatedButton.icon(
        -              onPressed: () {
        -                _gearDownPos = Offset(100, 300);
        -                _gearUpPos = Offset(200, 300);
        -                setState(() {});
        +          ...?actionHandler.supportedApp?.keymap.keyPairs.map(
        +            (keyPair) => _buildDraggableArea(
        +              position: Offset(
        +                keyPair.touchPosition.dx / devicePixelRatio - touchAreaSize / 2,
        +                keyPair.touchPosition.dy / devicePixelRatio - touchAreaSize / 2,
        +              ),
        +              onPositionChanged: (newPos) {
        +                final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
        +                final converted = newPos.translate(touchAreaSize / 2, touchAreaSize / 2) * devicePixelRatio;
        +                keyPair.touchPosition = converted;
                       },
        -              label: const Icon(Icons.lock_reset),
        +              color: Colors.red,
        +              label: keyPair.buttons.joinToString(transform: (e) => e.name, separator: '\n'),
                     ),
                   ),
        +
                   Positioned(
                     top: 40,
                     right: 20,
        -            child: ElevatedButton.icon(
        -              onPressed: _saveAndClose,
        -              icon: const Icon(Icons.save),
        -              label: const Text("Save & Close"),
        +            child: Row(
        +              spacing: 8,
        +              children: [
        +                ElevatedButton.icon(
        +                  onPressed: () {
        +                    /*_gearDownPos = Offset(100, 300);
        +                _gearUpPos = Offset(200, 300);*/
        +
        +                    setState(() {});
        +                  },
        +                  label: const Icon(Icons.lock_reset),
        +                ),
        +                ElevatedButton.icon(onPressed: _saveAndClose, icon: const Icon(Icons.save), label: const Text("Save")),
        +              ],
                     ),
                   ),
                 ],
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index 3af8c0bae..a2212bcde 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -1,7 +1,4 @@
        -import 'dart:ui';
        -
         import 'package:accessibility/accessibility.dart';
        -import 'package:dartx/dartx.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/actions/base_actions.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
        @@ -10,20 +7,10 @@ import '../single_line_exception.dart';
         
         class AndroidActions extends BaseActions {
           WindowEvent? windowInfo;
        -  SupportedApp? supportedApp;
        -  Offset? _gearUpTouchPosition;
        -  Offset? _gearDownTouchPosition;
        -
        -  @override
        -  Offset? get gearUpTouchPosition => _gearUpTouchPosition;
        -
        -  @override
        -  Offset? get gearDownTouchPosition => _gearDownTouchPosition;
         
           @override
           void init(SupportedApp? supportedApp) {
             streamEvents().listen((windowEvent) {
        -      supportedApp = SupportedApp.supportedApps.firstOrNullWhere((e) => e.packageName == windowEvent.packageName);
               if (supportedApp != null) {
                 windowInfo = windowEvent;
               }
        @@ -32,24 +19,14 @@ class AndroidActions extends BaseActions {
         
           @override
           Future performAction(ZwiftButton button) async {
        -    if (_gearDownTouchPosition == null) {
        -      if (windowInfo == null) {
        -        throw SingleLineException("Could not perform ${button.name}: No window info");
        -      }
        -      if (supportedApp == null) {
        -        throw SingleLineException("Could not perform ${button.name}: No supported app detected");
        -      }
        -      final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo!);
        -
        -      accessibilityHandler.performTouch(point.dx, point.dy);
        -    } else {
        -      accessibilityHandler.performTouch(_gearDownTouchPosition!.dx, _gearDownTouchPosition!.dy);
        +    if (windowInfo == null) {
        +      throw SingleLineException("Could not perform ${button.name}: No window info");
             }
        -  }
        +    if (supportedApp == null) {
        +      throw SingleLineException("Could not perform ${button.name}: No supported app detected");
        +    }
        +    final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo!);
         
        -  @override
        -  void updateTouchPositions(Offset gearUp, Offset gearDown) {
        -    _gearUpTouchPosition = gearUp;
        -    _gearDownTouchPosition = gearDown;
        +    accessibilityHandler.performTouch(point.dx, point.dy);
           }
         }
        diff --git a/lib/utils/actions/base_actions.dart b/lib/utils/actions/base_actions.dart
        index fba5d314f..15782faba 100644
        --- a/lib/utils/actions/base_actions.dart
        +++ b/lib/utils/actions/base_actions.dart
        @@ -1,20 +1,13 @@
        -import 'dart:ui';
        -
         import 'package:swift_control/utils/keymap/buttons.dart';
         
         abstract class BaseActions {
           SupportedApp? supportedApp;
         
        -  Offset? get gearUpTouchPosition => null;
        -  Offset? get gearDownTouchPosition => null;
        -
           void init(SupportedApp? supportedApp) {
             this.supportedApp = supportedApp;
           }
         
           void performAction(ZwiftButton action);
        -
        -  void updateTouchPositions(Offset gearUp, Offset gearDown) {}
         }
         
         class StubActions extends BaseActions {
        diff --git a/lib/utils/keymap/buttons.dart b/lib/utils/keymap/buttons.dart
        index 5b5861021..37ae7f3cf 100644
        --- a/lib/utils/keymap/buttons.dart
        +++ b/lib/utils/keymap/buttons.dart
        @@ -123,19 +123,19 @@ class CustomApp extends SupportedApp {
         
           @override
           Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        -    return switch (action.action) {
        -      InGameAction.shiftUp => Offset(windowInfo.windowWidth / 2 * 1.32, windowInfo.windowHeight * 0.74),
        -      InGameAction.shiftDown => Offset(windowInfo.windowWidth / 2 * 1.15, windowInfo.windowHeight * 0.74),
        -      _ => throw SingleLineException("Unsupported action for IndieVelo: $action"),
        -    };
        +    final keyPair = keymap.getKeyPair(action);
        +    if (keyPair == null || keyPair.touchPosition == Offset.zero) {
        +      throw SingleLineException("No key pair found for action: $action");
        +    }
        +    return keyPair.touchPosition;
           }
         
        -  List encode() {
        +  List encodeKeymap() {
             // encode to save in preferences
             return keymap.keyPairs.map((e) => e.encode()).toList();
           }
         
        -  void decode(List data) {
        +  void decodeKeymap(List data) {
             // decode from preferences
         
             if (data.isEmpty) {
        diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart
        index 8374cd8ef..b91ed77e1 100644
        --- a/lib/utils/keymap/keymap.dart
        +++ b/lib/utils/keymap/keymap.dart
        @@ -30,16 +30,23 @@ class Keymap {
         
         class KeyPair {
           final List buttons;
        -  PhysicalKeyboardKey physicalKey;
        -  LogicalKeyboardKey logicalKey;
        +  PhysicalKeyboardKey? physicalKey;
        +  LogicalKeyboardKey? logicalKey;
        +  Offset touchPosition;
         
        -  KeyPair({required this.buttons, required this.physicalKey, required this.logicalKey});
        +  KeyPair({
        +    required this.buttons,
        +    required this.physicalKey,
        +    required this.logicalKey,
        +    this.touchPosition = Offset.zero,
        +  });
           String encode() {
             // encode to save in preferences
             return jsonEncode({
               'actions': buttons.map((e) => e.name).toList(),
        -      'logicalKey': logicalKey.keyId.toString() ?? '',
        -      'physicalKey': physicalKey.usbHidUsage.toString() ?? '',
        +      'logicalKey': logicalKey?.keyId.toString() ?? '0',
        +      'physicalKey': physicalKey?.usbHidUsage.toString() ?? '0',
        +      'touchPosition': {'x': touchPosition.dx, 'y': touchPosition.dy},
             });
           }
         
        @@ -54,8 +61,10 @@ class KeyPair {
                   decoded['actions']
                       .map((e) => ZwiftButton.values.firstWhere((element) => element.name == e))
                       .toList(),
        -      logicalKey: LogicalKeyboardKey(int.parse(decoded['logicalKey'])),
        -      physicalKey: PhysicalKeyboardKey(int.parse(decoded['physicalKey'])),
        +      logicalKey: int.parse(decoded['logicalKey']) != 0 ? LogicalKeyboardKey(int.parse(decoded['logicalKey'])) : null,
        +      physicalKey:
        +          int.parse(decoded['physicalKey']) != 0 ? PhysicalKeyboardKey(int.parse(decoded['physicalKey'])) : null,
        +      touchPosition: Offset(decoded['touchPosition']['x'], decoded['touchPosition']['y']),
             );
           }
         }
        diff --git a/lib/utils/settings/settings.dart b/lib/utils/settings/settings.dart
        index fa98f7c3b..2d9bc9cba 100644
        --- a/lib/utils/settings/settings.dart
        +++ b/lib/utils/settings/settings.dart
        @@ -1,5 +1,3 @@
        -import 'dart:ui';
        -
         import 'package:shared_preferences/shared_preferences.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
         
        @@ -15,31 +13,18 @@ class Settings {
               final appSetting = _prefs.getStringList("customapp");
               if (appSetting != null) {
                 final customApp = CustomApp();
        -        customApp.decode(appSetting);
        -        actionHandler.init(customApp);
        -      }
        +        customApp.decodeKeymap(appSetting);
         
        -      final gearUpX = _prefs.getDouble("gearUpX");
        -      final gearUpY = _prefs.getDouble("gearUpY");
        -      final gearDownX = _prefs.getDouble("gearDownX");
        -      final gearDownY = _prefs.getDouble("gearDownY");
        -      if (gearUpX != null && gearUpY != null && gearDownX != null && gearDownY != null) {
        -        actionHandler.updateTouchPositions(Offset(gearUpX, gearUpY), Offset(gearDownX, gearDownY));
        +        actionHandler.init(customApp);
               }
             } catch (e) {
               // couldn't decode, reset
               await _prefs.clear();
        +      rethrow;
             }
           }
         
           void setCustomApp(CustomApp app) {
        -    _prefs.setStringList("customapp", app.encode());
        -  }
        -
        -  void updateTouchPositions(Offset gearUp, Offset gearDown) {
        -    _prefs.setDouble("gearUpX", gearUp.dx);
        -    _prefs.setDouble("gearUpY", gearUp.dy);
        -    _prefs.setDouble("gearDownX", gearDown.dx);
        -    _prefs.setDouble("gearDownY", gearDown.dy);
        +    _prefs.setStringList("customapp", app.encodeKeymap());
           }
         }
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        index 345c49cc7..6bf05599d 100644
        --- a/lib/widgets/custom_keymap_selector.dart
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -39,7 +39,7 @@ class _GearHotkeyDialogState extends State {
                     onPressed: () async {
                       await showDialog(
                         context: context,
        -                builder: (c) => HotKeyListenerDialog(customApp: widget.customApp),
        +                builder: (c) => HotKeyListenerDialog(customApp: widget.customApp, button: null),
                       );
                       setState(() {});
                     },
        @@ -48,11 +48,11 @@ class _GearHotkeyDialogState extends State {
                   ...widget.customApp.keymap.keyPairs.map(
                     (e) => ListTile(
                       title: Text(e.buttons.joinToString(transform: (e) => e.name)),
        -              subtitle: Text('Currently: ${e.logicalKey.keyLabel}'),
        +              subtitle: Text('Currently: ${e.logicalKey?.keyLabel ?? 'Not set'}'),
                       onTap: () async {
                         await showDialog(
                           context: context,
        -                  builder: (c) => HotKeyListenerDialog(customApp: widget.customApp),
        +                  builder: (c) => HotKeyListenerDialog(customApp: widget.customApp, button: e.buttons.singleOrNull),
                         );
                         setState(() {});
                       },
        @@ -67,7 +67,8 @@ class _GearHotkeyDialogState extends State {
         
         class HotKeyListenerDialog extends StatefulWidget {
           final CustomApp customApp;
        -  const HotKeyListenerDialog({super.key, required this.customApp});
        +  final ZwiftButton? button;
        +  const HotKeyListenerDialog({super.key, required this.customApp, required this.button});
         
           @override
           State createState() => _HotKeyListenerState();
        @@ -83,6 +84,7 @@ class _HotKeyListenerState extends State {
           @override
           void initState() {
             super.initState();
        +    _pressedButton = widget.button;
             _actionSubscription = connection.actionStream.listen((data) {
               if (!mounted) {
                 return;
        
        From 9dec9c370c98573d1fba2cb991aab6915a80bad6 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 11:10:40 +0200
        Subject: [PATCH 092/636] Android: custom touch mapping for media actions, add
         keymap for training peaks
        
        ---
         lib/bluetooth/devices/zwift_click.dart        |   5 +-
         lib/bluetooth/devices/zwift_play.dart         |   5 +-
         lib/bluetooth/devices/zwift_ride.dart         |   5 +-
         .../messages/click_notification.dart          |   2 +-
         lib/pages/device.dart                         |  52 +++++--
         lib/pages/touch_area.dart                     |  81 ++++++++--
         lib/utils/actions/android.dart                |   4 +-
         lib/utils/actions/base_actions.dart           |   8 +-
         lib/utils/actions/desktop.dart                |  11 +-
         lib/utils/keymap/apps/custom_app.dart         |  53 +++++++
         lib/utils/keymap/apps/my_whoosh.dart          |  58 +++++++
         lib/utils/keymap/apps/supported_app.dart      |  36 +++++
         lib/utils/keymap/apps/training_peaks.dart     |  69 +++++++++
         lib/utils/keymap/buttons.dart                 | 142 ++----------------
         lib/utils/keymap/keymap.dart                  |  14 +-
         lib/utils/settings/settings.dart              |  19 ++-
         lib/widgets/custom_keymap_selector.dart       |  16 +-
         lib/widgets/logviewer.dart                    |   7 +-
         lib/widgets/title.dart                        |  12 +-
         19 files changed, 420 insertions(+), 179 deletions(-)
         create mode 100644 lib/utils/keymap/apps/custom_app.dart
         create mode 100644 lib/utils/keymap/apps/my_whoosh.dart
         create mode 100644 lib/utils/keymap/apps/supported_app.dart
         create mode 100644 lib/utils/keymap/apps/training_peaks.dart
        
        diff --git a/lib/bluetooth/devices/zwift_click.dart b/lib/bluetooth/devices/zwift_click.dart
        index bd4853616..1c22f0732 100644
        --- a/lib/bluetooth/devices/zwift_click.dart
        +++ b/lib/bluetooth/devices/zwift_click.dart
        @@ -1,5 +1,6 @@
         import 'package:flutter/foundation.dart';
         import 'package:swift_control/bluetooth/devices/base_device.dart';
        +import 'package:swift_control/bluetooth/messages/notification.dart';
         import 'package:swift_control/main.dart';
         
         import '../messages/click_notification.dart';
        @@ -10,7 +11,7 @@ class ZwiftClick extends BaseDevice {
           ClickNotification? _lastClickNotification;
         
           @override
        -  void processClickNotification(Uint8List message) {
        +  Future processClickNotification(Uint8List message) async {
             final ClickNotification clickNotification = ClickNotification(message);
             if (_lastClickNotification == null || _lastClickNotification != clickNotification) {
               _lastClickNotification = clickNotification;
        @@ -21,7 +22,7 @@ class ZwiftClick extends BaseDevice {
               final buttons = clickNotification.buttonsClicked;
         
               for (final action in buttons) {
        -        actionHandler.performAction(action);
        +        actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
               }
             }
           }
        diff --git a/lib/bluetooth/devices/zwift_play.dart b/lib/bluetooth/devices/zwift_play.dart
        index d76507b2e..99b9ff9c8 100644
        --- a/lib/bluetooth/devices/zwift_play.dart
        +++ b/lib/bluetooth/devices/zwift_play.dart
        @@ -4,6 +4,7 @@ import 'package:swift_control/bluetooth/messages/play_notification.dart';
         
         import '../../main.dart';
         import '../ble.dart';
        +import '../messages/notification.dart';
         
         class ZwiftPlay extends BaseDevice {
           ZwiftPlay(super.scanResult);
        @@ -14,7 +15,7 @@ class ZwiftPlay extends BaseDevice {
           List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_PLAY;
         
           @override
        -  void processClickNotification(Uint8List message) {
        +  Future processClickNotification(Uint8List message) async {
             final PlayNotification clickNotification = PlayNotification(message);
             if (_lastControllerNotification == null || _lastControllerNotification != clickNotification) {
               _lastControllerNotification = clickNotification;
        @@ -26,7 +27,7 @@ class ZwiftPlay extends BaseDevice {
               final buttons = clickNotification.buttonsClicked;
         
               for (final action in buttons) {
        -        actionHandler.performAction(action);
        +        actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
               }
             }
           }
        diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart
        index e4efc1ae7..5b89053f3 100644
        --- a/lib/bluetooth/devices/zwift_ride.dart
        +++ b/lib/bluetooth/devices/zwift_ride.dart
        @@ -5,6 +5,7 @@ import 'package:swift_control/bluetooth/messages/ride_notification.dart';
         import 'package:swift_control/main.dart';
         
         import '../ble.dart';
        +import '../messages/notification.dart';
         
         class ZwiftRide extends BaseDevice {
           ZwiftRide(super.scanResult);
        @@ -18,7 +19,7 @@ class ZwiftRide extends BaseDevice {
           RideNotification? _lastControllerNotification;
         
           @override
        -  void processClickNotification(Uint8List message) {
        +  Future processClickNotification(Uint8List message) async {
             final RideNotification clickNotification = RideNotification(message);
             if (_lastControllerNotification == null || _lastControllerNotification != clickNotification) {
               _lastControllerNotification = clickNotification;
        @@ -29,7 +30,7 @@ class ZwiftRide extends BaseDevice {
               final buttons = clickNotification.buttonsClicked;
         
               for (final action in buttons) {
        -        actionHandler.performAction(action);
        +        actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
               }
             }
           }
        diff --git a/lib/bluetooth/messages/click_notification.dart b/lib/bluetooth/messages/click_notification.dart
        index f6ee8a9ec..c7a8ed2bd 100644
        --- a/lib/bluetooth/messages/click_notification.dart
        +++ b/lib/bluetooth/messages/click_notification.dart
        @@ -13,7 +13,7 @@ class ClickNotification extends BaseNotification {
             final status = ClickKeyPadStatus.fromBuffer(message);
             buttonsClicked = [
               if (status.buttonPlus == PlayButtonStatus.ON) ZwiftButton.shiftUpLeft,
        -      if (status.buttonMinus == PlayButtonStatus.ON) ZwiftButton.shiftDownLeft,
        +      if (status.buttonMinus == PlayButtonStatus.ON) ZwiftButton.shiftDownRight,
             ];
           }
         
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index 47f58bbad..53ffb9d0d 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -6,12 +6,13 @@ import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/pages/touch_area.dart';
        -import 'package:swift_control/utils/keymap/buttons.dart';
         import 'package:swift_control/widgets/custom_keymap_selector.dart';
         import 'package:swift_control/widgets/logviewer.dart';
         import 'package:swift_control/widgets/title.dart';
         
         import '../bluetooth/devices/base_device.dart';
        +import '../utils/keymap/apps/custom_app.dart';
        +import '../utils/keymap/apps/supported_app.dart';
         import '../widgets/menu.dart';
         
         class DevicePage extends StatefulWidget {
        @@ -74,20 +75,53 @@ class _DevicePageState extends State {
                             controller: controller,
                             dropdownMenuEntries:
                                 SupportedApp.supportedApps
        -                            .map((app) => DropdownMenuEntry(value: app, label: app.name))
        +                            .map(
        +                              (app) => DropdownMenuEntry(
        +                                value: app,
        +                                label: app.name,
        +                                trailingIcon: IconButton(
        +                                  icon: Icon(Icons.info_outline),
        +                                  onPressed: () {
        +                                    showDialog(
        +                                      context: context,
        +                                      builder:
        +                                          (context) => AlertDialog(
        +                                            title: Text(app.name),
        +                                            content: SelectableText(app.keymap.toString()),
        +                                            actions: [
        +                                              TextButton(
        +                                                onPressed: () => Navigator.of(context).pop(),
        +                                                child: Text('OK'),
        +                                              ),
        +                                            ],
        +                                          ),
        +                                    );
        +                                  },
        +                                ),
        +                              ),
        +                            )
                                     .toList(),
        +                    label: Text('Keymap'),
                             onSelected: (app) async {
                               if (app == null) {
                                 return;
                               }
                               controller.text = app.name ?? '';
        -                      if (app is CustomApp) {
        -                        settings.setCustomApp(app);
        -                      }
        +                      actionHandler.supportedApp = app;
        +                      settings.setApp(app);
                               setState(() {});
        +                      if (app is! CustomApp && !kIsWeb && (Platform.isMacOS || Platform.isWindows)) {
        +                        _snackBarMessengerKey.currentState!.showSnackBar(
        +                          SnackBar(
        +                            content: Text(
        +                              'Use Custom keymap if you experience any issues (e.g. wrong keyboard output)',
        +                            ),
        +                          ),
        +                        );
        +                      }
                             },
                             initialSelection: actionHandler.supportedApp,
        -                    hintText: 'Keymap',
        +                    hintText: 'Select your Keymap',
                           ),
         
                         if (!kIsWeb &&
        @@ -100,7 +134,7 @@ class _DevicePageState extends State {
                                 customApp: actionHandler.supportedApp as CustomApp,
                               );
                               if (app != null) {
        -                        settings.setCustomApp(app);
        +                        settings.setApp(app);
                               }
                               setState(() {});
                             },
        @@ -113,11 +147,11 @@ class _DevicePageState extends State {
                                 context,
                               ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage()));
                               if (result == true && actionHandler.supportedApp is CustomApp) {
        -                        settings.setCustomApp(actionHandler.supportedApp as CustomApp);
        +                        settings.setApp(actionHandler.supportedApp!);
                               }
                               setState(() {});
                             },
        -                    child: Text('Customize touch areas (optional)'),
        +                    child: Text('Customize touch areas'),
                           ),
                         Expanded(child: LogViewer()),
                       ],
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index a38b2f180..4679dd0e1 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -89,18 +89,67 @@ class _TouchAreaSetupPageState extends State {
             required Offset position,
             required void Function(Offset newPosition) onPositionChanged,
             required Color color,
        +    required KeyPair keyPair,
             required String label,
           }) {
             return Positioned(
               left: position.dx,
               top: position.dy,
        -      child: Draggable(
        -        feedback: Material(color: Colors.transparent, child: _TouchDot(color: Colors.yellow, label: label)),
        -        childWhenDragging: const SizedBox.shrink(),
        -        onDraggableCanceled: (_, offset) {
        -          setState(() => onPositionChanged(offset));
        +      child: PopupMenuButton(
        +        tooltip: 'Drag or click for special keys',
        +        itemBuilder:
        +            (context) => [
        +              PopupMenuItem(
        +                value: PhysicalKeyboardKey.mediaPlayPause,
        +                child: const Text('Media: Play/Pause'),
        +              ),
        +              PopupMenuItem(
        +                value: PhysicalKeyboardKey.mediaStop,
        +                child: const Text('Media: Stop'),
        +              ),
        +              PopupMenuItem(
        +                value: PhysicalKeyboardKey.mediaTrackPrevious,
        +                child: const Text('Media: Previous'),
        +              ),
        +              PopupMenuItem(
        +                value: PhysicalKeyboardKey.mediaTrackNext,
        +                child: const Text('Media: Next'),
        +              ),
        +              PopupMenuItem(
        +                value: PhysicalKeyboardKey.audioVolumeUp,
        +                child: const Text('Media: Volume Up'),
        +              ),
        +              PopupMenuItem(
        +                value: PhysicalKeyboardKey.audioVolumeDown,
        +                child: const Text('Media: Volume Down'),
        +              ),
        +            ],
        +        onSelected: (key) {
        +          keyPair.physicalKey = key;
        +          keyPair.logicalKey = null;
        +          setState(() {});
                 },
        -        child: _TouchDot(color: color, label: label),
        +        child: Draggable(
        +          feedback: Material(
        +            color: Colors.transparent,
        +            child: _TouchDot(
        +              color: Colors.yellow,
        +              label: label,
        +              specialKey: keyPair.physicalKey,
        +              icon: keyPair.physicalKey != null ? Icons.music_note_outlined : Icons.add,
        +            ),
        +          ),
        +          childWhenDragging: const SizedBox.shrink(),
        +          onDraggableCanceled: (_, offset) {
        +            setState(() => onPositionChanged(offset));
        +          },
        +          child: _TouchDot(
        +            color: color,
        +            label: label,
        +            specialKey: keyPair.physicalKey,
        +            icon: keyPair.physicalKey != null ? Icons.music_note_outlined : Icons.add,
        +          ),
        +        ),
               ),
             );
           }
        @@ -144,6 +193,7 @@ class _TouchAreaSetupPageState extends State {
                         keyPair.touchPosition.dx / devicePixelRatio - touchAreaSize / 2,
                         keyPair.touchPosition.dy / devicePixelRatio - touchAreaSize / 2,
                       ),
        +              keyPair: keyPair,
                       onPositionChanged: (newPos) {
                         final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
                         final converted = newPos.translate(touchAreaSize / 2, touchAreaSize / 2) * devicePixelRatio;
        @@ -162,9 +212,7 @@ class _TouchAreaSetupPageState extends State {
                       children: [
                         ElevatedButton.icon(
                           onPressed: () {
        -                    /*_gearDownPos = Offset(100, 300);
        -                _gearUpPos = Offset(200, 300);*/
        -
        +                    actionHandler.supportedApp?.keymap.reset();
                             setState(() {});
                           },
                           label: const Icon(Icons.lock_reset),
        @@ -182,13 +230,25 @@ class _TouchAreaSetupPageState extends State {
         class _TouchDot extends StatelessWidget {
           final Color color;
           final String label;
        +  final IconData icon;
        +  final PhysicalKeyboardKey? specialKey;
         
        -  const _TouchDot({required this.color, required this.label});
        +  const _TouchDot({required this.color, required this.icon, required this.label, this.specialKey});
         
           @override
           Widget build(BuildContext context) {
             return Column(
               children: [
        +        if (specialKey != null)
        +          Text(switch (specialKey) {
        +            PhysicalKeyboardKey.mediaPlayPause => 'Media: Play/Pause',
        +            PhysicalKeyboardKey.mediaStop => 'Media: Stop',
        +            PhysicalKeyboardKey.mediaTrackPrevious => 'Media: Previous',
        +            PhysicalKeyboardKey.mediaTrackNext => 'Media: Next',
        +            PhysicalKeyboardKey.audioVolumeUp => 'Media: Volume Up',
        +            PhysicalKeyboardKey.audioVolumeDown => 'Media: Volume Down',
        +            _ => '?',
        +          }, style: TextStyle(color: Colors.black, fontSize: 12)),
                 Container(
                   width: touchAreaSize,
                   height: touchAreaSize,
        @@ -197,6 +257,7 @@ class _TouchDot extends StatelessWidget {
                     shape: BoxShape.circle,
                     border: Border.all(color: Colors.black, width: 2),
                   ),
        +          child: Icon(icon),
                 ),
                 Text(label, style: TextStyle(color: Colors.black, fontSize: 12)),
               ],
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index a2212bcde..895f7077a 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -3,6 +3,7 @@ import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/actions/base_actions.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
         
        +import '../keymap/apps/supported_app.dart';
         import '../single_line_exception.dart';
         
         class AndroidActions extends BaseActions {
        @@ -18,7 +19,7 @@ class AndroidActions extends BaseActions {
           }
         
           @override
        -  Future performAction(ZwiftButton button) async {
        +  Future performAction(ZwiftButton button) async {
             if (windowInfo == null) {
               throw SingleLineException("Could not perform ${button.name}: No window info");
             }
        @@ -28,5 +29,6 @@ class AndroidActions extends BaseActions {
             final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo!);
         
             accessibilityHandler.performTouch(point.dx, point.dy);
        +    return "Touch performed at: ${point.dx}, ${point.dy}";
           }
         }
        diff --git a/lib/utils/actions/base_actions.dart b/lib/utils/actions/base_actions.dart
        index 15782faba..2c2305a74 100644
        --- a/lib/utils/actions/base_actions.dart
        +++ b/lib/utils/actions/base_actions.dart
        @@ -1,5 +1,7 @@
         import 'package:swift_control/utils/keymap/buttons.dart';
         
        +import '../keymap/apps/supported_app.dart';
        +
         abstract class BaseActions {
           SupportedApp? supportedApp;
         
        @@ -7,12 +9,12 @@ abstract class BaseActions {
             this.supportedApp = supportedApp;
           }
         
        -  void performAction(ZwiftButton action);
        +  Future performAction(ZwiftButton action);
         }
         
         class StubActions extends BaseActions {
           @override
        -  void performAction(ZwiftButton action) {
        -    print('Decrease gear');
        +  Future performAction(ZwiftButton action) {
        +    return Future.value(action.name);
           }
         }
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index f769e77d9..5ac6ec65e 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -5,17 +5,18 @@ import 'package:swift_control/utils/single_line_exception.dart';
         
         class DesktopActions extends BaseActions {
           @override
        -  Future performAction(ZwiftButton action) async {
        +  Future performAction(ZwiftButton action) async {
             if (supportedApp == null) {
               throw SingleLineException('Supported app is not set');
             }
         
        -    final key = supportedApp!.keymap.getPhysicalKey(action);
        -    if (key == null) {
        +    final keyPair = supportedApp!.keymap.getKeyPair(action);
        +    if (keyPair == null) {
               throw SingleLineException('Keymap entry not found for action: $action');
             }
         
        -    await keyPressSimulator.simulateKeyDown(key);
        -    await keyPressSimulator.simulateKeyUp(key);
        +    await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        +    await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        +    return 'Key pressed: ${keyPair.logicalKey?.keyLabel}';
           }
         }
        diff --git a/lib/utils/keymap/apps/custom_app.dart b/lib/utils/keymap/apps/custom_app.dart
        new file mode 100644
        index 000000000..77ef6c8a6
        --- /dev/null
        +++ b/lib/utils/keymap/apps/custom_app.dart
        @@ -0,0 +1,53 @@
        +import 'package:accessibility/accessibility.dart';
        +import 'package:dartx/dartx.dart';
        +import 'package:flutter/services.dart';
        +import 'package:swift_control/utils/keymap/apps/supported_app.dart';
        +
        +import '../../single_line_exception.dart';
        +import '../buttons.dart';
        +import '../keymap.dart';
        +
        +class CustomApp extends SupportedApp {
        +  CustomApp() : super(name: 'Custom', packageName: "custom", keymap: Keymap.custom);
        +
        +  @override
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +    final keyPair = keymap.getKeyPair(action);
        +    if (keyPair == null || keyPair.touchPosition == Offset.zero) {
        +      throw SingleLineException("No key pair found for action: $action");
        +    }
        +    return keyPair.touchPosition;
        +  }
        +
        +  List encodeKeymap() {
        +    // encode to save in preferences
        +    return keymap.keyPairs.map((e) => e.encode()).toList();
        +  }
        +
        +  void decodeKeymap(List data) {
        +    // decode from preferences
        +
        +    if (data.isEmpty) {
        +      return;
        +    }
        +
        +    final keyPairs = data.map((e) => KeyPair.decode(e)).whereNotNull().toList();
        +    if (keyPairs.isEmpty) {
        +      return;
        +    }
        +    keymap.keyPairs = keyPairs;
        +  }
        +
        +  void setKey(ZwiftButton zwiftButton, KeyDownEvent keyDownEvent) {
        +    // set the key for the zwift button
        +    final keyPair = keymap.getKeyPair(zwiftButton);
        +    if (keyPair != null) {
        +      keyPair.physicalKey = keyDownEvent.physicalKey;
        +      keyPair.logicalKey = keyDownEvent.logicalKey;
        +    } else {
        +      keymap.keyPairs.add(
        +        KeyPair(buttons: [zwiftButton], physicalKey: keyDownEvent.physicalKey, logicalKey: keyDownEvent.logicalKey),
        +      );
        +    }
        +  }
        +}
        diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart
        new file mode 100644
        index 000000000..a395ef9b9
        --- /dev/null
        +++ b/lib/utils/keymap/apps/my_whoosh.dart
        @@ -0,0 +1,58 @@
        +import 'package:accessibility/accessibility.dart';
        +import 'package:dartx/dartx.dart';
        +import 'package:flutter/services.dart';
        +import 'package:swift_control/utils/keymap/apps/supported_app.dart';
        +
        +import '../../single_line_exception.dart';
        +import '../buttons.dart';
        +import '../keymap.dart';
        +
        +class MyWhoosh extends SupportedApp {
        +  MyWhoosh()
        +    : super(
        +        name: 'MyWhoosh',
        +        packageName: "com.mywhoosh.whooshgame",
        +        keymap: Keymap(
        +          keyPairs: [
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftDown).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyK,
        +              logicalKey: LogicalKeyboardKey.keyK,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftUp).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyI,
        +              logicalKey: LogicalKeyboardKey.keyI,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.navigateRight).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyD,
        +              logicalKey: LogicalKeyboardKey.keyD,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.navigateLeft).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyA,
        +              logicalKey: LogicalKeyboardKey.keyA,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.toggleUi).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyH,
        +              logicalKey: LogicalKeyboardKey.keyH,
        +            ),
        +          ],
        +        ),
        +      );
        +
        +  @override
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +    final superPosition = super.resolveTouchPosition(action: action, windowInfo: windowInfo);
        +    if (superPosition != Offset.zero) {
        +      return superPosition;
        +    }
        +    return switch (action.action) {
        +      InGameAction.shiftUp => Offset(windowInfo.windowWidth * 0.98, windowInfo.windowHeight * 0.94),
        +      InGameAction.shiftDown => Offset(windowInfo.windowWidth * 0.80, windowInfo.windowHeight * 0.94),
        +      _ => throw SingleLineException("Unsupported action for MyWhoosh: $action"),
        +    };
        +  }
        +}
        diff --git a/lib/utils/keymap/apps/supported_app.dart b/lib/utils/keymap/apps/supported_app.dart
        new file mode 100644
        index 000000000..30f33bee0
        --- /dev/null
        +++ b/lib/utils/keymap/apps/supported_app.dart
        @@ -0,0 +1,36 @@
        +import 'dart:ui';
        +
        +import 'package:accessibility/accessibility.dart';
        +import 'package:swift_control/utils/keymap/apps/training_peaks.dart';
        +
        +import '../../single_line_exception.dart';
        +import '../buttons.dart';
        +import '../keymap.dart';
        +import 'custom_app.dart';
        +import 'my_whoosh.dart';
        +
        +abstract class SupportedApp {
        +  final String packageName;
        +  final String name;
        +  final Keymap keymap;
        +
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +    if (this is CustomApp) {
        +      final keyPair = keymap.getKeyPair(action);
        +      if (keyPair == null || keyPair.touchPosition == Offset.zero) {
        +        throw SingleLineException("No key pair found for action: $action");
        +      }
        +      return keyPair.touchPosition;
        +    }
        +    return Offset.zero;
        +  }
        +
        +  const SupportedApp({required this.name, required this.packageName, required this.keymap});
        +
        +  static final List supportedApps = [MyWhoosh(), TrainingPeaks(), CustomApp()];
        +
        +  @override
        +  String toString() {
        +    return runtimeType.toString();
        +  }
        +}
        diff --git a/lib/utils/keymap/apps/training_peaks.dart b/lib/utils/keymap/apps/training_peaks.dart
        new file mode 100644
        index 000000000..5c182c4f7
        --- /dev/null
        +++ b/lib/utils/keymap/apps/training_peaks.dart
        @@ -0,0 +1,69 @@
        +import 'package:accessibility/accessibility.dart';
        +import 'package:dartx/dartx.dart';
        +import 'package:flutter/services.dart';
        +import 'package:swift_control/utils/keymap/apps/supported_app.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
        +import 'package:swift_control/utils/single_line_exception.dart';
        +
        +import '../keymap.dart';
        +
        +class TrainingPeaks extends SupportedApp {
        +  TrainingPeaks()
        +    : super(
        +        name: 'IndieVelo / TrainingPeaks',
        +        packageName: "com.indieVelo.client",
        +        keymap: Keymap(
        +          keyPairs: [
        +            // https://help.trainingpeaks.com/hc/en-us/articles/31340399556877-TrainingPeaks-Virtual-Controls-and-Keyboard-Shortcuts
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftDown).toList(),
        +              physicalKey: PhysicalKeyboardKey.minus,
        +              logicalKey: LogicalKeyboardKey.minus,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftUp).toList(),
        +              physicalKey: PhysicalKeyboardKey.equal,
        +              logicalKey: LogicalKeyboardKey.equal,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.navigateRight).toList(),
        +              physicalKey: PhysicalKeyboardKey.arrowRight,
        +              logicalKey: LogicalKeyboardKey.arrowRight,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.navigateLeft).toList(),
        +              physicalKey: PhysicalKeyboardKey.arrowLeft,
        +              logicalKey: LogicalKeyboardKey.arrowLeft,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.toggleUi).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyH,
        +              logicalKey: LogicalKeyboardKey.keyH,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.increaseResistance).toList(),
        +              physicalKey: PhysicalKeyboardKey.pageUp,
        +              logicalKey: LogicalKeyboardKey.pageUp,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.decreaseResistance).toList(),
        +              physicalKey: PhysicalKeyboardKey.pageDown,
        +              logicalKey: LogicalKeyboardKey.pageDown,
        +            ),
        +          ],
        +        ),
        +      );
        +
        +  @override
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +    final superPosition = super.resolveTouchPosition(action: action, windowInfo: windowInfo);
        +    if (superPosition != Offset.zero) {
        +      return superPosition;
        +    }
        +    return switch (action.action) {
        +      InGameAction.shiftUp => Offset(windowInfo.windowWidth / 2 * 1.32, windowInfo.windowHeight * 0.74),
        +      InGameAction.shiftDown => Offset(windowInfo.windowWidth / 2 * 1.15, windowInfo.windowHeight * 0.74),
        +      _ => throw SingleLineException("Unsupported action for IndieVelo: $action"),
        +    };
        +  }
        +}
        diff --git a/lib/utils/keymap/buttons.dart b/lib/utils/keymap/buttons.dart
        index 37ae7f3cf..493f4f892 100644
        --- a/lib/utils/keymap/buttons.dart
        +++ b/lib/utils/keymap/buttons.dart
        @@ -1,30 +1,25 @@
        -import 'package:accessibility/accessibility.dart';
        -import 'package:dartx/dartx.dart';
        -import 'package:flutter/services.dart';
        -
        -import '../single_line_exception.dart';
        -import 'keymap.dart';
        -
         enum InGameAction {
           shiftUp,
           shiftDown,
        -  mediaPlayPause(defaultPhysicalKey: PhysicalKeyboardKey.mediaPlayPause),
        -  mediaNext(defaultPhysicalKey: PhysicalKeyboardKey.mediaTrackNext),
        -  mediaVolumeUp(defaultPhysicalKey: PhysicalKeyboardKey.audioVolumeUp),
        -  mediaVolumeDown(defaultPhysicalKey: PhysicalKeyboardKey.audioVolumeDown);
        -
        -  final PhysicalKeyboardKey? defaultPhysicalKey;
        +  navigateLeft,
        +  navigateRight,
        +  toggleUi,
        +  increaseResistance,
        +  decreaseResistance;
         
        -  const InGameAction({this.defaultPhysicalKey});
        +  @override
        +  String toString() {
        +    return name;
        +  }
         }
         
         enum ZwiftButton {
           // left controller
        -  navigationUp._(InGameAction.mediaVolumeUp),
        -  navigationDown._(InGameAction.mediaVolumeDown),
        -  navigationLeft._(InGameAction.mediaPlayPause),
        -  navigationRight._(InGameAction.mediaNext),
        -  onOffLeft._(null),
        +  navigationUp._(InGameAction.increaseResistance),
        +  navigationDown._(InGameAction.decreaseResistance),
        +  navigationLeft._(InGameAction.navigateLeft),
        +  navigationRight._(InGameAction.navigateRight),
        +  onOffLeft._(InGameAction.toggleUi),
           sideButtonLeft._(InGameAction.shiftDown),
           paddleLeft._(InGameAction.shiftDown),
         
        @@ -38,7 +33,7 @@ enum ZwiftButton {
           b._(null),
           z._(null),
           y._(null),
        -  onOffRight._(null),
        +  onOffRight._(InGameAction.toggleUi),
           sideButtonRight._(InGameAction.shiftUp),
           paddleRight._(InGameAction.shiftUp),
         
        @@ -55,110 +50,3 @@ enum ZwiftButton {
             return name;
           }
         }
        -
        -abstract class SupportedApp {
        -  final String packageName;
        -  final String name;
        -  final Keymap keymap;
        -
        -  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo});
        -
        -  const SupportedApp({required this.name, required this.packageName, required this.keymap});
        -
        -  static final List supportedApps = [MyWhoosh(), TrainingPeaks(), CustomApp()];
        -
        -  @override
        -  String toString() {
        -    return runtimeType.toString();
        -  }
        -}
        -
        -class MyWhoosh extends SupportedApp {
        -  MyWhoosh()
        -    : super(
        -        name: 'MyWhoosh',
        -        packageName: "com.mywhoosh.whooshgame",
        -        keymap: Keymap(
        -          keyPairs: [
        -            KeyPair(
        -              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftDown).toList(),
        -              physicalKey: PhysicalKeyboardKey.keyK,
        -              logicalKey: LogicalKeyboardKey.keyK,
        -            ),
        -            KeyPair(
        -              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftUp).toList(),
        -              physicalKey: PhysicalKeyboardKey.keyI,
        -              logicalKey: LogicalKeyboardKey.keyI,
        -            ),
        -          ],
        -        ),
        -      );
        -
        -  @override
        -  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        -    return switch (action.action) {
        -      InGameAction.shiftUp => Offset(windowInfo.windowWidth * 0.98, windowInfo.windowHeight * 0.94),
        -      InGameAction.shiftDown => Offset(windowInfo.windowWidth * 0.80, windowInfo.windowHeight * 0.94),
        -      _ => throw SingleLineException("Unsupported action for MyWhoosh: $action"),
        -    };
        -  }
        -}
        -
        -class TrainingPeaks extends SupportedApp {
        -  TrainingPeaks()
        -    : super(name: 'IndieVelo / TrainingPeaks', packageName: "com.indieVelo.client", keymap: Keymap.custom);
        -
        -  @override
        -  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        -    return switch (action.action) {
        -      InGameAction.shiftUp => Offset(windowInfo.windowWidth / 2 * 1.32, windowInfo.windowHeight * 0.74),
        -      InGameAction.shiftDown => Offset(windowInfo.windowWidth / 2 * 1.15, windowInfo.windowHeight * 0.74),
        -      _ => throw SingleLineException("Unsupported action for IndieVelo: $action"),
        -    };
        -  }
        -}
        -
        -class CustomApp extends SupportedApp {
        -  CustomApp() : super(name: 'Custom', packageName: "custom", keymap: Keymap.custom);
        -
        -  @override
        -  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        -    final keyPair = keymap.getKeyPair(action);
        -    if (keyPair == null || keyPair.touchPosition == Offset.zero) {
        -      throw SingleLineException("No key pair found for action: $action");
        -    }
        -    return keyPair.touchPosition;
        -  }
        -
        -  List encodeKeymap() {
        -    // encode to save in preferences
        -    return keymap.keyPairs.map((e) => e.encode()).toList();
        -  }
        -
        -  void decodeKeymap(List data) {
        -    // decode from preferences
        -
        -    if (data.isEmpty) {
        -      return;
        -    }
        -
        -    final keyPairs = data.map((e) => KeyPair.decode(e)).whereNotNull().toList();
        -    if (keyPairs.isEmpty) {
        -      return;
        -    }
        -    keymap.keyPairs = keyPairs;
        -  }
        -
        -  void setKey(ZwiftButton zwiftButton, KeyDownEvent keyDownEvent) {
        -    // set the key for the zwift button
        -    final keyPair = keymap.getKeyPair(zwiftButton);
        -    if (keyPair != null) {
        -      keyPair.physicalKey = keyDownEvent.physicalKey;
        -      keyPair.logicalKey = keyDownEvent.logicalKey;
        -    } else {
        -      keymap.keyPairs.add(
        -        KeyPair(buttons: [zwiftButton], physicalKey: keyDownEvent.physicalKey, logicalKey: keyDownEvent.logicalKey),
        -      );
        -    }
        -  }
        -}
        diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart
        index b91ed77e1..24580f2fb 100644
        --- a/lib/utils/keymap/keymap.dart
        +++ b/lib/utils/keymap/keymap.dart
        @@ -13,19 +13,27 @@ class Keymap {
         
           @override
           String toString() {
        -    return keyPairs.toString();
        +    return keyPairs.joinToString(
        +      separator: ('\n---------\n'),
        +      transform:
        +          (k) =>
        +              '''Button: ${k.buttons.joinToString(transform: (e) => e.name)}\nKeyboard key: ${k.logicalKey?.keyLabel ?? 'Not assigned'}\nAction: ${k.buttons.firstOrNull?.action}${k.touchPosition != Offset.zero ? '\nTouch Position: ${k.touchPosition.toString()}' : ''}''',
        +    );
           }
         
           PhysicalKeyboardKey? getPhysicalKey(ZwiftButton action) {
             // get the key pair by in game action
        -    return keyPairs.firstOrNullWhere((element) => element.buttons.contains(action))?.physicalKey ??
        -        action.action?.defaultPhysicalKey;
        +    return keyPairs.firstOrNullWhere((element) => element.buttons.contains(action))?.physicalKey;
           }
         
           KeyPair? getKeyPair(ZwiftButton action) {
             // get the key pair by in game action
             return keyPairs.firstOrNullWhere((element) => element.buttons.contains(action));
           }
        +
        +  void reset() {
        +    keyPairs = [];
        +  }
         }
         
         class KeyPair {
        diff --git a/lib/utils/settings/settings.dart b/lib/utils/settings/settings.dart
        index 2d9bc9cba..3211c8186 100644
        --- a/lib/utils/settings/settings.dart
        +++ b/lib/utils/settings/settings.dart
        @@ -1,7 +1,9 @@
        +import 'package:dartx/dartx.dart';
         import 'package:shared_preferences/shared_preferences.dart';
        -import 'package:swift_control/utils/keymap/buttons.dart';
        +import 'package:swift_control/utils/keymap/apps/supported_app.dart';
         
         import '../../main.dart';
        +import '../keymap/apps/custom_app.dart';
         
         class Settings {
           late final SharedPreferences _prefs;
        @@ -14,9 +16,15 @@ class Settings {
               if (appSetting != null) {
                 final customApp = CustomApp();
                 customApp.decodeKeymap(appSetting);
        +      }
         
        -        actionHandler.init(customApp);
        +      final appName = _prefs.getString('app');
        +      if (appName == null) {
        +        return;
               }
        +      final app = SupportedApp.supportedApps.firstOrNullWhere((e) => e.name == appName);
        +
        +      actionHandler.init(app);
             } catch (e) {
               // couldn't decode, reset
               await _prefs.clear();
        @@ -24,7 +32,10 @@ class Settings {
             }
           }
         
        -  void setCustomApp(CustomApp app) {
        -    _prefs.setStringList("customapp", app.encodeKeymap());
        +  void setApp(SupportedApp app) {
        +    if (app is CustomApp) {
        +      _prefs.setStringList("customapp", app.encodeKeymap());
        +    }
        +    _prefs.setString('app', app.name);
           }
         }
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        index 6bf05599d..9f05e88b1 100644
        --- a/lib/widgets/custom_keymap_selector.dart
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -10,6 +10,8 @@ import 'package:swift_control/bluetooth/messages/ride_notification.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
         
        +import '../utils/keymap/apps/custom_app.dart';
        +
         Future showCustomKeymapDialog(BuildContext context, {required CustomApp customApp}) {
           return showDialog(
             context: context,
        @@ -31,11 +33,13 @@ class _GearHotkeyDialogState extends State {
           @override
           Widget build(BuildContext context) {
             return AlertDialog(
        -      title: Text('Set Hotkeys'),
        +      title: Text('Customize key map'),
               content: Column(
                 mainAxisAlignment: MainAxisAlignment.start,
        +        mainAxisSize: MainAxisSize.min,
                 children: [
        -          TextButton(
        +          TextButton.icon(
        +            icon: Icon(Icons.add),
                     onPressed: () async {
                       await showDialog(
                         context: context,
        @@ -43,7 +47,7 @@ class _GearHotkeyDialogState extends State {
                       );
                       setState(() {});
                     },
        -            child: Text('Add Key'),
        +            label: Text('Add Key'),
                   ),
                   ...widget.customApp.keymap.keyPairs.map(
                     (e) => ListTile(
        @@ -86,7 +90,7 @@ class _HotKeyListenerState extends State {
             super.initState();
             _pressedButton = widget.button;
             _actionSubscription = connection.actionStream.listen((data) {
        -      if (!mounted) {
        +      if (!mounted || widget.button != null) {
                 return;
               }
               if (data is ClickNotification) {
        @@ -126,7 +130,7 @@ class _HotKeyListenerState extends State {
           }
         
           String _formatKey(KeyDownEvent? key) {
        -    return key?.logicalKey.keyLabel ?? 'Not set';
        +    return key?.logicalKey.keyLabel ?? 'Waiting...';
           }
         
           @override
        @@ -144,7 +148,7 @@ class _HotKeyListenerState extends State {
                           crossAxisAlignment: CrossAxisAlignment.start,
                           mainAxisSize: MainAxisSize.min,
                           children: [
        -                    Text("Press a hotkey for ${_pressedButton.toString()}"),
        +                    Text("Press a key on your keyboard to assign to ${_pressedButton.toString()}"),
                             SizedBox(height: 20),
                             Text(_formatKey(_pressedKey)),
                           ],
        diff --git a/lib/widgets/logviewer.dart b/lib/widgets/logviewer.dart
        index 4ccbf9890..de7adb8da 100644
        --- a/lib/widgets/logviewer.dart
        +++ b/lib/widgets/logviewer.dart
        @@ -61,7 +61,12 @@ class _LogviewerState extends State {
                                   children: [
                                     TextSpan(
                                       text: action.date.toString().split(" ").last,
        -                              style: TextStyle(fontSize: 12, fontFeatures: [FontFeature.tabularFigures()]),
        +                              style: TextStyle(
        +                                fontSize: 12,
        +                                fontFeatures: [FontFeature.tabularFigures()],
        +                                fontFamily: "monospace",
        +                                fontFamilyFallback: ["Courier"],
        +                              ),
                                     ),
                                     TextSpan(
                                       text: "  ${action.entry}",
        diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart
        index 49c814b67..71da4f5b2 100644
        --- a/lib/widgets/title.dart
        +++ b/lib/widgets/title.dart
        @@ -83,11 +83,17 @@ class _AppTitleState extends State {
         
           @override
           Widget build(BuildContext context) {
        -    return Row(
        -      spacing: 8,
        +    return Column(
        +      crossAxisAlignment: CrossAxisAlignment.start,
               children: [
                 Text('SwiftControl'),
        -        if (_packageInfoValue != null) Text('v${_packageInfoValue!.version}') else SmallProgressIndicator(),
        +        if (_packageInfoValue != null)
        +          Text(
        +            'v${_packageInfoValue!.version}',
        +            style: TextStyle(fontFamily: "monospace", fontFamilyFallback: ["Courier"], fontSize: 12),
        +          )
        +        else
        +          SmallProgressIndicator(),
               ],
             );
           }
        
        From 4300f1005d2c5bc2cbe2f61df1bc4ac0e07c82c1 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 11:18:20 +0200
        Subject: [PATCH 093/636] show battery level of connected devices
        
        ---
         lib/bluetooth/devices/base_device.dart | 8 +++-----
         lib/pages/device.dart                  | 2 +-
         2 files changed, 4 insertions(+), 6 deletions(-)
        
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index c5e791a9f..9cd24926a 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -76,6 +76,8 @@ abstract class BaseDevice {
         
           BleDevice get device => scanResult;
           final StreamController actionStreamInternal = StreamController.broadcast();
        +
        +  int? batteryLevel;
           Stream get actionStream => actionStreamInternal.stream;
         
           Future connect() async {
        @@ -169,10 +171,6 @@ abstract class BaseDevice {
                 //print("Empty RideOn response - unencrypted mode");
               } else if (!supportsEncryption || (bytes.length > Int32List.bytesPerElement + EncryptionUtils.MAC_LENGTH)) {
                 _processData(bytes);
        -      } else if (bytes[0] == Constants.DISCONNECT_MESSAGE_TYPE) {
        -        //print("Disconnect message");
        -      } else {
        -        //print("Unprocessed - Data Type: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}");
               }
             } catch (e, stackTrace) {
               print("Error processing data: $e");
        @@ -219,7 +217,7 @@ abstract class BaseDevice {
                 //print("Empty Message"); // expected when nothing happening
                 break;
               case Constants.BATTERY_LEVEL_TYPE:
        -        //print("Battery level update: $message");
        +        batteryLevel = message[1];
                 break;
               case Constants.CLICK_NOTIFICATION_MESSAGE_TYPE:
               case Constants.PLAY_NOTIFICATION_MESSAGE_TYPE:
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index 53ffb9d0d..faf431639 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -66,7 +66,7 @@ class _DevicePageState extends State {
                       children: [
                         Text(
                           'Devices:\n${connection.devices.joinToString(separator: '\n', transform: (it) {
        -                    return "${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'}";
        +                    return "${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'} - Battery Level: ${it.batteryLevel ?? 'Unknown'}%";
                           })}',
                         ),
                         Divider(color: Theme.of(context).colorScheme.primary, height: 30),
        
        From 7cd48ce3c4ce0bbddc53dc1ce3ba31a32b152ebf Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 11:29:41 +0200
        Subject: [PATCH 094/636] allow media keys for keyboard mapping
        
        ---
         lib/pages/device.dart                   |  2 +-
         lib/utils/keymap/apps/custom_app.dart   | 14 +++---
         lib/utils/keymap/keymap.dart            | 15 +++++++
         lib/widgets/custom_keymap_selector.dart | 60 +++++++++++++++++++++----
         4 files changed, 75 insertions(+), 16 deletions(-)
        
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index faf431639..5e9fe5a6a 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -66,7 +66,7 @@ class _DevicePageState extends State {
                       children: [
                         Text(
                           'Devices:\n${connection.devices.joinToString(separator: '\n', transform: (it) {
        -                    return "${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'} - Battery Level: ${it.batteryLevel ?? 'Unknown'}%";
        +                    return "${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'}${it.batteryLevel != null ? ' - Battery Level: ${it.batteryLevel}%' : ''}";
                           })}',
                         ),
                         Divider(color: Theme.of(context).colorScheme.primary, height: 30),
        diff --git a/lib/utils/keymap/apps/custom_app.dart b/lib/utils/keymap/apps/custom_app.dart
        index 77ef6c8a6..cf94cf0b4 100644
        --- a/lib/utils/keymap/apps/custom_app.dart
        +++ b/lib/utils/keymap/apps/custom_app.dart
        @@ -38,16 +38,18 @@ class CustomApp extends SupportedApp {
             keymap.keyPairs = keyPairs;
           }
         
        -  void setKey(ZwiftButton zwiftButton, KeyDownEvent keyDownEvent) {
        +  void setKey(
        +    ZwiftButton zwiftButton, {
        +    required PhysicalKeyboardKey physicalKey,
        +    required LogicalKeyboardKey? logicalKey,
        +  }) {
             // set the key for the zwift button
             final keyPair = keymap.getKeyPair(zwiftButton);
             if (keyPair != null) {
        -      keyPair.physicalKey = keyDownEvent.physicalKey;
        -      keyPair.logicalKey = keyDownEvent.logicalKey;
        +      keyPair.physicalKey = physicalKey;
        +      keyPair.logicalKey = logicalKey;
             } else {
        -      keymap.keyPairs.add(
        -        KeyPair(buttons: [zwiftButton], physicalKey: keyDownEvent.physicalKey, logicalKey: keyDownEvent.logicalKey),
        -      );
        +      keymap.keyPairs.add(KeyPair(buttons: [zwiftButton], physicalKey: physicalKey, logicalKey: logicalKey));
             }
           }
         }
        diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart
        index 24580f2fb..7f5615502 100644
        --- a/lib/utils/keymap/keymap.dart
        +++ b/lib/utils/keymap/keymap.dart
        @@ -48,6 +48,21 @@ class KeyPair {
             required this.logicalKey,
             this.touchPosition = Offset.zero,
           });
        +
        +  @override
        +  String toString() {
        +    return logicalKey?.keyLabel ??
        +        switch (physicalKey) {
        +          PhysicalKeyboardKey.mediaPlayPause => 'Play/Pause',
        +          PhysicalKeyboardKey.mediaTrackNext => 'Next Track',
        +          PhysicalKeyboardKey.mediaTrackPrevious => 'Previous Track',
        +          PhysicalKeyboardKey.mediaStop => 'Stop',
        +          PhysicalKeyboardKey.audioVolumeUp => 'Volume Up',
        +          PhysicalKeyboardKey.audioVolumeDown => 'Volume Down',
        +          _ => 'Not assigned',
        +        };
        +  }
        +
           String encode() {
             // encode to save in preferences
             return jsonEncode({
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        index 9f05e88b1..8eec119f1 100644
        --- a/lib/widgets/custom_keymap_selector.dart
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -9,6 +9,7 @@ import 'package:swift_control/bluetooth/messages/play_notification.dart';
         import 'package:swift_control/bluetooth/messages/ride_notification.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
        +import 'package:swift_control/utils/keymap/keymap.dart';
         
         import '../utils/keymap/apps/custom_app.dart';
         
        @@ -43,7 +44,7 @@ class _GearHotkeyDialogState extends State {
                     onPressed: () async {
                       await showDialog(
                         context: context,
        -                builder: (c) => HotKeyListenerDialog(customApp: widget.customApp, button: null),
        +                builder: (c) => HotKeyListenerDialog(customApp: widget.customApp, keyPair: null),
                       );
                       setState(() {});
                     },
        @@ -52,11 +53,11 @@ class _GearHotkeyDialogState extends State {
                   ...widget.customApp.keymap.keyPairs.map(
                     (e) => ListTile(
                       title: Text(e.buttons.joinToString(transform: (e) => e.name)),
        -              subtitle: Text('Currently: ${e.logicalKey?.keyLabel ?? 'Not set'}'),
        +              subtitle: Text('Currently: ${e.toString()}'),
                       onTap: () async {
                         await showDialog(
                           context: context,
        -                  builder: (c) => HotKeyListenerDialog(customApp: widget.customApp, button: e.buttons.singleOrNull),
        +                  builder: (c) => HotKeyListenerDialog(customApp: widget.customApp, keyPair: e),
                         );
                         setState(() {});
                       },
        @@ -71,8 +72,8 @@ class _GearHotkeyDialogState extends State {
         
         class HotKeyListenerDialog extends StatefulWidget {
           final CustomApp customApp;
        -  final ZwiftButton? button;
        -  const HotKeyListenerDialog({super.key, required this.customApp, required this.button});
        +  final KeyPair? keyPair;
        +  const HotKeyListenerDialog({super.key, required this.customApp, required this.keyPair});
         
           @override
           State createState() => _HotKeyListenerState();
        @@ -88,9 +89,9 @@ class _HotKeyListenerState extends State {
           @override
           void initState() {
             super.initState();
        -    _pressedButton = widget.button;
        +    _pressedButton = widget.keyPair?.buttons.firstOrNull;
             _actionSubscription = connection.actionStream.listen((data) {
        -      if (!mounted || widget.button != null) {
        +      if (!mounted || widget.keyPair != null) {
                 return;
               }
               if (data is ClickNotification) {
        @@ -124,7 +125,11 @@ class _HotKeyListenerState extends State {
               if (event is KeyDownEvent) {
                 _pressedKey = event;
               } else if (event is KeyUpEvent) {
        -        widget.customApp.setKey(_pressedButton!, _pressedKey!);
        +        widget.customApp.setKey(
        +          _pressedButton!,
        +          physicalKey: _pressedKey!.physicalKey,
        +          logicalKey: _pressedKey!.logicalKey,
        +        );
               }
             });
           }
        @@ -147,10 +152,47 @@ class _HotKeyListenerState extends State {
                           mainAxisAlignment: MainAxisAlignment.start,
                           crossAxisAlignment: CrossAxisAlignment.start,
                           mainAxisSize: MainAxisSize.min,
        +                  spacing: 20,
                           children: [
                             Text("Press a key on your keyboard to assign to ${_pressedButton.toString()}"),
        -                    SizedBox(height: 20),
                             Text(_formatKey(_pressedKey)),
        +                    PopupMenuButton(
        +                      tooltip: 'Drag or click for special keys',
        +                      itemBuilder:
        +                          (context) => [
        +                            PopupMenuItem(
        +                              value: PhysicalKeyboardKey.mediaPlayPause,
        +                              child: const Text('Media: Play/Pause'),
        +                            ),
        +                            PopupMenuItem(
        +                              value: PhysicalKeyboardKey.mediaStop,
        +                              child: const Text('Media: Stop'),
        +                            ),
        +                            PopupMenuItem(
        +                              value: PhysicalKeyboardKey.mediaTrackPrevious,
        +                              child: const Text('Media: Previous'),
        +                            ),
        +                            PopupMenuItem(
        +                              value: PhysicalKeyboardKey.mediaTrackNext,
        +                              child: const Text('Media: Next'),
        +                            ),
        +                            PopupMenuItem(
        +                              value: PhysicalKeyboardKey.audioVolumeUp,
        +                              child: const Text('Media: Volume Up'),
        +                            ),
        +                            PopupMenuItem(
        +                              value: PhysicalKeyboardKey.audioVolumeDown,
        +                              child: const Text('Media: Volume Down'),
        +                            ),
        +                          ],
        +                      onSelected: (key) {
        +                        widget.customApp.setKey(_pressedButton!, physicalKey: key, logicalKey: null);
        +                        Navigator.pop(context, key);
        +                      },
        +                      child: IgnorePointer(
        +                        child: ElevatedButton(onPressed: () {}, child: Text('Or choose special key')),
        +                      ),
        +                    ),
                           ],
                         ),
                       ),
        
        From 8790b1938a93a8fe71cbefef2cf9ce097e670e8e Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 11:59:29 +0200
        Subject: [PATCH 095/636] Android: support media keys
        
        ---
         lib/bluetooth/connection.dart             |   4 +
         lib/bluetooth/devices/base_device.dart    |  16 ++-
         lib/pages/device.dart                     | 159 +++++++++++-----------
         lib/utils/actions/android.dart            |  25 +++-
         lib/utils/actions/desktop.dart            |   5 +-
         lib/utils/keymap/apps/custom_app.dart     |   2 +-
         lib/utils/keymap/apps/my_whoosh.dart      |   5 +-
         lib/utils/keymap/apps/supported_app.dart  |   2 +-
         lib/utils/keymap/apps/training_peaks.dart |   5 +-
         lib/utils/keymap/keymap.dart              |   8 ++
         pubspec.yaml                              |   2 +-
         11 files changed, 139 insertions(+), 94 deletions(-)
        
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index 9d8773705..0ff1e2a02 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -161,4 +161,8 @@ class Connection {
             hasDevices.value = false;
             devices.clear();
           }
        +
        +  void signalChange(BaseDevice baseDevice) {
        +    _connectionStreams.add(baseDevice);
        +  }
         }
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 9cd24926a..39e6a4d8c 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -7,6 +7,7 @@ import 'package:swift_control/bluetooth/ble.dart';
         import 'package:swift_control/bluetooth/devices/zwift_click.dart';
         import 'package:swift_control/bluetooth/devices/zwift_play.dart';
         import 'package:swift_control/bluetooth/devices/zwift_ride.dart';
        +import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/crypto/local_key_provider.dart';
         import 'package:swift_control/utils/crypto/zap_crypto.dart';
         import 'package:swift_control/utils/single_line_exception.dart';
        @@ -81,6 +82,10 @@ abstract class BaseDevice {
           Stream get actionStream => actionStreamInternal.stream;
         
           Future connect() async {
        +    actionStream.listen((message) {
        +      print("Received message: $message");
        +    });
        +
             await UniversalBle.connect(device.deviceId);
         
             if (!kIsWeb && Platform.isAndroid) {
        @@ -217,15 +222,20 @@ abstract class BaseDevice {
                 //print("Empty Message"); // expected when nothing happening
                 break;
               case Constants.BATTERY_LEVEL_TYPE:
        -        batteryLevel = message[1];
        +        if (batteryLevel != message[1]) {
        +          batteryLevel = message[1];
        +          connection.signalChange(this);
        +        }
                 break;
               case Constants.CLICK_NOTIFICATION_MESSAGE_TYPE:
               case Constants.PLAY_NOTIFICATION_MESSAGE_TYPE:
               case Constants.RIDE_NOTIFICATION_MESSAGE_TYPE: // untested
        -        processClickNotification(message);
        +        processClickNotification(message).then((_) {}).catchError((e) {
        +          actionStreamInternal.add(LogNotification(e.toString()));
        +        });
                 break;
             }
           }
         
        -  void processClickNotification(Uint8List message);
        +  Future processClickNotification(Uint8List message);
         }
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index 5e9fe5a6a..f004e7a03 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -71,87 +71,92 @@ class _DevicePageState extends State {
                         ),
                         Divider(color: Theme.of(context).colorScheme.primary, height: 30),
                         if (!kIsWeb)
        -                  DropdownMenu(
        -                    controller: controller,
        -                    dropdownMenuEntries:
        -                        SupportedApp.supportedApps
        -                            .map(
        -                              (app) => DropdownMenuEntry(
        -                                value: app,
        -                                label: app.name,
        -                                trailingIcon: IconButton(
        -                                  icon: Icon(Icons.info_outline),
        -                                  onPressed: () {
        -                                    showDialog(
        -                                      context: context,
        -                                      builder:
        -                                          (context) => AlertDialog(
        -                                            title: Text(app.name),
        -                                            content: SelectableText(app.keymap.toString()),
        -                                            actions: [
        -                                              TextButton(
        -                                                onPressed: () => Navigator.of(context).pop(),
        -                                                child: Text('OK'),
        +                  Wrap(
        +                    spacing: 8,
        +                    runSpacing: 8,
        +                    children: [
        +                      DropdownMenu(
        +                        controller: controller,
        +                        dropdownMenuEntries:
        +                            SupportedApp.supportedApps
        +                                .map(
        +                                  (app) => DropdownMenuEntry(
        +                                    value: app,
        +                                    label: app.name,
        +                                    trailingIcon: IconButton(
        +                                      icon: Icon(Icons.info_outline),
        +                                      onPressed: () {
        +                                        showDialog(
        +                                          context: context,
        +                                          builder:
        +                                              (context) => AlertDialog(
        +                                                title: Text(app.name),
        +                                                content: SelectableText(app.keymap.toString()),
        +                                                actions: [
        +                                                  TextButton(
        +                                                    onPressed: () => Navigator.of(context).pop(),
        +                                                    child: Text('OK'),
        +                                                  ),
        +                                                ],
                                                       ),
        -                                            ],
        -                                          ),
        -                                    );
        -                                  },
        +                                        );
        +                                      },
        +                                    ),
        +                                  ),
        +                                )
        +                                .toList(),
        +                        label: Text('Keymap'),
        +                        onSelected: (app) async {
        +                          if (app == null) {
        +                            return;
        +                          }
        +                          controller.text = app.name ?? '';
        +                          actionHandler.supportedApp = app;
        +                          settings.setApp(app);
        +                          setState(() {});
        +                          if (app is! CustomApp && !kIsWeb && (Platform.isMacOS || Platform.isWindows)) {
        +                            _snackBarMessengerKey.currentState!.showSnackBar(
        +                              SnackBar(
        +                                content: Text(
        +                                  'Use Custom keymap if you experience any issues (e.g. wrong keyboard output)',
                                         ),
                                       ),
        -                            )
        -                            .toList(),
        -                    label: Text('Keymap'),
        -                    onSelected: (app) async {
        -                      if (app == null) {
        -                        return;
        -                      }
        -                      controller.text = app.name ?? '';
        -                      actionHandler.supportedApp = app;
        -                      settings.setApp(app);
        -                      setState(() {});
        -                      if (app is! CustomApp && !kIsWeb && (Platform.isMacOS || Platform.isWindows)) {
        -                        _snackBarMessengerKey.currentState!.showSnackBar(
        -                          SnackBar(
        -                            content: Text(
        -                              'Use Custom keymap if you experience any issues (e.g. wrong keyboard output)',
        -                            ),
        -                          ),
        -                        );
        -                      }
        -                    },
        -                    initialSelection: actionHandler.supportedApp,
        -                    hintText: 'Select your Keymap',
        -                  ),
        +                            );
        +                          }
        +                        },
        +                        initialSelection: actionHandler.supportedApp,
        +                        hintText: 'Select your Keymap',
        +                      ),
         
        -                if (!kIsWeb &&
        -                    (Platform.isMacOS || Platform.isWindows || kDebugMode) &&
        -                    actionHandler.supportedApp is CustomApp)
        -                  ElevatedButton(
        -                    onPressed: () async {
        -                      final app = await showCustomKeymapDialog(
        -                        context,
        -                        customApp: actionHandler.supportedApp as CustomApp,
        -                      );
        -                      if (app != null) {
        -                        settings.setApp(app);
        -                      }
        -                      setState(() {});
        -                    },
        -                    child: Text('Customize key map'),
        -                  ),
        -                if (!kIsWeb && (Platform.isAndroid || kDebugMode) && actionHandler.supportedApp is CustomApp)
        -                  ElevatedButton(
        -                    onPressed: () async {
        -                      final result = await Navigator.of(
        -                        context,
        -                      ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage()));
        -                      if (result == true && actionHandler.supportedApp is CustomApp) {
        -                        settings.setApp(actionHandler.supportedApp!);
        -                      }
        -                      setState(() {});
        -                    },
        -                    child: Text('Customize touch areas'),
        +                      if ((Platform.isMacOS || Platform.isWindows || kDebugMode) &&
        +                          actionHandler.supportedApp is CustomApp)
        +                        ElevatedButton(
        +                          onPressed: () async {
        +                            final app = await showCustomKeymapDialog(
        +                              context,
        +                              customApp: actionHandler.supportedApp as CustomApp,
        +                            );
        +                            if (app != null) {
        +                              settings.setApp(app);
        +                            }
        +                            setState(() {});
        +                          },
        +                          child: Text('Customize key map'),
        +                        ),
        +                      if ((Platform.isAndroid || kDebugMode) && actionHandler.supportedApp is CustomApp)
        +                        ElevatedButton(
        +                          onPressed: () async {
        +                            final result = await Navigator.of(
        +                              context,
        +                            ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage()));
        +                            if (result == true && actionHandler.supportedApp is CustomApp) {
        +                              settings.setApp(actionHandler.supportedApp!);
        +                            }
        +                            setState(() {});
        +                          },
        +                          child: Text('Customize touch areas'),
        +                        ),
        +                    ],
                           ),
                         Expanded(child: LogViewer()),
                       ],
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index 895f7077a..13abd7f06 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -1,6 +1,8 @@
         import 'package:accessibility/accessibility.dart';
        +import 'package:flutter/services.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/actions/base_actions.dart';
        +import 'package:swift_control/utils/keymap/apps/custom_app.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
         
         import '../keymap/apps/supported_app.dart';
        @@ -11,6 +13,7 @@ class AndroidActions extends BaseActions {
         
           @override
           void init(SupportedApp? supportedApp) {
        +    super.init(supportedApp);
             streamEvents().listen((windowEvent) {
               if (supportedApp != null) {
                 windowInfo = windowEvent;
        @@ -20,15 +23,25 @@ class AndroidActions extends BaseActions {
         
           @override
           Future performAction(ZwiftButton button) async {
        -    if (windowInfo == null) {
        -      throw SingleLineException("Could not perform ${button.name}: No window info");
        -    }
             if (supportedApp == null) {
        -      throw SingleLineException("Could not perform ${button.name}: No supported app detected");
        +      return ("Could not perform ${button.name}: No keymap set");
             }
        -    final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo!);
         
        +    if (supportedApp is CustomApp) {
        +      final keyPair = supportedApp!.keymap.getKeyPair(button);
        +      if (keyPair != null && keyPair.isSpecialKey) {
        +        await accessibilityHandler.controlMedia(switch (keyPair.physicalKey) {
        +          PhysicalKeyboardKey.mediaTrackNext => MediaAction.next,
        +          PhysicalKeyboardKey.mediaPlayPause => MediaAction.playPause,
        +          PhysicalKeyboardKey.audioVolumeUp => MediaAction.volumeUp,
        +          PhysicalKeyboardKey.audioVolumeDown => MediaAction.volumeDown,
        +          _ => throw SingleLineException("No action for key: ${keyPair.physicalKey}"),
        +        });
        +        return "Key pressed: ${keyPair.toString()}";
        +      }
        +    }
        +    final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo);
             accessibilityHandler.performTouch(point.dx, point.dy);
        -    return "Touch performed at: ${point.dx}, ${point.dy}";
        +    return "Touch performed at: ${point.dx.toInt()}, ${point.dy.toInt()}";
           }
         }
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index 5ac6ec65e..5577cc74b 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -1,18 +1,17 @@
         import 'package:keypress_simulator/keypress_simulator.dart';
         import 'package:swift_control/utils/actions/base_actions.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
        -import 'package:swift_control/utils/single_line_exception.dart';
         
         class DesktopActions extends BaseActions {
           @override
           Future performAction(ZwiftButton action) async {
             if (supportedApp == null) {
        -      throw SingleLineException('Supported app is not set');
        +      return ('Supported app is not set');
             }
         
             final keyPair = supportedApp!.keymap.getKeyPair(action);
             if (keyPair == null) {
        -      throw SingleLineException('Keymap entry not found for action: $action');
        +      return ('Keymap entry not found for action: $action');
             }
         
             await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        diff --git a/lib/utils/keymap/apps/custom_app.dart b/lib/utils/keymap/apps/custom_app.dart
        index cf94cf0b4..a7967a68f 100644
        --- a/lib/utils/keymap/apps/custom_app.dart
        +++ b/lib/utils/keymap/apps/custom_app.dart
        @@ -11,7 +11,7 @@ class CustomApp extends SupportedApp {
           CustomApp() : super(name: 'Custom', packageName: "custom", keymap: Keymap.custom);
         
           @override
        -  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent? windowInfo}) {
             final keyPair = keymap.getKeyPair(action);
             if (keyPair == null || keyPair.touchPosition == Offset.zero) {
               throw SingleLineException("No key pair found for action: $action");
        diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart
        index a395ef9b9..d407ef49c 100644
        --- a/lib/utils/keymap/apps/my_whoosh.dart
        +++ b/lib/utils/keymap/apps/my_whoosh.dart
        @@ -44,11 +44,14 @@ class MyWhoosh extends SupportedApp {
               );
         
           @override
        -  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent? windowInfo}) {
             final superPosition = super.resolveTouchPosition(action: action, windowInfo: windowInfo);
             if (superPosition != Offset.zero) {
               return superPosition;
             }
        +    if (windowInfo == null) {
        +      throw SingleLineException("Window size not known - open $this first");
        +    }
             return switch (action.action) {
               InGameAction.shiftUp => Offset(windowInfo.windowWidth * 0.98, windowInfo.windowHeight * 0.94),
               InGameAction.shiftDown => Offset(windowInfo.windowWidth * 0.80, windowInfo.windowHeight * 0.94),
        diff --git a/lib/utils/keymap/apps/supported_app.dart b/lib/utils/keymap/apps/supported_app.dart
        index 30f33bee0..383ca0eeb 100644
        --- a/lib/utils/keymap/apps/supported_app.dart
        +++ b/lib/utils/keymap/apps/supported_app.dart
        @@ -14,7 +14,7 @@ abstract class SupportedApp {
           final String name;
           final Keymap keymap;
         
        -  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent? windowInfo}) {
             if (this is CustomApp) {
               final keyPair = keymap.getKeyPair(action);
               if (keyPair == null || keyPair.touchPosition == Offset.zero) {
        diff --git a/lib/utils/keymap/apps/training_peaks.dart b/lib/utils/keymap/apps/training_peaks.dart
        index 5c182c4f7..86228e356 100644
        --- a/lib/utils/keymap/apps/training_peaks.dart
        +++ b/lib/utils/keymap/apps/training_peaks.dart
        @@ -55,11 +55,14 @@ class TrainingPeaks extends SupportedApp {
               );
         
           @override
        -  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent windowInfo}) {
        +  Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent? windowInfo}) {
             final superPosition = super.resolveTouchPosition(action: action, windowInfo: windowInfo);
             if (superPosition != Offset.zero) {
               return superPosition;
             }
        +    if (windowInfo == null) {
        +      throw SingleLineException("Window size not known - open $this first");
        +    }
             return switch (action.action) {
               InGameAction.shiftUp => Offset(windowInfo.windowWidth / 2 * 1.32, windowInfo.windowHeight * 0.74),
               InGameAction.shiftDown => Offset(windowInfo.windowWidth / 2 * 1.15, windowInfo.windowHeight * 0.74),
        diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart
        index 7f5615502..46c6952e1 100644
        --- a/lib/utils/keymap/keymap.dart
        +++ b/lib/utils/keymap/keymap.dart
        @@ -49,6 +49,14 @@ class KeyPair {
             this.touchPosition = Offset.zero,
           });
         
        +  bool get isSpecialKey =>
        +      physicalKey == PhysicalKeyboardKey.mediaPlayPause ||
        +      physicalKey == PhysicalKeyboardKey.mediaTrackNext ||
        +      physicalKey == PhysicalKeyboardKey.mediaTrackPrevious ||
        +      physicalKey == PhysicalKeyboardKey.mediaStop ||
        +      physicalKey == PhysicalKeyboardKey.audioVolumeUp ||
        +      physicalKey == PhysicalKeyboardKey.audioVolumeDown;
        +
           @override
           String toString() {
             return logicalKey?.keyLabel ??
        diff --git a/pubspec.yaml b/pubspec.yaml
        index c58750085..25c9ce47d 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.1.10+0
        +version: 1.2.0+0
         
         environment:
           sdk: ^3.7.0
        
        From 36083e654ff6dc84d60f14cf7aeb9630e37684e8 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 12:34:16 +0200
        Subject: [PATCH 096/636] Android: fix touch alignment
        
        ---
         lib/pages/touch_area.dart | 88 ++++++++++++++++++++++++---------------
         1 file changed, 55 insertions(+), 33 deletions(-)
        
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index 4679dd0e1..53158ead5 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -2,6 +2,7 @@ import 'dart:async';
         import 'dart:io';
         
         import 'package:dartx/dartx.dart';
        +import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:flutter/services.dart';
         import 'package:image_picker/image_picker.dart';
        @@ -14,7 +15,7 @@ import '../bluetooth/messages/ride_notification.dart';
         import '../utils/keymap/buttons.dart';
         import '../utils/keymap/keymap.dart';
         
        -final touchAreaSize = 32.0;
        +final touchAreaSize = 42.0;
         
         class TouchAreaSetupPage extends StatefulWidget {
           const TouchAreaSetupPage({super.key});
        @@ -123,31 +124,49 @@ class _TouchAreaSetupPageState extends State {
                         value: PhysicalKeyboardKey.audioVolumeDown,
                         child: const Text('Media: Volume Down'),
                       ),
        +              if (keyPair.physicalKey != null)
        +                PopupMenuItem(
        +                  value: null,
        +                  child: const Text('Unset'),
        +                  onTap: () {
        +                    keyPair.physicalKey = null;
        +                    keyPair.logicalKey = null;
        +                    setState(() {});
        +                  },
        +                ),
                     ],
                 onSelected: (key) {
                   keyPair.physicalKey = key;
                   keyPair.logicalKey = null;
                   setState(() {});
                 },
        -        child: Draggable(
        -          feedback: Material(
        -            color: Colors.transparent,
        -            child: _TouchDot(
        -              color: Colors.yellow,
        -              label: label,
        -              specialKey: keyPair.physicalKey,
        -              icon: keyPair.physicalKey != null ? Icons.music_note_outlined : Icons.add,
        -            ),
        -          ),
        -          childWhenDragging: const SizedBox.shrink(),
        -          onDraggableCanceled: (_, offset) {
        -            setState(() => onPositionChanged(offset));
        -          },
        -          child: _TouchDot(
        -            color: color,
        -            label: label,
        -            specialKey: keyPair.physicalKey,
        -            icon: keyPair.physicalKey != null ? Icons.music_note_outlined : Icons.add,
        +        child: Container(
        +          color: kDebugMode && false ? Colors.yellow : null,
        +          child: Column(
        +            crossAxisAlignment: CrossAxisAlignment.start,
        +            children: [
        +              Draggable(
        +                feedback: Material(
        +                  color: Colors.transparent,
        +                  child: _TouchDot(
        +                    color: Colors.yellow,
        +                    icon: keyPair.physicalKey != null ? Icons.music_note_outlined : Icons.add,
        +                    label: label,
        +                    keyPair: keyPair,
        +                  ),
        +                ),
        +                childWhenDragging: const SizedBox.shrink(),
        +                onDraggableCanceled: (_, offset) {
        +                  setState(() => onPositionChanged(offset));
        +                },
        +                child: _TouchDot(
        +                  color: color,
        +                  icon: keyPair.physicalKey != null ? Icons.music_note_outlined : Icons.add,
        +                  label: label,
        +                  keyPair: keyPair,
        +                ),
        +              ),
        +            ],
                   ),
                 ),
               ),
        @@ -198,6 +217,7 @@ class _TouchAreaSetupPageState extends State {
                         final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
                         final converted = newPos.translate(touchAreaSize / 2, touchAreaSize / 2) * devicePixelRatio;
                         keyPair.touchPosition = converted;
        +                setState(() {});
                       },
                       color: Colors.red,
                       label: keyPair.buttons.joinToString(transform: (e) => e.name, separator: '\n'),
        @@ -229,26 +249,17 @@ class _TouchAreaSetupPageState extends State {
         
         class _TouchDot extends StatelessWidget {
           final Color color;
        -  final String label;
           final IconData icon;
        -  final PhysicalKeyboardKey? specialKey;
        +  final String label;
        +  final KeyPair keyPair;
         
        -  const _TouchDot({required this.color, required this.icon, required this.label, this.specialKey});
        +  const _TouchDot({required this.color, required this.label, required this.keyPair, required this.icon});
         
           @override
           Widget build(BuildContext context) {
             return Column(
        +      crossAxisAlignment: CrossAxisAlignment.start,
               children: [
        -        if (specialKey != null)
        -          Text(switch (specialKey) {
        -            PhysicalKeyboardKey.mediaPlayPause => 'Media: Play/Pause',
        -            PhysicalKeyboardKey.mediaStop => 'Media: Stop',
        -            PhysicalKeyboardKey.mediaTrackPrevious => 'Media: Previous',
        -            PhysicalKeyboardKey.mediaTrackNext => 'Media: Next',
        -            PhysicalKeyboardKey.audioVolumeUp => 'Media: Volume Up',
        -            PhysicalKeyboardKey.audioVolumeDown => 'Media: Volume Down',
        -            _ => '?',
        -          }, style: TextStyle(color: Colors.black, fontSize: 12)),
                 Container(
                   width: touchAreaSize,
                   height: touchAreaSize,
        @@ -259,7 +270,18 @@ class _TouchDot extends StatelessWidget {
                   ),
                   child: Icon(icon),
                 ),
        +
                 Text(label, style: TextStyle(color: Colors.black, fontSize: 12)),
        +        if (keyPair.physicalKey != null)
        +          Text(switch (keyPair.physicalKey) {
        +            PhysicalKeyboardKey.mediaPlayPause => 'Media: Play/Pause',
        +            PhysicalKeyboardKey.mediaStop => 'Media: Stop',
        +            PhysicalKeyboardKey.mediaTrackPrevious => 'Media: Previous',
        +            PhysicalKeyboardKey.mediaTrackNext => 'Media: Next',
        +            PhysicalKeyboardKey.audioVolumeUp => 'Media: Volume Up',
        +            PhysicalKeyboardKey.audioVolumeDown => 'Media: Volume Down',
        +            _ => '?',
        +          }, style: TextStyle(color: Colors.grey, fontSize: 12)),
               ],
             );
           }
        
        From 2c8feccea177fd315edf7c7a1b7f129e5e26a05d Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 12:39:49 +0200
        Subject: [PATCH 097/636] update changelog and readme
        
        ---
         CHANGELOG.md | 5 +++++
         README.md    | 4 +---
         2 files changed, 6 insertions(+), 3 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index b70a3935d..37d7692fc 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,8 @@
        +#### 1.2.0 (2025-04-06)
        +- You can now customize the actions (touches or keyboard keys) for all buttons on all supported Zwift devices
        +- now shows the battery level of the connected devices
        +- add more troubleshooting information
        +
         ### 1.1.10 (2025-04-03)
         - Add more troubleshooting during connection
         
        diff --git a/README.md b/README.md
        index b2ff9451e..2aa91c2fd 100644
        --- a/README.md
        +++ b/README.md
        @@ -19,7 +19,7 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         - MyWhoosh
         - indieVelo / Training Peaks
         - any other: 
        -  - Android: you can customize the gear shifting touch points in the app
        +  - Android: you can customize simulated touch points of all your buttons in the app
           - Desktop: you can customize the keyboard shortcuts in the app
         
         ## Supported Devices
        @@ -47,5 +47,3 @@ Please consider donating to support the development of this app.
         
         [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/boni)
         
        -## TODO
        -- implement more actions for Play + Ride
        
        From e9ebe832de294734c530e910cf6867cdb42fd33f Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 13:30:59 +0200
        Subject: [PATCH 098/636] Desktop: add mouse click support
        
        ---
         CHANGELOG.md                                  |   2 +-
         .../packages/keypress_simulator/.gitignore    |  29 +++++
         .../packages/keypress_simulator/.metadata     |  10 ++
         .../packages/keypress_simulator/CHANGELOG.md  |   7 ++
         .../packages/keypress_simulator/LICENSE       |  21 ++++
         .../packages/keypress_simulator/README-ZH.md  |   1 +
         .../packages/keypress_simulator/README.md     |   1 +
         .../keypress_simulator/analysis_options.yaml  |   1 +
         .../lib/keypress_simulator.dart               |   1 +
         .../lib/src/keypress_simulator.dart           |  54 +++++++++
         .../packages/keypress_simulator/pubspec.yaml  |  36 ++++++
         .../keypress_simulator_macos/.gitignore       |  29 +++++
         .../keypress_simulator_macos/.metadata        |  30 +++++
         .../keypress_simulator_macos/CHANGELOG.md     |   3 +
         .../packages/keypress_simulator_macos/LICENSE |  21 ++++
         .../keypress_simulator_macos/README.md        |  12 ++
         .../analysis_options.yaml                     |   1 +
         .../KeypressSimulatorMacosPlugin.swift        | 114 ++++++++++++++++++
         .../macos/keypress_simulator_macos.podspec    |  23 ++++
         .../keypress_simulator_macos/pubspec.yaml     |  27 +++++
         .../.gitignore                                |  29 +++++
         .../.metadata                                 |  27 +++++
         .../CHANGELOG.md                              |   3 +
         .../LICENSE                                   |  21 ++++
         .../README.md                                 |  16 +++
         .../analysis_options.yaml                     |   1 +
         ...keypress_simulator_platform_interface.dart |   4 +
         .../keypress_simulator_method_channel.dart    |  63 ++++++++++
         ...keypress_simulator_platform_interface.dart |  47 ++++++++
         .../pubspec.yaml                              |  20 +++
         ...eypress_simulator_method_channel_test.dart |  32 +++++
         .../keypress_simulator_windows/pubspec.yaml   |   3 +-
         .../keypress_simulator_windows_plugin.cpp     |  28 +++++
         lib/main.dart                                 |   6 +-
         lib/pages/device.dart                         |  20 +--
         lib/pages/touch_area.dart                     |  88 +++++++-------
         lib/utils/actions/desktop.dart                |  12 +-
         lib/widgets/custom_keymap_selector.dart       |  57 ---------
         linux/flutter/generated_plugin_registrant.cc  |   8 ++
         linux/flutter/generated_plugins.cmake         |   2 +
         macos/Flutter/GeneratedPluginRegistrant.swift |   4 +
         macos/Podfile.lock                            |  12 ++
         pubspec.lock                                  |  71 +++++++++--
         pubspec.yaml                                  |  10 +-
         .../flutter/generated_plugin_registrant.cc    |   6 +
         windows/flutter/generated_plugins.cmake       |   2 +
         46 files changed, 871 insertions(+), 144 deletions(-)
         create mode 100644 keypress_simulator/packages/keypress_simulator/.gitignore
         create mode 100644 keypress_simulator/packages/keypress_simulator/.metadata
         create mode 100644 keypress_simulator/packages/keypress_simulator/CHANGELOG.md
         create mode 100644 keypress_simulator/packages/keypress_simulator/LICENSE
         create mode 120000 keypress_simulator/packages/keypress_simulator/README-ZH.md
         create mode 120000 keypress_simulator/packages/keypress_simulator/README.md
         create mode 100644 keypress_simulator/packages/keypress_simulator/analysis_options.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator/pubspec.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/.gitignore
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/.metadata
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/LICENSE
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/README.md
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec
         create mode 100644 keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/.metadata
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/README.md
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml
         create mode 100644 keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 37d7692fc..262931a38 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,4 +1,4 @@
        -#### 1.2.0 (2025-04-06)
        +#### 2.0.0 (2025-04-06)
         - You can now customize the actions (touches or keyboard keys) for all buttons on all supported Zwift devices
         - now shows the battery level of the connected devices
         - add more troubleshooting information
        diff --git a/keypress_simulator/packages/keypress_simulator/.gitignore b/keypress_simulator/packages/keypress_simulator/.gitignore
        new file mode 100644
        index 000000000..01c49d55f
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/.gitignore
        @@ -0,0 +1,29 @@
        +# Miscellaneous
        +*.class
        +*.log
        +*.pyc
        +*.swp
        +.DS_Store
        +.atom/
        +.buildlog/
        +.history
        +.svn/
        +
        +# IntelliJ related
        +*.iml
        +*.ipr
        +*.iws
        +.idea/
        +
        +# The .vscode folder contains launch configuration and tasks you configure in
        +# VS Code which you may wish to be included in version control, so this line
        +# is commented out by default.
        +.vscode/
        +
        +# Flutter/Dart/Pub related
        +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
        +/pubspec.lock
        +**/doc/api/
        +.dart_tool/
        +.packages
        +build/
        diff --git a/keypress_simulator/packages/keypress_simulator/.metadata b/keypress_simulator/packages/keypress_simulator/.metadata
        new file mode 100644
        index 000000000..0b5ddf05b
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/.metadata
        @@ -0,0 +1,10 @@
        +# This file tracks properties of this Flutter project.
        +# Used by Flutter tool to assess capabilities and perform upgrades etc.
        +#
        +# This file should be version controlled and should not be manually edited.
        +
        +version:
        +  revision: db747aa1331bd95bc9b3874c842261ca2d302cd5
        +  channel: stable
        +
        +project_type: plugin
        diff --git a/keypress_simulator/packages/keypress_simulator/CHANGELOG.md b/keypress_simulator/packages/keypress_simulator/CHANGELOG.md
        new file mode 100644
        index 000000000..a25790099
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/CHANGELOG.md
        @@ -0,0 +1,7 @@
        +## 0.2.0
        +
        +* feat: Convert to federated plugin
        +
        +## 0.1.0
        +
        +* First release.
        diff --git a/keypress_simulator/packages/keypress_simulator/LICENSE b/keypress_simulator/packages/keypress_simulator/LICENSE
        new file mode 100644
        index 000000000..eea05ab78
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/LICENSE
        @@ -0,0 +1,21 @@
        +MIT License
        +
        +Copyright (c) 2022-2024 LiJianying 
        +
        +Permission is hereby granted, free of charge, to any person obtaining a copy
        +of this software and associated documentation files (the "Software"), to deal
        +in the Software without restriction, including without limitation the rights
        +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        +copies of the Software, and to permit persons to whom the Software is
        +furnished to do so, subject to the following conditions:
        +
        +The above copyright notice and this permission notice shall be included in all
        +copies or substantial portions of the Software.
        +
        +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        +SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator/README-ZH.md b/keypress_simulator/packages/keypress_simulator/README-ZH.md
        new file mode 120000
        index 000000000..7da944f1c
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/README-ZH.md
        @@ -0,0 +1 @@
        +../../README-ZH.md
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator/README.md b/keypress_simulator/packages/keypress_simulator/README.md
        new file mode 120000
        index 000000000..fe8400541
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/README.md
        @@ -0,0 +1 @@
        +../../README.md
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator/analysis_options.yaml b/keypress_simulator/packages/keypress_simulator/analysis_options.yaml
        new file mode 100644
        index 000000000..095b1d67f
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/analysis_options.yaml
        @@ -0,0 +1 @@
        +include: package:mostly_reasonable_lints/flutter.yaml
        diff --git a/keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart b/keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart
        new file mode 100644
        index 000000000..4c8a7e899
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/lib/keypress_simulator.dart
        @@ -0,0 +1 @@
        +export 'src/keypress_simulator.dart';
        diff --git a/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        new file mode 100644
        index 000000000..40a062794
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        @@ -0,0 +1,54 @@
        +import 'dart:async';
        +import 'dart:io';
        +
        +import 'package:flutter/services.dart';
        +import 'package:keypress_simulator_platform_interface/keypress_simulator_platform_interface.dart';
        +
        +class KeyPressSimulator {
        +  KeyPressSimulator._();
        +
        +  /// The shared instance of [KeyPressSimulator].
        +  static final KeyPressSimulator instance = KeyPressSimulator._();
        +
        +  KeyPressSimulatorPlatform get _platform => KeyPressSimulatorPlatform.instance;
        +
        +  Future isAccessAllowed() {
        +    return _platform.isAccessAllowed();
        +  }
        +
        +  Future requestAccess({bool onlyOpenPrefPane = false}) {
        +    return _platform.requestAccess(onlyOpenPrefPane: onlyOpenPrefPane);
        +  }
        +
        +  Future simulateMouseClick(Offset position) {
        +    return _platform.simulateMouseClick(position);
        +  }
        +
        +  /// Simulate key down.
        +  Future simulateKeyDown(PhysicalKeyboardKey? key, [List modifiers = const []]) {
        +    return _platform.simulateKeyPress(key: key, modifiers: modifiers, keyDown: true);
        +  }
        +
        +  /// Simulate key up.
        +  Future simulateKeyUp(PhysicalKeyboardKey? key, [List modifiers = const []]) {
        +    return _platform.simulateKeyPress(key: key, modifiers: modifiers, keyDown: false);
        +  }
        +
        +  @Deprecated('Please use simulateKeyDown & simulateKeyUp methods.')
        +  Future simulateCtrlCKeyPress() async {
        +    const key = PhysicalKeyboardKey.keyC;
        +    final modifiers = Platform.isMacOS ? [ModifierKey.metaModifier] : [ModifierKey.controlModifier];
        +    await simulateKeyDown(key, modifiers);
        +    await simulateKeyUp(key, modifiers);
        +  }
        +
        +  @Deprecated('Please use simulateKeyDown & simulateKeyUp methods.')
        +  Future simulateCtrlVKeyPress() async {
        +    const key = PhysicalKeyboardKey.keyV;
        +    final modifiers = Platform.isMacOS ? [ModifierKey.metaModifier] : [ModifierKey.controlModifier];
        +    await simulateKeyDown(key, modifiers);
        +    await simulateKeyUp(key, modifiers);
        +  }
        +}
        +
        +final keyPressSimulator = KeyPressSimulator.instance;
        diff --git a/keypress_simulator/packages/keypress_simulator/pubspec.yaml b/keypress_simulator/packages/keypress_simulator/pubspec.yaml
        new file mode 100644
        index 000000000..8cd7cccdf
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator/pubspec.yaml
        @@ -0,0 +1,36 @@
        +name: keypress_simulator
        +description: This plugin allows Flutter desktop apps to simulate key presses.
        +version: 0.2.0
        +homepage: https://github.com/leanflutter/keypress_simulator
        +
        +platforms:
        +  macos:
        +  windows:
        +
        +environment:
        +  sdk: ">=3.0.0 <4.0.0"
        +  flutter: ">=3.3.0"
        +
        +dependencies:
        +  flutter:
        +    sdk: flutter
        +  keypress_simulator_macos:
        +    path: ../keypress_simulator_macos
        +  keypress_simulator_platform_interface:
        +    path: ../keypress_simulator_platform_interface
        +  keypress_simulator_windows:
        +    path: ../keypress_simulator_windows
        +
        +dev_dependencies:
        +  flutter_test:
        +    sdk: flutter
        +  mostly_reasonable_lints: ^0.1.1
        +
        +flutter:
        +  plugin:
        +    platforms:
        +      macos:
        +        default_package: keypress_simulator_macos
        +      windows:
        +        default_package: keypress_simulator_windows
        +
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/.gitignore b/keypress_simulator/packages/keypress_simulator_macos/.gitignore
        new file mode 100644
        index 000000000..ac5aa9893
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/.gitignore
        @@ -0,0 +1,29 @@
        +# Miscellaneous
        +*.class
        +*.log
        +*.pyc
        +*.swp
        +.DS_Store
        +.atom/
        +.buildlog/
        +.history
        +.svn/
        +migrate_working_dir/
        +
        +# IntelliJ related
        +*.iml
        +*.ipr
        +*.iws
        +.idea/
        +
        +# The .vscode folder contains launch configuration and tasks you configure in
        +# VS Code which you may wish to be included in version control, so this line
        +# is commented out by default.
        +#.vscode/
        +
        +# Flutter/Dart/Pub related
        +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
        +/pubspec.lock
        +**/doc/api/
        +.dart_tool/
        +build/
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/.metadata b/keypress_simulator/packages/keypress_simulator_macos/.metadata
        new file mode 100644
        index 000000000..6422a9994
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/.metadata
        @@ -0,0 +1,30 @@
        +# This file tracks properties of this Flutter project.
        +# Used by Flutter tool to assess capabilities and perform upgrades etc.
        +#
        +# This file should be version controlled and should not be manually edited.
        +
        +version:
        +  revision: "67457e669f79e9f8d13d7a68fe09775fefbb79f4"
        +  channel: "stable"
        +
        +project_type: plugin
        +
        +# Tracks metadata for the flutter migrate command
        +migration:
        +  platforms:
        +    - platform: root
        +      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +    - platform: macos
        +      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +
        +  # User provided section
        +
        +  # List of Local paths (relative to this file) that should be
        +  # ignored by the migrate tool.
        +  #
        +  # Files that are not part of the templates will be ignored by default.
        +  unmanaged_files:
        +    - 'lib/main.dart'
        +    - 'ios/Runner.xcodeproj/project.pbxproj'
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md b/keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md
        new file mode 100644
        index 000000000..2f145cea2
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/CHANGELOG.md
        @@ -0,0 +1,3 @@
        +## 0.2.0
        +
        +* First release.
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/LICENSE b/keypress_simulator/packages/keypress_simulator_macos/LICENSE
        new file mode 100644
        index 000000000..eea05ab78
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/LICENSE
        @@ -0,0 +1,21 @@
        +MIT License
        +
        +Copyright (c) 2022-2024 LiJianying 
        +
        +Permission is hereby granted, free of charge, to any person obtaining a copy
        +of this software and associated documentation files (the "Software"), to deal
        +in the Software without restriction, including without limitation the rights
        +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        +copies of the Software, and to permit persons to whom the Software is
        +furnished to do so, subject to the following conditions:
        +
        +The above copyright notice and this permission notice shall be included in all
        +copies or substantial portions of the Software.
        +
        +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        +SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/README.md b/keypress_simulator/packages/keypress_simulator_macos/README.md
        new file mode 100644
        index 000000000..87a076f02
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/README.md
        @@ -0,0 +1,12 @@
        +# keypress_simulator_macos
        +
        +[![pub version][pub-image]][pub-url]
        +
        +[pub-image]: https://img.shields.io/pub/v/keypress_simulator_macos.svg
        +[pub-url]: https://pub.dev/packages/keypress_simulator_macos
        +
        +The macOS implementation of [keypress_simulator](https://pub.dev/packages/keypress_simulator).
        +
        +## License
        +
        +[MIT](./LICENSE)
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml b/keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml
        new file mode 100644
        index 000000000..095b1d67f
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/analysis_options.yaml
        @@ -0,0 +1 @@
        +include: package:mostly_reasonable_lints/flutter.yaml
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift b/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
        new file mode 100644
        index 000000000..c73577ecb
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
        @@ -0,0 +1,114 @@
        +import Cocoa
        +import FlutterMacOS
        +
        +public class KeypressSimulatorMacosPlugin: NSObject, FlutterPlugin {
        +    public static func register(with registrar: FlutterPluginRegistrar) {
        +        let channel = FlutterMethodChannel(name: "dev.leanflutter.plugins/keypress_simulator", binaryMessenger: registrar.messenger)
        +        let instance = KeypressSimulatorMacosPlugin()
        +        registrar.addMethodCallDelegate(instance, channel: channel)
        +    }
        +
        +    public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        +        switch call.method {
        +        case "isAccessAllowed":
        +            isAccessAllowed(call, result: result)
        +            break
        +        case "requestAccess":
        +            requestAccess(call, result: result)
        +            break
        +        case "simulateKeyPress":
        +            simulateKeyPress(call, result: result)
        +            break
        +        case "simulateMouseClick":
        +            simulateMouseClick(call, result: result)
        +            break
        +        default:
        +            result(FlutterMethodNotImplemented)
        +        }
        +    }
        +    public func isAccessAllowed(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        +        result(AXIsProcessTrusted())
        +    }
        +
        +    public func requestAccess(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        +        let args:[String: Any] = call.arguments as! [String: Any]
        +        let onlyOpenPrefPane: Bool = args["onlyOpenPrefPane"] as! Bool
        +
        +        if (!onlyOpenPrefPane) {
        +            let options = [kAXTrustedCheckOptionPrompt.takeRetainedValue(): true] as CFDictionary
        +            AXIsProcessTrustedWithOptions(options)
        +        } else  {
        +            let prefpaneUrl = URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility")!
        +            NSWorkspace.shared.open(prefpaneUrl)
        +        }
        +        result(true)
        +    }
        +
        +    public func simulateKeyPress(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        +        let args:[String: Any] = call.arguments as! [String: Any]
        +
        +        let keyCode: Int? = args["keyCode"] as? Int
        +        let modifiers: Array = args["modifiers"] as! Array
        +        let keyDown: Bool = args["keyDown"] as! Bool
        +
        +        let event = _createKeyPressEvent(keyCode, modifiers, keyDown);
        +        event.post(tap: .cghidEventTap);
        +        result(true)
        +    }
        +
        +
        +    public func simulateMouseClick(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
        +        let args:[String: Any] = call.arguments as! [String: Any]
        +
        +        let x: Double = args["x"] as! Double
        +        let y: Double = args["y"] as! Double
        +
        +        let point = CGPoint(x: x, y: y)
        +
        +        // Move mouse to the point
        +        /*let move = CGEvent(mouseEventSource: nil,
        +                           mouseType: .mouseMoved,
        +                           mouseCursorPosition: point,
        +                           mouseButton: .left)
        +        move?.post(tap: .cghidEventTap)*/
        +
        +        // Mouse down
        +        let mouseDown = CGEvent(mouseEventSource: nil,
        +                                mouseType: .leftMouseDown,
        +                                mouseCursorPosition: point,
        +                                mouseButton: .left)
        +        mouseDown?.post(tap: .cghidEventTap)
        +
        +        // Mouse up
        +        let mouseUp = CGEvent(mouseEventSource: nil,
        +                              mouseType: .leftMouseUp,
        +                              mouseCursorPosition: point,
        +                              mouseButton: .left)
        +        mouseUp?.post(tap: .cghidEventTap)
        +        result(true)
        +    }
        +
        +    public func _createKeyPressEvent(_ keyCode: Int?, _ modifiers: Array, _ keyDown: Bool) -> CGEvent {
        +        let virtualKey: CGKeyCode = CGKeyCode(UInt32(keyCode ?? 0))
        +        var flags: CGEventFlags = CGEventFlags()
        +
        +        if (modifiers.contains("shiftModifier")) {
        +            flags.insert(CGEventFlags.maskShift)
        +        }
        +        if (modifiers.contains("controlModifier")) {
        +            flags.insert(CGEventFlags.maskControl)
        +        }
        +        if (modifiers.contains("altModifier")) {
        +            flags.insert(CGEventFlags.maskAlternate)
        +        }
        +        if (modifiers.contains("metaModifier")) {
        +            flags.insert(CGEventFlags.maskCommand)
        +        }
        +        if (modifiers.contains("functionModifier")) {
        +            flags.insert(CGEventFlags.maskSecondaryFn)
        +        }
        +        let eventKeyPress = CGEvent(keyboardEventSource: nil, virtualKey: virtualKey, keyDown: keyDown);
        +        eventKeyPress!.flags = flags
        +        return eventKeyPress!
        +    }
        +}
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec b/keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec
        new file mode 100644
        index 000000000..81ed85326
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/macos/keypress_simulator_macos.podspec
        @@ -0,0 +1,23 @@
        +#
        +# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
        +# Run `pod lib lint keypress_simulator_macos.podspec` to validate before publishing.
        +#
        +Pod::Spec.new do |s|
        +  s.name             = 'keypress_simulator_macos'
        +  s.version          = '0.0.1'
        +  s.summary          = 'A new Flutter plugin project.'
        +  s.description      = <<-DESC
        +A new Flutter plugin project.
        +                       DESC
        +  s.homepage         = 'http://example.com'
        +  s.license          = { :file => '../LICENSE' }
        +  s.author           = { 'Your Company' => 'email@example.com' }
        +
        +  s.source           = { :path => '.' }
        +  s.source_files     = 'Classes/**/*'
        +  s.dependency 'FlutterMacOS'
        +
        +  s.platform = :osx, '10.11'
        +  s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' }
        +  s.swift_version = '5.0'
        +end
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml b/keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml
        new file mode 100644
        index 000000000..c414c0b11
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_macos/pubspec.yaml
        @@ -0,0 +1,27 @@
        +name: keypress_simulator_macos
        +description: macOS implementation of the keypress_simulator plugin.
        +version: 0.2.0
        +repository: https://github.com/leanflutter/keypress_simulator/tree/main/packages/keypress_simulator_macos
        +
        +environment:
        +  sdk: '>=3.0.0 <4.0.0'
        +  flutter: '>=3.3.0'
        +
        +dependencies:
        +  flutter:
        +    sdk: flutter
        +  keypress_simulator_platform_interface:
        +    path: ../keypress_simulator_platform_interface
        +
        +dev_dependencies:
        +  flutter_test:
        +    sdk: flutter
        +  mostly_reasonable_lints: ^0.1.1
        +
        +flutter:
        +  plugin:
        +    implements: keypress_simulator
        +    platforms:
        +      macos:
        +        pluginClass: KeypressSimulatorMacosPlugin
        +
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore b/keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore
        new file mode 100644
        index 000000000..ac5aa9893
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/.gitignore
        @@ -0,0 +1,29 @@
        +# Miscellaneous
        +*.class
        +*.log
        +*.pyc
        +*.swp
        +.DS_Store
        +.atom/
        +.buildlog/
        +.history
        +.svn/
        +migrate_working_dir/
        +
        +# IntelliJ related
        +*.iml
        +*.ipr
        +*.iws
        +.idea/
        +
        +# The .vscode folder contains launch configuration and tasks you configure in
        +# VS Code which you may wish to be included in version control, so this line
        +# is commented out by default.
        +#.vscode/
        +
        +# Flutter/Dart/Pub related
        +# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
        +/pubspec.lock
        +**/doc/api/
        +.dart_tool/
        +build/
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/.metadata b/keypress_simulator/packages/keypress_simulator_platform_interface/.metadata
        new file mode 100644
        index 000000000..9e91d2fd4
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/.metadata
        @@ -0,0 +1,27 @@
        +# This file tracks properties of this Flutter project.
        +# Used by Flutter tool to assess capabilities and perform upgrades etc.
        +#
        +# This file should be version controlled and should not be manually edited.
        +
        +version:
        +  revision: "67457e669f79e9f8d13d7a68fe09775fefbb79f4"
        +  channel: "stable"
        +
        +project_type: plugin
        +
        +# Tracks metadata for the flutter migrate command
        +migration:
        +  platforms:
        +    - platform: root
        +      create_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +      base_revision: 67457e669f79e9f8d13d7a68fe09775fefbb79f4
        +
        +  # User provided section
        +
        +  # List of Local paths (relative to this file) that should be
        +  # ignored by the migrate tool.
        +  #
        +  # Files that are not part of the templates will be ignored by default.
        +  unmanaged_files:
        +    - 'lib/main.dart'
        +    - 'ios/Runner.xcodeproj/project.pbxproj'
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md b/keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md
        new file mode 100644
        index 000000000..2f145cea2
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/CHANGELOG.md
        @@ -0,0 +1,3 @@
        +## 0.2.0
        +
        +* First release.
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE b/keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE
        new file mode 100644
        index 000000000..eea05ab78
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/LICENSE
        @@ -0,0 +1,21 @@
        +MIT License
        +
        +Copyright (c) 2022-2024 LiJianying 
        +
        +Permission is hereby granted, free of charge, to any person obtaining a copy
        +of this software and associated documentation files (the "Software"), to deal
        +in the Software without restriction, including without limitation the rights
        +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        +copies of the Software, and to permit persons to whom the Software is
        +furnished to do so, subject to the following conditions:
        +
        +The above copyright notice and this permission notice shall be included in all
        +copies or substantial portions of the Software.
        +
        +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        +SOFTWARE.
        \ No newline at end of file
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/README.md b/keypress_simulator/packages/keypress_simulator_platform_interface/README.md
        new file mode 100644
        index 000000000..907200d10
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/README.md
        @@ -0,0 +1,16 @@
        +# keypress_simulator_platform_interface
        +
        +[![pub version][pub-image]][pub-url]
        +
        +[pub-image]: https://img.shields.io/pub/v/keypress_simulator_platform_interface.svg
        +[pub-url]: https://pub.dev/packages/keypress_simulator_platform_interface
        +
        +A common platform interface for the [keypress_simulator](https://pub.dev/packages/keypress_simulator) plugin.
        +
        +## Usage
        +
        +To implement a new platform-specific implementation of keypress_simulator, extend `KeyPressSimulatorPlatform` with an implementation that performs the platform-specific behavior, and when you register your plugin, set the default `KeyPressSimulatorPlatform` by calling `KeyPressSimulatorPlatform.instance = MyPlatformKeyPressSimulator()`.
        +
        +## License
        +
        +[MIT](./LICENSE)
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml b/keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml
        new file mode 100644
        index 000000000..095b1d67f
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/analysis_options.yaml
        @@ -0,0 +1 @@
        +include: package:mostly_reasonable_lints/flutter.yaml
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart
        new file mode 100644
        index 000000000..fdd2ecad6
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/keypress_simulator_platform_interface.dart
        @@ -0,0 +1,4 @@
        +library keypress_simulator_platform_interface;
        +
        +export 'src/keypress_simulator_method_channel.dart';
        +export 'src/keypress_simulator_platform_interface.dart';
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        new file mode 100644
        index 000000000..19775b2ef
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        @@ -0,0 +1,63 @@
        +import 'package:flutter/services.dart';
        +import 'package:flutter/widgets.dart';
        +import 'package:keypress_simulator_platform_interface/src/keypress_simulator_platform_interface.dart';
        +import 'package:uni_platform/uni_platform.dart';
        +
        +/// An implementation of [KeyPressSimulatorPlatform] that uses method channels.
        +class MethodChannelKeyPressSimulator extends KeyPressSimulatorPlatform {
        +  /// The method channel used to interact with the native platform.
        +  @visibleForTesting
        +  final methodChannel = const MethodChannel(
        +    'dev.leanflutter.plugins/keypress_simulator',
        +  );
        +
        +  @override
        +  Future isAccessAllowed() async {
        +    if (UniPlatform.isMacOS) {
        +      return await methodChannel.invokeMethod('isAccessAllowed');
        +    }
        +    return true;
        +  }
        +
        +  @override
        +  Future requestAccess({
        +    bool onlyOpenPrefPane = false,
        +  }) async {
        +    if (UniPlatform.isMacOS) {
        +      final Map arguments = {
        +        'onlyOpenPrefPane': onlyOpenPrefPane,
        +      };
        +      await methodChannel.invokeMethod('requestAccess', arguments);
        +    }
        +  }
        +
        +  @override
        +  Future simulateKeyPress({
        +    KeyboardKey? key,
        +    List modifiers = const [],
        +    bool keyDown = true,
        +  }) async {
        +    PhysicalKeyboardKey? physicalKey = key is PhysicalKeyboardKey ? key : null;
        +    if (key is LogicalKeyboardKey) {
        +      physicalKey = key.physicalKey;
        +    }
        +    if (key != null && physicalKey == null) {
        +      throw UnsupportedError('Unsupported key: $key.');
        +    }
        +    final Map arguments = {
        +      'keyCode': physicalKey?.keyCode,
        +      'modifiers': modifiers.map((e) => e.name).toList(),
        +      'keyDown': keyDown,
        +    }..removeWhere((key, value) => value == null);
        +    await methodChannel.invokeMethod('simulateKeyPress', arguments);
        +  }
        +
        +  @override
        +  Future simulateMouseClick(Offset position) async {
        +    final Map arguments = {
        +      'x': position.dx,
        +      'y': position.dy,
        +    };
        +    await methodChannel.invokeMethod('simulateMouseClick', arguments);
        +  }
        +}
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        new file mode 100644
        index 000000000..78743c626
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        @@ -0,0 +1,47 @@
        +import 'package:flutter/services.dart';
        +import 'package:keypress_simulator_platform_interface/src/keypress_simulator_method_channel.dart';
        +import 'package:plugin_platform_interface/plugin_platform_interface.dart';
        +
        +abstract class KeyPressSimulatorPlatform extends PlatformInterface {
        +  /// Constructs a KeyPressSimulatorPlatform.
        +  KeyPressSimulatorPlatform() : super(token: _token);
        +
        +  static final Object _token = Object();
        +
        +  static KeyPressSimulatorPlatform _instance = MethodChannelKeyPressSimulator();
        +
        +  /// The default instance of [KeyPressSimulatorPlatform] to use.
        +  ///
        +  /// Defaults to [MethodChannelKeyPressSimulator].
        +  static KeyPressSimulatorPlatform get instance => _instance;
        +
        +  /// Platform-specific implementations should set this with their own
        +  /// platform-specific class that extends [KeyPressSimulatorPlatform] when
        +  /// they register themselves.
        +  static set instance(KeyPressSimulatorPlatform instance) {
        +    PlatformInterface.verifyToken(instance, _token);
        +    _instance = instance;
        +  }
        +
        +  Future isAccessAllowed() {
        +    throw UnimplementedError('isAccessAllowed() has not been implemented.');
        +  }
        +
        +  Future requestAccess({
        +    bool onlyOpenPrefPane = false,
        +  }) {
        +    throw UnimplementedError('requestAccess() has not been implemented.');
        +  }
        +
        +  Future simulateKeyPress({
        +    KeyboardKey? key,
        +    List modifiers = const [],
        +    bool keyDown = true,
        +  }) {
        +    throw UnimplementedError('simulateKeyPress() has not been implemented.');
        +  }
        +
        +  Future simulateMouseClick(Offset position) {
        +    throw UnimplementedError('simulateKeyPress() has not been implemented.');
        +  }
        +}
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml b/keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml
        new file mode 100644
        index 000000000..4b85fcf11
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/pubspec.yaml
        @@ -0,0 +1,20 @@
        +name: keypress_simulator_platform_interface
        +description: A common platform interface for the keypress_simulator plugin.
        +version: 0.2.0
        +homepage: https://github.com/leanflutter/keypress_simulator/blob/main/packages/keypress_simulator_platform_interface
        +
        +environment:
        +  sdk: '>=3.0.0 <4.0.0'
        +  flutter: '>=3.3.0'
        +
        +dependencies:
        +  collection: ^1.18.0
        +  flutter:
        +    sdk: flutter
        +  plugin_platform_interface: ^2.1.8
        +  uni_platform: ^0.1.2
        +
        +dev_dependencies:
        +  flutter_test:
        +    sdk: flutter
        +  mostly_reasonable_lints: ^0.1.1
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart
        new file mode 100644
        index 000000000..af2c3b90e
        --- /dev/null
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/test/src/keypress_simulator_method_channel_test.dart
        @@ -0,0 +1,32 @@
        +import 'package:flutter/services.dart';
        +import 'package:flutter_test/flutter_test.dart';
        +import 'package:keypress_simulator_platform_interface/src/keypress_simulator_method_channel.dart';
        +
        +void main() {
        +  TestWidgetsFlutterBinding.ensureInitialized();
        +
        +  MethodChannelKeyPressSimulator platform = MethodChannelKeyPressSimulator();
        +  const MethodChannel channel = MethodChannel(
        +    'dev.leanflutter.plugins/keypress_simulator',
        +  );
        +
        +  setUp(() {
        +    TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
        +        .setMockMethodCallHandler(
        +      channel,
        +      (MethodCall methodCall) async {
        +        if (methodCall.method == 'isAccessAllowed') return true;
        +        return '42';
        +      },
        +    );
        +  });
        +
        +  tearDown(() {
        +    TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger
        +        .setMockMethodCallHandler(channel, null);
        +  });
        +
        +  test('isAccessAllowed', () async {
        +    expect(await platform.isAccessAllowed(), true);
        +  });
        +}
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/pubspec.yaml b/keypress_simulator/packages/keypress_simulator_windows/pubspec.yaml
        index 7be839231..1f94f85aa 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/pubspec.yaml
        +++ b/keypress_simulator/packages/keypress_simulator_windows/pubspec.yaml
        @@ -10,7 +10,8 @@ environment:
         dependencies:
           flutter:
             sdk: flutter
        -  keypress_simulator_platform_interface: ^0.2.0
        +  keypress_simulator_platform_interface:
        +    path: ../keypress_simulator_platform_interface
         
         dev_dependencies:
           flutter_test:
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index e63e92f84..6c40b0fe6 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -85,11 +85,39 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
           result->Success(flutter::EncodableValue(true));
         }
         
        +void KeypressSimulatorWindowsPlugin::SimulateMouseClick(
        +    const flutter::MethodCall& method_call,
        +    std::unique_ptr> result) {
        +  const EncodableMap& args = std::get(*method_call.arguments());
        +
        +  UINT x = std::get(args.at(EncodableValue("x")));
        +  UINT y = std::get(args.at(EncodableValue("y")));
        +
        +  // Move the mouse to the specified coordinates
        +  SetCursorPos(x, y);
        +
        +  // Prepare input for mouse down and up
        +  INPUT input = {0};
        +  input.type = INPUT_MOUSE;
        +
        +  // Mouse left button down
        +  input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
        +  SendInput(1, &input, sizeof(INPUT));
        +
        +  // Mouse left button up
        +  input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
        +  SendInput(1, &input, sizeof(INPUT));
        +
        +  result->Success(flutter::EncodableValue(true));
        +}
        +
         void KeypressSimulatorWindowsPlugin::HandleMethodCall(
             const flutter::MethodCall& method_call,
             std::unique_ptr> result) {
           if (method_call.method_name().compare("simulateKeyPress") == 0) {
             SimulateKeyPress(method_call, std::move(result));
        +  } else if (method_call.method_name().compare("simulateMouseClick") == 0) {
        +    SimulateMouseClick(method_call, std::move(result));
           } else {
             result->NotImplemented();
           }
        diff --git a/lib/main.dart b/lib/main.dart
        index a7c9118cb..e1a1da079 100644
        --- a/lib/main.dart
        +++ b/lib/main.dart
        @@ -9,6 +9,7 @@ import 'package:swift_control/theme.dart';
         import 'package:swift_control/utils/actions/android.dart';
         import 'package:swift_control/utils/actions/desktop.dart';
         import 'package:swift_control/utils/settings/settings.dart';
        +import 'package:window_manager/window_manager.dart';
         
         import 'bluetooth/connection.dart';
         import 'utils/actions/base_actions.dart';
        @@ -19,13 +20,16 @@ final accessibilityHandler = Accessibility();
         final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
         final settings = Settings();
         
        -void main() {
        +void main() async {
        +  WidgetsFlutterBinding.ensureInitialized();
           if (kIsWeb) {
             actionHandler = StubActions();
           } else if (Platform.isAndroid) {
             actionHandler = AndroidActions();
           } else {
             actionHandler = DesktopActions();
        +    // Must add this line.
        +    await windowManager.ensureInitialized();
           }
         
           runApp(const SwiftPlayApp());
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index f004e7a03..8a988a402 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -6,7 +6,6 @@ import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/pages/touch_area.dart';
        -import 'package:swift_control/widgets/custom_keymap_selector.dart';
         import 'package:swift_control/widgets/logviewer.dart';
         import 'package:swift_control/widgets/title.dart';
         
        @@ -128,22 +127,7 @@ class _DevicePageState extends State {
                                 hintText: 'Select your Keymap',
                               ),
         
        -                      if ((Platform.isMacOS || Platform.isWindows || kDebugMode) &&
        -                          actionHandler.supportedApp is CustomApp)
        -                        ElevatedButton(
        -                          onPressed: () async {
        -                            final app = await showCustomKeymapDialog(
        -                              context,
        -                              customApp: actionHandler.supportedApp as CustomApp,
        -                            );
        -                            if (app != null) {
        -                              settings.setApp(app);
        -                            }
        -                            setState(() {});
        -                          },
        -                          child: Text('Customize key map'),
        -                        ),
        -                      if ((Platform.isAndroid || kDebugMode) && actionHandler.supportedApp is CustomApp)
        +                      if (actionHandler.supportedApp is CustomApp)
                                 ElevatedButton(
                                   onPressed: () async {
                                     final result = await Navigator.of(
        @@ -154,7 +138,7 @@ class _DevicePageState extends State {
                                     }
                                     setState(() {});
                                   },
        -                          child: Text('Customize touch areas'),
        +                          child: Text('Customize Keymap'),
                                 ),
                             ],
                           ),
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index 53158ead5..afa819cf1 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -7,13 +7,16 @@ import 'package:flutter/material.dart';
         import 'package:flutter/services.dart';
         import 'package:image_picker/image_picker.dart';
         import 'package:swift_control/main.dart';
        +import 'package:window_manager/window_manager.dart';
         
         import '../bluetooth/messages/click_notification.dart';
         import '../bluetooth/messages/notification.dart';
         import '../bluetooth/messages/play_notification.dart';
         import '../bluetooth/messages/ride_notification.dart';
        +import '../utils/keymap/apps/custom_app.dart';
         import '../utils/keymap/buttons.dart';
         import '../utils/keymap/keymap.dart';
        +import '../widgets/custom_keymap_selector.dart';
         
         final touchAreaSize = 42.0;
         
        @@ -49,6 +52,9 @@ class _TouchAreaSetupPageState extends State {
             _actionSubscription.cancel();
             // Exit full screen
             SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: SystemUiOverlay.values);
        +    if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) {
        +      windowManager.setFullScreen(false);
        +    }
           }
         
           @override
        @@ -56,6 +62,9 @@ class _TouchAreaSetupPageState extends State {
             super.initState();
         
             SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky, overlays: []);
        +    if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) {
        +      windowManager.setFullScreen(true);
        +    }
             _actionSubscription = connection.actionStream.listen((data) {
               if (!mounted) {
                 return;
        @@ -101,33 +110,22 @@ class _TouchAreaSetupPageState extends State {
                 itemBuilder:
                     (context) => [
                       PopupMenuItem(
        -                value: PhysicalKeyboardKey.mediaPlayPause,
        -                child: const Text('Media: Play/Pause'),
        -              ),
        -              PopupMenuItem(
        -                value: PhysicalKeyboardKey.mediaStop,
        -                child: const Text('Media: Stop'),
        -              ),
        -              PopupMenuItem(
        -                value: PhysicalKeyboardKey.mediaTrackPrevious,
        -                child: const Text('Media: Previous'),
        -              ),
        -              PopupMenuItem(
        -                value: PhysicalKeyboardKey.mediaTrackNext,
        -                child: const Text('Media: Next'),
        -              ),
        -              PopupMenuItem(
        -                value: PhysicalKeyboardKey.audioVolumeUp,
        -                child: const Text('Media: Volume Up'),
        -              ),
        -              PopupMenuItem(
        -                value: PhysicalKeyboardKey.audioVolumeDown,
        -                child: const Text('Media: Volume Down'),
        +                value: null,
        +                child: const Text('Set Keyboard shortcut'),
        +                onTap: () async {
        +                  await showDialog(
        +                    context: context,
        +                    builder:
        +                        (c) =>
        +                            HotKeyListenerDialog(customApp: actionHandler.supportedApp! as CustomApp, keyPair: keyPair),
        +                  );
        +                  setState(() {});
        +                },
                       ),
                       if (keyPair.physicalKey != null)
                         PopupMenuItem(
                           value: null,
        -                  child: const Text('Unset'),
        +                  child: const Text('Use as touch button'),
                           onTap: () {
                             keyPair.physicalKey = null;
                             keyPair.logicalKey = null;
        @@ -148,23 +146,17 @@ class _TouchAreaSetupPageState extends State {
                       Draggable(
                         feedback: Material(
                           color: Colors.transparent,
        -                  child: _TouchDot(
        -                    color: Colors.yellow,
        -                    icon: keyPair.physicalKey != null ? Icons.music_note_outlined : Icons.add,
        -                    label: label,
        -                    keyPair: keyPair,
        -                  ),
        +                  child: _TouchDot(color: Colors.yellow, label: label, keyPair: keyPair),
                         ),
        +                onDragUpdate: (details) {
        +                  print('Dragging: ${details.localPosition}');
        +                },
                         childWhenDragging: const SizedBox.shrink(),
                         onDraggableCanceled: (_, offset) {
        +                  print('Drag canceled: ${offset}');
                           setState(() => onPositionChanged(offset));
                         },
        -                child: _TouchDot(
        -                  color: color,
        -                  icon: keyPair.physicalKey != null ? Icons.music_note_outlined : Icons.add,
        -                  label: label,
        -                  keyPair: keyPair,
        -                ),
        +                child: _TouchDot(color: color, label: label, keyPair: keyPair),
                       ),
                     ],
                   ),
        @@ -175,7 +167,8 @@ class _TouchAreaSetupPageState extends State {
         
           @override
           Widget build(BuildContext context) {
        -    final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
        +    final isDesktop = Platform.isWindows || Platform.isLinux || Platform.isMacOS;
        +    final devicePixelRatio = isDesktop ? 1.0 : MediaQuery.devicePixelRatioOf(context);
             return Scaffold(
               body: Stack(
                 children: [
        @@ -210,12 +203,13 @@ class _TouchAreaSetupPageState extends State {
                     (keyPair) => _buildDraggableArea(
                       position: Offset(
                         keyPair.touchPosition.dx / devicePixelRatio - touchAreaSize / 2,
        -                keyPair.touchPosition.dy / devicePixelRatio - touchAreaSize / 2,
        +                keyPair.touchPosition.dy / devicePixelRatio - touchAreaSize / 2 - (isDesktop ? touchAreaSize * 1.5 : 0),
                       ),
                       keyPair: keyPair,
                       onPositionChanged: (newPos) {
        -                final devicePixelRatio = MediaQuery.devicePixelRatioOf(context);
        -                final converted = newPos.translate(touchAreaSize / 2, touchAreaSize / 2) * devicePixelRatio;
        +                final converted =
        +                    newPos.translate(touchAreaSize / 2, touchAreaSize / 2 + (isDesktop ? touchAreaSize * 1.5 : 0)) *
        +                    devicePixelRatio;
                         keyPair.touchPosition = converted;
                         setState(() {});
                       },
        @@ -235,7 +229,8 @@ class _TouchAreaSetupPageState extends State {
                             actionHandler.supportedApp?.keymap.reset();
                             setState(() {});
                           },
        -                  label: const Icon(Icons.lock_reset),
        +                  icon: const Icon(Icons.lock_reset),
        +                  label: Text('Reset'),
                         ),
                         ElevatedButton.icon(onPressed: _saveAndClose, icon: const Icon(Icons.save), label: const Text("Save")),
                       ],
        @@ -249,11 +244,10 @@ class _TouchAreaSetupPageState extends State {
         
         class _TouchDot extends StatelessWidget {
           final Color color;
        -  final IconData icon;
           final String label;
           final KeyPair keyPair;
         
        -  const _TouchDot({required this.color, required this.label, required this.keyPair, required this.icon});
        +  const _TouchDot({required this.color, required this.label, required this.keyPair});
         
           @override
           Widget build(BuildContext context) {
        @@ -268,7 +262,13 @@ class _TouchDot extends StatelessWidget {
                     shape: BoxShape.circle,
                     border: Border.all(color: Colors.black, width: 2),
                   ),
        -          child: Icon(icon),
        +          child: Icon(
        +            keyPair.isSpecialKey
        +                ? Icons.music_note_outlined
        +                : keyPair.physicalKey != null
        +                ? Icons.keyboard_alt_outlined
        +                : Icons.add,
        +          ),
                 ),
         
                 Text(label, style: TextStyle(color: Colors.black, fontSize: 12)),
        @@ -280,7 +280,7 @@ class _TouchDot extends StatelessWidget {
                     PhysicalKeyboardKey.mediaTrackNext => 'Media: Next',
                     PhysicalKeyboardKey.audioVolumeUp => 'Media: Volume Up',
                     PhysicalKeyboardKey.audioVolumeDown => 'Media: Volume Down',
        -            _ => '?',
        +            _ => keyPair.logicalKey?.keyLabel ?? 'Unknown',
                   }, style: TextStyle(color: Colors.grey, fontSize: 12)),
               ],
             );
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index 5577cc74b..de1c0947c 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -14,8 +14,14 @@ class DesktopActions extends BaseActions {
               return ('Keymap entry not found for action: $action');
             }
         
        -    await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        -    await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        -    return 'Key pressed: ${keyPair.logicalKey?.keyLabel}';
        +    if (keyPair.physicalKey != null) {
        +      await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        +      await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        +      return 'Key pressed: ${keyPair.logicalKey?.keyLabel}';
        +    } else {
        +      final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null);
        +      await keyPressSimulator.simulateMouseClick(point);
        +      return 'Mouse clicked at: $point';
        +    }
           }
         }
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        index 8eec119f1..3d7ce10d5 100644
        --- a/lib/widgets/custom_keymap_selector.dart
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -13,63 +13,6 @@ import 'package:swift_control/utils/keymap/keymap.dart';
         
         import '../utils/keymap/apps/custom_app.dart';
         
        -Future showCustomKeymapDialog(BuildContext context, {required CustomApp customApp}) {
        -  return showDialog(
        -    context: context,
        -    builder: (context) {
        -      return GearHotkeyDialog(customApp: customApp);
        -    },
        -  );
        -}
        -
        -class GearHotkeyDialog extends StatefulWidget {
        -  final CustomApp customApp;
        -  const GearHotkeyDialog({super.key, required this.customApp});
        -
        -  @override
        -  State createState() => _GearHotkeyDialogState();
        -}
        -
        -class _GearHotkeyDialogState extends State {
        -  @override
        -  Widget build(BuildContext context) {
        -    return AlertDialog(
        -      title: Text('Customize key map'),
        -      content: Column(
        -        mainAxisAlignment: MainAxisAlignment.start,
        -        mainAxisSize: MainAxisSize.min,
        -        children: [
        -          TextButton.icon(
        -            icon: Icon(Icons.add),
        -            onPressed: () async {
        -              await showDialog(
        -                context: context,
        -                builder: (c) => HotKeyListenerDialog(customApp: widget.customApp, keyPair: null),
        -              );
        -              setState(() {});
        -            },
        -            label: Text('Add Key'),
        -          ),
        -          ...widget.customApp.keymap.keyPairs.map(
        -            (e) => ListTile(
        -              title: Text(e.buttons.joinToString(transform: (e) => e.name)),
        -              subtitle: Text('Currently: ${e.toString()}'),
        -              onTap: () async {
        -                await showDialog(
        -                  context: context,
        -                  builder: (c) => HotKeyListenerDialog(customApp: widget.customApp, keyPair: e),
        -                );
        -                setState(() {});
        -              },
        -            ),
        -          ),
        -        ],
        -      ),
        -      actions: [TextButton(onPressed: () => Navigator.of(context).pop(widget.customApp), child: Text("OK"))],
        -    );
        -  }
        -}
        -
         class HotKeyListenerDialog extends StatefulWidget {
           final CustomApp customApp;
           final KeyPair? keyPair;
        diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc
        index 7299b5cf2..6cf6d508b 100644
        --- a/linux/flutter/generated_plugin_registrant.cc
        +++ b/linux/flutter/generated_plugin_registrant.cc
        @@ -7,13 +7,21 @@
         #include "generated_plugin_registrant.h"
         
         #include 
        +#include 
         #include 
        +#include 
         
         void fl_register_plugins(FlPluginRegistry* registry) {
           g_autoptr(FlPluginRegistrar) file_selector_linux_registrar =
               fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin");
           file_selector_plugin_register_with_registrar(file_selector_linux_registrar);
        +  g_autoptr(FlPluginRegistrar) screen_retriever_linux_registrar =
        +      fl_plugin_registry_get_registrar_for_plugin(registry, "ScreenRetrieverLinuxPlugin");
        +  screen_retriever_linux_plugin_register_with_registrar(screen_retriever_linux_registrar);
           g_autoptr(FlPluginRegistrar) url_launcher_linux_registrar =
               fl_plugin_registry_get_registrar_for_plugin(registry, "UrlLauncherPlugin");
           url_launcher_plugin_register_with_registrar(url_launcher_linux_registrar);
        +  g_autoptr(FlPluginRegistrar) window_manager_registrar =
        +      fl_plugin_registry_get_registrar_for_plugin(registry, "WindowManagerPlugin");
        +  window_manager_plugin_register_with_registrar(window_manager_registrar);
         }
        diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake
        index 786ff5c29..74bbc59d0 100644
        --- a/linux/flutter/generated_plugins.cmake
        +++ b/linux/flutter/generated_plugins.cmake
        @@ -4,7 +4,9 @@
         
         list(APPEND FLUTTER_PLUGIN_LIST
           file_selector_linux
        +  screen_retriever_linux
           url_launcher_linux
        +  window_manager
         )
         
         list(APPEND FLUTTER_FFI_PLUGIN_LIST
        diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
        index 48b7b7821..cb222ffaa 100644
        --- a/macos/Flutter/GeneratedPluginRegistrant.swift
        +++ b/macos/Flutter/GeneratedPluginRegistrant.swift
        @@ -9,16 +9,20 @@ import file_selector_macos
         import flutter_local_notifications
         import keypress_simulator_macos
         import package_info_plus
        +import screen_retriever_macos
         import shared_preferences_foundation
         import universal_ble
         import url_launcher_macos
        +import window_manager
         
         func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
           FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
           FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
           KeypressSimulatorMacosPlugin.register(with: registry.registrar(forPlugin: "KeypressSimulatorMacosPlugin"))
           FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin"))
        +  ScreenRetrieverMacosPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverMacosPlugin"))
           SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
           UniversalBlePlugin.register(with: registry.registrar(forPlugin: "UniversalBlePlugin"))
           UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
        +  WindowManagerPlugin.register(with: registry.registrar(forPlugin: "WindowManagerPlugin"))
         }
        diff --git a/macos/Podfile.lock b/macos/Podfile.lock
        index 0aff5fb7e..a51035a4a 100644
        --- a/macos/Podfile.lock
        +++ b/macos/Podfile.lock
        @@ -8,6 +8,8 @@ PODS:
             - FlutterMacOS
           - package_info_plus (0.0.1):
             - FlutterMacOS
        +  - screen_retriever_macos (0.0.1):
        +    - FlutterMacOS
           - shared_preferences_foundation (0.0.1):
             - Flutter
             - FlutterMacOS
        @@ -16,6 +18,8 @@ PODS:
             - FlutterMacOS
           - url_launcher_macos (0.0.1):
             - FlutterMacOS
        +  - window_manager (0.2.0):
        +    - FlutterMacOS
         
         DEPENDENCIES:
           - file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`)
        @@ -23,9 +27,11 @@ DEPENDENCIES:
           - FlutterMacOS (from `Flutter/ephemeral`)
           - keypress_simulator_macos (from `Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos`)
           - package_info_plus (from `Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos`)
        +  - screen_retriever_macos (from `Flutter/ephemeral/.symlinks/plugins/screen_retriever_macos/macos`)
           - shared_preferences_foundation (from `Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin`)
           - universal_ble (from `Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin`)
           - url_launcher_macos (from `Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos`)
        +  - window_manager (from `Flutter/ephemeral/.symlinks/plugins/window_manager/macos`)
         
         EXTERNAL SOURCES:
           file_selector_macos:
        @@ -38,12 +44,16 @@ EXTERNAL SOURCES:
             :path: Flutter/ephemeral/.symlinks/plugins/keypress_simulator_macos/macos
           package_info_plus:
             :path: Flutter/ephemeral/.symlinks/plugins/package_info_plus/macos
        +  screen_retriever_macos:
        +    :path: Flutter/ephemeral/.symlinks/plugins/screen_retriever_macos/macos
           shared_preferences_foundation:
             :path: Flutter/ephemeral/.symlinks/plugins/shared_preferences_foundation/darwin
           universal_ble:
             :path: Flutter/ephemeral/.symlinks/plugins/universal_ble/darwin
           url_launcher_macos:
             :path: Flutter/ephemeral/.symlinks/plugins/url_launcher_macos/macos
        +  window_manager:
        +    :path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos
         
         SPEC CHECKSUMS:
           file_selector_macos: cc3858c981fe6889f364731200d6232dac1d812d
        @@ -51,9 +61,11 @@ SPEC CHECKSUMS:
           FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
           keypress_simulator_macos: f8556f9101f9f2f175652e0bceddf0fe82a4c6b2
           package_info_plus: 12f1c5c2cfe8727ca46cbd0b26677728972d9a5b
        +  screen_retriever_macos: 776e0fa5d42c6163d2bf772d22478df4b302b161
           shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
           universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6
           url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404
        +  window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8
         
         PODFILE CHECKSUM: 7eb978b976557c8c1cd717d8185ec483fd090a82
         
        diff --git a/pubspec.lock b/pubspec.lock
        index a8361e58a..e1d910df4 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -386,29 +386,26 @@ packages:
           keypress_simulator:
             dependency: "direct main"
             description:
        -      name: keypress_simulator
        -      sha256: d5aa5ed472b6b396f41fd6dcee99f4afb2c7ac6202af622b4cec7955de6ed7f6
        -      url: "https://pub.dev"
        -    source: hosted
        +      path: "keypress_simulator/packages/keypress_simulator"
        +      relative: true
        +    source: path
             version: "0.2.0"
           keypress_simulator_macos:
             dependency: transitive
             description:
        -      name: keypress_simulator_macos
        -      sha256: babb698b1331cff0301de839c7bc6b051d84f98ddb137cf9a6dda6c6caeb78ac
        -      url: "https://pub.dev"
        -    source: hosted
        +      path: "keypress_simulator/packages/keypress_simulator_macos"
        +      relative: true
        +    source: path
             version: "0.2.0"
           keypress_simulator_platform_interface:
             dependency: transitive
             description:
        -      name: keypress_simulator_platform_interface
        -      sha256: "38c35fee6b107ff10cfb6bdb61e32eb0db17545ed64399a357794431212ca4b4"
        -      url: "https://pub.dev"
        -    source: hosted
        +      path: "keypress_simulator/packages/keypress_simulator_platform_interface"
        +      relative: true
        +    source: path
             version: "0.2.0"
           keypress_simulator_windows:
        -    dependency: "direct overridden"
        +    dependency: transitive
             description:
               path: "keypress_simulator/packages/keypress_simulator_windows"
               relative: true
        @@ -630,6 +627,46 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "3.1.0"
        +  screen_retriever:
        +    dependency: transitive
        +    description:
        +      name: screen_retriever
        +      sha256: "570dbc8e4f70bac451e0efc9c9bb19fa2d6799a11e6ef04f946d7886d2e23d0c"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.2.0"
        +  screen_retriever_linux:
        +    dependency: transitive
        +    description:
        +      name: screen_retriever_linux
        +      sha256: f7f8120c92ef0784e58491ab664d01efda79a922b025ff286e29aa123ea3dd18
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.2.0"
        +  screen_retriever_macos:
        +    dependency: transitive
        +    description:
        +      name: screen_retriever_macos
        +      sha256: "71f956e65c97315dd661d71f828708bd97b6d358e776f1a30d5aa7d22d78a149"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.2.0"
        +  screen_retriever_platform_interface:
        +    dependency: transitive
        +    description:
        +      name: screen_retriever_platform_interface
        +      sha256: ee197f4581ff0d5608587819af40490748e1e39e648d7680ecf95c05197240c0
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.2.0"
        +  screen_retriever_windows:
        +    dependency: transitive
        +    description:
        +      name: screen_retriever_windows
        +      sha256: "449ee257f03ca98a57288ee526a301a430a344a161f9202b4fcc38576716fe13"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.2.0"
           shared_preferences:
             dependency: "direct main"
             description:
        @@ -875,6 +912,14 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "5.12.0"
        +  window_manager:
        +    dependency: "direct main"
        +    description:
        +      name: window_manager
        +      sha256: "732896e1416297c63c9e3fb95aea72d0355f61390263982a47fd519169dc5059"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.4.3"
           xdg_directories:
             dependency: transitive
             description:
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 25c9ce47d..9824e15ac 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 1.2.0+0
        +version: 2.0.0+0
         
         environment:
           sdk: ^3.7.0
        @@ -18,7 +18,9 @@ dependencies:
           dartx: any
           image_picker: ^1.1.2
           pointycastle: any
        -  keypress_simulator: any
        +  window_manager: ^0.4.3
        +  keypress_simulator:
        +    path: keypress_simulator/packages/keypress_simulator
           shared_preferences: ^2.5.3
           flex_color_scheme: ^8.2.0
           package_info_plus: ^8.3.0
        @@ -26,10 +28,6 @@ dependencies:
             path: accessibility
           http: ^1.3.0
         
        -dependency_overrides:
        -  keypress_simulator_windows:
        -    path: keypress_simulator/packages/keypress_simulator_windows
        -
         dev_dependencies:
           flutter_test:
             sdk: flutter
        diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc
        index e06ea60e5..4b74dcdd0 100644
        --- a/windows/flutter/generated_plugin_registrant.cc
        +++ b/windows/flutter/generated_plugin_registrant.cc
        @@ -9,8 +9,10 @@
         #include 
         #include 
         #include 
        +#include 
         #include 
         #include 
        +#include 
         
         void RegisterPlugins(flutter::PluginRegistry* registry) {
           FileSelectorWindowsRegisterWithRegistrar(
        @@ -19,8 +21,12 @@ void RegisterPlugins(flutter::PluginRegistry* registry) {
               registry->GetRegistrarForPlugin("KeypressSimulatorWindowsPluginCApi"));
           PermissionHandlerWindowsPluginRegisterWithRegistrar(
               registry->GetRegistrarForPlugin("PermissionHandlerWindowsPlugin"));
        +  ScreenRetrieverWindowsPluginCApiRegisterWithRegistrar(
        +      registry->GetRegistrarForPlugin("ScreenRetrieverWindowsPluginCApi"));
           UniversalBlePluginCApiRegisterWithRegistrar(
               registry->GetRegistrarForPlugin("UniversalBlePluginCApi"));
           UrlLauncherWindowsRegisterWithRegistrar(
               registry->GetRegistrarForPlugin("UrlLauncherWindows"));
        +  WindowManagerPluginRegisterWithRegistrar(
        +      registry->GetRegistrarForPlugin("WindowManagerPlugin"));
         }
        diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake
        index ea1a1f6f0..c1bc4ca34 100644
        --- a/windows/flutter/generated_plugins.cmake
        +++ b/windows/flutter/generated_plugins.cmake
        @@ -6,8 +6,10 @@ list(APPEND FLUTTER_PLUGIN_LIST
           file_selector_windows
           keypress_simulator_windows
           permission_handler_windows
        +  screen_retriever_windows
           universal_ble
           url_launcher_windows
        +  window_manager
         )
         
         list(APPEND FLUTTER_FFI_PLUGIN_LIST
        
        From 8de715a153e83839f1536ea2c5a51b8aa4c6adcc Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 13:52:00 +0200
        Subject: [PATCH 099/636] Windows: implement mouse touch
        
        ---
         .../keypress_simulator_windows_plugin.cpp        | 16 +++++++++++++---
         .../windows/keypress_simulator_windows_plugin.h  |  4 ++++
         2 files changed, 17 insertions(+), 3 deletions(-)
        
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index 6c40b0fe6..be6affc57 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -88,13 +88,23 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
         void KeypressSimulatorWindowsPlugin::SimulateMouseClick(
             const flutter::MethodCall& method_call,
             std::unique_ptr> result) {
        +
           const EncodableMap& args = std::get(*method_call.arguments());
        +  double x = 0;
        +  double y = 0;
        +
        +  auto it_x = args.find(EncodableValue("x"));
        +  if (it_x != args.end() && std::holds_alternative(it_x->second)) {
        +      x = std::get(it_x->second);
        +  }
         
        -  UINT x = std::get(args.at(EncodableValue("x")));
        -  UINT y = std::get(args.at(EncodableValue("y")));
        +  auto it_y = args.find(EncodableValue("y"));
        +  if (it_y != args.end() && std::holds_alternative(it_y->second)) {
        +      y = std::get(it_y->second);
        +  }
         
           // Move the mouse to the specified coordinates
        -  SetCursorPos(x, y);
        +  SetCursorPos(static_cast(x), static_cast(y));
         
           // Prepare input for mouse down and up
           INPUT input = {0};
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        index 654c59d13..39584c767 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        @@ -26,6 +26,10 @@ class KeypressSimulatorWindowsPlugin : public flutter::Plugin {
               const flutter::MethodCall& method_call,
               std::unique_ptr> result);
         
        +  void KeypressSimulatorWindowsPlugin::SimulateMouseClick(
        +      const flutter::MethodCall& method_call,
        +      std::unique_ptr> result);
        +
           // Called when a method is called on this plugin's channel from Dart.
           void HandleMethodCall(
               const flutter::MethodCall& method_call,
        
        From a14d21f8e47c0f25afb36201ccdae3a31aa214c0 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 13:56:33 +0200
        Subject: [PATCH 100/636] update readme
        
        ---
         CHANGELOG.md          | 2 +-
         README.md             | 7 +++++--
         lib/pages/device.dart | 1 +
         3 files changed, 7 insertions(+), 3 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 262931a38..98e28f6f1 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,5 +1,5 @@
         #### 2.0.0 (2025-04-06)
        -- You can now customize the actions (touches or keyboard keys) for all buttons on all supported Zwift devices
        +- You can now customize the actions (touches, mouse clicks or keyboard keys) for all buttons on all supported Zwift devices
         - now shows the battery level of the connected devices
         - add more troubleshooting information
         
        diff --git a/README.md b/README.md
        index 2aa91c2fd..3690d0959 100644
        --- a/README.md
        +++ b/README.md
        @@ -20,7 +20,7 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         - indieVelo / Training Peaks
         - any other: 
           - Android: you can customize simulated touch points of all your buttons in the app
        -  - Desktop: you can customize the keyboard shortcuts in the app
        +  - Desktop: you can customize keyboard shortcuts and mouse clicks in the app
         
         ## Supported Devices
         - Zwift Click
        @@ -40,7 +40,10 @@ Your Zwift device is found but connection does not work properly? You may need t
         The app connects to your Zwift device automatically. 
         
         - When using Android a "click" on a certain part of the screen is simulated to trigger the action.
        -- When using macOS or Windows a keyboard click is used to trigger the action. Typically + and - keys are used to shift gears, while MyWhoosh uses K and I keys.
        +- When using macOS or Windows a keyboard or mouse click is used to trigger the action. 
        +  - there are predefined Keymaps for MyWhoosh and indieVelo / Training Peaks
        +  - you can also create your own Keymaps for any other app
        +  - you can also use the mouse to click on a certain part of the screen, or use keyboard shortcuts
         
         ## Donate
         Please consider donating to support the development of this app. 
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index 8a988a402..5174857d2 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -73,6 +73,7 @@ class _DevicePageState extends State {
                           Wrap(
                             spacing: 8,
                             runSpacing: 8,
        +                    crossAxisAlignment: WrapCrossAlignment.center,
                             children: [
                               DropdownMenu(
                                 controller: controller,
        
        From 10c2cc64a21083172dfdbff1f5768feb462c03bd Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 14:02:30 +0200
        Subject: [PATCH 101/636] don't build on Readme updates
        
        ---
         .github/workflows/build.yml | 6 ++++++
         1 file changed, 6 insertions(+)
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index be769dc41..03c659e2d 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -4,6 +4,12 @@ on:
           push:
             branches:
               - main
        +    paths:
        +      - '.github/workflows/**'
        +      - 'lib/**'
        +      - 'accessibility/**'
        +      - 'keypress_simulator/**'
        +      - 'pubspec.yaml'
         
         jobs:
           build:
        
        From 51c5e342202fa01aa91938e77010b7ce559c3922 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 14:57:50 +0200
        Subject: [PATCH 102/636] long pressing a button now repeats the action every
         250ms until it's released
        
        ---
         CHANGELOG.md                           |  3 +++
         lib/bluetooth/devices/base_device.dart | 30 ++++++++++++++++++++++----
         lib/bluetooth/devices/zwift_click.dart | 15 ++++++-------
         lib/bluetooth/devices/zwift_play.dart  | 15 ++++++-------
         lib/bluetooth/devices/zwift_ride.dart  | 15 ++++++-------
         pubspec.yaml                           |  2 +-
         6 files changed, 49 insertions(+), 31 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 98e28f6f1..bf9df8780 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +#### 2.0.1 (2025-04-06)
        +- long pressing a button will trigger the action again every 250ms
        +
         #### 2.0.0 (2025-04-06)
         - You can now customize the actions (touches, mouse clicks or keyboard keys) for all buttons on all supported Zwift devices
         - now shows the battery level of the connected devices
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 39e6a4d8c..46e71e05a 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -14,6 +14,7 @@ import 'package:swift_control/utils/single_line_exception.dart';
         import 'package:universal_ble/universal_ble.dart';
         
         import '../../utils/crypto/encryption_utils.dart';
        +import '../../utils/keymap/buttons.dart';
         import '../messages/notification.dart';
         
         abstract class BaseDevice {
        @@ -26,6 +27,8 @@ abstract class BaseDevice {
         
           bool supportsEncryption = true;
         
        +  Timer? _longPressTimer;
        +
           List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_CLICK;
           String get customServiceId => BleUuid.ZWIFT_CUSTOM_SERVICE_UUID;
         
        @@ -230,12 +233,31 @@ abstract class BaseDevice {
               case Constants.CLICK_NOTIFICATION_MESSAGE_TYPE:
               case Constants.PLAY_NOTIFICATION_MESSAGE_TYPE:
               case Constants.RIDE_NOTIFICATION_MESSAGE_TYPE: // untested
        -        processClickNotification(message).then((_) {}).catchError((e) {
        -          actionStreamInternal.add(LogNotification(e.toString()));
        -        });
        +        processClickNotification(message)
        +            .then((buttonsClicked) async {
        +              if (buttonsClicked == null) {
        +                // ignore, no changes
        +              } else if (buttonsClicked.isEmpty) {
        +                actionStreamInternal.add(LogNotification('Buttons released'));
        +                _longPressTimer?.cancel();
        +              } else {
        +                _longPressTimer?.cancel();
        +                _longPressTimer = Timer.periodic(const Duration(milliseconds: 250), (timer) async {
        +                  for (final action in buttonsClicked) {
        +                    actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        +                  }
        +                });
        +                for (final action in buttonsClicked) {
        +                  actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        +                }
        +              }
        +            })
        +            .catchError((e) {
        +              actionStreamInternal.add(LogNotification(e.toString()));
        +            });
                 break;
             }
           }
         
        -  Future processClickNotification(Uint8List message);
        +  Future?> processClickNotification(Uint8List message);
         }
        diff --git a/lib/bluetooth/devices/zwift_click.dart b/lib/bluetooth/devices/zwift_click.dart
        index 1c22f0732..422183c27 100644
        --- a/lib/bluetooth/devices/zwift_click.dart
        +++ b/lib/bluetooth/devices/zwift_click.dart
        @@ -1,7 +1,6 @@
         import 'package:flutter/foundation.dart';
         import 'package:swift_control/bluetooth/devices/base_device.dart';
        -import 'package:swift_control/bluetooth/messages/notification.dart';
        -import 'package:swift_control/main.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
         import '../messages/click_notification.dart';
         
        @@ -11,19 +10,17 @@ class ZwiftClick extends BaseDevice {
           ClickNotification? _lastClickNotification;
         
           @override
        -  Future processClickNotification(Uint8List message) async {
        +  Future?> processClickNotification(Uint8List message) async {
             final ClickNotification clickNotification = ClickNotification(message);
             if (_lastClickNotification == null || _lastClickNotification != clickNotification) {
               _lastClickNotification = clickNotification;
        +
               if (clickNotification.buttonsClicked.isNotEmpty) {
                 actionStreamInternal.add(clickNotification);
               }
        -
        -      final buttons = clickNotification.buttonsClicked;
        -
        -      for (final action in buttons) {
        -        actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        -      }
        +      return clickNotification.buttonsClicked;
        +    } else {
        +      return null;
             }
           }
         }
        diff --git a/lib/bluetooth/devices/zwift_play.dart b/lib/bluetooth/devices/zwift_play.dart
        index 99b9ff9c8..e7de68b56 100644
        --- a/lib/bluetooth/devices/zwift_play.dart
        +++ b/lib/bluetooth/devices/zwift_play.dart
        @@ -1,10 +1,11 @@
        +import 'dart:async';
        +
         import 'package:flutter/foundation.dart';
         import 'package:swift_control/bluetooth/devices/base_device.dart';
         import 'package:swift_control/bluetooth/messages/play_notification.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
        -import '../../main.dart';
         import '../ble.dart';
        -import '../messages/notification.dart';
         
         class ZwiftPlay extends BaseDevice {
           ZwiftPlay(super.scanResult);
        @@ -15,7 +16,7 @@ class ZwiftPlay extends BaseDevice {
           List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_PLAY;
         
           @override
        -  Future processClickNotification(Uint8List message) async {
        +  Future?> processClickNotification(Uint8List message) async {
             final PlayNotification clickNotification = PlayNotification(message);
             if (_lastControllerNotification == null || _lastControllerNotification != clickNotification) {
               _lastControllerNotification = clickNotification;
        @@ -24,11 +25,9 @@ class ZwiftPlay extends BaseDevice {
                 actionStreamInternal.add(clickNotification);
               }
         
        -      final buttons = clickNotification.buttonsClicked;
        -
        -      for (final action in buttons) {
        -        actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        -      }
        +      return clickNotification.buttonsClicked;
        +    } else {
        +      return null;
             }
           }
         }
        diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart
        index 5b89053f3..de79056a0 100644
        --- a/lib/bluetooth/devices/zwift_ride.dart
        +++ b/lib/bluetooth/devices/zwift_ride.dart
        @@ -2,10 +2,9 @@ import 'dart:typed_data';
         
         import 'package:swift_control/bluetooth/devices/base_device.dart';
         import 'package:swift_control/bluetooth/messages/ride_notification.dart';
        -import 'package:swift_control/main.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
         
         import '../ble.dart';
        -import '../messages/notification.dart';
         
         class ZwiftRide extends BaseDevice {
           ZwiftRide(super.scanResult);
        @@ -19,19 +18,17 @@ class ZwiftRide extends BaseDevice {
           RideNotification? _lastControllerNotification;
         
           @override
        -  Future processClickNotification(Uint8List message) async {
        +  Future?> processClickNotification(Uint8List message) async {
             final RideNotification clickNotification = RideNotification(message);
             if (_lastControllerNotification == null || _lastControllerNotification != clickNotification) {
               _lastControllerNotification = clickNotification;
        +
               if (clickNotification.buttonsClicked.isNotEmpty) {
                 actionStreamInternal.add(clickNotification);
               }
        -
        -      final buttons = clickNotification.buttonsClicked;
        -
        -      for (final action in buttons) {
        -        actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        -      }
        +      return clickNotification.buttonsClicked;
        +    } else {
        +      return null;
             }
           }
         }
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 9824e15ac..a5d076fbb 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.0.0+0
        +version: 2.0.1+0
         
         environment:
           sdk: ^3.7.0
        
        From 7f24c27201214845d27d3dde015d6628a91c6aff Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 6 Apr 2025 16:21:14 +0200
        Subject: [PATCH 103/636] update readme
        
        ---
         README.md | 9 +++++++--
         1 file changed, 7 insertions(+), 2 deletions(-)
        
        diff --git a/README.md b/README.md
        index 3690d0959..9dce1fd13 100644
        --- a/README.md
        +++ b/README.md
        @@ -4,7 +4,12 @@
         
         ## Description
         
        -With SwiftControl you can control your favorite trainer app using your Zwift Click, Zwift Ride or Zwift Play devices. Primarily useful to perform virtual gear shifting.
        +With SwiftControl you can control your favorite trainer app using your Zwift Click, Zwift Ride or Zwift Play devices. Here's what you can do with it, depending on your configuration:
        +- Virtual Gear shifting
        +- Steering / turning
        +- adjust workout intensity
        +- control music on your device
        +- more? If you can do it via keyboard, mouse or touch, you can do it with SwiftControl
         
         
         https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159
        @@ -46,7 +51,7 @@ The app connects to your Zwift device automatically.
           - you can also use the mouse to click on a certain part of the screen, or use keyboard shortcuts
         
         ## Donate
        -Please consider donating to support the development of this app. 
        +Please consider donating to support the development of this app :)
         
         [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/boni)
         
        
        From aff1137c3d6c453b2a0819b27a33ea437631d351 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 7 Apr 2025 12:48:20 +0200
        Subject: [PATCH 104/636] fix bluetooth scan issues on older Android devices by
         asking for location permission
        
        ---
         CHANGELOG.md                                  |  3 +++
         lib/pages/scan.dart                           | 10 +++++---
         lib/utils/requirements/android.dart           | 15 ++++++++++++
         lib/utils/requirements/platform.dart          | 11 +++++++--
         macos/Flutter/GeneratedPluginRegistrant.swift |  2 ++
         pubspec.lock                                  | 24 +++++++++++++++++++
         pubspec.yaml                                  |  3 ++-
         7 files changed, 62 insertions(+), 6 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index bf9df8780..26bac7b71 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +#### 2.0.2 (2025-04-07)
        +- fix bluetooth scan issues on older Android devices by asking for location permission
        +
         #### 2.0.1 (2025-04-06)
         - long pressing a button will trigger the action again every 250ms
         
        diff --git a/lib/pages/scan.dart b/lib/pages/scan.dart
        index 11ef3e0b3..20b0d4e0c 100644
        --- a/lib/pages/scan.dart
        +++ b/lib/pages/scan.dart
        @@ -30,9 +30,13 @@ class _ScanWidgetState extends State {
             WidgetsBinding.instance.addPostFrameCallback((_) {
               // must be called from a button
               if (!kIsWeb) {
        -        Future.delayed(Duration(seconds: 1)).then((_) {
        -          connection.performScanning();
        -        });
        +        Future.delayed(Duration(seconds: 1))
        +            .then((_) {
        +              return connection.performScanning();
        +            })
        +            .catchError((e) {
        +              print(e);
        +            });
               }
             });
           }
        diff --git a/lib/utils/requirements/android.dart b/lib/utils/requirements/android.dart
        index 084295196..4e42b0976 100644
        --- a/lib/utils/requirements/android.dart
        +++ b/lib/utils/requirements/android.dart
        @@ -34,6 +34,21 @@ class BluetoothScanRequirement extends PlatformRequirement {
           }
         }
         
        +class LocationRequirement extends PlatformRequirement {
        +  LocationRequirement() : super('Allow Location so Bluetooth scan works');
        +
        +  @override
        +  Future call() async {
        +    await Permission.locationWhenInUse.request();
        +  }
        +
        +  @override
        +  Future getStatus() async {
        +    final state = await Permission.locationWhenInUse.status;
        +    status = state.isGranted || state.isLimited;
        +  }
        +}
        +
         class BluetoothConnectRequirement extends PlatformRequirement {
           BluetoothConnectRequirement() : super('Allow Bluetooth Connections');
         
        diff --git a/lib/utils/requirements/platform.dart b/lib/utils/requirements/platform.dart
        index c790e7f4c..a23e73efb 100644
        --- a/lib/utils/requirements/platform.dart
        +++ b/lib/utils/requirements/platform.dart
        @@ -1,5 +1,6 @@
         import 'dart:io';
         
        +import 'package:device_info_plus/device_info_plus.dart';
         import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/utils/requirements/android.dart';
        @@ -29,12 +30,18 @@ Future> getRequirements() async {
           } else if (Platform.isWindows) {
             list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()];
           } else if (Platform.isAndroid) {
        +    final deviceInfoPlugin = DeviceInfoPlugin();
        +    final deviceInfo = await deviceInfoPlugin.androidInfo;
             list = [
               BluetoothTurnedOn(),
               AccessibilityRequirement(),
               NotificationRequirement(),
        -      BluetoothScanRequirement(),
        -      BluetoothConnectRequirement(),
        +      if (deviceInfo.version.sdkInt <= 30)
        +        LocationRequirement()
        +      else ...[
        +        BluetoothScanRequirement(),
        +        BluetoothConnectRequirement(),
        +      ],
               BluetoothScanning(),
             ];
           } else {
        diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift
        index cb222ffaa..2fafb04b7 100644
        --- a/macos/Flutter/GeneratedPluginRegistrant.swift
        +++ b/macos/Flutter/GeneratedPluginRegistrant.swift
        @@ -5,6 +5,7 @@
         import FlutterMacOS
         import Foundation
         
        +import device_info_plus
         import file_selector_macos
         import flutter_local_notifications
         import keypress_simulator_macos
        @@ -16,6 +17,7 @@ import url_launcher_macos
         import window_manager
         
         func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
        +  DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
           FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin"))
           FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin"))
           KeypressSimulatorMacosPlugin.register(with: registry.registrar(forPlugin: "KeypressSimulatorMacosPlugin"))
        diff --git a/pubspec.lock b/pubspec.lock
        index e1d910df4..9620eb55f 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -128,6 +128,22 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "0.7.11"
        +  device_info_plus:
        +    dependency: "direct main"
        +    description:
        +      name: device_info_plus
        +      sha256: "306b78788d1bb569edb7c55d622953c2414ca12445b41c9117963e03afc5c513"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "11.3.3"
        +  device_info_plus_platform_interface:
        +    dependency: transitive
        +    description:
        +      name: device_info_plus_platform_interface
        +      sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "7.0.2"
           fake_async:
             dependency: transitive
             description:
        @@ -912,6 +928,14 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "5.12.0"
        +  win32_registry:
        +    dependency: transitive
        +    description:
        +      name: win32_registry
        +      sha256: "6f1b564492d0147b330dd794fee8f512cec4977957f310f9951b5f9d83618dae"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "2.1.0"
           window_manager:
             dependency: "direct main"
             description:
        diff --git a/pubspec.yaml b/pubspec.yaml
        index a5d076fbb..e5cf6bfaf 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.0.1+0
        +version: 2.0.2+0
         
         environment:
           sdk: ^3.7.0
        @@ -19,6 +19,7 @@ dependencies:
           image_picker: ^1.1.2
           pointycastle: any
           window_manager: ^0.4.3
        +  device_info_plus: ^11.3.3
           keypress_simulator:
             path: keypress_simulator/packages/keypress_simulator
           shared_preferences: ^2.5.3
        
        From ada4cf0dfd7d63397a9558826ed47b5739bb3868 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 7 Apr 2025 15:21:45 +0200
        Subject: [PATCH 105/636] Android: better approximation of button placement for
         freeform windows
        
        ---
         .../accessibility/AccessibilityApi.kt         | 41 ++++++++++---------
         .../accessibility/AccessibilityPlugin.kt      |  5 ++-
         .../accessibility/AccessibilityService.kt     |  9 +---
         .../de/jonasbark/accessibility/Listener.kt    |  4 +-
         accessibility/api.dart                        | 16 ++++++--
         accessibility/lib/accessibility.dart          | 32 ++++++++++-----
         lib/utils/keymap/apps/my_whoosh.dart          | 15 ++++++-
         lib/utils/keymap/apps/training_peaks.dart     |  5 ++-
         8 files changed, 80 insertions(+), 47 deletions(-)
        
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt
        index a3faf1073..0b33f48e5 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt
        @@ -4,12 +4,7 @@
         
         
         import android.util.Log
        -import io.flutter.plugin.common.BasicMessageChannel
        -import io.flutter.plugin.common.BinaryMessenger
        -import io.flutter.plugin.common.EventChannel
        -import io.flutter.plugin.common.MessageCodec
        -import io.flutter.plugin.common.StandardMethodCodec
        -import io.flutter.plugin.common.StandardMessageCodec
        +import io.flutter.plugin.common.*
         import java.io.ByteArrayOutputStream
         import java.nio.ByteBuffer
         
        @@ -61,23 +56,29 @@ enum class MediaAction(val raw: Int) {
         /** Generated class from Pigeon that represents data sent in messages. */
         data class WindowEvent (
           val packageName: String,
        -  val windowHeight: Long,
        -  val windowWidth: Long
        +  val top: Long,
        +  val bottom: Long,
        +  val right: Long,
        +  val left: Long
         )
          {
           companion object {
             fun fromList(pigeonVar_list: List): WindowEvent {
               val packageName = pigeonVar_list[0] as String
        -      val windowHeight = pigeonVar_list[1] as Long
        -      val windowWidth = pigeonVar_list[2] as Long
        -      return WindowEvent(packageName, windowHeight, windowWidth)
        +      val top = pigeonVar_list[1] as Long
        +      val bottom = pigeonVar_list[2] as Long
        +      val right = pigeonVar_list[3] as Long
        +      val left = pigeonVar_list[4] as Long
        +      return WindowEvent(packageName, top, bottom, right, left)
             }
           }
           fun toList(): List {
             return listOf(
               packageName,
        -      windowHeight,
        -      windowWidth,
        +      top,
        +      bottom,
        +      right,
        +      left,
             )
           }
           override fun equals(other: Any?): Boolean {
        @@ -88,8 +89,10 @@ data class WindowEvent (
               return true
             }
             return packageName == other.packageName
        -    && windowHeight == other.windowHeight
        -    && windowWidth == other.windowWidth
        +    && top == other.top
        +    && bottom == other.bottom
        +    && right == other.right
        +    && left == other.left
           }
         
           override fun hashCode(): Int = toList().hashCode()
        @@ -232,9 +235,9 @@ private class AccessibilityApiPigeonStreamHandler(
         }
         
         interface AccessibilityApiPigeonEventChannelWrapper {
        -  open fun onListen(p0: Any?, sink: PigeonEventSink) {}
        +  fun onListen(p0: Any?, sink: PigeonEventSink) {}
         
        -  open fun onCancel(p0: Any?) {}
        +  fun onCancel(p0: Any?) {}
         }
         
         class PigeonEventSink(private val sink: EventChannel.EventSink) {
        @@ -250,7 +253,7 @@ class PigeonEventSink(private val sink: EventChannel.EventSink) {
             sink.endOfStream()
           }
         }
        -      
        +
         abstract class StreamEventsStreamHandler : AccessibilityApiPigeonEventChannelWrapper {
           companion object {
             fun register(messenger: BinaryMessenger, streamHandler: StreamEventsStreamHandler, instanceName: String = "") {
        @@ -263,4 +266,4 @@ abstract class StreamEventsStreamHandler : AccessibilityApiPigeonEventChannelWra
             }
           }
         }
        -      
        +
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        index 5eca6d597..53eec18f8 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        @@ -7,6 +7,7 @@ import StreamEventsStreamHandler
         import WindowEvent
         import android.content.Context
         import android.content.Intent
        +import android.graphics.Rect
         import android.os.Bundle
         import android.provider.Settings
         import androidx.core.content.ContextCompat.startActivity
        @@ -84,8 +85,8 @@ class EventListener : StreamEventsStreamHandler(), Receiver {
             eventSink = null
           }
         
        -  override fun onChange(packageName: String, windowWidth: Int, windowHeight: Int) {
        -    eventSink?.success(WindowEvent(packageName = packageName, windowWidth = windowWidth.toLong(), windowHeight = windowHeight.toLong()))
        +  override fun onChange(packageName: String, window: Rect) {
        +    eventSink?.success(WindowEvent(packageName = packageName, right = window.right.toLong(), left = window.left.toLong(), bottom = window.bottom.toLong(), top = window.top.toLong()))
           }
         
         }
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        index 9ca85d64f..72425c302 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        @@ -5,7 +5,6 @@ import android.accessibilityservice.GestureDescription
         import android.accessibilityservice.GestureDescription.StrokeDescription
         import android.graphics.Path
         import android.graphics.Rect
        -import android.os.Build
         import android.util.Log
         import android.view.ViewConfiguration
         import android.view.accessibility.AccessibilityEvent
        @@ -37,16 +36,12 @@ class AccessibilityService : AccessibilityService(), Listener {
                 }
                 val currentPackageName = event.packageName.toString()
                 val windowSize = getWindowSize()
        -        Observable.fromService?.onChange(packageName = currentPackageName, windowHeight = windowSize.bottom, windowWidth = windowSize.right)
        +        Observable.fromService?.onChange(packageName = currentPackageName, window = windowSize)
             }
         
             private fun getWindowSize(): Rect {
                 val outBounds = Rect()
        -        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
        -            rootInActiveWindow.getBoundsInWindow(outBounds)
        -        } else {
        -            rootInActiveWindow.getBoundsInScreen(outBounds)
        -        }
        +        rootInActiveWindow.getBoundsInScreen(outBounds)
                 return outBounds
             }
         
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/Listener.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/Listener.kt
        index 95ce4b0f6..db5b4395b 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/Listener.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/Listener.kt
        @@ -1,5 +1,7 @@
         package de.jonasbark.accessibility
         
        +import android.graphics.Rect
        +
         object Observable {
             var toService: Listener? = null
             var fromService: Receiver? = null
        @@ -10,5 +12,5 @@ interface Listener {
         }
         
         interface Receiver {
        -    fun onChange(packageName: String, windowWidth: Int, windowHeight: Int)
        +    fun onChange(packageName: String, window: Rect)
         }
        \ No newline at end of file
        diff --git a/accessibility/api.dart b/accessibility/api.dart
        index 1fb1454b6..2d55b7135 100644
        --- a/accessibility/api.dart
        +++ b/accessibility/api.dart
        @@ -15,10 +15,18 @@ enum MediaAction { playPause, next, volumeUp, volumeDown }
         
         class WindowEvent {
           final String packageName;
        -  final int windowHeight;
        -  final int windowWidth;
        -
        -  WindowEvent({required this.packageName, required this.windowHeight, required this.windowWidth});
        +  final int top;
        +  final int bottom;
        +  final int right;
        +  final int left;
        +
        +  WindowEvent({
        +    required this.packageName,
        +    required this.left,
        +    required this.right,
        +    required this.top,
        +    required this.bottom,
        +  });
         }
         
         @EventChannelApi()
        diff --git a/accessibility/lib/accessibility.dart b/accessibility/lib/accessibility.dart
        index aa0f034fa..e9df53585 100644
        --- a/accessibility/lib/accessibility.dart
        +++ b/accessibility/lib/accessibility.dart
        @@ -25,21 +25,29 @@ enum MediaAction {
         class WindowEvent {
           WindowEvent({
             required this.packageName,
        -    required this.windowHeight,
        -    required this.windowWidth,
        +    required this.top,
        +    required this.bottom,
        +    required this.right,
        +    required this.left,
           });
         
           String packageName;
         
        -  int windowHeight;
        +  int top;
         
        -  int windowWidth;
        +  int bottom;
        +
        +  int right;
        +
        +  int left;
         
           List _toList() {
             return [
               packageName,
        -      windowHeight,
        -      windowWidth,
        +      top,
        +      bottom,
        +      right,
        +      left,
             ];
           }
         
        @@ -50,8 +58,10 @@ class WindowEvent {
             result as List;
             return WindowEvent(
               packageName: result[0]! as String,
        -      windowHeight: result[1]! as int,
        -      windowWidth: result[2]! as int,
        +      top: result[1]! as int,
        +      bottom: result[2]! as int,
        +      right: result[3]! as int,
        +      left: result[4]! as int,
             );
           }
         
        @@ -66,8 +76,10 @@ class WindowEvent {
             }
             return 
               packageName == other.packageName
        -      && windowHeight == other.windowHeight
        -      && windowWidth == other.windowWidth;
        +      && top == other.top
        +      && bottom == other.bottom
        +      && right == other.right
        +      && left == other.left;
           }
         
           @override
        diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart
        index d407ef49c..d6c249886 100644
        --- a/lib/utils/keymap/apps/my_whoosh.dart
        +++ b/lib/utils/keymap/apps/my_whoosh.dart
        @@ -53,9 +53,20 @@ class MyWhoosh extends SupportedApp {
               throw SingleLineException("Window size not known - open $this first");
             }
             return switch (action.action) {
        -      InGameAction.shiftUp => Offset(windowInfo.windowWidth * 0.98, windowInfo.windowHeight * 0.94),
        -      InGameAction.shiftDown => Offset(windowInfo.windowWidth * 0.80, windowInfo.windowHeight * 0.94),
        +      InGameAction.shiftUp => Offset(
        +        windowInfo.right - windowInfo.width * 0.02,
        +        windowInfo.bottom - windowInfo.height * 0.06,
        +      ),
        +      InGameAction.shiftDown => Offset(
        +        windowInfo.right - windowInfo.width * 0.20,
        +        windowInfo.bottom - windowInfo.height * 0.06,
        +      ),
               _ => throw SingleLineException("Unsupported action for MyWhoosh: $action"),
             };
           }
         }
        +
        +extension WindowSize on WindowEvent {
        +  int get width => right - left;
        +  int get height => bottom - top;
        +}
        diff --git a/lib/utils/keymap/apps/training_peaks.dart b/lib/utils/keymap/apps/training_peaks.dart
        index 86228e356..d40eb8cb9 100644
        --- a/lib/utils/keymap/apps/training_peaks.dart
        +++ b/lib/utils/keymap/apps/training_peaks.dart
        @@ -1,6 +1,7 @@
         import 'package:accessibility/accessibility.dart';
         import 'package:dartx/dartx.dart';
         import 'package:flutter/services.dart';
        +import 'package:swift_control/utils/keymap/apps/my_whoosh.dart';
         import 'package:swift_control/utils/keymap/apps/supported_app.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
         import 'package:swift_control/utils/single_line_exception.dart';
        @@ -64,8 +65,8 @@ class TrainingPeaks extends SupportedApp {
               throw SingleLineException("Window size not known - open $this first");
             }
             return switch (action.action) {
        -      InGameAction.shiftUp => Offset(windowInfo.windowWidth / 2 * 1.32, windowInfo.windowHeight * 0.74),
        -      InGameAction.shiftDown => Offset(windowInfo.windowWidth / 2 * 1.15, windowInfo.windowHeight * 0.74),
        +      InGameAction.shiftUp => Offset(windowInfo.width / 2 * 1.32, windowInfo.height * 0.74),
        +      InGameAction.shiftDown => Offset(windowInfo.width / 2 * 1.15, windowInfo.height * 0.74),
               _ => throw SingleLineException("Unsupported action for IndieVelo: $action"),
             };
           }
        
        From 962abfb38e3ef3fbf1c457f40d429152b53e8b99 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 7 Apr 2025 15:35:05 +0200
        Subject: [PATCH 106/636] add some personal preference for MyWhoosh
        
        ---
         lib/utils/actions/android.dart       |  4 +++-
         lib/utils/keymap/apps/my_whoosh.dart | 23 +++++++++++++++++++++++
         2 files changed, 26 insertions(+), 1 deletion(-)
        
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index 13abd7f06..21dd7abea 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -41,7 +41,9 @@ class AndroidActions extends BaseActions {
               }
             }
             final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo);
        -    accessibilityHandler.performTouch(point.dx, point.dy);
        +    if (point != Offset.zero) {
        +      accessibilityHandler.performTouch(point.dx, point.dy);
        +    }
             return "Touch performed at: ${point.dx.toInt()}, ${point.dy.toInt()}";
           }
         }
        diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart
        index d6c249886..80ff8f441 100644
        --- a/lib/utils/keymap/apps/my_whoosh.dart
        +++ b/lib/utils/keymap/apps/my_whoosh.dart
        @@ -1,6 +1,7 @@
         import 'package:accessibility/accessibility.dart';
         import 'package:dartx/dartx.dart';
         import 'package:flutter/services.dart';
        +import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/keymap/apps/supported_app.dart';
         
         import '../../single_line_exception.dart';
        @@ -52,6 +53,24 @@ class MyWhoosh extends SupportedApp {
             if (windowInfo == null) {
               throw SingleLineException("Window size not known - open $this first");
             }
        +
        +    // just my personal preference
        +    switch (action) {
        +      case ZwiftButton.y:
        +        accessibilityHandler.controlMedia(MediaAction.volumeUp);
        +        return Offset.zero;
        +      case ZwiftButton.b:
        +        accessibilityHandler.controlMedia(MediaAction.volumeUp);
        +      case ZwiftButton.a:
        +        accessibilityHandler.controlMedia(MediaAction.next);
        +        return Offset.zero;
        +      case ZwiftButton.z:
        +        accessibilityHandler.controlMedia(MediaAction.playPause);
        +        return Offset.zero;
        +      default:
        +        break;
        +    }
        +
             return switch (action.action) {
               InGameAction.shiftUp => Offset(
                 windowInfo.right - windowInfo.width * 0.02,
        @@ -61,6 +80,10 @@ class MyWhoosh extends SupportedApp {
                 windowInfo.right - windowInfo.width * 0.20,
                 windowInfo.bottom - windowInfo.height * 0.06,
               ),
        +      InGameAction.navigateRight => Offset(
        +        windowInfo.right - windowInfo.width * 0.02,
        +        windowInfo.bottom - windowInfo.height * 0.20,
        +      ),
               _ => throw SingleLineException("Unsupported action for MyWhoosh: $action"),
             };
           }
        
        From 01a213354bf8e809ceb03bc66e37a0b706652ea9 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 8 Apr 2025 08:05:37 +0200
        Subject: [PATCH 107/636] potentially fix #12
        
        ---
         lib/utils/keymap/apps/training_peaks.dart | 8 ++++----
         1 file changed, 4 insertions(+), 4 deletions(-)
        
        diff --git a/lib/utils/keymap/apps/training_peaks.dart b/lib/utils/keymap/apps/training_peaks.dart
        index d40eb8cb9..5c5ff86e0 100644
        --- a/lib/utils/keymap/apps/training_peaks.dart
        +++ b/lib/utils/keymap/apps/training_peaks.dart
        @@ -18,13 +18,13 @@ class TrainingPeaks extends SupportedApp {
                     // https://help.trainingpeaks.com/hc/en-us/articles/31340399556877-TrainingPeaks-Virtual-Controls-and-Keyboard-Shortcuts
                     KeyPair(
                       buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftDown).toList(),
        -              physicalKey: PhysicalKeyboardKey.minus,
        -              logicalKey: LogicalKeyboardKey.minus,
        +              physicalKey: PhysicalKeyboardKey.numpadSubtract,
        +              logicalKey: LogicalKeyboardKey.numpadSubtract,
                     ),
                     KeyPair(
                       buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftUp).toList(),
        -              physicalKey: PhysicalKeyboardKey.equal,
        -              logicalKey: LogicalKeyboardKey.equal,
        +              physicalKey: PhysicalKeyboardKey.numpadAdd,
        +              logicalKey: LogicalKeyboardKey.numpadAdd,
                     ),
                     KeyPair(
                       buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.navigateRight).toList(),
        
        From 4051553a564e75f65b1cc3b455e38ae74c171b3c Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 8 Apr 2025 08:20:15 +0200
        Subject: [PATCH 108/636] fix button assignment and logging
        
        ---
         CHANGELOG.md                         | 3 +++
         lib/utils/actions/android.dart       | 1 +
         lib/utils/keymap/apps/my_whoosh.dart | 3 ++-
         macos/Podfile.lock                   | 6 ++++++
         4 files changed, 12 insertions(+), 1 deletion(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 26bac7b71..672e86f6f 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +#### 2.0.3 (2025-04-08)
        +- adjust TrainingPeaks Virtual key mapping (#12)
        +
         #### 2.0.2 (2025-04-07)
         - fix bluetooth scan issues on older Android devices by asking for location permission
         
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index 21dd7abea..1acaaacfd 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -43,6 +43,7 @@ class AndroidActions extends BaseActions {
             final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo);
             if (point != Offset.zero) {
               accessibilityHandler.performTouch(point.dx, point.dy);
        +      return "No touch performed";
             }
             return "Touch performed at: ${point.dx.toInt()}, ${point.dy.toInt()}";
           }
        diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart
        index 80ff8f441..ec69062c6 100644
        --- a/lib/utils/keymap/apps/my_whoosh.dart
        +++ b/lib/utils/keymap/apps/my_whoosh.dart
        @@ -60,7 +60,8 @@ class MyWhoosh extends SupportedApp {
                 accessibilityHandler.controlMedia(MediaAction.volumeUp);
                 return Offset.zero;
               case ZwiftButton.b:
        -        accessibilityHandler.controlMedia(MediaAction.volumeUp);
        +        accessibilityHandler.controlMedia(MediaAction.volumeDown);
        +        return Offset.zero;
               case ZwiftButton.a:
                 accessibilityHandler.controlMedia(MediaAction.next);
                 return Offset.zero;
        diff --git a/macos/Podfile.lock b/macos/Podfile.lock
        index a51035a4a..91abd31d7 100644
        --- a/macos/Podfile.lock
        +++ b/macos/Podfile.lock
        @@ -1,4 +1,6 @@
         PODS:
        +  - device_info_plus (0.0.1):
        +    - FlutterMacOS
           - file_selector_macos (0.0.1):
             - FlutterMacOS
           - flutter_local_notifications (0.0.1):
        @@ -22,6 +24,7 @@ PODS:
             - FlutterMacOS
         
         DEPENDENCIES:
        +  - device_info_plus (from `Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos`)
           - file_selector_macos (from `Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos`)
           - flutter_local_notifications (from `Flutter/ephemeral/.symlinks/plugins/flutter_local_notifications/macos`)
           - FlutterMacOS (from `Flutter/ephemeral`)
        @@ -34,6 +37,8 @@ DEPENDENCIES:
           - window_manager (from `Flutter/ephemeral/.symlinks/plugins/window_manager/macos`)
         
         EXTERNAL SOURCES:
        +  device_info_plus:
        +    :path: Flutter/ephemeral/.symlinks/plugins/device_info_plus/macos
           file_selector_macos:
             :path: Flutter/ephemeral/.symlinks/plugins/file_selector_macos/macos
           flutter_local_notifications:
        @@ -56,6 +61,7 @@ EXTERNAL SOURCES:
             :path: Flutter/ephemeral/.symlinks/plugins/window_manager/macos
         
         SPEC CHECKSUMS:
        +  device_info_plus: 1b14eed9bf95428983aed283a8d51cce3d8c4215
           file_selector_macos: cc3858c981fe6889f364731200d6232dac1d812d
           flutter_local_notifications: 4ccab5b7a22835214a6672e3f9c5e8ae207dab36
           FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
        
        From cb9f9ea5b3941dc4b29ca5f3919e83e2858f8c06 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 8 Apr 2025 08:33:18 +0200
        Subject: [PATCH 109/636] reconnect device if connection is lost
        
        ---
         CHANGELOG.md                           |  1 +
         lib/bluetooth/connection.dart          | 17 ++++++++++++++---
         lib/bluetooth/devices/base_device.dart | 17 +++++++++++------
         3 files changed, 26 insertions(+), 9 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 672e86f6f..655a22894 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,5 +1,6 @@
         #### 2.0.3 (2025-04-08)
         - adjust TrainingPeaks Virtual key mapping (#12)
        +- attempt to reconnect device if connection is lost 
         
         #### 2.0.2 (2025-04-07)
         - fix bluetooth scan issues on older Android devices by asking for location permission
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index 0ff1e2a02..46ff04474 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -56,6 +56,7 @@ class Connection {
         
           Future performScanning() async {
             isScanning.value = true;
        +    _actionStreams.add(LogNotification('Scanning for devices...'));
         
             // does not work on web, may not work on Windows
             if (!kIsWeb && !Platform.isWindows) {
        @@ -126,11 +127,21 @@ class Connection {
               final actionSubscription = bleDevice.actionStream.listen((data) {
                 _actionStreams.add(data);
               });
        -      final connectionStateSubscription = UniversalBle.connectionStream(bleDevice.device.deviceId).listen((
        -        state,
        -      ) async {
        +      final connectionStateSubscription = UniversalBle.connectionStream(bleDevice.device.deviceId).listen((state) {
                 bleDevice.isConnected = state.isConnected;
                 _connectionStreams.add(bleDevice);
        +        if (!bleDevice.isConnected) {
        +          devices.remove(bleDevice);
        +          _streamSubscriptions[bleDevice]?.cancel();
        +          _streamSubscriptions.remove(bleDevice);
        +          _connectionSubscriptions[bleDevice]?.cancel();
        +          _connectionSubscriptions.remove(bleDevice);
        +          _lastScanResult.clear();
        +          // try reconnect
        +          if (!isScanning.value) {
        +            performScanning();
        +          }
        +        }
               });
               _connectionSubscriptions[bleDevice] = connectionStateSubscription;
         
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 46e71e05a..4122cd4d8 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -241,12 +241,17 @@ abstract class BaseDevice {
                         actionStreamInternal.add(LogNotification('Buttons released'));
                         _longPressTimer?.cancel();
                       } else {
        -                _longPressTimer?.cancel();
        -                _longPressTimer = Timer.periodic(const Duration(milliseconds: 250), (timer) async {
        -                  for (final action in buttonsClicked) {
        -                    actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        -                  }
        -                });
        +                if (!(buttonsClicked.singleOrNull == ZwiftButton.onOffLeft ||
        +                    buttonsClicked.singleOrNull == ZwiftButton.onOffRight)) {
        +                  // we don't want to trigger the long press timer for the on/off buttons
        +                  _longPressTimer?.cancel();
        +                  _longPressTimer = Timer.periodic(const Duration(milliseconds: 250), (timer) async {
        +                    for (final action in buttonsClicked) {
        +                      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        +                    }
        +                  });
        +                }
        +
                         for (final action in buttonsClicked) {
                           actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
                         }
        
        From a554820115dab2692ff2a1bf6d8623a379a0b460 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 8 Apr 2025 08:42:43 +0200
        Subject: [PATCH 110/636] open menu to make it clear you can simulate touch
         *and* keyboard press
        
        ---
         CHANGELOG.md              |  1 +
         lib/pages/touch_area.dart | 43 ++++++++++++++++++++++++---------------
         2 files changed, 28 insertions(+), 16 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 655a22894..99319791e 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,6 +1,7 @@
         #### 2.0.3 (2025-04-08)
         - adjust TrainingPeaks Virtual key mapping (#12)
         - attempt to reconnect device if connection is lost 
        +- Android: detect freeform windows for MyWhoosh + TrainingPeaks Virtual keymaps 
         
         #### 2.0.2 (2025-04-07)
         - fix bluetooth scan issues on older Android devices by asking for location permission
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index afa819cf1..02573e0a9 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -6,6 +6,7 @@ import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:flutter/services.dart';
         import 'package:image_picker/image_picker.dart';
        +import 'package:keypress_simulator/keypress_simulator.dart';
         import 'package:swift_control/main.dart';
         import 'package:window_manager/window_manager.dart';
         
        @@ -65,7 +66,7 @@ class _TouchAreaSetupPageState extends State {
             if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) {
               windowManager.setFullScreen(true);
             }
        -    _actionSubscription = connection.actionStream.listen((data) {
        +    _actionSubscription = connection.actionStream.listen((data) async {
               if (!mounted) {
                 return;
               }
        @@ -81,8 +82,9 @@ class _TouchAreaSetupPageState extends State {
         
               if (_pressedButton != null) {
                 if (actionHandler.supportedApp!.keymap.getKeyPair(_pressedButton!) == null) {
        +          final KeyPair keyPair;
                   actionHandler.supportedApp!.keymap.keyPairs.add(
        -            KeyPair(
        +            keyPair = KeyPair(
                       touchPosition: context.size!.center(Offset.zero),
                       buttons: [_pressedButton!],
                       physicalKey: null,
        @@ -90,6 +92,12 @@ class _TouchAreaSetupPageState extends State {
                     ),
                   );
                   setState(() {});
        +
        +          // open menu
        +          if (Platform.isMacOS || Platform.isWindows) {
        +            await Future.delayed(Duration(milliseconds: 300));
        +            await keyPressSimulator.simulateMouseClick(keyPair.touchPosition);
        +          }
                 }
               }
             });
        @@ -122,16 +130,23 @@ class _TouchAreaSetupPageState extends State {
                           setState(() {});
                         },
                       ),
        -              if (keyPair.physicalKey != null)
        -                PopupMenuItem(
        -                  value: null,
        -                  child: const Text('Use as touch button'),
        -                  onTap: () {
        -                    keyPair.physicalKey = null;
        -                    keyPair.logicalKey = null;
        -                    setState(() {});
        -                  },
        -                ),
        +              PopupMenuItem(
        +                value: null,
        +                child: const Text('Use as touch button'),
        +                onTap: () {
        +                  keyPair.physicalKey = null;
        +                  keyPair.logicalKey = null;
        +                  setState(() {});
        +                },
        +              ),
        +              PopupMenuItem(
        +                value: null,
        +                child: const Text('Remove'),
        +                onTap: () {
        +                  actionHandler.supportedApp!.keymap.keyPairs.remove(keyPair);
        +                  setState(() {});
        +                },
        +              ),
                     ],
                 onSelected: (key) {
                   keyPair.physicalKey = key;
        @@ -148,12 +163,8 @@ class _TouchAreaSetupPageState extends State {
                           color: Colors.transparent,
                           child: _TouchDot(color: Colors.yellow, label: label, keyPair: keyPair),
                         ),
        -                onDragUpdate: (details) {
        -                  print('Dragging: ${details.localPosition}');
        -                },
                         childWhenDragging: const SizedBox.shrink(),
                         onDraggableCanceled: (_, offset) {
        -                  print('Drag canceled: ${offset}');
                           setState(() => onPositionChanged(offset));
                         },
                         child: _TouchDot(color: color, label: label, keyPair: keyPair),
        
        From 7b1e4ede2ae8e0da3b1aef1e8530438b5d6d8761 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 8 Apr 2025 08:53:57 +0200
        Subject: [PATCH 111/636] version++
        
        ---
         pubspec.yaml | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/pubspec.yaml b/pubspec.yaml
        index e5cf6bfaf..aa63bef36 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.0.2+0
        +version: 2.0.3+0
         
         environment:
           sdk: ^3.7.0
        
        From 6bf83b103403b1b8176caa0273a748df9972c0e0 Mon Sep 17 00:00:00 2001
        From: jonasbark 
        Date: Wed, 9 Apr 2025 17:43:06 +0200
        Subject: [PATCH 112/636] Aktualisieren von README.md
        
        ---
         README.md | 4 +++-
         1 file changed, 3 insertions(+), 1 deletion(-)
        
        diff --git a/README.md b/README.md
        index 9dce1fd13..c213668e1 100644
        --- a/README.md
        +++ b/README.md
        @@ -35,7 +35,9 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         ## Supported Platforms
         - Android
         - macOS
        -- Windows (make sure you have installed the "[Microsoft Visual C++ Runtime libraries](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170)")
        +- Windows 
        +  - make sure you have installed the "[Microsoft Visual C++ Runtime libraries](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170)"
        +  - Windows may flag the app as virus. I think it does so because the app does control the mouse and keyboard.
         - [Web](https://jonasbark.github.io/swiftcontrol/) (you won't be able to do much)
         
         ## Troubleshooting
        
        From f1b8822e20927d25cce9cce18c8c1e85044e0aca Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Thu, 10 Apr 2025 13:31:55 +0200
        Subject: [PATCH 113/636] vibrate Zwift Play / Zwift Ride controller on gear
         shift (thanks @cagnulein, closes #16)
        
        ---
         CHANGELOG.md                           |  3 ++
         lib/bluetooth/ble.dart                 |  1 +
         lib/bluetooth/devices/base_device.dart | 40 +++++++++++++++++++-------
         pubspec.yaml                           |  2 +-
         4 files changed, 34 insertions(+), 12 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 99319791e..be9b0a2df 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +#### 2.0.4 (2025-04-10)
        +- vibrate Zwift Play / Zwift Ride controller on gear shift (thanks @cagnulein, closes #16)
        +
         #### 2.0.3 (2025-04-08)
         - adjust TrainingPeaks Virtual key mapping (#12)
         - attempt to reconnect device if connection is lost 
        diff --git a/lib/bluetooth/ble.dart b/lib/bluetooth/ble.dart
        index e4340039a..2e2881688 100644
        --- a/lib/bluetooth/ble.dart
        +++ b/lib/bluetooth/ble.dart
        @@ -23,6 +23,7 @@ class Constants {
           static const BC1 = 0x09;
         
           static final RIDE_ON = Uint8List.fromList([0x52, 0x69, 0x64, 0x65, 0x4f, 0x6e]);
        +  static final VIBRATE_PATTERN = Uint8List.fromList([0x12, 0x12, 0x08, 0x0A, 0x06, 0x08, 0x02, 0x10, 0x00, 0x18]);
         
           // these don't actually seem to matter, its just the header has to be 7 bytes RIDEON + 2
           static final REQUEST_START = Uint8List.fromList([0, 9]); //byteArrayOf(1, 2)
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 4122cd4d8..76a2fab01 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -27,6 +27,7 @@ abstract class BaseDevice {
         
           bool supportsEncryption = true;
         
        +  BleCharacteristic? syncRxCharacteristic;
           Timer? _longPressTimer;
         
           List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_CLICK;
        @@ -114,7 +115,7 @@ abstract class BaseDevice {
             final syncTxCharacteristic = customService.characteristics.firstOrNullWhere(
               (characteristic) => characteristic.uuid == BleUuid.ZWIFT_SYNC_TX_CHARACTERISTIC_UUID,
             );
        -    final syncRxCharacteristic = customService.characteristics.firstOrNullWhere(
        +    syncRxCharacteristic = customService.characteristics.firstOrNullWhere(
               (characteristic) => characteristic.uuid == BleUuid.ZWIFT_SYNC_RX_CHARACTERISTIC_UUID,
             );
         
        @@ -135,15 +136,15 @@ abstract class BaseDevice {
               BleInputProperty.indication,
             );
         
        -    await _setupHandshake(syncRxCharacteristic);
        +    await _setupHandshake();
           }
         
        -  Future _setupHandshake(BleCharacteristic syncRxCharacteristic) async {
        +  Future _setupHandshake() async {
             if (supportsEncryption) {
               await UniversalBle.writeValue(
                 device.deviceId,
                 customServiceId,
        -        syncRxCharacteristic.uuid,
        +        syncRxCharacteristic!.uuid,
                 Uint8List.fromList([
                   ...Constants.RIDE_ON,
                   ...Constants.REQUEST_START,
        @@ -155,7 +156,7 @@ abstract class BaseDevice {
               await UniversalBle.writeValue(
                 device.deviceId,
                 customServiceId,
        -        syncRxCharacteristic.uuid,
        +        syncRxCharacteristic!.uuid,
                 Constants.RIDE_ON,
                 BleOutputProperty.withoutResponse,
               );
        @@ -246,15 +247,11 @@ abstract class BaseDevice {
                           // we don't want to trigger the long press timer for the on/off buttons
                           _longPressTimer?.cancel();
                           _longPressTimer = Timer.periodic(const Duration(milliseconds: 250), (timer) async {
        -                    for (final action in buttonsClicked) {
        -                      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        -                    }
        +                    _performActions(buttonsClicked, true);
                           });
                         }
         
        -                for (final action in buttonsClicked) {
        -                  actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        -                }
        +                _performActions(buttonsClicked, false);
                       }
                     })
                     .catchError((e) {
        @@ -265,4 +262,25 @@ abstract class BaseDevice {
           }
         
           Future?> processClickNotification(Uint8List message);
        +
        +  Future _performActions(List buttonsClicked, bool repeated) async {
        +    if (!repeated &&
        +        buttonsClicked.any(((e) => e.action == InGameAction.shiftDown || e.action == InGameAction.shiftUp))) {
        +      await _vibrate();
        +    }
        +    for (final action in buttonsClicked) {
        +      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        +    }
        +  }
        +
        +  Future _vibrate() async {
        +    final vibrateCommand = Uint8List.fromList([...Constants.VIBRATE_PATTERN, 0x20]);
        +    await UniversalBle.writeValue(
        +      device.deviceId,
        +      customServiceId,
        +      syncRxCharacteristic!.uuid,
        +      supportsEncryption ? zapEncryption.encrypt(vibrateCommand) : vibrateCommand,
        +      BleOutputProperty.withoutResponse,
        +    );
        +  }
         }
        diff --git a/pubspec.yaml b/pubspec.yaml
        index aa63bef36..7ecc1a920 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.0.3+0
        +version: 2.0.4+0
         
         environment:
           sdk: ^3.7.0
        
        From 354e13678b81c12e24cc03393e108da5758cb521 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 13 Apr 2025 20:47:42 +0200
        Subject: [PATCH 114/636] fix Zwift Click button assignment #12
        
        ---
         CHANGELOG.md                                   | 13 ++++++++-----
         lib/bluetooth/messages/click_notification.dart |  4 ++--
         pubspec.yaml                                   |  2 +-
         3 files changed, 11 insertions(+), 8 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index be9b0a2df..209b3c024 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,18 +1,21 @@
        -#### 2.0.4 (2025-04-10)
        +### 2.0.5 (2025-04-13)
        +- fix Zwift Click button assignment (#12)
        +
        +### 2.0.4 (2025-04-10)
         - vibrate Zwift Play / Zwift Ride controller on gear shift (thanks @cagnulein, closes #16)
         
        -#### 2.0.3 (2025-04-08)
        +### 2.0.3 (2025-04-08)
         - adjust TrainingPeaks Virtual key mapping (#12)
         - attempt to reconnect device if connection is lost 
         - Android: detect freeform windows for MyWhoosh + TrainingPeaks Virtual keymaps 
         
        -#### 2.0.2 (2025-04-07)
        +### 2.0.2 (2025-04-07)
         - fix bluetooth scan issues on older Android devices by asking for location permission
         
        -#### 2.0.1 (2025-04-06)
        +### 2.0.1 (2025-04-06)
         - long pressing a button will trigger the action again every 250ms
         
        -#### 2.0.0 (2025-04-06)
        +### 2.0.0 (2025-04-06)
         - You can now customize the actions (touches, mouse clicks or keyboard keys) for all buttons on all supported Zwift devices
         - now shows the battery level of the connected devices
         - add more troubleshooting information
        diff --git a/lib/bluetooth/messages/click_notification.dart b/lib/bluetooth/messages/click_notification.dart
        index c7a8ed2bd..6f381c3d2 100644
        --- a/lib/bluetooth/messages/click_notification.dart
        +++ b/lib/bluetooth/messages/click_notification.dart
        @@ -12,8 +12,8 @@ class ClickNotification extends BaseNotification {
           ClickNotification(Uint8List message) {
             final status = ClickKeyPadStatus.fromBuffer(message);
             buttonsClicked = [
        -      if (status.buttonPlus == PlayButtonStatus.ON) ZwiftButton.shiftUpLeft,
        -      if (status.buttonMinus == PlayButtonStatus.ON) ZwiftButton.shiftDownRight,
        +      if (status.buttonPlus == PlayButtonStatus.ON) ZwiftButton.shiftUpRight,
        +      if (status.buttonMinus == PlayButtonStatus.ON) ZwiftButton.shiftDownLeft,
             ];
           }
         
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 7ecc1a920..8d1546f70 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.0.4+0
        +version: 2.0.5+0
         
         environment:
           sdk: ^3.7.0
        
        From 4f4a6f60c5d30438ab7a43469c0a54f848d21525 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 15 Apr 2025 11:18:42 +0200
        Subject: [PATCH 115/636] fix MyWhoosh up / downshift button assignment (I key
         vs K key)
        
        ---
         CHANGELOG.md                         | 3 +++
         lib/utils/keymap/apps/my_whoosh.dart | 8 ++++----
         pubspec.yaml                         | 2 +-
         3 files changed, 8 insertions(+), 5 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 209b3c024..08966a6b7 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 2.0.6 (2025-04-15)
        +- fix MyWhoosh up / downshift button assignment (I key vs K key)
        +
         ### 2.0.5 (2025-04-13)
         - fix Zwift Click button assignment (#12)
         
        diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart
        index ec69062c6..380746b71 100644
        --- a/lib/utils/keymap/apps/my_whoosh.dart
        +++ b/lib/utils/keymap/apps/my_whoosh.dart
        @@ -17,13 +17,13 @@ class MyWhoosh extends SupportedApp {
                   keyPairs: [
                     KeyPair(
                       buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftDown).toList(),
        -              physicalKey: PhysicalKeyboardKey.keyK,
        -              logicalKey: LogicalKeyboardKey.keyK,
        +              physicalKey: PhysicalKeyboardKey.keyI,
        +              logicalKey: LogicalKeyboardKey.keyI,
                     ),
                     KeyPair(
                       buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftUp).toList(),
        -              physicalKey: PhysicalKeyboardKey.keyI,
        -              logicalKey: LogicalKeyboardKey.keyI,
        +              physicalKey: PhysicalKeyboardKey.keyK,
        +              logicalKey: LogicalKeyboardKey.keyK,
                     ),
                     KeyPair(
                       buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.navigateRight).toList(),
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 8d1546f70..2409420a1 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.0.5+0
        +version: 2.0.6+0
         
         environment:
           sdk: ^3.7.0
        
        From ec6edb2864f408bb9f9769a0ce69d993dfd3149b Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Fri, 18 Apr 2025 09:44:19 +0200
        Subject: [PATCH 116/636] add Biketerra keymap (fixes #17)
        
        ---
         lib/utils/keymap/apps/biketerra.dart     | 49 ++++++++++++++++++++++++
         lib/utils/keymap/apps/supported_app.dart |  3 +-
         2 files changed, 51 insertions(+), 1 deletion(-)
         create mode 100644 lib/utils/keymap/apps/biketerra.dart
        
        diff --git a/lib/utils/keymap/apps/biketerra.dart b/lib/utils/keymap/apps/biketerra.dart
        new file mode 100644
        index 000000000..98cab0eb0
        --- /dev/null
        +++ b/lib/utils/keymap/apps/biketerra.dart
        @@ -0,0 +1,49 @@
        +import 'package:accessibility/accessibility.dart';
        +import 'package:dartx/dartx.dart';
        +import 'package:flutter/services.dart';
        +import 'package:swift_control/utils/keymap/apps/supported_app.dart';
        +
        +import '../buttons.dart';
        +import '../keymap.dart';
        +
        +class Biketerra extends SupportedApp {
        +  Biketerra()
        +    : super(
        +        name: 'Biketerra',
        +        packageName: "biketerra",
        +        keymap: Keymap(
        +          keyPairs: [
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftDown).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyS,
        +              logicalKey: LogicalKeyboardKey.keyS,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.shiftUp).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyW,
        +              logicalKey: LogicalKeyboardKey.keyW,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.navigateRight).toList(),
        +              physicalKey: PhysicalKeyboardKey.arrowRight,
        +              logicalKey: LogicalKeyboardKey.arrowRight,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.navigateLeft).toList(),
        +              physicalKey: PhysicalKeyboardKey.arrowLeft,
        +              logicalKey: LogicalKeyboardKey.arrowLeft,
        +            ),
        +            KeyPair(
        +              buttons: ZwiftButton.values.filter((e) => e.action == InGameAction.toggleUi).toList(),
        +              physicalKey: PhysicalKeyboardKey.keyU,
        +              logicalKey: LogicalKeyboardKey.keyU,
        +            ),
        +          ],
        +        ),
        +      );
        +}
        +
        +extension WindowSize on WindowEvent {
        +  int get width => right - left;
        +  int get height => bottom - top;
        +}
        diff --git a/lib/utils/keymap/apps/supported_app.dart b/lib/utils/keymap/apps/supported_app.dart
        index 383ca0eeb..41fd70df3 100644
        --- a/lib/utils/keymap/apps/supported_app.dart
        +++ b/lib/utils/keymap/apps/supported_app.dart
        @@ -1,6 +1,7 @@
         import 'dart:ui';
         
         import 'package:accessibility/accessibility.dart';
        +import 'package:swift_control/utils/keymap/apps/biketerra.dart';
         import 'package:swift_control/utils/keymap/apps/training_peaks.dart';
         
         import '../../single_line_exception.dart';
        @@ -27,7 +28,7 @@ abstract class SupportedApp {
         
           const SupportedApp({required this.name, required this.packageName, required this.keymap});
         
        -  static final List supportedApps = [MyWhoosh(), TrainingPeaks(), CustomApp()];
        +  static final List supportedApps = [MyWhoosh(), TrainingPeaks(), Biketerra(), CustomApp()];
         
           @override
           String toString() {
        
        From ff83e5271b489894b53c37f6520935c0bfd9a58c Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 23 Apr 2025 08:29:34 +0200
        Subject: [PATCH 117/636] add Biketerra keymap (fixes #17)
        
        ---
         CHANGELOG.md | 3 +++
         README.md    | 1 +
         pubspec.yaml | 2 +-
         3 files changed, 5 insertions(+), 1 deletion(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 08966a6b7..4175550d9 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 2.0.7 (2025-04-18)
        +- add Biketerra.com keymap
        +
         ### 2.0.6 (2025-04-15)
         - fix MyWhoosh up / downshift button assignment (I key vs K key)
         
        diff --git a/README.md b/README.md
        index c213668e1..ac536fc7a 100644
        --- a/README.md
        +++ b/README.md
        @@ -23,6 +23,7 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         ## Supported Apps
         - MyWhoosh
         - indieVelo / Training Peaks
        +- Biketerra.com
         - any other: 
           - Android: you can customize simulated touch points of all your buttons in the app
           - Desktop: you can customize keyboard shortcuts and mouse clicks in the app
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 2409420a1..4cb038b13 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.0.6+0
        +version: 2.0.7+0
         
         environment:
           sdk: ^3.7.0
        
        From f7bfd8c206f71375a9c309105ee9c7986e88edb6 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Fri, 25 Apr 2025 09:23:58 +0200
        Subject: [PATCH 118/636] UX improvements
        
        ---
         CHANGELOG.md                            |  1 +
         lib/main.dart                           |  2 +-
         lib/pages/touch_area.dart               | 77 +++++++++++++++++++++----
         lib/widgets/custom_keymap_selector.dart | 37 ------------
         4 files changed, 67 insertions(+), 50 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 4175550d9..87850b06d 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,5 +1,6 @@
         ### 2.0.7 (2025-04-18)
         - add Biketerra.com keymap
        +- some UX improvements
         
         ### 2.0.6 (2025-04-15)
         - fix MyWhoosh up / downshift button assignment (I key vs K key)
        diff --git a/lib/main.dart b/lib/main.dart
        index e1a1da079..19a0e4baa 100644
        --- a/lib/main.dart
        +++ b/lib/main.dart
        @@ -45,7 +45,7 @@ class SwiftPlayApp extends StatelessWidget {
               title: 'SwiftControl',
               theme: AppTheme.light,
               darkTheme: AppTheme.dark,
        -      themeMode: ThemeMode.system,
        +      themeMode: ThemeMode.dark,
               home: const RequirementsPage(),
             );
           }
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index 02573e0a9..5925d36b8 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -85,7 +85,9 @@ class _TouchAreaSetupPageState extends State {
                   final KeyPair keyPair;
                   actionHandler.supportedApp!.keymap.keyPairs.add(
                     keyPair = KeyPair(
        -              touchPosition: context.size!.center(Offset.zero),
        +              touchPosition: context.size!
        +                  .center(Offset.zero)
        +                  .translate(actionHandler.supportedApp!.keymap.keyPairs.length * 40, 0),
                       buttons: [_pressedButton!],
                       physicalKey: null,
                       logicalKey: null,
        @@ -130,6 +132,49 @@ class _TouchAreaSetupPageState extends State {
                           setState(() {});
                         },
                       ),
        +              PopupMenuItem(
        +                child: PopupMenuButton(
        +                  padding: EdgeInsets.zero,
        +                  itemBuilder:
        +                      (context) => [
        +                        PopupMenuItem(
        +                          value: PhysicalKeyboardKey.mediaPlayPause,
        +                          child: const Text('Media: Play/Pause'),
        +                        ),
        +                        PopupMenuItem(
        +                          value: PhysicalKeyboardKey.mediaStop,
        +                          child: const Text('Media: Stop'),
        +                        ),
        +                        PopupMenuItem(
        +                          value: PhysicalKeyboardKey.mediaTrackPrevious,
        +                          child: const Text('Media: Previous'),
        +                        ),
        +                        PopupMenuItem(
        +                          value: PhysicalKeyboardKey.mediaTrackNext,
        +                          child: const Text('Media: Next'),
        +                        ),
        +                        PopupMenuItem(
        +                          value: PhysicalKeyboardKey.audioVolumeUp,
        +                          child: const Text('Media: Volume Up'),
        +                        ),
        +                        PopupMenuItem(
        +                          value: PhysicalKeyboardKey.audioVolumeDown,
        +                          child: const Text('Media: Volume Down'),
        +                        ),
        +                      ],
        +                  onSelected: (key) {
        +                    keyPair.physicalKey = key;
        +                    keyPair.logicalKey = null;
        +
        +                    setState(() {});
        +                  },
        +                  child: SizedBox(
        +                    height: 50,
        +                    width: 180,
        +                    child: Align(alignment: Alignment.centerLeft, child: Text('Set Media key')),
        +                  ),
        +                ),
        +              ),
                       PopupMenuItem(
                         value: null,
                         child: const Text('Use as touch button'),
        @@ -282,17 +327,25 @@ class _TouchDot extends StatelessWidget {
                   ),
                 ),
         
        -        Text(label, style: TextStyle(color: Colors.black, fontSize: 12)),
        -        if (keyPair.physicalKey != null)
        -          Text(switch (keyPair.physicalKey) {
        -            PhysicalKeyboardKey.mediaPlayPause => 'Media: Play/Pause',
        -            PhysicalKeyboardKey.mediaStop => 'Media: Stop',
        -            PhysicalKeyboardKey.mediaTrackPrevious => 'Media: Previous',
        -            PhysicalKeyboardKey.mediaTrackNext => 'Media: Next',
        -            PhysicalKeyboardKey.audioVolumeUp => 'Media: Volume Up',
        -            PhysicalKeyboardKey.audioVolumeDown => 'Media: Volume Down',
        -            _ => keyPair.logicalKey?.keyLabel ?? 'Unknown',
        -          }, style: TextStyle(color: Colors.grey, fontSize: 12)),
        +        Container(
        +          color: Colors.white.withAlpha(180),
        +          child: Column(
        +            crossAxisAlignment: CrossAxisAlignment.start,
        +            children: [
        +              Text(label, style: TextStyle(color: Colors.black, fontSize: 12)),
        +              if (keyPair.physicalKey != null)
        +                Text(switch (keyPair.physicalKey) {
        +                  PhysicalKeyboardKey.mediaPlayPause => 'Media: Play/Pause',
        +                  PhysicalKeyboardKey.mediaStop => 'Media: Stop',
        +                  PhysicalKeyboardKey.mediaTrackPrevious => 'Media: Previous',
        +                  PhysicalKeyboardKey.mediaTrackNext => 'Media: Next',
        +                  PhysicalKeyboardKey.audioVolumeUp => 'Media: Volume Up',
        +                  PhysicalKeyboardKey.audioVolumeDown => 'Media: Volume Down',
        +                  _ => keyPair.logicalKey?.keyLabel ?? 'Unknown',
        +                }, style: TextStyle(color: Colors.black87, fontSize: 12)),
        +            ],
        +          ),
        +        ),
               ],
             );
           }
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        index 3d7ce10d5..5bc6c3617 100644
        --- a/lib/widgets/custom_keymap_selector.dart
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -99,43 +99,6 @@ class _HotKeyListenerState extends State {
                           children: [
                             Text("Press a key on your keyboard to assign to ${_pressedButton.toString()}"),
                             Text(_formatKey(_pressedKey)),
        -                    PopupMenuButton(
        -                      tooltip: 'Drag or click for special keys',
        -                      itemBuilder:
        -                          (context) => [
        -                            PopupMenuItem(
        -                              value: PhysicalKeyboardKey.mediaPlayPause,
        -                              child: const Text('Media: Play/Pause'),
        -                            ),
        -                            PopupMenuItem(
        -                              value: PhysicalKeyboardKey.mediaStop,
        -                              child: const Text('Media: Stop'),
        -                            ),
        -                            PopupMenuItem(
        -                              value: PhysicalKeyboardKey.mediaTrackPrevious,
        -                              child: const Text('Media: Previous'),
        -                            ),
        -                            PopupMenuItem(
        -                              value: PhysicalKeyboardKey.mediaTrackNext,
        -                              child: const Text('Media: Next'),
        -                            ),
        -                            PopupMenuItem(
        -                              value: PhysicalKeyboardKey.audioVolumeUp,
        -                              child: const Text('Media: Volume Up'),
        -                            ),
        -                            PopupMenuItem(
        -                              value: PhysicalKeyboardKey.audioVolumeDown,
        -                              child: const Text('Media: Volume Down'),
        -                            ),
        -                          ],
        -                      onSelected: (key) {
        -                        widget.customApp.setKey(_pressedButton!, physicalKey: key, logicalKey: null);
        -                        Navigator.pop(context, key);
        -                      },
        -                      child: IgnorePointer(
        -                        child: ElevatedButton(onPressed: () {}, child: Text('Or choose special key')),
        -                      ),
        -                    ),
                           ],
                         ),
                       ),
        
        From 71aadde90131fe8d25ce1d1792152bb36da1c773 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Fri, 2 May 2025 19:10:56 +0200
        Subject: [PATCH 119/636] more troubleshooting, always use light theme
        
        ---
         CHANGELOG.md                           | 4 ++++
         README.md                              | 3 ++-
         lib/bluetooth/devices/base_device.dart | 6 +++++-
         lib/main.dart                          | 2 +-
         pubspec.yaml                           | 2 +-
         5 files changed, 13 insertions(+), 4 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 87850b06d..b78571967 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,7 @@
        +### 2.0.8 (2025-05-02)
        +- only use the light theme for the app
        +- more troubleshooting information
        +
         ### 2.0.7 (2025-04-18)
         - add Biketerra.com keymap
         - some UX improvements
        diff --git a/README.md b/README.md
        index ac536fc7a..6c9681802 100644
        --- a/README.md
        +++ b/README.md
        @@ -42,7 +42,8 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         - [Web](https://jonasbark.github.io/swiftcontrol/) (you won't be able to do much)
         
         ## Troubleshooting
        -Your Zwift device is found but connection does not work properly? You may need to update the firmware in Zwift Companion app.
        +- Your Zwift device is found but connection does not work properly? You may need to update the firmware in Zwift Companion app.
        +- The Android app is losing connection over time? Read about how to [keep the app alive](https://dontkillmyapp.com/).
         
         ## How does it work?
         The app connects to your Zwift device automatically. 
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 76a2fab01..175e04109 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -209,7 +209,11 @@ abstract class BaseDevice {
               final payload = bytes.sublist(4);
         
               if (zapEncryption.encryptionKeyBytes == null) {
        -        actionStreamInternal.add(LogNotification('Encryption not initialized, yet.'));
        +        actionStreamInternal.add(
        +          LogNotification(
        +            'Encryption not initialized, yet. You may need to update the firmware of your device with the Zwift Companion app.',
        +          ),
        +        );
                 return;
               }
         
        diff --git a/lib/main.dart b/lib/main.dart
        index 19a0e4baa..db8b07fec 100644
        --- a/lib/main.dart
        +++ b/lib/main.dart
        @@ -45,7 +45,7 @@ class SwiftPlayApp extends StatelessWidget {
               title: 'SwiftControl',
               theme: AppTheme.light,
               darkTheme: AppTheme.dark,
        -      themeMode: ThemeMode.dark,
        +      themeMode: ThemeMode.light,
               home: const RequirementsPage(),
             );
           }
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 4cb038b13..cab7e8e50 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.0.7+0
        +version: 2.0.8+0
         
         environment:
           sdk: ^3.7.0
        
        From fb1a1f35add665e16ba44a2034d8988bda4373c6 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Sun, 4 May 2025 10:46:00 +0200
        Subject: [PATCH 120/636] you can now assign Escape and arrow down key to your
         custom keymap (fixes #18)
        
        ---
         CHANGELOG.md                            | 3 +++
         lib/pages/touch_area.dart               | 1 +
         lib/widgets/custom_keymap_selector.dart | 1 -
         pubspec.yaml                            | 2 +-
         4 files changed, 5 insertions(+), 2 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index b78571967..917fab3b2 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 2.0.9 (2025-05-04)
        +- you can now assign Escape and arrow down key to your custom keymap (#18)
        +
         ### 2.0.8 (2025-05-02)
         - only use the light theme for the app
         - more troubleshooting information
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index 5925d36b8..ab602b260 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -125,6 +125,7 @@ class _TouchAreaSetupPageState extends State {
                         onTap: () async {
                           await showDialog(
                             context: context,
        +                    barrierDismissible: false, // enable Escape key
                             builder:
                                 (c) =>
                                     HotKeyListenerDialog(customApp: actionHandler.supportedApp! as CustomApp, keyPair: keyPair),
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        index 5bc6c3617..5aba5a6af 100644
        --- a/lib/widgets/custom_keymap_selector.dart
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -67,7 +67,6 @@ class _HotKeyListenerState extends State {
             setState(() {
               if (event is KeyDownEvent) {
                 _pressedKey = event;
        -      } else if (event is KeyUpEvent) {
                 widget.customApp.setKey(
                   _pressedButton!,
                   physicalKey: _pressedKey!.physicalKey,
        diff --git a/pubspec.yaml b/pubspec.yaml
        index cab7e8e50..f1d699a2a 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.0.8+0
        +version: 2.0.9+0
         
         environment:
           sdk: ^3.7.0
        
        From a3475a02d2416b3b847e0a35a17a4843f7ada6b3 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Thu, 3 Jul 2025 13:42:04 +0000
        Subject: [PATCH 121/636] Initial plan
        
        
        From 3106bd09e80fd727bcf272a3f5c94fe8ad5e09d1 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Thu, 3 Jul 2025 13:53:30 +0000
        Subject: [PATCH 122/636] Implement window-focused key simulation for Windows
         applications
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         .../lib/src/keypress_simulator.dart           |  32 +++++
         .../keypress_simulator_method_channel.dart    |  25 ++++
         ...keypress_simulator_platform_interface.dart |  10 ++
         .../keypress_simulator_windows_plugin.cpp     | 122 ++++++++++++++++++
         .../keypress_simulator_windows_plugin.h       |   4 +
         lib/utils/actions/desktop.dart                |  25 +++-
         lib/utils/keymap/apps/biketerra.dart          |   2 +
         lib/utils/keymap/apps/custom_app.dart         |   8 +-
         lib/utils/keymap/apps/my_whoosh.dart          |   2 +
         lib/utils/keymap/apps/supported_app.dart      |  12 +-
         lib/utils/keymap/apps/training_peaks.dart     |   2 +
         11 files changed, 239 insertions(+), 5 deletions(-)
        
        diff --git a/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        index 40a062794..d7c3f23cf 100644
        --- a/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        +++ b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        @@ -34,6 +34,38 @@ class KeyPressSimulator {
             return _platform.simulateKeyPress(key: key, modifiers: modifiers, keyDown: false);
           }
         
        +  /// Simulate key down to a specific window (Windows only).
        +  Future simulateKeyDownToWindow(
        +    PhysicalKeyboardKey? key, {
        +    List modifiers = const [],
        +    String? processName,
        +    String? windowTitle,
        +  }) {
        +    return _platform.simulateKeyPressToWindow(
        +      key: key,
        +      modifiers: modifiers,
        +      keyDown: true,
        +      processName: processName,
        +      windowTitle: windowTitle,
        +    );
        +  }
        +
        +  /// Simulate key up to a specific window (Windows only).
        +  Future simulateKeyUpToWindow(
        +    PhysicalKeyboardKey? key, {
        +    List modifiers = const [],
        +    String? processName,
        +    String? windowTitle,
        +  }) {
        +    return _platform.simulateKeyPressToWindow(
        +      key: key,
        +      modifiers: modifiers,
        +      keyDown: false,
        +      processName: processName,
        +      windowTitle: windowTitle,
        +    );
        +  }
        +
           @Deprecated('Please use simulateKeyDown & simulateKeyUp methods.')
           Future simulateCtrlCKeyPress() async {
             const key = PhysicalKeyboardKey.keyC;
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        index 19775b2ef..6df243d1b 100644
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        @@ -52,6 +52,31 @@ class MethodChannelKeyPressSimulator extends KeyPressSimulatorPlatform {
             await methodChannel.invokeMethod('simulateKeyPress', arguments);
           }
         
        +  @override
        +  Future simulateKeyPressToWindow({
        +    KeyboardKey? key,
        +    List modifiers = const [],
        +    bool keyDown = true,
        +    String? processName,
        +    String? windowTitle,
        +  }) async {
        +    PhysicalKeyboardKey? physicalKey = key is PhysicalKeyboardKey ? key : null;
        +    if (key is LogicalKeyboardKey) {
        +      physicalKey = key.physicalKey;
        +    }
        +    if (key != null && physicalKey == null) {
        +      throw UnsupportedError('Unsupported key: $key.');
        +    }
        +    final Map arguments = {
        +      'keyCode': physicalKey?.keyCode,
        +      'modifiers': modifiers.map((e) => e.name).toList(),
        +      'keyDown': keyDown,
        +      'processName': processName,
        +      'windowTitle': windowTitle,
        +    }..removeWhere((key, value) => value == null);
        +    await methodChannel.invokeMethod('simulateKeyPressToWindow', arguments);
        +  }
        +
           @override
           Future simulateMouseClick(Offset position) async {
             final Map arguments = {
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        index 78743c626..7c7df767a 100644
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        @@ -41,6 +41,16 @@ abstract class KeyPressSimulatorPlatform extends PlatformInterface {
             throw UnimplementedError('simulateKeyPress() has not been implemented.');
           }
         
        +  Future simulateKeyPressToWindow({
        +    KeyboardKey? key,
        +    List modifiers = const [],
        +    bool keyDown = true,
        +    String? processName,
        +    String? windowTitle,
        +  }) {
        +    throw UnimplementedError('simulateKeyPressToWindow() has not been implemented.');
        +  }
        +
           Future simulateMouseClick(Offset position) {
             throw UnimplementedError('simulateKeyPress() has not been implemented.');
           }
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index be6affc57..30bd857a0 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -2,6 +2,7 @@
         
         // This must be included before many other Windows headers.
         #include 
        +#include 
         
         #include 
         #include 
        @@ -121,6 +122,125 @@ void KeypressSimulatorWindowsPlugin::SimulateMouseClick(
           result->Success(flutter::EncodableValue(true));
         }
         
        +// Helper function to find window by process name or window title
        +struct FindWindowData {
        +  std::string targetProcessName;
        +  std::string targetWindowTitle;
        +  HWND foundWindow;
        +};
        +
        +BOOL CALLBACK EnumWindowsCallback(HWND hwnd, LPARAM lParam) {
        +  FindWindowData* data = reinterpret_cast(lParam);
        +  
        +  // Check if window is visible and not minimized
        +  if (!IsWindowVisible(hwnd) || IsIconic(hwnd)) {
        +    return TRUE; // Continue enumeration
        +  }
        +  
        +  // Get window title
        +  char windowTitle[256];
        +  GetWindowTextA(hwnd, windowTitle, sizeof(windowTitle));
        +  
        +  // Get process name
        +  DWORD processId;
        +  GetWindowThreadProcessId(hwnd, &processId);
        +  HANDLE hProcess = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, FALSE, processId);
        +  char processName[MAX_PATH];
        +  if (hProcess) {
        +    DWORD size = sizeof(processName);
        +    if (QueryFullProcessImageNameA(hProcess, 0, processName, &size)) {
        +      // Extract just the filename from the full path
        +      char* filename = strrchr(processName, '\\');
        +      if (filename) {
        +        filename++; // Skip the backslash
        +      } else {
        +        filename = processName;
        +      }
        +      
        +      // Check if this matches our target
        +      if (!data->targetProcessName.empty() && 
        +          _stricmp(filename, data->targetProcessName.c_str()) == 0) {
        +        data->foundWindow = hwnd;
        +        return FALSE; // Stop enumeration
        +      }
        +    }
        +    CloseHandle(hProcess);
        +  }
        +  
        +  // Check window title if process name didn't match
        +  if (!data->targetWindowTitle.empty() && 
        +      _stricmp(windowTitle, data->targetWindowTitle.c_str()) == 0) {
        +    data->foundWindow = hwnd;
        +    return FALSE; // Stop enumeration
        +  }
        +  
        +  return TRUE; // Continue enumeration
        +}
        +
        +HWND FindTargetWindow(const std::string& processName, const std::string& windowTitle) {
        +  FindWindowData data;
        +  data.targetProcessName = processName;
        +  data.targetWindowTitle = windowTitle;
        +  data.foundWindow = NULL;
        +  
        +  EnumWindows(EnumWindowsCallback, reinterpret_cast(&data));
        +  return data.foundWindow;
        +}
        +
        +void KeypressSimulatorWindowsPlugin::SimulateKeyPressToWindow(
        +    const flutter::MethodCall& method_call,
        +    std::unique_ptr> result) {
        +  const EncodableMap& args = std::get(*method_call.arguments());
        +
        +  UINT keyCode = std::get(args.at(EncodableValue("keyCode")));
        +  bool keyDown = std::get(args.at(EncodableValue("keyDown")));
        +  
        +  std::string processName;
        +  std::string windowTitle;
        +  
        +  // Get optional process name and window title for targeting
        +  auto it_process = args.find(EncodableValue("processName"));
        +  if (it_process != args.end() && std::holds_alternative(it_process->second)) {
        +    processName = std::get(it_process->second);
        +  }
        +  
        +  auto it_title = args.find(EncodableValue("windowTitle"));
        +  if (it_title != args.end() && std::holds_alternative(it_title->second)) {
        +    windowTitle = std::get(it_title->second);
        +  }
        +  
        +  // Find the target window
        +  HWND targetWindow = FindTargetWindow(processName, windowTitle);
        +  
        +  if (targetWindow == NULL) {
        +    // Fallback to global key simulation if window not found
        +    BYTE byteValue = static_cast(keyCode);
        +    keybd_event(byteValue, 0x45, keyDown ? 0 : KEYEVENTF_KEYUP, 0);
        +    result->Success(flutter::EncodableValue(true));
        +    return;
        +  }
        +  
        +  // Send key directly to the target window
        +  WPARAM wParam = keyCode;
        +  LPARAM lParam = 0;
        +  
        +  // Set up lParam with scan code and other flags
        +  UINT scanCode = MapVirtualKey(keyCode, MAPVK_VK_TO_VSC);
        +  lParam = (scanCode << 16);
        +  if (!keyDown) {
        +    lParam |= (1 << 30) | (1 << 31); // Previous key state and transition state
        +  }
        +  
        +  // Send the message to the specific window
        +  if (keyDown) {
        +    PostMessage(targetWindow, WM_KEYDOWN, wParam, lParam);
        +  } else {
        +    PostMessage(targetWindow, WM_KEYUP, wParam, lParam);
        +  }
        +  
        +  result->Success(flutter::EncodableValue(true));
        +}
        +
         void KeypressSimulatorWindowsPlugin::HandleMethodCall(
             const flutter::MethodCall& method_call,
             std::unique_ptr> result) {
        @@ -128,6 +248,8 @@ void KeypressSimulatorWindowsPlugin::HandleMethodCall(
             SimulateKeyPress(method_call, std::move(result));
           } else if (method_call.method_name().compare("simulateMouseClick") == 0) {
             SimulateMouseClick(method_call, std::move(result));
        +  } else if (method_call.method_name().compare("simulateKeyPressToWindow") == 0) {
        +    SimulateKeyPressToWindow(method_call, std::move(result));
           } else {
             result->NotImplemented();
           }
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        index 39584c767..12f37531d 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        @@ -30,6 +30,10 @@ class KeypressSimulatorWindowsPlugin : public flutter::Plugin {
               const flutter::MethodCall& method_call,
               std::unique_ptr> result);
         
        +  void KeypressSimulatorWindowsPlugin::SimulateKeyPressToWindow(
        +      const flutter::MethodCall& method_call,
        +      std::unique_ptr> result);
        +
           // Called when a method is called on this plugin's channel from Dart.
           void HandleMethodCall(
               const flutter::MethodCall& method_call,
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index de1c0947c..344632303 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -1,3 +1,5 @@
        +import 'dart:io';
        +
         import 'package:keypress_simulator/keypress_simulator.dart';
         import 'package:swift_control/utils/actions/base_actions.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
        @@ -15,9 +17,26 @@ class DesktopActions extends BaseActions {
             }
         
             if (keyPair.physicalKey != null) {
        -      await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        -      await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        -      return 'Key pressed: ${keyPair.logicalKey?.keyLabel}';
        +      // Check if we're on Windows and have window targeting information
        +      if (Platform.isWindows && 
        +          (supportedApp!.windowsProcessName != null || supportedApp!.windowsWindowTitle != null)) {
        +        await keyPressSimulator.simulateKeyDownToWindow(
        +          keyPair.physicalKey,
        +          processName: supportedApp!.windowsProcessName,
        +          windowTitle: supportedApp!.windowsWindowTitle,
        +        );
        +        await keyPressSimulator.simulateKeyUpToWindow(
        +          keyPair.physicalKey,
        +          processName: supportedApp!.windowsProcessName,
        +          windowTitle: supportedApp!.windowsWindowTitle,
        +        );
        +        return 'Key pressed to window: ${keyPair.logicalKey?.keyLabel}';
        +      } else {
        +        // Fallback to global key simulation
        +        await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        +        await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        +        return 'Key pressed: ${keyPair.logicalKey?.keyLabel}';
        +      }
             } else {
               final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null);
               await keyPressSimulator.simulateMouseClick(point);
        diff --git a/lib/utils/keymap/apps/biketerra.dart b/lib/utils/keymap/apps/biketerra.dart
        index 98cab0eb0..ef420e4b7 100644
        --- a/lib/utils/keymap/apps/biketerra.dart
        +++ b/lib/utils/keymap/apps/biketerra.dart
        @@ -11,6 +11,8 @@ class Biketerra extends SupportedApp {
             : super(
                 name: 'Biketerra',
                 packageName: "biketerra",
        +        windowsProcessName: "biketerra.exe",
        +        windowsWindowTitle: "Biketerra",
                 keymap: Keymap(
                   keyPairs: [
                     KeyPair(
        diff --git a/lib/utils/keymap/apps/custom_app.dart b/lib/utils/keymap/apps/custom_app.dart
        index a7967a68f..f07c3a593 100644
        --- a/lib/utils/keymap/apps/custom_app.dart
        +++ b/lib/utils/keymap/apps/custom_app.dart
        @@ -8,7 +8,13 @@ import '../buttons.dart';
         import '../keymap.dart';
         
         class CustomApp extends SupportedApp {
        -  CustomApp() : super(name: 'Custom', packageName: "custom", keymap: Keymap.custom);
        +  CustomApp() : super(
        +    name: 'Custom', 
        +    packageName: "custom", 
        +    keymap: Keymap.custom,
        +    windowsProcessName: null,
        +    windowsWindowTitle: null,
        +  );
         
           @override
           Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent? windowInfo}) {
        diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart
        index 380746b71..dcc50e354 100644
        --- a/lib/utils/keymap/apps/my_whoosh.dart
        +++ b/lib/utils/keymap/apps/my_whoosh.dart
        @@ -13,6 +13,8 @@ class MyWhoosh extends SupportedApp {
             : super(
                 name: 'MyWhoosh',
                 packageName: "com.mywhoosh.whooshgame",
        +        windowsProcessName: "MyWhooshHD.exe",
        +        windowsWindowTitle: "MyWhooshHD",
                 keymap: Keymap(
                   keyPairs: [
                     KeyPair(
        diff --git a/lib/utils/keymap/apps/supported_app.dart b/lib/utils/keymap/apps/supported_app.dart
        index 41fd70df3..786af5eae 100644
        --- a/lib/utils/keymap/apps/supported_app.dart
        +++ b/lib/utils/keymap/apps/supported_app.dart
        @@ -14,6 +14,10 @@ abstract class SupportedApp {
           final String packageName;
           final String name;
           final Keymap keymap;
        +  
        +  // For Windows desktop applications - process name or window title
        +  final String? windowsProcessName;
        +  final String? windowsWindowTitle;
         
           Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent? windowInfo}) {
             if (this is CustomApp) {
        @@ -26,7 +30,13 @@ abstract class SupportedApp {
             return Offset.zero;
           }
         
        -  const SupportedApp({required this.name, required this.packageName, required this.keymap});
        +  const SupportedApp({
        +    required this.name, 
        +    required this.packageName, 
        +    required this.keymap,
        +    this.windowsProcessName,
        +    this.windowsWindowTitle,
        +  });
         
           static final List supportedApps = [MyWhoosh(), TrainingPeaks(), Biketerra(), CustomApp()];
         
        diff --git a/lib/utils/keymap/apps/training_peaks.dart b/lib/utils/keymap/apps/training_peaks.dart
        index 5c5ff86e0..e99a0cb8d 100644
        --- a/lib/utils/keymap/apps/training_peaks.dart
        +++ b/lib/utils/keymap/apps/training_peaks.dart
        @@ -13,6 +13,8 @@ class TrainingPeaks extends SupportedApp {
             : super(
                 name: 'IndieVelo / TrainingPeaks',
                 packageName: "com.indieVelo.client",
        +        windowsProcessName: "indieVelo.exe",
        +        windowsWindowTitle: "indieVelo",
                 keymap: Keymap(
                   keyPairs: [
                     // https://help.trainingpeaks.com/hc/en-us/articles/31340399556877-TrainingPeaks-Virtual-Controls-and-Keyboard-Shortcuts
        
        From 58615337932e40b38194167c92558e6d645a68be Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Thu, 3 Jul 2025 13:59:47 +0000
        Subject: [PATCH 123/636] Improve window-focused key simulation with better
         error handling and SendInput fallback
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         .../keypress_simulator_method_channel.dart    |  5 ++
         ...keypress_simulator_platform_interface.dart |  3 +-
         .../keypress_simulator_windows_plugin.cpp     | 49 ++++++++++++++++---
         3 files changed, 50 insertions(+), 7 deletions(-)
        
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        index 6df243d1b..8484617e5 100644
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        @@ -60,6 +60,11 @@ class MethodChannelKeyPressSimulator extends KeyPressSimulatorPlatform {
             String? processName,
             String? windowTitle,
           }) async {
        +    // For non-Windows platforms, fall back to regular key simulation
        +    if (!UniPlatform.isWindows) {
        +      return simulateKeyPress(key: key, modifiers: modifiers, keyDown: keyDown);
        +    }
        +    
             PhysicalKeyboardKey? physicalKey = key is PhysicalKeyboardKey ? key : null;
             if (key is LogicalKeyboardKey) {
               physicalKey = key.physicalKey;
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        index 7c7df767a..83cc8682c 100644
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        @@ -48,7 +48,8 @@ abstract class KeyPressSimulatorPlatform extends PlatformInterface {
             String? processName,
             String? windowTitle,
           }) {
        -    throw UnimplementedError('simulateKeyPressToWindow() has not been implemented.');
        +    // Default implementation falls back to regular key simulation
        +    return simulateKeyPress(key: key, modifiers: modifiers, keyDown: keyDown);
           }
         
           Future simulateMouseClick(Offset position) {
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index 30bd857a0..975a163dc 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -3,6 +3,7 @@
         // This must be included before many other Windows headers.
         #include 
         #include 
        +#include 
         
         #include 
         #include 
        @@ -192,8 +193,17 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPressToWindow(
             std::unique_ptr> result) {
           const EncodableMap& args = std::get(*method_call.arguments());
         
        -  UINT keyCode = std::get(args.at(EncodableValue("keyCode")));
        -  bool keyDown = std::get(args.at(EncodableValue("keyDown")));
        +  // Validate required parameters
        +  auto it_keyCode = args.find(EncodableValue("keyCode"));
        +  auto it_keyDown = args.find(EncodableValue("keyDown"));
        +  
        +  if (it_keyCode == args.end() || it_keyDown == args.end()) {
        +    result->Error("INVALID_ARGUMENTS", "Missing required keyCode or keyDown parameter");
        +    return;
        +  }
        +
        +  UINT keyCode = std::get(it_keyCode->second);
        +  bool keyDown = std::get(it_keyDown->second);
           
           std::string processName;
           std::string windowTitle;
        @@ -209,13 +219,29 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPressToWindow(
             windowTitle = std::get(it_title->second);
           }
           
        +  // If neither process name nor window title is provided, fall back to global simulation
        +  if (processName.empty() && windowTitle.empty()) {
        +    // Use SendInput instead of keybd_event to avoid glitches (see issue #7)
        +    INPUT input = {0};
        +    input.type = INPUT_KEYBOARD;
        +    input.ki.wVk = static_cast(keyCode);
        +    input.ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        +    SendInput(1, &input, sizeof(INPUT));
        +    result->Success(flutter::EncodableValue(true));
        +    return;
        +  }
        +  
           // Find the target window
           HWND targetWindow = FindTargetWindow(processName, windowTitle);
           
           if (targetWindow == NULL) {
             // Fallback to global key simulation if window not found
        -    BYTE byteValue = static_cast(keyCode);
        -    keybd_event(byteValue, 0x45, keyDown ? 0 : KEYEVENTF_KEYUP, 0);
        +    // Use SendInput instead of keybd_event to avoid glitches (see issue #7)
        +    INPUT input = {0};
        +    input.type = INPUT_KEYBOARD;
        +    input.ki.wVk = static_cast(keyCode);
        +    input.ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        +    SendInput(1, &input, sizeof(INPUT));
             result->Success(flutter::EncodableValue(true));
             return;
           }
        @@ -232,10 +258,21 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPressToWindow(
           }
           
           // Send the message to the specific window
        +  BOOL messageResult;
           if (keyDown) {
        -    PostMessage(targetWindow, WM_KEYDOWN, wParam, lParam);
        +    messageResult = PostMessage(targetWindow, WM_KEYDOWN, wParam, lParam);
           } else {
        -    PostMessage(targetWindow, WM_KEYUP, wParam, lParam);
        +    messageResult = PostMessage(targetWindow, WM_KEYUP, wParam, lParam);
        +  }
        +  
        +  if (!messageResult) {
        +    // If PostMessage failed, fall back to global simulation
        +    // Use SendInput instead of keybd_event to avoid glitches (see issue #7)
        +    INPUT input = {0};
        +    input.type = INPUT_KEYBOARD;
        +    input.ki.wVk = static_cast(keyCode);
        +    input.ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        +    SendInput(1, &input, sizeof(INPUT));
           }
           
           result->Success(flutter::EncodableValue(true));
        
        From 258b3964441d9445183d7b3b1b20f9a60a9f63ef Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Thu, 3 Jul 2025 14:01:10 +0000
        Subject: [PATCH 124/636] Add documentation and testing tools for
         window-focused key simulation feature
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         WINDOW_FOCUS_FEATURE.md | 91 +++++++++++++++++++++++++++++++++++++++
         test_window_focus.bat   | 95 +++++++++++++++++++++++++++++++++++++++++
         2 files changed, 186 insertions(+)
         create mode 100644 WINDOW_FOCUS_FEATURE.md
         create mode 100644 test_window_focus.bat
        
        diff --git a/WINDOW_FOCUS_FEATURE.md b/WINDOW_FOCUS_FEATURE.md
        new file mode 100644
        index 000000000..e9f4b4262
        --- /dev/null
        +++ b/WINDOW_FOCUS_FEATURE.md
        @@ -0,0 +1,91 @@
        +# Window-Focused Key Simulation Feature
        +
        +## Overview
        +
        +This feature addresses the issue where users need to manually focus on training application windows (like MyWhooshHD) to receive key presses from Zwift controllers. With this implementation, key presses are sent directly to the target application window even when it's not in focus.
        +
        +## How It Works
        +
        +### For Windows Users
        +- The application automatically detects supported training apps by their process name
        +- Key presses are sent directly to the target window using Windows messaging
        +- If the target window is not found, it falls back to global key simulation
        +
        +### Supported Applications
        +- **MyWhoosh**: Targets `MyWhooshHD.exe` process
        +- **IndieVelo/TrainingPeaks**: Targets `indieVelo.exe` process
        +- **Biketerra**: Targets `biketerra.exe` process
        +- **Custom Apps**: Use global key simulation (no window targeting)
        +
        +### For Other Platforms
        +- macOS and Linux automatically fall back to the existing global key simulation
        +- No changes in behavior for non-Windows platforms
        +
        +## Usage
        +
        +1. **Start your training application** (e.g., MyWhooshHD)
        +2. **Start SwiftControl** and connect your Zwift device
        +3. **Select the appropriate application** in SwiftControl settings
        +4. **Use your Zwift controller** - keys will be sent directly to the training app
        +5. **Keep focus on other applications** (like Chrome for YouTube) while training
        +
        +## Testing the Feature
        +
        +### Manual Testing
        +1. Open MyWhooshHD (or another supported training app)
        +2. Open another application (like a web browser) and keep it in focus
        +3. Use SwiftControl with a Zwift device to send key presses
        +4. Verify that the training app responds to the key presses even though it's not focused
        +
        +### Expected Behavior
        +- **With window targeting**: Keys go directly to the training app regardless of focus
        +- **Without window targeting**: Keys go to whatever application has focus (previous behavior)
        +- **App not found**: Automatic fallback to global key simulation
        +
        +## Technical Details
        +
        +### Windows Implementation
        +- Uses `EnumWindows` to find target application windows
        +- Identifies applications by process name (e.g., "MyWhooshHD.exe")
        +- Sends keys via `PostMessage` with `WM_KEYDOWN`/`WM_KEYUP` messages
        +- Falls back to `SendInput` for global simulation when needed
        +
        +### Error Handling
        +- Graceful fallback if target window is not found
        +- Cross-platform compatibility maintained
        +- Proper parameter validation and error reporting
        +
        +## Configuration
        +
        +Applications are automatically configured with their target process names:
        +
        +```dart
        +// MyWhoosh configuration
        +MyWhoosh() : super(
        +  name: 'MyWhoosh',
        +  packageName: "com.mywhoosh.whooshgame",
        +  windowsProcessName: "MyWhooshHD.exe",  // New: Windows process targeting
        +  windowsWindowTitle: "MyWhooshHD",      // New: Window title targeting
        +  keymap: Keymap(...)
        +);
        +```
        +
        +## Troubleshooting
        +
        +### Key presses not reaching the training app
        +1. Verify the training app is running
        +2. Check that you've selected the correct app in SwiftControl
        +3. Try manually focusing the training app to test normal key mapping
        +4. Check Windows Task Manager to verify the correct process name
        +
        +### Fallback behavior
        +- If window targeting fails, the system automatically falls back to global key simulation
        +- This ensures the feature degrades gracefully and maintains existing functionality
        +
        +## Future Enhancements
        +
        +Potential improvements for this feature:
        +- Support for targeting by window class name
        +- Configuration UI for custom process names
        +- Real-time feedback on window targeting status
        +- Support for multiple instances of the same application
        \ No newline at end of file
        diff --git a/test_window_focus.bat b/test_window_focus.bat
        new file mode 100644
        index 000000000..64af22500
        --- /dev/null
        +++ b/test_window_focus.bat
        @@ -0,0 +1,95 @@
        +@echo off
        +echo Testing Window-Focused Key Simulation Feature
        +echo =============================================
        +echo.
        +
        +echo This script helps test the window-focused key simulation feature.
        +echo.
        +
        +echo Step 1: Launch MyWhooshHD
        +echo -----------------------
        +echo Please start MyWhooshHD application if it's not already running.
        +echo Once started, press any key to continue...
        +pause >nul
        +
        +echo.
        +echo Step 2: Launch SwiftControl
        +echo --------------------------
        +echo Start SwiftControl and:
        +echo 1. Connect your Zwift device
        +echo 2. Select "MyWhoosh" as your target application
        +echo 3. Make sure key mapping is configured (default: I/K for shifting)
        +echo.
        +echo Press any key when SwiftControl is ready...
        +pause >nul
        +
        +echo.
        +echo Step 3: Focus Test
        +echo -----------------
        +echo Now we'll test the window focus feature:
        +echo.
        +echo 1. This command window should be in focus (active)
        +echo 2. MyWhooshHD should be running in the background
        +echo 3. Try using your Zwift device to send key presses
        +echo 4. The key presses should reach MyWhooshHD even though this window has focus
        +echo.
        +echo Expected behavior:
        +echo - Gear shifts in MyWhooshHD should work
        +echo - This command window should remain focused
        +echo - You should see responses in MyWhooshHD without clicking on it
        +echo.
        +echo Press any key after testing...
        +pause >nul
        +
        +echo.
        +echo Step 4: Verify Process Detection
        +echo -------------------------------
        +echo Checking if MyWhooshHD.exe is running...
        +
        +tasklist /FI "IMAGENAME eq MyWhooshHD.exe" 2>NUL | find /I /N "MyWhooshHD.exe">NUL
        +if "%ERRORLEVEL%"=="0" (
        +    echo ✓ MyWhooshHD.exe process found
        +    echo.
        +    echo Process details:
        +    tasklist /FI "IMAGENAME eq MyWhooshHD.exe" /FO LIST
        +) else (
        +    echo ✗ MyWhooshHD.exe process not found
        +    echo   Make sure MyWhooshHD is running for the feature to work
        +)
        +
        +echo.
        +echo Step 5: Test Results
        +echo -------------------
        +echo Please report your test results:
        +echo.
        +echo 1. Did key presses reach MyWhooshHD while this window was focused? (Y/N)
        +set /p result1="Enter Y or N: "
        +
        +echo 2. Did gear shifts work in MyWhooshHD? (Y/N)
        +set /p result2="Enter Y or N: "
        +
        +echo 3. Did you need to click on MyWhooshHD window for keys to work? (Y/N)
        +set /p result3="Enter Y or N: "
        +
        +echo.
        +echo Test Summary:
        +echo - Key presses reached MyWhooshHD: %result1%
        +echo - Gear shifts worked: %result2%
        +echo - Manual focus required: %result3%
        +echo.
        +
        +if /I "%result1%"=="Y" if /I "%result2%"=="Y" if /I "%result3%"=="N" (
        +    echo ✓ SUCCESS: Window-focused key simulation is working correctly!
        +) else (
        +    echo ✗ ISSUE: Window-focused key simulation may not be working as expected.
        +    echo   Please check the troubleshooting section in WINDOW_FOCUS_FEATURE.md
        +)
        +
        +echo.
        +echo Additional Testing:
        +echo - Try opening a web browser and keeping it focused while using Zwift controls
        +echo - Test with different supported applications (IndieVelo, Biketerra)
        +echo - Verify fallback behavior when target app is not running
        +echo.
        +echo Press any key to exit...
        +pause >nul
        \ No newline at end of file
        
        From 5f7a1a82039e8ca42f7e2a5b84662e9717890f07 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Thu, 3 Jul 2025 14:02:59 +0000
        Subject: [PATCH 125/636] Complete window-focused key simulation implementation
         with utilities and README update
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         README.md            |  13 ++++++
         identify_process.bat | 107 +++++++++++++++++++++++++++++++++++++++++++
         2 files changed, 120 insertions(+)
         create mode 100644 identify_process.bat
        
        diff --git a/README.md b/README.md
        index 6c9681802..6328a90b2 100644
        --- a/README.md
        +++ b/README.md
        @@ -54,6 +54,19 @@ The app connects to your Zwift device automatically.
           - you can also create your own Keymaps for any other app
           - you can also use the mouse to click on a certain part of the screen, or use keyboard shortcuts
         
        +### New: Window Focus Feature (Windows)
        +On Windows, SwiftControl can now send key presses directly to training applications even when they're not in focus! This means you can:
        +- Keep your browser focused on YouTube while training
        +- Control gear shifts in MyWhoosh without clicking on the window
        +- Use multiple applications simultaneously without interruption
        +
        +Supported applications with automatic window targeting:
        +- MyWhoosh (MyWhooshHD)
        +- IndieVelo / Training Peaks
        +- Biketerra
        +
        +The feature automatically falls back to global key simulation if the target window is not found.
        +
         ## Donate
         Please consider donating to support the development of this app :)
         
        diff --git a/identify_process.bat b/identify_process.bat
        new file mode 100644
        index 000000000..b0cfc64c3
        --- /dev/null
        +++ b/identify_process.bat
        @@ -0,0 +1,107 @@
        +@echo off
        +echo SwiftControl Window Targeting Helper
        +echo ===================================
        +echo.
        +echo This utility helps identify the correct process names for window targeting.
        +echo Use this if the automatic targeting isn't working for your training app.
        +echo.
        +
        +:menu
        +echo Options:
        +echo 1. List all running applications
        +echo 2. Search for specific application
        +echo 3. Find windows with specific titles
        +echo 4. Test window targeting (advanced)
        +echo 5. Exit
        +echo.
        +set /p choice="Enter your choice (1-5): "
        +
        +if "%choice%"=="1" goto list_all
        +if "%choice%"=="2" goto search_app
        +if "%choice%"=="3" goto find_windows
        +if "%choice%"=="4" goto test_targeting
        +if "%choice%"=="5" goto exit
        +echo Invalid choice. Please try again.
        +echo.
        +goto menu
        +
        +:list_all
        +echo.
        +echo All running applications:
        +echo ------------------------
        +tasklist /FO TABLE | findstr /V "System Idle Process"
        +echo.
        +echo Look for your training application in the list above.
        +echo The "Image Name" column shows the process name to use for targeting.
        +echo.
        +pause
        +goto menu
        +
        +:search_app
        +echo.
        +set /p appname="Enter part of the application name to search for: "
        +echo.
        +echo Searching for applications containing "%appname%":
        +echo ----------------------------------------------
        +tasklist /FI "IMAGENAME eq *%appname%*" 2>NUL
        +if errorlevel 1 (
        +    echo No exact matches found. Trying broader search...
        +    tasklist | findstr /I "%appname%"
        +    if errorlevel 1 (
        +        echo No applications found containing "%appname%"
        +    )
        +)
        +echo.
        +pause
        +goto menu
        +
        +:find_windows
        +echo.
        +echo This feature requires PowerShell. Checking window titles...
        +echo.
        +powershell -Command "Get-Process | Where-Object {$_.MainWindowTitle -ne ''} | Select-Object ProcessName, MainWindowTitle | Format-Table -AutoSize"
        +echo.
        +echo The ProcessName column shows what to use for windowsProcessName
        +echo The MainWindowTitle column shows what to use for windowsWindowTitle
        +echo.
        +pause
        +goto menu
        +
        +:test_targeting
        +echo.
        +echo Advanced Window Targeting Test
        +echo =============================
        +echo.
        +set /p testprocess="Enter process name to test (e.g., MyWhooshHD.exe): "
        +echo.
        +echo Testing if process "%testprocess%" is running...
        +tasklist /FI "IMAGENAME eq %testprocess%" 2>NUL | find /I /N "%testprocess%">NUL
        +if "%ERRORLEVEL%"=="0" (
        +    echo ✓ Process found! Window targeting should work for this process.
        +    echo.
        +    echo Process details:
        +    tasklist /FI "IMAGENAME eq %testprocess%" /FO LIST
        +) else (
        +    echo ✗ Process not found. Make sure the application is running.
        +    echo   Try option 1 to see all running processes.
        +)
        +echo.
        +pause
        +goto menu
        +
        +:exit
        +echo.
        +echo Common Training Application Process Names:
        +echo ========================================
        +echo MyWhoosh: MyWhooshHD.exe
        +echo IndieVelo/TrainingPeaks: indieVelo.exe  
        +echo Biketerra: biketerra.exe
        +echo Zwift: ZwiftApp.exe
        +echo.
        +echo How to use this information:
        +echo 1. Find your application's process name using this tool
        +echo 2. If it differs from the defaults, please report it to the SwiftControl developers
        +echo 3. The targeting feature will automatically use the correct process name
        +echo.
        +echo Thank you for using SwiftControl!
        +pause
        \ No newline at end of file
        
        From 144fd5b740edf879b46e34a0fc1a898a2100c815 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Thu, 3 Jul 2025 14:13:14 +0000
        Subject: [PATCH 126/636] Remove Dart API changes and implement automatic
         window focusing in Windows SimulateKeyPress method
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         .../lib/src/keypress_simulator.dart           |  32 -----
         .../keypress_simulator_method_channel.dart    |  30 -----
         ...keypress_simulator_platform_interface.dart |  11 --
         .../keypress_simulator_windows_plugin.cpp     | 109 +++---------------
         .../keypress_simulator_windows_plugin.h       |   4 +-
         lib/utils/actions/desktop.dart                |  25 +---
         lib/utils/keymap/apps/biketerra.dart          |   2 -
         lib/utils/keymap/apps/custom_app.dart         |   8 +-
         lib/utils/keymap/apps/my_whoosh.dart          |   2 -
         lib/utils/keymap/apps/supported_app.dart      |  12 +-
         lib/utils/keymap/apps/training_peaks.dart     |   2 -
         11 files changed, 25 insertions(+), 212 deletions(-)
        
        diff --git a/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        index d7c3f23cf..40a062794 100644
        --- a/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        +++ b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        @@ -34,38 +34,6 @@ class KeyPressSimulator {
             return _platform.simulateKeyPress(key: key, modifiers: modifiers, keyDown: false);
           }
         
        -  /// Simulate key down to a specific window (Windows only).
        -  Future simulateKeyDownToWindow(
        -    PhysicalKeyboardKey? key, {
        -    List modifiers = const [],
        -    String? processName,
        -    String? windowTitle,
        -  }) {
        -    return _platform.simulateKeyPressToWindow(
        -      key: key,
        -      modifiers: modifiers,
        -      keyDown: true,
        -      processName: processName,
        -      windowTitle: windowTitle,
        -    );
        -  }
        -
        -  /// Simulate key up to a specific window (Windows only).
        -  Future simulateKeyUpToWindow(
        -    PhysicalKeyboardKey? key, {
        -    List modifiers = const [],
        -    String? processName,
        -    String? windowTitle,
        -  }) {
        -    return _platform.simulateKeyPressToWindow(
        -      key: key,
        -      modifiers: modifiers,
        -      keyDown: false,
        -      processName: processName,
        -      windowTitle: windowTitle,
        -    );
        -  }
        -
           @Deprecated('Please use simulateKeyDown & simulateKeyUp methods.')
           Future simulateCtrlCKeyPress() async {
             const key = PhysicalKeyboardKey.keyC;
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        index 8484617e5..19775b2ef 100644
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        @@ -52,36 +52,6 @@ class MethodChannelKeyPressSimulator extends KeyPressSimulatorPlatform {
             await methodChannel.invokeMethod('simulateKeyPress', arguments);
           }
         
        -  @override
        -  Future simulateKeyPressToWindow({
        -    KeyboardKey? key,
        -    List modifiers = const [],
        -    bool keyDown = true,
        -    String? processName,
        -    String? windowTitle,
        -  }) async {
        -    // For non-Windows platforms, fall back to regular key simulation
        -    if (!UniPlatform.isWindows) {
        -      return simulateKeyPress(key: key, modifiers: modifiers, keyDown: keyDown);
        -    }
        -    
        -    PhysicalKeyboardKey? physicalKey = key is PhysicalKeyboardKey ? key : null;
        -    if (key is LogicalKeyboardKey) {
        -      physicalKey = key.physicalKey;
        -    }
        -    if (key != null && physicalKey == null) {
        -      throw UnsupportedError('Unsupported key: $key.');
        -    }
        -    final Map arguments = {
        -      'keyCode': physicalKey?.keyCode,
        -      'modifiers': modifiers.map((e) => e.name).toList(),
        -      'keyDown': keyDown,
        -      'processName': processName,
        -      'windowTitle': windowTitle,
        -    }..removeWhere((key, value) => value == null);
        -    await methodChannel.invokeMethod('simulateKeyPressToWindow', arguments);
        -  }
        -
           @override
           Future simulateMouseClick(Offset position) async {
             final Map arguments = {
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        index 83cc8682c..78743c626 100644
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        @@ -41,17 +41,6 @@ abstract class KeyPressSimulatorPlatform extends PlatformInterface {
             throw UnimplementedError('simulateKeyPress() has not been implemented.');
           }
         
        -  Future simulateKeyPressToWindow({
        -    KeyboardKey? key,
        -    List modifiers = const [],
        -    bool keyDown = true,
        -    String? processName,
        -    String? windowTitle,
        -  }) {
        -    // Default implementation falls back to regular key simulation
        -    return simulateKeyPress(key: key, modifiers: modifiers, keyDown: keyDown);
        -  }
        -
           Future simulateMouseClick(Offset position) {
             throw UnimplementedError('simulateKeyPress() has not been implemented.');
           }
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index 975a163dc..27c705be9 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -56,6 +56,25 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
             modifiers.push_back(key_modifier);
           }
         
        +  // List of compatible training apps to look for
        +  std::vector compatibleApps = {
        +    "MyWhooshHD.exe",
        +    "indieVelo.exe", 
        +    "biketerra.exe"
        +  };
        +
        +  // Try to find and focus a compatible app
        +  HWND targetWindow = NULL;
        +  for (const std::string& processName : compatibleApps) {
        +    targetWindow = FindTargetWindow(processName, "");
        +    if (targetWindow != NULL) {
        +      // Focus the window before sending the key
        +      SetForegroundWindow(targetWindow);
        +      Sleep(50); // Brief delay to ensure window is focused
        +      break;
        +    }
        +  }
        +
           INPUT input[6];
         
           for (int32_t i = 0; i < modifiers.size(); i++) {
        @@ -188,95 +207,7 @@ HWND FindTargetWindow(const std::string& processName, const std::string& windowT
           return data.foundWindow;
         }
         
        -void KeypressSimulatorWindowsPlugin::SimulateKeyPressToWindow(
        -    const flutter::MethodCall& method_call,
        -    std::unique_ptr> result) {
        -  const EncodableMap& args = std::get(*method_call.arguments());
         
        -  // Validate required parameters
        -  auto it_keyCode = args.find(EncodableValue("keyCode"));
        -  auto it_keyDown = args.find(EncodableValue("keyDown"));
        -  
        -  if (it_keyCode == args.end() || it_keyDown == args.end()) {
        -    result->Error("INVALID_ARGUMENTS", "Missing required keyCode or keyDown parameter");
        -    return;
        -  }
        -
        -  UINT keyCode = std::get(it_keyCode->second);
        -  bool keyDown = std::get(it_keyDown->second);
        -  
        -  std::string processName;
        -  std::string windowTitle;
        -  
        -  // Get optional process name and window title for targeting
        -  auto it_process = args.find(EncodableValue("processName"));
        -  if (it_process != args.end() && std::holds_alternative(it_process->second)) {
        -    processName = std::get(it_process->second);
        -  }
        -  
        -  auto it_title = args.find(EncodableValue("windowTitle"));
        -  if (it_title != args.end() && std::holds_alternative(it_title->second)) {
        -    windowTitle = std::get(it_title->second);
        -  }
        -  
        -  // If neither process name nor window title is provided, fall back to global simulation
        -  if (processName.empty() && windowTitle.empty()) {
        -    // Use SendInput instead of keybd_event to avoid glitches (see issue #7)
        -    INPUT input = {0};
        -    input.type = INPUT_KEYBOARD;
        -    input.ki.wVk = static_cast(keyCode);
        -    input.ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        -    SendInput(1, &input, sizeof(INPUT));
        -    result->Success(flutter::EncodableValue(true));
        -    return;
        -  }
        -  
        -  // Find the target window
        -  HWND targetWindow = FindTargetWindow(processName, windowTitle);
        -  
        -  if (targetWindow == NULL) {
        -    // Fallback to global key simulation if window not found
        -    // Use SendInput instead of keybd_event to avoid glitches (see issue #7)
        -    INPUT input = {0};
        -    input.type = INPUT_KEYBOARD;
        -    input.ki.wVk = static_cast(keyCode);
        -    input.ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        -    SendInput(1, &input, sizeof(INPUT));
        -    result->Success(flutter::EncodableValue(true));
        -    return;
        -  }
        -  
        -  // Send key directly to the target window
        -  WPARAM wParam = keyCode;
        -  LPARAM lParam = 0;
        -  
        -  // Set up lParam with scan code and other flags
        -  UINT scanCode = MapVirtualKey(keyCode, MAPVK_VK_TO_VSC);
        -  lParam = (scanCode << 16);
        -  if (!keyDown) {
        -    lParam |= (1 << 30) | (1 << 31); // Previous key state and transition state
        -  }
        -  
        -  // Send the message to the specific window
        -  BOOL messageResult;
        -  if (keyDown) {
        -    messageResult = PostMessage(targetWindow, WM_KEYDOWN, wParam, lParam);
        -  } else {
        -    messageResult = PostMessage(targetWindow, WM_KEYUP, wParam, lParam);
        -  }
        -  
        -  if (!messageResult) {
        -    // If PostMessage failed, fall back to global simulation
        -    // Use SendInput instead of keybd_event to avoid glitches (see issue #7)
        -    INPUT input = {0};
        -    input.type = INPUT_KEYBOARD;
        -    input.ki.wVk = static_cast(keyCode);
        -    input.ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        -    SendInput(1, &input, sizeof(INPUT));
        -  }
        -  
        -  result->Success(flutter::EncodableValue(true));
        -}
         
         void KeypressSimulatorWindowsPlugin::HandleMethodCall(
             const flutter::MethodCall& method_call,
        @@ -285,8 +216,6 @@ void KeypressSimulatorWindowsPlugin::HandleMethodCall(
             SimulateKeyPress(method_call, std::move(result));
           } else if (method_call.method_name().compare("simulateMouseClick") == 0) {
             SimulateMouseClick(method_call, std::move(result));
        -  } else if (method_call.method_name().compare("simulateKeyPressToWindow") == 0) {
        -    SimulateKeyPressToWindow(method_call, std::move(result));
           } else {
             result->NotImplemented();
           }
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        index 12f37531d..57d5a2801 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.h
        @@ -30,9 +30,7 @@ class KeypressSimulatorWindowsPlugin : public flutter::Plugin {
               const flutter::MethodCall& method_call,
               std::unique_ptr> result);
         
        -  void KeypressSimulatorWindowsPlugin::SimulateKeyPressToWindow(
        -      const flutter::MethodCall& method_call,
        -      std::unique_ptr> result);
        +
         
           // Called when a method is called on this plugin's channel from Dart.
           void HandleMethodCall(
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index 344632303..de1c0947c 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -1,5 +1,3 @@
        -import 'dart:io';
        -
         import 'package:keypress_simulator/keypress_simulator.dart';
         import 'package:swift_control/utils/actions/base_actions.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
        @@ -17,26 +15,9 @@ class DesktopActions extends BaseActions {
             }
         
             if (keyPair.physicalKey != null) {
        -      // Check if we're on Windows and have window targeting information
        -      if (Platform.isWindows && 
        -          (supportedApp!.windowsProcessName != null || supportedApp!.windowsWindowTitle != null)) {
        -        await keyPressSimulator.simulateKeyDownToWindow(
        -          keyPair.physicalKey,
        -          processName: supportedApp!.windowsProcessName,
        -          windowTitle: supportedApp!.windowsWindowTitle,
        -        );
        -        await keyPressSimulator.simulateKeyUpToWindow(
        -          keyPair.physicalKey,
        -          processName: supportedApp!.windowsProcessName,
        -          windowTitle: supportedApp!.windowsWindowTitle,
        -        );
        -        return 'Key pressed to window: ${keyPair.logicalKey?.keyLabel}';
        -      } else {
        -        // Fallback to global key simulation
        -        await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        -        await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        -        return 'Key pressed: ${keyPair.logicalKey?.keyLabel}';
        -      }
        +      await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        +      await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        +      return 'Key pressed: ${keyPair.logicalKey?.keyLabel}';
             } else {
               final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null);
               await keyPressSimulator.simulateMouseClick(point);
        diff --git a/lib/utils/keymap/apps/biketerra.dart b/lib/utils/keymap/apps/biketerra.dart
        index ef420e4b7..98cab0eb0 100644
        --- a/lib/utils/keymap/apps/biketerra.dart
        +++ b/lib/utils/keymap/apps/biketerra.dart
        @@ -11,8 +11,6 @@ class Biketerra extends SupportedApp {
             : super(
                 name: 'Biketerra',
                 packageName: "biketerra",
        -        windowsProcessName: "biketerra.exe",
        -        windowsWindowTitle: "Biketerra",
                 keymap: Keymap(
                   keyPairs: [
                     KeyPair(
        diff --git a/lib/utils/keymap/apps/custom_app.dart b/lib/utils/keymap/apps/custom_app.dart
        index f07c3a593..a7967a68f 100644
        --- a/lib/utils/keymap/apps/custom_app.dart
        +++ b/lib/utils/keymap/apps/custom_app.dart
        @@ -8,13 +8,7 @@ import '../buttons.dart';
         import '../keymap.dart';
         
         class CustomApp extends SupportedApp {
        -  CustomApp() : super(
        -    name: 'Custom', 
        -    packageName: "custom", 
        -    keymap: Keymap.custom,
        -    windowsProcessName: null,
        -    windowsWindowTitle: null,
        -  );
        +  CustomApp() : super(name: 'Custom', packageName: "custom", keymap: Keymap.custom);
         
           @override
           Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent? windowInfo}) {
        diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart
        index dcc50e354..380746b71 100644
        --- a/lib/utils/keymap/apps/my_whoosh.dart
        +++ b/lib/utils/keymap/apps/my_whoosh.dart
        @@ -13,8 +13,6 @@ class MyWhoosh extends SupportedApp {
             : super(
                 name: 'MyWhoosh',
                 packageName: "com.mywhoosh.whooshgame",
        -        windowsProcessName: "MyWhooshHD.exe",
        -        windowsWindowTitle: "MyWhooshHD",
                 keymap: Keymap(
                   keyPairs: [
                     KeyPair(
        diff --git a/lib/utils/keymap/apps/supported_app.dart b/lib/utils/keymap/apps/supported_app.dart
        index 786af5eae..41fd70df3 100644
        --- a/lib/utils/keymap/apps/supported_app.dart
        +++ b/lib/utils/keymap/apps/supported_app.dart
        @@ -14,10 +14,6 @@ abstract class SupportedApp {
           final String packageName;
           final String name;
           final Keymap keymap;
        -  
        -  // For Windows desktop applications - process name or window title
        -  final String? windowsProcessName;
        -  final String? windowsWindowTitle;
         
           Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent? windowInfo}) {
             if (this is CustomApp) {
        @@ -30,13 +26,7 @@ abstract class SupportedApp {
             return Offset.zero;
           }
         
        -  const SupportedApp({
        -    required this.name, 
        -    required this.packageName, 
        -    required this.keymap,
        -    this.windowsProcessName,
        -    this.windowsWindowTitle,
        -  });
        +  const SupportedApp({required this.name, required this.packageName, required this.keymap});
         
           static final List supportedApps = [MyWhoosh(), TrainingPeaks(), Biketerra(), CustomApp()];
         
        diff --git a/lib/utils/keymap/apps/training_peaks.dart b/lib/utils/keymap/apps/training_peaks.dart
        index e99a0cb8d..5c5ff86e0 100644
        --- a/lib/utils/keymap/apps/training_peaks.dart
        +++ b/lib/utils/keymap/apps/training_peaks.dart
        @@ -13,8 +13,6 @@ class TrainingPeaks extends SupportedApp {
             : super(
                 name: 'IndieVelo / TrainingPeaks',
                 packageName: "com.indieVelo.client",
        -        windowsProcessName: "indieVelo.exe",
        -        windowsWindowTitle: "indieVelo",
                 keymap: Keymap(
                   keyPairs: [
                     // https://help.trainingpeaks.com/hc/en-us/articles/31340399556877-TrainingPeaks-Virtual-Controls-and-Keyboard-Shortcuts
        
        From 2122568461e704ab2d3d09c5c004069c0da498e2 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Thu, 3 Jul 2025 14:23:43 +0000
        Subject: [PATCH 127/636] Remove documentation and utility files as requested,
         keep automatic window focusing in Windows C++ plugin
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         README.md               |  13 -----
         WINDOW_FOCUS_FEATURE.md |  91 ----------------------------------
         identify_process.bat    | 107 ----------------------------------------
         test_window_focus.bat   |  95 -----------------------------------
         4 files changed, 306 deletions(-)
         delete mode 100644 WINDOW_FOCUS_FEATURE.md
         delete mode 100644 identify_process.bat
         delete mode 100644 test_window_focus.bat
        
        diff --git a/README.md b/README.md
        index 6328a90b2..6c9681802 100644
        --- a/README.md
        +++ b/README.md
        @@ -54,19 +54,6 @@ The app connects to your Zwift device automatically.
           - you can also create your own Keymaps for any other app
           - you can also use the mouse to click on a certain part of the screen, or use keyboard shortcuts
         
        -### New: Window Focus Feature (Windows)
        -On Windows, SwiftControl can now send key presses directly to training applications even when they're not in focus! This means you can:
        -- Keep your browser focused on YouTube while training
        -- Control gear shifts in MyWhoosh without clicking on the window
        -- Use multiple applications simultaneously without interruption
        -
        -Supported applications with automatic window targeting:
        -- MyWhoosh (MyWhooshHD)
        -- IndieVelo / Training Peaks
        -- Biketerra
        -
        -The feature automatically falls back to global key simulation if the target window is not found.
        -
         ## Donate
         Please consider donating to support the development of this app :)
         
        diff --git a/WINDOW_FOCUS_FEATURE.md b/WINDOW_FOCUS_FEATURE.md
        deleted file mode 100644
        index e9f4b4262..000000000
        --- a/WINDOW_FOCUS_FEATURE.md
        +++ /dev/null
        @@ -1,91 +0,0 @@
        -# Window-Focused Key Simulation Feature
        -
        -## Overview
        -
        -This feature addresses the issue where users need to manually focus on training application windows (like MyWhooshHD) to receive key presses from Zwift controllers. With this implementation, key presses are sent directly to the target application window even when it's not in focus.
        -
        -## How It Works
        -
        -### For Windows Users
        -- The application automatically detects supported training apps by their process name
        -- Key presses are sent directly to the target window using Windows messaging
        -- If the target window is not found, it falls back to global key simulation
        -
        -### Supported Applications
        -- **MyWhoosh**: Targets `MyWhooshHD.exe` process
        -- **IndieVelo/TrainingPeaks**: Targets `indieVelo.exe` process
        -- **Biketerra**: Targets `biketerra.exe` process
        -- **Custom Apps**: Use global key simulation (no window targeting)
        -
        -### For Other Platforms
        -- macOS and Linux automatically fall back to the existing global key simulation
        -- No changes in behavior for non-Windows platforms
        -
        -## Usage
        -
        -1. **Start your training application** (e.g., MyWhooshHD)
        -2. **Start SwiftControl** and connect your Zwift device
        -3. **Select the appropriate application** in SwiftControl settings
        -4. **Use your Zwift controller** - keys will be sent directly to the training app
        -5. **Keep focus on other applications** (like Chrome for YouTube) while training
        -
        -## Testing the Feature
        -
        -### Manual Testing
        -1. Open MyWhooshHD (or another supported training app)
        -2. Open another application (like a web browser) and keep it in focus
        -3. Use SwiftControl with a Zwift device to send key presses
        -4. Verify that the training app responds to the key presses even though it's not focused
        -
        -### Expected Behavior
        -- **With window targeting**: Keys go directly to the training app regardless of focus
        -- **Without window targeting**: Keys go to whatever application has focus (previous behavior)
        -- **App not found**: Automatic fallback to global key simulation
        -
        -## Technical Details
        -
        -### Windows Implementation
        -- Uses `EnumWindows` to find target application windows
        -- Identifies applications by process name (e.g., "MyWhooshHD.exe")
        -- Sends keys via `PostMessage` with `WM_KEYDOWN`/`WM_KEYUP` messages
        -- Falls back to `SendInput` for global simulation when needed
        -
        -### Error Handling
        -- Graceful fallback if target window is not found
        -- Cross-platform compatibility maintained
        -- Proper parameter validation and error reporting
        -
        -## Configuration
        -
        -Applications are automatically configured with their target process names:
        -
        -```dart
        -// MyWhoosh configuration
        -MyWhoosh() : super(
        -  name: 'MyWhoosh',
        -  packageName: "com.mywhoosh.whooshgame",
        -  windowsProcessName: "MyWhooshHD.exe",  // New: Windows process targeting
        -  windowsWindowTitle: "MyWhooshHD",      // New: Window title targeting
        -  keymap: Keymap(...)
        -);
        -```
        -
        -## Troubleshooting
        -
        -### Key presses not reaching the training app
        -1. Verify the training app is running
        -2. Check that you've selected the correct app in SwiftControl
        -3. Try manually focusing the training app to test normal key mapping
        -4. Check Windows Task Manager to verify the correct process name
        -
        -### Fallback behavior
        -- If window targeting fails, the system automatically falls back to global key simulation
        -- This ensures the feature degrades gracefully and maintains existing functionality
        -
        -## Future Enhancements
        -
        -Potential improvements for this feature:
        -- Support for targeting by window class name
        -- Configuration UI for custom process names
        -- Real-time feedback on window targeting status
        -- Support for multiple instances of the same application
        \ No newline at end of file
        diff --git a/identify_process.bat b/identify_process.bat
        deleted file mode 100644
        index b0cfc64c3..000000000
        --- a/identify_process.bat
        +++ /dev/null
        @@ -1,107 +0,0 @@
        -@echo off
        -echo SwiftControl Window Targeting Helper
        -echo ===================================
        -echo.
        -echo This utility helps identify the correct process names for window targeting.
        -echo Use this if the automatic targeting isn't working for your training app.
        -echo.
        -
        -:menu
        -echo Options:
        -echo 1. List all running applications
        -echo 2. Search for specific application
        -echo 3. Find windows with specific titles
        -echo 4. Test window targeting (advanced)
        -echo 5. Exit
        -echo.
        -set /p choice="Enter your choice (1-5): "
        -
        -if "%choice%"=="1" goto list_all
        -if "%choice%"=="2" goto search_app
        -if "%choice%"=="3" goto find_windows
        -if "%choice%"=="4" goto test_targeting
        -if "%choice%"=="5" goto exit
        -echo Invalid choice. Please try again.
        -echo.
        -goto menu
        -
        -:list_all
        -echo.
        -echo All running applications:
        -echo ------------------------
        -tasklist /FO TABLE | findstr /V "System Idle Process"
        -echo.
        -echo Look for your training application in the list above.
        -echo The "Image Name" column shows the process name to use for targeting.
        -echo.
        -pause
        -goto menu
        -
        -:search_app
        -echo.
        -set /p appname="Enter part of the application name to search for: "
        -echo.
        -echo Searching for applications containing "%appname%":
        -echo ----------------------------------------------
        -tasklist /FI "IMAGENAME eq *%appname%*" 2>NUL
        -if errorlevel 1 (
        -    echo No exact matches found. Trying broader search...
        -    tasklist | findstr /I "%appname%"
        -    if errorlevel 1 (
        -        echo No applications found containing "%appname%"
        -    )
        -)
        -echo.
        -pause
        -goto menu
        -
        -:find_windows
        -echo.
        -echo This feature requires PowerShell. Checking window titles...
        -echo.
        -powershell -Command "Get-Process | Where-Object {$_.MainWindowTitle -ne ''} | Select-Object ProcessName, MainWindowTitle | Format-Table -AutoSize"
        -echo.
        -echo The ProcessName column shows what to use for windowsProcessName
        -echo The MainWindowTitle column shows what to use for windowsWindowTitle
        -echo.
        -pause
        -goto menu
        -
        -:test_targeting
        -echo.
        -echo Advanced Window Targeting Test
        -echo =============================
        -echo.
        -set /p testprocess="Enter process name to test (e.g., MyWhooshHD.exe): "
        -echo.
        -echo Testing if process "%testprocess%" is running...
        -tasklist /FI "IMAGENAME eq %testprocess%" 2>NUL | find /I /N "%testprocess%">NUL
        -if "%ERRORLEVEL%"=="0" (
        -    echo ✓ Process found! Window targeting should work for this process.
        -    echo.
        -    echo Process details:
        -    tasklist /FI "IMAGENAME eq %testprocess%" /FO LIST
        -) else (
        -    echo ✗ Process not found. Make sure the application is running.
        -    echo   Try option 1 to see all running processes.
        -)
        -echo.
        -pause
        -goto menu
        -
        -:exit
        -echo.
        -echo Common Training Application Process Names:
        -echo ========================================
        -echo MyWhoosh: MyWhooshHD.exe
        -echo IndieVelo/TrainingPeaks: indieVelo.exe  
        -echo Biketerra: biketerra.exe
        -echo Zwift: ZwiftApp.exe
        -echo.
        -echo How to use this information:
        -echo 1. Find your application's process name using this tool
        -echo 2. If it differs from the defaults, please report it to the SwiftControl developers
        -echo 3. The targeting feature will automatically use the correct process name
        -echo.
        -echo Thank you for using SwiftControl!
        -pause
        \ No newline at end of file
        diff --git a/test_window_focus.bat b/test_window_focus.bat
        deleted file mode 100644
        index 64af22500..000000000
        --- a/test_window_focus.bat
        +++ /dev/null
        @@ -1,95 +0,0 @@
        -@echo off
        -echo Testing Window-Focused Key Simulation Feature
        -echo =============================================
        -echo.
        -
        -echo This script helps test the window-focused key simulation feature.
        -echo.
        -
        -echo Step 1: Launch MyWhooshHD
        -echo -----------------------
        -echo Please start MyWhooshHD application if it's not already running.
        -echo Once started, press any key to continue...
        -pause >nul
        -
        -echo.
        -echo Step 2: Launch SwiftControl
        -echo --------------------------
        -echo Start SwiftControl and:
        -echo 1. Connect your Zwift device
        -echo 2. Select "MyWhoosh" as your target application
        -echo 3. Make sure key mapping is configured (default: I/K for shifting)
        -echo.
        -echo Press any key when SwiftControl is ready...
        -pause >nul
        -
        -echo.
        -echo Step 3: Focus Test
        -echo -----------------
        -echo Now we'll test the window focus feature:
        -echo.
        -echo 1. This command window should be in focus (active)
        -echo 2. MyWhooshHD should be running in the background
        -echo 3. Try using your Zwift device to send key presses
        -echo 4. The key presses should reach MyWhooshHD even though this window has focus
        -echo.
        -echo Expected behavior:
        -echo - Gear shifts in MyWhooshHD should work
        -echo - This command window should remain focused
        -echo - You should see responses in MyWhooshHD without clicking on it
        -echo.
        -echo Press any key after testing...
        -pause >nul
        -
        -echo.
        -echo Step 4: Verify Process Detection
        -echo -------------------------------
        -echo Checking if MyWhooshHD.exe is running...
        -
        -tasklist /FI "IMAGENAME eq MyWhooshHD.exe" 2>NUL | find /I /N "MyWhooshHD.exe">NUL
        -if "%ERRORLEVEL%"=="0" (
        -    echo ✓ MyWhooshHD.exe process found
        -    echo.
        -    echo Process details:
        -    tasklist /FI "IMAGENAME eq MyWhooshHD.exe" /FO LIST
        -) else (
        -    echo ✗ MyWhooshHD.exe process not found
        -    echo   Make sure MyWhooshHD is running for the feature to work
        -)
        -
        -echo.
        -echo Step 5: Test Results
        -echo -------------------
        -echo Please report your test results:
        -echo.
        -echo 1. Did key presses reach MyWhooshHD while this window was focused? (Y/N)
        -set /p result1="Enter Y or N: "
        -
        -echo 2. Did gear shifts work in MyWhooshHD? (Y/N)
        -set /p result2="Enter Y or N: "
        -
        -echo 3. Did you need to click on MyWhooshHD window for keys to work? (Y/N)
        -set /p result3="Enter Y or N: "
        -
        -echo.
        -echo Test Summary:
        -echo - Key presses reached MyWhooshHD: %result1%
        -echo - Gear shifts worked: %result2%
        -echo - Manual focus required: %result3%
        -echo.
        -
        -if /I "%result1%"=="Y" if /I "%result2%"=="Y" if /I "%result3%"=="N" (
        -    echo ✓ SUCCESS: Window-focused key simulation is working correctly!
        -) else (
        -    echo ✗ ISSUE: Window-focused key simulation may not be working as expected.
        -    echo   Please check the troubleshooting section in WINDOW_FOCUS_FEATURE.md
        -)
        -
        -echo.
        -echo Additional Testing:
        -echo - Try opening a web browser and keeping it focused while using Zwift controls
        -echo - Test with different supported applications (IndieVelo, Biketerra)
        -echo - Verify fallback behavior when target app is not running
        -echo.
        -echo Press any key to exit...
        -pause >nul
        \ No newline at end of file
        
        From 310313c3b23ac97f872aea5f0117948833b452d2 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Thu, 3 Jul 2025 14:56:11 +0000
        Subject: [PATCH 128/636] Add check to avoid focusing window if already in
         foreground
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         .../windows/keypress_simulator_windows_plugin.cpp         | 8 +++++---
         1 file changed, 5 insertions(+), 3 deletions(-)
        
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index 27c705be9..dd99059bc 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -68,9 +68,11 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
           for (const std::string& processName : compatibleApps) {
             targetWindow = FindTargetWindow(processName, "");
             if (targetWindow != NULL) {
        -      // Focus the window before sending the key
        -      SetForegroundWindow(targetWindow);
        -      Sleep(50); // Brief delay to ensure window is focused
        +      // Only focus the window if it's not already in the foreground
        +      if (GetForegroundWindow() != targetWindow) {
        +        SetForegroundWindow(targetWindow);
        +        Sleep(50); // Brief delay to ensure window is focused
        +      }
               break;
             }
           }
        
        From bc2831c17eaf2781363ff59223dd3b3d96609ca0 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Thu, 3 Jul 2025 15:00:12 +0000
        Subject: [PATCH 129/636] Update version to 2.1.0 and add changelog entry for
         automatic window focusing feature
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         CHANGELOG.md | 3 +++
         pubspec.yaml | 2 +-
         2 files changed, 4 insertions(+), 1 deletion(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 917fab3b2..3b017d261 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 2.1.0 (2025-07-03)
        +- Windows: automatically focus compatible training apps (MyWhoosh, IndieVelo, Biketerra) when sending keystrokes, enabling seamless multi-window usage
        +
         ### 2.0.9 (2025-05-04)
         - you can now assign Escape and arrow down key to your custom keymap (#18)
         
        diff --git a/pubspec.yaml b/pubspec.yaml
        index f1d699a2a..1603bd71d 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.0.9+0
        +version: 2.1.0+0
         
         environment:
           sdk: ^3.7.0
        
        From f42e48326052cc4459410bf4fbcd64f3c4ad3b2f Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Fri, 4 Jul 2025 07:19:09 +0000
        Subject: [PATCH 130/636] Initial plan
        
        
        From 458e6333a02accfa29103965c47c817ccf4b06c8 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Fri, 4 Jul 2025 07:22:34 +0000
        Subject: [PATCH 131/636] Fix C++ forward declaration error for
         FindTargetWindow
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         .../keypress_simulator_windows_plugin.cpp       | 17 ++++++++++-------
         1 file changed, 10 insertions(+), 7 deletions(-)
        
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index dd99059bc..f93211b49 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -18,6 +18,16 @@ using flutter::EncodableValue;
         
         namespace keypress_simulator_windows {
         
        +// Forward declarations
        +struct FindWindowData {
        +  std::string targetProcessName;
        +  std::string targetWindowTitle;
        +  HWND foundWindow;
        +};
        +
        +BOOL CALLBACK EnumWindowsCallback(HWND hwnd, LPARAM lParam);
        +HWND FindTargetWindow(const std::string& processName, const std::string& windowTitle);
        +
         // static
         void KeypressSimulatorWindowsPlugin::RegisterWithRegistrar(
             flutter::PluginRegistrarWindows* registrar) {
        @@ -144,13 +154,6 @@ void KeypressSimulatorWindowsPlugin::SimulateMouseClick(
           result->Success(flutter::EncodableValue(true));
         }
         
        -// Helper function to find window by process name or window title
        -struct FindWindowData {
        -  std::string targetProcessName;
        -  std::string targetWindowTitle;
        -  HWND foundWindow;
        -};
        -
         BOOL CALLBACK EnumWindowsCallback(HWND hwnd, LPARAM lParam) {
           FindWindowData* data = reinterpret_cast(lParam);
           
        
        From 72cdf86802267d9e3db1605f5389b0593e560235 Mon Sep 17 00:00:00 2001
        From: jonasbark 
        Date: Mon, 18 Aug 2025 10:06:22 +0200
        Subject: [PATCH 132/636] Update README.md
        
        ---
         README.md | 3 ++-
         1 file changed, 2 insertions(+), 1 deletion(-)
        
        diff --git a/README.md b/README.md
        index 6c9681802..d61c48eda 100644
        --- a/README.md
        +++ b/README.md
        @@ -43,7 +43,8 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         
         ## Troubleshooting
         - Your Zwift device is found but connection does not work properly? You may need to update the firmware in Zwift Companion app.
        -- The Android app is losing connection over time? Read about how to [keep the app alive](https://dontkillmyapp.com/).
        +- The **Android** app is losing connection over time? Read about how to [keep the app alive](https://dontkillmyapp.com/).
        +- **Windows** bluetooth connection unstable? You may need to use an [external Bluetooth adapter](https://github.com/jonasbark/swiftcontrol/issues/14#issuecomment-3193839509).
         
         ## How does it work?
         The app connects to your Zwift device automatically. 
        
        From 9df1f7cfa6515f155e808361a990aa0ea074ce79 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Sat, 6 Sep 2025 06:39:18 +0000
        Subject: [PATCH 133/636] Initial plan
        
        
        From 4bc1a3b1d0c8d770ef797679f49d6364c2f07a2c Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Sat, 6 Sep 2025 06:46:23 +0000
        Subject: [PATCH 134/636] Add long press functionality to KeyPair and update UI
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         lib/bluetooth/devices/base_device.dart | 25 ++++++++++++++++-
         lib/pages/touch_area.dart              | 23 ++++++++++++++--
         lib/utils/actions/android.dart         |  2 +-
         lib/utils/actions/base_actions.dart    |  4 +--
         lib/utils/actions/desktop.dart         | 38 +++++++++++++++++++++++++-
         lib/utils/keymap/apps/custom_app.dart  |  9 +++++-
         lib/utils/keymap/keymap.dart           |  4 +++
         7 files changed, 97 insertions(+), 8 deletions(-)
        
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 175e04109..81c616c43 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -29,6 +29,7 @@ abstract class BaseDevice {
         
           BleCharacteristic? syncRxCharacteristic;
           Timer? _longPressTimer;
        +  Set _previouslyPressedButtons = {};
         
           List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_CLICK;
           String get customServiceId => BleUuid.ZWIFT_CUSTOM_SERVICE_UUID;
        @@ -245,7 +246,23 @@ abstract class BaseDevice {
                       } else if (buttonsClicked.isEmpty) {
                         actionStreamInternal.add(LogNotification('Buttons released'));
                         _longPressTimer?.cancel();
        +                
        +                // Handle release events for long press keys
        +                final buttonsReleased = _previouslyPressedButtons.toList();
        +                if (buttonsReleased.isNotEmpty) {
        +                  await _performRelease(buttonsReleased);
        +                }
        +                _previouslyPressedButtons.clear();
                       } else {
        +                // Handle release events for buttons that are no longer pressed
        +                final buttonsReleased = _previouslyPressedButtons.difference(buttonsClicked.toSet()).toList();
        +                if (buttonsReleased.isNotEmpty) {
        +                  await _performRelease(buttonsReleased);
        +                }
        +                
        +                // Update currently pressed buttons
        +                _previouslyPressedButtons = buttonsClicked.toSet();
        +                
                         if (!(buttonsClicked.singleOrNull == ZwiftButton.onOffLeft ||
                             buttonsClicked.singleOrNull == ZwiftButton.onOffRight)) {
                           // we don't want to trigger the long press timer for the on/off buttons
        @@ -273,7 +290,13 @@ abstract class BaseDevice {
               await _vibrate();
             }
             for (final action in buttonsClicked) {
        -      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action)));
        +      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action, isPressed: true, isRepeated: repeated)));
        +    }
        +  }
        +
        +  Future _performRelease(List buttonsReleased) async {
        +    for (final action in buttonsReleased) {
        +      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action, isPressed: false, isRepeated: false)));
             }
           }
         
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index ab602b260..1bbd29286 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -91,6 +91,7 @@ class _TouchAreaSetupPageState extends State {
                       buttons: [_pressedButton!],
                       physicalKey: null,
                       logicalKey: null,
        +              isLongPress: false,
                     ),
                   );
                   setState(() {});
        @@ -133,6 +134,22 @@ class _TouchAreaSetupPageState extends State {
                           setState(() {});
                         },
                       ),
        +              PopupMenuItem(
        +                value: null,
        +                child: Row(
        +                  children: [
        +                    Checkbox(
        +                      value: keyPair.isLongPress,
        +                      onChanged: (value) {
        +                        keyPair.isLongPress = value ?? false;
        +                        setState(() {});
        +                        Navigator.of(context).pop();
        +                      },
        +                    ),
        +                    const Text('Long Press Mode'),
        +                  ],
        +                ),
        +              ),
                       PopupMenuItem(
                         child: PopupMenuButton(
                           padding: EdgeInsets.zero,
        @@ -317,13 +334,13 @@ class _TouchDot extends StatelessWidget {
                   decoration: BoxDecoration(
                     color: color.withOpacity(0.6),
                     shape: BoxShape.circle,
        -            border: Border.all(color: Colors.black, width: 2),
        +            border: Border.all(color: keyPair.isLongPress ? Colors.green : Colors.black, width: keyPair.isLongPress ? 3 : 2),
                   ),
                   child: Icon(
                     keyPair.isSpecialKey
                         ? Icons.music_note_outlined
                         : keyPair.physicalKey != null
        -                ? Icons.keyboard_alt_outlined
        +                ? (keyPair.isLongPress ? Icons.keyboard_double_arrow_down : Icons.keyboard_alt_outlined)
                         : Icons.add,
                   ),
                 ),
        @@ -344,6 +361,8 @@ class _TouchDot extends StatelessWidget {
                           PhysicalKeyboardKey.audioVolumeDown => 'Media: Volume Down',
                           _ => keyPair.logicalKey?.keyLabel ?? 'Unknown',
                         }, style: TextStyle(color: Colors.black87, fontSize: 12)),
        +              if (keyPair.isLongPress && keyPair.physicalKey != null)
        +                Text('Long Press', style: TextStyle(color: Colors.green, fontSize: 10, fontWeight: FontWeight.bold)),
                     ],
                   ),
                 ),
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index 1acaaacfd..97770c54f 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -22,7 +22,7 @@ class AndroidActions extends BaseActions {
           }
         
           @override
        -  Future performAction(ZwiftButton button) async {
        +  Future performAction(ZwiftButton button, {bool isPressed = true, bool isRepeated = false}) async {
             if (supportedApp == null) {
               return ("Could not perform ${button.name}: No keymap set");
             }
        diff --git a/lib/utils/actions/base_actions.dart b/lib/utils/actions/base_actions.dart
        index 2c2305a74..9bdd3df7d 100644
        --- a/lib/utils/actions/base_actions.dart
        +++ b/lib/utils/actions/base_actions.dart
        @@ -9,12 +9,12 @@ abstract class BaseActions {
             this.supportedApp = supportedApp;
           }
         
        -  Future performAction(ZwiftButton action);
        +  Future performAction(ZwiftButton action, {bool isPressed = true, bool isRepeated = false});
         }
         
         class StubActions extends BaseActions {
           @override
        -  Future performAction(ZwiftButton action) {
        +  Future performAction(ZwiftButton action, {bool isPressed = true, bool isRepeated = false}) {
             return Future.value(action.name);
           }
         }
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index de1c0947c..b96ebb685 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -3,8 +3,11 @@ import 'package:swift_control/utils/actions/base_actions.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
         
         class DesktopActions extends BaseActions {
        +  // Track keys that are currently held down in long press mode
        +  final Set _heldKeys = {};
        +
           @override
        -  Future performAction(ZwiftButton action) async {
        +  Future performAction(ZwiftButton action, {bool isPressed = true, bool isRepeated = false}) async {
             if (supportedApp == null) {
               return ('Supported app is not set');
             }
        @@ -14,6 +17,28 @@ class DesktopActions extends BaseActions {
               return ('Keymap entry not found for action: $action');
             }
         
        +    // Handle long press mode
        +    if (keyPair.isLongPress && keyPair.physicalKey != null) {
        +      if (isPressed && !isRepeated) {
        +        // Key press: start long press
        +        if (!_heldKeys.contains(action)) {
        +          _heldKeys.add(action);
        +          await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        +          return 'Long press started: ${keyPair.logicalKey?.keyLabel}';
        +        }
        +      } else if (!isPressed) {
        +        // Key release: end long press
        +        if (_heldKeys.contains(action)) {
        +          _heldKeys.remove(action);
        +          await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        +          return 'Long press ended: ${keyPair.logicalKey?.keyLabel}';
        +        }
        +      }
        +      // Ignore repeated presses in long press mode
        +      return 'Long press active: ${keyPair.logicalKey?.keyLabel}';
        +    }
        +
        +    // Handle regular key press mode (existing behavior)
             if (keyPair.physicalKey != null) {
               await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
               await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        @@ -24,4 +49,15 @@ class DesktopActions extends BaseActions {
               return 'Mouse clicked at: $point';
             }
           }
        +
        +  // Release all held keys (useful for cleanup)
        +  Future releaseAllHeldKeys() async {
        +    for (final action in _heldKeys.toList()) {
        +      final keyPair = supportedApp?.keymap.getKeyPair(action);
        +      if (keyPair?.physicalKey != null) {
        +        await keyPressSimulator.simulateKeyUp(keyPair!.physicalKey);
        +      }
        +    }
        +    _heldKeys.clear();
        +  }
         }
        diff --git a/lib/utils/keymap/apps/custom_app.dart b/lib/utils/keymap/apps/custom_app.dart
        index a7967a68f..222e0fc7a 100644
        --- a/lib/utils/keymap/apps/custom_app.dart
        +++ b/lib/utils/keymap/apps/custom_app.dart
        @@ -42,14 +42,21 @@ class CustomApp extends SupportedApp {
             ZwiftButton zwiftButton, {
             required PhysicalKeyboardKey physicalKey,
             required LogicalKeyboardKey? logicalKey,
        +    bool isLongPress = false,
           }) {
             // set the key for the zwift button
             final keyPair = keymap.getKeyPair(zwiftButton);
             if (keyPair != null) {
               keyPair.physicalKey = physicalKey;
               keyPair.logicalKey = logicalKey;
        +      keyPair.isLongPress = isLongPress;
             } else {
        -      keymap.keyPairs.add(KeyPair(buttons: [zwiftButton], physicalKey: physicalKey, logicalKey: logicalKey));
        +      keymap.keyPairs.add(KeyPair(
        +        buttons: [zwiftButton], 
        +        physicalKey: physicalKey, 
        +        logicalKey: logicalKey,
        +        isLongPress: isLongPress,
        +      ));
             }
           }
         }
        diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart
        index 46c6952e1..cfd05501f 100644
        --- a/lib/utils/keymap/keymap.dart
        +++ b/lib/utils/keymap/keymap.dart
        @@ -41,12 +41,14 @@ class KeyPair {
           PhysicalKeyboardKey? physicalKey;
           LogicalKeyboardKey? logicalKey;
           Offset touchPosition;
        +  bool isLongPress;
         
           KeyPair({
             required this.buttons,
             required this.physicalKey,
             required this.logicalKey,
             this.touchPosition = Offset.zero,
        +    this.isLongPress = false,
           });
         
           bool get isSpecialKey =>
        @@ -78,6 +80,7 @@ class KeyPair {
               'logicalKey': logicalKey?.keyId.toString() ?? '0',
               'physicalKey': physicalKey?.usbHidUsage.toString() ?? '0',
               'touchPosition': {'x': touchPosition.dx, 'y': touchPosition.dy},
        +      'isLongPress': isLongPress,
             });
           }
         
        @@ -96,6 +99,7 @@ class KeyPair {
               physicalKey:
                   int.parse(decoded['physicalKey']) != 0 ? PhysicalKeyboardKey(int.parse(decoded['physicalKey'])) : null,
               touchPosition: Offset(decoded['touchPosition']['x'], decoded['touchPosition']['y']),
        +      isLongPress: decoded['isLongPress'] ?? false,
             );
           }
         }
        
        From 21cb8844fc6095ae7b0531205d1244d589e9c41a Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Sat, 6 Sep 2025 06:48:13 +0000
        Subject: [PATCH 135/636] Complete long press feature implementation with
         cleanup, tests and documentation
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         LONG_PRESS_FEATURE.md                  | 64 ++++++++++++++++++++++
         README.md                              | 14 +++++
         lib/bluetooth/devices/base_device.dart | 12 +++++
         lib/utils/keymap/keymap.dart           |  2 +-
         test/long_press_test.dart              | 75 ++++++++++++++++++++++++++
         5 files changed, 166 insertions(+), 1 deletion(-)
         create mode 100644 LONG_PRESS_FEATURE.md
         create mode 100644 test/long_press_test.dart
        
        diff --git a/LONG_PRESS_FEATURE.md b/LONG_PRESS_FEATURE.md
        new file mode 100644
        index 000000000..3998f5537
        --- /dev/null
        +++ b/LONG_PRESS_FEATURE.md
        @@ -0,0 +1,64 @@
        +# Long Press Mode Feature Documentation
        +
        +## Overview
        +The Long Press Mode feature allows users to configure custom keymap buttons to behave as sustained key presses instead of repeated key taps. This is particularly useful for applications like games where continuous movement requires holding down a key.
        +
        +## How It Works
        +
        +### Regular Mode (Default Behavior)
        +- Button press triggers immediate key down + key up
        +- If button is held, repeats key down + key up every 250ms
        +- Perfect for discrete actions like shifting gears or menu navigation
        +
        +### Long Press Mode (New Feature)
        +- Button press triggers key down only
        +- Key remains "held down" until button is released
        +- Button release triggers key up
        +- No repeated key presses while held
        +- Perfect for movement controls, steering, or any sustained action
        +
        +## Implementation Details
        +
        +### Core Changes
        +1. **KeyPair Class**: Added `isLongPress` boolean property
        +2. **DesktopActions**: Tracks held keys and handles separate key down/up operations
        +3. **BaseDevice**: Detects button release events to trigger key up
        +4. **UI**: Added checkbox to configure long press mode per button
        +
        +### State Management
        +- `DesktopActions._heldKeys` tracks which buttons are currently pressed in long press mode
        +- Button release detection ensures proper key up events
        +- Cleanup methods available to release all held keys if needed
        +
        +## User Interface
        +
        +### Configuration
        +1. Select "Custom" keymap in the main interface
        +2. Click "Customize Keymap" 
        +3. Right-click on any configured button
        +4. Check "Long Press Mode" in the popup menu
        +
        +### Visual Indicators
        +- Long press enabled buttons show a green border
        +- Icon changes to double-arrow-down to indicate long press mode
        +- "Long Press" label appears under the button configuration
        +
        +### Example Use Case
        +A user wants to control avatar movement in a game:
        +1. Configure a Zwift button to send the 'W' key (forward movement)
        +2. Enable "Long Press Mode" for that button
        +3. Now pressing and holding the Zwift button will:
        +   - Send 'W' key down when pressed
        +   - Keep 'W' held down while button is held
        +   - Send 'W' key up when button is released
        +   - Perfect for smooth, continuous movement
        +
        +## Backward Compatibility
        +- Existing keymaps continue to work unchanged (default isLongPress = false)
        +- Legacy encoded keymaps are automatically upgraded with isLongPress = false
        +- No breaking changes to existing functionality
        +
        +## Technical Notes
        +- Long press mode only applies to keyboard keys, not touch positions or media keys
        +- The 250ms repeat timer is bypassed in long press mode to prevent conflicts
        +- Proper cleanup ensures no "stuck" keys if connection is lost
        \ No newline at end of file
        diff --git a/README.md b/README.md
        index d61c48eda..79837a9da 100644
        --- a/README.md
        +++ b/README.md
        @@ -11,6 +11,20 @@ With SwiftControl you can control your favorite trainer app using your Zwift Cli
         - control music on your device
         - more? If you can do it via keyboard, mouse or touch, you can do it with SwiftControl
         
        +### New: Long Press Mode for Custom Keymaps
        +
        +You can now configure individual buttons in custom keymaps to use "Long Press Mode" instead of repeated key presses:
        +
        +- **Regular Mode** (default): Button press and hold sends repeated key presses every 250ms
        +- **Long Press Mode**: Button press simulates key down, button release simulates key up - perfect for games that need sustained key presses for movement
        +
        +To enable Long Press Mode:
        +1. Select "Custom" keymap
        +2. Click "Customize Keymap"
        +3. Right-click on any key mapping
        +4. Check "Long Press Mode" in the popup menu
        +5. Keys with Long Press Mode enabled will show a green border and different icon
        +
         
         https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159
         
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 81c616c43..44ada9289 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -11,6 +11,7 @@ import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/crypto/local_key_provider.dart';
         import 'package:swift_control/utils/crypto/zap_crypto.dart';
         import 'package:swift_control/utils/single_line_exception.dart';
        +import 'package:swift_control/utils/actions/desktop.dart';
         import 'package:universal_ble/universal_ble.dart';
         
         import '../../utils/crypto/encryption_utils.dart';
        @@ -310,4 +311,15 @@ abstract class BaseDevice {
               BleOutputProperty.withoutResponse,
             );
           }
        +
        +  Future disconnect() async {
        +    _longPressTimer?.cancel();
        +    _previouslyPressedButtons.clear();
        +    // Release any held keys in long press mode
        +    if (actionHandler is DesktopActions) {
        +      await (actionHandler as DesktopActions).releaseAllHeldKeys();
        +    }
        +    await UniversalBle.disconnect(device.deviceId);
        +    isConnected = false;
        +  }
         }
        diff --git a/lib/utils/keymap/keymap.dart b/lib/utils/keymap/keymap.dart
        index cfd05501f..728966622 100644
        --- a/lib/utils/keymap/keymap.dart
        +++ b/lib/utils/keymap/keymap.dart
        @@ -17,7 +17,7 @@ class Keymap {
               separator: ('\n---------\n'),
               transform:
                   (k) =>
        -              '''Button: ${k.buttons.joinToString(transform: (e) => e.name)}\nKeyboard key: ${k.logicalKey?.keyLabel ?? 'Not assigned'}\nAction: ${k.buttons.firstOrNull?.action}${k.touchPosition != Offset.zero ? '\nTouch Position: ${k.touchPosition.toString()}' : ''}''',
        +              '''Button: ${k.buttons.joinToString(transform: (e) => e.name)}\nKeyboard key: ${k.logicalKey?.keyLabel ?? 'Not assigned'}\nAction: ${k.buttons.firstOrNull?.action}${k.touchPosition != Offset.zero ? '\nTouch Position: ${k.touchPosition.toString()}' : ''}${k.isLongPress ? '\nLong Press: Enabled' : ''}''',
             );
           }
         
        diff --git a/test/long_press_test.dart b/test/long_press_test.dart
        new file mode 100644
        index 000000000..b7f7ec6ad
        --- /dev/null
        +++ b/test/long_press_test.dart
        @@ -0,0 +1,75 @@
        +import 'package:flutter_test/flutter_test.dart';
        +import 'package:flutter/services.dart';
        +import 'package:swift_control/utils/keymap/keymap.dart';
        +import 'package:swift_control/utils/keymap/buttons.dart';
        +
        +void main() {
        +  group('Long Press KeyPair Tests', () {
        +    test('KeyPair should encode and decode isLongPress property', () {
        +      // Create a KeyPair with long press enabled
        +      final keyPair = KeyPair(
        +        buttons: [ZwiftButton.a],
        +        physicalKey: PhysicalKeyboardKey.keyA,
        +        logicalKey: LogicalKeyboardKey.keyA,
        +        isLongPress: true,
        +      );
        +
        +      // Encode the KeyPair
        +      final encoded = keyPair.encode();
        +      
        +      // Decode the KeyPair
        +      final decoded = KeyPair.decode(encoded);
        +      
        +      // Verify the decoded KeyPair has the correct properties
        +      expect(decoded, isNotNull);
        +      expect(decoded!.isLongPress, true);
        +      expect(decoded.buttons, equals([ZwiftButton.a]));
        +      expect(decoded.physicalKey, equals(PhysicalKeyboardKey.keyA));
        +      expect(decoded.logicalKey, equals(LogicalKeyboardKey.keyA));
        +    });
        +
        +    test('KeyPair should default isLongPress to false when not specified in decode', () {
        +      // Create a legacy encoded KeyPair without isLongPress property
        +      const legacyEncoded = '''
        +      {
        +        "actions": ["a"],
        +        "logicalKey": "97",
        +        "physicalKey": "458752",
        +        "touchPosition": {"x": 0.0, "y": 0.0}
        +      }
        +      ''';
        +
        +      // Decode the legacy KeyPair
        +      final decoded = KeyPair.decode(legacyEncoded);
        +      
        +      // Verify the decoded KeyPair defaults isLongPress to false
        +      expect(decoded, isNotNull);
        +      expect(decoded!.isLongPress, false);
        +    });
        +
        +    test('KeyPair constructor should default isLongPress to false', () {
        +      final keyPair = KeyPair(
        +        buttons: [ZwiftButton.a],
        +        physicalKey: PhysicalKeyboardKey.keyA,
        +        logicalKey: LogicalKeyboardKey.keyA,
        +      );
        +
        +      expect(keyPair.isLongPress, false);
        +    });
        +
        +    test('KeyPair should correctly encode isLongPress false', () {
        +      final keyPair = KeyPair(
        +        buttons: [ZwiftButton.a],
        +        physicalKey: PhysicalKeyboardKey.keyA,
        +        logicalKey: LogicalKeyboardKey.keyA,
        +        isLongPress: false,
        +      );
        +
        +      final encoded = keyPair.encode();
        +      final decoded = KeyPair.decode(encoded);
        +      
        +      expect(decoded, isNotNull);
        +      expect(decoded!.isLongPress, false);
        +    });
        +  });
        +}
        \ No newline at end of file
        
        From 20a706d93d04df0cb4c146843c8e3c32bce6dbe3 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Sat, 6 Sep 2025 06:58:55 +0000
        Subject: [PATCH 136/636] Address feedback: remove documentation file, revert
         README changes, bump version and update changelog
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         CHANGELOG.md          |  3 ++
         LONG_PRESS_FEATURE.md | 64 -------------------------------------------
         README.md             | 14 ----------
         pubspec.yaml          |  2 +-
         4 files changed, 4 insertions(+), 79 deletions(-)
         delete mode 100644 LONG_PRESS_FEATURE.md
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 3b017d261..3e0a9d5ee 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 2.1.1 (2025-01-03)
        +- Add Long Press Mode option for custom keymaps - buttons can now send sustained key presses instead of repeated taps, perfect for movement controls in games
        +
         ### 2.1.0 (2025-07-03)
         - Windows: automatically focus compatible training apps (MyWhoosh, IndieVelo, Biketerra) when sending keystrokes, enabling seamless multi-window usage
         
        diff --git a/LONG_PRESS_FEATURE.md b/LONG_PRESS_FEATURE.md
        deleted file mode 100644
        index 3998f5537..000000000
        --- a/LONG_PRESS_FEATURE.md
        +++ /dev/null
        @@ -1,64 +0,0 @@
        -# Long Press Mode Feature Documentation
        -
        -## Overview
        -The Long Press Mode feature allows users to configure custom keymap buttons to behave as sustained key presses instead of repeated key taps. This is particularly useful for applications like games where continuous movement requires holding down a key.
        -
        -## How It Works
        -
        -### Regular Mode (Default Behavior)
        -- Button press triggers immediate key down + key up
        -- If button is held, repeats key down + key up every 250ms
        -- Perfect for discrete actions like shifting gears or menu navigation
        -
        -### Long Press Mode (New Feature)
        -- Button press triggers key down only
        -- Key remains "held down" until button is released
        -- Button release triggers key up
        -- No repeated key presses while held
        -- Perfect for movement controls, steering, or any sustained action
        -
        -## Implementation Details
        -
        -### Core Changes
        -1. **KeyPair Class**: Added `isLongPress` boolean property
        -2. **DesktopActions**: Tracks held keys and handles separate key down/up operations
        -3. **BaseDevice**: Detects button release events to trigger key up
        -4. **UI**: Added checkbox to configure long press mode per button
        -
        -### State Management
        -- `DesktopActions._heldKeys` tracks which buttons are currently pressed in long press mode
        -- Button release detection ensures proper key up events
        -- Cleanup methods available to release all held keys if needed
        -
        -## User Interface
        -
        -### Configuration
        -1. Select "Custom" keymap in the main interface
        -2. Click "Customize Keymap" 
        -3. Right-click on any configured button
        -4. Check "Long Press Mode" in the popup menu
        -
        -### Visual Indicators
        -- Long press enabled buttons show a green border
        -- Icon changes to double-arrow-down to indicate long press mode
        -- "Long Press" label appears under the button configuration
        -
        -### Example Use Case
        -A user wants to control avatar movement in a game:
        -1. Configure a Zwift button to send the 'W' key (forward movement)
        -2. Enable "Long Press Mode" for that button
        -3. Now pressing and holding the Zwift button will:
        -   - Send 'W' key down when pressed
        -   - Keep 'W' held down while button is held
        -   - Send 'W' key up when button is released
        -   - Perfect for smooth, continuous movement
        -
        -## Backward Compatibility
        -- Existing keymaps continue to work unchanged (default isLongPress = false)
        -- Legacy encoded keymaps are automatically upgraded with isLongPress = false
        -- No breaking changes to existing functionality
        -
        -## Technical Notes
        -- Long press mode only applies to keyboard keys, not touch positions or media keys
        -- The 250ms repeat timer is bypassed in long press mode to prevent conflicts
        -- Proper cleanup ensures no "stuck" keys if connection is lost
        \ No newline at end of file
        diff --git a/README.md b/README.md
        index 79837a9da..d61c48eda 100644
        --- a/README.md
        +++ b/README.md
        @@ -11,20 +11,6 @@ With SwiftControl you can control your favorite trainer app using your Zwift Cli
         - control music on your device
         - more? If you can do it via keyboard, mouse or touch, you can do it with SwiftControl
         
        -### New: Long Press Mode for Custom Keymaps
        -
        -You can now configure individual buttons in custom keymaps to use "Long Press Mode" instead of repeated key presses:
        -
        -- **Regular Mode** (default): Button press and hold sends repeated key presses every 250ms
        -- **Long Press Mode**: Button press simulates key down, button release simulates key up - perfect for games that need sustained key presses for movement
        -
        -To enable Long Press Mode:
        -1. Select "Custom" keymap
        -2. Click "Customize Keymap"
        -3. Right-click on any key mapping
        -4. Check "Long Press Mode" in the popup menu
        -5. Keys with Long Press Mode enabled will show a green border and different icon
        -
         
         https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159
         
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 1603bd71d..21d786713 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.1.0+0
        +version: 2.1.1+0
         
         environment:
           sdk: ^3.7.0
        
        From 336c64e5a962c4e417838ec9c99224d3d5c89b19 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Sat, 6 Sep 2025 07:03:19 +0000
        Subject: [PATCH 137/636] Update version to 2.2.0 in pubspec.yaml and
         CHANGELOG.md
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         CHANGELOG.md | 2 +-
         pubspec.yaml | 2 +-
         2 files changed, 2 insertions(+), 2 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 3e0a9d5ee..65d7dd573 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,4 +1,4 @@
        -### 2.1.1 (2025-01-03)
        +### 2.2.0 (2025-01-03)
         - Add Long Press Mode option for custom keymaps - buttons can now send sustained key presses instead of repeated taps, perfect for movement controls in games
         
         ### 2.1.0 (2025-07-03)
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 21d786713..6cc2c925c 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.1.1+0
        +version: 2.2.0
         
         environment:
           sdk: ^3.7.0
        
        From 93bdfeeaa71023e8e76eff1f38189458b220f6c1 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Sun, 7 Sep 2025 10:18:20 +0000
        Subject: [PATCH 138/636] Refactor action method parameters from
         isPressed/isRepeated to isKeyDown/isKeyUp
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         .../accessibility/AccessibilityApi.kt         |  6 ++--
         .../accessibility/AccessibilityPlugin.kt      | 30 ++++++++++++++-----
         accessibility/api.dart                        |  2 +-
         accessibility/lib/accessibility.dart          |  4 +--
         lib/bluetooth/devices/base_device.dart        |  6 ++--
         lib/utils/actions/android.dart                |  4 +--
         lib/utils/actions/base_actions.dart           |  4 +--
         lib/utils/actions/desktop.dart                |  8 ++---
         lib/utils/keymap/apps/my_whoosh.dart          |  8 ++---
         9 files changed, 46 insertions(+), 26 deletions(-)
        
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt
        index 0b33f48e5..2bdfda1ae 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt
        @@ -135,7 +135,7 @@ interface Accessibility {
           fun hasPermission(): Boolean
           fun openPermissions()
           fun performTouch(x: Double, y: Double)
        -  fun controlMedia(action: MediaAction)
        +  fun controlMedia(action: MediaAction, isKeyDown: Boolean = true, isKeyUp: Boolean = false)
         
           companion object {
             /** The codec used by Accessibility. */
        @@ -202,8 +202,10 @@ interface Accessibility {
                   channel.setMessageHandler { message, reply ->
                     val args = message as List
                     val actionArg = args[0] as MediaAction
        +            val isKeyDownArg = if (args.size > 1) args[1] as Boolean else true
        +            val isKeyUpArg = if (args.size > 2) args[2] as Boolean else false
                     val wrapped: List = try {
        -              api.controlMedia(actionArg)
        +              api.controlMedia(actionArg, isKeyDownArg, isKeyUpArg)
                       listOf(null)
                     } catch (exception: Throwable) {
                       wrapError(exception)
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        index 53eec18f8..adc7f8290 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        @@ -55,19 +55,35 @@ class AccessibilityPlugin: FlutterPlugin, Accessibility {
             Observable.toService?.performTouch(x = x, y = y) ?: error("Service not running")
           }
         
        -  override fun controlMedia(action: MediaAction) {
        +  override fun controlMedia(action: MediaAction, isKeyDown: Boolean, isKeyUp: Boolean) {
             val audioService = context.getSystemService(Context.AUDIO_SERVICE) as android.media.AudioManager
             when (action) {
               MediaAction.PLAY_PAUSE -> {
        -        audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE))
        -        audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_UP, android.view.KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE))
        +        if (isKeyDown) {
        +          audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE))
        +        }
        +        if (isKeyUp) {
        +          audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_UP, android.view.KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE))
        +        }
               }
               MediaAction.NEXT -> {
        -        audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_NEXT))
        -        audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_UP, android.view.KeyEvent.KEYCODE_MEDIA_NEXT))
        +        if (isKeyDown) {
        +          audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_NEXT))
        +        }
        +        if (isKeyUp) {
        +          audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_UP, android.view.KeyEvent.KEYCODE_MEDIA_NEXT))
        +        }
        +      }
        +      MediaAction.VOLUME_DOWN -> {
        +        if (isKeyDown) {
        +          audioService.adjustVolume(android.media.AudioManager.ADJUST_LOWER, android.media.AudioManager.FLAG_SHOW_UI)
        +        }
        +      }
        +      MediaAction.VOLUME_UP -> {
        +        if (isKeyDown) {
        +          audioService.adjustVolume(android.media.AudioManager.ADJUST_RAISE, android.media.AudioManager.FLAG_SHOW_UI)
        +        }
               }
        -      MediaAction.VOLUME_DOWN -> audioService.adjustVolume(android.media.AudioManager.ADJUST_LOWER, android.media.AudioManager.FLAG_SHOW_UI)
        -      MediaAction.VOLUME_UP -> audioService.adjustVolume(android.media.AudioManager.ADJUST_RAISE, android.media.AudioManager.FLAG_SHOW_UI)
             }
           }
         
        diff --git a/accessibility/api.dart b/accessibility/api.dart
        index 2d55b7135..fe642809b 100644
        --- a/accessibility/api.dart
        +++ b/accessibility/api.dart
        @@ -8,7 +8,7 @@ abstract class Accessibility {
         
           void performTouch(double x, double y);
         
        -  void controlMedia(MediaAction action);
        +  void controlMedia(MediaAction action, {bool isKeyDown = true, bool isKeyUp = false});
         }
         
         enum MediaAction { playPause, next, volumeUp, volumeDown }
        diff --git a/accessibility/lib/accessibility.dart b/accessibility/lib/accessibility.dart
        index e9df53585..7439af5c9 100644
        --- a/accessibility/lib/accessibility.dart
        +++ b/accessibility/lib/accessibility.dart
        @@ -210,14 +210,14 @@ class Accessibility {
             }
           }
         
        -  Future controlMedia(MediaAction action) async {
        +  Future controlMedia(MediaAction action, {bool isKeyDown = true, bool isKeyUp = false}) async {
             final String pigeonVar_channelName = 'dev.flutter.pigeon.accessibility.Accessibility.controlMedia$pigeonVar_messageChannelSuffix';
             final BasicMessageChannel pigeonVar_channel = BasicMessageChannel(
               pigeonVar_channelName,
               pigeonChannelCodec,
               binaryMessenger: pigeonVar_binaryMessenger,
             );
        -    final Future pigeonVar_sendFuture = pigeonVar_channel.send([action]);
        +    final Future pigeonVar_sendFuture = pigeonVar_channel.send([action, isKeyDown, isKeyUp]);
             final List? pigeonVar_replyList =
                 await pigeonVar_sendFuture as List?;
             if (pigeonVar_replyList == null) {
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 44ada9289..e703adb1e 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -291,13 +291,15 @@ abstract class BaseDevice {
               await _vibrate();
             }
             for (final action in buttonsClicked) {
        -      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action, isPressed: true, isRepeated: repeated)));
        +      // For repeated actions, don't trigger key down/up events (useful for long press)
        +      final isKeyDown = !repeated;
        +      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action, isKeyDown: isKeyDown, isKeyUp: false)));
             }
           }
         
           Future _performRelease(List buttonsReleased) async {
             for (final action in buttonsReleased) {
        -      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action, isPressed: false, isRepeated: false)));
        +      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action, isKeyDown: false, isKeyUp: true)));
             }
           }
         
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index 97770c54f..578921275 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -22,7 +22,7 @@ class AndroidActions extends BaseActions {
           }
         
           @override
        -  Future performAction(ZwiftButton button, {bool isPressed = true, bool isRepeated = false}) async {
        +  Future performAction(ZwiftButton button, {bool isKeyDown = true, bool isKeyUp = false}) async {
             if (supportedApp == null) {
               return ("Could not perform ${button.name}: No keymap set");
             }
        @@ -36,7 +36,7 @@ class AndroidActions extends BaseActions {
                   PhysicalKeyboardKey.audioVolumeUp => MediaAction.volumeUp,
                   PhysicalKeyboardKey.audioVolumeDown => MediaAction.volumeDown,
                   _ => throw SingleLineException("No action for key: ${keyPair.physicalKey}"),
        -        });
        +        }, isKeyDown: isKeyDown, isKeyUp: isKeyUp);
                 return "Key pressed: ${keyPair.toString()}";
               }
             }
        diff --git a/lib/utils/actions/base_actions.dart b/lib/utils/actions/base_actions.dart
        index 9bdd3df7d..61a425fba 100644
        --- a/lib/utils/actions/base_actions.dart
        +++ b/lib/utils/actions/base_actions.dart
        @@ -9,12 +9,12 @@ abstract class BaseActions {
             this.supportedApp = supportedApp;
           }
         
        -  Future performAction(ZwiftButton action, {bool isPressed = true, bool isRepeated = false});
        +  Future performAction(ZwiftButton action, {bool isKeyDown = true, bool isKeyUp = false});
         }
         
         class StubActions extends BaseActions {
           @override
        -  Future performAction(ZwiftButton action, {bool isPressed = true, bool isRepeated = false}) {
        +  Future performAction(ZwiftButton action, {bool isKeyDown = true, bool isKeyUp = false}) {
             return Future.value(action.name);
           }
         }
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index b96ebb685..f4c9d140a 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -7,7 +7,7 @@ class DesktopActions extends BaseActions {
           final Set _heldKeys = {};
         
           @override
        -  Future performAction(ZwiftButton action, {bool isPressed = true, bool isRepeated = false}) async {
        +  Future performAction(ZwiftButton action, {bool isKeyDown = true, bool isKeyUp = false}) async {
             if (supportedApp == null) {
               return ('Supported app is not set');
             }
        @@ -19,14 +19,14 @@ class DesktopActions extends BaseActions {
         
             // Handle long press mode
             if (keyPair.isLongPress && keyPair.physicalKey != null) {
        -      if (isPressed && !isRepeated) {
        +      if (isKeyDown && !isKeyUp) {
                 // Key press: start long press
                 if (!_heldKeys.contains(action)) {
                   _heldKeys.add(action);
                   await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
                   return 'Long press started: ${keyPair.logicalKey?.keyLabel}';
                 }
        -      } else if (!isPressed) {
        +      } else if (isKeyUp && !isKeyDown) {
                 // Key release: end long press
                 if (_heldKeys.contains(action)) {
                   _heldKeys.remove(action);
        @@ -34,7 +34,7 @@ class DesktopActions extends BaseActions {
                   return 'Long press ended: ${keyPair.logicalKey?.keyLabel}';
                 }
               }
        -      // Ignore repeated presses in long press mode
        +      // Ignore other combinations in long press mode
               return 'Long press active: ${keyPair.logicalKey?.keyLabel}';
             }
         
        diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart
        index 380746b71..8e7a9c5e0 100644
        --- a/lib/utils/keymap/apps/my_whoosh.dart
        +++ b/lib/utils/keymap/apps/my_whoosh.dart
        @@ -57,16 +57,16 @@ class MyWhoosh extends SupportedApp {
             // just my personal preference
             switch (action) {
               case ZwiftButton.y:
        -        accessibilityHandler.controlMedia(MediaAction.volumeUp);
        +        accessibilityHandler.controlMedia(MediaAction.volumeUp, isKeyDown: true, isKeyUp: true);
                 return Offset.zero;
               case ZwiftButton.b:
        -        accessibilityHandler.controlMedia(MediaAction.volumeDown);
        +        accessibilityHandler.controlMedia(MediaAction.volumeDown, isKeyDown: true, isKeyUp: true);
                 return Offset.zero;
               case ZwiftButton.a:
        -        accessibilityHandler.controlMedia(MediaAction.next);
        +        accessibilityHandler.controlMedia(MediaAction.next, isKeyDown: true, isKeyUp: true);
                 return Offset.zero;
               case ZwiftButton.z:
        -        accessibilityHandler.controlMedia(MediaAction.playPause);
        +        accessibilityHandler.controlMedia(MediaAction.playPause, isKeyDown: true, isKeyUp: true);
                 return Offset.zero;
               default:
                 break;
        
        From ffa604f9215eaa2a8e3966b6052aba0646eef4b6 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 12:59:04 +0200
        Subject: [PATCH 139/636] fix logging messages
        
        ---
         lib/utils/actions/android.dart | 4 ++--
         1 file changed, 2 insertions(+), 2 deletions(-)
        
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index 1acaaacfd..03cb509b8 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -43,8 +43,8 @@ class AndroidActions extends BaseActions {
             final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo);
             if (point != Offset.zero) {
               accessibilityHandler.performTouch(point.dx, point.dy);
        -      return "No touch performed";
        +      return "Touch performed at: ${point.dx.toInt()}, ${point.dy.toInt()}";
             }
        -    return "Touch performed at: ${point.dx.toInt()}, ${point.dy.toInt()}";
        +    return "No touch performed";
           }
         }
        
        From d13a9d72c9e2ed288ec00f256eca17d6ad58772f Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 13:43:14 +0200
        Subject: [PATCH 140/636] mark versions not ending with +0 as beta versions
        
        ---
         lib/widgets/title.dart | 6 ++++--
         1 file changed, 4 insertions(+), 2 deletions(-)
        
        diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart
        index 71da4f5b2..808353cf2 100644
        --- a/lib/widgets/title.dart
        +++ b/lib/widgets/title.dart
        @@ -24,10 +24,12 @@ class _AppTitleState extends State {
             final response = await http.get(Uri.parse('https://api.github.com/repos/jonasbark/swiftcontrol/releases/latest'));
             if (response.statusCode == 200) {
               final data = jsonDecode(response.body);
        -      final latestVersion = data['tag_name'].split('+').first;
        +      final tagName = data['tag_name'] as String;
        +      final latestVersion = tagName.split('+').first;
               final currentVersion = 'v${_packageInfoValue!.version}';
         
        -      if (latestVersion != null && latestVersion != currentVersion) {
        +      // we anything but +0 is considered beta
        +      if (latestVersion != currentVersion && tagName.endsWith("+0")) {
                 final assets = data['assets'] as List;
                 if (Platform.isAndroid) {
                   final apkUrl = assets.firstOrNullWhere((asset) => asset['name'].endsWith('.apk'))['browser_download_url'];
        
        From 2195c19ed98b2c03908ae1c631f71fc39c4e924e Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 14:01:28 +0200
        Subject: [PATCH 141/636] allow long touches / keyboard presses (fixes #61)
        
        ---
         .../accessibility/AccessibilityApi.kt         | 27 ++++---
         .../accessibility/AccessibilityPlugin.kt      | 18 +----
         .../accessibility/AccessibilityService.kt     | 17 ++---
         .../de/jonasbark/accessibility/Listener.kt    |  4 +-
         accessibility/api.dart                        |  4 +-
         accessibility/lib/accessibility.dart          |  8 +-
         .../lib/src/keypress_simulator.dart           |  8 +-
         .../KeypressSimulatorMacosPlugin.swift        | 29 ++++----
         .../keypress_simulator_method_channel.dart    |  5 +-
         ...keypress_simulator_platform_interface.dart |  2 +-
         .../keypress_simulator_windows_plugin.cpp     | 36 +++++----
         lib/bluetooth/devices/base_device.dart        | 31 +++++---
         lib/pages/device.dart                         |  2 +-
         lib/pages/touch_area.dart                     | 73 +++++++++++--------
         lib/utils/actions/android.dart                |  4 +-
         lib/utils/actions/desktop.dart                | 45 ++++++++----
         lib/utils/keymap/apps/my_whoosh.dart          |  8 +-
         pubspec.lock                                  | 16 ++--
         18 files changed, 185 insertions(+), 152 deletions(-)
        
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt
        index 2bdfda1ae..2c1c4ef16 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityApi.kt
        @@ -4,7 +4,12 @@
         
         
         import android.util.Log
        -import io.flutter.plugin.common.*
        +import io.flutter.plugin.common.BasicMessageChannel
        +import io.flutter.plugin.common.BinaryMessenger
        +import io.flutter.plugin.common.EventChannel
        +import io.flutter.plugin.common.MessageCodec
        +import io.flutter.plugin.common.StandardMethodCodec
        +import io.flutter.plugin.common.StandardMessageCodec
         import java.io.ByteArrayOutputStream
         import java.nio.ByteBuffer
         
        @@ -134,8 +139,8 @@ val AccessibilityApiPigeonMethodCodec = StandardMethodCodec(AccessibilityApiPige
         interface Accessibility {
           fun hasPermission(): Boolean
           fun openPermissions()
        -  fun performTouch(x: Double, y: Double)
        -  fun controlMedia(action: MediaAction, isKeyDown: Boolean = true, isKeyUp: Boolean = false)
        +  fun performTouch(x: Double, y: Double, isKeyDown: Boolean, isKeyUp: Boolean)
        +  fun controlMedia(action: MediaAction)
         
           companion object {
             /** The codec used by Accessibility. */
        @@ -184,8 +189,10 @@ interface Accessibility {
                     val args = message as List
                     val xArg = args[0] as Double
                     val yArg = args[1] as Double
        +            val isKeyDownArg = args[2] as Boolean
        +            val isKeyUpArg = args[3] as Boolean
                     val wrapped: List = try {
        -              api.performTouch(xArg, yArg)
        +              api.performTouch(xArg, yArg, isKeyDownArg, isKeyUpArg)
                       listOf(null)
                     } catch (exception: Throwable) {
                       wrapError(exception)
        @@ -202,10 +209,8 @@ interface Accessibility {
                   channel.setMessageHandler { message, reply ->
                     val args = message as List
                     val actionArg = args[0] as MediaAction
        -            val isKeyDownArg = if (args.size > 1) args[1] as Boolean else true
        -            val isKeyUpArg = if (args.size > 2) args[2] as Boolean else false
                     val wrapped: List = try {
        -              api.controlMedia(actionArg, isKeyDownArg, isKeyUpArg)
        +              api.controlMedia(actionArg)
                       listOf(null)
                     } catch (exception: Throwable) {
                       wrapError(exception)
        @@ -237,9 +242,9 @@ private class AccessibilityApiPigeonStreamHandler(
         }
         
         interface AccessibilityApiPigeonEventChannelWrapper {
        -  fun onListen(p0: Any?, sink: PigeonEventSink) {}
        +  open fun onListen(p0: Any?, sink: PigeonEventSink) {}
         
        -  fun onCancel(p0: Any?) {}
        +  open fun onCancel(p0: Any?) {}
         }
         
         class PigeonEventSink(private val sink: EventChannel.EventSink) {
        @@ -255,7 +260,7 @@ class PigeonEventSink(private val sink: EventChannel.EventSink) {
             sink.endOfStream()
           }
         }
        -
        +      
         abstract class StreamEventsStreamHandler : AccessibilityApiPigeonEventChannelWrapper {
           companion object {
             fun register(messenger: BinaryMessenger, streamHandler: StreamEventsStreamHandler, instanceName: String = "") {
        @@ -268,4 +273,4 @@ abstract class StreamEventsStreamHandler : AccessibilityApiPigeonEventChannelWra
             }
           }
         }
        -
        +      
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        index adc7f8290..7183d744c 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityPlugin.kt
        @@ -51,38 +51,26 @@ class AccessibilityPlugin: FlutterPlugin, Accessibility {
             }, Bundle.EMPTY)
           }
         
        -  override fun performTouch(x: Double, y: Double) {
        -    Observable.toService?.performTouch(x = x, y = y) ?: error("Service not running")
        +  override fun performTouch(x: Double, y: Double, isKeyDown: Boolean, isKeyUp: Boolean) {
        +    Observable.toService?.performTouch(x = x, y = y, isKeyUp = isKeyUp, isKeyDown = isKeyDown) ?: error("Service not running")
           }
         
        -  override fun controlMedia(action: MediaAction, isKeyDown: Boolean, isKeyUp: Boolean) {
        +  override fun controlMedia(action: MediaAction) {
             val audioService = context.getSystemService(Context.AUDIO_SERVICE) as android.media.AudioManager
             when (action) {
               MediaAction.PLAY_PAUSE -> {
        -        if (isKeyDown) {
                   audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE))
        -        }
        -        if (isKeyUp) {
                   audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_UP, android.view.KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE))
        -        }
               }
               MediaAction.NEXT -> {
        -        if (isKeyDown) {
                   audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_DOWN, android.view.KeyEvent.KEYCODE_MEDIA_NEXT))
        -        }
        -        if (isKeyUp) {
                   audioService.dispatchMediaKeyEvent(android.view.KeyEvent(android.view.KeyEvent.ACTION_UP, android.view.KeyEvent.KEYCODE_MEDIA_NEXT))
        -        }
               }
               MediaAction.VOLUME_DOWN -> {
        -        if (isKeyDown) {
                   audioService.adjustVolume(android.media.AudioManager.ADJUST_LOWER, android.media.AudioManager.FLAG_SHOW_UI)
        -        }
               }
               MediaAction.VOLUME_UP -> {
        -        if (isKeyDown) {
                   audioService.adjustVolume(android.media.AudioManager.ADJUST_RAISE, android.media.AudioManager.FLAG_SHOW_UI)
        -        }
               }
             }
           }
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        index 72425c302..69bb0e3f4 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt
        @@ -45,23 +45,20 @@ class AccessibilityService : AccessibilityService(), Listener {
                 return outBounds
             }
         
        -    private fun simulateTap(x: Double, y: Double) {
        +
        +    override fun onInterrupt() {
        +        Log.d("AccessibilityService", "Service Interrupted")
        +    }
        +
        +    override fun performTouch(x: Double, y: Double, isKeyDown: Boolean, isKeyUp: Boolean) {
                 val gestureBuilder = GestureDescription.Builder()
                 val path = Path()
                 path.moveTo(x.toFloat(), y.toFloat())
                 path.lineTo(x.toFloat()+1, y.toFloat())
         
        -        val stroke = StrokeDescription(path, 0, ViewConfiguration.getTapTimeout().toLong())
        +        val stroke = StrokeDescription(path, 0, ViewConfiguration.getTapTimeout().toLong(), isKeyDown)
                 gestureBuilder.addStroke(stroke)
         
                 dispatchGesture(gestureBuilder.build(), null, null)
             }
        -
        -    override fun onInterrupt() {
        -        Log.d("AccessibilityService", "Service Interrupted")
        -    }
        -
        -    override fun performTouch(x: Double, y: Double) {
        -        simulateTap(x, y)
        -    }
         }
        diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/Listener.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/Listener.kt
        index db5b4395b..38480eaa9 100644
        --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/Listener.kt
        +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/Listener.kt
        @@ -8,9 +8,9 @@ object Observable {
         }
         
         interface Listener {
        -    fun performTouch(x: Double, y: Double)
        +    fun performTouch(x: Double, y: Double, isKeyDown: Boolean, isKeyUp: Boolean)
         }
         
         interface Receiver {
             fun onChange(packageName: String, window: Rect)
        -}
        \ No newline at end of file
        +}
        diff --git a/accessibility/api.dart b/accessibility/api.dart
        index fe642809b..c4f82c877 100644
        --- a/accessibility/api.dart
        +++ b/accessibility/api.dart
        @@ -6,9 +6,9 @@ abstract class Accessibility {
         
           void openPermissions();
         
        -  void performTouch(double x, double y);
        +  void performTouch(double x, double y, {bool isKeyDown = true, bool isKeyUp = false});
         
        -  void controlMedia(MediaAction action, {bool isKeyDown = true, bool isKeyUp = false});
        +  void controlMedia(MediaAction action);
         }
         
         enum MediaAction { playPause, next, volumeUp, volumeDown }
        diff --git a/accessibility/lib/accessibility.dart b/accessibility/lib/accessibility.dart
        index 7439af5c9..5e3412f4b 100644
        --- a/accessibility/lib/accessibility.dart
        +++ b/accessibility/lib/accessibility.dart
        @@ -187,14 +187,14 @@ class Accessibility {
             }
           }
         
        -  Future performTouch(double x, double y) async {
        +  Future performTouch(double x, double y, {bool isKeyDown = true, bool isKeyUp = false, }) async {
             final String pigeonVar_channelName = 'dev.flutter.pigeon.accessibility.Accessibility.performTouch$pigeonVar_messageChannelSuffix';
             final BasicMessageChannel pigeonVar_channel = BasicMessageChannel(
               pigeonVar_channelName,
               pigeonChannelCodec,
               binaryMessenger: pigeonVar_binaryMessenger,
             );
        -    final Future pigeonVar_sendFuture = pigeonVar_channel.send([x, y]);
        +    final Future pigeonVar_sendFuture = pigeonVar_channel.send([x, y, isKeyDown, isKeyUp]);
             final List? pigeonVar_replyList =
                 await pigeonVar_sendFuture as List?;
             if (pigeonVar_replyList == null) {
        @@ -210,14 +210,14 @@ class Accessibility {
             }
           }
         
        -  Future controlMedia(MediaAction action, {bool isKeyDown = true, bool isKeyUp = false}) async {
        +  Future controlMedia(MediaAction action) async {
             final String pigeonVar_channelName = 'dev.flutter.pigeon.accessibility.Accessibility.controlMedia$pigeonVar_messageChannelSuffix';
             final BasicMessageChannel pigeonVar_channel = BasicMessageChannel(
               pigeonVar_channelName,
               pigeonChannelCodec,
               binaryMessenger: pigeonVar_binaryMessenger,
             );
        -    final Future pigeonVar_sendFuture = pigeonVar_channel.send([action, isKeyDown, isKeyUp]);
        +    final Future pigeonVar_sendFuture = pigeonVar_channel.send([action]);
             final List? pigeonVar_replyList =
                 await pigeonVar_sendFuture as List?;
             if (pigeonVar_replyList == null) {
        diff --git a/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        index 40a062794..f7538712c 100644
        --- a/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        +++ b/keypress_simulator/packages/keypress_simulator/lib/src/keypress_simulator.dart
        @@ -20,8 +20,12 @@ class KeyPressSimulator {
             return _platform.requestAccess(onlyOpenPrefPane: onlyOpenPrefPane);
           }
         
        -  Future simulateMouseClick(Offset position) {
        -    return _platform.simulateMouseClick(position);
        +  Future simulateMouseClickDown(Offset position) {
        +    return _platform.simulateMouseClick(position, keyDown: true);
        +  }
        +
        +  Future simulateMouseClickUp(Offset position) {
        +    return _platform.simulateMouseClick(position, keyDown: false);
           }
         
           /// Simulate key down.
        diff --git a/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift b/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
        index c73577ecb..412d84dfb 100644
        --- a/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
        +++ b/keypress_simulator/packages/keypress_simulator_macos/macos/Classes/KeypressSimulatorMacosPlugin.swift
        @@ -62,6 +62,7 @@ public class KeypressSimulatorMacosPlugin: NSObject, FlutterPlugin {
         
                 let x: Double = args["x"] as! Double
                 let y: Double = args["y"] as! Double
        +        let keyDown: Bool = args["keyDown"] as! Bool
         
                 let point = CGPoint(x: x, y: y)
         
        @@ -72,19 +73,21 @@ public class KeypressSimulatorMacosPlugin: NSObject, FlutterPlugin {
                                    mouseButton: .left)
                 move?.post(tap: .cghidEventTap)*/
         
        -        // Mouse down
        -        let mouseDown = CGEvent(mouseEventSource: nil,
        -                                mouseType: .leftMouseDown,
        -                                mouseCursorPosition: point,
        -                                mouseButton: .left)
        -        mouseDown?.post(tap: .cghidEventTap)
        -
        -        // Mouse up
        -        let mouseUp = CGEvent(mouseEventSource: nil,
        -                              mouseType: .leftMouseUp,
        -                              mouseCursorPosition: point,
        -                              mouseButton: .left)
        -        mouseUp?.post(tap: .cghidEventTap)
        +        if (keyDown) {
        +            // Mouse down
        +            let mouseDown = CGEvent(mouseEventSource: nil,
        +                                    mouseType: .leftMouseDown,
        +                                    mouseCursorPosition: point,
        +                                    mouseButton: .left)
        +            mouseDown?.post(tap: .cghidEventTap)
        +        } else {
        +            // Mouse up
        +            let mouseUp = CGEvent(mouseEventSource: nil,
        +                                  mouseType: .leftMouseUp,
        +                                  mouseCursorPosition: point,
        +                                  mouseButton: .left)
        +            mouseUp?.post(tap: .cghidEventTap)
        +        }
                 result(true)
             }
         
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        index 19775b2ef..1d444b5c7 100644
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_method_channel.dart
        @@ -53,10 +53,11 @@ class MethodChannelKeyPressSimulator extends KeyPressSimulatorPlatform {
           }
         
           @override
        -  Future simulateMouseClick(Offset position) async {
        -    final Map arguments = {
        +  Future simulateMouseClick(Offset position, {required bool keyDown}) async {
        +    final Map arguments = {
               'x': position.dx,
               'y': position.dy,
        +      'keyDown': keyDown,
             };
             await methodChannel.invokeMethod('simulateMouseClick', arguments);
           }
        diff --git a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        index 78743c626..b2c67a8f2 100644
        --- a/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        +++ b/keypress_simulator/packages/keypress_simulator_platform_interface/lib/src/keypress_simulator_platform_interface.dart
        @@ -41,7 +41,7 @@ abstract class KeyPressSimulatorPlatform extends PlatformInterface {
             throw UnimplementedError('simulateKeyPress() has not been implemented.');
           }
         
        -  Future simulateMouseClick(Offset position) {
        +  Future simulateMouseClick(Offset position, {required bool keyDown}) {
             throw UnimplementedError('simulateKeyPress() has not been implemented.');
           }
         }
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index f93211b49..cc8077783 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -69,7 +69,7 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
           // List of compatible training apps to look for
           std::vector compatibleApps = {
             "MyWhooshHD.exe",
        -    "indieVelo.exe", 
        +    "indieVelo.exe",
             "biketerra.exe"
           };
         
        @@ -126,6 +126,7 @@ void KeypressSimulatorWindowsPlugin::SimulateMouseClick(
           double x = 0;
           double y = 0;
         
        +  bool keyDown = std::get(args.at(EncodableValue("keyDown")));
           auto it_x = args.find(EncodableValue("x"));
           if (it_x != args.end() && std::holds_alternative(it_x->second)) {
               x = std::get(it_x->second);
        @@ -143,29 +144,32 @@ void KeypressSimulatorWindowsPlugin::SimulateMouseClick(
           INPUT input = {0};
           input.type = INPUT_MOUSE;
         
        -  // Mouse left button down
        -  input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
        -  SendInput(1, &input, sizeof(INPUT));
        +  if (keyDown) {
        +      // Mouse left button down
        +      input.mi.dwFlags = MOUSEEVENTF_LEFTDOWN;
        +      SendInput(1, &input, sizeof(INPUT));
         
        -  // Mouse left button up
        -  input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
        -  SendInput(1, &input, sizeof(INPUT));
        +  } else {
        +      // Mouse left button up
        +      input.mi.dwFlags = MOUSEEVENTF_LEFTUP;
        +      SendInput(1, &input, sizeof(INPUT));
        +  }
         
           result->Success(flutter::EncodableValue(true));
         }
         
         BOOL CALLBACK EnumWindowsCallback(HWND hwnd, LPARAM lParam) {
           FindWindowData* data = reinterpret_cast(lParam);
        -  
        +
           // Check if window is visible and not minimized
           if (!IsWindowVisible(hwnd) || IsIconic(hwnd)) {
             return TRUE; // Continue enumeration
           }
        -  
        +
           // Get window title
           char windowTitle[256];
           GetWindowTextA(hwnd, windowTitle, sizeof(windowTitle));
        -  
        +
           // Get process name
           DWORD processId;
           GetWindowThreadProcessId(hwnd, &processId);
        @@ -181,9 +185,9 @@ BOOL CALLBACK EnumWindowsCallback(HWND hwnd, LPARAM lParam) {
               } else {
                 filename = processName;
               }
        -      
        +
               // Check if this matches our target
        -      if (!data->targetProcessName.empty() && 
        +      if (!data->targetProcessName.empty() &&
                   _stricmp(filename, data->targetProcessName.c_str()) == 0) {
                 data->foundWindow = hwnd;
                 return FALSE; // Stop enumeration
        @@ -191,14 +195,14 @@ BOOL CALLBACK EnumWindowsCallback(HWND hwnd, LPARAM lParam) {
             }
             CloseHandle(hProcess);
           }
        -  
        +
           // Check window title if process name didn't match
        -  if (!data->targetWindowTitle.empty() && 
        +  if (!data->targetWindowTitle.empty() &&
               _stricmp(windowTitle, data->targetWindowTitle.c_str()) == 0) {
             data->foundWindow = hwnd;
             return FALSE; // Stop enumeration
           }
        -  
        +
           return TRUE; // Continue enumeration
         }
         
        @@ -207,7 +211,7 @@ HWND FindTargetWindow(const std::string& processName, const std::string& windowT
           data.targetProcessName = processName;
           data.targetWindowTitle = windowTitle;
           data.foundWindow = NULL;
        -  
        +
           EnumWindows(EnumWindowsCallback, reinterpret_cast(&data));
           return data.foundWindow;
         }
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index e703adb1e..f853aec58 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -8,10 +8,10 @@ import 'package:swift_control/bluetooth/devices/zwift_click.dart';
         import 'package:swift_control/bluetooth/devices/zwift_play.dart';
         import 'package:swift_control/bluetooth/devices/zwift_ride.dart';
         import 'package:swift_control/main.dart';
        +import 'package:swift_control/utils/actions/desktop.dart';
         import 'package:swift_control/utils/crypto/local_key_provider.dart';
         import 'package:swift_control/utils/crypto/zap_crypto.dart';
         import 'package:swift_control/utils/single_line_exception.dart';
        -import 'package:swift_control/utils/actions/desktop.dart';
         import 'package:universal_ble/universal_ble.dart';
         
         import '../../utils/crypto/encryption_utils.dart';
        @@ -247,7 +247,7 @@ abstract class BaseDevice {
                       } else if (buttonsClicked.isEmpty) {
                         actionStreamInternal.add(LogNotification('Buttons released'));
                         _longPressTimer?.cancel();
        -                
        +
                         // Handle release events for long press keys
                         final buttonsReleased = _previouslyPressedButtons.toList();
                         if (buttonsReleased.isNotEmpty) {
        @@ -260,17 +260,22 @@ abstract class BaseDevice {
                         if (buttonsReleased.isNotEmpty) {
                           await _performRelease(buttonsReleased);
                         }
        -                
        -                // Update currently pressed buttons
        -                _previouslyPressedButtons = buttonsClicked.toSet();
        -                
        -                if (!(buttonsClicked.singleOrNull == ZwiftButton.onOffLeft ||
        -                    buttonsClicked.singleOrNull == ZwiftButton.onOffRight)) {
        -                  // we don't want to trigger the long press timer for the on/off buttons
        +
        +                final isLongPress =
        +                    buttonsClicked.singleOrNull != null &&
        +                    actionHandler.supportedApp?.keymap.getKeyPair(buttonsClicked.single)?.isLongPress == true;
        +
        +                if (!isLongPress &&
        +                    !(buttonsClicked.singleOrNull == ZwiftButton.onOffLeft ||
        +                        buttonsClicked.singleOrNull == ZwiftButton.onOffRight)) {
        +                  // we don't want to trigger the long press timer for the on/off buttons, also not when it's a long press key
                           _longPressTimer?.cancel();
                           _longPressTimer = Timer.periodic(const Duration(milliseconds: 250), (timer) async {
                             _performActions(buttonsClicked, true);
                           });
        +                } else if (isLongPress) {
        +                  // Update currently pressed buttons
        +                  _previouslyPressedButtons = buttonsClicked.toSet();
                         }
         
                         _performActions(buttonsClicked, false);
        @@ -293,13 +298,17 @@ abstract class BaseDevice {
             for (final action in buttonsClicked) {
               // For repeated actions, don't trigger key down/up events (useful for long press)
               final isKeyDown = !repeated;
        -      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action, isKeyDown: isKeyDown, isKeyUp: false)));
        +      actionStreamInternal.add(
        +        LogNotification(await actionHandler.performAction(action, isKeyDown: isKeyDown, isKeyUp: false)),
        +      );
             }
           }
         
           Future _performRelease(List buttonsReleased) async {
             for (final action in buttonsReleased) {
        -      actionStreamInternal.add(LogNotification(await actionHandler.performAction(action, isKeyDown: false, isKeyUp: true)));
        +      actionStreamInternal.add(
        +        LogNotification(await actionHandler.performAction(action, isKeyDown: false, isKeyUp: true)),
        +      );
             }
           }
         
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index 5174857d2..dfa900a2c 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -105,7 +105,7 @@ class _DevicePageState extends State {
                                           ),
                                         )
                                         .toList(),
        -                        label: Text('Keymap'),
        +                        label: Text('Select Keymap'),
                                 onSelected: (app) async {
                                   if (app == null) {
                                     return;
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index 1bbd29286..1d9bb6324 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -99,7 +99,8 @@ class _TouchAreaSetupPageState extends State {
                   // open menu
                   if (Platform.isMacOS || Platform.isWindows) {
                     await Future.delayed(Duration(milliseconds: 300));
        -            await keyPressSimulator.simulateMouseClick(keyPair.touchPosition);
        +            await keyPressSimulator.simulateMouseClickDown(keyPair.touchPosition);
        +            await keyPressSimulator.simulateMouseClickUp(keyPair.touchPosition);
                   }
                 }
               }
        @@ -122,7 +123,10 @@ class _TouchAreaSetupPageState extends State {
                     (context) => [
                       PopupMenuItem(
                         value: null,
        -                child: const Text('Set Keyboard shortcut'),
        +                child: ListTile(
        +                  leading: Icon(Icons.keyboard_alt_outlined),
        +                  title: const Text('Simulate Keyboard shortcut'),
        +                ),
                         onTap: () async {
                           await showDialog(
                             context: context,
        @@ -134,22 +138,32 @@ class _TouchAreaSetupPageState extends State {
                           setState(() {});
                         },
                       ),
        -              PopupMenuItem(
        +              PopupMenuItem(
                         value: null,
        -                child: Row(
        -                  children: [
        -                    Checkbox(
        -                      value: keyPair.isLongPress,
        -                      onChanged: (value) {
        -                        keyPair.isLongPress = value ?? false;
        -                        setState(() {});
        -                        Navigator.of(context).pop();
        -                      },
        -                    ),
        -                    const Text('Long Press Mode'),
        -                  ],
        +                child: ListTile(title: const Text('Simulate Touch'), leading: Icon(Icons.touch_app_outlined)),
        +                onTap: () {
        +                  keyPair.physicalKey = null;
        +                  keyPair.logicalKey = null;
        +                  setState(() {});
        +                },
        +              ),
        +              PopupMenuItem(
        +                value: null,
        +                onTap: () {
        +                  keyPair.isLongPress = !keyPair.isLongPress;
        +                  setState(() {});
        +                },
        +                child: CheckboxListTile(
        +                  value: keyPair.isLongPress,
        +                  onChanged: (value) {
        +                    keyPair.isLongPress = value ?? false;
        +                    setState(() {});
        +                    Navigator.of(context).pop();
        +                  },
        +                  title: const Text('Long Press Mode (vs. repeating)'),
                         ),
                       ),
        +              PopupMenuDivider(),
                       PopupMenuItem(
                         child: PopupMenuButton(
                           padding: EdgeInsets.zero,
        @@ -186,25 +200,17 @@ class _TouchAreaSetupPageState extends State {
         
                             setState(() {});
                           },
        -                  child: SizedBox(
        -                    height: 50,
        -                    width: 180,
        -                    child: Align(alignment: Alignment.centerLeft, child: Text('Set Media key')),
        +                  child: ListTile(
        +                    leading: Icon(Icons.music_note_outlined),
        +                    trailing: Icon(Icons.arrow_right),
        +                    title: Text('Simulate Media key'),
                           ),
                         ),
                       ),
        +              PopupMenuDivider(),
                       PopupMenuItem(
                         value: null,
        -                child: const Text('Use as touch button'),
        -                onTap: () {
        -                  keyPair.physicalKey = null;
        -                  keyPair.logicalKey = null;
        -                  setState(() {});
        -                },
        -              ),
        -              PopupMenuItem(
        -                value: null,
        -                child: const Text('Remove'),
        +                child: ListTile(title: const Text('Delete Keymap'), leading: Icon(Icons.delete, color: Colors.red)),
                         onTap: () {
                           actionHandler.supportedApp!.keymap.keyPairs.remove(keyPair);
                           setState(() {});
        @@ -334,13 +340,16 @@ class _TouchDot extends StatelessWidget {
                   decoration: BoxDecoration(
                     color: color.withOpacity(0.6),
                     shape: BoxShape.circle,
        -            border: Border.all(color: keyPair.isLongPress ? Colors.green : Colors.black, width: keyPair.isLongPress ? 3 : 2),
        +            border: Border.all(
        +              color: keyPair.isLongPress ? Colors.green : Colors.black,
        +              width: keyPair.isLongPress ? 3 : 2,
        +            ),
                   ),
                   child: Icon(
                     keyPair.isSpecialKey
                         ? Icons.music_note_outlined
                         : keyPair.physicalKey != null
        -                ? (keyPair.isLongPress ? Icons.keyboard_double_arrow_down : Icons.keyboard_alt_outlined)
        +                ? Icons.keyboard_alt_outlined
                         : Icons.add,
                   ),
                 ),
        @@ -361,7 +370,7 @@ class _TouchDot extends StatelessWidget {
                           PhysicalKeyboardKey.audioVolumeDown => 'Media: Volume Down',
                           _ => keyPair.logicalKey?.keyLabel ?? 'Unknown',
                         }, style: TextStyle(color: Colors.black87, fontSize: 12)),
        -              if (keyPair.isLongPress && keyPair.physicalKey != null)
        +              if (keyPair.isLongPress)
                         Text('Long Press', style: TextStyle(color: Colors.green, fontSize: 10, fontWeight: FontWeight.bold)),
                     ],
                   ),
        diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart
        index f3df4995a..c063bd218 100644
        --- a/lib/utils/actions/android.dart
        +++ b/lib/utils/actions/android.dart
        @@ -36,13 +36,13 @@ class AndroidActions extends BaseActions {
                   PhysicalKeyboardKey.audioVolumeUp => MediaAction.volumeUp,
                   PhysicalKeyboardKey.audioVolumeDown => MediaAction.volumeDown,
                   _ => throw SingleLineException("No action for key: ${keyPair.physicalKey}"),
        -        }, isKeyDown: isKeyDown, isKeyUp: isKeyUp);
        +        });
                 return "Key pressed: ${keyPair.toString()}";
               }
             }
             final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo);
             if (point != Offset.zero) {
        -      accessibilityHandler.performTouch(point.dx, point.dy);
        +      accessibilityHandler.performTouch(point.dx, point.dy, isKeyDown: isKeyDown, isKeyUp: isKeyUp);
               return "Touch performed at: ${point.dx.toInt()}, ${point.dy.toInt()}";
             }
             return "No touch performed";
        diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart
        index f4c9d140a..40422046d 100644
        --- a/lib/utils/actions/desktop.dart
        +++ b/lib/utils/actions/desktop.dart
        @@ -18,35 +18,48 @@ class DesktopActions extends BaseActions {
             }
         
             // Handle long press mode
        -    if (keyPair.isLongPress && keyPair.physicalKey != null) {
        +    if (keyPair.isLongPress) {
               if (isKeyDown && !isKeyUp) {
                 // Key press: start long press
                 if (!_heldKeys.contains(action)) {
                   _heldKeys.add(action);
        -          await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        -          return 'Long press started: ${keyPair.logicalKey?.keyLabel}';
        +          if (keyPair.physicalKey != null) {
        +            await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        +            return 'Long press started: ${keyPair.logicalKey?.keyLabel}';
        +          } else {
        +            final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null);
        +            await keyPressSimulator.simulateMouseClickDown(point);
        +            return 'Long Mouse click started at: $point';
        +          }
                 }
               } else if (isKeyUp && !isKeyDown) {
                 // Key release: end long press
                 if (_heldKeys.contains(action)) {
                   _heldKeys.remove(action);
        -          await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        -          return 'Long press ended: ${keyPair.logicalKey?.keyLabel}';
        +          if (keyPair.physicalKey != null) {
        +            await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        +            return 'Long press ended: ${keyPair.logicalKey?.keyLabel}';
        +          } else {
        +            final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null);
        +            await keyPressSimulator.simulateMouseClickUp(point);
        +            return 'Long Mouse click ended at: $point';
        +          }
                 }
               }
               // Ignore other combinations in long press mode
        -      return 'Long press active: ${keyPair.logicalKey?.keyLabel}';
        -    }
        -
        -    // Handle regular key press mode (existing behavior)
        -    if (keyPair.physicalKey != null) {
        -      await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        -      await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        -      return 'Key pressed: ${keyPair.logicalKey?.keyLabel}';
        +      return 'Long press active';
             } else {
        -      final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null);
        -      await keyPressSimulator.simulateMouseClick(point);
        -      return 'Mouse clicked at: $point';
        +      // Handle regular key press mode (existing behavior)
        +      if (keyPair.physicalKey != null) {
        +        await keyPressSimulator.simulateKeyDown(keyPair.physicalKey);
        +        await keyPressSimulator.simulateKeyUp(keyPair.physicalKey);
        +        return 'Key pressed: ${keyPair.logicalKey?.keyLabel}';
        +      } else {
        +        final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null);
        +        await keyPressSimulator.simulateMouseClickDown(point);
        +        await keyPressSimulator.simulateMouseClickUp(point);
        +        return 'Mouse clicked at: $point';
        +      }
             }
           }
         
        diff --git a/lib/utils/keymap/apps/my_whoosh.dart b/lib/utils/keymap/apps/my_whoosh.dart
        index 8e7a9c5e0..380746b71 100644
        --- a/lib/utils/keymap/apps/my_whoosh.dart
        +++ b/lib/utils/keymap/apps/my_whoosh.dart
        @@ -57,16 +57,16 @@ class MyWhoosh extends SupportedApp {
             // just my personal preference
             switch (action) {
               case ZwiftButton.y:
        -        accessibilityHandler.controlMedia(MediaAction.volumeUp, isKeyDown: true, isKeyUp: true);
        +        accessibilityHandler.controlMedia(MediaAction.volumeUp);
                 return Offset.zero;
               case ZwiftButton.b:
        -        accessibilityHandler.controlMedia(MediaAction.volumeDown, isKeyDown: true, isKeyUp: true);
        +        accessibilityHandler.controlMedia(MediaAction.volumeDown);
                 return Offset.zero;
               case ZwiftButton.a:
        -        accessibilityHandler.controlMedia(MediaAction.next, isKeyDown: true, isKeyUp: true);
        +        accessibilityHandler.controlMedia(MediaAction.next);
                 return Offset.zero;
               case ZwiftButton.z:
        -        accessibilityHandler.controlMedia(MediaAction.playPause, isKeyDown: true, isKeyUp: true);
        +        accessibilityHandler.controlMedia(MediaAction.playPause);
                 return Offset.zero;
               default:
                 break;
        diff --git a/pubspec.lock b/pubspec.lock
        index 9620eb55f..989f5c0e9 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -28,10 +28,10 @@ packages:
             dependency: transitive
             description:
               name: async
        -      sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
        +      sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
               url: "https://pub.dev"
             source: hosted
        -    version: "2.12.0"
        +    version: "2.13.0"
           bluez:
             dependency: transitive
             description:
        @@ -148,10 +148,10 @@ packages:
             dependency: transitive
             description:
               name: fake_async
        -      sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
        +      sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44"
               url: "https://pub.dev"
             source: hosted
        -    version: "1.3.2"
        +    version: "1.3.3"
           ffi:
             dependency: transitive
             description:
        @@ -431,10 +431,10 @@ packages:
             dependency: transitive
             description:
               name: leak_tracker
        -      sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
        +      sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
               url: "https://pub.dev"
             source: hosted
        -    version: "10.0.8"
        +    version: "10.0.9"
           leak_tracker_flutter_testing:
             dependency: transitive
             description:
        @@ -908,10 +908,10 @@ packages:
             dependency: transitive
             description:
               name: vm_service
        -      sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
        +      sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
               url: "https://pub.dev"
             source: hosted
        -    version: "14.3.1"
        +    version: "15.0.0"
           web:
             dependency: transitive
             description:
        
        From 25210b57ba789e07fa2fbf9e9c864b0ec139b5ed Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 14:21:27 +0200
        Subject: [PATCH 142/636] try to add dlls to ZIP to potentially fix #54
        
        ---
         .github/workflows/build.yml | 19 +++++++++++++++++++
         1 file changed, 19 insertions(+)
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index 03c659e2d..efbd42d62 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -179,6 +179,25 @@ jobs:
               - name: Zip directory (Windows)
                 shell: pwsh
                 run: |
        +  
        +          $source = "C:\Windows\System32"
        +          $destination = "build\windows\x64\runner\Release"
        +          
        +          # List of required DLLs
        +          $dlls = @("msvcp140.dll", "vcruntime140.dll", "vcruntime140_1.dll")
        +          
        +          # Copy each file
        +          foreach ($dll in $dlls) {
        +            $srcPath = Join-Path $source $dll
        +            $destPath = Join-Path $destination $dll
        +              
        +            if (Test-Path $srcPath) {
        +              Copy-Item -Path $srcPath -Destination $destPath -Force
        +              Write-Output "Copied $dll to $destination"
        +            } else {
        +              Write-Warning "$dll not found in $source"
        +            }
        +          }
                   Compress-Archive -Path "build/windows/x64/runner/Release/*" -DestinationPath "build/windows/x64/runner/Release/SwiftControl.windows.zip"
         
               #9 Upload Artifacts
        
        From 9bc25514ae8c6cecf0763ad4e072d9d0ff1845ac Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 14:46:07 +0200
        Subject: [PATCH 143/636] add launch.json for easier entry when using Visual
         Studio Code
        
        ---
         launch.json | 23 +++++++++++++++++++++++
         1 file changed, 23 insertions(+)
         create mode 100644 launch.json
        
        diff --git a/launch.json b/launch.json
        new file mode 100644
        index 000000000..a47999ef6
        --- /dev/null
        +++ b/launch.json
        @@ -0,0 +1,23 @@
        +{
        +  "version": "0.2.0",
        +  "configurations": [
        +
        +    {
        +      "name": "swiftcontrol",
        +      "request": "launch",
        +      "type": "dart"
        +    },
        +    {
        +      "name": "swiftcontrol (profile mode)",
        +      "request": "launch",
        +      "type": "dart",
        +      "flutterMode": "profile"
        +    },
        +    {
        +      "name": "swiftcontrol (release mode)",
        +      "request": "launch",
        +      "type": "dart",
        +      "flutterMode": "release"
        +    }
        +  ]
        +}
        
        From d959bfb4c99131c6d926fa9b9a6f873cb90af2bf Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 15:33:28 +0200
        Subject: [PATCH 144/636] Windows: adjust key sending method to improve
         compatibility with more apps (fixes #62)
        
        ---
         CHANGELOG.md                                  |  3 +-
         .../keypress_simulator_windows_plugin.cpp     | 39 +++++++------------
         2 files changed, 16 insertions(+), 26 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 65d7dd573..95ab51af0 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,5 +1,6 @@
         ### 2.2.0 (2025-01-03)
        -- Add Long Press Mode option for custom keymaps - buttons can now send sustained key presses instead of repeated taps, perfect for movement controls in games
        +- Add Long Press Mode option for custom keymaps - buttons can now send sustained key presses instead of repeated taps, perfect for movement controls in games (fixes #61)
        +- Windows: adjust key sending method to improve compatibility with more apps (fixes #62)
         
         ### 2.1.0 (2025-07-03)
         - Windows: automatically focus compatible training apps (MyWhoosh, IndieVelo, Biketerra) when sending keystrokes, enabling seamless multi-window usage
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index cc8077783..b827601f8 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -87,33 +87,22 @@ void KeypressSimulatorWindowsPlugin::SimulateKeyPress(
             }
           }
         
        -  INPUT input[6];
        -
        -  for (int32_t i = 0; i < modifiers.size(); i++) {
        -    if (modifiers[i].compare("shiftModifier") == 0) {
        -      input[i].ki.wVk = VK_SHIFT;
        -    } else if (modifiers[i].compare("controlModifier") == 0) {
        -      input[i].ki.wVk = VK_CONTROL;
        -    } else if (modifiers[i].compare("altModifier") == 0) {
        -      input[i].ki.wVk = VK_MENU;
        -    } else if (modifiers[i].compare("metaModifier") == 0) {
        -      input[i].ki.wVk = VK_LWIN;
        -    }
        -
        -    input[i].ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        -    input[i].type = INPUT_KEYBOARD;
        +  WORD sc = (WORD)MapVirtualKey(keyCode, MAPVK_VK_TO_VSC);
        +
        +  INPUT in = {0};
        +  in.type = INPUT_KEYBOARD;
        +  in.ki.wVk = 0;                 // when using SCANCODE, set VK=0
        +  in.ki.wScan = sc;
        +  in.ki.dwFlags = KEYEVENTF_SCANCODE | (keyDown ? 0 : KEYEVENTF_KEYUP);
        +  if (keyCode == VK_LEFT || keyCode == VK_RIGHT || keyCode == VK_UP || keyCode == VK_DOWN ||
        +    keyCode == VK_INSERT || keyCode == VK_DELETE || keyCode == VK_HOME || keyCode == VK_END ||
        +    keyCode == VK_PRIOR || keyCode == VK_NEXT) {
        +    in.ki.dwFlags |= KEYEVENTF_EXTENDEDKEY;
           }
        +  SendInput(1, &in, sizeof(INPUT));
         
        -  /*int keyIndex = static_cast(modifiers.size());
        -  input[keyIndex].ki.wVk = static_cast(keyCode);
        -  input[keyIndex].ki.dwFlags = keyDown ? 0 : KEYEVENTF_KEYUP;
        -  input[keyIndex].type = INPUT_KEYBOARD;*/
        -
        -  // Send key sequence to system
        -  //SendInput(static_cast(std::size(input)), input, sizeof(INPUT));
        -
        -  BYTE byteValue = static_cast(keyCode);
        -  keybd_event(byteValue, 0x45, keyDown ? 0 : KEYEVENTF_KEYUP, 0);
        +  /*BYTE byteValue = static_cast(keyCode);
        +  keybd_event(byteValue, 0x45, keyDown ? 0 : KEYEVENTF_KEYUP, 0);*/
         
           result->Success(flutter::EncodableValue(true));
         }
        
        From 89d35d773454ac170ccd43fca45f1271e58f8267 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 15:49:31 +0200
        Subject: [PATCH 145/636] update some libraries to ensure compatibility with
         latest Flutter
        
        ---
         lib/bluetooth/connection.dart          |  4 +--
         macos/Podfile                          |  2 +-
         macos/Podfile.lock                     |  4 +--
         macos/Runner.xcodeproj/project.pbxproj |  6 ++---
         pubspec.lock                           | 36 +++++++++++++-------------
         pubspec.yaml                           |  4 +--
         6 files changed, 28 insertions(+), 28 deletions(-)
        
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index 46ff04474..6be50c556 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -21,7 +21,7 @@ class Connection {
           final StreamController _actionStreams = StreamController.broadcast();
           Stream get actionStream => _actionStreams.stream;
         
        -  final Map> _connectionSubscriptions = {};
        +  final Map> _connectionSubscriptions = {};
           final StreamController _connectionStreams = StreamController.broadcast();
           Stream get connectionStream => _connectionStreams.stream;
         
        @@ -128,7 +128,7 @@ class Connection {
                 _actionStreams.add(data);
               });
               final connectionStateSubscription = UniversalBle.connectionStream(bleDevice.device.deviceId).listen((state) {
        -        bleDevice.isConnected = state.isConnected;
        +        bleDevice.isConnected = state;
                 _connectionStreams.add(bleDevice);
                 if (!bleDevice.isConnected) {
                   devices.remove(bleDevice);
        diff --git a/macos/Podfile b/macos/Podfile
        index 29c8eb329..ff5ddb3b8 100644
        --- a/macos/Podfile
        +++ b/macos/Podfile
        @@ -1,4 +1,4 @@
        -platform :osx, '10.14'
        +platform :osx, '10.15'
         
         # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
         ENV['COCOAPODS_DISABLE_STATS'] = 'true'
        diff --git a/macos/Podfile.lock b/macos/Podfile.lock
        index 91abd31d7..d11418664 100644
        --- a/macos/Podfile.lock
        +++ b/macos/Podfile.lock
        @@ -64,7 +64,7 @@ SPEC CHECKSUMS:
           device_info_plus: 1b14eed9bf95428983aed283a8d51cce3d8c4215
           file_selector_macos: cc3858c981fe6889f364731200d6232dac1d812d
           flutter_local_notifications: 4ccab5b7a22835214a6672e3f9c5e8ae207dab36
        -  FlutterMacOS: 8f6f14fa908a6fb3fba0cd85dbd81ec4b251fb24
        +  FlutterMacOS: d0db08ddef1a9af05a5ec4b724367152bb0500b1
           keypress_simulator_macos: f8556f9101f9f2f175652e0bceddf0fe82a4c6b2
           package_info_plus: 12f1c5c2cfe8727ca46cbd0b26677728972d9a5b
           screen_retriever_macos: 776e0fa5d42c6163d2bf772d22478df4b302b161
        @@ -73,6 +73,6 @@ SPEC CHECKSUMS:
           url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404
           window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8
         
        -PODFILE CHECKSUM: 7eb978b976557c8c1cd717d8185ec483fd090a82
        +PODFILE CHECKSUM: 54d867c82ac51cbd61b565781b9fada492027009
         
         COCOAPODS: 1.16.2
        diff --git a/macos/Runner.xcodeproj/project.pbxproj b/macos/Runner.xcodeproj/project.pbxproj
        index 2bd1d2c15..a67224be3 100644
        --- a/macos/Runner.xcodeproj/project.pbxproj
        +++ b/macos/Runner.xcodeproj/project.pbxproj
        @@ -555,7 +555,7 @@
         				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
         				GCC_WARN_UNUSED_FUNCTION = YES;
         				GCC_WARN_UNUSED_VARIABLE = YES;
        -				MACOSX_DEPLOYMENT_TARGET = 10.14;
        +				MACOSX_DEPLOYMENT_TARGET = 10.15;
         				MTL_ENABLE_DEBUG_INFO = NO;
         				SDKROOT = macosx;
         				SWIFT_COMPILATION_MODE = wholemodule;
        @@ -643,7 +643,7 @@
         				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
         				GCC_WARN_UNUSED_FUNCTION = YES;
         				GCC_WARN_UNUSED_VARIABLE = YES;
        -				MACOSX_DEPLOYMENT_TARGET = 10.14;
        +				MACOSX_DEPLOYMENT_TARGET = 10.15;
         				MTL_ENABLE_DEBUG_INFO = YES;
         				ONLY_ACTIVE_ARCH = YES;
         				SDKROOT = macosx;
        @@ -693,7 +693,7 @@
         				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
         				GCC_WARN_UNUSED_FUNCTION = YES;
         				GCC_WARN_UNUSED_VARIABLE = YES;
        -				MACOSX_DEPLOYMENT_TARGET = 10.14;
        +				MACOSX_DEPLOYMENT_TARGET = 10.15;
         				MTL_ENABLE_DEBUG_INFO = NO;
         				SDKROOT = macosx;
         				SWIFT_COMPILATION_MODE = wholemodule;
        diff --git a/pubspec.lock b/pubspec.lock
        index 989f5c0e9..e37827353 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -212,10 +212,10 @@ packages:
             dependency: "direct main"
             description:
               name: flex_color_scheme
        -      sha256: "3344f8f6536c6ce0473b98e9f084ef80ca89024ad3b454f9c32cf840206f4387"
        +      sha256: "034d5720747e6af39b2ad090d82dd92d33fde68e7964f1814b714c9d49ddbd64"
               url: "https://pub.dev"
             source: hosted
        -    version: "8.2.0"
        +    version: "8.3.0"
           flex_seed_scheme:
             dependency: transitive
             description:
        @@ -294,10 +294,10 @@ packages:
             dependency: transitive
             description:
               name: flutter_web_bluetooth
        -      sha256: "1363831def5eed1e1064d1eca04e8ccb35446e8f758579c3c519e156b77926da"
        +      sha256: ad26a1b3fef95b86ea5f63793b9a0cdc1a33490f35d754e4e711046cae3ebbf8
               url: "https://pub.dev"
             source: hosted
        -    version: "1.0.0"
        +    version: "1.1.0"
           flutter_web_plugins:
             dependency: transitive
             description: flutter
        @@ -431,26 +431,26 @@ packages:
             dependency: transitive
             description:
               name: leak_tracker
        -      sha256: "6bb818ecbdffe216e81182c2f0714a2e62b593f4a4f13098713ff1685dfb6ab0"
        +      sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0"
               url: "https://pub.dev"
             source: hosted
        -    version: "10.0.9"
        +    version: "11.0.1"
           leak_tracker_flutter_testing:
             dependency: transitive
             description:
               name: leak_tracker_flutter_testing
        -      sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
        +      sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1"
               url: "https://pub.dev"
             source: hosted
        -    version: "3.0.9"
        +    version: "3.0.10"
           leak_tracker_testing:
             dependency: transitive
             description:
               name: leak_tracker_testing
        -      sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3"
        +      sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1"
               url: "https://pub.dev"
             source: hosted
        -    version: "3.0.1"
        +    version: "3.0.2"
           lints:
             dependency: transitive
             description:
        @@ -788,10 +788,10 @@ packages:
             dependency: transitive
             description:
               name: test_api
        -      sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
        +      sha256: "522f00f556e73044315fa4585ec3270f1808a4b186c936e612cab0b565ff1e00"
               url: "https://pub.dev"
             source: hosted
        -    version: "0.7.4"
        +    version: "0.7.6"
           time:
             dependency: transitive
             description:
        @@ -828,10 +828,10 @@ packages:
             dependency: "direct main"
             description:
               name: universal_ble
        -      sha256: "35d210e93a5938c6a6d1fd3c710cf4ac90b1bdd1b11c8eb2beeb32600672e6e6"
        +      sha256: "6a5c6c1fb295015934a5aef3dc751ae7e00721535275f8478bfe74db77b238c5"
               url: "https://pub.dev"
             source: hosted
        -    version: "0.17.0"
        +    version: "0.21.1"
           url_launcher:
             dependency: "direct main"
             description:
        @@ -900,10 +900,10 @@ packages:
             dependency: transitive
             description:
               name: vector_math
        -      sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
        +      sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b
               url: "https://pub.dev"
             source: hosted
        -    version: "2.1.4"
        +    version: "2.2.0"
           vm_service:
             dependency: transitive
             description:
        @@ -969,5 +969,5 @@ packages:
             source: hosted
             version: "3.1.3"
         sdks:
        -  dart: ">=3.7.0 <4.0.0"
        -  flutter: ">=3.29.0"
        +  dart: ">=3.8.0-0 <4.0.0"
        +  flutter: ">=3.35.0"
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 6cc2c925c..d3d6d0e94 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -12,7 +12,7 @@ dependencies:
         
           url_launcher: ^6.3.1
           flutter_local_notifications: ^19.0.0
        -  universal_ble: any
        +  universal_ble: ^0.21.1
           protobuf: ^3.1.0
           permission_handler: ^11.4.0
           dartx: any
        @@ -23,7 +23,7 @@ dependencies:
           keypress_simulator:
             path: keypress_simulator/packages/keypress_simulator
           shared_preferences: ^2.5.3
        -  flex_color_scheme: ^8.2.0
        +  flex_color_scheme: ^8.3.0
           package_info_plus: ^8.3.0
           accessibility:
             path: accessibility
        
        From 15129634a691c5182e226358a856839f50ba44bf Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 16:23:20 +0200
        Subject: [PATCH 146/636] update some libraries to ensure compatibility with
         latest Flutter
        
        ---
         .github/workflows/build.yml |  3 ++-
         pubspec.lock                | 12 ++++++------
         pubspec.yaml                |  2 +-
         3 files changed, 9 insertions(+), 8 deletions(-)
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index efbd42d62..0d73e2c80 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -13,6 +13,7 @@ on:
         
         jobs:
           build:
        +    if: false
             name: Build & Release
             runs-on: macos-latest
         
        @@ -147,7 +148,7 @@ jobs:
                 uses: actions/deploy-pages@v4
         
           windows:
        -    needs: build
        +    #needs: build
             name: Build & Release on Windows
             runs-on: windows-latest
         
        diff --git a/pubspec.lock b/pubspec.lock
        index e37827353..86797e332 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -249,10 +249,10 @@ packages:
             dependency: "direct main"
             description:
               name: flutter_local_notifications
        -      sha256: d59eeafd6df92174b1d5f68fc9d66634c97ce2e7cfe2293476236547bb19bbbd
        +      sha256: a9966c850de5e445331b854fa42df96a8020066d67f125a5964cbc6556643f68
               url: "https://pub.dev"
             source: hosted
        -    version: "19.0.0"
        +    version: "19.4.1"
           flutter_local_notifications_linux:
             dependency: transitive
             description:
        @@ -265,18 +265,18 @@ packages:
             dependency: transitive
             description:
               name: flutter_local_notifications_platform_interface
        -      sha256: "2569b973fc9d1f63a37410a9f7c1c552081226c597190cb359ef5d5762d1631c"
        +      sha256: "277d25d960c15674ce78ca97f57d0bae2ee401c844b6ac80fcd972a9c99d09fe"
               url: "https://pub.dev"
             source: hosted
        -    version: "9.0.0"
        +    version: "9.1.0"
           flutter_local_notifications_windows:
             dependency: transitive
             description:
               name: flutter_local_notifications_windows
        -      sha256: f8fc0652a601f83419d623c85723a3e82ad81f92b33eaa9bcc21ea1b94773e6e
        +      sha256: ed46d7ae4ec9d19e4c8fa2badac5fe27ba87a3fe387343ce726f927af074ec98
               url: "https://pub.dev"
             source: hosted
        -    version: "1.0.0"
        +    version: "1.0.2"
           flutter_plugin_android_lifecycle:
             dependency: transitive
             description:
        diff --git a/pubspec.yaml b/pubspec.yaml
        index d3d6d0e94..788a960b8 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -11,7 +11,7 @@ dependencies:
             sdk: flutter
         
           url_launcher: ^6.3.1
        -  flutter_local_notifications: ^19.0.0
        +  flutter_local_notifications: ^19.4.1
           universal_ble: ^0.21.1
           protobuf: ^3.1.0
           permission_handler: ^11.4.0
        
        From 1c40455bf360f8339e5dbefcb6591d44b61cf442 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 16:42:30 +0200
        Subject: [PATCH 147/636] update readme
        
        ---
         README.md | 13 ++++++-------
         1 file changed, 6 insertions(+), 7 deletions(-)
        
        diff --git a/README.md b/README.md
        index d61c48eda..7015f73fe 100644
        --- a/README.md
        +++ b/README.md
        @@ -4,7 +4,7 @@
         
         ## Description
         
        -With SwiftControl you can control your favorite trainer app using your Zwift Click, Zwift Ride or Zwift Play devices. Here's what you can do with it, depending on your configuration:
        +With SwiftControl you can **control your favorite trainer app** using your Zwift Click, Zwift Ride or Zwift Play devices. Here's what you can do with it, depending on your configuration:
         - Virtual Gear shifting
         - Steering / turning
         - adjust workout intensity
        @@ -35,23 +35,22 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         
         ## Supported Platforms
         - Android
        +  - App is losing connection over time? Read about how to [keep the app alive](https://dontkillmyapp.com/).
         - macOS
         - Windows 
        -  - make sure you have installed the "[Microsoft Visual C++ Runtime libraries](https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170)"
           - Windows may flag the app as virus. I think it does so because the app does control the mouse and keyboard.
        +  - Bluetooth connection unstable? You may need to use an [external Bluetooth adapter](https://github.com/jonasbark/swiftcontrol/issues/14#issuecomment-3193839509).
         - [Web](https://jonasbark.github.io/swiftcontrol/) (you won't be able to do much)
         
         ## Troubleshooting
         - Your Zwift device is found but connection does not work properly? You may need to update the firmware in Zwift Companion app.
        -- The **Android** app is losing connection over time? Read about how to [keep the app alive](https://dontkillmyapp.com/).
        -- **Windows** bluetooth connection unstable? You may need to use an [external Bluetooth adapter](https://github.com/jonasbark/swiftcontrol/issues/14#issuecomment-3193839509).
         
         ## How does it work?
        -The app connects to your Zwift device automatically. 
        +The app connects to your Zwift device automatically. It does not connect to your trainer itself.
         
        -- When using Android a "click" on a certain part of the screen is simulated to trigger the action.
        +- When using Android a touch on a certain part of the screen is simulated to trigger the action.
         - When using macOS or Windows a keyboard or mouse click is used to trigger the action. 
        -  - there are predefined Keymaps for MyWhoosh and indieVelo / Training Peaks
        +  - there are predefined Keymaps for MyWhoosh, indieVelo / Training Peaks, and others
           - you can also create your own Keymaps for any other app
           - you can also use the mouse to click on a certain part of the screen, or use keyboard shortcuts
         
        
        From fbd6356be0cdd5b22d96347cbb1c111d13968466 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 16:54:23 +0200
        Subject: [PATCH 148/636] donate button change
        
        ---
         .github/FUNDING.yml         |  1 -
         .github/workflows/build.yml |  1 -
         lib/widgets/menu.dart       | 22 ++++++++++++++++++----
         3 files changed, 18 insertions(+), 6 deletions(-)
        
        diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
        index 0e992b3b6..fe451ca41 100644
        --- a/.github/FUNDING.yml
        +++ b/.github/FUNDING.yml
        @@ -1,3 +1,2 @@
         github: [jonasbark]
        -open_collective: jonas-bark1
         custom: ["https://paypal.me/boni"]
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index 0d73e2c80..dc9bf1e23 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -13,7 +13,6 @@ on:
         
         jobs:
           build:
        -    if: false
             name: Build & Release
             runs-on: macos-latest
         
        diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart
        index 4667853a6..881be0118 100644
        --- a/lib/widgets/menu.dart
        +++ b/lib/widgets/menu.dart
        @@ -6,12 +6,26 @@ import 'package:url_launcher/url_launcher_string.dart';
         
         List buildMenuButtons() {
           return [
        -    TextButton(
        -      onPressed: () {
        -        launchUrlString('https://paypal.me/boni');
        +    PopupMenuButton(
        +      itemBuilder: (BuildContext context) {
        +        return [
        +          PopupMenuItem(
        +            child: Text('PayPal'),
        +            onTap: () {
        +              launchUrlString('https://paypal.me/boni');
        +            },
        +          ),
        +          PopupMenuItem(
        +            child: Text('Other'),
        +            onTap: () {
        +              launchUrlString('https://github.com/sponsors/jonasbark?frequency=one-time');
        +            },
        +          ),
        +        ];
               },
        -      child: Text('Donate ♥'),
        +      icon: Text('Donate ♥', style: TextStyle(color: Colors.red, fontWeight: FontWeight.bold)),
             ),
        +    SizedBox(width: 8),
             const MenuButton(),
             SizedBox(width: 8),
           ];
        
        From 61fbb099e23cf2702dbfbba821566e0a2562c688 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 8 Sep 2025 16:55:28 +0200
        Subject: [PATCH 149/636] actions fix
        
        ---
         .github/workflows/build.yml | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index dc9bf1e23..efbd42d62 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -147,7 +147,7 @@ jobs:
                 uses: actions/deploy-pages@v4
         
           windows:
        -    #needs: build
        +    needs: build
             name: Build & Release on Windows
             runs-on: windows-latest
         
        
        From 969faca658947872aa8505e80bd328814f9a1f5f Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 9 Sep 2025 09:19:52 +0200
        Subject: [PATCH 150/636] attempt to add support for Zwift Click v2
        
        ---
         CHANGELOG.md                             |  5 ++++-
         lib/bluetooth/ble.dart                   |  8 +++++++-
         lib/bluetooth/connection.dart            | 10 ++++++---
         lib/bluetooth/devices/base_device.dart   | 26 ++++++++----------------
         lib/bluetooth/devices/zwift_clickv2.dart |  5 +++++
         pubspec.yaml                             |  2 +-
         6 files changed, 33 insertions(+), 23 deletions(-)
         create mode 100644 lib/bluetooth/devices/zwift_clickv2.dart
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 95ab51af0..34d660418 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,4 +1,7 @@
        -### 2.2.0 (2025-01-03)
        +### 2.2.1 (2025-09-09) BETA
        +- Attempt to add support for latest Zwift Click v2
        +
        +### 2.2.0 (2025-09-08)
         - Add Long Press Mode option for custom keymaps - buttons can now send sustained key presses instead of repeated taps, perfect for movement controls in games (fixes #61)
         - Windows: adjust key sending method to improve compatibility with more apps (fixes #62)
         
        diff --git a/lib/bluetooth/ble.dart b/lib/bluetooth/ble.dart
        index 2e2881688..750c4316f 100644
        --- a/lib/bluetooth/ble.dart
        +++ b/lib/bluetooth/ble.dart
        @@ -9,7 +9,7 @@ class BleUuid {
         }
         
         class Constants {
        -  static const ZWIFT_MANUFACTURER_ID = 2378; // Zwift, Inc
        +  static const ZWIFT_MANUFACTURER_ID = 2378; // Zwift, Inc => 0x094A
         
           // Zwift Play = RC1
           static const RC1_LEFT_SIDE = 0x03;
        @@ -22,6 +22,9 @@ class Constants {
           // Zwift Click = BC1
           static const BC1 = 0x09;
         
        +  // Zwift Click v2 Right (unconfirmed)
        +  static const CLICK_RIGHT_SIDE = 0x0A;
        +
           static final RIDE_ON = Uint8List.fromList([0x52, 0x69, 0x64, 0x65, 0x4f, 0x6e]);
           static final VIBRATE_PATTERN = Uint8List.fromList([0x12, 0x12, 0x08, 0x0A, 0x06, 0x08, 0x02, 0x10, 0x00, 0x18]);
         
        @@ -46,6 +49,7 @@ class Constants {
         
         enum DeviceType {
           click,
        +  clickV2Right,
           playLeft,
           playRight,
           rideRight,
        @@ -61,6 +65,8 @@ enum DeviceType {
             switch (data) {
               case Constants.BC1:
                 return DeviceType.click;
        +      case Constants.CLICK_RIGHT_SIDE:
        +        return DeviceType.clickV2Right;
               case Constants.RC1_LEFT_SIDE:
                 return DeviceType.playLeft;
               case Constants.RC1_RIGHT_SIDE:
        diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart
        index 6be50c556..05d4d5d7e 100644
        --- a/lib/bluetooth/connection.dart
        +++ b/lib/bluetooth/connection.dart
        @@ -34,11 +34,15 @@ class Connection {
               if (_lastScanResult.none((e) => e.deviceId == result.deviceId)) {
                 _lastScanResult.add(result);
                 final scanResult = BaseDevice.fromScanResult(result);
        -        _actionStreams.add(
        -          LogNotification('Found new device: ${result.name ?? scanResult?.runtimeType ?? result.deviceId}'),
        -        );
        +
                 if (scanResult != null) {
        +          _actionStreams.add(LogNotification('Found new device: ${scanResult.runtimeType}'));
                   _addDevices([scanResult]);
        +        } else {
        +          final manufacturerData = result.manufacturerDataList;
        +          final data =
        +              manufacturerData.firstOrNullWhere((e) => e.companyId == Constants.ZWIFT_MANUFACTURER_ID)?.payload;
        +          _actionStreams.add(LogNotification('Found unknown device with identifier: ${data?.firstOrNull}'));
                 }
               }
             };
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index f853aec58..78423c837 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -5,6 +5,7 @@ import 'package:dartx/dartx.dart';
         import 'package:flutter/foundation.dart';
         import 'package:swift_control/bluetooth/ble.dart';
         import 'package:swift_control/bluetooth/devices/zwift_click.dart';
        +import 'package:swift_control/bluetooth/devices/zwift_clickv2.dart';
         import 'package:swift_control/bluetooth/devices/zwift_play.dart';
         import 'package:swift_control/bluetooth/devices/zwift_ride.dart';
         import 'package:swift_control/main.dart';
        @@ -41,7 +42,7 @@ abstract class BaseDevice {
               //'Zwift Ride' => ZwiftRide(scanResult), special case for Zwift Ride: we must only connect to the left controller
               // https://www.makinolo.com/blog/2024/07/26/zwift-ride-protocol/
               'Zwift Play' => ZwiftPlay(scanResult),
        -      'Zwift Click' => ZwiftClick(scanResult),
        +      //'Zwift Click' => ZwiftClick(scanResult), special case for Zwift Click v2: we must only connect to the right controller
               _ => null,
             };
         
        @@ -63,6 +64,7 @@ abstract class BaseDevice {
                 DeviceType.playLeft => ZwiftPlay(scanResult),
                 //DeviceType.rideRight => ZwiftRide(scanResult), // see comment above
                 DeviceType.rideLeft => ZwiftRide(scanResult),
        +        DeviceType.clickV2Right => ZwiftClickV2(scanResult),
                 _ => null,
               };
             }
        @@ -125,25 +127,15 @@ abstract class BaseDevice {
               throw Exception('Characteristics not found');
             }
         
        -    await UniversalBle.setNotifiable(
        -      device.deviceId,
        -      customService.uuid,
        -      asyncCharacteristic.uuid,
        -      BleInputProperty.notification,
        -    );
        -    await UniversalBle.setNotifiable(
        -      device.deviceId,
        -      customService.uuid,
        -      syncTxCharacteristic.uuid,
        -      BleInputProperty.indication,
        -    );
        +    await UniversalBle.subscribeNotifications(device.deviceId, customService.uuid, asyncCharacteristic.uuid);
        +    await UniversalBle.subscribeIndications(device.deviceId, customService.uuid, syncTxCharacteristic.uuid);
         
             await _setupHandshake();
           }
         
           Future _setupHandshake() async {
             if (supportsEncryption) {
        -      await UniversalBle.writeValue(
        +      await UniversalBle.write(
                 device.deviceId,
                 customServiceId,
                 syncRxCharacteristic!.uuid,
        @@ -152,15 +144,15 @@ abstract class BaseDevice {
                   ...Constants.REQUEST_START,
                   ...zapEncryption.localKeyProvider.getPublicKeyBytes(),
                 ]),
        -        BleOutputProperty.withoutResponse,
        +        withoutResponse: true,
               );
             } else {
        -      await UniversalBle.writeValue(
        +      await UniversalBle.write(
                 device.deviceId,
                 customServiceId,
                 syncRxCharacteristic!.uuid,
                 Constants.RIDE_ON,
        -        BleOutputProperty.withoutResponse,
        +        withoutResponse: true,
               );
             }
           }
        diff --git a/lib/bluetooth/devices/zwift_clickv2.dart b/lib/bluetooth/devices/zwift_clickv2.dart
        new file mode 100644
        index 000000000..8d3079054
        --- /dev/null
        +++ b/lib/bluetooth/devices/zwift_clickv2.dart
        @@ -0,0 +1,5 @@
        +import 'package:swift_control/bluetooth/devices/zwift_play.dart';
        +
        +class ZwiftClickV2 extends ZwiftPlay {
        +  ZwiftClickV2(super.scanResult);
        +}
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 788a960b8..2b6bd1b6d 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.2.0
        +version: 2.2.1+1
         
         environment:
           sdk: ^3.7.0
        
        From c06819b502693abc9123b0b4dc0114d5e26fd20e Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 10 Sep 2025 08:42:55 +0200
        Subject: [PATCH 151/636] attempt to add support for Zwift Click v2
        
        ---
         lib/bluetooth/ble.dart                 | 9 +++++++--
         lib/bluetooth/devices/base_device.dart | 7 ++++---
         pubspec.yaml                           | 2 +-
         3 files changed, 12 insertions(+), 6 deletions(-)
        
        diff --git a/lib/bluetooth/ble.dart b/lib/bluetooth/ble.dart
        index 750c4316f..c7662ab86 100644
        --- a/lib/bluetooth/ble.dart
        +++ b/lib/bluetooth/ble.dart
        @@ -23,7 +23,9 @@ class Constants {
           static const BC1 = 0x09;
         
           // Zwift Click v2 Right (unconfirmed)
        -  static const CLICK_RIGHT_SIDE = 0x0A;
        +  static const CLICK_V2_RIGHT_SIDE = 0x0A;
        +  // Zwift Click v2 Right (unconfirmed)
        +  static const CLICK_V2_LEFT_SIDE = 0x0B;
         
           static final RIDE_ON = Uint8List.fromList([0x52, 0x69, 0x64, 0x65, 0x4f, 0x6e]);
           static final VIBRATE_PATTERN = Uint8List.fromList([0x12, 0x12, 0x08, 0x0A, 0x06, 0x08, 0x02, 0x10, 0x00, 0x18]);
        @@ -50,6 +52,7 @@ class Constants {
         enum DeviceType {
           click,
           clickV2Right,
        +  clickV2Left,
           playLeft,
           playRight,
           rideRight,
        @@ -65,8 +68,10 @@ enum DeviceType {
             switch (data) {
               case Constants.BC1:
                 return DeviceType.click;
        -      case Constants.CLICK_RIGHT_SIDE:
        +      case Constants.CLICK_V2_RIGHT_SIDE:
                 return DeviceType.clickV2Right;
        +      case Constants.CLICK_V2_LEFT_SIDE:
        +        return DeviceType.clickV2Left;
               case Constants.RC1_LEFT_SIDE:
                 return DeviceType.playLeft;
               case Constants.RC1_RIGHT_SIDE:
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 78423c837..05e3cb0af 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -42,7 +42,7 @@ abstract class BaseDevice {
               //'Zwift Ride' => ZwiftRide(scanResult), special case for Zwift Ride: we must only connect to the left controller
               // https://www.makinolo.com/blog/2024/07/26/zwift-ride-protocol/
               'Zwift Play' => ZwiftPlay(scanResult),
        -      //'Zwift Click' => ZwiftClick(scanResult), special case for Zwift Click v2: we must only connect to the right controller
        +      //'Zwift Click' => ZwiftClick(scanResult), special case for Zwift Click v2: we must only connect to the left controller
               _ => null,
             };
         
        @@ -62,9 +62,10 @@ abstract class BaseDevice {
                 DeviceType.click => ZwiftClick(scanResult),
                 DeviceType.playRight => ZwiftPlay(scanResult),
                 DeviceType.playLeft => ZwiftPlay(scanResult),
        -        //DeviceType.rideRight => ZwiftRide(scanResult), // see comment above
                 DeviceType.rideLeft => ZwiftRide(scanResult),
        -        DeviceType.clickV2Right => ZwiftClickV2(scanResult),
        +        //DeviceType.rideRight => ZwiftRide(scanResult), // see comment above
        +        DeviceType.clickV2Left => ZwiftClickV2(scanResult),
        +        //DeviceType.clickV2Right => ZwiftClickV2(scanResult), // see comment above
                 _ => null,
               };
             }
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 2b6bd1b6d..d6efa95cb 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.2.1+1
        +version: 2.2.1+2
         
         environment:
           sdk: ^3.7.0
        
        From a9fdc4b16ed9fb5cff262667f31163f53c4803a0 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 10 Sep 2025 17:40:14 +0200
        Subject: [PATCH 152/636] attempt to add support for Zwift Click v2
        
        ---
         lib/bluetooth/devices/zwift_clickv2.dart | 4 ++--
         lib/widgets/title.dart                   | 2 +-
         pubspec.yaml                             | 2 +-
         3 files changed, 4 insertions(+), 4 deletions(-)
        
        diff --git a/lib/bluetooth/devices/zwift_clickv2.dart b/lib/bluetooth/devices/zwift_clickv2.dart
        index 8d3079054..211921c04 100644
        --- a/lib/bluetooth/devices/zwift_clickv2.dart
        +++ b/lib/bluetooth/devices/zwift_clickv2.dart
        @@ -1,5 +1,5 @@
        -import 'package:swift_control/bluetooth/devices/zwift_play.dart';
        +import 'package:swift_control/bluetooth/devices/zwift_ride.dart';
         
        -class ZwiftClickV2 extends ZwiftPlay {
        +class ZwiftClickV2 extends ZwiftRide {
           ZwiftClickV2(super.scanResult);
         }
        diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart
        index 808353cf2..0ad54abb6 100644
        --- a/lib/widgets/title.dart
        +++ b/lib/widgets/title.dart
        @@ -91,7 +91,7 @@ class _AppTitleState extends State {
                 Text('SwiftControl'),
                 if (_packageInfoValue != null)
                   Text(
        -            'v${_packageInfoValue!.version}',
        +            'v${_packageInfoValue!.version}+${_packageInfoValue!.buildNumber}',
                     style: TextStyle(fontFamily: "monospace", fontFamilyFallback: ["Courier"], fontSize: 12),
                   )
                 else
        diff --git a/pubspec.yaml b/pubspec.yaml
        index d6efa95cb..70dc50d62 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.2.1+2
        +version: 2.2.1+3
         
         environment:
           sdk: ^3.7.0
        
        From 7e98f595eea3c4f035abac84c219b0c7809277ef Mon Sep 17 00:00:00 2001
        From: jonasbark 
        Date: Thu, 11 Sep 2025 19:27:18 +0200
        Subject: [PATCH 153/636] Aktualisieren von CHANGELOG.md
        
        ---
         CHANGELOG.md | 4 ++--
         1 file changed, 2 insertions(+), 2 deletions(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index 34d660418..b5aa642b8 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,5 +1,5 @@
        -### 2.2.1 (2025-09-09) BETA
        -- Attempt to add support for latest Zwift Click v2
        +### 2.3.0 (2025-09-11)
        +- Add support for latest Zwift Click v2
         
         ### 2.2.0 (2025-09-08)
         - Add Long Press Mode option for custom keymaps - buttons can now send sustained key presses instead of repeated taps, perfect for movement controls in games (fixes #61)
        
        From 9bb0e5616a758738ed0a55ed2ceec848ee9155ba Mon Sep 17 00:00:00 2001
        From: jonasbark 
        Date: Thu, 11 Sep 2025 19:27:47 +0200
        Subject: [PATCH 154/636] Aktualisieren von pubspec.yaml
        
        ---
         pubspec.yaml | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 70dc50d62..24a24001a 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.2.1+3
        +version: 2.3.0+0
         
         environment:
           sdk: ^3.7.0
        
        From 49d7445d0e7b30ba1628d044101787a1db2bf448 Mon Sep 17 00:00:00 2001
        From: jonasbark 
        Date: Thu, 11 Sep 2025 21:14:32 +0200
        Subject: [PATCH 155/636] Aktualisieren von README.md
        
        ---
         README.md | 1 +
         1 file changed, 1 insertion(+)
        
        diff --git a/README.md b/README.md
        index 7015f73fe..af2aeda5b 100644
        --- a/README.md
        +++ b/README.md
        @@ -30,6 +30,7 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         
         ## Supported Devices
         - Zwift Click
        +- Zwift Click v2
         - Zwift Ride
         - Zwift Play
         
        
        From daea07c409d5e56765b4c2eb7479794658401633 Mon Sep 17 00:00:00 2001
        From: jonasbark 
        Date: Mon, 15 Sep 2025 08:08:07 +0200
        Subject: [PATCH 156/636] Clarify iOS not being supported
        
        ---
         README.md | 1 +
         1 file changed, 1 insertion(+)
        
        diff --git a/README.md b/README.md
        index af2aeda5b..ced6f8e50 100644
        --- a/README.md
        +++ b/README.md
        @@ -42,6 +42,7 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
           - Windows may flag the app as virus. I think it does so because the app does control the mouse and keyboard.
           - Bluetooth connection unstable? You may need to use an [external Bluetooth adapter](https://github.com/jonasbark/swiftcontrol/issues/14#issuecomment-3193839509).
         - [Web](https://jonasbark.github.io/swiftcontrol/) (you won't be able to do much)
        +- NOT SUPPORTED: iOS (iPhone, iPad) as Apple does not provide any way to simulate touches or keyboard events
         
         ## Troubleshooting
         - Your Zwift device is found but connection does not work properly? You may need to update the firmware in Zwift Companion app.
        
        From 36282c9fa92fa85116b7ae249f15352d477d5475 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 16 Sep 2025 08:59:50 +0200
        Subject: [PATCH 157/636] better donate options
        
        ---
         lib/bluetooth/devices/base_device.dart |  4 ++--
         lib/widgets/menu.dart                  | 16 ++++++++++++----
         pubspec.lock                           |  8 ++++++++
         pubspec.yaml                           |  1 +
         4 files changed, 23 insertions(+), 6 deletions(-)
        
        diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart
        index 05e3cb0af..e76195b29 100644
        --- a/lib/bluetooth/devices/base_device.dart
        +++ b/lib/bluetooth/devices/base_device.dart
        @@ -307,12 +307,12 @@ abstract class BaseDevice {
         
           Future _vibrate() async {
             final vibrateCommand = Uint8List.fromList([...Constants.VIBRATE_PATTERN, 0x20]);
        -    await UniversalBle.writeValue(
        +    await UniversalBle.write(
               device.deviceId,
               customServiceId,
               syncRxCharacteristic!.uuid,
               supportsEncryption ? zapEncryption.encrypt(vibrateCommand) : vibrateCommand,
        -      BleOutputProperty.withoutResponse,
        +      withoutResponse: true,
             );
           }
         
        diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart
        index 881be0118..a338d8021 100644
        --- a/lib/widgets/menu.dart
        +++ b/lib/widgets/menu.dart
        @@ -1,5 +1,8 @@
        +import 'dart:io';
        +
         import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
        +import 'package:intl/intl.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
         import 'package:url_launcher/url_launcher_string.dart';
        @@ -10,15 +13,20 @@ List buildMenuButtons() {
               itemBuilder: (BuildContext context) {
                 return [
                   PopupMenuItem(
        -            child: Text('PayPal'),
        +            child: Text('via Credit Card, Google Pay, Apple Pay and others'),
                     onTap: () {
        -              launchUrlString('https://paypal.me/boni');
        +              final currency = NumberFormat.simpleCurrency(locale: Platform.localeName);
        +              final link = switch (currency.currencyName) {
        +                'USD' => 'https://donate.stripe.com/8x24gzc5c4ZE3VJdt36J201',
        +                _ => 'https://donate.stripe.com/9B6aEX0muajY8bZ1Kl6J200',
        +              };
        +              launchUrlString(link);
                     },
                   ),
                   PopupMenuItem(
        -            child: Text('Other'),
        +            child: Text('via PayPal'),
                     onTap: () {
        -              launchUrlString('https://github.com/sponsors/jonasbark?frequency=one-time');
        +              launchUrlString('https://paypal.me/boni');
                     },
                   ),
                 ];
        diff --git a/pubspec.lock b/pubspec.lock
        index 86797e332..c8c27faa1 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -391,6 +391,14 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "0.2.1+1"
        +  intl:
        +    dependency: "direct main"
        +    description:
        +      name: intl
        +      sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "0.20.2"
           json_annotation:
             dependency: transitive
             description:
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 24a24001a..1b29d9768 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -13,6 +13,7 @@ dependencies:
           url_launcher: ^6.3.1
           flutter_local_notifications: ^19.4.1
           universal_ble: ^0.21.1
        +  intl: any
           protobuf: ^3.1.0
           permission_handler: ^11.4.0
           dartx: any
        
        From bbd01d023a434ee264504e0c1e6dfd1056f0ffbb Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 16 Sep 2025 10:32:09 +0200
        Subject: [PATCH 158/636] - Show an overview of the keymap bindings - Allow
         customizing an existing keymap
        
        ---
         CHANGELOG.md                            |   5 +
         lib/pages/device.dart                   | 145 ++++++++++++-----------
         lib/pages/touch_area.dart               |   2 +-
         lib/utils/keymap/apps/custom_app.dart   |  17 ++-
         lib/widgets/custom_keymap_selector.dart |   1 +
         lib/widgets/keymap_explanation.dart     | 148 ++++++++++++++++++++++++
         lib/widgets/menu.dart                   |   9 ++
         pubspec.yaml                            |   2 +-
         8 files changed, 255 insertions(+), 74 deletions(-)
         create mode 100644 lib/widgets/keymap_explanation.dart
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index b5aa642b8..bc3917c44 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,8 @@
        +### 2.4.0 (2025-09-16)
        +- Show an overview of the keymap bindings
        +- Allow customizing an existing keymap
        +- Add more donation options
        +
         ### 2.3.0 (2025-09-11)
         - Add support for latest Zwift Click v2
         
        diff --git a/lib/pages/device.dart b/lib/pages/device.dart
        index dfa900a2c..e0fd5fab2 100644
        --- a/lib/pages/device.dart
        +++ b/lib/pages/device.dart
        @@ -6,6 +6,7 @@ import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/pages/touch_area.dart';
        +import 'package:swift_control/widgets/keymap_explanation.dart';
         import 'package:swift_control/widgets/logviewer.dart';
         import 'package:swift_control/widgets/title.dart';
         
        @@ -57,7 +58,7 @@ class _DevicePageState extends State {
                     actions: buildMenuButtons(),
                     backgroundColor: Theme.of(context).colorScheme.inversePrimary,
                   ),
        -          body: Padding(
        +          body: SingleChildScrollView(
                     padding: const EdgeInsets.all(8.0),
                     child: Column(
                       crossAxisAlignment: CrossAxisAlignment.start,
        @@ -70,80 +71,92 @@ class _DevicePageState extends State {
                         ),
                         Divider(color: Theme.of(context).colorScheme.primary, height: 30),
                         if (!kIsWeb)
        -                  Wrap(
        -                    spacing: 8,
        -                    runSpacing: 8,
        -                    crossAxisAlignment: WrapCrossAlignment.center,
        +                  Column(
        +                    spacing: 12,
        +                    mainAxisAlignment: MainAxisAlignment.start,
        +                    crossAxisAlignment: CrossAxisAlignment.start,
                             children: [
        -                      DropdownMenu(
        -                        controller: controller,
        -                        dropdownMenuEntries:
        -                            SupportedApp.supportedApps
        -                                .map(
        -                                  (app) => DropdownMenuEntry(
        -                                    value: app,
        -                                    label: app.name,
        -                                    trailingIcon: IconButton(
        -                                      icon: Icon(Icons.info_outline),
        -                                      onPressed: () {
        -                                        showDialog(
        -                                          context: context,
        -                                          builder:
        -                                              (context) => AlertDialog(
        -                                                title: Text(app.name),
        -                                                content: SelectableText(app.keymap.toString()),
        -                                                actions: [
        -                                                  TextButton(
        -                                                    onPressed: () => Navigator.of(context).pop(),
        -                                                    child: Text('OK'),
        -                                                  ),
        -                                                ],
        -                                              ),
        -                                        );
        -                                      },
        +                      Flex(
        +                        mainAxisAlignment: MainAxisAlignment.start,
        +                        direction: MediaQuery.sizeOf(context).width > 600 ? Axis.horizontal : Axis.vertical,
        +                        spacing: 8,
        +                        children: [
        +                          DropdownMenu(
        +                            controller: controller,
        +                            dropdownMenuEntries:
        +                                SupportedApp.supportedApps
        +                                    .map((app) => DropdownMenuEntry(value: app, label: app.name))
        +                                    .toList(),
        +                            label: Text('Select Keymap'),
        +                            onSelected: (app) async {
        +                              if (app == null) {
        +                                return;
        +                              }
        +                              controller.text = app.name ?? '';
        +                              actionHandler.supportedApp = app;
        +                              settings.setApp(app);
        +                              setState(() {});
        +                              if (app is! CustomApp && !kIsWeb && (Platform.isMacOS || Platform.isWindows)) {
        +                                _snackBarMessengerKey.currentState!.showSnackBar(
        +                                  SnackBar(
        +                                    content: Text(
        +                                      'Customize the keymap if you experience any issues (e.g. wrong keyboard output)',
                                             ),
                                           ),
        -                                )
        -                                .toList(),
        -                        label: Text('Select Keymap'),
        -                        onSelected: (app) async {
        -                          if (app == null) {
        -                            return;
        -                          }
        -                          controller.text = app.name ?? '';
        -                          actionHandler.supportedApp = app;
        -                          settings.setApp(app);
        -                          setState(() {});
        -                          if (app is! CustomApp && !kIsWeb && (Platform.isMacOS || Platform.isWindows)) {
        -                            _snackBarMessengerKey.currentState!.showSnackBar(
        -                              SnackBar(
        -                                content: Text(
        -                                  'Use Custom keymap if you experience any issues (e.g. wrong keyboard output)',
        -                                ),
        -                              ),
        -                            );
        -                          }
        -                        },
        -                        initialSelection: actionHandler.supportedApp,
        -                        hintText: 'Select your Keymap',
        -                      ),
        +                                );
        +                              }
        +                            },
        +                            initialSelection: actionHandler.supportedApp,
        +                            hintText: 'Select your Keymap',
        +                          ),
        +
        +                          ElevatedButton(
        +                            onPressed: () async {
        +                              if (actionHandler.supportedApp! is! CustomApp) {
        +                                final customApp = CustomApp();
         
        -                      if (actionHandler.supportedApp is CustomApp)
        -                        ElevatedButton(
        -                          onPressed: () async {
        -                            final result = await Navigator.of(
        -                              context,
        -                            ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage()));
        -                            if (result == true && actionHandler.supportedApp is CustomApp) {
        -                              settings.setApp(actionHandler.supportedApp!);
        -                            }
        +                                actionHandler.supportedApp!.keymap.keyPairs.forEachIndexed((pair, index) {
        +                                  pair.buttons.forEachIndexed((button, indexB) {
        +                                    customApp.setKey(
        +                                      button,
        +                                      physicalKey: pair.physicalKey!,
        +                                      logicalKey: pair.logicalKey,
        +                                      isLongPress: pair.isLongPress,
        +                                      touchPosition:
        +                                          pair.touchPosition != Offset.zero
        +                                              ? pair.touchPosition
        +                                              : Offset(((indexB + 1)) * 100, 200 + (index * 100)),
        +                                    );
        +                                  });
        +                                });
        +
        +                                actionHandler.supportedApp = customApp;
        +                                settings.setApp(customApp);
        +                              }
        +                              final result = await Navigator.of(
        +                                context,
        +                              ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage()));
        +                              if (result == true && actionHandler.supportedApp is CustomApp) {
        +                                settings.setApp(actionHandler.supportedApp!);
        +                              }
        +                              setState(() {});
        +                            },
        +                            child: Text('Customize Keymap'),
        +                          ),
        +                        ],
        +                      ),
        +                      if (actionHandler.supportedApp != null)
        +                        KeymapExplanation(
        +                          key: Key(actionHandler.supportedApp!.keymap.runtimeType.toString()),
        +                          keymap: actionHandler.supportedApp!.keymap,
        +                          onUpdate: () {
                                     setState(() {});
        +                            controller.text = actionHandler.supportedApp?.name ?? '';
                                   },
        -                          child: Text('Customize Keymap'),
                                 ),
                             ],
                           ),
        -                Expanded(child: LogViewer()),
        +                SizedBox(height: 800, child: LogViewer()),
                       ],
                     ),
                   ),
        diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart
        index 1d9bb6324..ba9d9442d 100644
        --- a/lib/pages/touch_area.dart
        +++ b/lib/pages/touch_area.dart
        @@ -350,7 +350,7 @@ class _TouchDot extends StatelessWidget {
                         ? Icons.music_note_outlined
                         : keyPair.physicalKey != null
                         ? Icons.keyboard_alt_outlined
        -                : Icons.add,
        +                : Icons.touch_app_outlined,
                   ),
                 ),
         
        diff --git a/lib/utils/keymap/apps/custom_app.dart b/lib/utils/keymap/apps/custom_app.dart
        index 222e0fc7a..ce24e624d 100644
        --- a/lib/utils/keymap/apps/custom_app.dart
        +++ b/lib/utils/keymap/apps/custom_app.dart
        @@ -43,6 +43,7 @@ class CustomApp extends SupportedApp {
             required PhysicalKeyboardKey physicalKey,
             required LogicalKeyboardKey? logicalKey,
             bool isLongPress = false,
        +    Offset? touchPosition,
           }) {
             // set the key for the zwift button
             final keyPair = keymap.getKeyPair(zwiftButton);
        @@ -50,13 +51,17 @@ class CustomApp extends SupportedApp {
               keyPair.physicalKey = physicalKey;
               keyPair.logicalKey = logicalKey;
               keyPair.isLongPress = isLongPress;
        +      keyPair.touchPosition = touchPosition ?? Offset.zero;
             } else {
        -      keymap.keyPairs.add(KeyPair(
        -        buttons: [zwiftButton], 
        -        physicalKey: physicalKey, 
        -        logicalKey: logicalKey,
        -        isLongPress: isLongPress,
        -      ));
        +      keymap.keyPairs.add(
        +        KeyPair(
        +          buttons: [zwiftButton],
        +          physicalKey: physicalKey,
        +          logicalKey: logicalKey,
        +          isLongPress: isLongPress,
        +          touchPosition: touchPosition ?? Offset.zero,
        +        ),
        +      );
             }
           }
         }
        diff --git a/lib/widgets/custom_keymap_selector.dart b/lib/widgets/custom_keymap_selector.dart
        index 5aba5a6af..500df1902 100644
        --- a/lib/widgets/custom_keymap_selector.dart
        +++ b/lib/widgets/custom_keymap_selector.dart
        @@ -71,6 +71,7 @@ class _HotKeyListenerState extends State {
                   _pressedButton!,
                   physicalKey: _pressedKey!.physicalKey,
                   logicalKey: _pressedKey!.logicalKey,
        +          touchPosition: widget.keyPair?.touchPosition,
                 );
               }
             });
        diff --git a/lib/widgets/keymap_explanation.dart b/lib/widgets/keymap_explanation.dart
        new file mode 100644
        index 000000000..a82bfc42d
        --- /dev/null
        +++ b/lib/widgets/keymap_explanation.dart
        @@ -0,0 +1,148 @@
        +import 'package:dartx/dartx.dart';
        +import 'package:flutter/material.dart';
        +import 'package:swift_control/main.dart';
        +import 'package:swift_control/utils/keymap/keymap.dart';
        +
        +class KeymapExplanation extends StatelessWidget {
        +  final Keymap keymap;
        +  final VoidCallback onUpdate;
        +  const KeymapExplanation({super.key, required this.keymap, required this.onUpdate});
        +
        +  @override
        +  Widget build(BuildContext context) {
        +    final keyboardGroups = keymap.keyPairs
        +        .filter((e) => e.physicalKey != null)
        +        .groupBy((element) => '${element.physicalKey}-${element.isLongPress}');
        +    final touchGroups = keymap.keyPairs
        +        .filter((e) => e.physicalKey == null && e.touchPosition != Offset.zero)
        +        .groupBy((element) => '${element.touchPosition}-${element.isLongPress}');
        +
        +    return Column(
        +      crossAxisAlignment: CrossAxisAlignment.start,
        +      mainAxisSize: MainAxisSize.min,
        +      spacing: 8,
        +      children: [
        +        if (keymap.keyPairs.isEmpty)
        +          Text('No key mappings found. Please customize the keymap.')
        +        else
        +          Table(
        +            border: TableBorder.all(color: Theme.of(context).colorScheme.primaryContainer),
        +            children: [
        +              TableRow(
        +                children: [
        +                  Padding(
        +                    padding: const EdgeInsets.all(6),
        +                    child: Text(
        +                      'Button on your ${connection.devices.firstOrNull?.device.name ?? connection.devices.firstOrNull?.runtimeType}',
        +                      style: Theme.of(context).textTheme.bodyMedium?.copyWith(fontWeight: FontWeight.bold),
        +                    ),
        +                  ),
        +                  Padding(
        +                    padding: const EdgeInsets.all(6),
        +                    child: Text(
        +                      'Action',
        +                      style: Theme.of(context).textTheme.bodyMedium?.copyWith(fontWeight: FontWeight.bold),
        +                    ),
        +                  ),
        +                ],
        +              ),
        +              for (final pair in keyboardGroups.entries) ...[
        +                TableRow(
        +                  children: [
        +                    Padding(
        +                      padding: const EdgeInsets.all(6),
        +                      child: Wrap(
        +                        spacing: 8,
        +                        runSpacing: 8,
        +                        children: [
        +                          for (final keyPair in pair.value)
        +                            for (final button in keyPair.buttons)
        +                              IntrinsicWidth(child: _KeyWidget(label: button.name.splitByUpperCase())),
        +                        ],
        +                      ),
        +                    ),
        +                    Padding(
        +                      padding: const EdgeInsets.all(6),
        +                      child: Row(
        +                        spacing: 8,
        +                        children: [
        +                          Icon(Icons.keyboard, size: 16),
        +                          _KeyWidget(label: pair.value.first.logicalKey?.keyLabel ?? ''),
        +                          if (pair.value.first.isLongPress) Text('using long press'),
        +                        ],
        +                      ),
        +                    ),
        +                  ],
        +                ),
        +              ],
        +              for (final pair in touchGroups.entries) ...[
        +                TableRow(
        +                  children: [
        +                    Padding(
        +                      padding: const EdgeInsets.all(6),
        +                      child: Row(
        +                        spacing: 8,
        +                        children: [
        +                          for (final keyPair in pair.value)
        +                            for (final button in keyPair.buttons) _KeyWidget(label: button.name.splitByUpperCase()),
        +                        ],
        +                      ),
        +                    ),
        +                    Padding(
        +                      padding: const EdgeInsets.all(6),
        +                      child: Row(
        +                        spacing: 8,
        +                        children: [
        +                          Icon(Icons.touch_app, size: 16),
        +                          _KeyWidget(
        +                            label:
        +                                'x: ${pair.value.first.touchPosition.dx.toInt()}, y: ${pair.value.first.touchPosition.dy.toInt()}',
        +                          ),
        +
        +                          if (pair.value.first.isLongPress) Text('using long press'),
        +                        ],
        +                      ),
        +                    ),
        +                  ],
        +                ),
        +              ],
        +            ],
        +          ),
        +      ],
        +    );
        +  }
        +}
        +
        +class _KeyWidget extends StatelessWidget {
        +  final String label;
        +  const _KeyWidget({super.key, required this.label});
        +
        +  @override
        +  Widget build(BuildContext context) {
        +    return Container(
        +      padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 4),
        +      constraints: BoxConstraints(minWidth: 30),
        +      decoration: BoxDecoration(
        +        border: Border.all(color: Theme.of(context).colorScheme.primary),
        +        borderRadius: BorderRadius.circular(4),
        +        color: Theme.of(context).colorScheme.primaryContainer,
        +      ),
        +      child: Center(
        +        child: Text(
        +          label,
        +          style: TextStyle(
        +            fontFamily: 'monospace',
        +            fontSize: 12,
        +            color: Theme.of(context).colorScheme.onPrimaryContainer,
        +          ),
        +        ),
        +      ),
        +    );
        +  }
        +}
        +
        +extension on String {
        +  String splitByUpperCase() {
        +    return replaceAllMapped(RegExp(r'([a-z])([A-Z])'), (match) => '${match.group(1)} ${match.group(2)}').capitalize();
        +  }
        +}
        diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart
        index a338d8021..04dc43231 100644
        --- a/lib/widgets/menu.dart
        +++ b/lib/widgets/menu.dart
        @@ -7,6 +7,8 @@ import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
         import 'package:url_launcher/url_launcher_string.dart';
         
        +import '../pages/device.dart';
        +
         List buildMenuButtons() {
           return [
             PopupMenuButton(
        @@ -59,6 +61,13 @@ class MenuButton extends StatelessWidget {
                         ),
                       ),
                       PopupMenuItem(child: PopupMenuDivider()),
        +              PopupMenuItem(
        +                child: Text('Continue'),
        +                onTap: () {
        +                  Navigator.push(context, MaterialPageRoute(builder: (c) => DevicePage()));
        +                },
        +              ),
        +              PopupMenuItem(child: PopupMenuDivider()),
                     ],
                     PopupMenuItem(
                       child: Text('Feedback'),
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 1b29d9768..7cd30a144 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.3.0+0
        +version: 2.4.0+0
         
         environment:
           sdk: ^3.7.0
        
        From b3ec7e7a3a4e9ef9ca04a6fe9e96895e5753e19b Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Tue, 16 Sep 2025 20:08:51 +0200
        Subject: [PATCH 159/636] funding
        
        ---
         .github/FUNDING.yml   | 2 +-
         lib/widgets/menu.dart | 2 +-
         2 files changed, 2 insertions(+), 2 deletions(-)
        
        diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
        index fe451ca41..901011e08 100644
        --- a/.github/FUNDING.yml
        +++ b/.github/FUNDING.yml
        @@ -1,2 +1,2 @@
         github: [jonasbark]
        -custom: ["https://paypal.me/boni"]
        +custom: ["https://paypal.me/boni", "https://donate.stripe.com/9B6aEX0muajY8bZ1Kl6J200"]
        diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart
        index 04dc43231..c73bd45c9 100644
        --- a/lib/widgets/menu.dart
        +++ b/lib/widgets/menu.dart
        @@ -17,7 +17,7 @@ List buildMenuButtons() {
                   PopupMenuItem(
                     child: Text('via Credit Card, Google Pay, Apple Pay and others'),
                     onTap: () {
        -              final currency = NumberFormat.simpleCurrency(locale: Platform.localeName);
        +              final currency = NumberFormat.simpleCurrency(locale: kIsWeb ? 'de_DE' : Platform.localeName);
                       final link = switch (currency.currencyName) {
                         'USD' => 'https://donate.stripe.com/8x24gzc5c4ZE3VJdt36J201',
                         _ => 'https://donate.stripe.com/9B6aEX0muajY8bZ1Kl6J200',
        
        From dee7b861205072e67a8d37aa62d003d0446be793 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Wed, 17 Sep 2025 06:28:06 +0000
        Subject: [PATCH 160/636] Initial plan
        
        
        From e758b35837fcbd79fd84a7e0328a767b9abbcb95 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Wed, 17 Sep 2025 06:32:42 +0000
        Subject: [PATCH 161/636] Fix Windows mouse click scaling for high DPI displays
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         .../windows/keypress_simulator_windows_plugin.cpp   | 13 ++++++++++++-
         1 file changed, 12 insertions(+), 1 deletion(-)
        
        diff --git a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        index b827601f8..681990e58 100644
        --- a/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        +++ b/keypress_simulator/packages/keypress_simulator_windows/windows/keypress_simulator_windows_plugin.cpp
        @@ -4,6 +4,7 @@
         #include 
         #include 
         #include 
        +#include 
         
         #include 
         #include 
        @@ -126,8 +127,18 @@ void KeypressSimulatorWindowsPlugin::SimulateMouseClick(
               y = std::get(it_y->second);
           }
         
        +  // Get the monitor containing the target point and its DPI
        +  const POINT target_point = {static_cast(x), static_cast(y)};
        +  HMONITOR monitor = MonitorFromPoint(target_point, MONITOR_DEFAULTTONEAREST);
        +  UINT dpi = FlutterDesktopGetDpiForMonitor(monitor);
        +  double scale_factor = dpi / 96.0;
        +  
        +  // Scale the coordinates according to the DPI scaling
        +  int scaled_x = static_cast(x * scale_factor);
        +  int scaled_y = static_cast(y * scale_factor);
        +
           // Move the mouse to the specified coordinates
        -  SetCursorPos(static_cast(x), static_cast(y));
        +  SetCursorPos(scaled_x, scaled_y);
         
           // Prepare input for mouse down and up
           INPUT input = {0};
        
        From 372085ec0ed6c90da57c5e69b5aaf882d64a66fd Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Wed, 17 Sep 2025 06:46:52 +0000
        Subject: [PATCH 162/636] Update version to 2.4.0+1 and add changelog entry
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         CHANGELOG.md | 3 +++
         pubspec.yaml | 2 +-
         2 files changed, 4 insertions(+), 1 deletion(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index bc3917c44..d2f7a0404 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,3 +1,6 @@
        +### 2.4.0+1 (2025-12-17)
        +- Windows: fix mouse clicks at wrong location due to display scaling (fixes #64)
        +
         ### 2.4.0 (2025-09-16)
         - Show an overview of the keymap bindings
         - Allow customizing an existing keymap
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 7cd30a144..a50bb0896 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.4.0+0
        +version: 2.4.0+1
         
         environment:
           sdk: ^3.7.0
        
        From 7ee9bc43a03676d28ce8a66c09144d6b29f4b902 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Wed, 17 Sep 2025 06:49:09 +0000
        Subject: [PATCH 163/636] Fix changelog date to 2025-09-17
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         CHANGELOG.md | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/CHANGELOG.md b/CHANGELOG.md
        index d2f7a0404..56308a67d 100644
        --- a/CHANGELOG.md
        +++ b/CHANGELOG.md
        @@ -1,4 +1,4 @@
        -### 2.4.0+1 (2025-12-17)
        +### 2.4.0+1 (2025-09-17)
         - Windows: fix mouse clicks at wrong location due to display scaling (fixes #64)
         
         ### 2.4.0 (2025-09-16)
        
        From 13c70fc445dfbdf1b4b094db4fab130644481f34 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 22 Sep 2025 09:28:35 +0200
        Subject: [PATCH 164/636] enable encryption for Zwift Click v2 to potentially
         fix #68
        
        ---
         lib/bluetooth/devices/zwift_clickv2.dart | 3 +++
         pubspec.yaml                             | 2 +-
         2 files changed, 4 insertions(+), 1 deletion(-)
        
        diff --git a/lib/bluetooth/devices/zwift_clickv2.dart b/lib/bluetooth/devices/zwift_clickv2.dart
        index 211921c04..7c010a8f3 100644
        --- a/lib/bluetooth/devices/zwift_clickv2.dart
        +++ b/lib/bluetooth/devices/zwift_clickv2.dart
        @@ -2,4 +2,7 @@ import 'package:swift_control/bluetooth/devices/zwift_ride.dart';
         
         class ZwiftClickV2 extends ZwiftRide {
           ZwiftClickV2(super.scanResult);
        +
        +  @override
        +  bool get supportsEncryption => true;
         }
        diff --git a/pubspec.yaml b/pubspec.yaml
        index a50bb0896..c71371a3b 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.4.0+1
        +version: 2.4.0+2
         
         environment:
           sdk: ^3.7.0
        
        From c0d2eaa897b7924fe0c32b58ed7bb54eaac7f052 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 22 Sep 2025 09:35:55 +0200
        Subject: [PATCH 165/636] adjust readme to ensure Windows users to not pair
         their Zwift device with Windows
        
        ---
         README.md | 4 ++++
         1 file changed, 4 insertions(+)
        
        diff --git a/README.md b/README.md
        index ced6f8e50..1eca8ea4b 100644
        --- a/README.md
        +++ b/README.md
        @@ -41,6 +41,7 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         - Windows 
           - Windows may flag the app as virus. I think it does so because the app does control the mouse and keyboard.
           - Bluetooth connection unstable? You may need to use an [external Bluetooth adapter](https://github.com/jonasbark/swiftcontrol/issues/14#issuecomment-3193839509).
        +  - Make sure your Zwift device is not paired with Windows Bluetooth settings: [more information](https://github.com/jonasbark/swiftcontrol/issues/70).
         - [Web](https://jonasbark.github.io/swiftcontrol/) (you won't be able to do much)
         - NOT SUPPORTED: iOS (iPhone, iPad) as Apple does not provide any way to simulate touches or keyboard events
         
        @@ -56,6 +57,9 @@ The app connects to your Zwift device automatically. It does not connect to your
           - you can also create your own Keymaps for any other app
           - you can also use the mouse to click on a certain part of the screen, or use keyboard shortcuts
         
        +## Alternatives
        +- [qdomyos-zwift](https://www.qzfitness.com/) directly controls the trainer (as opposed to controlling the trainer app)
        +
         ## Donate
         Please consider donating to support the development of this app :)
         
        
        From 5d5dc2e152975e13eeb4829b88e0675b70acdcb0 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 22 Sep 2025 09:53:25 +0200
        Subject: [PATCH 166/636] build app bundle for play store
        
        ---
         .github/workflows/build.yml | 8 ++++++--
         1 file changed, 6 insertions(+), 2 deletions(-)
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index efbd42d62..06088e002 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -82,16 +82,19 @@ jobs:
                   echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > android/android.keystore;
                   echo "${{ secrets.KEYSTORE_PROPERTIES }}" > android/keystore.properties;
         
        -        #6 Building APK
               - name: Build APK
                 run: flutter build apk --release
         
        +      - name: Build Bundle
        +        run: flutter build appbundle --release
        +
               - name: Build Web
                 run: flutter build web --release --base-href "/swiftcontrol/"
         
               - name: Handle archives
                 run: |
                   cp build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/SwiftControl.android.apk
        +          cp build/app/outputs/bundle/app-release.aab build/app/outputs/bundle/SwiftControl.android.aab
                   cd build/macos/Build/Products/Release/
                   zip -r SwiftControl.macos.zip SwiftControl.app/
         
        @@ -102,6 +105,7 @@ jobs:
                   name: Releases
                   path: |
                     build/app/outputs/flutter-apk/SwiftControl.android.apk
        +            build/app/outputs/bundle/SwiftControl.android.aab
                     build/macos/Build/Products/Release/SwiftControl.macos.zip
         
                 #10 Extract Version
        @@ -133,7 +137,7 @@ jobs:
               - name: Create Release
                 uses: ncipollo/release-action@v1
                 with:
        -          artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/macos/Build/Products/Release/SwiftControl.macos.zip"
        +          artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/app/outputs/bundle/SwiftControl.android.aab,build/macos/Build/Products/Release/SwiftControl.macos.zip"
                   tag: v${{ env.VERSION }}
                   token: ${{ secrets.TOKEN }}
         
        
        From 43e827d8f5f42d77f48b5e19532186a03bf1a731 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 22 Sep 2025 10:11:25 +0200
        Subject: [PATCH 167/636] build app bundle for play store
        
        ---
         .github/workflows/build.yml | 6 +++---
         1 file changed, 3 insertions(+), 3 deletions(-)
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index 06088e002..4606fb6c0 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -94,7 +94,7 @@ jobs:
               - name: Handle archives
                 run: |
                   cp build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/SwiftControl.android.apk
        -          cp build/app/outputs/bundle/app-release.aab build/app/outputs/bundle/SwiftControl.android.aab
        +          cp build/app/outputs/bundle/release/app-release.aab build/app/outputs/bundle/release/SwiftControl.android.aab
                   cd build/macos/Build/Products/Release/
                   zip -r SwiftControl.macos.zip SwiftControl.app/
         
        @@ -105,7 +105,7 @@ jobs:
                   name: Releases
                   path: |
                     build/app/outputs/flutter-apk/SwiftControl.android.apk
        -            build/app/outputs/bundle/SwiftControl.android.aab
        +            build/app/outputs/bundle/release/SwiftControl.android.aab
                     build/macos/Build/Products/Release/SwiftControl.macos.zip
         
                 #10 Extract Version
        @@ -137,7 +137,7 @@ jobs:
               - name: Create Release
                 uses: ncipollo/release-action@v1
                 with:
        -          artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/app/outputs/bundle/SwiftControl.android.aab,build/macos/Build/Products/Release/SwiftControl.macos.zip"
        +          artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/app/outputs/bundle/release/SwiftControl.android.aab,build/macos/Build/Products/Release/SwiftControl.macos.zip"
                   tag: v${{ env.VERSION }}
                   token: ${{ secrets.TOKEN }}
         
        
        From ebd7f809473bfc59ecc11bfcc1957ea7f45aaa7a Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 22 Sep 2025 13:27:30 +0200
        Subject: [PATCH 168/636] upload app bundle to play store
        
        ---
         .github/workflows/build.yml | 8 ++++++++
         .gitignore                  | 2 ++
         2 files changed, 10 insertions(+)
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index 4606fb6c0..69d5a3450 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -150,6 +150,14 @@ jobs:
               - name: Web Deploy
                 uses: actions/deploy-pages@v4
         
        +      - name: Upload to Play Store
        +        uses: r0adkll/upload-google-play@v1
        +        with:
        +          serviceAccountJsonPlainText: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }}
        +          packageName: de.jonasbark.swift_play
        +          releaseFiles: build/app/outputs/bundle/release/app-release.aab
        +          track: production
        +
           windows:
             needs: build
             name: Build & Release on Windows
        diff --git a/.gitignore b/.gitignore
        index b037b197c..af675d612 100644
        --- a/.gitignore
        +++ b/.gitignore
        @@ -45,3 +45,5 @@ app.*.map.json
         /android/app/debug
         /android/app/profile
         /android/app/release
        +
        +service-account.json
        
        From 3466e504e3ec395040bb05e0d963c9b9abd08c0f Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Mon, 22 Sep 2025 13:41:50 +0200
        Subject: [PATCH 169/636] implement in app update for Android
        
        ---
         android/settings.gradle.kts |  4 ++--
         lib/pages/requirements.dart |  2 +-
         lib/widgets/title.dart      | 33 ++++++++++++++++++++++++++++-----
         pubspec.lock                |  8 ++++++++
         pubspec.yaml                |  1 +
         5 files changed, 40 insertions(+), 8 deletions(-)
        
        diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts
        index a439442c2..ad996d112 100644
        --- a/android/settings.gradle.kts
        +++ b/android/settings.gradle.kts
        @@ -18,8 +18,8 @@ pluginManagement {
         
         plugins {
             id("dev.flutter.flutter-plugin-loader") version "1.0.0"
        -    id("com.android.application") version "8.7.0" apply false
        -    id("org.jetbrains.kotlin.android") version "1.8.22" apply false
        +    id("com.android.application") version "8.7.3" apply false
        +    id("org.jetbrains.kotlin.android") version "2.2.20" apply false
         }
         
         include(":app")
        diff --git a/lib/pages/requirements.dart b/lib/pages/requirements.dart
        index 3a023b402..b980f18ff 100644
        --- a/lib/pages/requirements.dart
        +++ b/lib/pages/requirements.dart
        @@ -31,7 +31,7 @@ class _RequirementsPageState extends State with WidgetsBinding
             WidgetsBinding.instance.addPostFrameCallback((_) {
               settings.init().then((_) {
                 if (!kIsWeb && Platform.isMacOS) {
        -          // add more delay due tu CBManagerStateUnknown
        +          // add more delay due to CBManagerStateUnknown
                   Future.delayed(const Duration(seconds: 2), () {
                     _reloadRequirements();
                   });
        diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart
        index 0ad54abb6..edf2780d0 100644
        --- a/lib/widgets/title.dart
        +++ b/lib/widgets/title.dart
        @@ -5,6 +5,7 @@ import 'package:dartx/dartx.dart';
         import 'package:flutter/foundation.dart';
         import 'package:flutter/material.dart';
         import 'package:http/http.dart' as http;
        +import 'package:in_app_update/in_app_update.dart';
         import 'package:package_info_plus/package_info_plus.dart';
         import 'package:swift_control/widgets/small_progress_indicator.dart';
         import 'package:url_launcher/url_launcher_string.dart';
        @@ -20,7 +21,7 @@ class AppTitle extends StatefulWidget {
         }
         
         class _AppTitleState extends State {
        -  Future getLatestVersionUrlIfNewer() async {
        +  Future _getLatestVersionUrlIfNewer() async {
             final response = await http.get(Uri.parse('https://api.github.com/repos/jonasbark/swiftcontrol/releases/latest'));
             if (response.statusCode == 200) {
               final data = jsonDecode(response.body);
        @@ -56,16 +57,38 @@ class _AppTitleState extends State {
                 setState(() {
                   _packageInfoValue = value;
                 });
        -        _loadLatestVersionUrl();
        +        _checkForUpdate();
               });
             } else {
        -      _loadLatestVersionUrl();
        +      _checkForUpdate();
             }
           }
         
        -  void _loadLatestVersionUrl() async {
        +  void _checkForUpdate() async {
        +    if (Platform.isAndroid) {
        +      try {
        +        final appUpdateInfo = await InAppUpdate.checkForUpdate();
        +        if (context.mounted && appUpdateInfo.updateAvailability == UpdateAvailability.updateAvailable) {
        +          ScaffoldMessenger.of(context).showSnackBar(
        +            SnackBar(
        +              content: Text('New version available'),
        +              duration: Duration(seconds: 1337),
        +              action: SnackBarAction(
        +                label: 'Update',
        +                onPressed: () {
        +                  InAppUpdate.performImmediateUpdate();
        +                },
        +              ),
        +            ),
        +          );
        +        }
        +        return null;
        +      } on Exception catch (e) {
        +        print('Failed to check for update: $e');
        +      }
        +    }
             if (_latestVersionUrlValue == null && !kIsWeb) {
        -      final url = await getLatestVersionUrlIfNewer();
        +      final url = await _getLatestVersionUrlIfNewer();
               if (url != null && mounted) {
                 ScaffoldMessenger.of(context).showSnackBar(
                   SnackBar(
        diff --git a/pubspec.lock b/pubspec.lock
        index c8c27faa1..8c29efba7 100644
        --- a/pubspec.lock
        +++ b/pubspec.lock
        @@ -391,6 +391,14 @@ packages:
               url: "https://pub.dev"
             source: hosted
             version: "0.2.1+1"
        +  in_app_update:
        +    dependency: "direct main"
        +    description:
        +      name: in_app_update
        +      sha256: "9924a3efe592e1c0ec89dda3683b3cfec3d4cd02d908e6de00c24b759038ddb1"
        +      url: "https://pub.dev"
        +    source: hosted
        +    version: "4.2.5"
           intl:
             dependency: "direct main"
             description:
        diff --git a/pubspec.yaml b/pubspec.yaml
        index c71371a3b..4010a298f 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -26,6 +26,7 @@ dependencies:
           shared_preferences: ^2.5.3
           flex_color_scheme: ^8.3.0
           package_info_plus: ^8.3.0
        +  in_app_update: ^4.2.5
           accessibility:
             path: accessibility
           http: ^1.3.0
        
        From 826dc2327f61eb15e74a64c800d77aa02c3b1fad Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Wed, 24 Sep 2025 06:20:32 +0000
        Subject: [PATCH 170/636] Initial plan
        
        
        From d97307de6f6af591276754090ea58d37f2d39475 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Wed, 24 Sep 2025 06:26:05 +0000
        Subject: [PATCH 171/636] Add accessibility disclosure dialog with proper
         consent options
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         README.md                                     |  4 +-
         lib/utils/requirements/android.dart           | 49 ++++++++++++++
         .../accessibility_disclosure_dialog.dart      | 62 ++++++++++++++++++
         test/accessibility_disclosure_test.dart       | 65 +++++++++++++++++++
         4 files changed, 179 insertions(+), 1 deletion(-)
         create mode 100644 lib/widgets/accessibility_disclosure_dialog.dart
         create mode 100644 test/accessibility_disclosure_test.dart
        
        diff --git a/README.md b/README.md
        index 1eca8ea4b..f41b6bd3c 100644
        --- a/README.md
        +++ b/README.md
        @@ -11,6 +11,8 @@ With SwiftControl you can **control your favorite trainer app** using your Zwift
         - control music on your device
         - more? If you can do it via keyboard, mouse or touch, you can do it with SwiftControl
         
        +**Android AccessibilityService Usage**: On Android, SwiftControl uses the AccessibilityService API to simulate touch gestures on your screen, allowing your Zwift devices to control training apps. This service only monitors which app window is active and performs touch gestures at the locations you configure. No personal data is accessed or collected.
        +
         
         https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159
         
        @@ -51,7 +53,7 @@ Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases
         ## How does it work?
         The app connects to your Zwift device automatically. It does not connect to your trainer itself.
         
        -- When using Android a touch on a certain part of the screen is simulated to trigger the action.
        +- When using Android: SwiftControl uses the AccessibilityService API to simulate touch gestures on specific parts of your screen to trigger actions in training apps. The service monitors which training app window is currently active to ensure gestures are sent to the correct app.
         - When using macOS or Windows a keyboard or mouse click is used to trigger the action. 
           - there are predefined Keymaps for MyWhoosh, indieVelo / Training Peaks, and others
           - you can also create your own Keymaps for any other app
        diff --git a/lib/utils/requirements/android.dart b/lib/utils/requirements/android.dart
        index 4e42b0976..95fdf2117 100644
        --- a/lib/utils/requirements/android.dart
        +++ b/lib/utils/requirements/android.dart
        @@ -1,9 +1,11 @@
         import 'dart:io';
         
        +import 'package:flutter/material.dart';
         import 'package:flutter_local_notifications/flutter_local_notifications.dart';
         import 'package:permission_handler/permission_handler.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/requirements/platform.dart';
        +import 'package:swift_control/widgets/accessibility_disclosure_dialog.dart';
         
         class AccessibilityRequirement extends PlatformRequirement {
           AccessibilityRequirement() : super('Allow Accessibility Service');
        @@ -17,6 +19,53 @@ class AccessibilityRequirement extends PlatformRequirement {
           Future getStatus() async {
             status = await accessibilityHandler.hasPermission();
           }
        +
        +  @override
        +  Widget? build(BuildContext context, VoidCallback onUpdate) {
        +    if (status) {
        +      return null; // Already granted, no need for disclosure
        +    }
        +
        +    return Container(
        +      padding: const EdgeInsets.all(16.0),
        +      child: Column(
        +        crossAxisAlignment: CrossAxisAlignment.start,
        +        children: [
        +          const Text(
        +            'SwiftControl needs accessibility permission to control your training apps.',
        +            style: TextStyle(fontSize: 16),
        +          ),
        +          const SizedBox(height: 16),
        +          ElevatedButton(
        +            onPressed: () => _showDisclosureDialog(context, onUpdate),
        +            child: const Text('Show Permission Details'),
        +          ),
        +        ],
        +      ),
        +    );
        +  }
        +
        +  Future _showDisclosureDialog(BuildContext context, VoidCallback onUpdate) async {
        +    return showDialog(
        +      context: context,
        +      barrierDismissible: false, // Prevent dismissing by tapping outside
        +      builder: (BuildContext context) {
        +        return AccessibilityDisclosureDialog(
        +          onAccept: () {
        +            Navigator.of(context).pop();
        +            // Open accessibility settings after user consents
        +            accessibilityHandler.openPermissions().then((_) {
        +              onUpdate();
        +            });
        +          },
        +          onDeny: () {
        +            Navigator.of(context).pop();
        +            // User denied, no action taken
        +          },
        +        );
        +      },
        +    );
        +  }
         }
         
         class BluetoothScanRequirement extends PlatformRequirement {
        diff --git a/lib/widgets/accessibility_disclosure_dialog.dart b/lib/widgets/accessibility_disclosure_dialog.dart
        new file mode 100644
        index 000000000..6d373250a
        --- /dev/null
        +++ b/lib/widgets/accessibility_disclosure_dialog.dart
        @@ -0,0 +1,62 @@
        +import 'package:flutter/material.dart';
        +import 'package:swift_control/main.dart';
        +
        +class AccessibilityDisclosureDialog extends StatelessWidget {
        +  final VoidCallback onAccept;
        +  final VoidCallback onDeny;
        +
        +  const AccessibilityDisclosureDialog({
        +    super.key,
        +    required this.onAccept,
        +    required this.onDeny,
        +  });
        +
        +  @override
        +  Widget build(BuildContext context) {
        +    return AlertDialog(
        +      title: const Text('Accessibility Service Permission Required'),
        +      content: const SingleChildScrollView(
        +        child: Column(
        +          mainAxisSize: MainAxisSize.min,
        +          crossAxisAlignment: CrossAxisAlignment.start,
        +          children: [
        +            Text(
        +              'SwiftControl needs to use Android\'s AccessibilityService API to function properly.',
        +              style: TextStyle(fontWeight: FontWeight.bold),
        +            ),
        +            SizedBox(height: 16),
        +            Text('Why is this permission needed?'),
        +            SizedBox(height: 8),
        +            Text('• To simulate touch gestures on your screen for controlling trainer apps'),
        +            Text('• To detect which training app window is currently active'),
        +            Text('• To enable you to control apps like MyWhoosh, IndieVelo, and others using your Zwift devices'),
        +            SizedBox(height: 16),
        +            Text(
        +              'How does SwiftControl use this permission?',
        +              style: TextStyle(fontWeight: FontWeight.w600),
        +            ),
        +            SizedBox(height: 8),
        +            Text('• When you press buttons on your Zwift Click, Zwift Ride, or Zwift Play devices, SwiftControl simulates touch gestures at specific screen locations'),
        +            Text('• The app monitors which training app window is active to ensure gestures are sent to the correct app'),
        +            Text('• No personal data is accessed or collected through this service'),
        +            SizedBox(height: 16),
        +            Text(
        +              'SwiftControl will only access your screen to perform the gestures you configure. No other accessibility features or personal information will be accessed.',
        +              style: TextStyle(fontStyle: FontStyle.italic),
        +            ),
        +          ],
        +        ),
        +      ),
        +      actions: [
        +        TextButton(
        +          onPressed: onDeny,
        +          child: const Text('Deny'),
        +        ),
        +        ElevatedButton(
        +          onPressed: onAccept,
        +          child: const Text('Allow'),
        +        ),
        +      ],
        +    );
        +  }
        +}
        \ No newline at end of file
        diff --git a/test/accessibility_disclosure_test.dart b/test/accessibility_disclosure_test.dart
        new file mode 100644
        index 000000000..fd055635f
        --- /dev/null
        +++ b/test/accessibility_disclosure_test.dart
        @@ -0,0 +1,65 @@
        +import 'package:flutter/material.dart';
        +import 'package:flutter_test/flutter_test.dart';
        +import 'package:swift_control/widgets/accessibility_disclosure_dialog.dart';
        +
        +void main() {
        +  group('AccessibilityDisclosureDialog', () {
        +    testWidgets('shows proper consent options with two buttons', (WidgetTester tester) async {
        +      bool acceptCalled = false;
        +      bool denyCalled = false;
        +
        +      await tester.pumpWidget(
        +        MaterialApp(
        +          home: Scaffold(
        +            body: AccessibilityDisclosureDialog(
        +              onAccept: () => acceptCalled = true,
        +              onDeny: () => denyCalled = true,
        +            ),
        +          ),
        +        ),
        +      );
        +
        +      // Verify dialog shows proper title
        +      expect(find.text('Accessibility Service Permission Required'), findsOneWidget);
        +      
        +      // Verify both consent options are present
        +      expect(find.text('Allow'), findsOneWidget);
        +      expect(find.text('Deny'), findsOneWidget);
        +
        +      // Verify explanation text is present
        +      expect(find.textContaining('AccessibilityService API'), findsOneWidget);
        +      expect(find.textContaining('simulate touch gestures'), findsOneWidget);
        +      expect(find.textContaining('No personal data'), findsOneWidget);
        +
        +      // Test deny button
        +      await tester.tap(find.text('Deny'));
        +      await tester.pump();
        +      expect(denyCalled, isTrue);
        +
        +      // Reset and test accept button
        +      denyCalled = false;
        +      await tester.tap(find.text('Allow'));
        +      await tester.pump();
        +      expect(acceptCalled, isTrue);
        +    });
        +
        +    testWidgets('includes required disclosure information', (WidgetTester tester) async {
        +      await tester.pumpWidget(
        +        MaterialApp(
        +          home: Scaffold(
        +            body: AccessibilityDisclosureDialog(
        +              onAccept: () {},
        +              onDeny: () {},
        +            ),
        +          ),
        +        ),
        +      );
        +
        +      // Check for key disclosure elements required by Play Store
        +      expect(find.textContaining('Why is this permission needed?'), findsOneWidget);
        +      expect(find.textContaining('How does SwiftControl use this permission?'), findsOneWidget);
        +      expect(find.textContaining('Zwift Click, Zwift Ride, or Zwift Play'), findsOneWidget);
        +      expect(find.textContaining('training app window is active'), findsOneWidget);
        +    });
        +  });
        +}
        \ No newline at end of file
        
        From 6fe841af581c1a0a1cd43a370964afc80ccf26a8 Mon Sep 17 00:00:00 2001
        From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
        Date: Wed, 24 Sep 2025 06:28:31 +0000
        Subject: [PATCH 172/636] Enhance disclosure dialog with navigation prevention
         and Play Store description
        
        Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com>
        ---
         PLAY_STORE_DESCRIPTION.md                     | 67 +++++++++++++
         .../accessibility_disclosure_dialog.dart      | 97 +++++++++++--------
         test/accessibility_disclosure_test.dart       | 21 ++++
         3 files changed, 144 insertions(+), 41 deletions(-)
         create mode 100644 PLAY_STORE_DESCRIPTION.md
        
        diff --git a/PLAY_STORE_DESCRIPTION.md b/PLAY_STORE_DESCRIPTION.md
        new file mode 100644
        index 000000000..1eb358288
        --- /dev/null
        +++ b/PLAY_STORE_DESCRIPTION.md
        @@ -0,0 +1,67 @@
        +# SwiftControl - Play Store Description
        +
        +## Short Description
        +Control your favorite trainer app using Zwift Click, Zwift Ride or Zwift Play devices.
        +
        +## Full Description
        +
        +With SwiftControl you can control your favorite trainer app using your Zwift Click, Zwift Ride or Zwift Play devices. Here's what you can do with it, depending on your configuration:
        +
        +- Virtual Gear shifting
        +- Steering / turning
        +- Adjust workout intensity
        +- Control music on your device
        +- More? If you can do it via keyboard, mouse or touch, you can do it with SwiftControl
        +
        +## AccessibilityService API Usage
        +
        +**Important Notice**: This app uses Android's AccessibilityService API to enable control of training applications through your Zwift devices.
        +
        +**Why AccessibilityService is Required:**
        +- To simulate touch gestures on your screen that control trainer apps
        +- To detect which training app window is currently active
        +- To enable seamless control of apps like MyWhoosh, IndieVelo, Biketerra.com, and others
        +
        +**How We Use AccessibilityService:**
        +- When you press buttons on your Zwift Click, Zwift Ride, or Zwift Play devices, SwiftControl translates these into touch gestures at specific screen locations
        +- The service monitors which training app window is active to ensure gestures are sent to the correct application
        +- NO personal data is accessed, collected, or transmitted through this service
        +- The service only performs the specific touch actions you configure within the app
        +
        +**Privacy and Security:**
        +- SwiftControl only accesses your screen to perform the gestures you configure
        +- No other accessibility features or personal information is accessed
        +- All gesture configurations remain on your device
        +- The app does not connect to external services for accessibility functions
        +
        +## How does it work?
        +The app connects to your Zwift device automatically via Bluetooth. It does not connect to your trainer itself.
        +
        +- **Android**: Uses AccessibilityService API to simulate touch gestures on specific parts of your screen to trigger actions in training apps
        +- **Desktop**: Uses keyboard shortcuts and mouse clicks to control applications
        +
        +## Supported Apps
        +- MyWhoosh
        +- IndieVelo / Training Peaks Virtual
        +- Biketerra.com
        +- Any other app: You can customize touch points (Android) or keyboard shortcuts (Desktop)
        +
        +## Supported Devices
        +- Zwift Click
        +- Zwift Click v2
        +- Zwift Ride
        +- Zwift Play
        +
        +## Supported Platforms
        +- Android (with AccessibilityService for gesture simulation)
        +- macOS
        +- Windows
        +- Web (limited functionality)
        +
        +This app is not affiliated with or endorsed by Zwift, Inc.
        +
        +## Permissions Required
        +- **Bluetooth**: To connect to your Zwift devices
        +- **AccessibilityService (Android only)**: To simulate touch gestures for controlling trainer apps
        +- **Notifications**: To keep the app running in the background
        +- **Location (Android 11 and below)**: Required for Bluetooth scanning on older Android versions
        \ No newline at end of file
        diff --git a/lib/widgets/accessibility_disclosure_dialog.dart b/lib/widgets/accessibility_disclosure_dialog.dart
        index 6d373250a..e28567a82 100644
        --- a/lib/widgets/accessibility_disclosure_dialog.dart
        +++ b/lib/widgets/accessibility_disclosure_dialog.dart
        @@ -13,50 +13,65 @@ class AccessibilityDisclosureDialog extends StatelessWidget {
         
           @override
           Widget build(BuildContext context) {
        -    return AlertDialog(
        -      title: const Text('Accessibility Service Permission Required'),
        -      content: const SingleChildScrollView(
        -        child: Column(
        -          mainAxisSize: MainAxisSize.min,
        -          crossAxisAlignment: CrossAxisAlignment.start,
        -          children: [
        -            Text(
        -              'SwiftControl needs to use Android\'s AccessibilityService API to function properly.',
        -              style: TextStyle(fontWeight: FontWeight.bold),
        -            ),
        -            SizedBox(height: 16),
        -            Text('Why is this permission needed?'),
        -            SizedBox(height: 8),
        -            Text('• To simulate touch gestures on your screen for controlling trainer apps'),
        -            Text('• To detect which training app window is currently active'),
        -            Text('• To enable you to control apps like MyWhoosh, IndieVelo, and others using your Zwift devices'),
        -            SizedBox(height: 16),
        -            Text(
        -              'How does SwiftControl use this permission?',
        -              style: TextStyle(fontWeight: FontWeight.w600),
        +    return PopScope(
        +      canPop: false, // Prevent back navigation from dismissing dialog
        +      child: AlertDialog(
        +        title: const Text('Accessibility Service Permission Required'),
        +        content: const SingleChildScrollView(
        +          child: Column(
        +            mainAxisSize: MainAxisSize.min,
        +            crossAxisAlignment: CrossAxisAlignment.start,
        +            children: [
        +              Text(
        +                'SwiftControl needs to use Android\'s AccessibilityService API to function properly.',
        +                style: TextStyle(fontWeight: FontWeight.bold),
        +              ),
        +              SizedBox(height: 16),
        +              Text('Why is this permission needed?'),
        +              SizedBox(height: 8),
        +              Text('• To simulate touch gestures on your screen for controlling trainer apps'),
        +              Text('• To detect which training app window is currently active'),
        +              Text('• To enable you to control apps like MyWhoosh, IndieVelo, and others using your Zwift devices'),
        +              SizedBox(height: 16),
        +              Text(
        +                'How does SwiftControl use this permission?',
        +                style: TextStyle(fontWeight: FontWeight.w600),
        +              ),
        +              SizedBox(height: 8),
        +              Text('• When you press buttons on your Zwift Click, Zwift Ride, or Zwift Play devices, SwiftControl simulates touch gestures at specific screen locations'),
        +              Text('• The app monitors which training app window is active to ensure gestures are sent to the correct app'),
        +              Text('• No personal data is accessed or collected through this service'),
        +              SizedBox(height: 16),
        +              Text(
        +                'SwiftControl will only access your screen to perform the gestures you configure. No other accessibility features or personal information will be accessed.',
        +                style: TextStyle(fontStyle: FontStyle.italic),
        +              ),
        +              SizedBox(height: 16),
        +              Text(
        +                'You must choose to either Allow or Deny this permission to continue.',
        +                style: TextStyle(fontWeight: FontWeight.w600, color: Colors.deepOrange),
        +              ),
        +            ],
        +          ),
        +        ),
        +        actions: [
        +          TextButton(
        +            onPressed: onDeny,
        +            style: TextButton.styleFrom(
        +              foregroundColor: Colors.red,
                     ),
        -            SizedBox(height: 8),
        -            Text('• When you press buttons on your Zwift Click, Zwift Ride, or Zwift Play devices, SwiftControl simulates touch gestures at specific screen locations'),
        -            Text('• The app monitors which training app window is active to ensure gestures are sent to the correct app'),
        -            Text('• No personal data is accessed or collected through this service'),
        -            SizedBox(height: 16),
        -            Text(
        -              'SwiftControl will only access your screen to perform the gestures you configure. No other accessibility features or personal information will be accessed.',
        -              style: TextStyle(fontStyle: FontStyle.italic),
        +            child: const Text('Deny'),
        +          ),
        +          ElevatedButton(
        +            onPressed: onAccept,
        +            style: ElevatedButton.styleFrom(
        +              backgroundColor: Colors.green,
        +              foregroundColor: Colors.white,
                     ),
        -          ],
        -        ),
        +            child: const Text('Allow'),
        +          ),
        +        ],
               ),
        -      actions: [
        -        TextButton(
        -          onPressed: onDeny,
        -          child: const Text('Deny'),
        -        ),
        -        ElevatedButton(
        -          onPressed: onAccept,
        -          child: const Text('Allow'),
        -        ),
        -      ],
             );
           }
         }
        \ No newline at end of file
        diff --git a/test/accessibility_disclosure_test.dart b/test/accessibility_disclosure_test.dart
        index fd055635f..98083091a 100644
        --- a/test/accessibility_disclosure_test.dart
        +++ b/test/accessibility_disclosure_test.dart
        @@ -60,6 +60,27 @@ void main() {
               expect(find.textContaining('How does SwiftControl use this permission?'), findsOneWidget);
               expect(find.textContaining('Zwift Click, Zwift Ride, or Zwift Play'), findsOneWidget);
               expect(find.textContaining('training app window is active'), findsOneWidget);
        +      expect(find.textContaining('You must choose to either Allow or Deny'), findsOneWidget);
        +    });
        +
        +    testWidgets('prevents dismissal via back navigation', (WidgetTester tester) async {
        +      await tester.pumpWidget(
        +        MaterialApp(
        +          home: Scaffold(
        +            body: AccessibilityDisclosureDialog(
        +              onAccept: () {},
        +              onDeny: () {},
        +            ),
        +          ),
        +        ),
        +      );
        +
        +      // Verify PopScope is present to prevent back navigation
        +      expect(find.byType(PopScope), findsOneWidget);
        +      
        +      // Get the PopScope widget and verify canPop is false
        +      final popScope = tester.widget(find.byType(PopScope));
        +      expect(popScope.canPop, isFalse);
             });
           });
         }
        \ No newline at end of file
        
        From c73adb7c0d66d759de056e0f7b7ebcd3336f5966 Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 24 Sep 2025 08:47:44 +0200
        Subject: [PATCH 173/636] version++
        
        ---
         .github/workflows/build.yml |  2 +-
         PLAY_STORE_DESCRIPTION.md   | 67 -------------------------------------
         pubspec.yaml                |  2 +-
         3 files changed, 2 insertions(+), 69 deletions(-)
         delete mode 100644 PLAY_STORE_DESCRIPTION.md
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index 69d5a3450..5d3089632 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -156,7 +156,7 @@ jobs:
                   serviceAccountJsonPlainText: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }}
                   packageName: de.jonasbark.swift_play
                   releaseFiles: build/app/outputs/bundle/release/app-release.aab
        -          track: production
        +          track: alpha
         
           windows:
             needs: build
        diff --git a/PLAY_STORE_DESCRIPTION.md b/PLAY_STORE_DESCRIPTION.md
        deleted file mode 100644
        index 1eb358288..000000000
        --- a/PLAY_STORE_DESCRIPTION.md
        +++ /dev/null
        @@ -1,67 +0,0 @@
        -# SwiftControl - Play Store Description
        -
        -## Short Description
        -Control your favorite trainer app using Zwift Click, Zwift Ride or Zwift Play devices.
        -
        -## Full Description
        -
        -With SwiftControl you can control your favorite trainer app using your Zwift Click, Zwift Ride or Zwift Play devices. Here's what you can do with it, depending on your configuration:
        -
        -- Virtual Gear shifting
        -- Steering / turning
        -- Adjust workout intensity
        -- Control music on your device
        -- More? If you can do it via keyboard, mouse or touch, you can do it with SwiftControl
        -
        -## AccessibilityService API Usage
        -
        -**Important Notice**: This app uses Android's AccessibilityService API to enable control of training applications through your Zwift devices.
        -
        -**Why AccessibilityService is Required:**
        -- To simulate touch gestures on your screen that control trainer apps
        -- To detect which training app window is currently active
        -- To enable seamless control of apps like MyWhoosh, IndieVelo, Biketerra.com, and others
        -
        -**How We Use AccessibilityService:**
        -- When you press buttons on your Zwift Click, Zwift Ride, or Zwift Play devices, SwiftControl translates these into touch gestures at specific screen locations
        -- The service monitors which training app window is active to ensure gestures are sent to the correct application
        -- NO personal data is accessed, collected, or transmitted through this service
        -- The service only performs the specific touch actions you configure within the app
        -
        -**Privacy and Security:**
        -- SwiftControl only accesses your screen to perform the gestures you configure
        -- No other accessibility features or personal information is accessed
        -- All gesture configurations remain on your device
        -- The app does not connect to external services for accessibility functions
        -
        -## How does it work?
        -The app connects to your Zwift device automatically via Bluetooth. It does not connect to your trainer itself.
        -
        -- **Android**: Uses AccessibilityService API to simulate touch gestures on specific parts of your screen to trigger actions in training apps
        -- **Desktop**: Uses keyboard shortcuts and mouse clicks to control applications
        -
        -## Supported Apps
        -- MyWhoosh
        -- IndieVelo / Training Peaks Virtual
        -- Biketerra.com
        -- Any other app: You can customize touch points (Android) or keyboard shortcuts (Desktop)
        -
        -## Supported Devices
        -- Zwift Click
        -- Zwift Click v2
        -- Zwift Ride
        -- Zwift Play
        -
        -## Supported Platforms
        -- Android (with AccessibilityService for gesture simulation)
        -- macOS
        -- Windows
        -- Web (limited functionality)
        -
        -This app is not affiliated with or endorsed by Zwift, Inc.
        -
        -## Permissions Required
        -- **Bluetooth**: To connect to your Zwift devices
        -- **AccessibilityService (Android only)**: To simulate touch gestures for controlling trainer apps
        -- **Notifications**: To keep the app running in the background
        -- **Location (Android 11 and below)**: Required for Bluetooth scanning on older Android versions
        \ No newline at end of file
        diff --git a/pubspec.yaml b/pubspec.yaml
        index 4010a298f..cbcfbeaf0 100644
        --- a/pubspec.yaml
        +++ b/pubspec.yaml
        @@ -1,7 +1,7 @@
         name: swift_control
         description: "SwiftControl - Control your virtual riding"
         publish_to: 'none' # Remove this line if you wish to publish to pub.dev
        -version: 2.4.0+2
        +version: 2.4.0+3
         
         environment:
           sdk: ^3.7.0
        
        From 5e9352316c77444876cc4f9343a35ab048154b1c Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 24 Sep 2025 08:51:19 +0200
        Subject: [PATCH 174/636] offer to get app from Play Store
        
        ---
         lib/widgets/menu.dart  | 8 ++++++++
         lib/widgets/title.dart | 2 ++
         2 files changed, 10 insertions(+)
        
        diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart
        index c73bd45c9..a295b6020 100644
        --- a/lib/widgets/menu.dart
        +++ b/lib/widgets/menu.dart
        @@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
         import 'package:intl/intl.dart';
         import 'package:swift_control/main.dart';
         import 'package:swift_control/utils/keymap/buttons.dart';
        +import 'package:swift_control/widgets/title.dart';
         import 'package:url_launcher/url_launcher_string.dart';
         
         import '../pages/device.dart';
        @@ -25,6 +26,13 @@ List buildMenuButtons() {
                       launchUrlString(link);
                     },
                   ),
        +          if (!kIsWeb && Platform.isAndroid && !isFromPlayStore && false)
        +            PopupMenuItem(
        +              child: Text('by buying the app from Play Store'),
        +              onTap: () {
        +                launchUrlString('https://play.google.com/store/apps/details?id=de.jonasbark.swift_play');
        +              },
        +            ),
                   PopupMenuItem(
                     child: Text('via PayPal'),
                     onTap: () {
        diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart
        index edf2780d0..dc5052118 100644
        --- a/lib/widgets/title.dart
        +++ b/lib/widgets/title.dart
        @@ -12,6 +12,7 @@ import 'package:url_launcher/url_launcher_string.dart';
         
         String? _latestVersionUrlValue;
         PackageInfo? _packageInfoValue;
        +bool isFromPlayStore = true;
         
         class AppTitle extends StatefulWidget {
           const AppTitle({super.key});
        @@ -84,6 +85,7 @@ class _AppTitleState extends State {
                 }
                 return null;
               } on Exception catch (e) {
        +        isFromPlayStore = false;
                 print('Failed to check for update: $e');
               }
             }
        
        From e2ac975c75bda47721899eb00496f0ed62e8950d Mon Sep 17 00:00:00 2001
        From: Jonas Bark 
        Date: Wed, 24 Sep 2025 09:12:21 +0200
        Subject: [PATCH 175/636] rename Android package name, revert Zwift Click V2
         encryption support, add play store assets
        
        ---
         .github/workflows/build.yml                    |   2 +-
         android/app/build.gradle.kts                   |   4 ++--
         .../MainActivity.kt                            |   2 +-
         lib/bluetooth/devices/zwift_clickv2.dart       |   2 +-
         lib/widgets/menu.dart                          |   2 +-
         playstoreassets/appicon.png                    | Bin 0 -> 529840 bytes
         playstoreassets/logo.jpg                       | Bin 0 -> 95866 bytes
         playstoreassets/mob1.jpg                       | Bin 0 -> 159738 bytes
         playstoreassets/mob2.jpg                       | Bin 0 -> 186766 bytes
         playstoreassets/tab1.jpg                       | Bin 0 -> 217796 bytes
         playstoreassets/tab2.jpg                       | Bin 0 -> 338604 bytes
         11 files changed, 6 insertions(+), 6 deletions(-)
         rename android/app/src/main/kotlin/de/jonasbark/{swift_play => swiftcontrol}/MainActivity.kt (73%)
         create mode 100644 playstoreassets/appicon.png
         create mode 100644 playstoreassets/logo.jpg
         create mode 100644 playstoreassets/mob1.jpg
         create mode 100644 playstoreassets/mob2.jpg
         create mode 100644 playstoreassets/tab1.jpg
         create mode 100644 playstoreassets/tab2.jpg
        
        diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
        index 5d3089632..e03be4fbd 100644
        --- a/.github/workflows/build.yml
        +++ b/.github/workflows/build.yml
        @@ -154,7 +154,7 @@ jobs:
                 uses: r0adkll/upload-google-play@v1
                 with:
                   serviceAccountJsonPlainText: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }}
        -          packageName: de.jonasbark.swift_play
        +          packageName: de.jonasbark.swiftcontrol
                   releaseFiles: build/app/outputs/bundle/release/app-release.aab
                   track: alpha
         
        diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
        index 6f36747b8..af5c72f1b 100644
        --- a/android/app/build.gradle.kts
        +++ b/android/app/build.gradle.kts
        @@ -14,7 +14,7 @@ val keystoreProperties = Properties()
         keystoreProperties.load(FileInputStream(keystorePropertiesFile))
         
         android {
        -    namespace = "de.jonasbark.swift_play"
        +    namespace = "de.jonasbark.swiftcontrol"
             compileSdk = flutter.compileSdkVersion
             ndkVersion = "27.0.12077973"
         
        @@ -32,7 +32,7 @@ android {
         
             defaultConfig {
                 // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        -        applicationId = "de.jonasbark.swift_play"
        +        applicationId = "de.jonasbark.swiftcontrol"
                 // You can update the following values to match your application needs.
                 // For more information, see: https://flutter.dev/to/review-gradle-config.
                 minSdk = 24
        diff --git a/android/app/src/main/kotlin/de/jonasbark/swift_play/MainActivity.kt b/android/app/src/main/kotlin/de/jonasbark/swiftcontrol/MainActivity.kt
        similarity index 73%
        rename from android/app/src/main/kotlin/de/jonasbark/swift_play/MainActivity.kt
        rename to android/app/src/main/kotlin/de/jonasbark/swiftcontrol/MainActivity.kt
        index b89d3d8f4..b18ba94af 100644
        --- a/android/app/src/main/kotlin/de/jonasbark/swift_play/MainActivity.kt
        +++ b/android/app/src/main/kotlin/de/jonasbark/swiftcontrol/MainActivity.kt
        @@ -1,4 +1,4 @@
        -package de.jonasbark.swift_play
        +package de.jonasbark.swiftcontrol
         
         import io.flutter.embedding.android.FlutterActivity
         
        diff --git a/lib/bluetooth/devices/zwift_clickv2.dart b/lib/bluetooth/devices/zwift_clickv2.dart
        index 7c010a8f3..3e30426c6 100644
        --- a/lib/bluetooth/devices/zwift_clickv2.dart
        +++ b/lib/bluetooth/devices/zwift_clickv2.dart
        @@ -4,5 +4,5 @@ class ZwiftClickV2 extends ZwiftRide {
           ZwiftClickV2(super.scanResult);
         
           @override
        -  bool get supportsEncryption => true;
        +  bool get supportsEncryption => false;
         }
        diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart
        index a295b6020..375eef6f5 100644
        --- a/lib/widgets/menu.dart
        +++ b/lib/widgets/menu.dart
        @@ -30,7 +30,7 @@ List buildMenuButtons() {
                     PopupMenuItem(
                       child: Text('by buying the app from Play Store'),
                       onTap: () {
        -                launchUrlString('https://play.google.com/store/apps/details?id=de.jonasbark.swift_play');
        +                launchUrlString('https://play.google.com/store/apps/details?id=de.jonasbark.swiftcontrol');
                       },
                     ),
                   PopupMenuItem(
        diff --git a/playstoreassets/appicon.png b/playstoreassets/appicon.png
        new file mode 100644
        index 0000000000000000000000000000000000000000..81ebd04ab595e99d6bb12083f8f796f611e1deca
        GIT binary patch
        literal 529840
        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%0AttI1|mX$YugM}g3h zKaM|Pi4KhuItNkCaWRDci~%X-$YEX*#i~aH>an|}{VLgVJ9-;ngsaSs*Htae2sxDo zs5~qetp3O9FamO9Y@}#sY$}%}czPr(8AXh&+BpHvJuoY)Yd{*bKlWok-YoG>|JS_g zHSP9uFJ^&l$PHmD&4$_e0rx%Go^V$tIxObt!7;ABu!`U%7-;>cA}X?CXmU6@*$x4T z-~8l*xLce@s;IISF9dH;Y7xhyHRVbx?UgxyAy#b4c;cpNx^{JyE_-R2A0V1(Cway3 zVDPjA_MiQepN^OR@c(>Acg52$ZLhle%5=l4+y|ttv{_@H>*k!`QR+oXdx5~gb99yh z4_;?1l@B%}J(_;0(grE!NaCU^97>G744SKtVxn=d5g21ieHV!yc$pMpIT!Q zaQzSd$PI5k@9f=gc;9{R>sF3Tu|mYFo_T2V(DCC#ZqaP`Nnx~g-RQBvvRP$c*}hiU zS8BiZ9=QJQH*kY3_-z^{OmpkM5zP{Q;tcCSV6>6c9YX3vm}v2jwaO?lTCUaZ zyxq@g*S2io8DeJPob4kVVM1tmU$WV0mSaH_I=i+cN`n>@Rw7h4LaN``u|ZnQd4#h7qh#L8rMCks?F$Sx;rwOp zrJ}qnHX$}@j(hM0hv^V8iKiOil{q6-GzXXclKlbMNUa>^gL_uzzj9I@LRS&(Nv-F< zw@GI8%H_>?5Le)A7^F~XFHOso;0JHA3@-I%1;3CB1|v*3I(93n+2?1~NO;2ZsuE z4&#Lc9Lm5>>}4#ep-PYHUPcH=GBZFTWia>e&yYi=5~xCW6ckXg(6~B~NMfGzO?Rpf zBPg`;4zmu%$2e1a&9+Fe_p{)VHZ36_06!fO8`wJxwD@7s3-LY0Je<%0x{HmI{X z7TfErcN0@H?J76R-E`BRHgEf_-{~H?`_A_8sRa=XCU&0JO-)SkHUZuWz^Nt=(YBMg zh65(j!*-st?o62KGG8X5Tx00GOcz-3E`l<4rEf5nNYg1=;DO)zQkyD5RAE6KCw$2V zKgx2!rAzd?{5Bl-QCX%JzK399f*X_hIpUUg1aQ-D^T@t0%hLSCE${En-MM>k#g$hK zSNP#JCtkc=Fm-t)xt`6Da)Amk^_%yB#G%NL)>d<#<&7)bBG+eQM!1djG3|?0fXl z>vnFQ|1`gUJ>(aD@+)(BBnr10F+kaC(w=o9-05u0VJ)ie&Pbc?h9cgUk^S_Q)gLgd zKJ{8R@x=ECM~-8Iq$u+7cn%#A=~mL8DHJOG%I3txR00ZI{EGl;tyCq+r6}i&zC$PF z5=m#jB<3_W^-=7J9>48jf|9fR-+%mQ_l5gD-@N^<4>j+8^p5t@3$AHSZaceK;L8!P4EIZr=XFAM5_>=e~#^zTkxy07xrCW?)pz zaH2LuyHodQL^Xfq8uq9LJUG05ihY8Gi) zKG0_a(Bzy*prAm3&2~-;G^$9HTZy)NfxFcg1|UtXPA}|biW1$fl9*K#>Z{U)1_<=G z8HpaVE&V~^E;}9aQQ;ZLfR`ugwCIn&;g2J<203;tqCldO;p;I6p{9^h_yQ3UXc>hW z$aP_VM_idC7)NRh;n{EOM6zAnV-c&}K`60A4ms}16w~8; zd{8b%e0oBJ$M^7*U3?o#;;gw^=WvQ|Rp0xY1AU(k6zSYERF@4XC(_A$Q%q6%0t8yY z7eXm>LZosVg=r{MTLD$UV6Zem=dc4gsod+gMc-EFtu*?ju;+uP$u5A)Q{TDP|9y8#HxDzDn+ z&hdi>4)JR4&F$QdEnTo`vH?T=gPXZOB*{$^2fDTO6<0TSd-zl{$?~?p(02Uj zvF^zy9%;V!hhNs*_=`W+Uck+QyU#kC7bEea0i(r6CgA>xs%@WCNC+zVsG!kuMx;t` zCY}j|J-Mr$3IQZv2{8yX7O9oQ_$1jwBAM9asmH2ADVw>H+=j^{DCLL@2s6MWRA%}M zMy23|UGG3A0JGT!Z4=`FIN*gVT?m+qFr)~M(;?JWnP8}WDx@JThGWCojWg|$!$;fO z?)cpGKlJ_I`>7A|ra-U%^Lqg;KOQvP$;*QH-GCwQ%29kXdN05$Uh#^7Z*cV9fRb;m z1_eePe4WpDX!AdR zmgWB4SFT@p&L!xr`xzv`+-KUZNYI-1l@l)B+u)oIyEAX^WQoM0G@AHTfHpq7hcd7y&}V!OOH9R| z40Qg+pa_XGu|P858Ih1-taXZ38s9{f0u8X!mcwdMNRL=PeYp@}f*6_AsL_z5G}ugr zFbToQHDto2R&t76)1>Yaqb#!y{1o|8v4c64zB*Wh9P$ioL<2_!-c~|>=x26)SX>jO)mMqU^cK0r24zB^KE8DXmPAb@jioSAgPH&- zZ&@xKuFOeK*n3`jPRCd5QkvY(w8<*{|BVP;(Mk<3b;-T?;ujxiZ~f#a+Jlcg?98HDSz2ix*#A&_>iEgQ#MZNhb2D>3j>qI;u9=;i zhGNZ$K)cMNeU8{^79|u^G!V~SlPI{y%q?&0D`?Fo%HpDAoINNfl2=Gn)n*%k9E#|xP*KMKx>xllg^-NC&AOu@GWH$KEC#R?XyXBQdvXv9PNyant zEgh_`E3c7#)yQxd-b&mEw{+%;p7j&QvzyU`pm>}y5izs?)0aK(yGX(%bLh79x*kf0 zPbzpCWF#X%AtXpgsaYrf~bQm;gZVX(Dd{>-hQZ<`lmK zcK>7hn_EABXZxDZ{yQtWD=vCgdzc^LImrut#(1YbHv@u;TQq78ssKcQi+{-+GR{}_ zGGDPXMUzht*dD}O0L(HWYK*7^2}?HHO^CH7=8bhzV7Aq3i&A{G_>wtJCo|+f>yFLJ z!g6|W4%qRm% zLTn$Y)6u0RD6j)@R-q%2fTTX)09HSLC=j-Nt(mC6!VIzX5&}O@qSP9Id=?_lDnvL< zar}&xFeFUHE@go0p}45Vs7MeNn;ry>YH&PBqqW%4>+Ty&+86Mm9VG}3b3O&3dNkC~ zt*so!*BR=9N!~JwAsz80%S=l{4Mv?|U5qnPof;@iMS5NdnK%jpyr%B z$EUhEGX{rOh2=vO$kcn_Ha=tmH+}IsfK_JjoaqlHy{g*|rucbn1LG2`-vJqeOmgj5UT_uhEqz z7#<*0Lw+R8OmAnV=hipyZu_~JvF`5A+}?fXcYk;L*0;Q+x#XffgY(Wiw_D^_NcC{; zsbQ$?y;YX$d8bSG%TXAbs5ONWRl%Ty8jnE`*V<9|C&uie`gy&oPiBHu4yzEU%c|jBac0Q_wHS{@b(qP6JOU#l*bq_ z=tud7+sskCX1Pf~5uW0s_gJW`H*VA$E=cV!5*zpEvpE-pwNHwHzt}}QaCEso!;xHw zO$Q$C+)2!2AX#7#Vc?_$J<0KkDW5_!(1NO1bD(y_idyQ#SV-xeOew~AipM7=o8t?o zn!otMr<(s^@B4@MJbr(B#l?TGIkjnPbATTUnP2ypxWJn3EPZ6sj#WR!Cx82MU(>ca z(ZKM4Sw9ne%5j~fH1#0#J^(O_68lJgXTO3S%rL)p`OY^ZTLm9Z0%U$}+wdP=`mAQt{Lc1SmtNj(X6m}ao6ZcBYZ5uvF*yFi4qqDV z9UXcBl;C3ri{qUpRYD+09ytUgzOl!Xrw^1 z7LR1QRmwG8H=)*M&7rc@VNBVv*1<*rC5}3CBR8N3R}KvkR)B{-{h4@iuf-503-~tE zh*xqXqpJ+E^AB>-rsGqmvMF}v>zRqeM1 zMbRKSdP4o%+Z`Lks|s<%Dv!wzS@Tt5;L8}Ie9=IqXH={_R5~fvmc&nUzj8~F#V~{p zU)epth5!m-NQ)B%!pawX>dzo49GHV)P(tDCSKau7E4*2y@=l%1jflJP6(Jwo=|>Of zpd9*OcSX?CRG$n;JHb`cQ~V<51ouXZlMntkr%s=09yxfZJ#y$Uw+Ssbi`-lA?{B%K z{nBSYCrx+%0}nP2KlWrhyJ0r{2Kz7k;x9L^ ze${`K%L2pUDwjF<*)c9#@XiFX&{-V1ydv(5Th(fyvjB?lEKyGCL=`0VCh=jF@R@eu zpla?!gehsah~r5_;>`LlF$XTHk{pQ&CQ2SBd!k{yOt-j#a+V{~{>@|SSu>;ncTyL0 z;v+)3MBjqi)&!n%wPfz=VX&vQ2+8@59k4&%#ILD!6EoA}>#VZgdh6a7?s|ONM-T5f zJlh;OvUcR$bJt&f{q?JR_wH?*y?dLRxi^fr1r419c!QuT0;9_S+8$VaI7i2pef5^4 z`s%{J%`xW0`N{wgvCHzr*uD4OyXm}hFZd5LGZR;E6G^;}a>C(CkNpqc(SdQN4c}P0 zrpX(E4X9nAX3?o0y82KHpL{XX^RLn(o*YxbXn_v;u9X*0)0?oNezTF zLL*seQ}i&%PW;rOwrGbckTsOLBn1tNT`xDFl-kMhao)kd-aLHlNcWd}KivN0UGMH@ zwqMd*boPbqLs&4$GoOUtWHvFJG+{;Br#O*SjUWmD1waoSp#19n~kqOifCFHQm zQfLKmbzFK?x~uHliR)Uby;+{u)W<2+siG_sN2;9u<;!&lePfLDm(Jl2kOoShQKBB> zrw^$%hak{rG<(+SC`Aq>U{MmBN>PFvg(R0FxuQ9wqUOY1p+*s4QX_jx5R?ou0uliha>K2@&Lb6Z zO7X?Tx))@`64XJ!VZrTvg+mZeZTuo8y~+pj)0yixG+Lxa#3%~tbb~pPiE50eFai{s zpoQ63u*vS8BuNa6r8%1$3|}!o82R~oI zA}(~sBw>!Q5V9C$w%8Yu1M#Mvy?QBy7_mB;G(}8eimz#dS+$N|B$FmnQg+IX^5{Kp z5o1!$Sv3*j#X-D@hb07P2h$T%Ex#j+4vnRVz57`uIJEyjeEq;f4|nf<@1GA=7Z#hx zj~^X=;8+UGFO45vN-m;0S8^gvY5V%1Pw8Laxy^!@r<(0qN8zgew{pUS~69*sTkdCwajd-BPDxq0Kp zH}LE_^IyPag5-#YNBTtoeO>YF9iJE>PWO)L;8jD84FQ{Dy1v%i7NyXL=z!qCA&d=U z-lON7%ZBcdNC%F?$p&~Tzi?QjE6eb581*DT+A&hi71N89EG*?`RI86fkx7uWcG8-+ zew|!6-QDuV&$NH>g^vt>|DjI}u6z0my8}EJ)l^a)p_8eTW4?MjeENNK*fLC!v!ajsNGNfy2k@ zJA{$4LV^6Cf=a~<2-pV=LS@l&!bo>4I5$2mP3Um~9fdbQCE#`%RH3;JO@2yrRd|q1 zCuoj4tU<$`qBs%{esNeDO^ijPa_SI(U{fe(Odue>f`q%Asv5~uPqkK(vG8Cc@ zQP##nC@fd6XV|WH!sUD`s3<|Rxk73F^a%xcoMX6TC3C3r1W6`pq(CwxP{e(=js%%%$km@L+^I6LUH zDYfcTZ+VTO+zfz?{sEctnqa}>KJ7FZUFAk2O@K?7<|k?FE4CeR$jQOjM4E-y)2Deg zuY9sE@TlJ1ci-KtEw8l4PCnVa^PM*hmrgx7IP}=#?VVq^e|?-s_-M#pCKxU(E;b8G z3u!oMaq#;}V6f>9?`jV;ZNvM4V*)(INAv}Toe;~V(pbn{KF5HjW=989PBw~ z=kPPPemw4c%Ugf7`N#kHD;owg=vL@YT+72n@XF^IHYo6qNuw4$njZnfS4{jsMW2JS z^(~u-O)IBZ@!^Qgo(6fINSd8gCZo-4xG=?7YFJW%?$d~v7p85M*_I%%iODQRc#&!d zrQ*<*6A)DmM@bAA@ymid(;&R6G+sc8HfH03af(XWI4eIh)3bvw-S-791zi45-}~uL z&u&>-8hiB7N7uM7pu6zG3*l|nIH^{4bIUEa4BvIryUYjlM3KdUG>}^2{@2_h;A__W z?Fyq95iB;fzU}YD1p9rw{fNmSvqMi7JzLWodO`s^&di?Z7}fFy#bBbhEf8nYWHoo zz~uKHO+{R{V)8_WV?Yo-I1Fqzo-Ks>>8fOd3_P`oX z)1x8LI$iKnF(f!4akA0sd99$grc%I(t7Pui93stwf-`{ScY1E;f&7@2*yw)A^z%qY zz7r>_fF%)r2p?w;gv#R7Q78eYQnYLnWQ0TP04xD8*fV&ac*~_Yb4kBiLjHKxB`~qY z@s*I;4sLYmapfY#aB4o;MV;ww1^@ZeTfDM~u{Ei!uX0Y4N|>rwMF7SE8F5h;`{EH{ znR4-C^)InA7*u5Ph{C<#g4cqe(n}Exe7jPhNn@?Uf%^0UAZ9t@55m=0rrj z@p%BSOL0gA>aJ{h#)(|zR-|fcA3%4Y%1NS#%Qr?G0-!}oT7YF#GmTN3gcc;8;>N(f zA4duuTyzv<-zad6k&_Y7BP_lF-p+P?GOylZ%R;Y9PvJ3dYCG~J!zshusGHv3k( z=Jdis%auOv<|kHKNr1S=jk9uakbBx{Ml-m(AMyH4$C%sX3);;p+M4$+#aYy|;$Sme zgn#$;ZG$b-lih8%exmtrUiIqc)vtMNbIH^8G#fW=;1vVQ-e;uwYS*~zU^EV?Of-P4 z3m4W`i`E}H4_ZnJ0ccPNFx^zU$N&U#NI4y@Ypg3y+l0-$Fh`hTiAQo!3q3-F0XO%e zHu9B34AKEB#t7P$WpOn_J*pB9iz3j*JjG$6{<4xo8B6ehOCxI=Hf$X8G0IQfe*5>l z;CsI3BRAiC^Ol8$g(ZG5aP6Ff2Pa4?^HahY z9Au)?f~OvTLtg|m63)_pZxh$7PMz9C>b%WcBymVaFtRxTt_a8#9{>+$WssrcWf%82 z@dA8#)=x-{U(XZw5e^;6zmb_|$Z@*4o3oGf>?+EvLP3TyGNV6=thTTMV@kymQ~_cpRtQJU&VJaJaC# zJRCmx^XxMo^@$AF+1O#x9hBS=hR#*RIaZSUS3_~=4GT~ zl_MY1fsU7f@}`AcLh&u1Aog{ZMkq~VX}i{SjuLU^%)&ndBhG1 z9#3R4_5_tP5-rf(j-zTxt3Z?%sngwL0+iG%1d)izw1-+YJ0-CuMlm+kI>`U%R+^i1 zK@^eYnKFzTNQGF0#z^8EmuM{WP_LdL0AN6$zv~BceJ;7o2C7`E37S==E3gMr?9L#? z0Y=T#T)*70P$7LmN+CveoKhr?Ozah(j>$mfc*>w6DMe*}m@*e}VX#2Rr^VVGX6wy~ zl%pLd7kI5^a&A6yc2hUGWyFY~N)V6f2A8e^mwOt;VE`&rYm(ZOry9MItaCX)@U? zG#ud4zA>EQ#^J+9pXm1SfXa9M{TrIM|Lfmv-}%70fxQ3#KmbWZK~#YcH*b5>FLp2a zffqG9ckJ+|%ISjmQ4?g!tu$8``zWQ!t>@GqHxLjTqj51?D?qpfCnsbel_H3OS}#`~ z7)mP8LJlx^Ga)9d6__~RiC@**$txS)Xre0smukcXks@s@Mk(ImGv$Pcs`!R4-+cG%&Ny&o~Qz zz;6dM{${}0^Jlj^KD5J^1#v~-o|f@fmnkok0QdEUp0Vty`wIGoZVE@BHzkbU_{?Xn z|KaJ=zrn2Z_1ulhsWnN0g<#iRqy_spA#*$&r)PkP>yqF;e`8-QksjwB*JPG%O;YGi z_fcs>azCA(-_}us>-j>mpL!fedsc1srUG`hK52|B!m4v9>5|5kMvCA|X(Ko2s>tbp zsyL=`a`XP=+KJOA2k-gZ#|A(CNnX~_uC-S`sLmI`rz{#Cn!e)5@LrzFlrs~{4&xJ1qwZGuGn%&iC{3jDv$jpB6i4J zL&HIMwjvC;icevY5CL8z$7u|u9I$Vy#FZrvWtzjMCb&Y*We#B3<=cZ*6RiZIhh{^7 zv=DKjg?d@#;v;>b5o8aY)ao3>>QMf>NK|&(^qIW`VMM6XR87iK5sqphkmAMI9bXog z3ZS-JIXb~UBxb}EV;G$J4qN=x=dSeNGf%|L`7t8yPY|dg#zvFzD+VdmRGZ&8(V|$5 zscyOieOOS2>Sd&vqR56m!-GyTLKY*ukC&Pe0g(a_8xsn!QVFiaZq`0dt26;Fq#2E=vmkWWgYRwCXE29h|q zRu5e9;8sJb{M~_OI59E73y1OuVsrG^@xlIw_qF#w_+az?_r0$XvI5;w9oR^iaehNdD1Qe2S6lAb|I*+J$XrgLh6Cyy<6 z?Nxiu9e(ciPnd_z&;8;rHUH$Nf3n-QeJAfjU?pH}l^MMq1J$GaQ45aIKZyoG(>eHV zpav%Pe~+;dcK1{jv)znWz?{pL3Qr{-H_1e6F1m!h-bI1q@_xq zL1rG<0x1h^nu*SmNpI>%9a^ol;%)1-pOu7KWGK@dQioe=tQ>X7inEzVKnN6UI@Eb( z`c3=uVrDiPVhLRG_sZ0v6UUnOe*E7JU$^(&&4vrF8l1E9{O(Ij%k4&=5yx>_IW|Z?$ZW@G47;6I22fw?vP1~ zI`v1ny2lhBR3Bds6|uMzF`JAHBlj~4{%r3YiC# zLGD>KkVmeRLuG`Xk)AJ24ro3j-!gVI%vvS(C9x9IH4hg01_Pk)|8LgbJKnRpzVkol zd;8orbEkro83q`JB111m1=mC|8i{d@CYD%Mjj*<8u*PiMHI}HWQCG3I zpiu-B5EV!e1*8mRn8Gmi-nspI_W68$&PD%Pla1$o@ArGo=ku$FWodgdboN4 zI?MQn6k66wpKVZ-m=Y@NtALL}Bc5VR$}vr`l4DMiK+KG52?*PGRD>LMq^q~Y7>TxPg-IaO))4jffiPG z7{tA*yqD84j&0t)>vIL>W@deUNVS6Z5v*KsYPI>q&CN-hPwYJKz_#l6V>i|h?%dvd z_A^&B8%{Wp$CCF{BO^o2ekKBovkUAddx0C42?XO_o&%sC#Ru)uXAxi#XX_Guu{Q;= z)JKQc)$;zTd)Iy2s`V#qsn$)5Hh=q9f7#6KKUhEe1<$Wf#wK1j+~op6t_`3^^^^qc z?(EPLv4V=&KxvXjT+4o<{j{j58f0RN9aCZ|s0Kzu%OW9b7RCHRL9?~txB0JZR>PNI zCs?qcl{$N1Bg3(}ItHfRImrk#(K&hja=b7OC@)46fmJJHFOE>7?K4>|VCK zGsA^;Ole7d5*f=ll%9J(RfZ7NXs?|gN=*`*uzAGd{E{lnO=ieTS6%UdO)svfM!CR{ z_y5+5oY&j7@1g2hoD5twaYXgBEl;S9S+$P$cOO=bfvalfm=wT_oP7AQL*X0$xr5h^ zI=Yv@!cwh(0tWm8N&LVX{P3|&q6?rF@&yLaOH(Wrm-wU8`jY)JXemaq2`Fo;jIE_M zN15Y_ZxY_~vMqkXz19ABjvPBa89~B0e#YdRFvG)|QJEvY$kY zPpHB~ZK60rh=KX11cU1uHElq2sjYxRNa6(q#cWt&wQMLbhsa=j(|m1M~@F%8g`8n;Ji-4Hw?pvj76b4jP@qYLY! z0`3&V0APXH6HnGj7rWU)y#n}n1T)7vaGr|L5kh+*^}rC~=-}`b48R{FBBeN?QoRck z-?pIiqeOE_PLVCL92vCP@XTH{WK~PFE(*ooBLhB2jKlI=E6~e}$DpgX`B0*Vc6iZX zHMwtJ^MMb3q&jZ%38cQ405{cs?%(HPMEv#&6713GG<^)gXkga?(obcvQ^k-|NCFFb zX&+j{75`k=$cuyO1H4xBtmBUCUiZE4)Q2CrvHqLC{;TRKPyVfD#qzPv`9UlQR04-B?9do2)*oR9^B7C9&Opylj7lS@ zbiTDkAH9AB-WFEmh86HJ4OND1iG_@V&{kD=+0YbKz{Cp9;71O6*w4bvv~%fHz#@+f z?(nog;mG2Iz=sBvB;<*jOBKJy-@XkSHq30>x$TX80|Q%lPqe+Vz}Z0*msMt825dRx zqSJzHBNQvQfIY1iAOupV1DT++<#$^}Zh>~PBydJnf=Zt1seDFR^@XwUV+nH+>#PA%x+KdrE$(Re

        $*qq{BRC(;MhWSXnqDk-NqTc2^)2M6_;(iCVAXSDJBXc z1UR1L6kZBgw|^?ba{v`evz=;K46j{#xXfP{C*ASL02J3$5F$p8sATCs~@Fi}PP^nnHJU|=x!V;RI5ekazoA{NZFsB!nC1yD=6+F#-q0@3d z>VpL7t@3P=BBh2xFGSLOxm*kdua-n%tW$^Kw^os*3y(<#F7_}al(1=sQZm_yuzW?A z8fK@b$p~xCBN4 z$Rga1XXrBHATLGYSEfVpM(tsSp1>;JlG4iBs>GXO-7#4#7C)uRi~>Fq*e)I1+=H|G z&fRO&X;w5zQW^!S418F$HEu+*;`o;%2SBVvxV@rI1c2nKT4N0IV@(X@i*#{19)lBL zx`$*rQUWuv!V+Q-2b}bSJI26SaXmo2Fg4FD`~B4sM<3A~dGwLhQAZqAPafP~uRZ+m z>i+xgu0Hya&n_IZX?+jZ2zXm!b7;oP`Ait)>J(OzS$e0%dZ(_^ZY0t}sYP6ev(@pf zfr7VUu(!VMr+0O>oOOP4^AE3Up8E&CU;mH4endtT|CPKeU?tZB@J^|2k8fb)feK4+3|!>YdtMy$_{TrKVz7@HC`g1< zgt1*F0A45H!-JOW)Ykv_q9Ua9Z++;Y8VV<48s42*o>4vUOHCZxvQt0}AtzVY2HrAUradP%knoEAtSBnmf0 zG{KLQ*0@3q)TBWcc{x8!RVEz_#GEIqKKqmJ*Dw6eKQz_&+Uhv2tbdTJSsU){@ALVN z$RgPsv)o}wPr||U?2aK4=?E;n7E*PjSmMqr9lSmRMbpf&HrCIT{d7Bv2lmr2b~I0# zubZ`N*EcUc?Md~D)rVJykBrBqc`o=PJG>AX0XCO%VVpQ7XK~DOUD9n5EP$k2P@fo- z%7PR`1sGG`PA-#w_c?{kbX60jA{kPCC`%~q`r^KmA#+gep;bjXsDwa1oK6ZsqGYxHNQ&OdBN%OJ zl!z?xpqm1%_B%oggyJf%UqzFEmrFS;M~6o1GqUWKaH6!CLhl}{30tVNTrC)(#3Ttt z%I8}|EKg3rWqHxTnnDdXvtMmV=Vwk!+6*oBX`3w)Sy-q*MYPuFx1w}JP-Bgm0~ufPV#XuB z7!`}Pv(#aXHpm}~_zG@ll!W(=v7_KyhJ4S!@W^twtNP(R4>!AZZm&M@p^q$Xe{fs% z)hoZ#JF#MA)i=cT0f%OJzW*$o(%^{=Z|ty)DNJCjbJnfEParn6QDiMR><jLlrzIG= z5e)&^WXz*_DS}i&QBevF4}opoSw>DmVX&lCOfEok3c&_NtXS)Ik}DFD!y*8>5gz$w zXxIu2u#knUn{`SvkZA)ZARMH-V}&rXpr&5r>9LCgL&N>McI>|9anF45Q$PC7H`ROg z?5QR>0x&c=+U@DtiGXGG(xZbF=-$6_Swd?c@M~E>P~`d$Jo~n{ zzWFV~!z2HRD_3n*4r1nef>vp&%A~Ax8N~#X!a8V-F;dNp5+zHGHa?^~L$5F0@O7V`{?WIq z7k}e#>yaZ*sn@OB)a>R0mYO>NJaI;a&IF=j`3reeBweoj<8DQ ztPM#(h6|7r5{TtYY!BB>wZNLGJoPpu5Y9|yoBJZZNPZW4qw zCcwwG7OM&+Z5B$339$p^nqZY{khZhN!azyuoql3{tZj`>2@YwUIcmbN1&K};E&Q|| z#tpaPv|G?BKBSUoESDi4`86Ux#bJC&tW*>t6CRSHmLG{rj#w-R#YSY?RYYFsrIQZ^ zn5hIPy~sL@W?F)6l`Fc>I|{s(h>N4WV|K2dz;m|8#2^i&CGJ8T5R+7S&ufQ+iJ6bs?_-#bCFH~A+cLZRs3_JM6R;8Gd(-Y z!-JO98`mG%eCcynG_$h{_35XdUXPElW5ejq3zCqq)PDwV0izD}MSAgG1d2+3imqgZ zII@W$7Rt+afHGLNM8%s7K@*u0ghhrBr3MiZ5{MCCg9@UmgQI0kAi^oy{yX`VMAZ>p z8Vwb0X;E4s^{xY@G4ZG|rvkVfVCCi`*WC5^3m^Z(-}}Aa8#xGG%Q}a+xW2>w=3KRH z+cwV{bcTnA8~^w2-RpV5JS0e!E=&gU@*u7kK(xnRe@zRA6dcVvFTC`HYgUd;T+Vav zS9ZCb#6gJ0kGBPtbT7`M4m)@!_yie+jq+r^A1 ziy~yu+LaA~mhj!0!>V#imgKvTNyU<`n%Kx4Qnj(AUunV-Q$$kFr|ht*P}9ZVhKI*# zfXcM0(6OTZT4rD@&X3L;k0`RFh+fhd{uJT3q7+G_V3V@A7~|swmG*U1WYGe-qD&4` zF~5{5gBsg zE=3VRO~O;CWHXErgf5+vC(49{CDk!oJ&6{D@kM$If2qPG(F*DzN=;;jO0iLbVMQ!N zlwrF*3&oP?aKgl5{wj@)U{%^PsxiH%;}J`bLRIX;%<^>5nR=Y(gB->i{mwb(oN67X z1qL{n`;D)CsUBakoVV1Ca%~ZNFdTwLLi{CM1uL!Fw$WILSQSTW3zlPpn5MO&f5yr4d#ASd9@=||I|GLn z$H&JzKlw?Q0luo{PT5vH|B26Ud~7gp3aou#khcgj_~-w^3ole}#}^6xS|$Jt{v96l z)4Ouz%GtNR>CJB+UN-zht~_Pt!mECJI4}51$w#FU< zY#SJ4DpQb5EqJim%Oql~ABo)3x48Z8`iTb*)h~JC3##Xw|J3^UHIJ&6_4ac_jHmkX zOaU)c@j`yjvL=@WK@0dtl%T56BTFevf;t2k0?Y_hQt)5C#J|nPCCh1NIW87t!b5yu z*1@Pr!w(+<*&jf%!?_kno<6+=Qo9Pax}GTsV)zR9YspJF~QPdIZ(Wd=~)4wve z)IF<(P=gdMPf98B7hd^rrx;HocA&8Xbog$~LneRv46)}MGt42+KQqV(7yqew&KC8LT&*^CV+x~2^Xm0SBu zk);lhDMf>lG{e0&g|X=*(HOyj5hkdrWbt1y{5t`cBDtWcY^7R=)9|RGAl(a|mJF1L zMFCDmO_ZSNrV?x-sf_jVTa@02>ZQAqiXs7G4GD$JQm?IxiK)>Noy!-dxE_3DiW7XX zuAi=jAX}8_5-KE9vbv>SDTy@@g=Xd*uM!36aWp(RM{*^t>rWzX^t0rgW z=z!8RwHC7z5B%`z27PHwN4#y$1)T;H+W>%pTmimrh|2@29eXD0&Bt%5zIo+Wn)|nH zt5>Z#jO!DQ@bVqnJgpMWB8PjKY{B@1C^I0+3}_s&u(Yp&NOHI6cOrqQ!7qpxp`;)T zd;)!oV`9)!I}8b&DJG~ah1OhqWQ>A?O&&({F-@TjbK)U;@Whbt#A2qyzD+YG-EIzzg z-FV}TzInFeDF7w_^}YAr+j!oeNr6WJstYc-z!M+;@#VuG{_p?~C+NKCRc~57zH0e@ z=kWNNIUZ+3VAHh{FR?0NFJqMbcc3>&>6!>3D@McJBaJf0?Vg++CMydMa%{WgdEg1i zY>TxKO-lha15H5873D=8ijbDv&~dvjmQs~SDmt>!oFS%kN=WB9IGi)?>CEsn!+*H? zOWjvq`vC_3i>ryzv3f7J*Vv7v!ykupfpka#APZki=2v_Z45jv+dvV4kypJMP$6 z%TGEE^RTG#VIw9Ce;VY}#ZO4($f-H&=;V<`B?`1u3duA&`sMfE%E*3XO$G?5;6M1J zUT1|_HrKptkKZT@Aew;=)lebqs8RyPuw`kMR3ktagGI#45Ur-Xb;!YN3ZvJ$;!cT4 zdre1SL5`^4eIb!W3!^*yF(wwcX__HCvRy4^0>sh)Z%xr%z=?Fqun9eB{iVqj1h7`% z;UWUX6j!x@R6r1@sl^-(=Csft^|MRG?VwGz2wLV*&* z0xq2^pVDk!d`@3CenkE|?_6R2oW z603Z1IXm^4ofm76W+_7!5j=_BVW(7~(-{ycNq8K5bZwbglKHN9u$*Uxic~ z#F;Iz5K{>r>COzfye+k2?Ft{j94l1OD_aG7;2`T2~eVd zoa7^7Swl3x%J+v7KVDt|ZQC{S%n-KZrp%TmrR1nJ{VB_+VDQXwWHB#ckAYQ-?A|>n z0ZY_SBzLe;rSnHlr2r)Yol>-IQAFbcM6k;rz4&hI;{-+6h!A6dgUSwz)Ty#(i;LKuYPyH?704F+N9@o6-3uEl##=_d-J(KIg{Al!v6iW` zU`b4(O9l)UIvKgpmjbjIK|M*NwU7ey(_Ez(^ynMK#jZp~M6@*VCZ>r*f-XO#K{!K^ zS>ntC3mMZSHkmxqgZ#i9Ymkl^78Mn(I9)si>GRpZ&KwFdM>5R z_!v7LQK*tA@=H8aN-dvwNbfFU`m1upSpXSf%^ZQi+r<`?)Ic@f1!n3H6Uj?B3qWXN z9P3FRz2sB!I$rCfxgTy@pX)-Dc9evXLzA#Gt8DsdLr#80Ma4?|}o=M?U(G^-urxrs_LaU)>y>S*-d8hih)%Vf(!^R`>RE zw19W1@Z>ckt)KE4&|p@kf?VZ`ETqSh$ZjFD|HT~nU`~Ui8Y{Bjf)UQ&d{#s#%rNH> zZdwvenw&*UDdtP;Xsd{0O%a%rKQtLn6*?3`1})*T-NIqq6~}7Q*e;$`#udzj6dpQ4 zznB1UEkv_;-3`~i;fWVK@m*j0+SgViYIbOHvg;cIs|Oy?4DSk9IR5zK8xQ~cYnev^ z{N;8*6l#R9{0A4kLPYP59Xpm!tXcDo{!YDRjuRGu&U}&J+gEXp$i?p7IdM=hDj76v zM%00m$z^M4lY`Pg3oxaD3AkC55JZq66P|!iirKycZzyd81eXawuWcrLOO4TSs22hv z(}k2)6*4N3V!N2=313sznqRUC|qRp-!I?Wtt+V!Gei0nJhp$i{@nqCUv?%1r}Lu*Ph1@@f|b)S_@(e zo(X)UWrBf&iDq8(Oh6=z5G~gX>NSPJ2y>kTw9iU#3wn;ng-v$(<2Jk?>~@5fO}?{j zjLtY8kgbZn4b5ts}{lEOoVKPcB1gKgUnLn0M>*_2RFk`G?GoeBaJl{#ch zrSkZ`b611lI;?7s$kOm#FWbUowXg?DeQ+d5zoNGS*7A#1EJIBx?mf-h{_L&wwbx(2`0&2ToJ{!MPDTx^$)n;h zYV|vDD%}R>_~D3y;6MbLj*kZJ;~fV>&4YK{hOGJSd*1v0>IKjHL*BE-V9SeClSOto z;)!iWh@6AZoM_dXgtn0E3P2j0%y6h8fNwl)r>jcQHqC338>5h#d4VxjxQ;18BGkC1 zl*rDOWwu3X`Eq`iM~Xn5b}5sF5-8iD6H^;uh9&cmRalsSQ!<+zR!zrdBuA`l?zxJ>9HXv!;8?Ew}V==zn490YTms z;FAKi)kXRLuEkzQ2J(W{rn9x$+P|URFtdBlp1)c?KK@3|{nJJqb$GU@ps>SQ(4p&O zjYMprH?gq8G*66{x*qDuG%Y0jsw1YQ5kM$f0a!M-LujOsfjN{Voe;^ool$xj8#8Q) z5ine6q$rx`r;qWZAm(Pk%m{@E)x z+Oq2_7GM+d40H*jMN4KSE7O6f*!NOn2>%0I;orM3-AwGbuRfFAt^e}0msO8BYEy9L zISQ3~{g}ZtBzcq0wge7@ktAX`XcJH0YT@P=bCixDtO8XOP@%;}#$1S!Y?&);!D=lvtnp`` z$4|!n!WRiDaG%k%(Wf9IwVo)U6&HNju-|YYspxB>SUPa0_lc(Lp{vF%E#Mn&iF8oZ zO*lK6hozT4q-7(9ODu^&~RzDfU;3;(XtatpcMe2g5`JKsw*nA zbqQ5s6^|iEfU`FRzHr)SLM#;KNt7wucYKgVNI}M8h=UQbX{W-v_zJZR zhf3JBPr>p8A;@5m8A}BfHro$dg@p0Rl^ob1J0N%1(h%8rbsD@*eJGaJK!`K!6dD?~ zF;`xf;=ht(Em_H$j{&6##EgOhlY)i$?(oPm)b-bU_wH#v&YK6nd-c_wn{T?gKC~cm z+$lA~S$!T|=446>ML>RCRj-*4KiK;-WjqRy77$Y~COSEW$^(mdaa6Tu+ty~D=NG*1 z10Uj<0ngzP$G!CeFA`#Jld;|7L5U4H1vWOBfNNJ600kN_O3v9=mXKf$2FYxymx+{? zVjsqmPv)&w+wEmf6_gZ62|rXt5d7AgB8-3}BP)DzpipwibU$Q3sx5vc%r@erm|-Ch z>BS<~=!up+wr@^c932_%9AY2)n(Kb}#;5((6aMCNS6;bhw9}d8X^%6L94(nSc(AkY z_S+ZEKmYtL7Xnr*R;(aCdmE1gEFA?9ULO!-O#WSqw-5O5a>1Wp(6go5QorUkuNhl5 zG<+GsIGUv3?T=~wt-H3WWT4*gaUV)-na!q6=|tbFedGj*DT5kzIQ%6#dL$ z*uqA!mK#e^q?IYxZhhlh!D6puO^m;2jYpWW1h~CSX!J&+5yM*dagGCR{EGl2`*WskZ1`KeBnSy zVqXYKp0G+V3}WJpoMI*}wX6yfAxMxfxqhiU>ulJCmogL435F~>RY*jEwe*hU0Lt`5 z83HFOGKC`aX+^>%32gqx1a+p&ZQ1RsieLC=i?bO-Y2i?3!71sL-~cyV*0-puDDA!s zpb?z1*i}rVDkjG5VnV)SR~nplqDn-x*ip??)IQ4mqp(EZ0;{D@1(ugIl3)7~rgd#b zp$Y96UF?>}aYt;BlM3j=$suja>BlixXgPGvWA|yWZ14h{-0G!R-uhGK6WT-@;Cd=0 zqJs9PA1EaK1b7K$*0OI2q@+e{(O3yJKfPNd1R2sk7AY!gW|-MY0sp0?dLNPT%RYrp z;}XbV5A_}&%w!F!dS-66o}Zs5+;MnyI_c`Wi>Fk`xY7>JL~2IMD)E^=YlWp=~A`>8p${42g}5Zt0py zu|!BA(MzG=Duf@R&v(gfVgoawZ`s13SY=aT7P_LMoUKFz9Cle)F~88vjgO7?ty!~b z-_XFomrvfbi3|Ov`z9y%R0ke-pczH%{QT<9zJ2%i@}2NQX z0kAz!TrW@?Bcs4?YS<)ItP_2H17DyLL?l9xsF9eqZMe-RDrgciqzqnTcVG*L!)gUOzHz;xxNrurg4jV%=edXhkjS zlBCbpbv;gZ+vmF>IbuJtYg@B%`#qi4|L!ZA=b!Z?Ug$IEg*2QF@#V3aim}Cf3}#Lp zaVWDPiG~28z{V*skdkB>GFVCWDWd%4pTPh?UuO`CMJM?kC?dXOycQ^zkFgpw7_<-?k7N@DA>VyRsVcH7t`)O#(H zM`a4jWyXl2B{4xUVsZ~h>^e2nE5Xx4H z(r7J=g)SPJ6?0OMV2v&dW0TRPL|#pUd1+0*`H%G}i}xx>N0Ia>O1)dAIKnnI7OUZo zHwZxn?y*UMh4La=(}Ib<=|5`de(=zMYC7Mo5Q(u}Ye0m`SgbRJfbA^0BBar2WyI-; zEdEH(8g<F+`@)`9hIt7uuxrCj)I@gUXMnyDgm7_b?T-<8v#`(RzH*Oud1{X(~P! zXkd<6F*J~ni=`j2@6DeUX)UyYB*thu7KKI6VxIJ&)+`UthJZLDOM1n~A)AY4E7cNM zTp@!^AWmnyVvbb({R4R4%d_rhxYcg4UYNJfqz!>te_wyyKQP$1S6jMfb{2TU-y+vg z)$|IsL9Q%9xZrwaE4!G&fJHuX1QfEfjx;TB|EgHgdIFPn$F@W$wkGMaW?JY$j)hW^ z6iUJr%#5Iopm?j85)Wf`h`W_gTCZEPwm$Ft^Xt3rx|`<-?5}q0e6SfF9q;Kb@T>rA zh6!q-2D6T2Q-Oj>p`)a>v*DJyj8(Aobi?9&w;G?AsOM(qnlJOLfMYjp?(qHqjn1CA z?wK*gcKMP_83?SAFk^+Pkqc6&QwyYgWy_HRn4#9EaIu!=fn19*3?pGM5+!xi%#!S| z`?QiGOUr&u*-)Tm|FHr&v=rlsEv15#NN^CwSyy);c)tU;NX&Cr1`pZm@SL3$ zoEX0OH=l69tuJ}W^GA3X&@2PKZwc%U49q$3`{uxgM+a8}Q&U}z1awav9HcPa4) zaP-de#^B(dpNCjIcISR!2uKsN0SeJZjBUskAm#`YrxJ(aL9Q7RUPdvawRKQ9g~hKJ&l3W9J4ZdT>)z_|%f_o$T=3lLF-LCXq8m(G zoC7l+B7^`Q01-K8P@lb?zOasPvO~QEA~V)aeC02D;iWr=17WGmmry_<_6p-;h_H&4 zU}ctb0T72bx;e(sI>hs>oWz?{*QFq&8q*=E z1T%u<7SPQ9tg=luKF=aLidg`viSSVfB{E&HlEtiG8x_I@Eyt&`iLnW9LDFfbEilK? zppTj8H@-{EigP0&q7Niz@z7R~Fjl@{17#%|xFYiAuO8;ml@Ve~KlpBk=U9nM1+%aj zh;cL_v|E#34!wpq;vz*BF*aqC2vrtVY}+1J7XfICc)m3s+j21-&(-IxZPm~3+}eHD zJ1_4!M0d%9UaMuJ%Xk^jand2@Hg*l>nO;@R}|`nq3s7y9TU0l+IJojh=Q zAkJrANrv(=VA~$r#gOcZ?K+R40*Xz7727b1m5{)q4{Wl+he)_-HX^6}5!mnx4Sk1% zxnipYMFTCie!^(c-|%i51*lL4l%i7m$S-?n zHu+TP~nm9)YR0X>NGgbU80i)XZ z$rt6ymm_{HB|YW{bU>xn2p~LzRJ6j$>0&%n5RvWr^jRi|bIX^n7~;_WdnYC)UU|(m z*R0^iyJ_$B_Z0IRW+&b~KbAgi&0k>yMy9~6ypL2qC0K-Ha|tk&IibN3HUeq!^&3!l-mZg{+!<8hq41``p?aA3;CC?16l z3>by2amVI>KTMtMgZOizlmUtoEQ!O$m9d1(;bYq}$3O&XM{>|$b!qbB1SOeHhvPJz zYi@d(j8q+-E>+L*f+0F7?dZBo%R2??k-kA#c;cWM#2WAz(g7g>L$y-S1)u94=u<0% zal<1;UL=gfVp>QT3T$&2saG0`2Sz1sdejJJOr{L$Fw4gZbbK%jB6}BM z@vZ`l!e)g)71IM5NJ3vgNcduCgh`an-Ht`cCGj9vBx>zo;ilMvD2#Lsu?=g4a}ZYD zI}?CXuV*n6Y+=*y(y_3~Iv;`xKP?`hAjNh`4T0any%7E4pKuUMRA7R3XTZSCD4eBD-6{3!O@>WY1oYQC1bCkdCsoky?|fWoIWN(=VU;xq6ikc(Ai zYnhlUivp~V91PTIgQ5F^72Xs-Vw4R=Apsb64KHk@3;j3XvBKU0=fBzS=V`gU)g5=; zS)Fvk2}OLYh!XiMTPkoX-8sX3boAqv(Rtw*R2Pa4RcphZ}*m4e_FluEpMrKl`R)iE2C4*a!pm{DDc?0 z4MW*YrrNerED=KpK*s~ynD|1ztMT$|NOh^(I;(gCZ{He zar&FYM-42c-JqrbO;QP;jT!*ZpJdM=zT#abx1yyxW&w n%IDvcnxPClkOBMN*2p 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%0Dp9y_jm_=qJ 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 z

        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

        K2CB=*#14$ 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%0D0UP|BVrw{;>P8p}!1=u|b;k&`~0Vi)r& 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

        |u&r(9;m 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

        oF&EOzmI!Lt3Eqcm= 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

        0PRB@(Jzk1OftT@`uEZf%H2=HxJB*f3FGk$_da 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 literal 0 HcmV?d00001 diff --git a/playstoreassets/mob2.jpg b/playstoreassets/mob2.jpg deleted file mode 100644 index ac10fce01c1b65395c4164648e40d78dcc3d5bd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186766 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 =O`0X4ihM(OZB)Ti- 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�Lpuqj{vI8K%#Bk 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 U&9toN4}gCXqOvbbgmr!X4^g2ZiU0rr literal 0 HcmV?d00001 diff --git a/playstoreassets/tab1.jpg b/playstoreassets/tab1.jpg deleted file mode 100644 index b0267f03f98af3001da1c06d5472b77f6cf5b769..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217796 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 ZxKRc-2!Dg%Mj6~7{Zj~Tl)+8=zX5hrM5_P* diff --git a/playstoreassets/tab1.png b/playstoreassets/tab1.png new file mode 100644 index 0000000000000000000000000000000000000000..a740231d45013ffc5a50f5cf553396d2c829a6e6 GIT binary patch literal 312618 zcmeFZbwE^I*FFp=f*>d;B8`MfONcOZcQbS-FmyZnMnVXk$G4yh!!%Zo?2E#!TE;gOGpZ)8#QJy z8d}vS7ulGSy1H(hfVP3V7f4BTx_IOk_QJ`~&>bj>Cz`<;jrtO&yFAvdfGN4^M;}Rn z42EFk52uB`T#fT$zpS`H%c^ehGnJ|p@%$|OltNRrro~?(W9P^ ztNx^O;9=?~9ABezz+}!RISjHgrFm*I zUOjhD_KYT>RIhfQF*l<%gB|U2)p_k@#2SK9EIhQ$AqkH5p#=kt;ev_S{*m7xAsSuU zEkup?J{pJ^jY43T%iyw(T=s1`I=V8N_geOvKgTc{;M(z`Y2j-GoP2n0joZ}j^XmZ*sbXN&62BXp9y+4^^-uhB4li6v z|BGL8Zs_RP1RtqGgYkce?h>%k-479U>*3BuW02a8*2pH?lG=aiWrBa<_aoi>%_~_f zkiUb-Mb=cl$vC$@8W zN-3h0vH0=riwBYv#-aA#?;9__osOsJe<@G4PH2kF8KV8os6tiCrkH*bmkg}Xxo*r< z@w$SzqJ4^C*OQze&yTZ%_owJ5Jw4V^azyyfcf6HcdpS3iX2u0_*5EQmYJuSKQm{=izJ3Zz#*)`BOQ-AnmY(PLpu^XZG#7t zE7ac=(n7=rvM6&5G89LjBytR-cIED6z8fwb&E0&_2$+XZO0i|%NmFGHg{gH$blmIU z>@4bJ3qB&j7K`}VC;j0Wry{2$2^IY+oi#lT{i$@d>?1j5**@tRX-V1V(zP;RX`eVF zSzg&rxxLu!I1ieLn8}#a=)ovKW^bT}Vj!#W%XTP36fet>^mFJ$%n4)wD!|A`-9-JG zZG#y`r^((vFtuwc)EpTA?CgwQ|*9;2X92{9m6L2CG4@-ZI5|_q$7IOAvQ* zbpkp?I_c@1>3wtba=3F|_uU6U9pW4k9Lf%xLqCV+$%19W`e=d8jB@WJPtq;hwlfnO zb<$^SYZPlpoMoIfPnb`hpV;G72G&ScO15-)D}=w2<1{#mTGwaMf@?8J7U}GOxr=Qw zDT=(MJOzYI$DLhR@JJO`%nT6<>=VtO(&#_IhD^p?5*(>VsFa zccFLc73ul<`Ds~J$!vA0`#hfzUz<@|_butI#cd0EoZqltu3x8c(6>=xpD2Uj$#mWC zqu(pO>%W|e@{8(<`g#K1d0d=^^A3ODF~xj(>r2P>h=@_Lr`!fp;?vJsx8z>{nBNxj z?yA*mx_O_Aez6i)=-{7C^^UrUF>YsA>6g@zgi0z(X-h&R2gG$Hk&&qp6<~(Qgs_^( zl2C7o4MI(_x)(?yUw$9nmv1vz2w*RuZeY2!F2^fwxZU6!e_VD-Tv~?`w~}BK|B&Ox zyIf%gGSx=aEheFF{#+5&$kA7$C8I@Si)Qytl6#-QS55J)M`kL`;7(Ar$qH+AZoa1X zQtW1CgB=>PCC;^8PHpzE#kMD;~{O00HL3#+b! zi#4lZt4D|3F1ov=H(d;g9POOgD}giDICeNr-vZ^7(~@L^iu<0(kMGq1*Eo@(rLvH| zm_8*SJCJt5Wy0oNq}Zj#A_eWR z%{PU*0F&cy=C!8IFL=&)?!F*HT3?Oj=9*5gFF&uRF9DsJZ1y$@0j{Se3deL1UFJ;u zn2I?m9tUbuN?CdHN@uAbQ!E6EJZf`OCJlzsovpXxk>Ojbu9&WPDUN)IS(}mh+p7Jc z?jfesvQ}!JjQXJASVWZ<`_A%@oNPHqSQeYosqMD67yV}6jbK{q_o98xGDF8kmz>4g zyJcti&W2t5B9CjVbJY>Fw*-v7;(t2ZRX2;J@PKbWeqpQ8%B9ZJd_Z}q{N&e~C;nOK zylacEmC0VuaQ@w9K*cco?Y+T(grJ9y4TWTVtB>8fc|4kzLN;R$^D32gd`GTxBJ6&& zz5V%?{g?H8Rd?)eFRU&1`qF|C$$Q~`QT@YdEc|Exg?8R_6We54yhp;Zg9Yo|`-(+N z1B+(BRnq|S-jT?WTA6zp?Cy;R?aBJNZdP3j?gFmTB7Li_4znBE$!!PLWYBG-KUE%# zL-3;z&};H~?xynwe(tb*SUHUOg_YU~Jp&h8Uw9Kkl=w-b-@i7U3%U50xzaKDV+Up# zqn(59E!mU#^)aH2XQHKlxh>n5zAXjkOJeY`eKiS{0`2}E+h}O7P=C?TFw!yps|C9!{oa3X z1Af05KObaSpul_W@}9ZUEG#4an&uwVRE#ts}rq zfaZ@Q0I2QX&1^K(e;nduB|xL4piC`h=K!MSW_`>0mPQbVnwpy5!Ne4xDlYk-r=#`+ zXw03QJ^|R+TwPsRT{&6p9L(6*d3kx+-g2;UaIm0`U~zP}b^7SWV(UozAD#SHKjI)q zV+V^*P8N2y)W7@vXk_Q?BtS#+d!YaR`j6{$vM~MsMzVGM&)Y)XAlvVE*w|U$vi*18 zs8jiWw*r(LEI_D{fA=rQ&i}`e|J3%M&SSZePt<%nsM_v?g5;pg4QC4xe7W@>Lbn8X;)dl!-}v8;iBhJd z^QU`42=GVCZTJ|DH}xRg6A84fw1z9##!R@>AQ#x17N)25OB!8n+K{>~`zd^`rao0M zN38;Y?)7A@5eBaNPlVCX|M3Nz2|aI&;qvY$0@>JbDH(J}?dPZaEw|R1d$s_fl+~yt z_Rq%)qxt_L48|#&{b~EJT?q^0zA!vbn?bw(Pb2*2fc~5Y)XU+-sCo5|!~e_G{KGDF zF(!7@!<}yUz)L?g3~cJZetAOOZuWn@|2sqdpJo2H+4Fyv`9I72pP%_3p8O9t`v2bp zi;MUP1MlOf@w^ODT!n{ZiiU)Q#&m^*#7x&$h)X{41QKb2CH{_!_TPR=Eu4GFJQNQB zr|>hRvFg#q!dM{^x^+7HO)>!wD!0FG$J=8+4=|nDo@4vR-T1D06}{QgcX9WQNOzQ6VIJU#OqJ$(v7ud~ zSX2AQ?J<$RHc`H(fBB=Rk?#a@wKlOs&sk#ZG|JdN8)K-P*&#F}Pj(p)k4TyKM#nG| z@Or&xR&HGvAWF|!oeb~1jk|ir5c)g&SXJyc7Y+>hC;&Y@lme@b8DiNWS=nz5yW)R+btsT9OoZKpmN3!e(u)+lo$7%S z?iy>idIxPHaMjwP_@uybL97j0qd(p>^&C?0$$w{`S(~tHjXt0qgesDdh_KrX3_!3J zZtRpD$AEtFHg&~wH;22cy&TTdmFY??JWO)OJDqH8aePt{afVJzu>q~{S zwkOZgIRF8{WlQn7h4Q2GS(3dH-dD0s$6O;Miu|(&KSZ_bJnOu;d|SP^>{>TiX~}vi z?3x+I)XT+9SGsb&GbTq!R1C;{WBG4K?$b7b@tA@?0U&4e4;^oZd66m=cb_6AS9ow`-;Mj3l>5F4`~oUAz3~K3w$Nf1Wh3 zPWiYqLU%|&vy_rc3pB{fIuH{}|8kO?i*Pe_a{lO#AX z5|U@xX_x^IY$?<=5*sZga&iuPu&5G0>m1i?ZU|od47&HA+s*K3%?vLJfvj)$)LKa6 z)703Xvmp7Kpj}jnI{ThUU$Wwb(}-x;C9y20k7~<_Md_ZpN&Pd2WjWt9u<*5*&qC^RY`q( zUlbtxYU9_(>1Nk7nHE&^3Ev%Q=hBEC98ypJ;`%(HOrx~gq@bWDF+&hxuwFhVDoz1O zW@KiFhM5gk>kZMauoCDS6mTfOhCG%&S3t$ul&1quDFiJ4wgKdR8vy^R$9gmiBqtLd zQF5$ij+(0B+Y@6B*Q90P^w5Wo#zViM{FwAAvz z@wHxG*E)pAxb+INR>wNMulo9dMG8A?Q;nTw7xZIvLMfk@jixK@(sp~{vDcY2Dn#Gu z*jY6a-^oJp2Sz2Zj3=C`_{b~Yz1MW1Sm;jBODYMO~tnBztwt6%ra=yd{@^ zeA$_kQ)%l8UM*x6?8e2V=VcdpP;1A=fJgSA#k8RD&gSY2ZVR#5miFFWUjI|);{@hL~E#$F?s~hgn$F$P8ZA=D{XMC znZ@FdyfhbB0>Eqei&y%3^VQ8`XgFVKz_Hos{z%qp*T;5@2Rq{(RmaXZYLxC;l1_V; z@h$Jnz?+EDfOTsTwnc}qIj7T42$pki!?al1G-fSx{vffwABJNjdA7xg{@lq+Sg{OV*i@knOcR)2iw0^6ZWtz%uF4St%#vcc?ibM_eQsk)~Do zv}|f3)(6(UlGzoHnrX17!OxdhIBPwr{kgoOb9{t74u1Zu$1qnR7SWnQWS;1`*f`&`77{5G-KKb@ zn%a2DcrpF!rzDi(>^}G3a7{l%scGVnqF6o2VBd|vG(z5+6 z5o^)Yuw?=F(roz1t(M>)6rg`IHGaRlT_-GU7By0hz^62dt3EK91ci0o?EpvCv}SVh z-1iG>ZS*DI060`-fxNFZljQChFadE_z^ZU$_e7%la~U5c^eflE#oeNbfsC zqd3&ny)w}a+G@Mmz@TPwbvp)vdkusH|DvFY^*qi$cyx_eWoZU;T=2 zw+8;n}mFv2D=gO)vwuz)kY%fA8AGH5?Ue8Nt#dS80n=Wo_~<+#zeT+BQMVVkOy z81%iga5tHwmz<76@wwa^;2xK(bQG?~85D(`KCzvgY)_~b_jPn!Vw2k|sggAwN3?P9 zFWOB#QAYt;j6+*7KG#Fa!cV^Dd5Ro272WdP5xytD1N_a4Mej42s#TLQ{-HrNO~bwE zceO$W<-+^kR}^FCV#J2bh{qI`q(_JYAV-g80*h}qqN5()sbOQU4u$tnM6WNctfdQE zXEcpyD3`MZ1xZw#a%m~NR;MYiHfgtJYZY?(DBK@(Z=&T&bw{X?KpPVTBVCAwYm_lJ zuicl$wOi+t52Sr_ebhw^Hk^^`?lOhP$|pi{V-J0{-B72Y=I{eNF7jheRyC4X{Inio zL;8Ml5a=)-hxL$%{AdaU>x*a)l!3=R8)G=}C>pR&24(q^6K?RjZ3cZ;`*sh8J|E4cPIoo>!GDgvJI z(9sQDSj#NedJ(7Zk*Q&O*Hj!xPQv%6p@DAm1o@M3E(RHo$pCA{HGNm$si#@Rh}D*G zXrpCgKjc<#Yg8~*0n5JM!;2 zD80vdf?Ug?gZNqS00pnjmuVtAW16Y>=Y_i$MIOnmxAa4Tw7z#2LlH~0s0$-K%k1{7 zu>@(~w!0sh%p9)e+NU&_ZD&RH7{d%KAA(1o(pqzGA!Bsn|n_j}_pOuha2 z+cAE9pV!K>wZ3g8R2*h3yqb{Fhi9g2RS&o%B*Z7DZQ9P-_23OujpsCQvmYG2#?+|t z1&{6RB7R9lo7;_9?Myj#VD@jQ>8oxfQIsC}Vde?Z(nPk%y|HnYtJ9D&d4XJ+cjH@e z(I54EO~ik-L0gp*jGN0`tp6n|E5(tfUQVCn`NTr;R(jW}9{jjinp3DP5OSJDm#65mO>Kph@mTYOf4Sd1j- z^3U$p>|j8WTo!aTfAGk( znwPijVOS^zg@*B!tos|slHSv>qUS4`C>kMFj0s4i9Nn>@(du+Z;$TwI(XD;PkKvt>uX71cw zRO;nnfKVK3t7X>Cw_cM3rV6aJI4RZl+1NoN9m)-${f&(J3^L$CTdH!mGs`8~x%z;5 znidt>u@@PFbf-eFmWq4ep_YE(6*%SG8u2 zo=w_qM&Vo$J-rL!U3OzsM69$uvyCK(E*(gcyK}KoF#hh+b%L}@*w*js=kWiZ|I&Yr z`{^+lyi(x46}8-+c$i`I?CqJq-tEkeLpvX`CzA2tLCGcN4-R2T&aK@SD98N@x#(KP z?0%~4etNl+ZI{HohBIhTrzk0S6W)9|@ZL!CJL_7_t<9{gmwdRzOiZy&ZflWRvFy6M zfd_#0E9+OzYRA_oLIr^jalpPLw1KL2-i|e875Dczt?;^uAPrLWYpp~+OuOuG3bsj| z$);UcmkBeq4DUMcFtr$zV|7U+2{m2T6E+D14%{ z4fop1vd`#*)#{VvMt{F-8Y_zTSU?gj0R~uR&+^rExE3*VPxq>JHy1L$f{JPG0g_@} z;et+6p232D;mS1pZ?GgZijbjgX>66&kRDbbUPksffGs}yhiEj#HeauRr-Wkaqjl`{ zFHzrAPUO?>)~!ZzAlEf##4OOSg_n;?F7Ia++7(>3#jt|L6ukXQ4bLJ-Xp7VtvWF&u zw%dfRsZq-uN_K9(;3Z=-rHn$?mTKIpmawB`LDTne%dky{bS_ttMu z1UTCs?TyPAp(M2Pyj==TjgrHLu27UnX|?$c2U$#<`|#uV!Qgn7-JVIsNy9`J3sS&n zfH5;o0+e)XeQG_STKSlQgT=l&{aepl6VhyB?A5gmUApFgaOS6dB<5+Uwh8vx-#jSc zbbk@+2IbLj1deta7^zKjr2W%`q2N6U$rRer8NGpT7|;~jN~fn$qo_EA5sVER7PHnMF*hfh5H32l%i2j z8>rKM&IAA1I%u5G@#miITf*yd@4OyELxKwtQ1}5cc^0tN_UXkC9}TDJ75AtJcbWph z#n~*Quq5V;8&>ybR^?f6v(V3R09JwD5*de+TudcGkQ8)b|3Gzp>PJywaFXNA;bh z)cbqu`{1xTd6o-?tSAuHy%^*Q)#v)nO~zijbL?^k#*!pv31A}uzU2SHaQ?$VAdYCS~$_;OzxtLb{>UG!Q}K$C%f?N+C6NHM!6+r#}2rW3^e%{X+j zJOt^F)Vv$glpF9dO!!mBQJQa0*h;r&c=F8k$9BnS=V86eF3(Yv`kENns$DfXerG@S zO6@Mj=SJRp{-FO&)|DEJ1%?s%xCy^}+P6Ph*6M>N1ibUef<;Z0*|pI=@-iq7svC}z zIl5Mk5^iy>F^>2L9cMMU$qhj{{E@t|bz~jdRV~jT8kK=7N>N`0WnJjIbcP&XH8~>x zjD&n6VN2(1ZO*G~h*Mu~Vn}&udb_OlrLkjh2N}9bQNXh$l@?O`-WN;%K!PW;^nN3^ z+~e(W1$FvFQyCeN0g&ni#=6}FJdNs1cPm(69pxgB`p=?N+5Zem$Tqz6#l9YJa4>S-LkuAICq7%HzoJ zbH;8S>anPo57yq~3DE*R$-qVmWfO8}F(+e0@VxK)yBW+TG|y|@7%$E9-|K5W!yFSb z&@xY$eDiYQFQ7m=W~iw=VfSf?54*KY1YKr^$2%EF&vP5POn148gYE{O7EzGY&)GC- zuhx^Mmh>{;8Tsf_8}V04nua)lK$<17YgV$u#}KDO0L!Tlj=cze5M| zUKf^(w0I<5{#@8fPGA671)Eu6GpE?uNl?DXb{3$q&|`R*-Ex8nSKNjUbHPsZV1P?(W!~sxjcg@LD|kc*EJMK z;Vc1ISMx*QP~0!pAvt?kr*O{LS4jqocKN9Qs{yk271ET0LLW(v$cITJS@+FYtExZ2 z3)17=lLq`*V0bU60k|P$+@cbG?zIeZFj5j#C$z5OnjL=E-YCTs`I}G3O$V{YM^M)> z`tri8k_Cv3wyE%y3zS`8xCqDuuV?iKPUqh9b|L5a0MJVl!_pt|!rfe=N7nkdg3pw{ zUg8R1OzUCQKIUjiuoC>!Md~MnZl;nE*Pli!F(&w&f?tdiH?CBNrgPET#v{RO+?&n! zlm^!xf*3bp;FW*nRJ2!nM=4VOcg~Ian!G_Hm%KpM0XM)cSnw zF8qYDP`$0=V;wm$mA=pY4fpw`ByduLC4{H1&m_>}%zDEO^Sj%=6)L>A?GLGtuuqzp z!Pi?n*H8-deu2%{Xm(g%zC&(}+~rBt+@Y`Uxk#aojuhKvXC(+)6XdL#Q{`1%1*onI z*Ps`+YSnxKF_^nLGU5G6BDlmPy#*&?Vy3VB3>pPZOctiS8_KN`0MWhn#IK0>vp}V; zozCo<_Du0sx(|$5YNWFEv_iNBH?BlWf6qz-^gSLs?^%hKA%vc%7JPr%ICCwPfOd5t z?M9xG2dOu*7H3PzFP+-7%i+GYT_kQ6l>sah?tyA;FI0Y&5QV)0q<@wkjfr8tV&sT| zSm9O6DAhh#bt~h|7sDEh!nf5f2Za@w#NhjF&Ff6~;|_P7?69S3t2ix5Shfe|(z2>d zThh>qa<}$6u@P-0BU+LO%F{VZ>vd3B0S@uIZ7~0jGruY(v z7BqnW!R^V3eB?sGfR(yH-LYiry{zM^$t!`R!Cyxs%@?U+A~tvB_F4VfcHnL6d9E4* zv#0{F8Obw6KbcF?eV#incsR^VD=h~UgYd&I_H@rZsV{nPsc5n8%%lG&CKFz&7Ow77 zdE&ec3R8*-9(M|%e5<}()}U=|0OTOQa_DHaUE4CAE<|8-Hl0qucbMP;%4}s}VWR1+ z5AzrMGiLY6c}L?cBo=#x%=(|C=&z%sct$T{Ky0^RYy2xz8bzVol-rgW<;U40E_U>$ z@*DCqpDhSw96v12Fpgtq$+zb9Zsoe;~-uVlwgu)*& zF*t_%=LBYOPe)&6P@dx5z3i$U{>$${hckO^QBydQQ;NE+qJqZ+Q-@0u#1EQlQCUtY zLEUT`Z-E)ZJO$3w3ZKC5)mfOBhh}BejNWso^stN`CXzP(2#84D_J9IgQsEDdVR^3= z2q~u4E!BVp%s2AgCw0&jhk*kxHZ`HMArwEl)OO?6ACxo8&-l}d!HJhoM(8ArqzvdJ zVqeEYne=PKGaF9{lP<;V+Z4Rheooctl27wxTQ5>F@cGDR7t7PAe^U_m2o$fi&N8r( zz)(*wx0|Q#T$JZbq4{_{FFC9@?XOp1H%kXjwzj7fGSZV1_rML=o&wV77C28(v0_;> za)OP|6i;U8!2zBVq?eCpQ!MvPLe$YkJtBHEY{Y3w43%J|2CVc)rWg9HOB2L%S9*vY z%3o8%YlY-|bw!?241>n*%gp=?wGaC8EE4T+^SLS1msBS>PU0wgj(Ci3rmLym`wjtp zOT(E&(tRFk`QDo-+rf2vXY6?fWda5Up_oqm`us&#QlVbsglKb4R4cB(pSZKiuGz|QC`jY!xvlMi|L3_t{x6uK-BVn-2z8R7T+0| zghfB;eOxkjMgQ<4a>PI%iyvogMPD)ER2P#WRIDV(A(f@-I;K{ zs;wjZMZxJ6e$0qJJH3z(6G*D~JMHB{-|}f(d9RrxwMH^Wu43z}eqWp3@>bXgE`({WXfd*cOjEe1?l&1$cc9aGLg|l_Dx$WPr zLJ|yhCr1)=Yz2^d@cK4?gAyGQ!~Uxo--14ui~zpR77HLKe&!NksV<*qU_-k3PuDR0XjTuytzz-_G;c`?JW}*|`VVLX^0O8?kFVSAn zKKX(1GDSqPX-EF$Z{2Dxx6;K8$~}7JMBTBN>uu5OBpFP}qD%UnX{2yHjWrLI7)Qis zZCqLc0(!_?=U!GcN`8n^fSrvPPPUx|@X~%2^g^YmMM`N#6;gD~2&bcBjd@K!b$`=l zXT}g}6Hwq~lHL{9#$KWR((RpHdz9~WD=stWaBoi4kD3v@4bp{m1P z%&!=T`ES49;p7y;V0geOLh?y~y0-eJf67+j&g zx$r!x)m__$-LiJNGEiac0_Cl^ce_7N9f*6f2bwFJxw07kb7GzVJxw zFg$Y1a*A0KE<+bsG~d30221uXt1ss9hT*iBhM=%5qe@Cs!NHie$+0uU>-`vqCd?z$ zdOo@;F$*>>h0jNhTP1?=nE=tz4I~X6T3#z6ft{acf*X?hJ1o!_9nTzb+i)AKrEFYg zh^^VZpQi()ga5RKY5a>HOGXArn-*IVf)mp-X1F->zBHNxNZC`B!l=e231N`s41|Lz zRMueY!N%QNhjN3Nv8t6u86AZVqTjhF{0Ju+f~M4I&?qiGYUU(|n#prh6qdESU&rG# z%D6<%PVlDCckZ_?1e0*-WnMj=$Po^=H%qI^Hb1=20O#9G-I!{f?xA^_ar;fLF8Ek} zC8sXJQ!uLN{X9!!P(zHLRgj8@Wp89@>49xn2qZq5SVlbw-|{Cm(XJX@4imB577oy7 zD=!z>-U`YRKifx=;#>;kx;L`FZ!4FNA>5IwfW}HFhFJJ)A3Zsacw1qBz4;dz9{V|Y7`G>Qrer9)*{%BcRw)(GjPoKv--kZ)&AEfhZ$%62nQhZT1a4aO``Oaly zkH}ZyxH?k`Wo=SVfEH&;rPVLvT&!xg6&`aUL{vC^uXIVKvzFJ&03ef|RVhlSr(`64 zftl|7P$kFE;88rcLQ-FLkPnM%B;^_}`FQQ^O~yTA15^f0COG2Z_KR14x}G5feFx`vB}1pO&+2YK6%`ByOGePUtach%MVTa88Me)st&@yprvU(H zo!HW|;8Pb7B_Sh?@v z7g{Yg4|1@Xo=dM>o_KGXssU+@0>huAOmtOEBg&pVJiL+~TFF!;l~G@z)P*rh=l%m3zYtvDaEDSl|Q2Rk1rq|u6K#S07 zty5ITC&-8~DuNxJY`^0`6_aSkrcnG6bmFC;So(CKeJ`9t8gFFO_` z+a1!oFjA*LM%yEv+wE(Dh`g? z`pZj!LgV*opjhh)d%}qtSR8B02CqJOgC~8V*b-96C@|Ry&@~YvZLvM$)W#<_Fm04M zPkD7LLtkY(&Mt~3*Lo!tm(_9}TtzL6u(_ug z)?6><KURps?J!5-98Nwj-Z_S@zPYOEz zITl~EG6kcRh!u2ljyT)A4WKvu#kQG(wj&!GD z9gMwjIGopHS(#bTWKt8P$Mt=?7uqB$kk^kk)XR0{l;^f#FnzOHL`Y^F3$-X@22#9h zYG;_flA|xx#p?CCo&+@FDC%nazeknIxK2=A!4QdsI6Se)Ryi8c`aXI0Gp(enq2T-{ zDI}kFpVVAb;Oy(!7lJbe={S{Vuv~>PO}8Gg&+AsdH6Y?C*2&vOBTt!@Z2QqNv07Ce znldOkPR}{!1_V+3`4bO?a^JL#20NB@5bFos^MgNPOFy19Dclg$x2@w8AIu@G@P=-P z7HThgn$mBD=UOdF;+PZiI4V~)-Fo{dm(+ce_lw-I9$qA_P%<5~1bVimMNDxg#0+Nz zBp)P}VTJ(jQB!U$4 zU7CzP<~H|++LDzq+n+7gKk8YYXkZM|P<>~^L*?3f#v1UFa~Q8eHLE&1+#-_qw+}@Z z1_}x(#;qM?dn2oI&YKcyNXd=oVjri4E)=N&Df6x6nvP^cg2SNg-Q=p4X9PUz(_aJl zS&{W(5H|-|FGQ_mxnfihdkN)3y6&sTZbz;CU(kfE796**p7Y%3a{uB#rTOc!8g-R) zYu{4P*PcmK2D;YV>TP&c2PxMIphr`KbSRvw)P3T@c4&q zw$S{7v9s<&SS5fZESa{Iwe|Zi3uS06F2k5i?uyd-7Q|e##$y^MbSz$n^@(Hkh`+a@ zA$fes$^c{{{vlIHH~cOu!3(8UH&{8z%Ed|^9IOo*i+;km-*bPXgZa6RFZ zc~h>|6~zPz(=%MA_hIpp;usKlht%U}NG=8mW3wWWI-=DF0y5Z*httvI6o8r=u~1$T zN>4lM3azhz>2_IJrvHpuP_5^d0}ttEd^VBIaUV0Un6})u&YNUmaF#7)EP0mjf-Rw~ zL4jtRkA(|U(s_&KDU>z#-fPAC&HlQ9j~>>ir4T*M&*7;J)qhs?mxX!$pPqhN-6iY> zGmqI!FB5j~1;~r9sE?7)k91#JfjnJxUACB6-%XO^!%xJytoAv1y0q1m_h28bhLw-u zRlF`Xk6(zd^42xhj_o(g8qIRUG70mdWpW!QPinyPKjXZE_Ed8j#X$Urjv z`efcU-OWrqL|TSOSCw{555?t|`-N;t$0+nY3Y=C*;cg~X@^CF@JRUhY7P)B}Z{HKW zMu!Se>7qY26@wPJ%Z?L~`jd%_F!wnF#vC{?8cC zK8hUakM;?>YHLu-%&nz(0jxb$OIO({!v$)43f+kg3#}?BW?-$=YrDuc84r_0Uk$RZ z&fZvJgEx;O$O|e7FU}M4*LEJ|jj0$hB&WVQ`}`*!{Ez#0W=gLtl1}g_SZ8L?5Mg=U z(P|SmgO@YPOfjU?D5OXSJ%@t*E-SFVWH-Y~3uWql2)k?8|d z;$4o{o{Pg#mc&D0>m+IM)q*8h8i(zsC$oOdI9Hp~35Pvn-lm|LjCfWWM{)kQ7u^fw z4Eg{iREW>EHUxJVctPmj^j0fl0;2Jr=3LnMzT{PEd4(wjCet?HP%T7SxlugJ3NUtx z3Ln%O`|u$WM~^~nr%AZGn#=vBi!5AKZdwW)Jjgs&X>S|?R!?))slioWR5GnGB*pz} z-;qJD%yqJo&N>Ah7DkDM%(d|^(vGrFLg7`eb0+6deWDmdl`;8OZM1&Zb0T^a;n#1P zLjpe0=iYsAZIk3y*9glm707m4BOE)FFjRO(L2Vos2CKYj*uKP1JZ<7r1itQ(3NueO zVh{md&p%?g{b{9Az(u$JgGrsY@U$zMAR!}|Npz?b0SAgQWGA#R%L{cZ=F!i{gv-VexI9D*{xvNKn1PbE*awT zF?i%P3+ti#b`Q4@DD7ZDHy6V)oSN9Nfh2|DRbvn`ouGZQ9B23dh1uaVgoMDr1oQ>7 zdAEF-R?f%n*`X35V zJ|?=ZUUKva-G1ec5)2LJ(?W1uE}`o*9;20P6IzwxUZ^xY>KtAM>w((9Q*!xjs9eJq{fFX$^aB7pvEc>Pyi z$27V%vGs7^hZsg1;8T`YoC=9|Kk;3ogNIP=+_Fta` z;85^{T+Ln#Ec^{7JaGiL(1Ec3Wx!Z^L_7@gp&@-$AkVHqpDAG#(r^8;_WTP@fjHgk zBH_5A&WiU^6LJguX49FY~2U9Rt2fPU@(z zsX|2`ptiC4lAL`7P9iG3>_UM;c8@DMyJW?y9y!ln&7IjSwn`YOKPS<(PWJ4tA>cIs zBF=5adRnYdC_iRk|9q9~I~#$*SZ6LXivrAZdr~*0tm<(36*yVHkaL^|Li5MLnM#g*N-V&LRY(&Bp6Cj8fqAxIscb?UQ+)7b9*PbDN`^6&Mj4-=P|-p7tAAkozL z8xOMb1Yn|a#h^twD(RnHdx4@W+0rs9Y{>ODjWX(@fQLda>i1~m{@O)gQ!gn|`;O@Fp6{#MKYJ$Y6sN$U znwdRb%F(?#-MRHlW)~qbifqwkY^$14K!Yr4c)LOlUUv?WLn;YCqMaXyQ2AX%2OBG$8h-`;`5&F z(ePexy(c6fqaE;Z59n~V^bVBy)I{ds7$BC|Jk#<+OZXwBB6k zlsUc6Rv4iEg=)XVxzhM+j$f4NzuUb9iLD6ZmxbHKBo^KymdYs%pvb_>V0BM$(QDiuD9`&&%>4_&$e#LPO$ zbi}Wm{GS(q`z)rXvjkgf$;V>CP)^Zb9GZ;)_PU75F~Pm|ivfVu(eye*s>!>3-}8j$ zrRMv95iax=WS`dM59UgG9waRY-2Y}68N>Y_^K<_^ zDoy5@*MB61s&_Yl)2ECwgn=5=3Zo9-7z^(;z{!FK{-9*TCx2{y{}@2z2cwP6v-V2^ zWV4?QXtO-0n|dit{>0C(R=+^-dMQUNN=u8PGj`}R39FIjMP2#amsxV>xU4~!+R%RG zU%eY1QNKR_-}LI=Ui&8H_sKnRq|rUWetY|U3Mc1wiT>1tUWT`#_Tu#fPmRN8Mm%usS|U(+?Vy>=v@97E<`oS$?2Co-677X(S)@UcS)eEnhsP& z&4$U75κ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

        p}upLa{K`n(NBbeI+=1a24&6= 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≀L(p+Vu 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%0AKlsMh-9u?my+LnyipOs#t{;x41>Omyjh$L(g6$f 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 z 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 z zmuk2rY$(9jt_MK0C&yp0jKR==QbHFHAc!N+PCuiU9aa_bq0Z%(u}8CCZlKIpwJOYc^bKcefeuUO|YhNa)JF8fdVs|uE*k_ z+X1q-If6>z@LMxau}r8bZ}gsEF=fps?v`IF{R>%;taDK8|79YgoZ@*?JvqaTOONgW zY{A`|s7}}cJSiiWpJ7d&7Fn1&KTf_ZT{KOzrf&FV&k#Y z4`_1OZ}V##0dvq=cI*N>pAN4;|N4rC;i*nJN)#AN{1FFG?Df-?kWiP9&j{4P0XL3FEG@U5n%QLxc63 zn!E3W-zLAIu;0Mr;neeM(J%>=4%jEM=F4Dkd3RA=>I=<%(ZviOgj9Es-NcP`uc7*h z+X3>!M5nkx&5MVjzivI()K6gNutCnm4NEAYOE7GpZEym*lhV1v6MWo9R0tCgtUTOb z{pICsMxrieHqS#jz4F1983e>vCh%lz7d{zVZJpdI9)65=c{<9-a^|waV(@AIMa z4+lQ{ z%0oWP2*M=?JbrbNv%Z{i{}j6w(DCA9gYwETqfDS<#0ci_^Ok|Zxrp}#upk-QWbX<$ zO%Mb)oSIckSQXUjLQBLyCeE#{VVWd5^GD z@V=snxw>pDkmUZfIHk*YG>7gm&HsA0=*ML@x2(R`{v(L8;JA4$QCc4sg9S>8T`ZcDw67{+s-C!pQOWWK3W(_*K09N4=uiu0`RUQ{m-I`Bw)D>*yWmGnB5k1^P{vXCaxf_B z&Y{7UgQ?h_%cbGwR5;PmX~=fKraQ7e{qt)*avkT}0|`cwXiYdi(2fc+YdncGsczU0 zB7Nf@ev}soloWMKJwf|0u~ObU$s_TiTfA^ppOTKUJG`@sn$rg|% ztteU;n70<-FG+ZF6oz5h9DaFsZr3HZ9gk65>K|Pbzj0jX^21>_=+wga?*SrwDqE!Uk7$nlA%ltL>B*^bXcfHeS|G z#BWP=r~BXo_&eaK_#z74|1(IX*=6c_{AnR7ye=mtjvucpdHC!G_3WzJyp}BI8>||% zFQ#b)WGezlFcCoHgqMBt-sl87%bShqjV>$i-Qmli`)l4B;NaNaT3Zc3iVaQ5gHf+R zA5T*+;uwe5+VO;R&K@P&BRfo&fuQ?Lgvrvip|Qoet$%D@6Mk9>&empW-F(DLNA@IL zI+$#?8mYFU0G5aqV6SME=S<_P3ZJfpD^X%;m@b%rSEEWjX5+3#`q^?9hmxP%2kL^f zKP4=Hqv1Rk>XN%5t_#mNT|y58@-Sd0nzYI@fC_e$kuiDFO%&=aYZN@;k>%}u|J8l( z#_WPu{X!Nq1pAwh4{qO%JV#aA%Hr_%0#e`cP9)=SVY~4o^7!K#=UvP$4mWiwztqXQ zPLf`=D3#{@tor9a4$bac??yqjU$GdCA6(y(slYNe7Q8PdzrE zJ?q?t z(zx2Z$m&r5|HfUjtj|%EulK3#^nqb1_C8ft43_B_J5M)9;Hd2C5_viefOq zSG0TX8OTl)JQ7Rwd@>hRjOu`i>uwLJC133A4ZhYV^w=nM!g(R{u;PjDm-zipxogp2;;BJdtemxFaQz0r*e53d zGgdw8Kq5(tVAm@P?EuP{$O(h%Y%HZ>1h*PEc=w&pt7eDyr~!On&^5((RNl)esJk0i zbQ1zQz|>SgW2lA!I=aVV7rT6r}YFXljS4teV6S^Kdmt@mOhn`y3_ zW;QhN7os7jjKA;2y~9IAuk?cgu?{SdMUKXb!F;VH%*h&1dr)cb&C`zzjZogImyKvn z@2T5C)b@*gT=l+Zw!HDpdK$Y6<^?LyV6~zh{h}#o-iLxEAXnovxLp@)r*AOf)euwo zLfodlCKKkiTa7gW2x}6igu$=@|GNEhs{l(De2!U4BQOLz8uc)-%^Kt{{VD|jQ6bjp zTln?Zwzr(mIjx$@ptj`uw5R%oIx=hobMgD8v%rv`@V;+?h8p?nt||Oux+yw?VmBZq z%Z7QvpZ{N`ei!)v=<{V}d*trfV4bc#H*<|1=<$H#z zWmYL8HUDLHGrqsy|9hZVHEKFXCYUnMf?+vwP$n;)>;P_`JU}+%$n;#Xy~P>hj56(h za0Y;n>NWqF@{Oqpi#0CU@_#won}mR7Ks=_r8&PjO4`b0h4~SpNF%k(fGIw|k0Y3A# zh0;eoRtsQS1m!S*(SUl9YX(jr(iIs<@>(*CPw%qNnk_Z1bv*rCBXuNrb;!8((??qa zu?t^r9r+z9t;fDZ3cGG=IKEm0J-c)UngA}kfgh?AgXKw?O1PWamR zw5nn+3ehuZ#5YzE`ohyeM{IJgvPXr^k?ek3uPCF8>^a|D^lI6e!i_9bXN5(mFxm@L zycX>PZbF105P+t=%C}CSZIB08Qq~*+aq4YO7gna3iwu8^lBDq`^!A`mRgCwP z&?mKv9gAv`HRZD;S5Bo>3DzM#U(DTu``HI`hZ3qC+1Y`}AAcdeD9NhvaPGW?9sgwa ze4l`_5n*J$pFVNuYTwwA0i_S+r-ULB#^`IwzYF~>NCCMuApESo>xr~Ve+&aBfk9+V&(+q|!l;yo_taos#Y-TK#@-nAl~4N_7dGVEVE~i+hLP z*U{tlifo$5*|tTqJ*4{r@fB}nRVMd zpc^T`W^sC3*6E^`WAI3qn%oP}pYTs%^V=IhhO>|*1p{{`phr)HbLnbDqN!Ja8`nQ0 z2NidoY^R)Fig2_VLb?vSYKQ7)ro){GRn1NF?3n{m$bp@S?ML(o#v5P^ma;QZA`4Im ziXTWh9Qe*sA~O_*hB`zQeph8#Ub&NLc09RzK;2O#eh&Ykw!YqWsNtS%8!q%SEg2VKB1J8~ncMb;1N$+ZX3_=(4z(0puu`9xr zn9?DlrtD@t?}x|)#j!hM^BbhI@H-JW`X3U}^4OV49cJ9gC>vNqf!zi4mQv(?7be z?OEOhxtr&bxRP#*bRLKRx`*)qemTt%{I^jljE6|(!EiCgT`~s4;h~ZasyK#wA2ODYT zNqX|?6}9&7f8MUIHT#{4j7Tt)OPQ)=@+ig$@k&$b3#~t=lAblKl>USN;UB;-a<6>wLm~DQFHq)USwh2%Yjw zMcfm@;uT!Z&~ZPXS5;$HFC@MWyn0F#1g}zPn=|j$4{aDtCVmw1&v75qnH`0FbOvmlQhhGQM;gu^$f6`Oale}Rf zu|+%A4^~&#eX5IB`e`NqVYj7Q7j3Z%TYNau=mZ7X4&w&`<(FsRF;Fp$sg1KVkMu|R zi~OSBTt}V~`2Rx6-Q^;5R^S5$Z8(tg3C7>XM2n%i(flUR5bK$qC~`q&Z->IE=5aHu z{QKt;8t=j~pXWLK)aBpRqfXF2BA^Y~&$f8+R#W+y0ap^`b=XyE=Mfvl-2!K2^$-uQs?KFB_?=B_y6N(nL)}PiPjdZ4} z4o;@O;v}((D(t-4znK|_jd%=w{}XRQMK_vIe^1*06JekpC^L(5e!#`>{u+)P0c)^u z4#b#&gcCcCbAXC|tQ$Y^N7q^Za)-T2gTJgd_eT$xD{})5oX0*o5*M5HpW&-BEItCk zQF=Lo|6&va?0PgPzB&qT1I`dVf@(>VdTb=-{qB63OGNdRI$wCD@9vd4(_*KIZM>2~ zBsF4*DN^KKU!S0tpnUTNGY2eV(y zrrt5!ew+*pi0NHi(u%1zcBjwC%ma=DAvwAf@N`mJ718amKS+kER#%x)r-MP~favc^ zhaXig_Fv0<=sQ80w}(g#j_JP4juL;DS%g%-bKx&(93JMj2G}-NQmKg?VJZX16l0lE zFHP8Wv4ef0LoWX)LETUU1yo zZbX$D3C+-VG%&W-drILy$p{4e= z-dZ%=_r(W`Sn4GtLwTMh zQB4P~XY}wAwswBS>fMBI7~rli^^uKDEcGw7{kCN{im>&T6h6JeeKo;wK2!;C}uTmY(Rx3}5PR{48AG&HL(~rddXdPw0S&LAPb%h0!v~eQ z98ZnP;byDQM?t90;Co2rqn`KW65U`K5q4mgwu0_zho5D)G<%Y86I*mEnuLiYW01t{ zAGnQE4oO>|`gT3Q?=y}3Hh0S7__9i)tSDfc}hc^2tw><0P2hUzDO*q3Fw0HNZ z{oAP5fhBKl1WE%q`5_J;IDh2*V-88dhX0Dp#61_KiY0RL2_l3Tf0MwN-TXtj$3pB?o}*FIe?_Rg{$ z%G>9(y6#L$vDnBsZJ%X$81LE@5LI)88xpvD3U$-j&(G%NkOVLB(cb(_ZW$8>MVE_J zjc%8Qkx~_m8De0}+8EW$qo}c0e00%-RvoJk=SxlL*>ctUGrEhb>euIn%QgQ(LK4=F zKf7P0A=lY- zrJ-pZJwn)$*&etwPQNrpJ=y;@_rWLmfO=RK^dfIFS94op(>V7u%X=l5rWG8aa0GMh7zumK#PdjOqn0F8eP6w7j@sH)wV3DwRi znNht-$w!kW1MQ6}f1X4y*rxMLqsFD|Gz7B<3co4MP2Wa8k?b}BmV_4zT6V@82otRl zhRueJ+!IorZ|2M_{<=~1YuXT4bukTryl4H4@P<$f7KfBH>KUAfHPx;SR z^?RK{z7iJuuOhDQhA2b^NpP{?zo$jO8M@qpZmU3je)VMfiP4FIIFZ*T2aRX3^k=n7 zyJub0aJ7P1JIU;prJYB31{a!UN4Flqdq5}bt^*(W!&(;o}E4DKr#(kkb$tt9qw{F{hGNBNsUPnfdm}tv@;<-9D8pHF`7VgtoeW8*`whWJ*MvA^1i@F^J$h};(;?x1>?l#k7;^0o;iem_>gyx7yWP$?7Jchr5gg;yCNabC+2iD z6ZHMpAJbPct)~peqrm=!;pJeY1daq_35-+jcQh#nrAE6vS5OjiopbmVGEr-CRhcvO zr5@`Wc)xeK3Fq&+9>(+IW7{sgvI&1UFn?m+1K7zETX+QsYa}9h7h5I2BeKnhjNk!! zPrghb-id|o6}+2E>aR1z2Su-crN5VOy{E=}z|<&y_SxOJYu-?10Lr?^Isg57?$p#J zr0MAp8SbP%-4N7O1{!coEl^{@9ir7CEZUoCqQzLcOZLtiW}SbifVhh%*6nNBep#X8 zH~io*>`{+5jFce@^d>zm*crF~p~Z52Y=iM)b~hW~`d=pc)WhztCkD}v%D?(ZRNX1) z5fEv!Tl~B*5oW5qhsRY#-T7RS4!R{ZB{=v`p`euQtQ?|QXiw-?8!Hx=r439M zC)D>wfofW$QgQ#n$4+#+<*lSOV8k=kw4&^Jquvo073K z+gZnt)d>n=2CW%~aLZPd>3?#kqoBG7E*bbc5G!r8)!5p?qpl3EbDrET$#Rj&RJkDY zix#RYmP`LoN=U}FiJI@ z^t-Vh%h|_`E?nUsM1OvT^Za-}T$Uv-skIu_bqQ0LQ(~|tnQLG%_eB`^Gw0F|V zquzEv&f=Zl*A^m-1qrj;4>q6<6;Q_+kfqvk&XZzU66T!_@YouyT?>te<4LfJNrF?q zam$CF=CBEomk$DAL8*if(dPZl5kJS*y6S8n6kC$b`IMvc{x}zIxR|`Yo?KAk9%vDe zW?}=1Y;&)8aU0witciGV8EZDSa;Ukw@yW_ubjX;+y9CoCv_|b?pFUsAP~th@zMpj& z-I)sx?s7EsqIF8H1_MO8d5~keI3P?yJDFfkohl0!vhz^8-7g_-`XM57w7JGDKA4U- zI;0eN1zo=^dNE#Og(4&-fjpfJxgTNO0zpem^MVJ0+n#zIM~tEOQ?Ve@t zQqm~h34Wqm5{Kj|_9wonN|+*;^zxPhY>MSe|N8zm|C0)Au$A_q+x5YO!HMbg1fZNH zMYp5s&@>ZCseuoh($R&tYV&-TPQQ-(qgG;VaFiSK#-x_*r;_vT_TzX79cA*FKL0}6 z+S%$F4|A_)HTFM(Fj-1`3NH@;iSW-b)&by)@+`1xK!TRDmvR0sQ<0(0sH1cQhjmR< zFoSXm*)O$hKWR>{sAcP@N-i4?Kr7ab z+pc`$?$UsPyCHpP(cby-lN9DxS%r(yusqCR`F6UdUF1E(o$HcAgZeA+ySoKG+H~N~ z7{>yLUFTLZ`VO9P5=S3o1e4bYs+3ty6bZ@u`}(bd`6OND(%B-H?z=2c=HbOh@kDmN zqlhn1?b0k{?W54Kj6a|!vkWcfK@O*e6nl{ zCf^;bl2ooY`NQ_^;}I7IdioWNI3pyOOD<=2Mr66nX z-btNwe2|9D15OMw3FbE-iRwqmK#ZIDcZ2u!dc=_{}0B4`|sd?FV}GdhsAq|PH>Z9%bnC%2f+O_;A}0zfOiIjZZ#$?=%#kH7+P?p z!7o94sl9X+u%5b6!_eA7mc(t;fQcp}94pF^^X2Sn1YkgsYM#`kos3ecna^_Z36t#1 z$vd$1Pdz7=QX-*45&K`Nldqkh<8RI_pAN#mwiZISgIEOV9l9QxWaJD^b`6v~L(7KY zNNTaAT)=dr3`YE~hNSEau5O^xFnsHFB`TzJ;w_H?y}Qv&=nh*k7?ty~7C%3`gK3GlU_^*|WsdU4%iK-Q5Gq ze=DvD4^lr8&i>`RjD%V5SRvd^G#GRyTGeV>2e ze(u-(+jIYL^{VSNGv{$0$LCl+$LGD+CXH{mrXnk%SASE@T1}~0rbVI-l~i1jpC1L! zH!;ncSbvXgd2*+J9oJL6A%!<`Iz+3E#sT&ys}V`gcH(3eu+{9{(=7-T??P4?(bz0s@j64xx@Kr@gHj); z90e6I`w3&f7vQte<8|!Mzz=KJc`jtc?QOC*V$uES!opP_#uTJdH^e!N=DRiv)N@#w z(Y;-Rq1uxQn+*CC>m%~PdT2KPiUwiAVb(PdpeJ@Kx9K5O*)INQPiGI(Ch1zuBZ-sI zA)&F%=TIA1iqC?;DgmGg=Yb|Qpastsfh15*wG)dlc}w<5p?{SOmV)-#UhFZ>lAOOk z%+JOT&~d(dSm&&6-(V{bkg32z%CjQcG!{|SrFTYjt7HK=JH`|OB3~s8 zzX=b(IRj3zK<|?&?MIEU7P65gID0(v+!3A@EI?GA<_+O&mH_@sccRNoR~LYQTi7 zP}!*Je?*Y0SPrUdlIThvobJyom!mp#t8_*u<`*uA=DZVjK%qZ05;B8 z6!iuiItApb1=m0sK3f1u&O;q+5Fl_j7=CH_=mQNe5|Cjt+L3@Jc9RuCtMMcm-Xy>o7OI{r=|D}^cl^Wk6Fpl-v-U!5vzclP+$36N z&1_ZFe()fY2qdA7oiHXmf&g**kh3MkYCqoXG!At7At)TNV9iV zJ_bV`^kUv5>ogiBMSrY+?O?2*C(S^vRUeKJdk0^<61xHP&jp#MsJ*jMwKRN(zmrA8 zEbDBD6PuS?huP9u1#1Cj`z^=E33R^CwkXPF3Izhkx8CW8%T zpFQ{}jutaAvMKWAeqZDI{)71g`OdfbB|rYbepZ3A4gxv}AT4?9pE#MpHC?2?@b}#( zl{r(YKnODOJ?q!;8WNGIFuR@va8CV1If~_K1|?}+l+FE&Yzc>|+h;hd!{<6?PS6sz zzWxcin&!Oyq<}BXtokK?OAQmi%n3JafwvF>1cp4+Ml++w(zI5T7>@!phi2D-74+i3 za%!@>Xv)l=CfUJH6tn5GcDTo-S;@%h{)gTSv;n7(?VKA^7{liI3uGp^-KpWk4t)Uh zZ=X3!<30oVw567*WQN4gKRIog=0VsT15(DJ$oqdvC=oY6aDd}T3#LglfDhcGqT)$q z8jWeKE>)uD-cmuYD*Gx4+Y5EIuf{_xvQdNCD|I;ob` zeQi48rRc}W;rH^rS~qfIXo%neV;%fZi&;HkBQkoOJGYB7Ruzl) z-RXg8?<(YZ!2X;pc6DgmW4^AV$P&7=;ylNC+6_czU+Mbv9=se}r4Tt$FMAr_xLMQR z2*V8AzMr0)wEg1t>NPB3$Bhu#&)k}Li`!nq7pz+6c65~Ya7?A$;`-k0d?0&$-9HGn zoL`u-imng#g6*W}XpUI15xFiG@!k)v`WqiHwz+@Fa{C$h)Y6|XQL{Ekjl}M*CzP-E zhCjUd_*4h3gb(_%e1gQ7ZD=u&HW%IjR|uRIpx2_n4z_QCm7)SJ5)+VZ2x>-U?%&*4 z_qhB__3ku5bgJK*qV*T|ow-=H7H9V>3<101$^Ld!6=DT7i<-=9+f`x8r4tg=FXEj) zPWLH&SH0SVPl+P8xu)!7+{i5L>iR17KTfiT@Z{$*01qABv^z*jbqPu8uW1Adi@@ySshc7E8N*>Er%f|#Krso6rK1D!Z8dBUI~8u^Pi`Qg*%W;b&e( zi>$K$j_!$;&PVtsdU{4rd|_6o{xqhDCz}`L4Lac!k}n6rp9_HsLBfsG$~EaG)sFHj zGp^IAX&c>M`lHyQaNWQ=JSHe##H-xZfORY4o_%QM+B)>o}tBSLq3L!>%=wGSEaRm@Mj>{`AJ%$F=@< ztYRm!!TaCJO6vd&OpyCUlp+5NW5JbW=+J+#O)Jz<$eGO#z7{^#!+7ujkdU_H*#ZH3 z$GXO}N3(Nh9#HK(1aBM4+rvUw4ZAWgYn9yJx|t39mDQTB+hl z(l`UTA$`>g{iP1X@nj&jZaf=fpAc|T8cch0T*fMn2>cT3 zjqt~^sZL3dg8!;FLmBG_{F@Kr+S9K6AsxaUZ2`+q!gtj^jhYdS!*}y83Tau;TNbk9 z-8S*V7dwRnQBLlp3OrK?EI^K6fQo6`t8yT0PmXN$C&-+qdX*lmB8`t_->FW!T3I5%4uzCV-gGj=|j8$Q#G@A1H?>=^K zFsULp-MxBDGw$fLDaLiMu;~gSOIH7(b1~iwWDSIu2x2yye?OE-CQVY7>EOmM+#9Q% zJ%?ydIBgcEWbwHAtUGm@c!F5-uDa}$PElj?#+pkYEIRqH#+(d47{)~8L*&GZIoCK~ z638<_J%>Fr)L?P*A=A`_p1)EwXvpYI6;yu?_7M<-GTZmAA)`W(W%dd?pdJdq-Z- zPkmANO_&I_fq>I0LkGIBOn)6aIz~}=FuDy*u7dSC~_xO z^8WMU_da3@!i2Pgw~TJWoWl~w-@!*D6w(rDS&DC}-p++Ohu1`XLE!J+QIYy9+Y!7}RPD@;XO-fdHv!SkGUH`AmK>;q)El(N! z?cF2rInfAnt^3MXJ;N3X;RPP}=dMxRn1@x!-$_)9B}40vt58u8tHhUROfoX-*G zbVNRlcPKEA8akwyTmvj%3U(+=&~)lcWAirH^srg{^U`Pl(is` zF~0;RXN3E1tVsNQ6fe8?Y(OzUx~T=AR(Vg9iRU-q%Zq4SeyjyKXfO=f=zb&lo(EUYPhn@3|#K^SAvK+wL+>Q@Q0@(io6f-71TMV}sg43hH z*)FV@c@g5Cla}uaa!QKV+ps%x)~?|1@z?_NdJ?!=dk7BdSgo980@WOzG^zjT0@!_d z*4z8*6UBXd)A;`KzYkk6&@;j&fxZla+VUVR_JMlpbxMC{#vk8Cxi+?-mA{|wcp|Ua zc`v2aalz*OCn-kKnpFcGI5eAxqS^rhF9}%|4cKP=RZ79p7?JURJ%2Hv*#?K{erf&#Rg#32u84<>=q&3H3cR+m#+NMgljLzTU0^DS&a9KJBPrUQcbx{lJv^ zsoZ3z-hWW9)Xp!^xofS&FL3{#m`R#pB$s0Ddo&QkV(b!oYOzvC6iA7l(QiP z_X2DQKvTLdg0{ z?&;epdsu?FF+}+S((WsJbSN-&Jc|||PKZ(nXN3Vk=wZfT zc8}9R)@!c@yL_mz;W*mo;bifrCw*E(Wtl%-w_n8Qj)W`YOu+OxqsK+Bh1LjVgq8j| z%;aSixKqIUh9kLC9>@vpAkn(|WYri7OfdWElah0+D3F?(!HL)D)&LuB{0ezt9r2?=ezO-390>%5+dd=idfRg z203B)DfW+yN{kTHZ&f~u^~rDTbU<)J7z^*CmAwbw*T1ULO8tH-RUFY+t?*ZrDGF!v z3;|mqb$!^Mp8@+1WobhZdh@T|Igvgld~)yoB*sb4^N-1W{55d-ce|k)y}RTa5|Ynj ziXhkr!Wajzs>7>Cp(F}i40yrE0UK|m*vx~V`1Io1{BC%L0wyf!1;53(Y3u!2fP4oh z%kZo>IKU=Rz-eD3PaH1~;hp_a?djUxb-L8u#oDOrvSDlTP^AxndI`n%AWH&#{wj7) z<-ncTlOUB8D0`v$q1b7*VIm{+eDaS4WcyT>=gi+geIXFFAm_j5P)%K(+Lqyhs%N>2 zD0QlhpG71pKaIVad#;$QeX1+f8%P9Z_mfsYCvlpBQ5F=WJA#w$9gw3YMeEuE_6L&t ze(gX7X{Awu&F*d26sbPpVCuU#%U>*^C_8flJ(nl6XPrbfJ*xgc(asbSoSlEG+jk}a z@Bs5IcU+ZAl#0#!dxv~G3}4PE8%)3DVP|;mfRjzQIPlRDEmZGMKvJ)%Od>ATQLE#T z4+tXq^`0M{U@zQvIm_lu!)I;xSrjOSUwiZ@M`Ih1M~L(q=oy2b-65mF%EO5T*kdG@ zokXKX$b*8oo=am-zFu{GKnTdXZQUc^GlYiWVy{0rg8p@IPMluS4<>Qiswa(?KE`_1 z0B2ZYuTUGBct;y<@(nd5onSqW@mhNq+Bp~|xAVMBD!YNbExgkU`eg|;wgi}|a@PX~ zKBt2a>XA}|4^92H-MB}Z)whRRk`6Z23|#J`n3O0N(K9f7%e{2>5gZ>~D$x?enNsHZyl%G&~CW$^(Up-|8pMoF1a1x)~PR1llH@tmx2FlDby&V<@D6{7iz@} zi~$CKQUy2Z9#qoGMet8iY91Itn*3~KU4R#Fa0vhI?vP_u8O*N#(~Lv(^_q~uU(VI` zyY=h?epJkyMgu__k0vCtrRu3Jq^@;wt(dI@4lAR$Yvn^nrs;TnVaa`Efdwzd!m`3c zkx!U+DJ49RWb4?BBCV2D{N|(kK;X7$T4HGnPs#T79hkz-KWw|-q$jwa!a%1=z^+6t z0mPIauc$=h0m)fXTVCCD&dy4qtM_Y%zmbK*#;czPaL7x|6V8Er0710@)a*8T0;@^` zKdwg4rMVV?g9jZ?<^G&28)SEZ zYTa!BojtbD1&?71v67H3j$RKcgMXRpTpW-cP=1J>3zxjpb3n!GxkKmc9jiwra;W2U+uh>H7|z}1$F7G=*1!;# z?LA}A)q$egmO!V|R^}MMDN0jcfvLetDEteY-gAp8>gGTDd|0y4b`4M6eN{2o{+iy;SXSDyi}SwG?{vNZ!0PpFtL-W3VcTW!ixQCca+JoP^-qLZog zDtBY&{M^_mA=`3tXs);tjPd+e>iP-*E<>K}*O}t=qlJEm7(n80JiBQ*ge+I@*+*O4 zz5Dj#w$|BiU)av^Yu9|5o4MBITlfUqvcW~i+bn)6Y4y+m0Ec)24uU!ZFBtOqsdr=J zT1r9Syw0OH*2HJ4ql7fVgfSiTX?PN@mr#m|V~exfo%Xz#L$$zRsN0K9JW$T@#*V@& zd&SymRVo8f>B*Z503KD%X;QXZB+yK0RwmY+w#nuu(v0b@kUS63Gid$k+E(Au;i~c8 zOBqKZW9IJ1?nUc5C%ytn6}WC~L4!6SC!Fb)5Snok_p?cwh5|R_vDt8}mdm@_(76CN ztD44|#-UXk_}OnJ*NETBy0uak=6(8$U^sv-X%W#E!1a>&2zN+)4!Cb@P%n>+%URaa zvhRFPF`ZMrO^}YsDB!$ zE}`XV8SZ!MN7Wv6itI@KK>iu@-t5|tDiH>C?lIc(Kimj-rZ(Ok6N8k%iG#mi#owEj zal~}tdG)*f_|A@qcvePVY100b5iDfdx5j=_D}2j)NZ+0Q)v69wCNwfpc5tjo)$y?1B2BHO#s^ z!(~1b{d&M@*A!cR3ZZ#mDu{vG%LIpXz`RoiUe@vj*uAW5pm8d`NRZIzJGW?M%=JcB z!td`!NcNA4!~=7UZ|=O9zku!>L*>AUcic`q9cd zSMODgReEMRHXzYHZuAgsm9z7v@Hg{(Lt)!VPDU`CJibK>tmOo80=Wsv+u+D}%q9{f zu~ry=zasNI$WOh;IY8-S1wxnBywDp<+WyI&-OEwANko7uO-ntZYGGAnHi>9V0ZEsD zCH*bUaUt;-gx3GMYf%uaxH09>`+mvTqABv@t2k54QFE!Ur@j^IU(+6IL;cI_PIYya zKu2ub2*S7)Qq@=sMx^qW%#ns+rdDvCF{7aV&3>8jtA8kzzNYVLes1(M)?Coo41$V* zuXr=8piTM+R1M}Xnw5{$2%J4Kw_a5o_i3iM_Zi}56XWX2(YvpYCLDcsHTgBq z{)71`hI$b@y`8|E+COQKMxfdPF7vD_@0rWPJ;EA8;rNEho;@CWyRAXST z!WK@L&I=g(y6v+iO~$ zEpU%A@@*B%%;K`KnfSdrJ7?0h9`NP{^_%JlzGcW(D;Y<^mqj-C1X^*tW_I|+ln$@z zFYi1)sfQc|hRWM){umIT8CWzc^B06?h+q%W9Q(t(us#oWt7DjkZi>l{ME6pQ)Ss`N zP6!;YC@lB#Loc}CxNtwmvde%6Pb+ljm4`!ZfS-F@>A59(Vb@x2u65y&feNp_)fpfOv%T70GC2T$ttCrxR56FvMJuZ-BIokh{aM481%ArDG%?_k*FQW5 zP%%g#1D@N2fP%@ED@s(I_ODFe+SGB6XTcAuN52;8PK9KRcgD~D2a8*UyLDBj21gOa!RCqAFb~x1-q_5XN}GSK9ezhp&y!v zpl7+j0)o`%Vt>!3T73Qw_OKteq+Qe>gHsF8)+xeC_6#~4FwdTRjGpc=iPPJ~Z%wXYnWrGXz*|8u2&y8p{ADtDBwFK=sP4(~WkC^Q5zzZ;Ss3K3* zJsZugQhN>eO|FcAN6MP1-7at?vG}hNYl!T^v|9o~f3iAXiqKOx>VLGhs~Ovy1y zQet*lG*h@>4wy$T*w9@5gT*um&Mu=L81DN%b3;_Z={-isHkBqaA!U8}dz3KjP8NVH zsNq{dbuWAe-{Pg~&kzP#(IGzsFIEn^$*SbAb1!byD5d`XCE?dT(9YjmAD4OgkzC-R z>J-hSv{;{%QPc@O#bDJqvLY7Zg4j54b{KS zsz5r!h1o3#ssm!epKjX(MHgW&QTqS^-Q4*?Mmxv%Z1d_7<`pIRN>|s%R1S`8m9>q4 zUt_zTwmT{8Nm5mGEYb^{tCdMW(s9fh^8Uiq82nL04%QPGYqvV>n__^T7Uk zKk_5v@Q8VYpkj-!e|R?4AUgqBvA%K`L=C4H z&9X~H#FAFu&X!8+2s)>wra?%hgDPfasb|&m{&{V3U`u&_E{=e2sY6sRbY}l6eXGq` zMk5he^L(cOVsm*@1dAY8=5c*|$)x};yrq(^h&@h$XRBhHBV?|Nj1>Ba&8+&jx~ zK(>j|-w#z0f#3TUx2|ALyV8VJ>I|aP@JN*jdrZZt(D9NuK<#o8 zq!FTk(7io_;v6t^y?PjcYYMBZCXZ+Rma(@CK3zDp(>s5r1zqrVE@|qYeO6dfD}j$d zP9jim5X3+@T*J!KINJ49AxD2|V}o#^-FRpDZQgo^^@@ewQzsKOwKUlV0(nz=O*XSg zRa(_FJA1QWpZag1j|Fw|IcUJ3_7vz|11fE_xO-u{g1^=; z)FqpouO1p=9f>x*e1szz^*WpC1!oFccA|K6kAr2g#T4loP>f-p#NJLf%haem>a<`v zRGi%>5%J8_w`N4@{UiMctKYBS?2ZdFKVtnsPZwe3Sk*}K=TQX6zg8{-1AAe~A-CMN?+ph{>Yj21|evzodAkKeUe~MiyrS zDU}nNE>#Rf+VAk20VUGltGn(|!0Ne#ek=Wkp+B1BE=MHFkgag5ATCE+q$2S`~@q|E5a5kaA+Y+?w zN7gC}+Ba5|KQxV+cZcb=BN~W7Ihfm*rVAMR&KUIkK6~o6GtdI~qz9O~|H{fbsx-Md z!m2RsMQ2%6F2$~5Rs8<&G5KKS_ko{H1NZ}FdnD92T3oCH_Yz9_iPzcOLkz$hG+=7H zhji$9)LzdzTm;rnN29W~zC2l3a{YxyeDaxod`3F^>=uC&H-e<10lE!Afp;|W&Q=xC zIOurVoF$yNWs-r;&6#doeH|QgqlpS&I_2CMi&hI(0z-@6558Rl+Qp*$->|_f- z!eAAgq~a6w1)wW!)}DQC9fZm2lL|4f4K^L8CIdx0(Vn8~xbM|hmBkjgKrPIH%|Aia z45Rk4xd*5~`6V*vjd~wf$0;`#sf~*A%1_xJ9c8E0urv32+hhv)`P{);(-M;m{%k<* zm5=B2@g~QAC9@d@bpk%@@nc%~%XTE{6HElSuXY39D9=80*}|=(@n)v7E;W$*!=ry8$gvXf_x>jeTRKu=9#1dLcy>O925MH zJvKd%B=g1|wuJ&T)g34eyyd@RyQe+}(-acdO>I)9rA1*?-?^th^*APi@&9z&Y3fI8 z*Y8(KMXu({Q37Q$mDI6NB$1+>{Vl^ zqf)HL@yPba{}3fJceWOX))139bRH;<0qnM`QG3`jSjn$wR3}b=Iv+;SQ@DB~K%SsE zYVM*`#tqZSR8F_q#BF|f(Jf4?Zi7ST%;>KmW5!|VI$eUw)!Z+ZG%46xrvv?!%0axFT~ z)0_3_$4=fxrAw^%H}^5oWSt(KXQutf?r$hiQO)>jt}Yc~4&9QKi6lp&%FMy;F9!~p zkIY45H9U9ro!;p6_RnX%agft|^5pTyb{69qEPCJAmLPZ{U^q1l)6dm{mEo3`boX@CvV=?8)*-nhrZ7LC_c}9DL zOx{fj0=9+4O6VJhO7nZ<-z`n!^|!*meLrO=a3}o0q-w-lcA$o9EbJ+f2n`;HbWqa!t$bwpivABJ-5BOO z&8L&VTJgKHSSKkBsCU;I!Q2w$&1{sb2KHV_d7^TYSh2NQ>b+PI#8WDrTPUx3DQ;7A z)?g>&^KRDPd;jCS$k%+CpykA+>zv(|lzW)yaOsedM1DNyRhVYz8Q7NC=RfawK6G|V zw+i(mTXhzYS(fu2wo&3jIUfK~=#Xl-D)S34Q9QDbCs$Z#@0rV72H<}P4XqsYO*tuN z6Mx29i0^%A4ga|x`$N2Kz)vlDdP=-B8M!FX4%=_$hfE5(R9>E-TSGCjHf+AO{{{?B zhH(sW3>FR;2#*eq95M5Iw$FQY{QYH7x9R3Ts>H!`#fMRBx5 z(9}`dXOp>`oYl`^98Y|J&{?i$fK-&Pwc*rRE-tbDF)&UZC-(|hS6hG2e^+~OoFheB zaH~V1<=}gpOEw1#uNjaNpN5n>{9<#Vm*gWh}z<+^?(sf z_~ygHdb3>z@Fs`s}J-oK3{bWOy&*faI?UVhF#=Cc=bC8CMHYeZls4k{Iyegv* z@G`vpQ0#gCO|dPu{7zDV&uDJ2j_DDGZnE6vGf!TL&E-j-TeW%cj)!!we8Zab%~Dxc z$T5ev`V*I7;&6(c-M5zCkzyqmZg_8k`r*$|SL%@Zvye*T>KG$-zaH1l*8gi@=|CVQSd#S&*>`}8*E(*d30#tgZ!y(aAB)*KV87Q{ zX9De~Jx+_MRfi!3`;DBG&IerU#oxz7pIG%M@Qe4Ytza8rC4aJVR4)bP&m{uO9OeUd zFNtbGf=>Fc+JQYt>?fX_N21zfqS~tJlETwRm)qD<1HYeypIVXEvbPwFr7ybe8*Er{ zuCK#u#67xIiFduZ*PduBpPu}sT3!|wxP1L5=dG1Oic#W8tDAejgua7`N*Zi&aLByQ z)5|T4moZ6>CGWlA9e$weXQ*)vh#O9PnSIpE(W~V6RcY=X#D&28G0U%x#5?gAzvQnu zX$E^s=kj^p$uz?aZNYdeFL0Q@-41S*pjW4U9XB$oQsM-1;@-)8BZx?yY=w zo69d&c8{fELj99?XG!nG*F?Zt0rSh2alBY_$22J;AqV>5u&Ec~US?-!_Wf&)-_kqQ zY{X6?yb{F9sgAsHLpig9hjY$8J$_^FO|wJir1!WsZ|hgyJrb)LGpurqs@k)JmjEp* zPE9SXzmhELx^y8vD=+&y+qKXNJVqq-gQfbVu<*zq1DRhQbN!SF{}634wEAN?K<ki=pSba?dLj&7oU2349S;?_cYx)t{(n!paS_J-<(ZWY|P#&OX5)#)2|{)+w0 z1Cv|`H2?qp_kX?*@c#|}@9py7%r1#Fpr*CKd1nHKD9SneUwm|@?u_}5ojvgW87?mu zC(Z5xw|5v0_7t)@WPJrsO>3?DOw9;zU2m_mj4$yzR>q!)8uYEetguuIM=eXgt<6j3 zHS%MdIC0;wXh?}#LXU?$KQqOkp%3-}*=@UJf&P4r^qqB3c#LJ@`UfOp6Yt0cdqme*BbHM+PLAI3kw-z{JZ@&WP_5ffj+M#&209iL}G&9rx|Gl zyPuT-%mm}B!=d73Zw$UAvp|n8v3N@6BiP)K=obBJLSvG?V#$`J%Uo z|0Yq8udDalif;IM>Dmrh$Ptt@Zh}-L-$EKUCW}-uu3&?QWqR9!jvh0V{a!6Pc9w=g zdqotMAuKF^+JZvZz7@!lVa(jeN@l83qv>U|E~cU-ViD!Z9vo%v6d$W$7!CD{xYjt! z1wQ%~Q=h~m#1AX!hC?dqcxndwC#h7vS?RuW+YB(6xU0wHdilyXBhK%sN%ZeW6!O6{ zy4Se;<(Z-vDPyg{dT>hGY6jyhQ0kR$Eji@ahK9$jt)u-cS2lh1P5ly14;cN(5Y2n* zFiCi)B<~b$TV{UU?2Yon;!A48sY{GOhv1T$ZsWz(!KMRXTlpR2 zSjF>e=3#eA-QRB>f4$j$P5i7SB6ucLk3nB!RWyh)fb3d&bQfIQ$mh#UYGSX!fRbYq zvDm}k{P)DI=7v@GPe(q!5Q~z@;Si1kP3dJ-F^#|`d6<=;dy0WFpY3K!WhpWIC$`>W z{Vu}COBTxRY=k7XAvNls2=6FR0R$EWP^fV;s^EoQK*gPNY+=#X1O=yorbF&8G7CQ6 zE~;$TE{Q!6S>ybuZDrIvyiMjYIeu&aTt*loslV2rB3HGZm4ni;@c#S<9NQbQJO1=0 zDnL}mA+ zfLw82gQrSTLvW76>%SpEcE^&}J~FOfWggyX-=3Asj6hP{2dT}JXirP zc08MaZ)KuiW)Ra|LOFU?Nz;MI$Y>kXu+iB|V^>{;FYbH>Rn|xPK*@uqnH=~(UGo-e zM^$TfI#wUv+SMrtY@U9+@!EFgX64dlWrngcJaSR;=I=LGgg--~KElVrS4F7= zK*hO|^wdhZgoc_!#Hi;8zm@A_e;X`P{=VU<70!YOGr2`s^g(~)XDi_kXLQAJ+ zh!dn^)&IfNUzcCF5$OEs3=)eyHJd!Ea?mcoYvyvg-r2Ek>n@#caM5;}?T94T;mh-y z`zM0wRuC5%6`CbF$V7bfKvY;p{#D4|D)6;Z@8q-i)hl~ba_UQ1ZP_C(T^<mT5J zd-4N81y9ZegeZC?LkxSUq71qT@@8(8jwHm=Aqdl~y?5SJr82HcwR2O2YESH9OynX@ zcAW#JRH;ayou$|xg*(Uw$QMwiA!lnNqVCf|7M`g*tmqe9rcb^gPC}12Z|FNlX1sp* z9}MrK>#mrXh>jPJU-*Q?oERzETDJ4!oxtWR4cY`A5BV%*Lkc17W?y0J=p)&ks|;?e z9V@&+n&N2MUilDQ)d#-ERWFgxR%dMgKU`WN{m5Eo;B803tgB^Chx z1nxlELZ_2-mPsWqipyib@Yq#rlV3n`Do0M4=Q%T6HKGrORl|VKcS6;)duUHk(=X*( z>6=rD$MZ6E{4^p-aY~iEj*3o=d87>Eq2l2w4^>8M?>ef8P&&4nNkxIVnXQhQl&9kw zQa3M+rkm*2w#3fQ%*)7EWomaQ;@&z>Hi7z4xHeYpXA=TUeQ;sw1{VE4n$#{gA2Ry% z?)_)N*0#g%!WT1#Vd8JkPg&mHM7_mRFCxnzdHN`;0qNQY(*_VvC`)76q&((16hnG* z^b+ICXS!49p5}M(Dx_x;bb18*w94dO6(Ayi4{|BSK7y+1>^&w^lRi!n-K!?`-o7=| z%*~(X@Z{}Hl)JewBvu?p2Z)mJkM8(NOos}nMiWFExQnqzpxRm9yTKu|=tm#3A5`io zqm^x+eb{yaUN6v5T`Q(Js|krgCI*dZZ{dXytu3S!C3U+s>xqjp7Y+$={s4~e;U#R+ zXe!|Vz<(f0Rg$nL<1jvyUbskrD@%4SQnQm6{j)=P3KOeYrx-JFQ}q-K4OnOb|1Quy z2}B}209dBw;CcbL-es(lb%H(Bmyc?pIH2Jx0{qD@Ys&CvoU@Qe02dngT+|||Rsb~@ zF)LC43>_j^F@NE_0oRQ-_-1l~=j!375fwj_tdF0%J8yPkZrp9FWa;|1__@>P&P(}f zFnd6US*Q?Zn*gIUdq2?Vw1@8+M>4e@>7T%w-D2O5?YDfi8xkMCABjKmx` z%P?dB(v<{A*T5!Kz6CF;i^}Pn1@0ER${7VSivomnx|XeG!SRl`)WzRgl3&ky(j4a2 znNoYG!7YT!?Qj5$Moz37HbR;FggHHx=1J1CLgj>}h#Zgf3dX%y$(o1j=6}C)upXYi zbcf#@e@QFo@~eEizC6@qhhAel?rNz?Y&R`AA^zi?;&Ux?!c0(LX}R45V~VlTuvQFi zrUb+>+o;o;C0PbBW_yY%`jmxlp6&C;%y*MvT0J%E&b@ALe{%f|M8%;hQB2|B8{oR} zaz8^9SP1d>{Rd0R7E$jzt7mIJq+U-%pY1h`a+39AUHKz<%L%pfs{ndZGHK7gk0giD z^4d|8aQY~;L*W#FqV1r*&wt9yWT$#v-v6>!-u%&g!m;4z9cMA2J-dR8e;`+jhU1Jo z0Ye?gJq8hBMy75XEJmq4CF zO&E9LgcH!&oioBTc(mVL#M<|-4i1jG$E)TZCH#tir>i{DWr!Lof(h@mfqA?a#B>Vo z2dGL|s6<#}@3G$bDa4E}&X*7R1|JjfNUx-@#vk52b_BKi0D|GfSu!P?Ti`3(AmI4K z!5MHbu0Oj>t9>t~L8yp4eL6&`);7*zlvz-H2WO*?>YjQ`I0f7<7+(;Oj;+yP>R4x! zChM)Pb6$W5U2imK%fD3ZHfV<4(Xd$&!uAH$c59QN${t1S0}Pl531k;xV$RXgv(0{K zUVO945a2J<0>O=I>RGsjg4>+@$~KiahiWdu(}QV!;aX9ZEahdh+Nwm2jXAS{1llLf z&k=?9;V-IGK~=A;dc~FjN+2!V_FyFBUf}&e6T#I$>leox_e=PMX-gjoXl=7i2~JKhGyQ; z1Fp4k7PSoF-xUMOH}euHH}P5xxBA7Jx&D?L;WN`#xM*{1o-qan-*OrG06soMMy?+I z0y%x}FLIjl(4L;2uT)NO$@N6ui&avdnZF!6@QZPY2b=j;j{ntPTc!Ys-T_7{2G@h2 z+BaTgbK5fRG0jKViht7L{3Si?U$u|nZv1pd5x+XNct2V{Yjm8@`zxXvBL>#VwZvF9 zh($DE5|EhPK)7?A^dOW)uLRRDw+6CrI%@Wt5BycSu!iAt@A01Xw5@G=apkO}-BnjR zuctUG)>2@0aQd&NvrJ#m03cfjg5}?K$;;HD70|;+aO#jT#c1_o-Ak>FA9VcvEMTGR zV=Vn~P~FB-e39-4=;T|6KM-D7LI5Yj(@X23i~huN0~FY|$#xt9Sdu1e`z%)r5Mz9& zPoGa6Jte#zK|GeyP^&1&w$svp#uyiv|F)6WV8BlSIeOIO7y!7@qZtO77j3GlY49k7 zoul8Fa{#|!8?7IOtbW|V~$kfs1}tX2}Ay5;0@ z3sRbCM)PS;xjora7{D*-zzQjvdyW5C_ylJczIYF*NST(~u-wf${|>%HptD#_Y)~+0 zIS2N=g6v7>IhUx)fQ>-X%ghZ>MWK7;BZ8}|(_$>szz$8uL)_<2v!guwX0?OjNKw#!gI>-@$uw|xiTX9n7@{fu~%{< zv%DKy1|>xRiBiUclDTp=Hy@b6XIM2&fRAOYYYN^Z7KGLFfKaI4Ztz1LnydY|ZbtZ| zV;<4oWYB=8{rdkM)ytaYq1q@GezQ1 ztmkYcW+3Y;j?cY{eR7~8L(h4Z9-R|qs_`sWdxgsr54d z*nR7XBc8ibV@MZJQ40n*aM0B*pjPn(>Y_)|Y&(zwQ;@Com~WDx$90n3lJUD{^N?)zd?o+G*#pErJqPsC}vPY4XT`MhUnm_#~6sXc#BBA%UqnfT7MHx18;U}G7 ztfW2M7Qwl0qfXCeuuy}9>z+_M7^T~|Ayh?D5?H8+NlDq#y8bk-_Bv9+)-CJmAJPEhj1cC>OH|^$0unNVx`tr0{&HE) z5?^9{Ty$5a_rWqTN*wDNafps#bE|+Af%6NbKqG+d3P!*HJ?L9_9%k(tkdIvatE9R% zf6DK-gZwMB-*INu*yw+-MmzZkth`h#Y!*n20%oG+WH}uiV!}T$F|26)lMmRELs&WL zH~3-A?7&an0VT zD$wKs(Dil%kNOfK5rDF<{Rr2JMKG)1MuQ zk|xSWQVw2edNN_M4z@ToR6pS8Ewg#j7?<%aicLHLf)xK|X=K}E?slxk=ZcK(24l`& zrN`VcHKtA)_Nl}!^UWv&% z$uf4?vW1Lg7F%SPA>+*~pXc=X?{{6lf1dAkJ%2sVA1PhNyyu+zoO7T1el4FXqiA6t;iA~x{1Lcf2|x!UU48_Zc4^kUa<${> zUHV+PWl7^}CRpvfVzZZ%Cs*tRS_N=C4@K()p zB_2Iw{hcJ9M9oE3AzFHWK4#zl0Kab^M z6PqyPToVGAMYDgDMxruFKP}rz^F*qjd@bgBDZy9!r!AEDmAq#g7pIkTlWdgrkl)e) zlNyZpQPwh0#s>Pe=WwH2P!n!+N~;ubAmL@XRf9J3r0ixXG} z{d{nb5(5g~N9GukpSXKssCB)MkNTTSt)Yrt;k!zTe9CMdJe44FgRTjz#P}wk-2h6t zGsqYU)9x=TiWu{^EJ67Urh9RyfKr*9%=OCe=4-HI-DA-Wi8BsY?7XgL zDJPf_52kM&q4sj6()psf981hW5F!uxBSd_qO#-mh4&qRY>I+fur)!#T|C!fbDkhcR zF17WUP8mMOQ?ae1LHh}7WnlLif=Koe;FK*`>Vgx z&D(lY%+jFlneV!IxghAaHIWh}p?v_kaG4$6Pr5Bh&S__VX5nMaF4ED_7D{NCXZqyf zAKHXU;lZVf(MjW!lIiEC_SVXN`dH{`bkAmzkd320ojk!KaIb>B){d8rL&1{Z(zTBC zWGU2Mk2qMfQ&#CGitG5b)_kwaFP?u7o(&AopEACzs6G7j>5Z6uTZ!1^89DD`c1ot8kR2>dOTB30ejL;4 z^10XCQ;6flt0GZLDO+*WEEN+7$waYJ`Y{N2T)q03b9Zv~7}@2TQ}>`V`9<~frKOG> z#j!j$<&Y6Z04@VClRP*Fxc4A8@UEH=t|SOQwVg4a+0p6=|F$F1dX=LZ0++3la+vudlN`C}gz_(5Yh14OILNF40D7JhKwtMKA@# zO##9TSRq_x6jjTaZngXvemgl53+P&To-UKWF9c^`jyETSeIyUvuN0Z2@ay*uAntAc z=I=~^@F2QCW3^Xy9;@`Csa|_XA1ygid+tJU-a1PE9izQN?ZQ`+Kkf(5HnxT!xQdxf zIEZH)^*Ko#%{}NX?FyA?7Kb`~*-@m`)6+WCkQ^G3e&}Pi-JNg&rQ6{qBuHJ7E4#`D zgB6+KvVfGt$d1(SVX;#cd;Dm1H$O-QW`1S6Zo`@lU6 z{)YNMP`)7FO{BfX!WQ5js|E^M1bCG-V>jmZIjbxQIw7<7opFyNep^!Pg+AxWlOBS^Y1cKJbyS8*bh%Q5%Y zP~Y@3Qw@eXzuhfOx=MWZ^<(sS%mV?H$T~Z|m=*Zohk50S>=7mq1UBM}td^Xo5oDkm zj@i9Q^;5G5Z(gqY?`yXo2Ih&NS9|^Q{;>%W;FB~rQot~SkADk(5C0PkfgaP8Z2_In zh0qt6y{)iC1jDq>b%2fHpc&>U&T*u=v-2;8+#SpA8Doo~jkTg*IHs#4q-Ml0qDmky zvVb?$Jwmj_VQ}$8H@X)rWH4Gk=CLDjhP%?&Wle`~A2oX|klOXkxDC~eqXKmRDNpQ9 z@BqWut}Gqa-FIK_CKsHdjTLPiRBU;~3W}Z$eSKoS%;4f50e_%=lorRA;EHjau@f*R zk^&vxHXF}T1@w4a6Jd0O=GQL!;e8O!;p>2o4`b;Z&1|hAZTG?1>}goJ>Wo&*#4M>A zF5zX!m+$|CG4k;BdzkiYW57hOd{mtn#r8pyJnKu7Y)Woz(dj05Lr z@TDa`JA-l(?{VO3Hlk{A6(|DCt`HY{je7(xKf*{23I~_?(1b&RzS_Kp5@5AgGGKja!^nU1A1`@!TI#dmc zW1Hu&yQsKdY;PKTA5{=J?9?nOen7xjNzxv;cjHb~PCYl;c0>L_r}Yjh@bCrv@`JqMdRgo^ zzC7tM$CkVIhPAm+i>q%HacG}2YKWsmA0nRF*;^+B`-l4(T!q6e6fmcfX^1A+7?KwK z*tcW>Ssv5kt02^`n1U|%l@;I5_W>Ef zS31yPN3JZAZ3uOMgn`3~X-Xc2wWWdGhJOI#)|byD#b9)@g)<%Bpn&n39>VRwQ-<05 z{4_+SSLfaOTo&LzIMXR052hyk=LGBx!P|U;6kF_QbugQuwG;(^GA1+euKv}jJCk>+ zewhUOe8V~%AUW0U26hx(cnLEPUlxqk-i#It!nGKA_-__u=8ihKb_UNZ?T@nTW<`rvmc@M z*NUk;MJci6@MAzIJ^j+yTxa6UI80LwmsfxrisOG?lhCvq`lKFl)P4dt`Vnmc!>ZuNDEX+}rE#p)%3jx^H!6s=o>HYjW~mUnkv(?a@sP-q3s#0nO7J)B6%VR8 zUpeGIaat7};1w*2*vc~6e!}h99)I(p2$dnb#`-Nxoo0fBQ;-gg9e*p^lPy+8Znm$A z8z#$)-)VW!@-fz^^!_2G=YZ-kBgvI{%ooKoIlzX12}g`9i-!=CxTwQ}T*Vwa)uVyw z9}je|f)6*(o;_Q;VX@wuw6+26fm?s^vPnRHqC7gEu0wvz&gB(i0DX}xNf*D3lz~z? z_Og*=!I>$W!K=CIS|`qU8tvP<=xT8hs8zP1NA1`yyj-`^c%Y8vO+%_^r?ZnwlchX| zo!${SNbrr?jb@GXx!{W%nZBgkOW*sGcLA%RcJ6L1HQUSV0OHrAcQ_x}o< zq4oinW(od5NQ2%Blrx^lj6^1akbJtyi;9zl%_& zmmW>6dzs3n^Iz|7RC1(T?F{N_$P$L)X_=&Lm{a|q0wxqMAdW0FUm(UUko~tRmsuVu zGnqNnyv11Mg&=F0yPLx%G3OW*&Y>V9_GhMf@nm8F)Mi?}zl?vM4-~1=n@P`?kHq-Y9rDb!HI6^reH*>c7 zxmai)vsu4^ZhcbW#mzUq$ohJ52uFp-Sg4c(VA6zi^QnP~Uuj~_T0rO6Iq1NpR=2oA zFE8$ryDf84$al?PAXC#&yjXfyw^CwmntY?hlo0-&03WFQ<$-cGf-5uD1gjKY{E!D~ zIUn?U<$_XM>diPhPnH?Ahx4vkW>4U9@KyT0r?>sV{b_SazQ=!Mae&`JsgP>}{76JR z5bq+}w6UN$Iy}zI^uxTIirRS#(AFz zcNyR8k5b%$b=FMqOT{}0@R4xpUz+*ys3ui%QH+KR$5$D}Q6Zp}LygXqd&0G$)%j*9 z|6|lY1I^CUqK;_m_lB*#lCS=h*mz= z+LQ#@FpPM~->qT$)#+10fPPJ^x8SAW?!x0Hk5xc1EE`&H6xWvU6W3l<`0*FpG5s00 z1|Dd}GJCqhC28(7o_8HjGrTx$BdR?u_2!U*)ps!A{&%SU3cywfsOy6c?HpeOblkV0 zcsW>k?9kr2n8;dT*5=Y!J6~!fK*XY}untr$uU36|m8<5bH?AA6hHEGA^ku-j9|?l< zML`5_>wth_4jc8uu@xx>TxoXxHVTP}JId}T7)Lp=$8d`r=cqGY=Z;leQj5dhASA8v z^f3QGnm}9z9;4Vuk;fd&fe2?GO%9v1M%AsA`kc^pv7X1jc(iD)Y1u##<;!D^F=t4R z>-R!_c1(7P7eA-{TzTXGS?5Jzhxnmb(qYX8B_;oN;%HE$--9{GL^bSPZUIu1u3AY^ zvCE2&XSTPIWHFj7J-%omE7$({SR1Ya9_yp6&k25$>O~7X z(d`rvxBPwRx%{<<+z}MuBWN-+UHK}ZOgU>Q*qoi zgBj9p3t@~5G?XJLfw{xPKBZ5bz;rwPHVLcb3iY(V=G4SaU@;Qoei1;Y*~>!uFGi6o zqr(^bKuae3QID=bkAZal5Y2hQ0=X;iVWQ!3i&G(4Ylc{*Cpo$Cz+P?jazfLSupz=i z)fd8ci~$tDoN8wCcSFJNyuR*y>D4V867b2eiiOF?p3S~$wPC9y*e*i`IwZ|=T%~-D zHuoW9%el@~2g6p2k?YHJsbucScrZ*&bhRqS+tl*=tDgUAeSPk{#!|h#z*Ii&LBKy@ zM)uW~%00CYH4mLu5Zrd^o3e=zumtBuV1mG5Q4YVo&U;e~$c7r1k#%&9(x>GRYRa2u70`olaM+czdbW z@^j?+GzUK~)lkN*tM@T=?B7D3@QwZ9t!N_@ZVJqDAkbZo1nuxfH+0nE8{N%oI-}$s@ z&Z-N)Xa#)Eh5aLuMD`a|BG;LR-<0h71LpBQP8`5Q2&1V~VnQV@mLzPU1R&TsEIyx=J-wxBG z`xlcc@^5jDwY|H=IoksJ3ah2VQohVk|~zsd{321u;PObh+EAk2yYEoUV5+oZ)1RtuxgtJUHfXvCZCr~Nkehsj(& zGiW(;@FlAzLL(GC+3bZO?oO^~=X~=W@{5B8TVM(}>W~yO6Ty;ef<<7}SvpAuZud$d z2Z|$0tFk*#nn6*#(fh%mW=B=>+U+?-YvFZVf7`O{z?#_MiY|_4LDd&W+uJEJDZ?i% ziw?{0k2tZ_FV$6un*4K_Z4G%$2}3bV3eDq*8Jy6u|8=Fgk>%%#+T$uE9?^SJeb*+y zhH(NU@H2#;r^8@u6<~i8!@kPQ%DqL!J+3lxu*)?Id^qm)_3B#Xo8jUIKIh6co6WYL zNbG;c{pqu@`F9eP137vN$gNz1K+b;1;}Q!v&Pm&P2nAi5?W7+%aD1)@=9PFZ^%W^* z(G?4K;@90B^#A=NXh~}-AmzH!@hu9@X_s`rnYV{930wIcxH3XBLII2gt+yF23T`lR zM_s)U=lkz_>!`U6WzppwtTldA3gFBrOr#wm8U7d9@WjaCC=^9Y$qgzd(G*6^tn#ld ze~oNHR6f;7x#m7C+wI5im@Nd$RUA7>DJL-mK@wg4n0=ioF*9DT4_&0z6rp!rpCG>) z_(3FF3#B|2Tt@!b#($c#P<3gZoc~77a5cC6=%u!jq~~F4?yB3Ip$O_aK?MrnX!EeAeb+iv}^PszJ}jaQ=gCXau{cJ@ODZRG?wZtJd&TiSFriPyTrq&oCtWEp4~402A4QoJbTlxC7RBu%;E znZ?%GIWHUH`!OYhrS6v06dX&moVBjW%h{4y~Pxc=3YySJrEJ_ z_Q-eW%wzd0a#9vUiq--R)DRHmAdBBxKEQPZ+ZE_jJdUXSyM3KvO2#bxAw^FreECv$ z-g-%4pY)B6?0*Grd3nxj>plEDYwH%TJ8}cObal%Vf9H2-Rk>j@4|+zcR)|@|B6+OJ zM}P<`q`VFH&{d8JkF1q^HyY&J=wzOjT;Nqy_WgV3q-l`W4{`6fLqiw08#hI`y3r`3 zD7G6D*IEQ%VD-|FA1zF$J%o_Srbv;!WG~zsvA~*9Og4?v=m8X4% zA(S_at1QFObymBl8pu>T8ZJ-(XZ*%LOUevV@~4J4uIIao0l82l`zFZg?ChYKsec7x zROCj?P}#3`zNJf8+LTof9qsuP?Tjm*>=HxBrS8{JX;+kg{>5PViXe9%nB?CV+g179 zJqIFBveJ&5_`QSu(%ifZVvhi#Zf7vmufc-F$a$D=RFHAHfCt0rokA{_1K8C7eiYB_ z$M3}GfcIQPngX8063 z;_gP1Z*P!LC}QAfaYa$Kf23)I`HPEMwOJ1jT{p^}e7F6Z43X(am21F{jx}F~^w?OY z!(-|Vm4z9?-BKny6II}B`;gVX+n!0bk=8FT&OJTtb0n_1DO>>l6bI=iI>5)o*!Z|( zGJZY}jFlDwgXv)5J_cx_8ADPfiPuhAJ49ee(lq{#8Afo}03n6h0r}E!TNn0D!Yh3I zl~uaVXDp-SV4ly1<;gC3vWgwksW#2%Q4h8oWH9B8q@=mM>LjIyn2UAJ1xhErFi@oAH*NXXEm9ll2k?$aBG6UBMxNJH_h z$g-u^UjF{0YdN>7qX%vRfBbVuBgJqjEz+d}Vm{@D>JN$xXSaj_KG;h@nW->Ip~ID|4=rGa{x;T_l?;1CSN9NhD?v zshOIW_@TgBcXVge+uSj;sR9(|1Qg0S0;KvxEL87NbLRHu9=7Y`UZ))HKwWB#_e#1dz2eP&dqEqO>74e4+ zVykRs)VtWR<0U`&r=D(?oB8XP*5JXFb7rIZ;df!s(Vdx```Dp+;W}1tgJf*FiTm&e zZ#OmezXJ1Bn<4WL#|*lWx6>3~J>Tzb1dqD9A zCS`z#HL416A9@?L9w$@5xm*#JL!VePAK<+?)EHjUnDC&IAFi^GX%vaMo-+}IZgnzG zDlBwuW4Sm@IJfKT*=VBupBr8J^ogRkatmf!pc4e*nrV^V8;z6fxoRsq4 zR8Mg)te~z*XL{yR@N9r&YqjAj9j5gv^ILJiR5+5vyxcP2{(~#y`PBqjt6NdXFfsU% zh`To?xN?r{-mt6FX7l@7O*#;u7~zXHatv{eXD#HoTFmyv=j5a!8bzE!LEhVZyY{B) zvt^)GS+lptp6++Hsx8`TWRdUVJa|8)4JK(O2vi`57Q0ydn8M!~=a(${-QPP~`JuJP z1!t{}lo@VGxbsNmCG9I|5zdhfdQ2N4Hu7*Z;Yf7tLHAIVLUfKx5Y9f;K8}58^3al7 zg{QctiH&N`w_V2^+=aJ-!tor`1vY&J2pj-g!M`H?xth=#D-|)cR%6ODY9_lU;d7lg zh|k9-y_{3>Bx0u!e}e1Eu81o+&f6?bvE~}#6>|+F5p17@kn_v_TK9a*qU&Nm6ZBfW zf&|Z`Nbavo&JW~kLkdhgx^Vby=<*ar*fWF@_3qjwEzojCR8?~Z)LiG~X>PQn0C{W58c zbL#J7^S@;s;uQpRiBzJBG#=acFG|H}&E{iHmWz)E`-0=kxow9Mn?Muh@95_Q^BYM! zL1zh&LK|&>Gf$TBmm$9PJxAim-aWSYz3KKHIiWo6$&%EI|_bhgjMBwt`KZIwcVZ{Z!VYV!3=6}rGN89GWBzU zaURI%qYGCb!*={?iNyQQExvUm0!x^U%WQM-3-`55^Z03AlVI{`*f-bdn?-O7O0uG_;e@my#HyAPK6cxYix9jCbUUoJJkHM1K z54d5QIj2U&MI7CQx?VEYf-6TX&P++hkrD05vXD@7NMVw`e42z_i(|;uH=D&T&boYb zcI}Y*5_RR<^bunrzmN=pe+A%h=!7Hf5s4#&9o&mcf_t>^zcKM`xaeJwj^hFI>Uitw zLGm^J$>Yo3UWIKoL4Da9CuMl&F-LfKZ=5?CGNP|iFFD1V7VA(a2^QJ1eVIB0f9ImH zrYpWRjE9}_YX=_&6NZ-)@a3?@QH~XPo{g-4HB%&lmXr_J-YrdTF*%=AP*rwL;3d`h zOP*9k#L3&Qv?8)zF6>=?!quWDOHv@a7P5OmZvMTrf$Ni_E=|wJ#+|!AJ#W^x7qwL^ zDl0p7q%l@?dpP{rGNk7VOcGU~tPz0|Di&%!bNpKlk2idg;8blaJ3;_6;K%!PBU}yi zidNS~R&XZ#VXVYo>~}dB>ACEQAUAd>QzxcYqyULv7sVrX&ZlL#>_${*WU4(%X-QOX zy*h6FDBMKwI#L`5w$)@RKE4ti3)_zUd*d=;*VS+km-_wVHN|QsR)UM!uNm|tTcYji z+r@|Dz^|B2;_qw9*>FYtDysyzc~+&XhNsnBBiDkjKGILZKA+6?+ zQ5CQFtmxpJ6{{eJ~|uZ=!SqLm_h@LXvaUyQ~v;kUrcEbyFN{K;Xg1{0Zpm2sJv z|NPZ!p!>OV?}L$N2b(}=Muq5G{_4_UG3yU22|^J(s+iqL{>`UGJ`-NjuRpd}Z){#W3ACC<-Pfr*d8$mEO#p&P%t7o-+m|6mvDeCX1S1D76NRZTeZ zUgM2`W~UDPZ$Mmxy5txN?=dHswO~%(jmPC18Asv7C++OQ?Aeot52CJr z%Hj9aR^5rkwYNOuGIz)FG&yHk0JO!?1u8~WZ&{Q!95~~PpsBMf*haeIgi2?a!^q-v zg@x5(iau+@>go9;!{@$nf0m`7-Hj@`%;`x<)}utXk6v<8JKRfaiE*I-4!xj%>G0{? zvXls5o+{h|bY=#vp=FLWB*eZ0#`AiRHX`06CjO49L-i0t=f3x%&@PsIpZ8ntW3>Wq z=g)YLrQa(QJ}_UpYhi+Gyn^#sj-1EnkFc^HyJg#iG>4qgSt}|+>gKL>{6ms4OIiTV=`9bv!T zRymnp!tX`OY0=86Yim3UzZ%MRck)A=a?Y%0xU8ITRP}$RC)jv^)MwOOf4I-g>)myz zu$g#qVej31v^abH82t5C=8drSa}TUdLLD_($!tGf*1rOtZ?_CK;VUE~%uJ_>wVQ7F zqCDuz+Cc9u`ex0Ul-7Vfu}N}?or3MknqQg72s240r6~g!&R705Y_c;ZuTi-;>20BN zE6U4zD{_Gzz2mA|l0IMNssONAAL{?#6Hocy5nB1bW(DZ^ zq_(=R;i891G}~MafgTlCCtwOLw_r%NPW6y`YtERC-*b$>xkD8^sa!0xaRTf(V&F== zl?1U^X#O5_6X@k-Y%ipH+)Pxo?4&{W4YBpo_xxUb4rW|cD zo25Aw`1B}Oi#B0=cj`j@t5eb*$w$lH<WF2v01w;2J$a>FE`&;$MN5J&-xmamq09 zBUJE66LtH1Yi5tO#k5x7UK`y%qKJWT_%+WQ()LO;bV8NCW0aP78@&?+Q;3^zIu9o9o1H15P?6hlJMC;x=qRpZ0@=D4&cM)~6(s%41?PTU_@H&15K|zR|Kq z)ljyb@D7ttALcug;72z94nAQQuu6=lQ5x_uA%(5I@%8(vn7z^d@o0) zdj6anng2vA61CIn7~P}n6mH;2XaMc2$LTm~{85?P(4gvEt`)6UsvwBP!bDp;ufppOH?sGFV~8fHV`|n(fsvd^g=Mf z$LB6bf1886lVVd9Yq@;kVy2 z$CTBGnbMZfd&0-RCe>Ub?=y)CisPR>Ku5ZL6Wy#so}-Ir?H;Zyl4NL_A{XBxFHlf( zV&1fh-=Vb_mhp6wAMh;9yNLWtAE8nykeXy`&pjOx$Z{$v1sw)I_3`>b$bH=U>cz@( z8IDN7Z^N%yS;Wmdzs)PU<}8nVBPe~QVmj1<<=g)eSojaPMM%Z$=3K+}z<1ZH-6L(U zm*LtmDY0fAxjX{H3Fsbrg?=E1Wg)e371x@Nz22%PsX42PJ{MQb%4HYvUXwiRdJNmy zPoQ)fMabn|(cw~nMsCeY^RcS3+_=4f@@`*$`XB_sMrfEh$&W>P>wrx3@Jdmxg4>X z%n;;Q{dTiq^0P=a#MM`6grheX6OEPU| z4wrg-413X)tlDju>JqhTR?rr*+U^9DM?p3h2|iS#0sM|m{ATYWi*pKNoo>ZSikJ!e z+RTAD*Xr^<%KNzSX5SXx5L~gZv9<;(r;Ar*HlA`c!Rs7wH(_IzS7MsMu>)`Ik!$(d zWwkPo)=$fLQJU0INC}Jn-M!ASI7t}%`v1i$63kdJ3H~^tAXiSSt41}-8*W#T#-9E4 zP(};fIXnIkl1XlO&;?x#3q^+@t26NfYl8Jd-uRDoSQDa%;7Uq-ZRbY{(uj!R9QnvMU zr;d+~wJODM;_jG7gFRI=j{6PL1%qzPdsVLumYfvti`gwY3KzxS!g^D3l+w0d<#e#+ zc&l2U4NA4g)G4?u^U*6EvWPDGKs|*COX8ZcG@50zw1E>Fs@Tivg)Z_M<)=%2w~=fa z-bC1P*9C{OkUW*(cT%O)YR~_34E#Sl2EzZ2{Lk{L4HP>AIz`8mRjDzt7Ggn0?M{Ww z41{yIvrWmbVzC9;c)*ChEiRBqBA?!|MwruMJMx}e2w_1b#Md>7W5E>|xO}$XpD@Zt zMIS%$e1W|(<+{Z=zMA#bD^Ij$qT_Bu2i0-yJB@ zk3K-#`X0cib+YiTKz9T`71+`OU1XwLNqb(Qkz(_5{L-aCDM_v&XWGXY&#(+|NJ81pR8$eQ;Oq&*+umA%~EgeHeB6tzd4 zW6dgzsTe{|{46Q<_8GL%K2>P0i<`onJ34!R}nJ^gOm=5d_n@Jbw}f z!!?@L8-V^wh1?<#BZ&v}#3wKsB{@JhfLE9!U*gU0nV#qnKT-8H@XO=wNaN|2#rC;g zOXLeY^T9B&m}@-<$iTRtmlQh|{~(f(d-Us6TL||ViXFKPw>VZ`$ksHCtjyHx_5-AM zNTHy@2DlVvzxxy^X0x)SICo-~H{t%iU<-fP+Q>nKBB`v?C>D9T`TS zxv)?#KBS*$aUoDKzW87^LtPYB0|PR!k-rhvCqn7Yfvs<^&B>Vo`4{Pq04J7wq3fKLf2?>Rxe&Hd*6loyv5!gsMwCyLx zj;Q43L;5I~3_SOGaN#6H@QL$Dr7?@Aj6nS#)Hp?ky!|!3Mb`q(yP_562?i4k24V9q z;ekZN@hZPsqwdf@glpj8k@e=-{!RR%8&z_2q!lh);*W^VaD7V`OVp%`4DU;mu!nw+ z1efx=R2jPX4BRBTee*=`W~Tr@0gfWX;^p{K{2q%F0P-!|T-c_f*QXzvIiYAZ>Bu17 z+xgRv@zW8{Z$irQ;ap!{s+kn)GSE)0;hMA9M6?>26w`?isYuhTidI|kdA+p9Ot)=X zZZ5djX%pY7qRym5{t+X|27O%_J3r`OX{0ylVw@zue`&E@;3^O)Dr!_QVCEAO%p?L) zMZeZdwYuff?w6f1?A!8U?Ae1oZb0}l+)RTV!Ak{56>=(~?++mPYBXjbf?mee_>VtZY zwnz=J?AXUH(XiKQ)6zIO`d`?9&>EGD9o#XRYi!Av;A=s0acQAP9%JwWhzEr-<}_& z+zEQ0lO~!QL0iU4g7(*U3UWxiQUc^h1-9+gdM*oTd*PW6SdY`IogcK{$JSI6=oJ1A zuy<@jfgR->zZ1zspoO?%049sP<;L2+@Y}I^D7&U_c}+Nm;Z)q7K6ifS>lwhv$tZdl zbTPp#jz2c{gEqj(xM3eezxs4GEzsX`SFCr2hsOFXRryT^^=hhQG-yeb{DJTB3<;Y| z(YNU>{}L%&nI@fYXDc?ledFQrW}u4sZl@{LqXqc{DN`>ykC(0&y0_PdKnr`gy{5Fj zACv3mJEz>M=4>5UI+L=QRr?re>9_(ef!pUjzq-CG!43nVYYlw_lVA^3zi*}qWabg0 z)lm4XAH>eSD3p1&#RW^pKNne{Q|-X8VVO3Y3&dNnBySpC(vy!QuW7Dp?!kg3d6(Ep z;Qqn*D~E;%gfej2B&M?|Y$x|0UJbAj9j%!%lRD4LZB@}8)(QBc9WLvb{xz(w{MxBU z?IKlo(_iB1=0e)r|7Zb-pkyB3e4rREK009YfsvUQ&eAK{@@~6@s?m@ z=ZVwf-k0JQvp?J8KHx_QH1onm21h$ch*~$j;9V<1yP;>9VI6So%Dn99VXr%Z`{X-Z z{n{14!PDu;mBRByL4AK~7%zoHeM=I@-Nk_hiR@ln@+aDm#t?s$*5iOI-yrAz_$+eQ zTfa4y`uxz~nd;+9brRd3hK(T}!w%&CvIg!@6ULRVgWYEj!_e?SmCtFUgFC zs)^rkq>r?7rFe^25JHXiB=6)=n^tl5*Q5_q{;c}A=ePETD&Ht^f1N{V>5N|55|TJz z6tvLJ$kvBd2y>MrI0v~(%=q~D-l)B>r)G}Du?pA!a6)7GT|Repv5a%c;>fQcGJOZa z4RBNvK=7DZPJuj27+Nb1!p^nBBGy-) z;H}d0>1@Twd)v?2-X6$JJE4{JK#*tbGKzHZoNaJLCcWds^g6qCnA8#$hS3_~di!b@g#~^vh>Dv1 zpk_Ay&w!oAYd!Ul=MPYSmg=tqg5fdX_E7O-^HDx)l{OcJ!H}KoybC8#8CSDDGQ-|U z8lO_@|K{EDN|7xy(H43^conpMwpKBRQ&}j!m@}i1z5k-Ri%Fgt{HGExat{_qmq2F^*n3~vg{Et5X~gDP3VU7rQ~}u||Y62wsH2Z^BRhZ`ub4kACm< z4DvM-2}1=wSn2iM8mQu4pLukluQ-0ZO5S_*$$g8Pz%&@JHd)T>JRZP^P{)c8iS@c= zUR)FvFY$Y`D$%WY456)MHSuFu$|e4h!=e2_LwmT{S5L}cOpgA$DKO9Cp#zA;I*usB zp;H>|>|jDc%crVVD-;%M?LOR-OPv%-xmgwHl=nXP>cP@BK}N4TN0a-ImxBX*YJp1P22e9d3}d1raI;PRipIhC%#Wnl7{{Yqin^2*Zlz62PBXj z3gbLO;}Igz5gZI-+ON+c2>-lp6NW;EeMCx}IU16BV?lghyx~PA_M3$txfBe?2qBpw zXaORiQ6nILHJ9+`?QXslTKc!#-sd+a@<}P^K=i$Z!KDNCwKJxC8RiIA!69~XA1~MY zr;ySkzU)=kPB`7GL0RCPWH$j)C$_?X7wHr5dp}d;xn4|38Yw1VInjj6KZsBa!d*Nz19Jfz`3ZX16FFn~c$X9?1)J%`z6Z`}$G zl}h1u-*oj@_nz;i9{@kwOkrNvvZHpBh_a74T3!g|LHK~x@9`VF!o}tU-g`p~Vbhz3 zuc}W3OQwWj0FOg5&mknZ){tZ9b|P(gXV7o^x?$~41)MX!jR*7BYLAyb`MiDjdX9&A z{9H95*Fv2C6Iq%c!&ThK!JK5N*A={#JO`brS0+_?dG~Z@M3tnlPx$v9#h)PTotwQ? zL3kAy&~-uhhwDxdDrJz(e+4vq%t`QF9O!(aEOs+z%fr-T-pf|=dxk4G>R)8#VD5)! z_q}#Q>t#oA4wK;$q`Pp)SdT9z!MTb3zL}l~zl$85vS%$n{bO1UuL>wS+jg{lPEQeu_U~3 zP#|B71SVIHS8Z_!YPSPJV1wD(UyG*Vx478IOqSD4tBC0rqHn=RCnpc1KbaBq78(3c zH}Ll$OTNSfmU43RzXDzaGO2|eiz|0(bu(i~r;Vpf+>1DU#`Fj?R~{%|mUDFY4HWVE zAcUMrrE970E1ld^U0q(SXB~c$v$V?$c3Uc0 zQvkRuuXoYf8J9UHFixxz5}=kM6ZOqeH<&f|hd)&?P9M%{7I)i1eWdb0S0Z}a`E|@`PoYKpPXG+q!Yc<`VPq5-32-Zf4kMcqO=-Y?6XBys^_SZkl{Ja$HhL@~={p@Gct|7mj1w-N+Tk=%yr9vkW@%-M)Y5;by)3 zonwI9>3!q3g*?+J!A!Nl3n}<+n4yi)q#r8TbnyTRqH{s8O zLCH}|`Z`xmxQWEHQ?~hsx!!=^@^gVKn@Gz<3V1mzD>?Ft#Zz9P|XW?>vlSZzB3=EZx>czgZ6&t zJzaI3aP;o&nduWr-+wQOF4e;^Dv%ZMf7-e9gTEUS*moaeOREdLTo$*A_>tl&_9D4) z{=m`FV}}nEwIyW7Y}=D`vb_epT?S}8r^RG*{re2OUCD!&ew6r2mO0g?wEONmQzs_w z+woZMz1q&5dJ)65bM0T3;4Epu!mRC^^fcN?46 zCk%izjm>zbEn&2mZOwb5PZ}ez)d$jP|BJmh{fF`o--ky;hzVt9$`WNuwnC;7lBDHR zwwNM2O_C61L?J>VikM20q{*%@W2{M*2pP+a5mJ^J%ea`CtKZxA{s->Y_kP{aeh+%- z$!ynkz0c)1kMlSPiS-Kaotp7MFU#Vo0RhA2uOma#d}Al)g%u-v_cf=}2%~`h42w+C zH=94~<}Q{DI~7QW?CBLARIN!lI~HJUBIW1!@z{>tI5vCib)qK^b4F_k{OWr=5^kF% zN7`i0k&cv{h1FQt)X*-Ysq(&G9J`-C{mw^!w#zN5QCojJW+l=p|1c{s^$r&R9b091 zsTL-hfkKR{*)i(upD#I7NtA@%?7g(C^Kvk?B)E!83ib-c`}$~EADctd zCjikFl}3^phpDLTXs<3)d<@mqUi)dLPJAe{CyA-iuH+p(^fw2+{KnjwGE>zH}6HB#pU~Ogy5fq zG7=~$1T>gwDfKptXz3#;;LC@x8!UC7l0Lau`u>~gLqW+Ck9n^G%f(7->8rErFF{JU z58U_!KLP!k&<56u6#8C$K=JVJK~BGaH|ytR^QOwgeVGEOLSIbVW-~8QPAS&6W>(ep5+<_v0GKzdh7*3zTLZ{zKq6}J$kNbWd3&?0@a^d z3|{-3SHlG}ECEdrD`E@6Yb=>hYEoBA-4Csd>CI7NKxi+2^P`){H)?BXTUE;yS_P?n& zlj1di8qs&RV-kNh#J{E0!6`SwSAOwB$WsmA8#Y_*q%p0CROP{oViH63mYJ$r%i(uA z6jGnRdPndA8^07h<@u(-jRNSW;_!;^%`cQV`^iWKxSW2}92O#gG!=DyzjgT}9d|qi zUF)YVoiwjT*+MvI9kTRpBc#`HiJzsqnM`T{o3n?CY$fxP>8WHP9g^BCP9y?HW29K+ z&0T*yI`4hgYJsr*?BxjiUnj3~o4HzDczcut7gG@B2)NA-TcY-}le;&5j8eoNZXCC_BiWNoIfi0gyei+%cW^HRC8d zji-OgsDj9w{YT*JYS)|X{>o?d+XR7Tln}VzPJpLUe~c3jRkY(P5?YCZH8D7oD0IBv zqWKZ+h3}Z;E4}E9I^~m+=7-zm0*6>#lY~SJ^S>T2X^7UYx1S{3&qp@!3g;FBuj|yy z7^snyq%2=VzuG4~u^J~?e+R#DULqp%GmqZ9jQKvpl?;Q0>zFh;hP!jE4OOW`n0NDI z%`k2g3M1V0`hzNedXk)0W6BD~>;;KYaxb#R<@Syca&byF4>bMo+CYpH@n@Xm?wK&8}Cn0}>_65~U6b}z;Tr)8huPE_1yfzq9$YiH^cWW`Yog9 zcKK+=``8llb7&6BmDFk{?OOb7#MP%xt=G?oXInTf zsy?DmKIL7CLI3x^6}9=luls*5i1e@be>Wc1TBgCWn292;37!iqqU{_(lpBI2kdP(1 zqW%lM0$)KIW|xjT4qFV(fCrIWq`bNzaS`qSDcC&Y!{TStNx2Q6xt-2Pa#&4Lc=_wj zO|m+;@C~q3>61rn7{^Mofuc2blWhRt5J)or#_}$}s{ox{mv53g}*#)8+ zB{H`d^UNnG`Lm6Bs*t&(8|P@$4rapq9;OW_O1I!t-xFViH`|f=uqk!2Q#;1FFCV2I zYd^KY$4EM%|K(-oszC5*j?TyZ<1SN2`R@X_Vgsbq6tpLHSZYFO?ik1LH@ZTGB7FS~ z;FUS?;$1r|hV^yys5s9Zr&lM7urF7!skALP8MqH6Tt&W%mRkvk#y5?t*0{RaInYQxgnU!EQ-^6*w`WUe#SG&B5B@gL)d(PQKdB>_0DUb=84XyW$6>tp0Yt7FSPLpj-B5;)02VaJ9B3tu47tfIJEJ#vu41!nxm zC7ll?zHHs^&rhm6Idyn!Xj&0ieqz+%CREv4GwP=a`w}p=E@a;Phj1kIn(MO{KX$!4 zQaRMlv0hyj5@&ZPyGE`m@D<@9u>nN>fWR5H60y&GP{2I={WwE1lLKSA-D@~?L9t5_;&65n895dijLkhdwz2*w9Qm# zu85w+dkmTbPpsnQKg#==9n86WSu(+~Htff$neBYkvtRXf)l0upBM5tKcP@DLjL)uP zfs1s0-Z?32~w*7vS+YGBadDKUG5AUz4k9E4O7(CUH;IL4mDoCnZ+C!V3b88Ih77U(U zDO@UmfB((Tl$f$Ih`{7+$#W;H+;uc|L|s_MsPhqjak8<^B*n4SEG z7{BSX6ygLT195KHlXEU=clLyG6=P8fQXZSB{*?9~GrpLYQLJ@rjp3TXX-!EG|3sNQ za+tHN?cvR@$O-$CSJM_$h-ys4uT?`nXqBS_vX2tllRVtc$Rp41Gapw0u|!4m>aL>X z`p}Zg0ULQQPx#)AxADYEOC+Tv9eDkgo{o7*mdA+!0jo78;WCi*JwC8_%R$<2X*R5y z!Lak&Ta}4hzLx&P_gCPrdCH-g!pO#0zCD>L3rCm+C##vd$6uwi2RAAbFr^5*g$$mF zMa~tMxOPqig)wH@l4;xQk(sbmE$jKx??st4`QaDKU_M*!x{IR$_K|u3O&RZvzIVr= z5q;NX7cstG>%|GC(=6LfRZ>4Jb7g&O_*vTdZ?@(`q4<~9rD5B2Y%Z*{Eaj;`HXzi`~VeO-2k zNsVI82rm%`BGD>j=C7w^-qONLTHc|YSq_PMZ+=uouAEm?Z~fN#^1;O?C!KzX z^R)ra+EwiJms{EjIyv>?7WtWrdv!+G4=1k&k8B1W33wRrCb4rAP81hi2`sQqhDUNP ziORtPp5_O0%{X$O*QAdk(P*;?MYZTziiis z+Y_D??RmO9%ZN`>)K6#LBhS%SMEydHP$7;jJ9*_|=8iiL{|j~*Ia;?n*yqc50j6t3Y*hocCvebk{DTrd+tY7m&GCw%GHkYDgZ~scDw#%e^c+l zBr{5gFNc2ntaH%uYcV0MxCj5KjE`>FqW5h}zR>PlsAET^9O+>X@bp-6h1GObF;qe) zgRGED*nZ(sEyrykZ$eM5$L|^jj^O3Js6S4gW00f#9&QE~%9o8^q3N}`3*c9N=RLt+ zX&KV9;QPIH)*s%xpW0nl?B4nIPfo0^lTOzd#joJ3?VfWnLitr2w&&K*c`8`z*A!tL z3T=;W-PGtfg{H@o%Yn?03Bxe~){Tm0p^{gkZJIxy{az~7Tw^R@qvjr5FQ)nFBYA9D zU)6%N%E`Vc-_$zf*(`V2b1Qf=EF1^crV;Q(F6c%D)A1DDDAarBKly46EZT$lc|rTE zf_E-9*O9!?ijV!TxhZ%6;s8L`rze)S9TpkEbz6uryYq@571|lXspR8Jo*V<}DwnX^)oGT)&nsO*%y=v>4bAD-)acZ|`lUF-Pb@Xk(ec>bF0Xq)aOZZ< zL)>z_DFTj02cjSoAa~xt35>$l0j;3@u29Bt)~@+xhj$haqN*SHSA0(C8*L8up8R&@ zg>>c8PkKlru?9_lNoJlV4hO&@4$PS|Pz1+*wniqySF$to_4rS>BcuY4K7oTa!kDaU zcpVe%X9Dk@N4+AS-da^&VcPbBJbp-#=hwFFRHkOFhT4@-FvZXt2IHb^jxMePRW4Y_ z*#%iN&9st{tDU*SRazK{T(@IIZYSdQe@xx|zPQRbwmwMUmMpgk3|-^S0az)+1iuqM zVPu@Ion|d*NcbuG{y-o5@My>AGdaKc>o6rPZI8!sC7O8D{O}6&0SJ$NQSst~uK* zO$r6~Tt@aM&X>MApKkq5K`jO$1pHF{hlgLsUVFfQ|L3-IkLrV0=)qvIG>yPK14N%` zb0BO846xQxfnJF+OXz{o5jzIL>c^0Kekc8s0-xJk-3TWs!>_hA-21D6UJcgQ2oOqW9gy+ZDhkNRg>YCu6gda z;J)%>0!0U3l_|eCD>Or!(*qwo$;&{~pX2y|G7{h?_|9J1$j%OZi*eXjPx|b8(=%lz zvL5GaeizMm7~&E0P2Vnchx+?$JfZVr#?YS> z!w&A7(_YYi)i3*d?aczMJAS%#;pt;n*hRel&NFl%7E;rjqj7@a0kk+dkeIwNlT=CD z8D-4j`yRMbSE8w{27haSzbDV@yE!$CEIuulm=+h;??IP$3TUOgEs$+P%pE}QIaxjU z+xWG=kRrlNG40FpQPdMO^8yl52i!tvKcSh3j5-XlO2e~l`^`=6gt{I!Hw*UKnPR4q zbs{Ci6JHy+9-R987J~$kbRQvA}YEk(jOV;Vc5b zf3^BVa8;vfZ(rbPPkz)SD7&+Pq5K#b(y(bFj_}*^YNNJ#F?5hEInou%bv^~d<7zqP zVds20o#s;r)Jtj|)R&EyS(j1sB_JM;;#$x(n0ZTv1GQull~f;kl^9MbRjaS)!y4uW znHpD>r#W~khM5LtUwL|Eyv24Il}jbR_NuP2+Lr#7?=}L_h;b;YGMUS&y||Pi{57Q@ zb=zcrtPS{9vE(utuEH#M&bxWZT#P3xnF1@4SSCq^!zwxb7g_eBG6bLevAAZ#1FqIt z`ke~%Gr}DlD8#T0?m+XGr^5@H+ zmd6(}W9{$kPBr4Z1MZsRnJNebg0G(%gU;q%fW=OMhtc6LZ5MvRJhr*j1((0JWd@eu zxH%I}9y*L71z@US)O7~=1u_PhC~R^8@!MC3v3UN<0DGY(s-nHvll!r6ho>LAd+$c( zb*SeSt1V-W2Dy!VH0Vp8OtsSdv+Zi^HhP*vAp)ll*}>Z=z{~fDS8>4L2a_ z1|#x&k!{E|s-dIFC5iO0(b$O|0{L|*2fXfrg%K)Yjm=T#qRCQ6C zT`B$y3)4(1)2Vus5#l4Bhx_c-QJ?59G3sRWqv?1XKilzg+o@YbYMKgiLC>POAJv&w zs2>z`PQXt7zHB4HGcLWo?AKYLMsm&CoE@_n7E$0B{UMjr+KyPB>#wx;{_~ZUYnvmh zcef(l>x+yg>!E4vaTgpjBP0@9S^${j+4_O&@2AO0_SWCE)t!D-mM48b5&R-_ z3;IdSAr-O)m^F$MpuO!+m%z9%f`z{I@O?Yyf>r0iE$z?EVRb;i?H zYD&Y6e^WkjYd3=br`4g;xKe5GHhqpJD9aC!jQ`*(^&0hdLY+=St8NmNa-OVR1DU-# zxnsklWhbi3K8o(+$nVp5ZXmw;jN<`bLc%lcfe58g>LSiGyx-;r*fH-qlaE_Np_B*1-aXdQk#Q zlVUEVlIa{Yea18NlGpavO7CqfF}uNqI0PhBK-aJtv7bU;(ZjEnTU=sTziw;2{fD?d zY8CD&f3%TBg(jJ0u=ZHgwklS9hTg*h zY;MAl#8aB8Y1=CE@E2IO3qzTj0i-=cp(W4Meykp`4#IY1ZCv?wLR9hS?gz-PWKCe3 zQ+8?{&p^&QFs0~&B|#Hl^)%mtxfZvo)t?-0)NrZ&%;W3mse9)~rT!tJMOKJOD2YJa zt|()cUWKs_RJgJ6xbb|c zew=3135ZtuH*C$sWkobt`dNVZ%V001l-RGbuI+Nw*#S0{hzrcr`M&sO8kB^tg9w=kU>atX{`v6!Q!i37z@N zUg2eMRXOMN;y=`*u#Bs>JKv05*6BaK=ktN%=cjf_pHs8^rqG`;@^EMxn5T%cOc;Sc zI7kxLf)QJFUNNIlrP?=a?k!@2ENowX$Msq*X8pF*N;CeUh^ng(GvwnaOpvKP>|0Pe z;~7pN>Hw57krL1{*d9m?O)a|`5g|~^sc@#;RG;L$9az1HKY(VQ$3m+3IR~a4EWF6* zNk*6J#oeMM0MP}#mpu#u63VsOqGWaL`xO~&JzZ5%qjrL#uG;vSx#s}5pWDi@{tJMb zBA|29%ziX+`F9_GpuOWo zetT2aaxscT%9yE@9WF(d)SUJ>6w|TcS#<+lW-}k6F`vOv z4cB77iEEZmxc{1U&jQaj8k}7SY^QeBEFKSRq}%r=HoWEk+u-TeXQ*Txgt=Uw)ICV! z1y-CYJ3(+p`J$c@p93=XPc)FGwD-V@a#ev~GGXVRtUiJKPOHH{tat3?=wWHICmOsT zyV`J6%tsmpJJQoAk8L7T#qBTswd`N~hp2qruWh7|VxjdzQ8bcr{dWb}Jv>d*n#XiI za%I}tV!YIU2#`pBmYn95fUQQcS%L^@Kcv_4S(DjaFcEOEs;)lY^`+>@ff|X1&PtKK z17^vx4r|><(PcT@e~4UIBoCa_p7JrjVz~DoVmsp*=4-mcLqjV~nq@?LKd~y>&I?cw z(M=H7i_tq99aN~p`?mX$z(?1Gbc=gz;-m(=Ee|Zlsz`(MDF88zD>%X9T#X+j&2YlG zffW)kY5Ad@e4I2oikiX3L0#|0eenXMJ>em3CL0c1+{o`cRVgcj1+u&q{mXGOHBaS9 z*&W2G3Rr{&E>Ab_3E7MGbJ2-cjt2KkWEL+3t4B$nthapmm#SVjyqN6psYYtp-B8f@ zlgue+Pn%H%v{*-#kF3 zKmCVT3C3?nGe3fRxo%8KfSg$&AfUGq5YAw{>d45`YgJaRTeczRe_Mu_&Byvwfiu4k+@k7qaPZl<-dppcO@k74M)yA?2bNqZ3E7vA ztw_|DU#~DY#W_0utE}Vj3*@;$?!^g$*lc+Ky!QvaZ|DN5>WZ?hz%NVqxOR zRfM@=*5jp_J54{^XYFv-kjTh-k4W zrv2i!*&4JA`YIL)i4PFx?>||nqGy)p?TxwliV>-vqBi^dV16dwnh?O6C&&VR2g3=i zcix+NX9sS}k9-C+wzQG!0ot!k`n@916e6_<1n!wgois{XV!j-!@CUyE%)RtpoeD6>HMeD4U>+X$k}C=Sre7W8W0W>xqd{}46!xjihf z+%vDmQQ71Y5?UhQ{ahc`VmndPWt>)G>sR1MJy|zy*tNF>rK8gv)pYaKY0$=xc0~}A zfu}GA0eP>r;*197D@zYjLP8@WZ+x_r7UEWUQvnMy#<9?G8H^pbX7C&tVtSgeE`-$`g{@ZW5S=m{)q09V=)hN1Gf zG$AT`_3!%7->ryU%%X>AdI9;PV@y>5c^fo2nGFIm@~`~0C0C5|AKc#lz@nOb)GF&s zjpXAu=;MN>j$@%*Kwbn>0|%}oNQVG?ZADYgR2lP{i|i?QKqLPN~SNn+e?D1{l;QmwqNcTw5t z3c2t4%Z4&N>>4>5A&`F^p$GjTou$jJ9W)@#;r_ME+i zM;`DN*=bK@oBrd%F4w}SN3=G=ARfm92Tba&XU~mHq{WbS^%-fUM?{1Mzl6@Tg#^F- za^1(f_U4e+$Xt--j^;gE2XIy|kiVCb;Ir^HJf)Y0)FU161+=}*hWnm{IwZ=gGVXM{ z;Fj6pe+aNL3xYj8r+^+selX?+o&wCMKMsM?jldr+)m}|Q(ir>0+cp-OJM6E_+WJ;A zDZz^IRuw-4NFI+5@srgQ5y-KxT1x=31#iDqZUB7+B))@->`4o0i@nlizRSk`Lgf#(!dm`_sc1pU(whTj;!lawSZ4t2el)c6djn*63B!}^rsSq%tp}wVtN{Bd zKJ_A6h@?}l!-2K5`B&(|NZ@TsW50)vajt`V)}U;_D`ZXH+#sAh4Yas~^3;^H91p zhI!yH|D(t>q})7=WQDrh6jLv;v%alVJZe*UVOTrax54 zf>-VE#=Sjl#ZfrroB1yueFYeZ+gn8lwe-k$GJ7W46U}chJMhMFZ+hM)Tiq-i>=WxY z*|;;bbP<3k;!XHuGP25yoItJ!OEI^a%(Ivns7JqW&vW^%ttzn|wpKI9wmVYItH8|$ zlH(c>c<)Td3Ba$(hDA-78n8&=)nbk203F9Bct3OHoc+6S{DszUv4f0blJM;h3IY<7w%MOvGxnNX7UBGPr`=Dw%u9H?J zN?+t(Bb$zxWF6xa7%e-@M}q^gmy70YR<`4Yyoaz6*W!}{GTfRfN1o95IG|Sh`EypZ zG3{JUb+Wzmaip=Wt^kI$-XCjrR%m5L=f|ahglzw2<>_UV?@2PL8<$_Tery5{>41%M zyLLilXu@0`NVtqlm&J!hN|v1c)FY3 z0PcrzDb5uhHpm^D(8GF@jl9P=v2eW>vMj8%8|~X`uA2zkeF)}zE|W1I z%=AjqGJD--;+gIMI>&JEk&P%pau6o9hFqT3f)@qpS{S$gIFXGP55IfdoG6E>JX&$s z)?#4bWsv z1H2(7Xg1%u&qUKq9Hm{aaooyn0Qz%G`DjSL(OeCNdCP}FljAD%a~*+&fEuf(g`m*B zv*Pc#Tvg2zM@v_?Hx4!am$I@48y(8ATGyhbW;i+sywgrc1`x}{z@lI;6|7fI5O@3` z3H4v+?qlGEEBC$gHK{r0F0rc*>l~D`Blf5|uXkJ!(HixM6NslY16bZ`G0lZMm%=gS z9%iB1(Mj^sR~q^%r8C>IV+1*}S>sgLq0&-DiqCKA!JQ>B1m5n4oO|_{kkk`CT@!br{vklv20N{B3Ggns zm4Nc*JpxWGGR_d0CH>`uk%E}=AI+;D1D*%QbjzIk^mvKyTUm6*71?f}!SV;yng#)W z$DAWmi=E9Jn!C@!v=y9$9!whe@g5ZNlFw!-l)dd@M_RJK2L^hMb3Nx(3C-wN1F#=i z8SF}m;>Iz|8$NSAthy$WQ>-|IY`x@?ox%;7JhJ4Quk<}}xd^H81WP(gu5%B`N*ai7^7+Sj)lfK4J&KnO(wkj{= z>WF~pZSM6&k5qtL_TAJ7Dp~f7B8;Z2wa+&0x@p#)>wB-d@fl)A(@BmgXtUhOcd?LJ z92m7WOo|0GV=B%xFxxMF2fAEA_C~H~g;PsM;wzVCIn$L%27bQ^nnq)Ep{tMhh`$xs z0F#MLiEyEp8f>Iydb6ui==VPM{#|3^zN-@y=Q6$Lpe2gfWUW3~M^>DnvcH63wO`B;Q5CXCB3y3y){%CYOVkrB3 zy4?D4)PB)`V~MIKLNAUqZuG!nJg8tY?dK#c(!uJ4h0#UO8;4y{hrbj4a}(&ioyI;~ z>Gxx#UH)d-Vs(V%Utfhc52d>``8gT2p97pu_bKlT`Fig(J|Y)2QxySDI!-;@u1)4n z>JvK8edN-oJ|F3!60CVhLsc7XHB3eOwaswA`X*($7H*<3&*7<^7}iWH28rv<#_>aY zz$(|MKh^R6ieZ*r$tP{Yo=SI}Us)*v=O5_uowOWR+&)hvfI!~m<;Y7WY1hTrh10L) z|3k2Js_{JG2OE#U9a|o%w|NZ(oDTAIuaEEUqw#K4e0|hHc2?Vuc3EGZK+OknjJW|n zyuVvWaP67Iq{aCW$zfk=Ysw0<6EOFtTq8>|AdOR8e()v7V6d2W9tmmAwCTm8`7Ffe z`e6ZTRRz=pcxCQ~yks059h8=O0-n1adoz6E;amFqijy}?yvaMzbP}jQ{~?AAfT=dK za{@ch&)FFuPrFwiqL+xSm=u0%7a9=;C-#eWx^=s6cTfz@I!^wpKOTer{wirbjeP+u zOW+d;706~RD(Z4|v`Oooo_NDjOXmu;;&^zvZ#?oTsAfF8^(Xt2Hg3io5a_cm>dJf< z*z?s|61`Z_5Y_(=A@+c?A51nbf`+>Xmae&vpV&L{53xIKJ{NGUX@tu4Pheg$L?JL; zfMZ+DP&@hOUwEejS87n*K?2ISSXDi^m|7s6p)Iey-#d4%uPf_P#HI1QA~s+9wj8j> zA0|{IxeBcu8QhmmdV>xI=+|iF&Km#+p<4<;){EyOr+vK#e!f%E)zV%^`FN+7)-wgj zy9wsrG3dIVQ;!$W7IJo0`=_j@L_oHVRz`caqx;ID+$PbY;Zn^qXTesG z@27@O8J+Q<=lw;;89}ySxcCD|Z+5W~VBrh&E}zLGUE_tJUT^)gOueQi>+D0{xL)SN zs+!-c5ZwOf;GNw{CCe4CxGe7-P7D4qzP}dSSSz?SOvV1xh&7pI)6)6-^18IV?z2F> zg8stv@GhI*i91ivxd=mieH-5*d5WswF?5z_HnRolEWqPNCmtHq$A*Dcl<+0Y2)dyOuw08 zn$pC5A5ljy%S}~_v6Z$Akh(Km8JGhYJ6!~uq@jy0k#Y9J-p6D zB^iy(=({@k;ne%FM4zkFL%TD#|3iF6H<6wXaa~_QdUmxep`_KwXfucM)0fBHMr{O? zeNne9_q2EpYpve{*UJ*$-KorD(Bp88&#T%8{(sH*z5XoT?#i=jJnPV={29mYoV zg#yW8z%nmaa5|w6Lu^dfI6snnlWd5$zW>z z=oLQrE>4IQL`XB2dmTPxr<+9`crC*!k*c)`5&X3!=7?mH=8G-=_uv2LYk>UM_rDtw zdDnoC^s%idpV2AKrw@Q5-YKC;8S;7NR7DeN?Nmm$NF?9cMD%tb#BP`lBNIc zV1$@J?c}1k)*91Fk~hH5SoOXB*0|{md$HTMf7U?WyRu%Ajh_vtD zJ+RWDr+(2{w~}RH(E-#o{8af8&k8qgi7}6Zh1aK|z+@#Z2IyI)CBxEMx({CYk>r`p zrwXEUBDX%t8C4;lZuxkSeoG(;PFGFR(mYM9K6FX{ll9mub=mC;yc-2Wg;5gVIBf7@ zU~xR<2rN3vJqY<7VVA!BE2H7e5+}d!?s@muG^gyPDDh94h8FIq}l z`<&HZ3S8GuJw%+IfknR+gKlgR6sxYRwf`^`K&cvxGXeuw&4y%?x{UT#qWzw(j69Wn zd}n5y?6z63lpDZJM(3G*GG|0Gus+Vjk5zRJ5#Qk^{-^F}CG3J)ANY^A! z0f4|!fV>4K{El^pDUbgVk^bL4C%3;Fzo~PEiTrbDb+rDWtZHn+x!rB#|+rV(NZ#- z(3?-@oDZilh)tO7Jv$#k#tUD+HqYCMZ?`M{qwf*0`taQoDQVG4PuX2O38z{4Gtd06 zMYGjqt`r|hia@Z+D=Wz$k;E5>cXf^;2Ly#)0HyXcHpq3ckD{c2GyPSbEBzX#f;P`r z3e~hq%WU){ncLy%PeHlFCVEbd`iE4|9((+!a2w5xs%?$lOp;&VVX9s--V+Ntu#eSG z=tSAsjqG^CG5q=5mNlxW&4g=<>1xLTzqP-&y>c)s145wT%+gDJ!n24vwz*9fB~%KD zFI>I;x$DVTTwYyuZs9OE6*0x@(PoZqU;&@}v%m#>zc5@INrv|bKd~pR)pkM^|LYII z6Yk>Jj9?cQ53+LWU>ibeQ4I1Uf-@MwP`>fQ^;&S7rO8)MCnU?PWA5A4)R2bZmLOPKHJ zi@0tl6%<8Q_}V(sx1_xC!Jm1W@ncl{r=N~-y$Lr8~<|D`SLzgu!;E4<^7 z(p&xw?fUq(jXuWLb&uKy-wSFb?@nc2jXz%m_(Z8siQR61Fas{0z~`Y#(XlNv>}aOq z0ia}fA`4cij9uQhX6&Y|0pQ=kR2*8tmxdFpnccY|rBKeQ;fR*QcvoI|Zw zf1E4WSXr@IT0Nq7c8mVB>ywe`y((#DX-thZYcrsqL7WSFiEF}_BV)x(wg_dLMkc<>SxAJHsUL?TRxGb!qeZ} zpB$XORTAX)SeMn1*SnN-phqZGlYjjtc!a*;K!dJ~1KE;d$_@K~8^Kp%5@93zTZ1m> zxOxlf^}LBrvy@9qOzU_C?abLwg_7{cwjQ>-(q*kXdnI@$;0}UdAP$LZBa5MZkV-Dc zLQ(PDU9ZFMZ0sAj7JJpJXk@rUF|j$I4T2Xz4z%I%6vA*x9z^EpM!vgT4>CZfFn8c0Qk^N*nxhDL@WREJ)>d~L>srfjzQ}&)<)j$gpTzA0Y4`dnQ4W;0+bzs--NX|2@VLfJsBPb0 zcX{TMdDgh~6Tzr5#bJwU0cFPTo{P=!=dhIk(E!xvTXznuBtXF*;8BukZj+wOuvitC zLRr1bb%+kKp>k>L8gKG{cu(ZdetP!YKBmSQUOw3;NWHRDu=!iStvFKep70WxO!75-og{8`qC6Fwnpjm-oWAk z_$?&;S^S8y4C@GSSZ`h++c-A-kZK_FbLS34&+S_4N#F}6031yaO;5yB7#DK@%uG4R z?TL3+VOA60@CuIC)@NVruPV_Rc{{&w^?-k=(YJ%!ybco7+sxlgHsE@3!}yOg?O3W5 z!#bBmWZ&YwG{4C7yxectGdCMl*%|5PYTJ;2Cy)XZ(tmXr_hg!F8Mz^}Ye^@8E8)Y? zXh+FFoU1%g{-*JBL*f;e#7D3uA)l(%|kK@&NkFa&c$W*L$^`-<_6+`GPz*W z+#@v_J~^?FFliiXcQ~|DA+jP!PuZ^Xx@=o>ukrx2IoO%Lm;hugOcX8sJ6X%k;`AGG zq@kc?iP5EqH6xx%yI+9FwuuM3{zD+nA`n-QFBFmfK-s$TGb;pI&69+9sR`Qc9D`%cC#=9$Nz&-?FHui&_d zTdJJEho;6UnaOkZ$B3{{X%cO?ZBUz1!4)R^OT}d;_L?@q|Kh zoUc)US;?gvCPCYc3C&mmux`e}fFj4a4&Q|0SbhkHzcZUX$4XZZIxr%Pra@3A%t-+# z`%;v29R#Uhh1cDcawt_>|EogqUQ@kZe`S~rC}V>frM?h<18XM$NeTFEwvcFF{El0i zBo%y93r2Z#c6mL))@{#wi^iHbA)fI+MA!Otgq*4@zwGSa%}lNbsS@XUzy-5qwq@e9 z>_R6NWx_p9&nm0;ofDgXANlRoVUI)37rv=C<(nvt`EKrtBX0-l@8Ja%2AKtPyrNRxMZ8W( zI}1}P%-(1a3=WXLMf@82tI^m484FE($YuGQ001B+%A2LvZaMMhpkI!6t$Cepl7Li0 z*Fv#cdQ{1h&-I;mw&PlWEX?Mv6xdfUA|M>;dabj%m5Fn@gUhx*DhDpr_AfNaF7vNnMGF4P=d;dvN!JxO%k2)XQkQ;D9t(PXQ_x}zjHTi( zOt4Um9CDmHn)lk=l_3gkeH@OTzrAc*;G2xSu{W*r`#A5eu#eQyTnHooF?{BoyDPAjkrP8&)Q0#hN+u8TejwgKy zmqo0D;GI!`>of%dX$};5Wb1$Zp3voSesWw}*;tp_ju#YoP)0X}bfC`bTQTRi0qT*p zAli&fe{CTFo{?zC5f&SPYTn=}MpL#pMU%wJ8t;mRA4a11dDlEwI}^QK-KA>fThFsH z9*V2AtCx6#rc~@8b2W20N}uUCkD7GTm@sPnGu}CY+9zW6X6$`mGR6PY{AH=4Ygg`w z@GkOR;^`^qZS`T`_qBqH6YGxaHhqpp)~lOQ5B&I`4Y+EBenE@Ue{A<23%fe~W#YiM z_VmBNC`S@RLba76(wm=m+t_jNhP@c=F087}s`u~QpJ#LVxS~Y7f`p?``Q2U-CK58Z zbZCUF2bHR7YUi6YJ-^BCSN-AWO6Se!b>awm6T2iA!0Z@zzud8}OeX%QhuwSR%H*7NKo`(H*kmO3Kx#xv+O8;#xON&7goP%D4`42y zJ5i*hVu&p(C1$F~WKUlI&+~8Wt-3<18fVo;^v0Z0 zWsOcnY6R4X+Ocp1cyVj+)Q+_a=4)(QoAo8=F3% z?JRqpUVZSxyJmqc=m<1DAH_W0!w0vJm9p8TP#Fu`O4vnG|L}Aps1&X;eAK#gyJfw{ z*yT~TJy%}8?>m_HV)BR~(533261Wz47$pW`cQZ>M*r%DWo7daHqM|T31C@U zn?HS@0?`o2#rcv%zzjn8N^TPtED8s_4%1?YCO$f|XYp6e&@s~LM-iH4fQjof!%(X)?DVq&Yoa=H}CTXuqtHeIWucW`X602sV(0(Z_MQB>)9W#6toCZWLnf;gZv*C! z-Gr;4w-N}12C!ZNH`>MGGrzynJR5)H{I@-4g%pm*)c!`apIX+VCcxXifW$%O?otI5 zhn-WfDo_q=r}Guu2fz~hl)VzO|9bu{)&IlZmxe7=vW=zeOohlUOJ$kSf+Smt zkS0mChGb{VgeZF}l^78!G1-NTeJW(lzKsc4CNpRZv-F&P|F_Sp|MfiA^Wyoxi0hgw z^F7~l?sK2}-1q1Hd>oj8ztKb4T?bt5%m}mjxC#)k05lc~FsUOrV!Tu$>##(P zJ-k3Zdl`Adu(o{4aJ0W*WA8fuwMQeka}XBD8OBLOgtsknggQq&3=NqEKsophQv2!i z`fFPf%pxf^Y2EW|#n`r}^Y6R7-8kyajC)m5SZ`d~)uV|A6$-KVr5*I+_pvqV(UA(O zv9K2DdS%J{pR@ezS#}C`_LU@}+?gewzCss(8z>w|c5@GyVcuRUwn@bXnhw@zOw(qz z;J2HZ0k)E|L014h@C0YC9@t(y&l$R8?L-IksSM)ET$)E{MopSF^Pre{wcG7D-AJ_V zr<3#pw|%&`!L2g>MrkR?uE*7LhR01r-@9@}I)yBAYySZO&zS@>yNYONaKyr`0lf z_uPf=XJ;X19}%b*a%4FI>Ldh16-l{IlO-h*=KRG1LMe#0ty%{^J>RuAhRHV#5o1n# zca+a)wDIh|Lfwr{0#oPzIS%l;A=!n{&fPHT!%||p@FV)&`=PxoCBuQYwHu$1$84`3 zm`FWy_KNm?CWzX2eu3FjU`W!189zdqmm*f?kjVhDZQC@6t#EW6QHt=4>(+UgS7qs+ z@_Iq7=J2D$iy}w45>RMBlBUN>%IN>RV$+TAX*1a<*8(N*B z`S|)MAw(6wDTx1>0xqG{Te!O%fTo7=gT$~lKg)B(z}>l}J~O+-U#N7nsXTH{{`$p%su1y7Bq7cpc#nKxP9 z15IiXIR%n0Zx8Cb*+{q_QunWpyeMn#ROjCJsYZ<5sS=>R^9M}qTi|#FF#_P{IkZO} zI&=_i_m%|*K>p~nln>~W#ZX$1<%I6ESMTO;N8-CPQjt`@TLh^pP`!#M zK(h1E)*m9)zkz&aHTu$A^x=`i^|6idsQvX_F*oT!txk?I##i5Oms#vR0VxEhQ>NPl zZVWNY+;=5I>PqcNfR_mVLxkC?@5HfR&Q{{+UW`y}F*h5MjmFvTS5-nqMONF5b+saT zqh#J1_`hssHnv3%vme`X0qdQOh{Z|)g%`yOefWcf!9Smk3?BO%4;Ypk_B{BRHbjb@ z&3KJ}j`hSd6c;L)2ADROIQDv=6w7<0F}N6gvMTeNkeg2x7CK&-HFjb8$Kl4IFpE^K zi|5sL_#y0yz8lmYPL5pe{>Q`7`qv#ke0^;2oIMW}7cp8_FCNl&hdEVewq2@9T-Zx~ zd_*zRAS7Zz>XG!>7H2sf6VYLUI(8Ps*i@TRan9Ztrm-J_OCKw}3_l^c)40=Eo7MN> zNI=+!U3>@SEMiGF`Rk;W$e-A^nnB;(T!S@uO+m~QAav|a;TSM-z(#0c7wY#W;Dj1& zFDyF6w@Z2YdIrdKt|_`rkK2lvBxosFyEtnmN*e$^TiI|btOE-w+<2Tc!KYU!B7KWE zy^q?FTgj8F{TX^IbjsRgh(D!o_BRy$aB@=WYq#d1T1R9bfFx;i_)Nh$uv>*)KS zgOx=)f&@K}A-hDgoYuTzA|jr1ad8$bxdMrY^|>;#T*3ssix z)rZ=Qks1BmeIJhcF+Uj(4T>}t+Bn|~xpC+6UEXt$YGz;yH;0JZ@6vCD zt?)f;ee=;B5kCBaBS&!XFXV{^17uP?!3G<2FU4M*k-;cf)BI-_lQ|LsYvmntX=+6S z@JN@aKo=?XExcV=Se1J z)+z5}5gKL{ez5SMo3VV0!Ud+Oo&Ek6V)i|j>M)^O1k|7ZY?d=*TPmMP)QY&)@ju=J zGktpW{dSgY_~ay1V_`pjXpNy^#}df^*W$P;v@JCwowwsF9JbUX(hoZ9NCUPBT6h6# zI?kA)$c8toud=6SkD3x!lX?X?)6*vgt0+hLP#-9$kSQlA)NHLg z2-bY(%*x+bujjwzvV?G%!A5Mi7t)O%>@#jZVH4XMa4hjG6Z++n{^$Ck{a2->B1`sW z_-oBi0ZiGRwu&<+6egY5wZS`eQERH1N3kvYOvIUc7>gZIS?z=exrawU7G>#WX}55w z&AITpV;O30SEhRP4id+DUmW>{#)U%wC<$Ax-70TQk7B2D_My3GhMhw!d6JNd`R7L# z$0jFSCff8e=(*=B6$;bs^tmV)eMZVGF7c}H5d2`onnQJem8rrQz6`H5YA)u+-Z*l7 zkJO_r<5%GwSSZGbk;FWSZRtf;-)9|JOU#nw2m^XC`Q;-)CCf`9i8ijmqU*2JuUSQ# zXq=kR(Osf<->4JP-9;!uFx2m}#8Wzfn)J-rV9yjG5~H6AT3 z4e*Gzeju@B=khvIIc*B5{z-&#Tow!E$OG5-0aksi6($VhWvKu{KNnKWfl1j)&o@5f zY0qlMrE6a_zBM_Mv>>saLO!vm&&3vJdH7=)D!r?`Wn-ML)50VN&Z>YxaQ(cpZ&dYl%X#xWd2)~3J@F0Vzt zX+e1h`v=Wa(oxF&7iPL2cEiU~^EjY%`VWLXDo)N=6{R+`g9J?nt@1Ks3R~)@9E#6L0odFk62{<34fh1LD%{BKK>d@~>eX9m~ z#DM`;7FmDkjkCBJ9x6!@5(*zW2Hz|X0z?lM^$Zk0rAzt5(_ZLQ+owtdlcmdtKk~heD z$?}HvHKhn`%J(P1ch)!La@`P5nhzewzeD`zk_w(3XN{JnIk$d6hcqDq#aCt~idepc zF}_rdflf37u$=vYM4BC2phKYjo#q`-YD|F?gDK%`FVC3N0HHch0#EB4Gr4! zX^yY``j2Tnxvagn3d;fx-?*NpRFSEA_PY=!9jwA>;0&=32sL04dZL+d&@yAb*5(rU zN5Jh<=w}6K_&~WEZrZ|d`t>MzO=#4V7zK7D0{ELOpnwq>K_uf^@MB1N0fXdEBakup zkovG}66NsVxAH#CP>BT1sh7rXhxM-7zAlqpJ(-_4tuv#hg%~{DoVypfiy?cGYVe`3 zGsDyKW?JrLm%DFb3{yQpULLsqxLaUsd%)O0Sp=DaBPTuzf6rK(v;F!82)*rf(5%|h zt?1FLt`p3}AJrAp&wdfxq9l%NQn=_MROJ<%Zsc7GvHHI(KgRX{$@laA9sKX1In=Zd z$#ZUYOubsoM-{qf~d*RaJ}aJ#$v-ws3#08SJa&Pg6Cd798%dzDX{GCqvS%Cy7`j@4`d4ns*$j zrbm48_*l;?+?r9zk9&V?Z)-5GI3T)ca3tZ zWkxTTY?lanB&i&I+*Q$U0GGD z)FO76{G{6K>&kepCS@dFbrG=0jjT92n2GWo6ly&5GrYN|y1Lj-hjelwAn%!zLCNdHD}UT($XDjNqtg6pxhwM%%?b&Cz%2DKB!^K9cw$*Nos?!33G z2Zrx&xxY&*;O3UsT}uC=Xxw#QJWd>IQenFT-&Fx$pJ9CKTyg9pn@IPdB z=Kx0Pxnf$xC2s1U;(jyHZ3nTv4$TLGM*qCgG5fav(OEgJ*bCtEH@X(x{ckU@YWC>; zDPrgDiaV52Z2@U+hMjwv3@M?jYwLYqcZ?(&TVO7nWhE&^-5A0P9u=xM;1PF1KEvU^ zY-RnxcS_2u#k`eNtd^ReDp%t1Z&KgVisN*Ng?o zk{NfX6j<)cyLg$0d-|Ja0nHz<+QzWVhi!D9eDhQ+pS|SzlHK~jiQ4OA*`V0LBKR|~ zlwzj^ukrOe1C|&0J-kaD+Rr5Bm=?B2gO~_x0A13 z5o-m+)riF%r$3O3DRv+4W+w9W)l5?C^{ODBd9UR`&qL2yZ88Nioj%2#;1_eg6CZcd zG5z?L>+pNYpUfc^k1WMjlTN)|-Lv~h`q74Ssouwl7{Yg)IpkC()gndC=l#31JiyY@ zOf2Hvhx4jgPatGAxo%z>ivv-&HRx{NP`6{Lx9-+xvt8quWqLWm*n7Vc!>>c2#MG z#8R+Z^hJz6q$j%s$C-WUy>hX7G3=_Eb(YU>`Pi-x0b!>~e|G(}yd9&agy zM%?$p{JUzFo}L0P4kn0ZpEziyqEycMsR{Ymi|D9z-%*99RrWjp$Q-n?&jE^gZIJ`TW3*OU3KrHR4* z`0az>ey0X8E`9qSeB=Kqd?)np(0}h#+)e?FZ+IGPme_0>J!jVn<5@SFLCQ9R5p1AQ-yi!SH4Vvdmx7u_EXrKowvnzN+iR9CbL} zVBt;q=!EOUebMPFtq+a9-dQ5}DuxMRT`=d5D_(0kVG@pC_(V!XGK_rBKallqKIE)e z6zcgZ$~%bF1Hqo*9H1S}Affhbw9EWl5YRLl_kZ!zbIYSjI*e66vR(^F0Z!9F;W%!9 zq3y=5MPFi?F=l27vDGnd_BDXy7!AGsGMMO5Y^zz&G^F%|18*c+)t)|law2yW{|ifR zulZr1JtjU^nj6dKzm1kJD}2lSM7OdIG}MXg|A$21L$V>Q5EzQbS`e#8Q_IKw5&^XE zio6rGf*CW16<;wE2G6$O4CAUY(i^>LIJ!Lhqk+d9A_=#vx+L0s#7Vh2#jQW|tOD8k zlkQ=|Z(`arVtPs9CwefAXh%lzEH?fs_YWX~YBxmgXPM@?*kIqz*shicRpYhho%41u zmsnevwh25q9ezS5jsmWM)`=DplGid+El8>XrPX|moYroB0P&|gil1{2u8KBbU}*)- zJ0q?5r121=+=MxGY5g9H&Yz^4)lWqay@~6pXsT`BBHpp<(F9?V{?m9`-6d^!|R5RbcxH9^c)Vr!i{dPg_tK~&B&<}tqPIcx_~ zVriO(+AvwfxV2`W$t=67$SJ=rLJcCm%qiKlq=&L|fW}Q1l26|*b_TL}Sznvq=be67 zm|@RCYpL-IFHLo!?Z*~ci;U-w@Ay+QI0C7XcI*m*hfuJSgK(BFEr72u`;C9dmf@*B z&pb_f7=WZM(qFKjgO=YJsx5SEhe=;x_%rPRvNbTpWUrtrKFLIPZu^3r@QPE=qx~~u z8t}+l_ii_It?Ml4MDueJ|GjluJud}8l?2V%&hg4GO%*$%l#4$5Bs@5z&b+oDo{kqa ziISm#E+hKuLf?O>teJ6;<8(c!i6hkl#nUKp_Onpr3oO-cZM>v~@X?Yb`-j>~&ta_T zm1-@l7Js!`2agRg;r-|(Nfy$ z@hK*jZ($@Uggk zfSh1$yozHyi6>oDD`Y=+vHFAE!BMm!twXJslcMQmP!!V+pA>7_g zWCo1e#9Zy^GOHoofTzV--b{86i2nhQFR)F`AlwwexIl zDZa$F{Op7YDEd6-Tw;hbF)ST+Jt!{Y_K?By#G_@|MJyEU9I@)5Hj$43JRB< zBr64wnKl&`N+xUAE-()^yD6cJeD7^8DHRu@;LP#gqu2Se<4 zrGy)>_<=+~sx0bXlLe#zOwK2yVw8WZKDS2Yjp})L#i?vBWDk^?wM~1YslQIC;c_4LeC7=Pgu>O%C;jakF`t$ z{?qNd4;X7lYPKYg7L}6)<_SN>R2B>#U#5L_%wH_N6~^Qz>_W_D5UN!uvUB(cGYW)j zxbcar3VJl>W}$G~kF_+*hYxK&_`3GJ8nx1_7fR7U-aK^bj)jH)*7RL|mJxWR4$cHj zp^4jvAV~0<89POvv0@a^HrnkO!4^NX$Q#%DSM45a|FKAAlTnLBlC}27@sq9`FCYta zt7eAknlUP~b_GFGH^Qfolbsfn8efhNHSY@%QnXSC`l?Epl7g%Uj?a)(D4+nr^N^td zY9hU@*m2`df=md3AL-Idwi99u_^fTREzjn91RDEJI~yLgID4RzcN0H7lYyw-x`)|^ zX@?(V*M#gh8cr&Vu&|SKQL?L=bo&}eFL5B+uVl0~{c{nchWCrXW>qEl$flWfKyygO z)TV1v8$a1o6|;2T?=;SgssDZUL*NIe^yuJMoIF6cy}~GWX})KSkPNd(%p;d&A8w#} zCzag_>j=cqXO=^cACeN)XhR&}F79(~ovEloP~FzXptCcH*y~f;v&4Jw14~zhYuqK< zup-$V_M^UE-Ep`p&FzY-`5Tj_t zQ8i7N{`|4UKQyK=rkHub%|n4V)8q^5)$Ltn@Lze*aoofTeS}I}Ri{FMZsUgzt!ljW zQQuq{D!USh`0muanRdc?@NenaZJ5Nf&$#?jr>$`Kj*tlxSGVXLAgd;h8J`iUwv&#? zXkCxc@=p=SUdhfewj>Ors^w2D3mu(ykui3=y`iCe@RIvSi@H`-g@b^vbA_FO2*gg1 z?b!_oUudcVKXn9n?f4PrdhJ#mKO?2x$O)&h_5JN_G?;tFd!5sGNt+KSz%+Xc$e{Z(COW^GvN<6<-cz3IMX`bV`d1|$0*joADv^r zXfk4)?%*7t;+jEb{OB-CmxO@2O-+t=%-JZmWzwvI%8+grOLFCt(_J;n&!E2#PHcHC zQlJcQ+EBu&BXcuEBoy0nxSEhOuHA-!MkMPGV~+UOHs+Oy}aNHPWh60QWjTmB?2kO^ftu4+$m{&x*E3T#( ze;}_unDK6wl)Vpo$onUQb_$X7m?7yHPZFY(W+W9?*12nu9h0LQF0b7_B|TT`wZ~vn ziY{M54gZ&+ya0C1IhGg6A1A*8dW3NqWJcMA$k#^BPdsLa>N&EGZ_YTK7UBGbm>Grf zZsACTG?q9mxP^`tgUhZs!4LLTUk-PhS;`WbcCix(y^$+YSh?y?1M0e1=B)^3TYV3n zC61#Xa-2hE{Dth-R33c&`0!De2xrTNxfRzT*n;S)6F47YAB=}lAd%O9a*uyBn?FB`zZ0IT$nNWTno`u!nt=tSs=cL5L(BlI8c9)R zdb*vaoo+|+vy^a>20woUpw+135je+BRrN2yDgi8U;O|b91C%q^-<5s93i4r9KMUIImue&{A|Crk1Yo{bEQ$B{ znhrS}{0q6b`a;(ePs&(`2aQEcIc!U33R991-;S-pb=nD{tr$pBue$w62tw$&Mp5p- z^qI`Vo~YML9_<$n8F~M%C=nD<-^^}CNMOBTpu&9%)}9R#=51MU;l3)wUca65@%&!Y!_WTTzPskG#6Y9m+Vq9-xhX<5SE7%Xla=Cu^;CYQJ#Rjyg+RSyTU`QV{4mN( z$m+GuYcrLfSL=T&?Dizl%Fq7L#GTpRWbzD+ggx(8W(GIiFkwakVmCZT;0G-jaJ&?< zltHamm{BvXRX|E5+G5KtsL2U8rfII^!E#2(}dVcn&unB&f(#+FI7z*5W*!hOUmJwn&&=q zbA%TemehilnX0u__8gXv;b}Ectu68OLvI-XcAezedG+ziQi=HVR~hvy`qwS_yfiNA zais$H{*7=GIL`a@+w6}`{9Vk`m>$mI81EK`UNv~RLFsh%K8z&`9UxQvxky5b6@)xE zgKdcfhW1z{utSmhl1cuapisOpYg9UMIR;T>UOb9jze!NT&Mvw~pJk_EXP;zZc?n*c z0=86z`((V7>yk`iO{|wh)-D%!w@Kuc)#QH9lS*qSo(m#+hxFf%37UJbz#$N)2)3Uo z`d??P*+8hfWsB<>%+cW{X_eH&w4`)9ijP53)eL2?w~O8 zvjj+d1Wl0P${ks;Au&;d=Fhs0Jqe6?y`6hu@t_#*_9JI5yF(2yh9MLvNip|xMvx!z z8K8G_5GEXgmGKuK+c>t;x1wGhMT~B)txlPat6#i>eqlX*MO;7H?U3H9w+FbH2ie&O zzcnC`)4=fO?U)(EcK{eGb@jU=W%vS2zKij5~sU9(nOhC$W zbbVhsCp*NMre%#+TdgiU#H<@X9Yh5T%zRtb(#r@?-+l#lhPm@4YAq2zjwP8^&lBmP z$xG(aw1iK|iw^0&X5Wu}+0R|;#Q%v|0E1zAXLvXVz|zP!>9H)q)WyBRd>w(o8nx$M zG=5=WYD88Zxs?`=2OnpizcWTu?tKA!ext7P=4eA@)irK51Owp=B6cDC5cfZ#FR*h> z+>056w!x+!gu$B|hc>XE4&kQFIZGWe^2ja(OLk(Gz)%i-iV$hi1dlW{aVAG6j7(3v zN4H^=A|{vayg+xqaT-n%|K#!Wclz(OpWDId>O0T#pu{vqj=(=KRl|=EZQ124gd`>8 zIY(|XCd=(uW)}T1@mP*&S=Z&?sINnq2-%c_fWC!(15pibaZKLTi9*cCOG4@<6L#Nd zI7b4HDnp(d53R}!Zlga}GOuSZEZRN_Rb)hTU~#=H(P+-z7AiM~Uk~_UIAi-YW=O`7 zk=4Qx&A!;+52fraRf@5Vx&1&XZ1ANlI>sV~QjE?Q-3c{_KhFU1eS-=QK^wlU`dp$XVQa=5qN+o7`QjE0zmvKrmha zYa0h3+L^r=G4zf8K$ea1w(h7qyTtnO5^bQTTHWpP?_PG0Vj)Hy$U|!MW7-M)Zyr#* zX*HdSan4Mmc{&dDtu(_P^kC?-o8UsrxT<3G78p;x{oO5nLh%vAiYIOa>q7>e* zMf;%6YYPo(y(-o3JSE$Ut|7fze8~nQiGN^niI&v~hGUK#L%OkFe^~oq;uZdO$-7-- z*=cZWS$A2~N7CU+pj+0%z(`DZuVefsgwsa2KIM3>AK^hrh-#`1+F$teDqsKMy1GX{ z6w_`DqJBPh@p>XxDc0S-ZgsfHycW#TI<`frx4oBf2|@iFqWCVdZUZ{bY1;(N(b}U3 z;BX;Uz zocnEWJ%ms+|Eoiq&aR1pwZEC?dg#!qsc{f5SawwAuWlO!nZcH1J;+EwKLzO&qM=b~ z)s7OK;P1AXBUGG~x*g{}fo_bRBd8hR8QNHu7@`d)s?6|xj}GZaR9$=W)mPCP;8B;@ z`I_(+95b>5a|8@P10%({%?4{VI|dWye8&kH5Nm0d+Wed3`f?+4_)q%>(;HBT-tT8n zxXRyPg65e8`?sa3gv;#b1dp{b%Zu#$;BNuUzC4jY@^4@^Wc$Jo`x+U%s?X^jsXcrt zb6_VThi8~Za?sEQyuWIYUI^^h76~aG5#CuZPe^7-zioTJ6#gi(@5;p4#}oC;bD#Ea zyVD#w0w7Jo^Nn$kCb2@YY@bQnk#DN>)s0&o7Y&Y)f5%!TxO_8ta1K{y{gO)$X# z2&^BNsFw&n%u(1~m^fU|$JH*m^ok~>pbEeL&6{BPDb}^6nrLi;!B_l3I3V}K1E^d% zFH4-4-c-)$ngt~9Tr6o)L&m;{GZEQmhxAvM?TY=hb?&;K_N`I9QCo9OoXdKbj_(Zh z7GO@YqwBNrgd27buvJis&1?^XxbtT#<#7MS6;W%Q>gvHwrnk%7hQPj0FUrPp&D+G1 zgP%!3UjI8Ck)z8ns(Z$GrNcl``act% za3t58WEj!20Iw9F`||qPr|(U$V6H4W8p_7JS#vD%KgW zKBM=sK{PX4ilm<7nnR9F&<`;JNo#2cUIQDyH7DwWrjaM7>ZwEFzXwdKztlM$6Ft*? zS@l<>lmYwvY?PzZ@sZzeVJBD2V97JobG@S~8ckf*tf^xW4f_{_8z$hPZVCoUxBjrtJ8OZ!!It5 z(;Ws-$BnR3Y^yrCmv6-oeuSD{)Ac!o5@?O;GbU#`eO;vChdg-r-^T9aFi37k|HYPAk-kNc*Zl} zy#J*uz1&&GG#-oq8`mgSPxc)Vxanw_tYP>_Je=4 zyn9w)GH@B+CK1LeDl|n~Y*|%PD^z;6;YV2jInkP8IJdC(kSIHA9-)@tkdei`!{_gI z^BP6wvGB>}WsAK)DdR%S<3Z!bH@(aP;GmNJBiiu-WCs{NwCnCfC+3X)4-`!1Gh3tGFo=44^w z?o%yfw!RzK@Xis!^|hhD`ORn4U6nKx!Azoo$>8xdJF@2;N2hCnHb?E7zD!y z7@p<&Sc)Wu!oWZ)RN+@emX+;|OpBvw9laWE%1H}^_tmwvPSfRY4|pCBeigI>{r0M_ zl_urRb;|IWVrrD3N5DCkW@E?kR2~Yt7ymWE7r-}GYpJ`Wrcby zxOsS)eYi+CAJjKOQfWrqo1wY{GL+Zus<0n%AS^v9k+PS%W>a66-7-#DdmwpwNPlGy z_UQPGV|CqyC)=9c{x`*ae|pw#t`AFS#2F^=CwOuDbPhAyenlrgZ`o^{tYyWUw`_!Q zf6Gk+(KnLG!@9=K)L%;h{KTDhzTONm_EF#Xo{?8WZSTDK!q+OY z&t%x2mMxGUJd*y5c`ag)euVZtfw|jneF-MMP@7N{U6`qkwx~7SnBs{}KvjHx5s|Mb zd&9J3^GR2RY*?zN6fy7|UO6GPue7nRz#>8V;#)Pr8%ITqgi^VXr}n6FZ{Rq4@r9gG zxF|c-gg2ivEmKur+ac?8^%+Uv@Dot=lowMpn7Wun9d9 zBHqM`D(g~BE$+bI!yKxi9gF*8%}T-6xKQ@&Z4IscB%1d~w>qwjbXRw0UKr;Qm{Hjx z7ws~Mvey|9``*S~B4(}dbHhnOwePn%WLB8hV{knWIuEn}7%IRL{-y8p8Asdbw(NIs z*$B_s@HXGTTQ_N$gknZ)XhV+Ecn_;H#U>F_B()_-`8<78Z=6urD-hw?*2GPv=YW!< zTM@2sNrHCS^;9zC>^1jC7Iy`C(l8h8b$B6M?(wb@CMzMdch9)^e+o4#dw;$svUGxkwjSKWgc0=Rw5FA7t;8xm0l)RmP{EgRim7?IPk@Xa<#{$HNUHG-ck4W z5zrTXFKL|Z!>uwz{;cTg`te}?DJc<*!^8U-O=wvu{Mb%WZiS5+5%xIFO4{YQ2C~6EV(&U&BLe-6 zvK&4apmvL`>0O;5!^ZHl|N7TRu0A_Wb#SFN@BQgHyrZp`OYhd#)McUO(z3YBE8^oY!w=KWVTeY7 z8E{p`hJEf<2ghL81Y3|}?Eng}WCn>sGqN?!1B0 z>iXRm)6C3v-Q|UZa1YAA<=!ZvD>A+^L(xcT*{4#>B#c)B16>)eC3p>@P}OdlJ~QL# zr;|_tI?q)Oi19|T78qH~BbaFr(o%5b-U&s{-k!W)K$%R1_He>aL4&&I-FvP3`ca=> zd(zqJ7oHo`Xqj{#Ey$a^oVkMRzjynjsHT`&=E~hYz7?($HnIAC6PJ&F;T1Fz{cS7* z;Y1N`YL6*`t}+rcY6(yz1Ts`@)AAXH8!b@=ohh?{dzK^vOL7j|SR6~=S+pnIN7cS` zvb2mCc^bw;j%N#Bgn89W;^)g8m2G)t>&b(r%TW+@1~}E?0f_n~;EN=T57K8C9!zsg zM-wk{e{mcO;k~cc?!B*s73yspHZ)vTs@gck?u3YF?O=^M)B3I0@VIH*@gL}qyJoqn zxbE^6aUHPdrA{%;Scc$R-(drh_l!nXM`&Fwxk8L^5<=`<^|00)VQ{}tt)t-jxL?-b zA#6EJ;Ro}@KQhG@1(q%q$Q>S;1B}R-1#_Y?p=2RrCzQ1PlsMp&`smG)OJef;dWl~} zQ4JScb`W<%DYkB-EQiQ&-%z2CFEUSPRc$h@K5f4?e^%fx`lZ*E2}HSweXeGiofRHcW9app2CV?`sSiEZ)x!EX~RPa`W=T6Ih*x z1;+H%sXr6zivSG@|M9PNyv;iU&`H6lm$9R@9DX8An?42};qSwdqg~2sPoY?lzL!Ve zl#q4z3mq!+tgo!AEB|CEnTLIk{bQzmGMTx?5eD~IkcA&aQXK;K0+Rg{re=0@h7{|> zr=jcaM(e)?%<*I?Wy_wqB60s~5$tL|SI4pry&4iK68ElPyR@^VFAuK*5WLVGlup3c4t zSUZ85?E&`tMpceDO>-@6%^=#%A=2wDwA|g-)w~|{#I~+MYD4om+2pqWj+xG>iwDh{ zJNNKX*AZGnkK9^zY241w&*Oh>2I1-x43Ptco|A~#8IbH-q~tJRXdm`#v^mq6p$4`Z zR`j~Wj(dAlTEfsEemrpRGu!OYkm0qO+29sACs;gY7q$hkI@&^IBTAb8LMp>*UvmaH z+#?{*G3Wd)V$J!n&8crDqVtyY6{d5#En?_YKpq*GQHnJRh1mJ^gF!r?U_@TBVagZ3 z8d10qncm=1llp8^<)2O-kQh0LWQlH&7gzPjGf9Z5VhZw|uL?+Xi62H9TlGPA6msK! z&CGt}$0uRTHyvsVu{J-TW0Y=;Ra%&L*rcHMiSO{np&>3-I<|!ew9|r0A$B#I>Bs5A zN`vYxj|~Yg#MsCYTlymp-!3D}p+ZA9EQ{UUw~>m%d~z~78~>HX3?CuP7GVUaiye0H zxr+BeBiFtrdFeL;T7mL&RSk)eCO@k`y;NM7_=-~L73^pApO~yOMda_UuDQ@%{#JYI zBd=)`$9tpDkUq~ENU2Nv)chS9SO~$&$ROjuny%WV8EIxT!{nDS5)A)B-}SMUa56(_ zkTaqAnQ&Cc%{qJR`|6GD%*@?%YcesqmQXoHT`o`xTz87AO`PG3CJ zIJnvFWAnr<`*VF-Pd;_kE_3hCT=kv!vj;K)+Aodj)IqMn?9PQ}Dd<*3ZL)m0sT*|Q z7vo$nW2SLb>%iR@B5Z$-iS}Ht&@Wg0@lZ1M4YAli(2WRxcM^MLs@95Cc*r zd|)pW0Y9DKg!~Auktu<@mzyN|P}!CPCdeRzgzj~+(aw_ci(Dg8EZ>a4z{AJ#a~cI>JEH(!QLgrQ!@o8}OUww!@S_lPHO2-_3@XNQ z9dP z-&rqt&*T_&t<6Xj4?UKi6-spSNR?r%wIeHWEIA5dwFHlCIe~Tux+e@~tLro_ z^mP{*(^M~SaMS}08Jc}&1Od}5TD(5{Opt6^Kpas&{SUK4b3eV>Dc{1 zwp*6243;Ym7~7MVmqu3Gm=ZW%mIK2#GF-XyMG!XFH${lDVA}5FoMoujp{p2FlT_x> zgT2%1k5UbNY~XP~tvU9K=}CIAm7t!Yxth9qs?Grs%Q~Q*h#N)Fk?fBMQU=dfKy zB&XOt7#~S5YOr4MS8ew%TB?6~^-BHquNgU>PF|-|)m}keId`yLKrwNPCC3FOw}iHp z#MuK5MbiKi#krY;CY_;|UO%c`R)+@$PQ@7x9j^4xs5u?xaOu26Pq;KhxRp>pl6+*3 zlKtfVpJAq!1Gv~%eY~^;@J*m#6?cggDBje0a2nEqW7&m;< z^TCc?>3>`KaTnz<+jUML{Mi(x>AIEDlU{m^y=G|zYOhS%ef7J?51`0{^WXrnGuyq- z;eY=9KbQm9-{JpWmP-|%h4q7ud$!F~Ae+;$^t-h5XC*5;nApHYE05QsU7^t?IlI~< zqA>BB_!cB+3Elu^^BjE<{QQI)W75mgiOpBVX}oO$8FIc&y!Tvtv>r(fB^1W{MLlpp zOxPWYzTpXb+uQ-cIy`kYe(UGpOLv^S+Fe6)(^~QhPPkkS?zZPRH=1}sg^}vi%TPDR zJ;3@xM@xV{IUs32I2c;OR&2$h`VWi*nwZO{E{slHjVW{~Rh&f310F0+!7qF#f}xzj z+9x}=MX~awL1%d>?u9NsFd2-%^4EMunY?C~Z@9YZ6zc7`L|f#Y1VjUwg}7Y3Cho(L z=v$=09t28sw%Nt`{to!9G`3I2mA&;uMcxS1(?iW8adBw>*|j7%w33Fu`{#>6nu`5j zh;xj$_6xyRk+24@%CsBr-jE>QDihVKZI;! zhr5cF?ccuignFvjPS5n?S`o=tr2#y&whb$dQJBh}67R?q@v9Gc+phg2H1IQbbT9)} z2#L1Y&*%qtMtk-r&S6g1v{*mDDfje96w^xPQhK~eDU!QoB;$gcZ-nZo=w*CCo*x2?ykEKI^}0`qW}ZU3^ubNhhE+d4 zpwP}FhQ0u5&ratw-NO%GH0hS7$6CzLBltl$CBMqV&(ac8-ZPvAI}L+%2Fp;xi#<;% zd$~_9-baJjETfh1s`ow!f`EryrSsDcCs2{IP8n}|3w(2RheNV{{P`TV zJP=s<88EKsf*a1wDK>2ce@j>_SLw+@Mv8U3 zSxuio_L+v`mV+j#x% z=!9|CD%_HeN#Q+fAY+cAvjd zs`T9Qc3{QBD82$fXG0jZqmO{5Zg9Ho7N9x*6TzZy59!-Utn37W8l84uqeou5rum=y z<3hDrG1u=}1|CowU8i+hW=w;q{@&Yv3LI+Qlr9=`Rwb=TjPn&%-cgva*lCw;ls2FF zDCmPRJKkzAWYoOlcd@==l1ZTt=akW21S}P9fa#l|I?XVYEppy)`Uy2E?e4r}e9Phw z)T)U)8%LtOUgp3O0kdzGla=48sdlM94?~wm`*=71nBS4Hd!P~8qc-E#U$%Rybp5nx zV>#|wUOh3hjk<)qho!pqGLBewYLA7tNW!=fp4QK>sgmOo#dF0Cm&LY2?1Yv?WZ$jL zS3f#0xFxO>rlUdF==-9|y(5rMfMaK~XQbfDtWb75MwsQvD1Db>-QJ{5&CGtgEU76r zVHF&sT<7f(@H|;xMddCR{vq5T!XId@(0a+?4_L>jZk-%qz|*_jdZ*s7tj2c^6@0mt z$cl+cq_|FxLbvD5V0Bf_8x*kpw%H)Iy!8c(`U`o0pq{sz7+*O%(ug8y3Pbn(;;8g1 zGL@SO-cOnU-W>mMX6?m6&^R)iZF6Ihb>>LPO=V;imF zO->W*$Q8(z*ZM8`c6wP-!Uxm;ZfV16o|Q5q7a|W-F%0tw3D|LQ`U?=X<%6j01wp9V zZak3wn1)QiC@~bjb8tG!wsjy)-j7LLCu2^r(JU{Gk6A`YxGfDPlnm}Tnm}3tSK8~>D%<-%kFg@8U zM|LK{2QSXjr{Y@?LN<6ehFgayQb3zx_;H9r0hg1_iJVK6vPR}jU)@_t4NLALEQwl< zzz9u}&co=Lh2Dcz6uq9+mbkjC9g(Y1HKg=uC~!0BnqmI*i9>_h9&Sjzo~%QQm@vTf z_{YOMLc47y9VXCpBEl?U4T!ph;H7@$`h&uPF9Wk9%e+pb=|EBRr<3>OYJv6A2vSN`L1DP73aGV49r87dpTLX3m{``pv`cJA#~6j#Z^ep zqJK7bZhif?!|o6EAK;O>k%cN=Th9&2SVY%dh}2K+)hP9EEJ+#&8${42cvD&2B@_NH%|{Gt!}N$I zjx?N>p;IRZk@^?%r?C>`c`4q^V=VrL`~Qo*H;sq#jo(0t2xSnFZ7ND7B%y?9vn5-L zov9={$(}Kf$dYYBQN$=Ap&@I?*d-zRZpKiuOlHVi?qU#qd0H zFW>unU*GF{T^4XRU8$9`XIM$*K+RZCxQu|3Vqk)DNr^8s3j&~pfq$+v9h*p**{2uK zIvG<~E8$4vBd&HUVyNjYf)!E}U#uIj!M~JR)5Hy>lsvIwS8dyV53h^%Qrh4?A z?7Gu2c~He`BZ+c#{nSpb@J(@>exxKvA0q{%sRt+)Nx5eRFp}QgFFtJMT$^m&7Z1rZ zliINjM|pldRPM$g=%^M*yzwA^N|V$|jWi?qIR5ySd40n2tTXCIPOCaD1+O! znKTsk2Hu+7FE@T#B~(qhfJ$&|qM)j&ev5cQKC_rULE8NKf)B3*Kc*t*=XbS zoj>t&5m$cP%Tl(hRxYz6Z`^yHwfD1%(5~kX)wqzOt`e*YsAV?@8x6TXi-D>-)i4C=!Q@L%b-#r z8u%S!9KnfvkB1F#)6Y?5w1|iQ361kv&!S|GZQN1#nAZCN74$O<>*i+#R_hN5)+E$o z&rfv;V>)0Yhns|e(ToIqc#di3lk$3Q#t-duh-n)TvEev1d1_my^vKi}+D!_rK`Q!# zD)Gv)h^;EFcEU20O=Y0Zx*I2~I#E*@7mxCkzG*sG$NmI{DULQ;M&D}&cae+#AQAC4 zH-@jHhkA2fdtm#sU$%2@68eurrPt2zd{Cz6bA%PxWh|gX3oC9CyMPCg5Jm6jOZg&- z&pu_KR({DYbkN}}cHrl(wZNaTKFL+Sf>Y-F0Ms(CvY7{r6&$09rvL9&zR1qqBuzq; znrv4JQ7Y8IqK;|vWb=!{u%?|8)jiIpPF5fe!MRu&Flc*q-NIQ>dFRVe;(rPFT#&R&Mr4F&eQZRmbjNC9Ty3CQ5~AG z0(951*_ZsWr<1iDl2rleTKmvSzvzT#NTpdo<<~@x-b??wpTy!xuA`uN`+xuZe?JEQ zjs4H=@=0x?w|*EJ9iR}iodBLJdgX1{whPSL!S6~c_4O8>@UydHG}h zFy66#`te^aE`_=sL{HX*xf!+gNtLZwmVvZ|8zj^I>+62|v*P*1*IRbKE#Yb5O?l2L z1F}gc+0_s^L4VgMkfgK_!wArcow&FxeL_S8ZKa*FtIFxJiA%`AmnW)?Z)UFceN^{9 zX=wmAa7#TjQ2(CB$@sZW3>nVFNV_uyN27Ml*UX+R39 z3fJN%&e{n-P1BF2uz?C0F=dAJ36tHQ`M|jD`1z%j&FzC=bH=mN^--b7PNEdbPi;!g zEDl_;B(Qp(Pd(M<#-|;jJMIimg`pF(w{te$NDbc3P0dsI!G$g13}H2Z>T4Ur4_GWB zqx9uLR3voF$`5=XoOaraZ3zkU^R*YkZ0(*QmT>`kZ3TYy5iNir%g$n*Woodb!|||D zps>&E`X$BbZU*617Rw2oQ=oh3EoTB>?wei`nY9Zhx(_b0?WZTF9fVw`hE7O5TJ=Yl z68~{9z~!#Wf-1mN482b2q6PtuvJF;uBxYbF@Y0?R;>0)YQx2E19SVW6bdUQy#{AoT z7R~D?U>uz2Up-5=VYGv;5S0+d1Mt(et$urL;f+?5`}QqxvAcRMZPGciwBW|`GraE@ zd5A)AIu-rJMu&i*8iW7VcXrgEhApBzj);Fo&sbPdn%xK^?>3@&o{>@v`#2M!G@ zbfiw)stS$3xJAdep+!R()1l!V&Ijq1QK;QZTH432Ur%dY*4hZtbnj8bS~??Sft=kM z5E#^e?vVh`raa{lc=85N_YNov6}m9^CqlV9W!d!XTc-oXQI`}i%T^x3zmscj=3m6G zI?#mX5gq+}7#lF?h1k)0F9*yOxMVK;SEI@s9pnBvoPbb(D!!<*R70+#hqF$15j^ZI zIqg*jHiF064v^OD*B3UDB`QXvuUEzPX;RN`KMHyFWY^i|q}@6;$rvl}xm!eXnvQl` z4s?x1Y@2a5yE0^6pVg{f=6T9DYj!-|5^r`iDbh ztbs_DN{IPrV9tFnM3DP{T~C?W;ieNxZcpx}%}$P9oyR|8h;y@da0a1D0$8z=4gcqb z-_7Dl_kE1syqxZmWaq@U2irz)YMgn5vIgT4;NZw&I{*Sw6bp6?K8oT$x3=3pBDZ@@ z@zhs{q?8px4WsX!=Wj(#BzA)84wegc?vrjhX_ zdB>_CmtI8&bP`FsrY183wb&8eBhGOIWSH8L4K%-)Y9Ev>+(YSkVBd3PX!TXM&l{Ci zvPl@`m!0z=d%lYg+d>v1WWa&uu^N}TZ*ZyaHu#pa|ry*p)pOh$3&W$MGBw|KH9q~X|L8s5Y>O> z@nQpfvKwOiZ1Rgyl zP%@9><=Wv@>ZX^W$?HbrzVQWvJ46+%Ahritg{01arBncGdoXviAa)K5qQ|26PuKfJ zH{Pak2GstrEsS~gk^DsK^)qNiUvhn^iLGQoF6IXCR%C`?g4hK?=tShlMe6O_g$^uR z_+VLK`UkW-@boMA4DJclQU^N^ZD3-*VxKe7=*OTy1x*++l3<5YmK*ycK0Mb2ps9U?~f*Mm$`vZ#Wt;x-XM{(;%wC<&Kw`wkI{8$w0{wKJ^l@`!`4YQNe4Fc}x z!0j<(@b9CyX2<+2F?etH2TLM)I|2z=03kt%p}dHR$O?-n48-(tFPkGg*`hf^ULKHZ zxWMaB-`}^R1H~%yPC0am=i;>@loP;L@Ig*qXWXD$N9uCZc-o1Q80C;#_lAQIySl~e zpFf^pMw?}CedOsf;@sedWtai(=-Qhxgva`-P)pE(A+P`^*4nbz1tWdwv`8Z3hUE3W z(VDdnZSQ@FjaA77X2rf2i+Q+YZT@sIomdA4P(H}PGY;oZYK|hZ$?JfwlK7kU{Q{RTeW}p!IaF+qX(8+YP_A(6^i21_1<~TaK<4Kc zu!r6lVTxm?@HLC8ubF2anI{$LY!YF={UPp=ajnZYzH_OeVueftxXVNj$o_R5O&@@|ZccKsep8Drc0dnKaHob@JM?lP6S&eE+ zbL)~Gi*8cJc9A4DB`byrD&A_1a<>ujfMhSF`d9=VR#D$*Ko(NU2qR>JnTsOUNK$`* zP+~nIH;hM zLYx3Zx*;OCbb;_<B_N0Wn^yo|bK2g*QWxEP46|`bjLeUMr zf)QX9E(H>+`J+Mo8lqjn@o~PRWyL&Db22pfc;c<3pFf#aiDt?9RTd|s2ETT{dbk}Y zo5kv;ORmPz)c`|SY>H9J{y_A6>dVo^1k$u>i$fD-j`$qusM_wxj9q1X@GqP?WN_%6 z(CK)M1}@wrVakgm0E}l(VZquE3M51ms|ue7y>oX)jvN>*Rqrzd4PxnmI0{}XetXo25VduM^>Cii{0N!i?89oSf ze9#^IglQ{Y^0XSCr?WVWng?5>|HWK!7)hp%I%K)+Su$`PSS)1T1FAI_6-SISQwTTT|*wsA?_k>LQ{UWerKdwi! zw}}`yy8Qd$ntnAWMuK$^YWW6nL0)K(ptoFV+RX|E0zVR=MU*|nM=VqkNhld%*fd-! z_P5RYQ^UGzTIcLi%LFd7eCfQr3fQJ0|7vdh@)$>Ue4`0yhz=l=;xKz?@623}5W~rg z1jY}Sibj*GnO^dhSZk!ZRe3abRBj_~Xl+*yQ%Q{_JvAQ+xim0)NP-?%fziDBOzX>L zmYxrK6g*AB1d|Lqe;Q_p5Q9<5eu9Nf%Iq=}`8A&A2*F3!nu&X{Uy%sNWe?O`ldD;y zvLu1Lg(%;Y;JpPR{oYuGl8aa(Yrss<0w=Sqm5RAQ|NXM0 zH{`T;=a|K4(778pbE~d?IbyoIEW(I-UY5X;zGuPG@kKIaHc5*v;vz;&(!QV?z z%ef}e6@Zl?&57<&y(6EY42WbjP)&_!lWtiLFIY*YIr|kNRi~9+0loqQFW|!PAW6IlP?aEXQ2#A>9DVv+vZ=zMu5p-h=BhC7-R` z-5Q_IY6Vu^Onx3m@@bUE9)tZr&(kcnTmBpvp)*T(x!=Dv_tIS)Xae+tnh#qaZkzlr zg{t0EYGGOy-p}ou-(h*~kHlXyrU8qKT|^|;lV~O-Bq5AH?4#X+PSo*jsxOKQjIdTN zai4D(a#2^x@>L;iX&4>;D#Eu*G`d-e_3}H)9S5J0X+~CDhG zMJxPVVDB`o(S3T-anfk&K#I}R43+)bA_tUyB;UCZnTN=R$g@B~ymmDP?9pTFc#I8Q zoAEB)VU$osl6H2_GJ9oT)>}}ReQ4>g&rEMesnr)TyL(Kl4Y@JZLyn7FxG~}c#1XhT z{~y=5GG~`MokX_IcmKQ94(g?$4(-yhB?U|WaV`CnSqco;E$yfxJai)Ut-F}Hzi!M} zdiprjQi|f{sBroKK^)+DYK%v;d$nXI!$peR?|iwqcyHCfp4bF48RKe=?GUZe$DRG+ zZLj;<&LaW&j^=J%4Q%7!Ax1j;B|t!^_F6GonE`Hl({7txJO)&P;cG7)|=aU~U6y}sw)pqtMPP6M*IEOoY?IpyF7-92i zzbAq}v^zzPQ9&Q)ZRT<82omg4su1(4BgTz}N^Ioef8s-ZGq9QLV9;2RV8e7>$*6RA zVVwSQq;Hj>IfkPCi+j!N=LC!cQ;#!?uk=}@rqAVE+|n_xcJsS6inZDDJ+T_d{KAM% zItT>p{1Mxv_Ydb@S?Aghnn4|^+Ktljyq=;~PBc$M^8l!tJqUn}bf0e_u zxqxu8>%AleSxgDqjnjsv84@Q53>kKTZaCA1bz~%{WX6ReZ`S*n{mnw+1=FPQ5VvRX zB0@tHyPS zq0B5yWsd$ikBo_`E<3T`-x^JJUo+CHCS>St-MNuA!by{0MRUFrWx>v_C02ma-eF+}}1bZ+M)t9iRT9SaInQBk|a7Huo1Y4}!BRf_Z|| z%8_If8m*Y7U=N)lx)W+bWt?iWgorU}E~i7R!?V4F5|b}(ekcsRCo>vc`6cnko@jI` z5<$F+7r@S-X%GJ6>Lf;z#HxiF`~=aS_3Y8luD63!$~uc&?_P%75HdR|EObY|E#(k) zd+$16^9xAz19tlw(>XMsBiKgyhwitlML%KcVRV{?2u)pc=R%(B9GfiDZwCm{z4+s8 z(n)63gWvhLBiEcHS2g}AuQZ7QNaSUc1}l^fdJ6VV!5X&U;uho6Xz zesdG)pp*={JY}ylby&ePzczvx9Nl7nqG_*_DSD_Xd}T&;qS5m!=O;!ss#%7Y1U#hFpm;vob*HU=IZ?i?)Zeyc!zNdzNhKU!`7P zm?bKfcz{;Oi`@r9J!!om-lK+A@3v!)Dm*pvZ}@69dkYo# z&?bD&5=GJI0rA4h>op9uN>n1Z`g?!?wH=scB<3F_JP)ksBPg#Kh;fOIYc_MSqxrSt zMLZY}ixSExc&6IbsBXd`pNm3sehZG5ewZt+7dYN^;~E==XgB-eBY5fr4G0*ail7z% zzh(c`)mI%$EnC|(laorU^YuABS6E>zyB!j&t>tJu%Dn6G=|HYK&!2RT@H0j5Tsce# zXm4&R%TrdngQ`{uRTv~nYrZ%b&DmW(G|GEp7vJ~1-B1VAkQBJUv-tsHjKBbK+zGA_ zQ4^tijo4`bdCy*JLWG*nUrXLxnL$&78D%Gg6_X3nEo-ZSVx;)2yn+0s`gfZp6icE9 zaEP{6!EKnYH?)#*owm6(RSE+3T+dmxDDMrm!}NXGCn}E%@8~{}LS<9hb4~IP-z?xG zN-PmH!-U-cBFNK8H|jz9#YM*kIF*u(65WHea+tt;KDuOI(9tN;;!5n!(#jZcEKQ7Z ze06v1JBU@DnN%aX3?*b$ou1DKqCaQVTI2VO9t*5Z&1tvJ`cXRmc!#kqS?iRyRg7Z| zS1$&H7v5!d6^dMr2j+&)W@X@G%rl(+Q>^neqr|e!VHzg6Fk|&a z=$hHL_k)R758%Gr{6@1x{5S&sbO(;W1OV9#{gOt7TWI}Vj66FW-!CtS!!D(Stt=79*R-)f!jBBz^) zWZ)-ifh^pVQzq%B35dl3DbKfXt2>J@zF_GCl#~44-iX>we_4g%heODY^}D^Lhx*DirYPy_x_zN@8G;*Kp#Yi=AZZt>uae^`g+6-3lih`n#s?SSw z@!%+Q*kUbSR%|C17APj(N0C7$_D`{6iz6_K2jwQ$r699&=?754z?ElSO1uFyEysF*oCOMdxR2ps&x}F~32Rvddc5Hd?FKW*n*aOK%P(>RDs&t>HA=tTi#^07x|f zE{XwnW`0jfHKPt0N*IcBGm7H$g)q(_SBv&mge3#!ykzhLNELWzCA0DR>KK5@WUZdL5PW==|IdQ;*4+Q{$^U=ilOzB8{y(cbA16-u z_~TTt3{LdgLw3Y+hd5V@tmlpxF5zhL{z`{OkEGXk{E_3o@JH@FkWViS*0QYBJ^5z8 zOt?s%Yuy5qc9tRkTxp_=gPtLLdC(}lOKN^7MgO^`IQPvH-uZ$GF_QPR=FWF=@yNg6 z0_F`lDg~wgajoPVEodJ{D7^lgGIA$@>+#go^GO%STf1)sI!Du}#wtEhVRtmAVx*co zC4b}EYX51!pUBv z)^UD)+J7nCddGpYT!KO3+yb?cA6gS}S9b^gQ%C@B^f=c&Ipo%EvKvp)kIDZ_tsh#Z z7;M+l@-SV+f0;uCwY9JA1llw!JVo%{;;22tsE`W8Ci2U68gSntey!czkgpmA^WsO#$A8_z6xcTCRQv~sa5 z-ZJFl9~#U(7%$RdXme)1@FC?ba17}1@Z$d)pQ;lv!jsp$^y|#uYaL!bd~1g^%~tJd zB2RS{pIHMY8WN*}1ITZ-Pqk%ZKyTmzu8GNprh#wAv0v@f?Q@~&>0f&%(FR#SBayja%#I(2@ z??TdFw=63k@6!D)mNts_&j1?)@J@zO#w{0;7K<=I%)s1s-j-EhDZcxbu=)~kCE%KQ zufuKf!)ODO|C3A~1!fF4y_B_GLt+Hb^;c3(wWOfPR}jNIles=VSypG0O&?Wh@%b;| zujD2Gvm*zO^qve&S28)$=<5TN!k6M2f@~nLM^H{Qz4^@i(D`Mp*vV7;dHT;l8N;CV z>l4Xaf_0WBxte*#g^%}&b6I1utTT_l>G9dSYeJ6O;G8|G&PY~*gESuj>Txzq6~fC! z;BE4BqPg#UGs+T7A3KZ0jj3*(mlak|!rCIA7XQiPT3&q+sx{nG2-MCBZsuq)9h zH5Ou1!~@0%KOvn;@P*R8_T5uCakS$R|8e09QVL+jUW>>g;b#bndz+WfO8nc5-lZe* znlU@Nd${uVtWy`qesD#cDc6OaJb5+Dcvb4>u-TSMHS_WAzK>G|5CLE=%64niN1 z9ez`b90BIMA211g_SYvfzR`-EQd4U`oPO!H)W?z4HJNW2lcS8Q6156k@{RN?w#&PA zb!Ew$T)9Q!+}oGH*@|U9~^=jf5e!+9x=n@|c;-k`EU}O&x5=GJVEY|e)`CK_P_SeQ6l!cIHplp zC*rtfRkiV~;*%Z5CP9KHJL(rg`X5#pa9L|v`yeK=6xCm08VqN3{DC`C6FASF19cH8 zq7M|UV-eNFk8v2$7l9L7|5n*=<`xweyJpz(|Gq}Ge7!@zxbipomP-Qr%DX+)pY8@o z|3uZ@*GCrt)|V6q1%8nL)N=DbEO_-=*yxv? zOwijuBxfO;G*+wmxgk?5py2y#M*d5S~xV?mG^;-qVOr&rro$ZN*Po zjLAkEHB~Pq3;r?&ne|9o&GZ~TWJpH}@bmD^uDM(px4_k|2X-ne6-}R-N$eIp4j@*Cv zPct8JH*^OLpRl2-GXWrC2vo2sYjNEGVxOxal9dTEp_VHrP2`Ei_AS^Guj^ivktTdb z!M;3^BW_tWmFFro8r@>hf?319%Fi6#kMw(b|*+7!X%kmjZ0Mz}*^Lf9|zZ!KUf5y>j7zNtz|#a9n^1~Rbk0}l_7I;6!yL~ z6DJ#sGa28fRTZ+-pWYmTjXTeYo|m6-#i&xEob<_8DzP-NU#rWgPnBDtfBn&-;CV(U zKO{H!R}Z?EV>G{&x zWwt(pYn)Sdo~J%Bn<8>L%B!W8zTDxjI20*2Pk@hwuq5Ugdb9!@^&m40BSuTZD5ZHB zj8ZYk5+|ond|Pk`6de8webVWL29xyBhZTn$uz9TOGe?pSHM&A4JXSOKnOfE&v6(Zd zb2lpkQM4NJ@{zUV zZ-81%QGP=BaX<3ahs2l@0NQOj9NJ^WX{K36F2oW?d}Vr`EZksb1k*VT5B*=u{;x)W z@jH&1Nq75a%p4UFD#;+gy&i=gI-nn*vy#!{Bd3~IVX-=MW!?hUlR#alm!Z^d=>Ny% zIJW4v+D-P8#!hFgwX6LT81I@n?xbwiKx-;^!;<~3+GKaSf45$RT~L@y*Ka~l7~ik> zN&1BtevgiDph0RO>%!TULxTj*=pXKq&teqjugfBQkMeBYUduw9cKUkT_`3fsn;v6g zQy-`GP0g_V50|vrO9$K=$2mdwoX1+Wd5w9gZgVp)`+A-5?HhE4EjjaJ!zTzZ>A zaolg>L&kRzx)Dhz+I2Pf_!evLPdyocri$a|{2mp+m)2u&gAvz;g^ThG0(GB- z%{ARKJHNKbM!GGchi)ev;@q}skm@_z1yYfWepm$=zlokAbaEuYj2z?iWmo%&!~Is3 zqnLnqt(^`?0oc#n|4?<$?$-^^YqT@I*=FoVey%;v&DI_Fv<~^}=@}d%NYf3Uf2MWw z&HUmYLh}#Q7Ju;Hn%Z>@IMg zp8^<--pz95KMssddeGP^s3`#wVl8EjJL4n1WtMleXmCO**5uZZn|ro$l;A18YdRvz z+vDJEO+k0T4JnA6g%_woz)I*g0+)O4UfM`f8hV*1@_{hlG^VENYc^Y;iuWk=HWsN2 zJ6S!udSL45OThd)i|x+pq6WNU9Z6s^W~ykNIrH(pM-l>Q(ar$*eqr;wUS@p|8=<^% zg%t;$br)*66x2VJZ%oHM=9~z1V(p>Z%$e6J#bG?=i0AqpOh0L{b1AcqEXH8GgADe1 zzZIGw&Smqni~5OqkuycyRmwumA;*bxB5)A}DLUQHJ2p1?N+T1cxXt< zB1?RQBZvpXwvyQfNL%D0w6Lxasud^VS?<0ys{n^U?@U#b4=;-L>*^$G!E7DjGab++ zytw{xSb0ve4KIRmqL032?BQu0)$r8b;(w}Ac93~Bg-Ap65mS*f^@%~cpG8u2~x8#SjAZCe+2^1|(ilBHZn9nC6S-_o;UT?S#vg|P)o5I931 z0{V3zCzx~I-wR9TEd)Gu%rh=gW`5RH9pjV3q7Qe9v%Gv9f`Dq{!C%!zUHG6a{kQuPiBRlXPSDtMc%pRMRDAz0Z+SK3({9uLx zL3;*_Ky;`Hd2HG96%{V;b;ln1u7;2J`Q-h?Efd%K?XFXWch~Se0Keq{-=-bg2UWVQ zKBp}*&ajJEC<=Hu<{liDHx4^P0!DLX*Sw~>1M^NC%l6jM0-N-IJ{C9r=;XvFl25tHwUW{G(>S0Eg`jh@2Z|2v32>ore9% zlJL0_&!-*_GYDj}OO~7g+VV_9x0;Wi-5`xQ>BD*c3r|C@?ZGHjvtMC$(zDz3Px%S5 zOyLMh&mNb#&GvngI#quQKkxG|5K^|@O?SSp9WnlpK1kGtyih4f(C=F`k9l$UGrL2sCcT+@0a$Nl8FAYY-{!N2#I*MX0FMMzG`EUK=`8y8B%$M0T|Hrkb z8j||;&}r+*?>}YwKRIKjgZH<_5_hq`X;H3;nJ9MhZ48gi#TGLip_Uf;qcmNRny5t* z-GKkmUsP-wqIwEO-5C4uq0uVDk3FDQ*t4quBrW%duWO@(;0*qo>I)|O`5&B=JF|o{ zpMAa!P|KZX*q?PlqQ}dEg~H~iULdXMxF>>3@*=d&3XNGW>ES$fhD4;B_fexYl2n)T z1lJmhoP(~Fj6#v$Kp%0j|5$Bt!L>R!Ka?L%ShM)_tZ_18v$*}KF)J+RqmIpDEso^{ zs5r-M;jNoPSn1GkvMvXi0u*&LH+cv`OD7JZ>P{W{|{dKELqJ)uYX1e{>P{6dfPaBoCWf(z_A~w*hbbkO09? z_3!}$iRvQN*~nXfA{hX*ssusWwKH)LWRCBec7g>F!5OLNZ*6!NG$X&!o>fP4@dWh% z^FfvQyHOMu2>Yw-@SqVga~g#i+eDyy{a7NEZL`POg^dpMM2_G*U8kG6)}-xKyALZ| zm1BN_rSew4$Mrlk!hTOt(>kBWmxesa>Q84Mv*bp1yHQ=4;b8rJ!SCW|VvL5Gc5?c2 zCFsaDXwUM)Oon`!-sc}3y`Aaa9H+(y9?qgaL5_iUKL3YPwbI7XZ4rPK=B2Kv z_OI?SrZ#t4k458rXP6;ney40_ULUI`S=8)6t2Ei+ToSlA!#=-%q+a=k`N*%l z&Ub+`*4J8Dl;!SUvEb6~zIx+;_d`G2H^Rm=n5SphHk2HZJae4}#Ov9y9F5RIrpd_W zPoU_pZCjV@|eu1KsdMkQ4RW2S4PW0)Fra=OOGCX2fHF2jIdb#$~L0SdfaH)p^FxvI~4 z?tR+J{GbtoVk&nK{}8^QU^OK50=<@T9t?s<=*s-s>Ix;3R+RK7F8%i*$rwc#wQ+-pQ zO2PYAldA6NpE1(ffsheoMq=h?nsed z0!(aIven*t(6uxB%B|5Lp`#l+KR2ph7Qg(S_Y#l$syezXG3fA@J;;}}Y`5REuPeU@ zU4IB0mFzTNu!TL&E{Di*S!k*Uf#pTle-3I#vC$MWqgH3B+E9h>Rl@^8dklIT-po0B zCDyrRm?rVv&DCA}D#a#&MQe-lA|ydopqF#rf!5#Y z_(gycZBk#qY?@>HC)Dv>!}oV`L1vX`@%V1_$;-~ZojwWC?4tMk9zMXcOzQNC;cT>~*?|u^0GCs&W^lVyK=#>ko zrT%rbo9zk^Gxbw@ncCHt)QkK5_}p>B`rMm*V=AeyBKM>CcJi;F+aZ?BBJ(_U2&$}Q ziHFPs^Ae-^#bjSybYAEUXVZf2pwpGvVSln4+{H|x)5Pa~@0vTW`@XQn-R{MDV26-3 zV^KtMF=*)k@)Rs(b^}Le8O5*98)|5FrR(Cy3Z`S~EOc+0op6TN#P1^|ESs%Y_;P<^ z`obSF7xea-r1tyWnMz*9XRa0O`s?5Qdi_}QS!mXKrgn?CO#i{T z$-$y%#<(eAXuO9bIQ1IahOR_+h7*!dm0P$$J=MwZA=MLvyOkSMR{YzqU4iMG&fg`|fvUdpj?^?J4Y1 znwT(lP0jY;O+Sw$sZmjMD#{HpLFyt_N&L}R7Ga^j6E>OIw!7MaS7>%dB9smUqFb2X zf;CwsVBrJ0sTT@XwO~nD%pWeI;?&wB_|L=0JUC57!Hx!?me(7jXVQND6yn)auuywW z%$7e#Z>EAh50po{T$v8wH}GNiV|c;5tHHH%P)EPq3RZihNxYlDG8zn0c2^k6n78Ki zSPnRLg6^MlbL^fS2!4MFI*}!v0~X8(EK0X&=>{j35?$*x!GO*K%Ad*A5t8PW3GT6( zC)5fq?tlAuA~C~DZqmv$A6ZlTuep9nRTS89O&Z zFm=p2ZaljyM3hs_2}YIIvc!-S1horH)?HLpTzh{~79-V#oQM*ch82Jvi)fBm-;}x6 zlgpXze1~756CX7uw~EIYeSN_W~tc<3tZPs=rRI(MO> zye`4^?XafPm?YBoCCBRvRrJsev4ullg2{J95Pz&6`9YYDAJ*WWD2w0H9SdFlQ~8ZC zu-bPR*&2Y$kG;Y<1it=Ae+o)oR|P2Vgs~s#hEc+C;xN=)dSr+*rkKXgqKsK_`cn_s zNyU@z?zkAw)qjT2jY>e(XtxnyWj`u&9{9~1b)yOuvyK5BgwDn)+HB5U)f}Z*8RC&$ zqY^di9qms!v}xzJ$xEx;oUD^715W*l@4lgeB@YtU6&iycm@KC9wFbNNG%GBkR`nNt z5+lL+utv@IXM!76ivw|P7Qd_M0$Ldw zo$nRSYDh2YEB^YAOO{9`qG=9(@t_%VErD~;3rGzb&^k6>kSojYtxxt`AV!;PQ0J9g z`ZX8kW{sRW5B>uB3B^Ez6A2#!zE?Eh=h8yE#888;&nxGgo2yOCZXNWJ*05co{`^o@ z?0Ct)=_lo@>3F2^@SS6ZTrFLPhy(x(Y2cGc9}y|2J4mo?7y;}YU8nia*D3q53%sx* zpJ_ihwaQI}S+1SMpHyDHdaC7oczI_ZuZ$%3ePy=#J03v_ZBpSJ@k@Tj^lK5s+PUj< zpFag2n!AcET984_ZqE{5;$gM1HXQg;qJ=a^d0qCq)3}Lw^7QrNo{U@!ZMnXE?d&Ob z*12HoPwG?2QTs1lJlxXhwQVsBdEzG8I06++AJ!>)91A43^Mu5vgQ1!qs9gzFp97~m zypAyOhrGPr$@iG0SVbV#R2FWa+`4*dqt7F!fW^-_(A5ut)msE#Cj}LRE*2@a07nBoLP+GL{1`_}PiM%|)+TUi zSKVVrlYI;Ew+BLHIMEU;RWQXMcdIaJC2@rowUKHVsUgMv6cTco{_Ah@D}s06m-(T< z&+i7>DyiqcM5Dr2~N^&>?is48C1SFdR#;GZ~j2pF(Ls0BjZ1ulI2$%`<860Rl!lPEV|oix>s`;+Z)$06ub997_S z?R9>6JLg=R$?`Lue98dQjsj3|%MINi5OijKtpxXzGh0#de;Mh(wiUZ? zP;-U7!zlY|w$;bl`n0bmzzZ<NMjJNO>0e&<%p)FiND{yGp8N{a&2DN2h?Jw zJ!gQ^&yPC9n&{_wwMm#a$Nk#RBTrF4px+ zJ7<#L8spR@C2P0;<1+D3P!!QOho#s(gy*QchzVQ^v4XTZLncg=G>7`Awb+|AW$&d5 z9!{0&4!GZZ|8ADGhho5nMp|z=`sR23Y?#@_k%R*PL_k3%sTpM8^6X6Cp=Zwd7?+h& zn3r+6k=`p*^cVe?U~mPY77L;`v=^?m1%7DJe~eclyy#XVtlOj`%_KtG} z3>}aMXa%nec%Oa%1KlLvf+$x(o^AZjiJdhB}nXW4YW(3^dj-uIt zs!ePnc*7hxAV?9<-?X~tk&7Tde_yL_t6!vn+8Q3E|gFe=TeyG z5vfA?6{o(Iwy5ZWjnkzrzt~Ox2YX){4s{szJF*o;vaeGpl_Vv~Hd-ttX|u;9yTMel zWy}aA>qH@nA=wgRrz~TaghH0FjXl|BEaT5Cou~IY=Q@GIL$f`U=|IB98bpdSkPrCIuPk8T76RpZ>9Py+y2J?Y-ELM} z`^sJq;6GgLm=@nWV6E0ZKuQIJJ;Ua^0zUQ!yat*85;}+{Q8J&bKF6M9o~2o2&FI)1 zuC<`qYNpgI4OE>Pa!+XYr=#B)1=uSL)S=h{Um=reIG$AE-$*3Cnv}7WstPZ+9Z9K> zjatj77+m(MZ})jPJ7+a%rXU=M!EQfgv>%j^s$$BRfJa(E`zF1_>3OV=0FiI&rAhIR zDvI~qRME4oMvLu<*g5lQ@cLJso}GZ=vN7bqRs%B5o{ROKy+6Qzda!Bi&L1F)1xPeW zgvXze8@5mDL|?);Uy@d4Wg~b(Q2w${T#t4i>0#Ti#32JV#LBuhY^8!>`)X=?~LFZMx zEoI`5znQVv+#6oN*)JofysgO!MR>3B;2ICG_jdi;q2OhRc27V2qe75#(WVsAv?}dg zL4T?>$+ojU%S7`I-%ND2mT0SY)qk*?xOC{I_+fp?#VC*F1AFD4Zou*DK+;~Ay?cS` zGwt7k$K&9DsE3ecp2bmuNU=LgSZ$MRLKp zuf}rH{ee;fnsGr^Y`&$ramQeQ$V$%559(~G3@N{HnfLJM#uhQ}+NshdCvHOlwRTy= z@%uL9HokVLyn7rlj+Z>J9S)E}A#`z+w24Y1rY2!2dlF90LGX zfJ5Dg5XMmwrGP=3berCZe)WCgSAIMWhTr_Pf!^?Wuw&o$`P-=XKCVK3@k?u!OR20V zvC5CTt@@o_{qXfB5uRLdb`i;lJavJ~OQNwGrvrc>_UyyBM!s4=>JB5%0{;-rc2e)n8+q9(o4^Wut z;Knbi?lKcU8LM@9!2aBd=Lwvj*p;lOIj1F>&zLFrJ~G>U?X~<(A_i6Qe0M{mM4Q^i z)awhoNN@5op9eOq4uY2?nS>(5Ei#nZ-`N_h5BI5?^HI`GQg&@wtXH|2K?R?MCE^Zp zoZo2oSjP{c>E*?&3WT#NFZ-8Rx_C9UWn4ApyE-aTZ0gTf>7KH=ThVad``-hAZZQ4= z^05h*@S!*-ON(0{_U}Ia1fRK)hbUXp>sHZu!OYMICu>Z5e|MBZEb1UoFcZ3K48 zKhOcl^&0mh90Z?hrF}pOF)vIDzNlAwJW%U8E!`z}^OgDFSxJs{XD_PSnnTCPo^#jU zso>lcuJrzjE-cqi_>dO;%Wqj%+w<-dFS*c9M(#lP_oh6v6}qA4@&}t+2g7I=jA9Of z$Aq$5Ew|)E>(g;u7zgUJnf+rOdy{6Y{vAxo_d&_mAgpyTmHfi<*Fg}1zv7AWJ*_`O?U}DGTlsis3<4@)gbfXGvESM!z5(@u-h(2&G+@y3Z)*Z4SMAI{6asM z^*mrtLZ4&lGo|X>SHX7dq0s^$ne-jJlAeyNTepj@kcvP4_PhUwh91Y$v(g z0w2ZQ!3rG>%de0nk!UVdiI6_;Iha7Od#A{iEfE2qhLs@T`_ATfsMK!EyXVhM)Pu)#yZtm+J z`up8y12WD}%zj;I;Al4d@Q6nbg{Fa@i7UPV_LWs^M0R(?Kt4)+&I_gr*Lh$ppdc1;DtxS#ZG!}wn6TbwhovQ#Ewh0 zzq3bi)$7tv&puQq&$-MbZN~)?XD-pfjVH7N{DoRfM}{$|#xxoOY(~0v?Ju^6lQ>KyS>n=jjuC@-%^b8(B$h3el`fivH|EN_l-W{zjXl;9T|I zr;Xb_gx}CegZ{1PkVofaJu12rbL?#^vS-V0wJ@p_-j}9P3Y>)SDOY&=4;r({MBFw%K z^tl5f+LMKuVzl=~vu%<2EkfcaXUK$VUPNM0@P)$_wH>ovQl&2~xptijQ26b}3H@WI zsreC~vJp1l%ukBn__3Qyi}mXltW6=hyMYq)&=yCvB@7ejDXiDv+LATFkD!zw%gmk? z>7cWr;7{^2xiqJAr=MN9O2d@X7c(R%b$#7GXY=-(baUwZg?TOKxEE@YZN?Q2j;wo1 zZl9@ohZC5_Uwh}9pFS{fZ96{yTjF`nm8x<0rO_L_+f!g&4H4c1AT;ps3{#sG1#ES2 z&*T(JOZs&5Q`ja9lgPtjwxN_3o8pfv3Of6MvXN=aqoa4o$8H z6waxa8Yjx=@j+84)sWD>D_^QA_nqxsh#yjUS-WP4nT0!Fn01tR8DmNJrVp$+evh?9 zc}sFW-;~=}7r8u>*U^r?PDu8E{e_*M0F`5=SWr8zYLIzAZkmpPf~c;oQpUY1kGW~d zFVJ4oT4#&fNN$q~ zt{W$1T~b&wiC)&UuS;;7Sl)d&=5AA8I~?W}Z!|VVDzkoEcRJ7}u<*UVSIYgUD{F5t zm}y961$pV~T&_mar$_fM8cs~Yn;wzkXMl_{RfwVb9}e_xK!T2b@F$5vkRmpq#Z*B# zpL^jEay=Dd8bQ{}elJs>*jx z>5=l>wzj112pPE_dF#$9yO$I{enILA<7-w#ck;b+r|0polB4&emSj_yQPa zN%nUi|DI^k-pcPCAfNei?$`Az6poG#rAnbjq6 zEqv^+7EP_vPnsppIlRouk|}1I9Z91rBM4hp7;PXh9Nm5c`>dA>6U-3dSRY(A_zOF- zKvQ712HysCppz)(B#shB0F-Oc#cVu<-HW+HbB(T-hLT&^JT&vUMA4kw$&Hvs_m5U1 zqr$SS&Cg>L7j-yax0!eFzQpyaPFF?vl4O{owB%<@mHnUl&+78+H1XdW(d_W`G}pu3 zte*aZ+NOd%<$}A1B)7Bou&BaQI8XpX0YQQ$g-=jKi`ZZieG%uFSNl?>QZuD|@ooL1 zQK$JLUZhP*Kv?kui%^I?hv9+3{DXX*^G1JH?u7g8 z3G}6pIGIF$Es~F;x3dgd?yJdud+_KSaU+5unsV^X?T`#iR!GEg1Vt%+flQ#=da+%T zYKnOtXdU|se>wv!c+|kjS^XpE+ow>xEE`BXdII&aK3=#f{!6>M3D?`YJ+-m{W)xzB8;e$(6`jjKeUbI^}lPpDt8L? z!RK5#d+@nXbvP$ZrQIGjPlbVK2e3yxJxqYHw(KGIPUhNv7V+@tD{%4N$36F8M^a`kC2Nas5rUrfNX!p{C1L(zpT+k5W7K-C z0v#OseO4CJnIemvtdE#7b!<{*#_4IW?RvPz6xApG%@WnwY(CN~wz#HO5 z;m6RX7UT8Zw;yL)cmGT}wsmDw`6>STFYgdUCf7$^=hFBG#%IsRO0OP0N2j;10jsi?L`YkZqSQ)?g%=Z_V%(`^2K6-Ah;ZiR zt<=<^%(q`lKbH+9goJ%h;9i(}IwvqhEFn?e0Xq$8G#QA+Moi(!@Wu%NU+An^sGM|E z+oGXE(l4}U`L95+j;vTkH8FiaNxD8odY@QUt}iODFA{nxD>RD}Am2TlQn7?%JXQ+# zKXV=zI9+r7+)8aQP&57thZI2>T)PbbQ4qsPXfiJn3POY^RtyxW$KM;=HFvB(IHl`X z?OTNe<4#l6lcYeO4OUd19GPtV{j}kynCz=BPu%pk+;6OnIC!o}z{sf~E*P-|vv+L)Uk>7Kfl8p)m3`wR%SdgS5t!U%Kr|e0FXz6yeMBK?yCvZGx zmz1W9Ri%prjQE+q7S&#_iF-FQKLAb=G+_(HX#Nbr)nI!Gw?lY;@WIka;h>ut4mK*) zH@AJEecTo&yzDq<7{dBE_!2MSj_?y>hkrk0mOp;Ik*pnLYcQc$>M7^o$;qg0_q5+$iD9{|7=s#AbWJw>z{ks9v4cgaqTPL zmb5okxc`=(kcB_9I*p%NUA%6qtlm9z!&Pz82;;gf`1J-a9%Bnd!<*3I>B>-|ZuJ-B zUU%^w;;@OAK+=QYOc3<1-LsqrJ>1)DK9hgAjvF}VK!p2(j^sZH0kcB;h5hb@d9tQa z!~DU$fzP{}^Ap>zYi#}2OJ!BEIRhB)q@ThLkTvnE(SvOY2)kS7g@me;9G2Dw(gXg^5)bJMSQq>Rgv%WE6^?s2|p>?>{KADJ%B_x)m$%)Xd? znZ{p*u`&O|Q>n44e{JcC+3In(Ta(H}-JAhFKo+>_$qk_MwT@Q-5LljIPlw;$m4RUb`{| zkG8RUaVF&aqCR{U#3-(Rjbtl~0tD(?+<8zu<4{0yOKNs{1l8=$z^Xdq4JO|ALAo4G z^n>5x!}(^qtF@z^SHpFodN=*EEPY&~EBhR-5%h8$C*sCASvi2g!c|AhZA597gWG;? zlZKRC+D!3X+q==xxtfCacitTfcCM7TcI*E54YfFK+$}RlXZiO!M=uBP@!^xXgz(oy zxq^AKkCv7pYYqtTv3~xHGu{#I2iK)O@DhRi*2^pwz-G51nVbwMb{m{`6KFaJ{vna2 zx-;`L_K%FIWA#y=3lnCnhnKc>IyChrk|m}{pBZUq8VRMjOE15;6nLHdoP{}0eKc|f zhVMzDkC>L53w=`3PIchmas(!qKg%nQ?{9f~$s5>?uObT-ll)#GQq+yRVx01H?%`)z zg7;(yf^umqO?8^U6!W;TnkVPzxEz)7r7U_<=?KaHAgxEkYZ-g38kf2#!dF{ zm#QTL>dCD;gB7v-R|&V1?IRtu_C}(#Y;|kJP5tTl-u|Ud(T4b0+*^QsEPi|w838Ig zAeH`tDAjB-i}}*t(8KSB)rJU#ki9|0AZZfm=CkORdM9D}d)&&@5p!$#cB&KJ1IB82 zUw@tT3S7ljLqG!F(`X`yCzW}V8YYE!$EH0Ln{z3QiWD_RgWY*-J;-TTO8nDV?UF-BEHr zXImm9_}AgN*Nx~0SQSjrnC9kYrRwMc@jAtl{&KuPK*92aL*>AMap_H4<%OjYj9-;z zJU(^o`RRZi3M{zCK;#C80dN;avd7?Mgr!5&pL!>-z3ij-i@hgh8r|NF-W?ltj7A;J zyx7~Z^b6S3gL71MaLIp)6eR_3T8-KfkE<63j>C97{d^`G~`sjOC2$zxz0M0xKTpjEla_?n!_PF%6+-d$Et}C8n`~EyUjo&g0x%`Dbu#BFp)i|*6_$^V|FRkF#XcOos9Vqb%vGUJD$xN7@|g)Xk+365PS@$AB^9wD6I zHGu~BrJKk^Ql%wR6iIhtMKd2}GY^9%nPR;<^z_q61wCyN&b4p`r8Sc@rpZd(Rl>0_ z7jFmuC+Eej!b(G+QFi_ppxeP8f3sDoAKt6@H_IKaV0R68Cg-ktK^y`BNjjim$5MS? zjTC|UnsEXf{CHttVIOVUy8-#%McRFRd9i*bfg9_I1z-)J`|Qu=6Q?DE>JqqzxI}K6 zUPL^faAtVt2Xa|dT4vo8q@VZnzsq`WOmHG#zjMA}m2&Jf8(>NpR@fgX#u?0B8gKia zauxp;>hE1VUdqiDP3w0EXTs%=BKaN(&O(+mM$F5%sU&tRp8gEHSH}?BS|NzcKgw&b z*n396m<*vy;P;WfT68cK*UVO-_66|Xin#jAfo70hSopQRn(KqIY}(iq2TbCP-?^_J z36-i$Q9Rv)6|1LUh2f)#0JXZF7CXb?q6{i7^l^SgozGW1>+bWT#?QD28$X|8LvHXc zo)z70WeDOLjd8B`>rbtRSLYRg&7{iN=aOZUWB{$BnU zEFzH9TY}KZh^2gxMpQz?45l`kbiHP_0{c9LRHmn*{e+Ry4^$7TGK(&HAY0 z3NqAR^RbtKLg~lKC(pLXUAggdf>6?kT_C2r_9X`}9hLr%Fd}k;`=Ps==$*@N?s`cZ zNk~ZS2S#p`I#Db9_qtbEZ%WL6pt=*+$Y6S?O3Q_7I%=EC4=?Oob0F zWGwz{Je762pSan6q{x~e!N-5VUk1|x0FHlBwQa2uZyo(*u2v3%Nk|(aC^|q(Zf-aP z4QbtJX+Ayy(}*9!FMGe)0LLVP3~%3>*sI4KusBtjZq+$S5cnhY$?XHB!x^QW$n3`+ zw49D$N~5TxYgB;Pj{v2${VV#_H1QVgF0&T7Lv@~#MMd4&zG4ebjNZzxS$97x@yaUG z@zbi!B*=PVH^z?o#bRxWX7LJ_leAE_JP?a+&#{i&8Ki)3?OeEiX{b(lpq4Lk*mZe420mW9F--0~MaeCIife+RS0+wU5cq0gU;>&Lt zO3?MgmDKE=-}YxJ%3`=erE3;#{c94=CGRFa81!^;zTu=+w6rYB$Y+>z(dh8ukv1B( zvs53ekS6~}RY3N#cLlpIZtqA6=fe^*iHAga`6P|B{15DA`48Te$=>x4M=A6U7H(wA z{z`OOLnj-T*#<>NI~;6Ja;muHM-e`xySQ@*%BCqzt~MegY)GxDQD4Hf%px!dXBBpK z(1WWVEC#~nA4TcvYCqJ61D%CN?Nwm@%s2*FOtAT2RL$1Q;*PdK7Uj-7{8=JAh9z;@ zXH|I=}RFQ(wj3Z_fG{n7L z-@CIU^FVnEMMtwT_4cuUk#?)&@Sxv2UMCoZQTQY-vc=!n=$Ggv%!&E{f6X795HHw zQ!f&Dv90jZx>msUS23O3r+MuQYCB!n1-&~M`7K?3uTPuH>ygrzcZi*#M>!jqUip9q z43^woRgCGd{ekt4PY6*GQd*?p|{^cSDk&t*N|1rPz%6U)brjb35AXeIH%W zki2W-hGRTI_#sf=JVoT09*uz+aax?A#qvkCQAzQM^)Si=w zvgPG6^?HZ?3+rR`F6dg@SL8|@WpK=dzL`uv_Yc3#FUW%*-c;||Z}Q&W`bxmKlGlyJ z!9xk#lI*6JGxiS;;Ci%R>}V2d0pYd^xe%n=8HyDdQ0n98=hXR;Hm~|2wPIsIxu)7d zx?C8&6;X-^TPAr0y*;mYLQxxIsNx*nAiaFpN2ql7XNH`h?BTikFsPB{1KdbJO>D#x zScXR2j<`S_5A#I(@-q@f4gvQnc49ZSXF^U-5ZjO2vw_AVb}=sqzR*#d5=jb@UNl6j z3`k-=vyJ}3(tTRK22c`st9d`6cc4H7)W(JI%%=2RP!cAEL4c^ zwE8wO3G?_W%MiSP&;FU4@BtzEP-T4)F@7UpUHGpj0&?(qw%b=^$Cn{_H~&H*$YwD zufKD}ojfctR`;~~x<0}h=SGUMAuUxfWCBK}=$U7bV;CJOHtS>gr`GhKG|lU$4?YTX zRE~MKsWZ5?1zvgJJco0g7|Nw<_WIUoH?R@VFwJD@aLc#~6j>A?*sQ5FJ#zQYZShJk z3tAeSB{rm=a7nn>`dY5Hb-|83t3pp~0^5%)F>C1onTY`LU^-eZ0AX3&H(&LD+Uc*G z-f0nMpy=t%%PT?rj(`rLL3%t~z?RLX;390CR|u1)L6hIbpIAmePDz!Pj+V6;H#>79 zePz#8&DHFds6P>k^STc>b_y5=vBQKiJWvjPrgt9u{Yk@sdf>?;l{JPjjsEC|-nc+7 zAFm@)l7fp$FwIXqbrXVQ^*TOm2!&C6^0 zjx44gUl71WK~E8?pT0%w8cHyaLkmK|2NPDB zZi}yq7EM<3OBtSWX>8Lcj+2IO(+i<140mkLxEyF3@*quvClR8Tl&yN?-`tf@N+kz( z47E{DF_l3A%wI97x(Bdr3lL6-k=*ISuPp)AT2DNnchQ7)VsL-pPwQCEVcn#x6Zb^d zJjaJq-r!$v%mY7~bkOh!oyWGr`Om5dHj?(&%V3NkT}tpplVI%&G{g%gTqAlCm2%Q( zrM32LbmMOJ{y!mt*}-+-WVr}67GVHGGSrLd1raE=9f$f0bq?oOCI_SONmD^CYbUdO z5l3UQFUAReyCd|&vSos5Me$QZRl-C%vBbhdX7rCbv0 zI4F1(Qey8uTs4VoUma1UANz5`XcAaJi@4VR__VvphU@{PfY&nd5<+bxN4va?qvH?G z6R}{#r?6xMtQHBLkpubXLxff-i?CoS@nRLVCrU+iTTS}Tl#yN=P{p8?)BRENp|YmQ6Kl*-_Z}f*_Sk~UGb4uHqH;3+4aaH zV!6{1MO9@BNV8sJPeJyFqmWT#@fR2+;&CPc^_)C`k@Fr6e6Nwn$NN>ineX+~zy^&w(j<7B>`JgSl;RI8%0xP5bi{0HHY&YDWNX7FXt%0c`$Sq+kml%5t; z)eNdZ^Gq2fDt`lRH(F(LS&8mXrGK7M6+)7QPFVQcl;0naHaq7c{!+^(QBu+6`pggB z<@se_h9pLqRn3+i0xmh3@9XNR%Q;!7Jl*VyCAu0?8b{)uc~JU^{z;E{oli3xdj_N$ zsyfP(xV^xR2o!BsxgnHkMPGR^z+8?j(8Ydy&=`1`^G4D!RD?s`;NI>#uw5LxNI6QC zRj*i19uvo|>oamcvUCf!Yr(>K;=cLg(9TPUN&be7k!;$wUxwgPkEJF>va%?Mu%Gxyq!1TQ9ql7$_$;^EcGh!Nr{D9rZ4mL)Vu!uM>Gx7+?A{VfS`mu@=0fu7}^C&L`nw)R%i z{%B!~MA{Cy^R@KavS&=Hl#Xx9$iRFF<*|vm4G8GG5j}`j6*gte+eYMqBAUrN^5Mc7 zcrTwk+iMiZpt6rmlBIqjSs~oGYl%!!0I5X|&Z;0$rjgIhsOfAKA3*xXKdmq|LiT%p z>vR<;{8acW+(OXz>-uG%k?sP?uSe%gh<|uOK&?b~71Bbq)QduaAndra-qrd~U->R4 z*H`X!e2#5ee~+Oqwb|d76rFj%&>E>Qck2RWaA*JEHVurfPjj5RmqaPVmHh&)G-e76 zZuNa<7}vGmSOk11j<)+^J#goNdHmq4ufubDK@pAxB=s&HI-blFil!H_o}Ha|iYsMU z2h>a%R{7@0@>uDd3Cihm`C)ImaKQIX*Tbxlm+^-DAU#mg@ptJLtPy-&@XWk{cag-Do?tj(e@;{ZWH^NJ z0Xjn_s*y~49fQ1uocW~z4Z?3)Fu{SL@h-keW98gA;#V{1;2=}Pmd#fJCS3;@TV8du zSAg=lCt@+0neIZ+>7A|Xy_x03{lvDc_0e{RT*Fe;m8_ZkNh7&;xlHL?@Tse;aD+1n zI$}`)%D{LiHYWgKMeVLCK=x$YU6Y%#HA$>UIDhZ5*@RXnBm0Fb=WN@#B60TK5=~bm zD=RDQs&R3^9d7IpyT6@slyhyJy(gAB&*n>>hC?TETPHZN-N*yXGZ{>;UKbj09Qndx zm0OC5gUq-bZz(n~aZhD`@{PYR;}>TWb2$(4ZIPh!>y3m;b|M26pl}zOo>qZdQ;%?ZAM__b91lUbvk$XD0s<;+2Y`R((;(Uwo6mHrPIYRcrS(^9Qv8wU z`6yI=SFn7=>x)M{%Nr%4hL0rNtdh8hCB!D-DoIRP{zCS*Qt+mmeJWxe=52n~hnPGp zC(MwI*8W{@nMR*MsxBj)8JepPS($VGt-&|{Ibki@3$yAGl!PRBx$08n6u;^V`vX+V zn8J!+Lp%A)pYcm1$5&>~k{20MscT0FAsB+XCRfw|WB}F_bmc;WAq0Cj{=@GlRk0hJ zwC<}CuMc-%f<84sLFCc_P%%`EX$2ay zdkN6x`hx+&&8ef77L`9$HvF{ak{#$@XR559D^)$jZ>Dr%)z}RL>J0>RZjsHW#yGU7 z^%u7E>r=oJ6mj35<4^afw!CpTpk4gtI-}@30a5_< zXS_5<1FW4N0%aC0ce?URNeQhjf>@DYT=;p}Q{BNsX@6&9)T3VX^uF2kUeXmDrTfi$ zAY$YJEo;Q)PGR30w@XTig@r*tuV&K>(tOM2>tldkrIF4d8vi6=*^^ooijC6`5&9khgE6?}L4}vQRm^y7R_%X0jPW5M*h9H9q^?}|t;`T75 zsXJCSx~i6;+J%NImMuJLlcA~Z6c+dzoI9$`gcmE4odws){q z`BrWvqtY)ii~?J+&+CYw1jVTC9hKo3nIF6x|I(RftSWGNy`Ly|c{|nfj6l6<7EW#t z0j6o(`%p!)#~Ihk1`p1_54%JN9_=<8uB4umBu+@NHAximU)V@Hy`J?!$ARWU_kiZ7 zkFk#jXg8R-?3l%PCm4RI4lIh{lbgHM^Kjn`|6HU@$~{h<2PnoN&;k7diG$h61AjQg z?nRd4+u+0e^jmIv@&QHU9boWxY`)~j@?q*6!7)$w?KOo|>D}23>fZ5f!V{7+jsnnO zR4X(Y$QY+Fq%i`J@3e{rTnyWX6IQnkKrhcl@l;jzdrrk^FI*F|zbkx2<$I%i+^FK^ zHfRC)4ty51`7E43y^SZoHBZ>x_3NEw(!jc?oYRfYf^WTsu`wUDF9|tIaJ8ktkG7}d z8b?VyCm*kpiIn-}!_$k(+iWTO1p+nBqvsyAWwN|xL3QT2>UkOdw{L?wEI3aptiMv2 z6X96-3zGr@S)fQU&pgl#$lm3o#z6|j{8654OZjXC@{vH4cI%i??y?pOQC%GW9rv^?`w`Sf zt4$LTa4sALKT(Ej!i7sE&cDDYOvbu&n*Br*bK=~KKHWC@606gZX}tV%0Pzy88ln;N z=qM+>oetW8q0a&U7Ze~FxB{Su41MInyv2YEmGt~EPSE`s^+-RuyfyCo8E}MH%ABfA zz!R@UG4+unS!{tPVf5Qzn-MyECl#pk3~fdbTS&Fonw7=S^iQUfl>Eu{oil6(9KC*~ zTN&J*D0LGstOCXgJaQkq2T+4`!&9?~%?u>}pVV4D+3Ya0&AlFUkgJ5rh}#L<%j+|hFLxa> z*!FwJ(F()az`1dhkA(ds_f_by7JFi%jJG*xLNZ`&YIrG=>imupUvMdqZW7Yn!r?B- z`U^{moq~HXPeWyl+qg#1wgQkmT}w6}FU{;06(6Ca^j>MCLUq^Ja1*-FtMy0p@-C4o zhAnyfjTeb5=NjLpW;fU(D2(|RAp&uYHJYRYB+4s2`N7S73T;oA{v}YfWl~p#oif7% zx767YUwG&_SuC7fn3s0L>$H02=MJVG4Wyr{&|!Eqj`DJi{S$dW?*uYni=H<4-Vkp_ zut}P?t{TX$X({Q*{_M`RpX@W2)F2Dw4V)05@K7%0k0(*0Z3s-!OBU2V1KebtM&Mal zG0D*;Ut1Gmi4N-MHj_|336@bOU;!D6;KX?X(D)g887mpQ+W_6psbfninBd#qI?~gi zg-xVKk9;j>geE^AH+Y#2rW}+A9a{zU$v9;q7@#)O8M;7~X7Bp}3a}(RmZx9u5OjJF zIk3FR;=l5ozb0}yySD1Nh4D&}3TNO$wd4|bfaP3rlpZ&TovO9s3?&qadIJv~MlZWg z2|le?s0dvJuTr@9O&WK(RLmfi`NQ1{&D}eGFuo)yWwjBsi3SmkX3#NGiv*66qSdoJ z#&Cf+%^~Mc&~Y+^8i&_bCG=h)o)Gml6w0eYBKQvKFi42LC?gF2BKn7^=|yF=K-aW}#Nk|&T*=>e** zG*xRT(UUw8OZj4azuE+Qb_B5xX@%^3C?hth)2x2#`%BvQfo=GiInsXMl8XewT|x!Z z#HF!^K@4;354JjFK;yldH0!G(gWAEq`fvrU{-IGNmyjzO-&KELPU-Xc*Rsv$8hGja zU=Id^>FtNmbS5hba3L>Z(9cx`10p76R8(W+OA^y3mWoF@e8sZ7KZGcx9D1v^rg!Zz z%yL?DsSJz{9Ijzc5tNTeAst5=gD!#QgB&OEVVj2>d7?jM7Z~`TNv^Kyn@N1NTsE#~ z%Gd3f&~{ot&|?RPb*wXlz|!bd5TGON%jg_j<8dATsUAsHyt?V7rep;5mGr%r_HLD$ z9Zp`M?mG{Ri^Nt5=T04e5YUai37+bRpk%{K20=+mk$IJshC`{!xMO(-)F*`PP)#cC zEj%VymOKkx<&3ZA(dW0M&3Z$0-m>?F&p3!VMo;uiHy77}PP!Kw0i&zm72> zk9QHtJv#b+YdPDnp#+OhY;4<-*Sz|dnxO@ieE&zlKeaIff?SD0`y39!hGQ5aLCv)pf@eBH z*l?kdW=Twv-ksxl{Bl>?)d?b4DGUPoMP=B4oo{qK`p!=s1IHsN`BtOvPS8t3OOGk6 zD#vAIt}fV@7B_{L%7ghP)DPVym;CR3x5RIf>GYcVz zDL|dnPD=OFoPf9ix1z#X*Xml6^BK+oA1caUm#gV`e!Q7wa9m#@gE)XJwGn=Gz_({i zHgJAZy}-*ep8s*|Wykj+YTI`rsp~l$5+|Bw6)8_20;tR`T%$0j7@Rvq3CH}dcLcEb2{`us ziPnh$QlQj0FIiS(scoEBVgaA)ks6{SNFg;5IhY)fbp}%$a=7oQqdFPHRnkWh?szC$ z_wEwk-nCaJ;$RIk6w6j*IhrXn&EAsBSnpZ^AU-#X?e^SQ)*DwwJ#JGgl`y~Ycu6?{s6x7~hW%60Z}M`b%RSKC_RwD7~^zoCZlJmLJNebQw*y zx0uTJ*#4+^v9Dq?mMJt!9&MUUwV!3$krsN?}VBb-K{BpXmIiPi0%7j z33~Ouy zt|WK4F~jONvI5>*r`gt-gVxX#S5_CdU^{efi_;CY-&D!jI>w}%oh@XjvRiQg{pw6X z;W^k{dc3{0;@P8GU4E6ct8#xXYsb&mRIBQI%6(}U$(tSg=Kc%Pn>*gJv@QeLv=7(h zj>a4RzW7vM3^h%PfR|b}5W-2a%wWbfh|?%ovu)x42_zzuiv0;wYq&~){w?~dX`}rn zV_Oe7miLW@ynhFK=Po8I#&2U``vzAcjnJez1bBtOJna}$A6lhO=$ioRGqW#o>n%H3 zWA@`6KI$efegyVv4riEA;#BfTW5lxKqE$~Nt%WX_lTY#T|JJR`+vNe-{)aDJ0J{xY z2}%&o3=5`SAM@VhA$xx9d<)wkhTBXxG*wgLmJ=(jbUcouW2$~3@B2-WwW!$oH`9Pt z{u1GWAL^movtqEaAO@AN-eCAYK$^x$cfJHHIV4=tp|Lu=PhNM99|ZE4Epcu2&3Uyi zG`DNSAFe)4O$y;-maz&+lmuL{I8#KrP0GK8L>_Fo)F#!P0*YuZ!}dk_1w(B~a;|S@ zcW`e_B*2XGz!MNNJTQGK^2J$1=-~_PU(tMlHMv9Y>_G|_F3Mn zWZvsvoj2=3(Ibqh#OLb!AoeQgU78 z?g!!z+ih54c}WsC%|&76zhRVMQ0{A{r-2QDz%`ync$&S)r~MP_G0zFeYI!u>UC%HW zBanv<#z>dkqeZ?jFqgZh1Jl}T`IAr~zT^YsA;|UI(G5WJ_2~vl+TCxhqQ%5V<`aGG z%f}k>*vL}4((#Y{hTn`~axh}?_x%Z0?`JkCcWw<^cTZVQ8aez(>A}!zn3ohlGRHBR5TcY0d(Tr;aG`_nKR>mRE^}Myb2cG0RZR%Ap_6Et=&i zLal*=V8r{`ofE}M&C;vkxYCITvoIaqJP)r=<2J$dJ2bt~pUuKwMvm!17an9DFqCvhZTbZ zQBMRan9^JtrhK5LXHP8`7Tg8pP!CO7}qET?pnAC zeC!Gk2Y3K!XZ=Y(*zW??ZS!5SjniNsuE)0Haof`z9R0%y)TTjUA=w}?>sH6sbsnSM z4{p!tqY)*;33r+UAc-zh7m zlpQc$MH=6^FOjHIoN;V9?l_R?SYRa~C~uJ^JxjhcZO|)`K)4XOm7arRSJLOx*vb5S zySll%-~31Z9Ox9Sw~NO97Pvwr)+=I^AXng9yF+XyMy1N)BQd%~Eydu@He&FQtK`sV zq~fgt<>OWVV_Fgkat`Z*JraAxG%kjQFJNE*=9i6@7QnHz$IF2SXezq@5vqSE-?tce zE6wc(ZSCogIPO_4_;)FLuOG)e{jWLG%EQ;^EwyiHl?JZ9UG{fVeZu;i?%#fY2%G)k z^|!4bc7E&wZt&uDyL2b+e#Dy{Tqn#=F8Ad8y(WCUlf#2KfA@Z~_E(9n^nAMB^_E%x zf|vf)*_8svRkBVUR}nDqWvEPV{wMoG{9qm9#vi^5BaYqDo4s6ZBJ1ppJLQvlSu$nX zVxF1$PtiQpc;Io@pPhSvX_lk@pmOPY>Gelmzi*6_txYvJrDVS0CX-A~#PI-_YPH>^dDkrHU&>IKdj6n&%k=p?@ek%cZ{0GpMp<>@<@xT_ z+GUq-o%y=mtkq^R|6k*q+i&gH-lGjnPwGJHf+~PJply^tWIJrP)7`N9^427&Zx7b? zUdrLjd>$wN=G&)#4!JDp`OHlFGheASiF3({v?{D~c+fZFR{;Bw`X zzmMbJInavamh?m0uLs|ac{$yDSKH#eJUyq*sVP^U%=|Nxso?>`8g}KaHTA3O53&H) zM%`2R*zlu$Z4KWA#jD5EK0T;@?X5o@I3c32C)&^c^?cFa#!nod{roLnXSkc$;>%gB z!(4M#F%)iZynXqlgUtMv8o>wq87lIQAH2tWNoR|%vQLk5dU9gE?AEP&5}v3S99cDS zUFEF>Tz_``xCr!YDA2R9H6=f0)#=rQ{V-g7FZ+|f>XYwglkP@%78Yv%+~jY&Z^nhA zI{oVB&Yg;!{mkb2>t*aqO&9l0Pu5VrEW-HMp8X%&AEm$Z_sPEm-gLf?`$xLphi#3^ z3e!`UN4w^7S;p@Evm-RPjLo>`an}#)N9X?t0#5{8|MB!=jURtMdOx_|UYakw=Y6^D z<;oALcaQAZvpr0+L$%CiGw?2nJJ(6MqWo+V{{J?#e0B;av1)< zKALWZa{LXH+sVDCc%a-nYH!z|DCfw%Msqa&21oo2R6LM-IO;&Tchug&kzUE(pFP?x N9u)P(K;@(VHvvk5@m2r; diff --git a/playstoreassets/tab2.png b/playstoreassets/tab2.png new file mode 100644 index 0000000000000000000000000000000000000000..9e4cb3c730404ed7c463ff2c9aac5b0b0aea35a5 GIT binary patch literal 239925 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 w7Z3mz0bmgT*8k Date: Thu, 25 Sep 2025 11:16:49 +0200 Subject: [PATCH 177/636] increase version --- .github/workflows/build.yml | 6 ++++-- CHANGELOG.md | 5 +++++ README.md | 4 +++- playstoreassets/logo.jpg | Bin 95866 -> 0 bytes playstoreassets/logo.png | Bin 0 -> 316855 bytes pubspec.yaml | 2 +- 6 files changed, 13 insertions(+), 4 deletions(-) delete mode 100644 playstoreassets/logo.jpg create mode 100644 playstoreassets/logo.png diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e03be4fbd..6836815fa 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -137,7 +137,9 @@ jobs: - name: Create Release uses: ncipollo/release-action@v1 with: - artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/app/outputs/bundle/release/SwiftControl.android.aab,build/macos/Build/Products/Release/SwiftControl.macos.zip" + artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/macos/Build/Products/Release/SwiftControl.macos.zip" + allowUpdates: true + body: "You can also download the Android version from the Play Store: https://play.google.com/store/apps/details?id=de.jonasbark.swiftcontrol" tag: v${{ env.VERSION }} token: ${{ secrets.TOKEN }} @@ -156,7 +158,7 @@ jobs: serviceAccountJsonPlainText: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }} packageName: de.jonasbark.swiftcontrol releaseFiles: build/app/outputs/bundle/release/app-release.aab - track: alpha + track: production windows: needs: build diff --git a/CHANGELOG.md b/CHANGELOG.md index 56308a67d..3e6ed9c1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +### 2.5.0 (2025-09-25) +- Improve usability +- SwiftControl is now available via the Play Store: https://play.google.com/store/apps/details?id=de.jonasbark.swiftcontrol + - SwiftControl will continue to be available to download for free on GitHub + ### 2.4.0+1 (2025-09-17) - Windows: fix mouse clicks at wrong location due to display scaling (fixes #64) diff --git a/README.md b/README.md index f41b6bd3c..7ef7e3d3b 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,9 @@ https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159 ## Downloads -Get the latest version here: https://github.com/jonasbark/swiftcontrol/releases + + +Get the latest version for free here: https://github.com/jonasbark/swiftcontrol/releases ## Supported Apps - MyWhoosh diff --git a/playstoreassets/logo.jpg b/playstoreassets/logo.jpg deleted file mode 100644 index d401d5fa52ee02d3d6c5fa560642315b352dd410..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95866 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 Lcur||{{8qr&(1{m diff --git a/playstoreassets/logo.png b/playstoreassets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7b7852b17e4abe54ee7177edad48f16a3443c2a0 GIT binary patch literal 316855 zcmeFY`8$+f{6Bu~F_fY5Q{!BL+O2-Qe!V@0A1UIEi7PP#v%iA)I~#V0O?I0A6*gInjfx&IcHqv0 zk=TgrVY!*jVv4s(yAGW+)_nN6!}$8&8e3VpPZqZ|eC0%3Zl2dq-?L{VI3ZyAmw9o1 z(XW>_g{MB`zr5-6`)u>KfTedg15Op@+m&4|%z2rwVs+wwJ!S?^rrD#n|Mz3@B;o(} z)K;=A5cpq@E8s5J^}imK$a-AH|9UX_PW-dNuti>34{O<9wUV=}SG_S0URPuf_~@mD4q< z&%S&Y-;+BYi*si)=Vk+xIGb-2wM=MrN*8n`FWBx~`*622W>NZuPpwG@)$o`;*ZZff zf2lv6;>NPPbw-eE)2Nd}q(_~+u*fMJlhw9oUUsLkvKwhynD>CeA(

        hB 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

          epk!}`T% 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 literal 0 HcmV?d00001 diff --git a/pubspec.yaml b/pubspec.yaml index cbcfbeaf0..8f2d5c811 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.4.0+3 +version: 2.5.0+0 environment: sdk: ^3.7.0 From 1f1ce58bd9e95ae7cb02ef74c6af3247335d7204 Mon Sep 17 00:00:00 2001 From: jonasbark Date: Thu, 25 Sep 2025 11:34:40 +0200 Subject: [PATCH 178/636] Update CHANGELOG for version 2.5.0 Added note about voucher for donors --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e6ed9c1b..f8c869b84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - Improve usability - SwiftControl is now available via the Play Store: https://play.google.com/store/apps/details?id=de.jonasbark.swiftcontrol - SwiftControl will continue to be available to download for free on GitHub + - contact me if you already donated and I'll get a voucher for you :) ### 2.4.0+1 (2025-09-17) - Windows: fix mouse clicks at wrong location due to display scaling (fixes #64) From 476a9a337ff1fc7014f31b721c8ba10398798f34 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Thu, 25 Sep 2025 12:54:22 +0200 Subject: [PATCH 179/636] actions test --- .github/workflows/build.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6836815fa..f64eb7650 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,6 +27,7 @@ jobs: uses: actions/checkout@v3 - name: Install certificates + if: false env: DEVELOPER_ID_APPLICATION_P12_BASE64_MAC: ${{ secrets.DEVELOPER_ID_APPLICATION_P12_BASE64_MAC }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} @@ -69,9 +70,11 @@ jobs: #8 Build app ( macos Build ) - name: Build App + if: false run: flutter build macos --release - name: Code Signing + if: false run: /usr/bin/codesign --deep --force -s "$DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY" --options runtime SwiftControl.app -v working-directory: build/macos/Build/Products/Release env: @@ -83,29 +86,31 @@ jobs: echo "${{ secrets.KEYSTORE_PROPERTIES }}" > android/keystore.properties; - name: Build APK + if: false run: flutter build apk --release - name: Build Bundle run: flutter build appbundle --release - name: Build Web + if: false run: flutter build web --release --base-href "/swiftcontrol/" - name: Handle archives + if: false run: | cp build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/SwiftControl.android.apk - cp build/app/outputs/bundle/release/app-release.aab build/app/outputs/bundle/release/SwiftControl.android.aab cd build/macos/Build/Products/Release/ zip -r SwiftControl.macos.zip SwiftControl.app/ #9 Upload Artifacts - name: Upload Artifacts + if: false uses: actions/upload-artifact@v4 with: name: Releases path: | build/app/outputs/flutter-apk/SwiftControl.android.apk - build/app/outputs/bundle/release/SwiftControl.android.aab build/macos/Build/Products/Release/SwiftControl.macos.zip #10 Extract Version @@ -117,6 +122,7 @@ jobs: #11 Check if Tag Exists - name: Check if Tag Exists + if: false id: check_tag run: | if git rev-parse "v${{ env.VERSION }}" >/dev/null 2>&1; then @@ -135,6 +141,7 @@ jobs: #13 Create Release - name: Create Release + if: false uses: ncipollo/release-action@v1 with: artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/macos/Build/Products/Release/SwiftControl.macos.zip" @@ -144,12 +151,14 @@ jobs: token: ${{ secrets.TOKEN }} - name: Upload static files as artifact + if: false id: deployment uses: actions/upload-pages-artifact@v3 with: path: build/web - name: Web Deploy + if: false uses: actions/deploy-pages@v4 - name: Upload to Play Store @@ -162,6 +171,7 @@ jobs: windows: needs: build + if: false name: Build & Release on Windows runs-on: windows-latest From 3256f5aa15522d125393b122841ba20aba4fe37f Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Thu, 25 Sep 2025 12:56:02 +0200 Subject: [PATCH 180/636] actions test --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f64eb7650..8109a85a7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -164,7 +164,7 @@ jobs: - name: Upload to Play Store uses: r0adkll/upload-google-play@v1 with: - serviceAccountJsonPlainText: ${{ secrets.GOOGLE_PLAY_SERVICE_ACCOUNT_JSON }} + serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} packageName: de.jonasbark.swiftcontrol releaseFiles: build/app/outputs/bundle/release/app-release.aab track: production From 0172b1cf90383a87aba4eb6b9f91fcd8f9bba45b Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Thu, 25 Sep 2025 13:26:24 +0200 Subject: [PATCH 181/636] actions test --- .github/workflows/build.yml | 2 ++ README.md | 5 +++-- lib/widgets/title.dart | 4 ++-- pubspec.yaml | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8109a85a7..4fb0c0292 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -162,6 +162,8 @@ jobs: uses: actions/deploy-pages@v4 - name: Upload to Play Store + # only upload when env.VERSION does not end with 1337, which is our indicator for beta releases + if: "!endsWith(env.VERSION, '1337')" uses: r0adkll/upload-google-play@v1 with: serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} diff --git a/README.md b/README.md index 7ef7e3d3b..5f07d8edf 100644 --- a/README.md +++ b/README.md @@ -67,5 +67,6 @@ The app connects to your Zwift device automatically. It does not connect to your ## Donate Please consider donating to support the development of this app :) -[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/boni) - +- [via PayPal](https://paypal.me/boni) +- [via CreditCard (USD)](https://donate.stripe.com/8x24gzc5c4ZE3VJdt36J201) +- [via CreditCard (EUR)](https://donate.stripe.com/9B6aEX0muajY8bZ1Kl6J200) diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart index dc5052118..9ed7e178b 100644 --- a/lib/widgets/title.dart +++ b/lib/widgets/title.dart @@ -30,8 +30,8 @@ class _AppTitleState extends State { final latestVersion = tagName.split('+').first; final currentVersion = 'v${_packageInfoValue!.version}'; - // we anything but +0 is considered beta - if (latestVersion != currentVersion && tagName.endsWith("+0")) { + // +1337 releases are considered beta + if (latestVersion != currentVersion && !tagName.endsWith("+1337")) { final assets = data['assets'] as List; if (Platform.isAndroid) { final apkUrl = assets.firstOrNullWhere((asset) => asset['name'].endsWith('.apk'))['browser_download_url']; diff --git a/pubspec.yaml b/pubspec.yaml index 8f2d5c811..a87ff278a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.5.0+0 +version: 2.5.0+4 environment: sdk: ^3.7.0 From 323a344c3a6e694dd3344ff7c3f51ff44c135df6 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Thu, 25 Sep 2025 13:42:08 +0200 Subject: [PATCH 182/636] actions test --- .github/workflows/build.yml | 12 ------------ pubspec.yaml | 2 +- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4fb0c0292..684c734b1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -27,7 +27,6 @@ jobs: uses: actions/checkout@v3 - name: Install certificates - if: false env: DEVELOPER_ID_APPLICATION_P12_BASE64_MAC: ${{ secrets.DEVELOPER_ID_APPLICATION_P12_BASE64_MAC }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} @@ -70,11 +69,9 @@ jobs: #8 Build app ( macos Build ) - name: Build App - if: false run: flutter build macos --release - name: Code Signing - if: false run: /usr/bin/codesign --deep --force -s "$DEVELOPER_ID_APPLICATION_SIGNING_IDENTITY" --options runtime SwiftControl.app -v working-directory: build/macos/Build/Products/Release env: @@ -86,18 +83,15 @@ jobs: echo "${{ secrets.KEYSTORE_PROPERTIES }}" > android/keystore.properties; - name: Build APK - if: false run: flutter build apk --release - name: Build Bundle run: flutter build appbundle --release - name: Build Web - if: false run: flutter build web --release --base-href "/swiftcontrol/" - name: Handle archives - if: false run: | cp build/app/outputs/flutter-apk/app-release.apk build/app/outputs/flutter-apk/SwiftControl.android.apk cd build/macos/Build/Products/Release/ @@ -105,7 +99,6 @@ jobs: #9 Upload Artifacts - name: Upload Artifacts - if: false uses: actions/upload-artifact@v4 with: name: Releases @@ -122,7 +115,6 @@ jobs: #11 Check if Tag Exists - name: Check if Tag Exists - if: false id: check_tag run: | if git rev-parse "v${{ env.VERSION }}" >/dev/null 2>&1; then @@ -141,7 +133,6 @@ jobs: #13 Create Release - name: Create Release - if: false uses: ncipollo/release-action@v1 with: artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/macos/Build/Products/Release/SwiftControl.macos.zip" @@ -151,14 +142,12 @@ jobs: token: ${{ secrets.TOKEN }} - name: Upload static files as artifact - if: false id: deployment uses: actions/upload-pages-artifact@v3 with: path: build/web - name: Web Deploy - if: false uses: actions/deploy-pages@v4 - name: Upload to Play Store @@ -173,7 +162,6 @@ jobs: windows: needs: build - if: false name: Build & Release on Windows runs-on: windows-latest diff --git a/pubspec.yaml b/pubspec.yaml index a87ff278a..d5cd18b68 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.5.0+4 +version: 2.5.0+5 environment: sdk: ^3.7.0 From 07ee91c17a5880e896a9e4dded6f22b4c93459cd Mon Sep 17 00:00:00 2001 From: jonasbark Date: Thu, 25 Sep 2025 13:46:34 +0200 Subject: [PATCH 183/636] Clarify download link for latest version Updated the download link description for clarity. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5f07d8edf..49df51c93 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159 ## Downloads -Get the latest version for free here: https://github.com/jonasbark/swiftcontrol/releases +Get the latest version for free for Windows, macOS and Android here: https://github.com/jonasbark/swiftcontrol/releases ## Supported Apps - MyWhoosh From 05e681b59a7695147cc00145e40f1aa68efa2b33 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Thu, 25 Sep 2025 14:19:42 +0200 Subject: [PATCH 184/636] use prerelease attribute in github actions --- .github/workflows/build.yml | 1 + lib/widgets/title.dart | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 684c734b1..3d4f907c6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -137,6 +137,7 @@ jobs: with: artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/macos/Build/Products/Release/SwiftControl.macos.zip" allowUpdates: true + prerelease: ${{ endsWith(env.VERSION, '1337') }} body: "You can also download the Android version from the Play Store: https://play.google.com/store/apps/details?id=de.jonasbark.swiftcontrol" tag: v${{ env.VERSION }} token: ${{ secrets.TOKEN }} diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart index 9ed7e178b..77e638525 100644 --- a/lib/widgets/title.dart +++ b/lib/widgets/title.dart @@ -27,11 +27,12 @@ class _AppTitleState extends State { if (response.statusCode == 200) { final data = jsonDecode(response.body); final tagName = data['tag_name'] as String; + final prerelase = data['prerelease'] as bool; final latestVersion = tagName.split('+').first; final currentVersion = 'v${_packageInfoValue!.version}'; // +1337 releases are considered beta - if (latestVersion != currentVersion && !tagName.endsWith("+1337")) { + if (latestVersion != currentVersion && !prerelase) { final assets = data['assets'] as List; if (Platform.isAndroid) { final apkUrl = assets.firstOrNullWhere((asset) => asset['name'].endsWith('.apk'))['browser_download_url']; From cb523ea65601c7209035026779097df9405b86d2 Mon Sep 17 00:00:00 2001 From: jonasbark Date: Fri, 26 Sep 2025 10:57:40 +0200 Subject: [PATCH 185/636] Update README to specify Zwift Click v2 support Clarify support status for Zwift Click v2. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 49df51c93..d92db0083 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ Get the latest version for free for Windows, macOS and Android here: https://git ## Supported Devices - Zwift Click -- Zwift Click v2 +- Zwift Click v2 (mostly, see #68) - Zwift Ride - Zwift Play From c36e63aa8da8bdfde5ec0396813f873d72ea9b8f Mon Sep 17 00:00:00 2001 From: jonasbark Date: Fri, 26 Sep 2025 11:01:54 +0200 Subject: [PATCH 186/636] Fix Google Play badge and update download info Updated Google Play badge link and added image. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d92db0083..be7f79cfa 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159 ## Downloads - +GetItOnGooglePlay_Badge_Web_color_English Get the latest version for free for Windows, macOS and Android here: https://github.com/jonasbark/swiftcontrol/releases From 647c20a6a3f40a5674dd0f4affff8dc14c881611 Mon Sep 17 00:00:00 2001 From: jonasbark Date: Fri, 26 Sep 2025 11:02:27 +0200 Subject: [PATCH 187/636] Make Google Play badge clickable in README Updated Google Play badge to be a clickable link. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index be7f79cfa..53f7d5cd0 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ https://github.com/user-attachments/assets/1f81b674-1628-4763-ad66-5f3ed7a3f159 ## Downloads -GetItOnGooglePlay_Badge_Web_color_English +GetItOnGooglePlay_Badge_Web_color_English Get the latest version for free for Windows, macOS and Android here: https://github.com/jonasbark/swiftcontrol/releases From ff0b724a730a8895e90a3c0bcd59bec9698d3004 Mon Sep 17 00:00:00 2001 From: jonasbark Date: Fri, 26 Sep 2025 11:12:34 +0200 Subject: [PATCH 188/636] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 53f7d5cd0..272b86255 100644 --- a/README.md +++ b/README.md @@ -68,5 +68,5 @@ The app connects to your Zwift device automatically. It does not connect to your Please consider donating to support the development of this app :) - [via PayPal](https://paypal.me/boni) -- [via CreditCard (USD)](https://donate.stripe.com/8x24gzc5c4ZE3VJdt36J201) -- [via CreditCard (EUR)](https://donate.stripe.com/9B6aEX0muajY8bZ1Kl6J200) +- [via Credit Card, Google Pay, Apple Pay, etc (USD)](https://donate.stripe.com/8x24gzc5c4ZE3VJdt36J201) +- [via Credit Card, Google Pay, Apple Pay, etc (EUR)](https://donate.stripe.com/9B6aEX0muajY8bZ1Kl6J200) From 221d5a0b8d0c7d18c73e718497c8c80664d6deed Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 27 Sep 2025 12:18:50 +0200 Subject: [PATCH 189/636] fix crashes on some Android devices --- CHANGELOG.md | 3 +++ .../de/jonasbark/accessibility/AccessibilityService.kt | 2 +- lib/utils/requirements/android.dart | 9 ++++----- pubspec.yaml | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8c869b84..91d9b256c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +### 2.5.1 (2025-09-27) +- Fix crashes on some Android devices + ### 2.5.0 (2025-09-25) - Improve usability - SwiftControl is now available via the Play Store: https://play.google.com/store/apps/details?id=de.jonasbark.swiftcontrol diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt index 69bb0e3f4..d8c3a95ba 100644 --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt @@ -41,7 +41,7 @@ class AccessibilityService : AccessibilityService(), Listener { private fun getWindowSize(): Rect { val outBounds = Rect() - rootInActiveWindow.getBoundsInScreen(outBounds) + rootInActiveWindow?.getBoundsInScreen(outBounds) return outBounds } diff --git a/lib/utils/requirements/android.dart b/lib/utils/requirements/android.dart index 95fdf2117..fa4491ce3 100644 --- a/lib/utils/requirements/android.dart +++ b/lib/utils/requirements/android.dart @@ -143,10 +143,7 @@ class NotificationRequirement extends PlatformRequirement { InitializationSettings(android: initializationSettingsAndroid), onDidReceiveBackgroundNotificationResponse: notificationTapBackground, onDidReceiveNotificationResponse: (n) { - if (n.actionId != null) { - connection.reset(); - exit(0); - } + notificationTapBackground(n); }, ); @@ -188,6 +185,8 @@ class NotificationRequirement extends PlatformRequirement { void notificationTapBackground(NotificationResponse notificationResponse) { if (notificationResponse.actionId != null) { connection.reset(); - exit(0); + AndroidFlutterLocalNotificationsPlugin().stopForegroundService().then((_) { + exit(0); + }); } } diff --git a/pubspec.yaml b/pubspec.yaml index d5cd18b68..f84bb9006 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.5.0+5 +version: 2.5.1+6 environment: sdk: ^3.7.0 From 33e5e41efff1692d80ce089a215507035e9f1553 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 27 Sep 2025 12:34:40 +0200 Subject: [PATCH 190/636] disconnect devices when still connected from previous session, don't show update app dialog during debugging --- lib/bluetooth/connection.dart | 1 + lib/widgets/title.dart | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart index e51c79834..e2fc357a0 100644 --- a/lib/bluetooth/connection.dart +++ b/lib/bluetooth/connection.dart @@ -51,6 +51,7 @@ class Connection { final device = devices.firstOrNullWhere((e) => e.device.deviceId == deviceId); if (device == null) { _actionStreams.add(LogNotification('Device not found: $deviceId')); + UniversalBle.disconnect(deviceId); return; } else { device.processCharacteristic(characteristicUuid, value); diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart index 77e638525..3b746b44a 100644 --- a/lib/widgets/title.dart +++ b/lib/widgets/title.dart @@ -92,7 +92,7 @@ class _AppTitleState extends State { } if (_latestVersionUrlValue == null && !kIsWeb) { final url = await _getLatestVersionUrlIfNewer(); - if (url != null && mounted) { + if (url != null && mounted && !kDebugMode) { ScaffoldMessenger.of(context).showSnackBar( SnackBar( content: Text('New version available: ${url.split("/").takeLast(2).first.split('%').first}'), From d0291c68d7b6618f7ebadf3dedf282e3cb3bec65 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 27 Sep 2025 14:02:10 +0200 Subject: [PATCH 191/636] remove iOS folder as Apple does not support the core functionality --- ios/.gitignore | 34 - ios/Flutter/AppFrameworkInfo.plist | 26 - ios/Flutter/Debug.xcconfig | 2 - ios/Flutter/Release.xcconfig | 2 - ios/Podfile | 43 -- ios/Runner.xcodeproj/project.pbxproj | 619 ------------------ .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 99 --- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - ios/Runner/AppDelegate.swift | 13 - .../AppIcon.appiconset/Contents.json | 122 ---- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 0 bytes .../LaunchImage.imageset/Contents.json | 23 - .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/README.md | 5 - ios/Runner/Base.lproj/LaunchScreen.storyboard | 37 -- ios/Runner/Base.lproj/Main.storyboard | 26 - ios/Runner/Info.plist | 49 -- ios/Runner/Runner-Bridging-Header.h | 1 - ios/RunnerTests/RunnerTests.swift | 12 - 40 files changed, 1159 deletions(-) delete mode 100644 ios/.gitignore delete mode 100644 ios/Flutter/AppFrameworkInfo.plist delete mode 100644 ios/Flutter/Debug.xcconfig delete mode 100644 ios/Flutter/Release.xcconfig delete mode 100644 ios/Podfile delete mode 100644 ios/Runner.xcodeproj/project.pbxproj delete mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 ios/Runner/AppDelegate.swift delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png delete mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json delete mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png delete mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png delete mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png delete mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md delete mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard delete mode 100644 ios/Runner/Base.lproj/Main.storyboard delete mode 100644 ios/Runner/Info.plist delete mode 100644 ios/Runner/Runner-Bridging-Header.h delete mode 100644 ios/RunnerTests/RunnerTests.swift diff --git a/ios/.gitignore b/ios/.gitignore deleted file mode 100644 index 7a7f9873a..000000000 --- a/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 7c5696400..000000000 --- a/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 12.0 - - diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig deleted file mode 100644 index ec97fc6f3..000000000 --- a/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" -#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig deleted file mode 100644 index c4855bfe2..000000000 --- a/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1,2 +0,0 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" -#include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile deleted file mode 100644 index e549ee22f..000000000 --- a/ios/Podfile +++ /dev/null @@ -1,43 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '12.0' - -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. -ENV['COCOAPODS_DISABLE_STATS'] = 'true' - -project 'Runner', { - 'Debug' => :debug, - 'Profile' => :release, - 'Release' => :release, -} - -def flutter_root - generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) - unless File.exist?(generated_xcode_build_settings_path) - raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" - end - - File.foreach(generated_xcode_build_settings_path) do |line| - matches = line.match(/FLUTTER_ROOT\=(.*)/) - return matches[1].strip if matches - end - raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" -end - -require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) - -flutter_ios_podfile_setup - -target 'Runner' do - use_frameworks! - - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index c53ad03c7..000000000 --- a/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,619 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 54; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 97C146E61CF9000F007C117D /* Project object */; - proxyType = 1; - remoteGlobalIDString = 97C146ED1CF9000F007C117D; - remoteInfo = Runner; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; - 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 331C8082294A63A400263BE5 /* RunnerTests */ = { - isa = PBXGroup; - children = ( - 331C807B294A618700263BE5 /* RunnerTests.swift */, - ); - path = RunnerTests; - sourceTree = ""; - }; - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - 331C8082294A63A400263BE5 /* RunnerTests */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - 331C8081294A63A400263BE5 /* RunnerTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 331C8080294A63A400263BE5 /* RunnerTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; - buildPhases = ( - 331C807D294A63A400263BE5 /* Sources */, - 331C807F294A63A400263BE5 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 331C8086294A63A400263BE5 /* PBXTargetDependency */, - ); - name = RunnerTests; - productName = RunnerTests; - productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - BuildIndependentTargetsInParallel = YES; - LastUpgradeCheck = 1510; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 331C8080294A63A400263BE5 = { - CreatedOnToolsVersion = 14.0; - TestTargetID = 97C146ED1CF9000F007C117D; - }; - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - 331C8080294A63A400263BE5 /* RunnerTests */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 331C807F294A63A400263BE5 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 331C807D294A63A400263BE5 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 97C146ED1CF9000F007C117D /* Runner */; - targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 7BL8RUV2K6; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 331C8088294A63A400263BE5 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Debug; - }; - 331C8089294A63A400263BE5 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Release; - }; - 331C808A294A63A400263BE5 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - GENERATE_INFOPLIST_FILE = YES; - MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay.RunnerTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; - }; - name = Profile; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 7BL8RUV2K6; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 7BL8RUV2K6; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 331C8088294A63A400263BE5 /* Debug */, - 331C8089294A63A400263BE5 /* Release */, - 331C808A294A63A400263BE5 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 97C147041CF9000F007C117D /* Release */, - 249021D3217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 97C147071CF9000F007C117D /* Release */, - 249021D4217E4FDB00AE95B9 /* Profile */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a62..000000000 --- a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5e..000000000 --- a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index 15cada483..000000000 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1d526a16e..000000000 --- a/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d981003..000000000 --- a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c5e..000000000 --- a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift deleted file mode 100644 index 626664468..000000000 --- a/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import Flutter -import UIKit - -@main -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fab2..000000000 --- a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4725e9b0ddb1deab583e5b5102493aa332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10932 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png deleted file mode 100644 index 797d452e458972bab9d994556c8305db4c827017..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index 6ed2d933e1120817fe9182483a228007b18ab6ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png deleted file mode 100644 index 4cd7b0099ca80c806f8fe495613e8d6c69460d76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index fe730945a01f64a61e2235dbe3f45b08f7729182..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index 502f463a9bc882b461c96aadf492d1729e49e725..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index 0ec303439225b78712f49115768196d8d76f6790..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index e9f5fea27c705180eb716271f41b582e76dcbd90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1674 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 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png deleted file mode 100644 index 0467bf12aa4d28f374bb26596605a46dcbb3e7c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json deleted file mode 100644 index 0bedcf2fd..000000000 --- a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "images" : [ - { - "idiom" : "universal", - "filename" : "LaunchImage.png", - "scale" : "1x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@2x.png", - "scale" : "2x" - }, - { - "idiom" : "universal", - "filename" : "LaunchImage@3x.png", - "scale" : "3x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725b7..000000000 --- a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c7c..000000000 --- a/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c28516f..000000000 --- a/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist deleted file mode 100644 index 83e3c0f1a..000000000 --- a/ios/Runner/Info.plist +++ /dev/null @@ -1,49 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - SwiftControl - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - swift_play - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - - - diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a560..000000000 --- a/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/ios/RunnerTests/RunnerTests.swift b/ios/RunnerTests/RunnerTests.swift deleted file mode 100644 index 86a7c3b1b..000000000 --- a/ios/RunnerTests/RunnerTests.swift +++ /dev/null @@ -1,12 +0,0 @@ -import Flutter -import UIKit -import XCTest - -class RunnerTests: XCTestCase { - - func testExample() { - // If you add code to the Runner application, consider adding tests here. - // See https://developer.apple.com/documentation/xctest for more information about using XCTest. - } - -} From 504c71d5c471b7e650eb0e93b72b18526c49ada7 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 27 Sep 2025 14:48:23 +0200 Subject: [PATCH 192/636] refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 --- lib/bluetooth/messages/ride_notification.dart | 3 +- lib/pages/device.dart | 216 +++++----- lib/pages/touch_area.dart | 398 +++++++++--------- lib/utils/actions/desktop.dart | 2 +- lib/utils/settings/settings.dart | 5 + lib/widgets/keymap_explanation.dart | 42 +- lib/widgets/logviewer.dart | 61 ++- lib/widgets/menu.dart | 30 +- lib/widgets/testbed.dart | 316 ++++++++++++++ 9 files changed, 706 insertions(+), 367 deletions(-) create mode 100644 lib/widgets/testbed.dart diff --git a/lib/bluetooth/messages/ride_notification.dart b/lib/bluetooth/messages/ride_notification.dart index 89e08d8e9..2b07250ce 100644 --- a/lib/bluetooth/messages/ride_notification.dart +++ b/lib/bluetooth/messages/ride_notification.dart @@ -4,6 +4,7 @@ import 'package:dartx/dartx.dart'; import 'package:swift_control/bluetooth/messages/notification.dart'; import 'package:swift_control/bluetooth/protocol/zwift.pb.dart'; import 'package:swift_control/utils/keymap/buttons.dart'; +import 'package:swift_control/widgets/keymap_explanation.dart'; enum _RideButtonMask { LEFT_BTN(0x00001), @@ -72,7 +73,7 @@ class RideNotification extends BaseNotification { @override String toString() { - return 'Buttons: ${buttonsClicked.joinToString(transform: (e) => e.name)}'; + return 'Buttons: ${buttonsClicked.joinToString(transform: (e) => e.name.splitByUpperCase())}'; } @override diff --git a/lib/pages/device.dart b/lib/pages/device.dart index cd457fffc..b7b74c08f 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -8,6 +8,7 @@ import 'package:swift_control/main.dart'; import 'package:swift_control/pages/touch_area.dart'; import 'package:swift_control/widgets/keymap_explanation.dart'; import 'package:swift_control/widgets/logviewer.dart'; +import 'package:swift_control/widgets/testbed.dart'; import 'package:swift_control/widgets/title.dart'; import '../bluetooth/devices/base_device.dart'; @@ -52,120 +53,131 @@ class _DevicePageState extends State { onPopInvokedWithResult: (hello, _) { connection.reset(); }, - child: Scaffold( - appBar: AppBar( - title: AppTitle(), - actions: buildMenuButtons(), - backgroundColor: Theme.of(context).colorScheme.inversePrimary, - ), - body: SingleChildScrollView( - padding: const EdgeInsets.all(8.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - spacing: 10, - children: [ - Text('Connected Devices:', style: Theme.of(context).textTheme.titleMedium), - Text( - connection.devices.joinToString( - separator: '\n', - transform: (it) { - return "${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'}${it.batteryLevel != null ? ' - Battery Level: ${it.batteryLevel}%' : ''}"; - }, - ), - ), - Divider(color: Theme.of(context).colorScheme.primary, height: 30), - if (!kIsWeb) - Column( - spacing: 12, - mainAxisAlignment: MainAxisAlignment.start, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Flex( + child: Stack( + children: [ + Scaffold( + appBar: AppBar( + title: AppTitle(), + actions: buildMenuButtons(), + backgroundColor: Theme.of(context).colorScheme.inversePrimary, + ), + body: SingleChildScrollView( + padding: const EdgeInsets.all(8.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + spacing: 10, + children: [ + Text('Connected Devices:', style: Theme.of(context).textTheme.titleMedium), + Text( + connection.devices.joinToString( + separator: '\n', + transform: (it) { + return "${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'}${it.batteryLevel != null ? ' - Battery Level: ${it.batteryLevel}%' : ''}"; + }, + ), + ), + Divider(color: Theme.of(context).colorScheme.primary, height: 30), + if (!kIsWeb) + Column( + spacing: 12, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, - direction: MediaQuery.sizeOf(context).width > 600 ? Axis.horizontal : Axis.vertical, - spacing: 8, children: [ - DropdownMenu( - controller: controller, - dropdownMenuEntries: - SupportedApp.supportedApps - .map((app) => DropdownMenuEntry(value: app, label: app.name)) - .toList(), - label: Text('Select Keymap / app'), - onSelected: (app) async { - if (app == null) { - return; - } - controller.text = app.name ?? ''; - actionHandler.supportedApp = app; - settings.setApp(app); - setState(() {}); - if (app is! CustomApp && !kIsWeb && (Platform.isMacOS || Platform.isWindows)) { - _snackBarMessengerKey.currentState!.showSnackBar( - SnackBar( - content: Text( - 'Customize the keymap if you experience any issues (e.g. wrong keyboard output)', - ), - ), - ); - } - }, - initialSelection: actionHandler.supportedApp, - hintText: 'Select your Keymap', - ), + Flex( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + direction: MediaQuery.sizeOf(context).width > 600 ? Axis.horizontal : Axis.vertical, + spacing: 8, + children: [ + DropdownMenu( + controller: controller, + dropdownMenuEntries: + SupportedApp.supportedApps + .map((app) => DropdownMenuEntry(value: app, label: app.name)) + .toList(), + label: Text('Select Keymap / app'), + onSelected: (app) async { + if (app == null) { + return; + } + controller.text = app.name ?? ''; + actionHandler.supportedApp = app; + settings.setApp(app); + setState(() {}); + if (app is! CustomApp && !kIsWeb && (Platform.isMacOS || Platform.isWindows)) { + _snackBarMessengerKey.currentState!.showSnackBar( + SnackBar( + content: Text( + 'Customize the keymap if you experience any issues (e.g. wrong keyboard output)', + ), + ), + ); + } + }, + initialSelection: actionHandler.supportedApp, + hintText: 'Select your Keymap', + ), - if (actionHandler.supportedApp != null) - ElevatedButton( - onPressed: () async { - if (actionHandler.supportedApp! is! CustomApp) { - final customApp = CustomApp(); + if (actionHandler.supportedApp != null) + ElevatedButton( + onPressed: () async { + if (actionHandler.supportedApp! is! CustomApp) { + final customApp = CustomApp(); - actionHandler.supportedApp!.keymap.keyPairs.forEachIndexed((pair, index) { - pair.buttons.forEachIndexed((button, indexB) { - customApp.setKey( - button, - physicalKey: pair.physicalKey!, - logicalKey: pair.logicalKey, - isLongPress: pair.isLongPress, - touchPosition: - pair.touchPosition != Offset.zero - ? pair.touchPosition - : Offset(((indexB + 1)) * 100, 200 + (index * 100)), - ); - }); - }); + final connectedDevice = connection.devices.firstOrNull; + actionHandler.supportedApp!.keymap.keyPairs.forEachIndexed((pair, index) { + pair.buttons + .filter( + (button) => connectedDevice?.availableButtons.contains(button) == true, + ) + .forEachIndexed((button, indexB) { + customApp.setKey( + button, + physicalKey: pair.physicalKey!, + logicalKey: pair.logicalKey, + isLongPress: pair.isLongPress, + touchPosition: + pair.touchPosition != Offset.zero + ? pair.touchPosition + : Offset(((indexB + 1)) * 100, 200 + (index * 100)), + ); + }); + }); - actionHandler.supportedApp = customApp; - settings.setApp(customApp); - } - final result = await Navigator.of( - context, - ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage())); - if (result == true && actionHandler.supportedApp is CustomApp) { - settings.setApp(actionHandler.supportedApp!); - } + actionHandler.supportedApp = customApp; + settings.setApp(customApp); + } + final result = await Navigator.of( + context, + ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage())); + + if (result == true && actionHandler.supportedApp is CustomApp) { + settings.setApp(actionHandler.supportedApp!); + } + setState(() {}); + }, + child: Text('Customize Keymap'), + ), + ], + ), + if (actionHandler.supportedApp != null) + KeymapExplanation( + key: Key(actionHandler.supportedApp!.keymap.runtimeType.toString()), + keymap: actionHandler.supportedApp!.keymap, + onUpdate: () { setState(() {}); + controller.text = actionHandler.supportedApp?.name ?? ''; }, - child: Text('Customize Keymap'), ), ], ), - if (actionHandler.supportedApp != null) - KeymapExplanation( - key: Key(actionHandler.supportedApp!.keymap.runtimeType.toString()), - keymap: actionHandler.supportedApp!.keymap, - onUpdate: () { - setState(() {}); - controller.text = actionHandler.supportedApp?.name ?? ''; - }, - ), - ], - ), - SizedBox(height: 800, child: LogViewer()), - ], + SizedBox(height: 800, child: LogViewer()), + ], + ), + ), ), - ), + Positioned.fill(child: Testbed()), + ], ), ), ); diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart index ba9d9442d..bb106f8d8 100644 --- a/lib/pages/touch_area.dart +++ b/lib/pages/touch_area.dart @@ -8,6 +8,8 @@ import 'package:flutter/services.dart'; import 'package:image_picker/image_picker.dart'; import 'package:keypress_simulator/keypress_simulator.dart'; import 'package:swift_control/main.dart'; +import 'package:swift_control/widgets/keymap_explanation.dart'; +import 'package:swift_control/widgets/testbed.dart'; import 'package:window_manager/window_manager.dart'; import '../bluetooth/messages/click_notification.dart'; @@ -107,142 +109,164 @@ class _TouchAreaSetupPageState extends State { }); } - Widget _buildDraggableArea({ + List _buildDraggableArea({ required Offset position, + required bool enableTouch, required void Function(Offset newPosition) onPositionChanged, required Color color, required KeyPair keyPair, - required String label, }) { - return Positioned( - left: position.dx, - top: position.dy, - child: PopupMenuButton( - tooltip: 'Drag or click for special keys', - itemBuilder: - (context) => [ - PopupMenuItem( - value: null, - child: ListTile( - leading: Icon(Icons.keyboard_alt_outlined), - title: const Text('Simulate Keyboard shortcut'), - ), - onTap: () async { - await showDialog( - context: context, - barrierDismissible: false, // enable Escape key - builder: - (c) => - HotKeyListenerDialog(customApp: actionHandler.supportedApp! as CustomApp, keyPair: keyPair), - ); - setState(() {}); - }, - ), - PopupMenuItem( - value: null, - child: ListTile(title: const Text('Simulate Touch'), leading: Icon(Icons.touch_app_outlined)), - onTap: () { - keyPair.physicalKey = null; - keyPair.logicalKey = null; - setState(() {}); - }, - ), - PopupMenuItem( - value: null, - onTap: () { - keyPair.isLongPress = !keyPair.isLongPress; - setState(() {}); - }, - child: CheckboxListTile( - value: keyPair.isLongPress, - onChanged: (value) { - keyPair.isLongPress = value ?? false; + final flutterView = WidgetsBinding.instance.platformDispatcher.views.first; + + // figure out notch height for e.g. macOS + final differenceInHeight = + (flutterView.display.size.height - flutterView.physicalSize.height) / flutterView.devicePixelRatio; + + if (kDebugMode) { + print('Display Size: ${flutterView.display.size}'); + print('View size: ${flutterView.physicalSize}'); + print('Difference: $differenceInHeight'); + } + return [ + Positioned( + left: position.dx, + top: position.dy - differenceInHeight, + child: PopupMenuButton( + enabled: enableTouch, + tooltip: 'Drag to reposition. Tap to edit.', + itemBuilder: + (context) => [ + PopupMenuItem( + value: null, + child: ListTile( + leading: Icon(Icons.keyboard_alt_outlined), + title: const Text('Simulate Keyboard shortcut'), + ), + onTap: () async { + await showDialog( + context: context, + barrierDismissible: false, // enable Escape key + builder: + (c) => HotKeyListenerDialog( + customApp: actionHandler.supportedApp! as CustomApp, + keyPair: keyPair, + ), + ); setState(() {}); - Navigator.of(context).pop(); }, - title: const Text('Long Press Mode (vs. repeating)'), ), - ), - PopupMenuDivider(), - PopupMenuItem( - child: PopupMenuButton( - padding: EdgeInsets.zero, - itemBuilder: - (context) => [ - PopupMenuItem( - value: PhysicalKeyboardKey.mediaPlayPause, - child: const Text('Media: Play/Pause'), - ), - PopupMenuItem( - value: PhysicalKeyboardKey.mediaStop, - child: const Text('Media: Stop'), - ), - PopupMenuItem( - value: PhysicalKeyboardKey.mediaTrackPrevious, - child: const Text('Media: Previous'), - ), - PopupMenuItem( - value: PhysicalKeyboardKey.mediaTrackNext, - child: const Text('Media: Next'), - ), - PopupMenuItem( - value: PhysicalKeyboardKey.audioVolumeUp, - child: const Text('Media: Volume Up'), - ), - PopupMenuItem( - value: PhysicalKeyboardKey.audioVolumeDown, - child: const Text('Media: Volume Down'), - ), - ], - onSelected: (key) { - keyPair.physicalKey = key; + PopupMenuItem( + value: null, + child: ListTile(title: const Text('Simulate Touch'), leading: Icon(Icons.touch_app_outlined)), + onTap: () { + keyPair.physicalKey = null; keyPair.logicalKey = null; - setState(() {}); }, - child: ListTile( - leading: Icon(Icons.music_note_outlined), - trailing: Icon(Icons.arrow_right), - title: Text('Simulate Media key'), + ), + PopupMenuItem( + value: null, + onTap: () { + keyPair.isLongPress = !keyPair.isLongPress; + setState(() {}); + }, + child: CheckboxListTile( + value: keyPair.isLongPress, + onChanged: (value) { + keyPair.isLongPress = value ?? false; + setState(() {}); + Navigator.of(context).pop(); + }, + title: const Text('Long Press Mode (vs. repeating)'), ), ), - ), - PopupMenuDivider(), - PopupMenuItem( - value: null, - child: ListTile(title: const Text('Delete Keymap'), leading: Icon(Icons.delete, color: Colors.red)), - onTap: () { - actionHandler.supportedApp!.keymap.keyPairs.remove(keyPair); - setState(() {}); - }, - ), - ], - onSelected: (key) { - keyPair.physicalKey = key; - keyPair.logicalKey = null; - setState(() {}); - }, - child: Container( - color: kDebugMode && false ? Colors.yellow : null, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Draggable( - feedback: Material( - color: Colors.transparent, - child: _TouchDot(color: Colors.yellow, label: label, keyPair: keyPair), + PopupMenuDivider(), + PopupMenuItem( + child: PopupMenuButton( + padding: EdgeInsets.zero, + itemBuilder: + (context) => [ + PopupMenuItem( + value: PhysicalKeyboardKey.mediaPlayPause, + child: const Text('Media: Play/Pause'), + ), + PopupMenuItem( + value: PhysicalKeyboardKey.mediaStop, + child: const Text('Media: Stop'), + ), + PopupMenuItem( + value: PhysicalKeyboardKey.mediaTrackPrevious, + child: const Text('Media: Previous'), + ), + PopupMenuItem( + value: PhysicalKeyboardKey.mediaTrackNext, + child: const Text('Media: Next'), + ), + PopupMenuItem( + value: PhysicalKeyboardKey.audioVolumeUp, + child: const Text('Media: Volume Up'), + ), + PopupMenuItem( + value: PhysicalKeyboardKey.audioVolumeDown, + child: const Text('Media: Volume Down'), + ), + ], + onSelected: (key) { + keyPair.physicalKey = key; + keyPair.logicalKey = null; + + setState(() {}); + }, + child: ListTile( + leading: Icon(Icons.music_note_outlined), + trailing: Icon(Icons.arrow_right), + title: Text('Simulate Media key'), + ), + ), ), - childWhenDragging: const SizedBox.shrink(), - onDraggableCanceled: (_, offset) { - setState(() => onPositionChanged(offset)); - }, - child: _TouchDot(color: color, label: label, keyPair: keyPair), - ), - ], + PopupMenuDivider(), + PopupMenuItem( + value: null, + child: ListTile(title: const Text('Delete Keymap'), leading: Icon(Icons.delete, color: Colors.red)), + onTap: () { + actionHandler.supportedApp!.keymap.keyPairs.remove(keyPair); + setState(() {}); + }, + ), + ], + onSelected: (key) { + keyPair.physicalKey = key; + keyPair.logicalKey = null; + setState(() {}); + }, + child: Draggable( + feedback: Material(color: Colors.transparent, child: KeypairExplanation(withKey: true, keyPair: keyPair)), + childWhenDragging: const SizedBox.shrink(), + onDraggableCanceled: (_, offset) { + final fixedPosition = offset + Offset(0, differenceInHeight); + setState(() => onPositionChanged(fixedPosition)); + }, + child: KeypairExplanation(withKey: true, keyPair: keyPair), ), ), ), - ); + if (!keyPair.isSpecialKey && keyPair.physicalKey == null && keyPair.touchPosition != Offset.zero) + Positioned( + left: position.dx - 10, + top: position.dy - 10 - differenceInHeight, + child: Icon( + Icons.add, + size: 20, + shadows: [ + Shadow(color: Colors.white, offset: Offset(1, 1)), + Shadow(color: Colors.white, offset: Offset(-1, -1)), + Shadow(color: Colors.white, offset: Offset(-1, 1)), + Shadow(color: Colors.white, offset: Offset(-1, 1)), + Shadow(color: Colors.white, offset: Offset(1, -1)), + ], + ), + ), + ]; } @override @@ -279,24 +303,26 @@ class _TouchAreaSetupPageState extends State { ), ), // Touch Areas - ...?actionHandler.supportedApp?.keymap.keyPairs.map( - (keyPair) => _buildDraggableArea( - position: Offset( - keyPair.touchPosition.dx / devicePixelRatio - touchAreaSize / 2, - keyPair.touchPosition.dy / devicePixelRatio - touchAreaSize / 2 - (isDesktop ? touchAreaSize * 1.5 : 0), - ), - keyPair: keyPair, - onPositionChanged: (newPos) { - final converted = - newPos.translate(touchAreaSize / 2, touchAreaSize / 2 + (isDesktop ? touchAreaSize * 1.5 : 0)) * - devicePixelRatio; - keyPair.touchPosition = converted; - setState(() {}); - }, - color: Colors.red, - label: keyPair.buttons.joinToString(transform: (e) => e.name, separator: '\n'), - ), - ), + ...?actionHandler.supportedApp?.keymap.keyPairs + .map( + (keyPair) => _buildDraggableArea( + enableTouch: true, + position: Offset( + keyPair.touchPosition.dx / devicePixelRatio, + keyPair.touchPosition.dy / devicePixelRatio, + ), + keyPair: keyPair, + onPositionChanged: (newPos) { + final converted = newPos * devicePixelRatio; + keyPair.touchPosition = converted; + setState(() {}); + }, + color: Colors.red, + ), + ) + .flatten(), + + Positioned.fill(child: Testbed()), Positioned( top: 40, @@ -304,15 +330,20 @@ class _TouchAreaSetupPageState extends State { child: Row( spacing: 8, children: [ - ElevatedButton.icon( - onPressed: () { - actionHandler.supportedApp?.keymap.reset(); - setState(() {}); - }, - icon: const Icon(Icons.lock_reset), - label: Text('Reset'), - ), ElevatedButton.icon(onPressed: _saveAndClose, icon: const Icon(Icons.save), label: const Text("Save")), + PopupMenuButton( + itemBuilder: + (c) => [ + PopupMenuItem( + child: Text('Reset'), + onTap: () { + actionHandler.supportedApp?.keymap.reset(); + setState(() {}); + }, + ), + ], + icon: Icon(Icons.more_vert), + ), ], ), ), @@ -322,59 +353,46 @@ class _TouchAreaSetupPageState extends State { } } -class _TouchDot extends StatelessWidget { - final Color color; - final String label; +class KeypairExplanation extends StatelessWidget { + final bool withKey; final KeyPair keyPair; - const _TouchDot({required this.color, required this.label, required this.keyPair}); + const KeypairExplanation({super.key, required this.keyPair, this.withKey = false}); @override Widget build(BuildContext context) { - return Column( - crossAxisAlignment: CrossAxisAlignment.start, + return Row( + spacing: 4, children: [ - Container( - width: touchAreaSize, - height: touchAreaSize, - decoration: BoxDecoration( - color: color.withOpacity(0.6), - shape: BoxShape.circle, - border: Border.all( - color: keyPair.isLongPress ? Colors.green : Colors.black, - width: keyPair.isLongPress ? 3 : 2, - ), + if (withKey) KeyWidget(label: keyPair.buttons.joinToString(transform: (e) => e.name, separator: '\n')), + if (keyPair.physicalKey != null) ...[ + Icon(switch (keyPair.physicalKey) { + PhysicalKeyboardKey.mediaPlayPause || + PhysicalKeyboardKey.mediaStop || + PhysicalKeyboardKey.mediaTrackPrevious || + PhysicalKeyboardKey.mediaTrackNext || + PhysicalKeyboardKey.audioVolumeUp || + PhysicalKeyboardKey.audioVolumeDown => Icons.music_note_outlined, + _ => Icons.keyboard, + }, size: 16), + KeyWidget( + label: switch (keyPair.physicalKey) { + PhysicalKeyboardKey.mediaPlayPause => 'Media: Play/Pause', + PhysicalKeyboardKey.mediaStop => 'Media: Stop', + PhysicalKeyboardKey.mediaTrackPrevious => 'Media: Previous', + PhysicalKeyboardKey.mediaTrackNext => 'Media: Next', + PhysicalKeyboardKey.audioVolumeUp => 'Media: Volume Up', + PhysicalKeyboardKey.audioVolumeDown => 'Media: Volume Down', + _ => keyPair.logicalKey?.keyLabel ?? 'Unknown', + }, ), - child: Icon( - keyPair.isSpecialKey - ? Icons.music_note_outlined - : keyPair.physicalKey != null - ? Icons.keyboard_alt_outlined - : Icons.touch_app_outlined, - ), - ), + if (keyPair.isLongPress) Text('using long press'), + ] else ...[ + Icon(Icons.touch_app, size: 16), + KeyWidget(label: 'X: ${keyPair.touchPosition.dx.toInt()}, Y: ${keyPair.touchPosition.dy.toInt()}'), - Container( - color: Colors.white.withAlpha(180), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(label, style: TextStyle(color: Colors.black, fontSize: 12)), - if (keyPair.physicalKey != null) - Text(switch (keyPair.physicalKey) { - PhysicalKeyboardKey.mediaPlayPause => 'Media: Play/Pause', - PhysicalKeyboardKey.mediaStop => 'Media: Stop', - PhysicalKeyboardKey.mediaTrackPrevious => 'Media: Previous', - PhysicalKeyboardKey.mediaTrackNext => 'Media: Next', - PhysicalKeyboardKey.audioVolumeUp => 'Media: Volume Up', - PhysicalKeyboardKey.audioVolumeDown => 'Media: Volume Down', - _ => keyPair.logicalKey?.keyLabel ?? 'Unknown', - }, style: TextStyle(color: Colors.black87, fontSize: 12)), - if (keyPair.isLongPress) - Text('Long Press', style: TextStyle(color: Colors.green, fontSize: 10, fontWeight: FontWeight.bold)), - ], - ), - ), + if (keyPair.isLongPress) Text('using long press'), + ], ], ); } diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart index 40422046d..ae275f3a9 100644 --- a/lib/utils/actions/desktop.dart +++ b/lib/utils/actions/desktop.dart @@ -53,7 +53,7 @@ class DesktopActions extends BaseActions { if (keyPair.physicalKey != null) { await keyPressSimulator.simulateKeyDown(keyPair.physicalKey); await keyPressSimulator.simulateKeyUp(keyPair.physicalKey); - return 'Key pressed: ${keyPair.logicalKey?.keyLabel}'; + return 'Key pressed: $keyPair'; } else { final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null); await keyPressSimulator.simulateMouseClickDown(point); diff --git a/lib/utils/settings/settings.dart b/lib/utils/settings/settings.dart index 3211c8186..46e42a7a3 100644 --- a/lib/utils/settings/settings.dart +++ b/lib/utils/settings/settings.dart @@ -32,6 +32,11 @@ class Settings { } } + Future reset() async { + await _prefs.clear(); + actionHandler.init(null); + } + void setApp(SupportedApp app) { if (app is CustomApp) { _prefs.setStringList("customapp", app.encodeKeymap()); diff --git a/lib/widgets/keymap_explanation.dart b/lib/widgets/keymap_explanation.dart index 350256dfb..3d7ead5ab 100644 --- a/lib/widgets/keymap_explanation.dart +++ b/lib/widgets/keymap_explanation.dart @@ -3,6 +3,8 @@ import 'package:flutter/material.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/utils/keymap/keymap.dart'; +import '../pages/touch_area.dart'; + class KeymapExplanation extends StatelessWidget { final Keymap keymap; final VoidCallback onUpdate; @@ -64,21 +66,11 @@ class KeymapExplanation extends StatelessWidget { for (final keyPair in pair.value) for (final button in keyPair.buttons) if (connectedDevice?.availableButtons.contains(button) == true) - IntrinsicWidth(child: _KeyWidget(label: button.name.splitByUpperCase())), - ], - ), - ), - Padding( - padding: const EdgeInsets.all(6), - child: Row( - spacing: 8, - children: [ - Icon(Icons.keyboard, size: 16), - _KeyWidget(label: pair.value.first.logicalKey?.keyLabel ?? ''), - if (pair.value.first.isLongPress) Text('using long press'), + IntrinsicWidth(child: KeyWidget(label: button.name)), ], ), ), + Padding(padding: const EdgeInsets.all(6), child: KeypairExplanation(keyPair: pair.value.first)), ], ), ], @@ -93,25 +85,11 @@ class KeymapExplanation extends StatelessWidget { for (final keyPair in pair.value) for (final button in keyPair.buttons) if (connectedDevice?.availableButtons.contains(button) == true) - _KeyWidget(label: button.name.splitByUpperCase()), - ], - ), - ), - Padding( - padding: const EdgeInsets.all(6), - child: Row( - spacing: 8, - children: [ - Icon(Icons.touch_app, size: 16), - _KeyWidget( - label: - 'x: ${pair.value.first.touchPosition.dx.toInt()}, y: ${pair.value.first.touchPosition.dy.toInt()}', - ), - - if (pair.value.first.isLongPress) Text('using long press'), + KeyWidget(label: button.name), ], ), ), + Padding(padding: const EdgeInsets.all(6), child: KeypairExplanation(keyPair: pair.value.first)), ], ), ], @@ -122,9 +100,9 @@ class KeymapExplanation extends StatelessWidget { } } -class _KeyWidget extends StatelessWidget { +class KeyWidget extends StatelessWidget { final String label; - const _KeyWidget({super.key, required this.label}); + const KeyWidget({super.key, required this.label}); @override Widget build(BuildContext context) { @@ -138,7 +116,7 @@ class _KeyWidget extends StatelessWidget { ), child: Center( child: Text( - label, + label.splitByUpperCase(), style: TextStyle( fontFamily: 'monospace', fontSize: 12, @@ -150,7 +128,7 @@ class _KeyWidget extends StatelessWidget { } } -extension on String { +extension SplitByUppercase on String { String splitByUpperCase() { return replaceAllMapped(RegExp(r'([a-z])([A-Z])'), (match) => '${match.group(1)} ${match.group(2)}').capitalize(); } diff --git a/lib/widgets/logviewer.dart b/lib/widgets/logviewer.dart index 1a280d318..4eb6bf14c 100644 --- a/lib/widgets/logviewer.dart +++ b/lib/widgets/logviewer.dart @@ -50,42 +50,37 @@ class _LogviewerState extends State { Widget build(BuildContext context) { return SelectionArea( child: ListView( + physics: const NeverScrollableScrollPhysics(), controller: _scrollController, - children: [ - ..._actions.map( - (action) => Text.rich( - TextSpan( - children: [ - TextSpan( - text: action.date.toString().split(" ").last, - style: TextStyle( - fontSize: 12, - fontFeatures: [FontFeature.tabularFigures()], - fontFamily: "monospace", - fontFamilyFallback: ["Courier"], + reverse: true, + children: + _actions + .map( + (action) => Text.rich( + TextSpan( + children: [ + TextSpan( + text: action.date.toString().split(" ").last, + style: TextStyle( + fontSize: 12, + fontFeatures: [FontFeature.tabularFigures()], + fontFamily: "monospace", + fontFamilyFallback: ["Courier"], + ), + ), + TextSpan( + text: " ${action.entry}", + style: TextStyle( + fontSize: 12, + fontFeatures: [FontFeature.tabularFigures()], + fontWeight: FontWeight.bold, + ), + ), + ], ), ), - TextSpan( - text: " ${action.entry}", - style: TextStyle( - fontSize: 12, - fontFeatures: [FontFeature.tabularFigures()], - fontWeight: FontWeight.bold, - ), - ), - ], - ), - ), - ), - - TextButton( - onPressed: () { - _actions.clear(); - setState(() {}); - }, - child: Text('Clear Log'), - ), - ], + ) + .toList(), ), ); } diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart index 4e9361a59..d157d6eb5 100644 --- a/lib/widgets/menu.dart +++ b/lib/widgets/menu.dart @@ -58,23 +58,37 @@ class MenuButton extends StatelessWidget { itemBuilder: (c) => [ if (kDebugMode) ...[ - ...ZwiftButton.values.map( - (e) => PopupMenuItem( - child: Text(e.name), - onTap: () { - Future.delayed(Duration(seconds: 2)).then((_) { - actionHandler.performAction(e); - }); + PopupMenuItem( + child: PopupMenuButton( + child: Text("Simulate buttons"), + itemBuilder: (_) { + return ZwiftButton.values + .map( + (e) => PopupMenuItem( + child: Text(e.name), + onTap: () { + Future.delayed(Duration(seconds: 2)).then((_) { + actionHandler.performAction(e); + }); + }, + ), + ) + .toList(); }, ), ), - PopupMenuItem(child: PopupMenuDivider()), PopupMenuItem( child: Text('Continue'), onTap: () { Navigator.push(context, MaterialPageRoute(builder: (c) => DevicePage())); }, ), + PopupMenuItem( + child: Text('Reset'), + onTap: () async { + await settings.reset(); + }, + ), PopupMenuItem(child: PopupMenuDivider()), ], PopupMenuItem( diff --git a/lib/widgets/testbed.dart b/lib/widgets/testbed.dart new file mode 100644 index 000000000..013441ae5 --- /dev/null +++ b/lib/widgets/testbed.dart @@ -0,0 +1,316 @@ +import 'dart:math' as math; + +import 'package:flutter/material.dart'; +import 'package:flutter/scheduler.dart'; +import 'package:flutter/services.dart'; + +/// A developer overlay that visualizes touches and keyboard events. +/// - Touch dots appear where you touch and fade out over [touchRevealDuration]. +/// - Keyboard events are listed temporarily and fade out over [keyboardRevealDuration]. +class Testbed extends StatefulWidget { + const Testbed({ + super.key, + this.enabled = true, + this.showTouches = true, + this.showKeyboard = true, + this.touchRevealDuration = const Duration(seconds: 2), + this.keyboardRevealDuration = const Duration(seconds: 2), + this.maxKeyboardEvents = 6, + this.touchColor = const Color(0xFF00BCD4), // cyan-ish + this.keyboardBadgeColor = const Color(0xCC000000), // translucent black + this.keyboardTextStyle = const TextStyle(color: Colors.white, fontSize: 12), + }); + + final bool enabled; + final bool showTouches; + final bool showKeyboard; + + final Duration touchRevealDuration; + final Duration keyboardRevealDuration; + final int maxKeyboardEvents; + + final Color touchColor; + final Color keyboardBadgeColor; + final TextStyle keyboardTextStyle; + + @override + State createState() => _TestbedState(); +} + +class _TestbedState extends State with SingleTickerProviderStateMixin { + late final Ticker _ticker; + + // ----- Touch tracking ----- + final Map _active = {}; + final List<_TouchSample> _history = <_TouchSample>[]; + + // ----- Keyboard tracking ----- + final List<_KeySample> _keys = <_KeySample>[]; + + // Focus to receive key events without stealing focus from inputs. + late final FocusNode _focusNode; + + @override + void initState() { + super.initState(); + _focusNode = FocusNode(debugLabel: 'TestbedFocus', canRequestFocus: true, skipTraversal: true); + + _ticker = createTicker((_) { + // Cull expired touch and key samples. + final now = DateTime.now(); + _history.removeWhere((s) => now.difference(s.timestamp) > widget.touchRevealDuration); + _keys.removeWhere((k) => now.difference(k.timestamp) > widget.keyboardRevealDuration); + + if (mounted) setState(() {}); + })..start(); + } + + @override + void dispose() { + _ticker.dispose(); + _focusNode.dispose(); + super.dispose(); + } + + void _onPointerDown(PointerDownEvent e) { + if (!widget.enabled || !widget.showTouches) return; + final sample = _TouchSample( + pointer: e.pointer, + position: e.position, + timestamp: DateTime.now(), + phase: _TouchPhase.down, + ); + _active[e.pointer] = sample; + _history.add(sample); + setState(() {}); + } + + void _onPointerCancel(PointerCancelEvent e) { + if (!widget.enabled || !widget.showTouches || !mounted) return; + _active.remove(e.pointer); + setState(() {}); + } + + KeyEventResult _onKey(FocusNode node, KeyEvent event) { + if (!widget.enabled || !widget.showKeyboard || event is KeyUpEvent) return KeyEventResult.ignored; + + final label = event.logicalKey.keyLabel; + final keyName = label.isNotEmpty ? label : event.logicalKey.debugName ?? 'Key'; + final isDown = event is KeyDownEvent; + final isUp = event is KeyUpEvent; + + // Filter out repeat KeyDowns if desired (optional). + // Here we keep them; comment this block in to drop repeats: + // if (event.repeat) return KeyEventResult.handled; + + final sample = _KeySample( + text: + '${isDown + ? "↓" + : isUp + ? "↑" + : "•"} $keyName', + timestamp: DateTime.now(), + ); + _keys.insert(0, sample); + if (_keys.length > widget.maxKeyboardEvents) { + _keys.removeLast(); + } + setState(() {}); + // We don't want to prevent normal text input, so we return ignored. + return KeyEventResult.ignored; + } + + @override + Widget build(BuildContext context) { + return Listener( + onPointerDown: _onPointerDown, + onPointerCancel: _onPointerCancel, + behavior: HitTestBehavior.translucent, + child: Focus( + focusNode: _focusNode, + autofocus: true, + canRequestFocus: true, + descendantsAreFocusable: true, + onKeyEvent: _onKey, + child: Stack( + fit: StackFit.passthrough, + children: [ + if (widget.showTouches) + Positioned.fill( + child: IgnorePointer( + child: CustomPaint( + painter: _TouchesPainter( + now: DateTime.now(), + samples: _history, + duration: widget.touchRevealDuration, + color: widget.touchColor, + ), + ), + ), + ), + if (widget.showKeyboard) + Positioned( + left: 12, + bottom: 12, + child: IgnorePointer( + child: _KeyboardOverlay( + items: _keys, + duration: widget.keyboardRevealDuration, + badgeColor: widget.keyboardBadgeColor, + textStyle: widget.keyboardTextStyle, + ), + ), + ), + ], + ), + ), + ); + } +} + +// ===== Touches ===== + +enum _TouchPhase { down, move, up } + +class _TouchSample { + _TouchSample({required this.pointer, required this.position, required this.timestamp, required this.phase}); + + final int pointer; + final Offset position; + final DateTime timestamp; + final _TouchPhase phase; +} + +class _TouchesPainter extends CustomPainter { + _TouchesPainter({required this.now, required this.samples, required this.duration, required this.color}); + + final DateTime now; + final List<_TouchSample> samples; + final Duration duration; + final Color color; + + @override + void paint(Canvas canvas, Size size) { + final paint = + Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 2; + + for (final s in samples) { + final age = now.difference(s.timestamp); + if (age > duration) continue; + + final t = age.inMilliseconds / duration.inMilliseconds.clamp(1, 1 << 30); + final fade = (1.0 - t).clamp(0.0, 1.0); + + // Two concentric circles: inner filled pulse + outer ring. + final baseRadius = 22.0; + final pulse = 1.0 + 0.5 * math.sin(t * math.pi); // subtle pulsing + final rOuter = baseRadius * (1.0 + 0.35 * t); + final rInner = baseRadius * 0.5 * pulse; + + // Outer ring (stroke, fading) + paint + ..style = PaintingStyle.stroke + ..color = color.withOpacity(0.35 * fade); + canvas.drawCircle(s.position, rOuter, paint); + + // Inner fill (stronger) + final fill = + Paint() + ..style = PaintingStyle.fill + ..color = color.withOpacity(0.35 + 0.35 * fade); + canvas.drawCircle(s.position, rInner, fill); + + // Tiny center dot for precision + final center = + Paint() + ..style = PaintingStyle.fill + ..color = color.withOpacity(0.9 * fade); + canvas.drawCircle(s.position, 2.5, center); + } + } + + @override + bool shouldRepaint(covariant _TouchesPainter oldDelegate) { + return oldDelegate.now != now || + oldDelegate.samples != samples || + oldDelegate.duration != duration || + oldDelegate.color != color; + } +} + +// ===== Keyboard overlay ===== + +class _KeySample { + _KeySample({required this.text, required this.timestamp}); + final String text; + final DateTime timestamp; +} + +class _KeyboardOverlay extends StatelessWidget { + const _KeyboardOverlay({ + super.key, + required this.items, + required this.duration, + required this.badgeColor, + required this.textStyle, + }); + + final List<_KeySample> items; + final Duration duration; + final Color badgeColor; + final TextStyle textStyle; + + @override + Widget build(BuildContext context) { + final now = DateTime.now(); + + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + for (final item in items) + _KeyboardToast( + text: item.text, + age: now.difference(item.timestamp), + duration: duration, + badgeColor: badgeColor, + textStyle: textStyle, + ), + ], + ); + } +} + +class _KeyboardToast extends StatelessWidget { + const _KeyboardToast({ + required this.text, + required this.age, + required this.duration, + required this.badgeColor, + required this.textStyle, + }); + + final String text; + final Duration age; + final Duration duration; + final Color badgeColor; + final TextStyle textStyle; + + @override + Widget build(BuildContext context) { + final t = (age.inMilliseconds / duration.inMilliseconds.clamp(1, 1 << 30)).clamp(0.0, 1.0); + final fade = 1.0 - t; + + return Opacity( + opacity: fade, + child: Container( + margin: const EdgeInsets.only(bottom: 6), + padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 6), + decoration: BoxDecoration(color: badgeColor, borderRadius: BorderRadius.circular(12)), + child: Text(text, style: textStyle), + ), + ); + } +} From a03cc76eaac11cd48181e9cd0427f813d6bdb4b4 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 27 Sep 2025 15:03:02 +0200 Subject: [PATCH 193/636] show firmware version of connected device --- CHANGELOG.md | 2 ++ lib/bluetooth/ble.dart | 3 +++ lib/bluetooth/devices/base_device.dart | 18 +++++++++++++++++- lib/pages/device.dart | 4 +++- lib/pages/scan.dart | 9 +++++++++ 5 files changed, 34 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91d9b256c..1ea35baa8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ ### 2.5.1 (2025-09-27) - Fix crashes on some Android devices +- refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 +- show firmware version of connected device ### 2.5.0 (2025-09-25) - Improve usability diff --git a/lib/bluetooth/ble.dart b/lib/bluetooth/ble.dart index c7662ab86..c37e96f5f 100644 --- a/lib/bluetooth/ble.dart +++ b/lib/bluetooth/ble.dart @@ -1,6 +1,9 @@ import 'dart:typed_data'; class BleUuid { + static final DEVICE_INFORMATION_SERVICE_UUID = "0000180a-0000-1000-8000-00805f9b34fb".toLowerCase(); + static final DEVICE_INFORMATION_CHARACTERISTIC_FIRMWARE_REVISION = + "00002a26-0000-1000-8000-00805f9b34fb".toLowerCase(); static final ZWIFT_CUSTOM_SERVICE_UUID = "00000001-19CA-4651-86E5-FA29DCDD09D1".toLowerCase(); static final ZWIFT_RIDE_CUSTOM_SERVICE_UUID = "0000fc82-0000-1000-8000-00805f9b34fb".toLowerCase(); static final ZWIFT_ASYNC_CHARACTERISTIC_UUID = "00000002-19CA-4651-86E5-FA29DCDD09D1".toLowerCase(); diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 5f344d2e0..88742bfcd 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -28,6 +28,8 @@ abstract class BaseDevice { final zapEncryption = ZapCrypto(LocalKeyProvider()); bool isConnected = false; + int? batteryLevel; + String? firmwareVersion; bool supportsEncryption = true; @@ -89,7 +91,6 @@ abstract class BaseDevice { BleDevice get device => scanResult; final StreamController actionStreamInternal = StreamController.broadcast(); - int? batteryLevel; Stream get actionStream => actionStreamInternal.stream; Future connect() async { @@ -116,6 +117,21 @@ abstract class BaseDevice { ); } + final deviceInformationService = services.firstOrNullWhere( + (service) => service.uuid == BleUuid.DEVICE_INFORMATION_SERVICE_UUID, + ); + final firmwareCharacteristic = deviceInformationService?.characteristics.firstOrNullWhere( + (c) => c.uuid == BleUuid.DEVICE_INFORMATION_CHARACTERISTIC_FIRMWARE_REVISION, + ); + if (firmwareCharacteristic != null) { + final firmwareData = await UniversalBle.read( + device.deviceId, + deviceInformationService!.uuid, + firmwareCharacteristic.uuid, + ); + firmwareVersion = String.fromCharCodes(firmwareData); + } + final asyncCharacteristic = customService.characteristics.firstOrNullWhere( (characteristic) => characteristic.uuid == BleUuid.ZWIFT_ASYNC_CHARACTERISTIC_UUID, ); diff --git a/lib/pages/device.dart b/lib/pages/device.dart index b7b74c08f..4425b0f95 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -72,7 +72,9 @@ class _DevicePageState extends State { connection.devices.joinToString( separator: '\n', transform: (it) { - return "${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'}${it.batteryLevel != null ? ' - Battery Level: ${it.batteryLevel}%' : ''}"; + return """${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'} +${it.batteryLevel != null ? ' - Battery Level: ${it.batteryLevel}%' : ''} +${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : ''}"""; }, ), ), diff --git a/lib/pages/scan.dart b/lib/pages/scan.dart index 5adcfd262..71119f110 100644 --- a/lib/pages/scan.dart +++ b/lib/pages/scan.dart @@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/widgets/small_progress_indicator.dart'; +import 'package:url_launcher/url_launcher_string.dart'; import '../widgets/logviewer.dart'; @@ -57,6 +58,14 @@ class _ScanWidgetState extends State { Text( 'Scanning for devices... Make sure they are powered on and in range and not connected to another device.', ), + TextButton( + onPressed: () { + launchUrlString( + 'https://github.com/jonasbark/swiftcontrol/?tab=readme-ov-file#supported-platforms', + ); + }, + child: const Text("Show Troubleshooting Guide"), + ), SmallProgressIndicator(), ], ); From be0c2d97ba5a1b6f34aa99c644cd6a42a7d70c8a Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sat, 27 Sep 2025 15:11:24 +0200 Subject: [PATCH 194/636] show firmware version of connected device --- lib/bluetooth/devices/base_device.dart | 3 ++- lib/pages/device.dart | 4 ++-- lib/utils/keymap/apps/custom_app.dart | 2 +- lib/widgets/logviewer.dart | 1 + 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 88742bfcd..67c38cc34 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -130,6 +130,7 @@ abstract class BaseDevice { firmwareCharacteristic.uuid, ); firmwareVersion = String.fromCharCodes(firmwareData); + connection.signalChange(this); } final asyncCharacteristic = customService.characteristics.firstOrNullWhere( @@ -289,7 +290,7 @@ abstract class BaseDevice { _previouslyPressedButtons = buttonsClicked.toSet(); } - _performActions(buttonsClicked, false); + return _performActions(buttonsClicked, false); } }) .catchError((e) { diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 4425b0f95..8242aaee6 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -74,7 +74,7 @@ class _DevicePageState extends State { transform: (it) { return """${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'} ${it.batteryLevel != null ? ' - Battery Level: ${it.batteryLevel}%' : ''} -${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : ''}"""; +${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : ''}""".trim(); }, ), ), @@ -173,7 +173,7 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' ), ], ), - SizedBox(height: 800, child: LogViewer()), + LogViewer(), ], ), ), diff --git a/lib/utils/keymap/apps/custom_app.dart b/lib/utils/keymap/apps/custom_app.dart index ce24e624d..e5d85439e 100644 --- a/lib/utils/keymap/apps/custom_app.dart +++ b/lib/utils/keymap/apps/custom_app.dart @@ -14,7 +14,7 @@ class CustomApp extends SupportedApp { Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent? windowInfo}) { final keyPair = keymap.getKeyPair(action); if (keyPair == null || keyPair.touchPosition == Offset.zero) { - throw SingleLineException("No key pair found for action: $action"); + throw SingleLineException("No key pair found for action: $action. You may want to adjust the keymap."); } return keyPair.touchPosition; } diff --git a/lib/widgets/logviewer.dart b/lib/widgets/logviewer.dart index 4eb6bf14c..655773c20 100644 --- a/lib/widgets/logviewer.dart +++ b/lib/widgets/logviewer.dart @@ -52,6 +52,7 @@ class _LogviewerState extends State { child: ListView( physics: const NeverScrollableScrollPhysics(), controller: _scrollController, + shrinkWrap: true, reverse: true, children: _actions From c9ebc5a9f65d81119b0205506b8b077cf2d51e73 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sun, 28 Sep 2025 15:39:01 +0200 Subject: [PATCH 195/636] don't show actual touches on screen for Android --- lib/widgets/testbed.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/widgets/testbed.dart b/lib/widgets/testbed.dart index 013441ae5..a8b488b10 100644 --- a/lib/widgets/testbed.dart +++ b/lib/widgets/testbed.dart @@ -1,4 +1,5 @@ import 'dart:math' as math; +import 'dart:ui'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; @@ -73,7 +74,11 @@ class _TestbedState extends State with SingleTickerProviderStateMixin { } void _onPointerDown(PointerDownEvent e) { - if (!widget.enabled || !widget.showTouches) return; + if (!widget.enabled || + !widget.showTouches || + (e.kind != PointerDeviceKind.unknown && e.kind != PointerDeviceKind.mouse)) { + return; + } final sample = _TouchSample( pointer: e.pointer, position: e.position, From d55ba039afce07dfdd85a22caf4779fa59a273b3 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Sun, 28 Sep 2025 15:45:20 +0200 Subject: [PATCH 196/636] version++ --- CHANGELOG.md | 2 +- pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ea35baa8..48265d1c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 2.5.1 (2025-09-27) +### 2.6.0 (2025-09-28) - Fix crashes on some Android devices - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 - show firmware version of connected device diff --git a/pubspec.yaml b/pubspec.yaml index f84bb9006..ff5e9d0b5 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.5.1+6 +version: 2.6.0+6 environment: sdk: ^3.7.0 From a1926dfc0079b2658d7d712c5ede9706c2e0b60f Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 29 Sep 2025 09:54:43 +0200 Subject: [PATCH 197/636] Revert "remove iOS folder as Apple does not support the core functionality" This reverts commit d0291c68d7b6618f7ebadf3dedf282e3cb3bec65. --- ios/.gitignore | 34 + ios/Flutter/AppFrameworkInfo.plist | 26 + ios/Flutter/Debug.xcconfig | 2 + ios/Flutter/Release.xcconfig | 2 + ios/Podfile | 43 ++ ios/Runner.xcodeproj/project.pbxproj | 619 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../xcshareddata/xcschemes/Runner.xcscheme | 99 +++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../xcshareddata/WorkspaceSettings.xcsettings | 8 + ios/Runner/AppDelegate.swift | 13 + .../AppIcon.appiconset/Contents.json | 122 ++++ .../Icon-App-1024x1024@1x.png | Bin 0 -> 10932 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 0 -> 295 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 0 -> 450 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 0 -> 282 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 0 -> 462 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 0 -> 704 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 0 -> 406 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 0 -> 586 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 0 -> 862 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 0 -> 1674 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 0 -> 762 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 0 -> 1226 bytes .../Icon-App-83.5x83.5@2x.png | Bin 0 -> 1418 bytes .../LaunchImage.imageset/Contents.json | 23 + .../LaunchImage.imageset/LaunchImage.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 0 -> 68 bytes .../LaunchImage.imageset/README.md | 5 + ios/Runner/Base.lproj/LaunchScreen.storyboard | 37 ++ ios/Runner/Base.lproj/Main.storyboard | 26 + ios/Runner/Info.plist | 49 ++ ios/Runner/Runner-Bridging-Header.h | 1 + ios/RunnerTests/RunnerTests.swift | 12 + 40 files changed, 1159 insertions(+) create mode 100644 ios/.gitignore create mode 100644 ios/Flutter/AppFrameworkInfo.plist create mode 100644 ios/Flutter/Debug.xcconfig create mode 100644 ios/Flutter/Release.xcconfig create mode 100644 ios/Podfile create mode 100644 ios/Runner.xcodeproj/project.pbxproj create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme create mode 100644 ios/Runner.xcworkspace/contents.xcworkspacedata create mode 100644 ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings create mode 100644 ios/Runner/AppDelegate.swift create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png create mode 100644 ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md create mode 100644 ios/Runner/Base.lproj/LaunchScreen.storyboard create mode 100644 ios/Runner/Base.lproj/Main.storyboard create mode 100644 ios/Runner/Info.plist create mode 100644 ios/Runner/Runner-Bridging-Header.h create mode 100644 ios/RunnerTests/RunnerTests.swift diff --git a/ios/.gitignore b/ios/.gitignore new file mode 100644 index 000000000..7a7f9873a --- /dev/null +++ b/ios/.gitignore @@ -0,0 +1,34 @@ +**/dgph +*.mode1v3 +*.mode2v3 +*.moved-aside +*.pbxuser +*.perspectivev3 +**/*sync/ +.sconsign.dblite +.tags* +**/.vagrant/ +**/DerivedData/ +Icon? +**/Pods/ +**/.symlinks/ +profile +xcuserdata +**/.generated/ +Flutter/App.framework +Flutter/Flutter.framework +Flutter/Flutter.podspec +Flutter/Generated.xcconfig +Flutter/ephemeral/ +Flutter/app.flx +Flutter/app.zip +Flutter/flutter_assets/ +Flutter/flutter_export_environment.sh +ServiceDefinitions.json +Runner/GeneratedPluginRegistrant.* + +# Exceptions to above rules. +!default.mode1v3 +!default.mode2v3 +!default.pbxuser +!default.perspectivev3 diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist new file mode 100644 index 000000000..7c5696400 --- /dev/null +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + App + CFBundleIdentifier + io.flutter.flutter.app + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + App + CFBundlePackageType + FMWK + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1.0 + MinimumOSVersion + 12.0 + + diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig new file mode 100644 index 000000000..ec97fc6f3 --- /dev/null +++ b/ios/Flutter/Debug.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" +#include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig new file mode 100644 index 000000000..c4855bfe2 --- /dev/null +++ b/ios/Flutter/Release.xcconfig @@ -0,0 +1,2 @@ +#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" +#include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 000000000..e549ee22f --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,43 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '12.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do + inherit! :search_paths + end +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj new file mode 100644 index 000000000..c53ad03c7 --- /dev/null +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -0,0 +1,619 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 54; + objects = { + +/* Begin PBXBuildFile section */ + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 331C8085294A63A400263BE5 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 97C146E61CF9000F007C117D /* Project object */; + proxyType = 1; + remoteGlobalIDString = 97C146ED1CF9000F007C117D; + remoteInfo = Runner; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 9705A1C41CF9048500538489 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; + 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; + 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; + 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 97C146EB1CF9000F007C117D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 331C8082294A63A400263BE5 /* RunnerTests */ = { + isa = PBXGroup; + children = ( + 331C807B294A618700263BE5 /* RunnerTests.swift */, + ); + path = RunnerTests; + sourceTree = ""; + }; + 9740EEB11CF90186004384FC /* Flutter */ = { + isa = PBXGroup; + children = ( + 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, + 9740EEB21CF90195004384FC /* Debug.xcconfig */, + 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, + 9740EEB31CF90195004384FC /* Generated.xcconfig */, + ); + name = Flutter; + sourceTree = ""; + }; + 97C146E51CF9000F007C117D = { + isa = PBXGroup; + children = ( + 9740EEB11CF90186004384FC /* Flutter */, + 97C146F01CF9000F007C117D /* Runner */, + 97C146EF1CF9000F007C117D /* Products */, + 331C8082294A63A400263BE5 /* RunnerTests */, + ); + sourceTree = ""; + }; + 97C146EF1CF9000F007C117D /* Products */ = { + isa = PBXGroup; + children = ( + 97C146EE1CF9000F007C117D /* Runner.app */, + 331C8081294A63A400263BE5 /* RunnerTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 97C146F01CF9000F007C117D /* Runner */ = { + isa = PBXGroup; + children = ( + 97C146FA1CF9000F007C117D /* Main.storyboard */, + 97C146FD1CF9000F007C117D /* Assets.xcassets */, + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, + 97C147021CF9000F007C117D /* Info.plist */, + 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, + 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, + 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, + 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, + ); + path = Runner; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 331C8080294A63A400263BE5 /* RunnerTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; + buildPhases = ( + 331C807D294A63A400263BE5 /* Sources */, + 331C807F294A63A400263BE5 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 331C8086294A63A400263BE5 /* PBXTargetDependency */, + ); + name = RunnerTests; + productName = RunnerTests; + productReference = 331C8081294A63A400263BE5 /* RunnerTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; + 97C146ED1CF9000F007C117D /* Runner */ = { + isa = PBXNativeTarget; + buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; + buildPhases = ( + 9740EEB61CF901F6004384FC /* Run Script */, + 97C146EA1CF9000F007C117D /* Sources */, + 97C146EB1CF9000F007C117D /* Frameworks */, + 97C146EC1CF9000F007C117D /* Resources */, + 9705A1C41CF9048500538489 /* Embed Frameworks */, + 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Runner; + productName = Runner; + productReference = 97C146EE1CF9000F007C117D /* Runner.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 97C146E61CF9000F007C117D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = YES; + LastUpgradeCheck = 1510; + ORGANIZATIONNAME = ""; + TargetAttributes = { + 331C8080294A63A400263BE5 = { + CreatedOnToolsVersion = 14.0; + TestTargetID = 97C146ED1CF9000F007C117D; + }; + 97C146ED1CF9000F007C117D = { + CreatedOnToolsVersion = 7.3.1; + LastSwiftMigration = 1100; + }; + }; + }; + buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 97C146E51CF9000F007C117D; + productRefGroup = 97C146EF1CF9000F007C117D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 97C146ED1CF9000F007C117D /* Runner */, + 331C8080294A63A400263BE5 /* RunnerTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 331C807F294A63A400263BE5 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EC1CF9000F007C117D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, + 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, + 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, + 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", + ); + name = "Thin Binary"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; + }; + 9740EEB61CF901F6004384FC /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 331C807D294A63A400263BE5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 97C146EA1CF9000F007C117D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, + 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 331C8086294A63A400263BE5 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 97C146ED1CF9000F007C117D /* Runner */; + targetProxy = 331C8085294A63A400263BE5 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 97C146FA1CF9000F007C117D /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C146FB1CF9000F007C117D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 97C147001CF9000F007C117D /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 249021D3217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Profile; + }; + 249021D4217E4FDB00AE95B9 /* Profile */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 7BL8RUV2K6; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Profile; + }; + 331C8088294A63A400263BE5 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Debug; + }; + 331C8089294A63A400263BE5 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Release; + }; + 331C808A294A63A400263BE5 /* Profile */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay.RunnerTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Runner.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Runner"; + }; + name = Profile; + }; + 97C147031CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 97C147041CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 97C147061CF9000F007C117D /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 7BL8RUV2K6; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + 97C147071CF9000F007C117D /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ENABLE_MODULES = YES; + CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = 7BL8RUV2K6; + ENABLE_BITCODE = NO; + INFOPLIST_FILE = Runner/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 331C8088294A63A400263BE5 /* Debug */, + 331C8089294A63A400263BE5 /* Release */, + 331C808A294A63A400263BE5 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147031CF9000F007C117D /* Debug */, + 97C147041CF9000F007C117D /* Release */, + 249021D3217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 97C147061CF9000F007C117D /* Debug */, + 97C147071CF9000F007C117D /* Release */, + 249021D4217E4FDB00AE95B9 /* Profile */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 97C146E61CF9000F007C117D /* Project object */; +} diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..919434a62 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..f9b0d7c5e --- /dev/null +++ b/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme new file mode 100644 index 000000000..15cada483 --- /dev/null +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcworkspace/contents.xcworkspacedata new file mode 100644 index 000000000..1d526a16e --- /dev/null +++ b/ios/Runner.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 000000000..18d981003 --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 000000000..f9b0d7c5e --- /dev/null +++ b/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ios/Runner/AppDelegate.swift b/ios/Runner/AppDelegate.swift new file mode 100644 index 000000000..626664468 --- /dev/null +++ b/ios/Runner/AppDelegate.swift @@ -0,0 +1,13 @@ +import Flutter +import UIKit + +@main +@objc class AppDelegate: FlutterAppDelegate { + override func application( + _ application: UIApplication, + didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? + ) -> Bool { + GeneratedPluginRegistrant.register(with: self) + return super.application(application, didFinishLaunchingWithOptions: launchOptions) + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000..d36b1fab2 --- /dev/null +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,122 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "Icon-App-20x20@3x.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "Icon-App-29x29@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "Icon-App-40x40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@2x.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "Icon-App-60x60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@1x.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "Icon-App-20x20@2x.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@1x.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "Icon-App-29x29@2x.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@1x.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "Icon-App-40x40@2x.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@1x.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "Icon-App-76x76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "Icon-App-83.5x83.5@2x.png", + "scale" : "2x" + }, + { + "size" : "1024x1024", + "idiom" : "ios-marketing", + "filename" : "Icon-App-1024x1024@1x.png", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9ada4725e9b0ddb1deab583e5b5102493aa332 GIT binary patch literal 10932 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..797d452e458972bab9d994556c8305db4c827017 GIT binary patch literal 406 zcmV;H0crk;P))>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2d933e1120817fe9182483a228007b18ab6ae GIT binary patch literal 450 zcmV;z0X_bSP)iGWQ_5NJQ_~rNh*z)}eT%KUb z`7gNk0#AwF^#0T0?hIa^`~Ck;!}#m+_uT050aTR(J!bU#|IzRL%^UsMS#KsYnTF*!YeDOytlP4VhV?b} z%rz_<=#CPc)tU1MZTq~*2=8~iZ!lSa<{9b@2Jl;?IEV8)=fG217*|@)CCYgFze-x? zIFODUIA>nWKpE+bn~n7;-89sa>#DR>TSlqWk*!2hSN6D~Qb#VqbP~4Fk&m`@1$JGr zXPIdeRE&b2Thd#{MtDK$px*d3-Wx``>!oimf%|A-&-q*6KAH)e$3|6JV%HX{Hig)k suLT-RhftRq8b9;(V=235Wa|I=027H2wCDra;{X5v07*qoM6N<$f;9x^2LJ#7 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd7b0099ca80c806f8fe495613e8d6c69460d76 GIT binary patch literal 282 zcmV+#0p(^bcu7P-R4C8Q z&e;xxFbF_Vrezo%_kH*OKhshZ6BFpG-Y1e10`QXJKbND7AMQ&cMj60B5TNObaZxYybcN07*qoM6N<$g3m;S%K!iX literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fe730945a01f64a61e2235dbe3f45b08f7729182 GIT binary patch literal 462 zcmV;<0WtoGP)-}iV`2<;=$?g5M=KQbZ{F&YRNy7Nn@%_*5{gvDM0aKI4?ESmw z{NnZg)A0R`+4?NF_RZexyVB&^^ZvN!{I28tr{Vje;QNTz`dG&Jz0~Ek&f2;*Z7>B|cg}xYpxEFY+0YrKLF;^Q+-HreN0P{&i zK~zY`?b7ECf-n?@;d<&orQ*Q7KoR%4|C>{W^h6@&01>0SKS`dn{Q}GT%Qj_{PLZ_& zs`MFI#j-(>?bvdZ!8^xTwlY{qA)T4QLbY@j(!YJ7aXJervHy6HaG_2SB`6CC{He}f zHVw(fJWApwPq!6VY7r1w-Fs)@ox~N+q|w~e;JI~C4Vf^@d>Wvj=fl`^u9x9wd9 zR%3*Q+)t%S!MU_`id^@&Y{y7-r98lZX0?YrHlfmwb?#}^1b{8g&KzmkE(L>Z&)179 zp<)v6Y}pRl100G2FL_t(o!|l{-Q-VMg#&MKg7c{O0 z2wJImOS3Gy*Z2Qifdv~JYOp;v+U)a|nLoc7hNH;I$;lzDt$}rkaFw1mYK5_0Q(Sut zvbEloxON7$+HSOgC9Z8ltuC&0OSF!-mXv5caV>#bc3@hBPX@I$58-z}(ZZE!t-aOG zpjNkbau@>yEzH(5Yj4kZiMH32XI!4~gVXNnjAvRx;Sdg^`>2DpUEwoMhTs_st8pKG z(%SHyHdU&v%f36~uERh!bd`!T2dw;z6PrOTQ7Vt*#9F2uHlUVnb#ev_o^fh}Dzmq} zWtlk35}k=?xj28uO|5>>$yXadTUE@@IPpgH`gJ~Ro4>jd1IF|(+IX>8M4Ps{PNvmI zNj4D+XgN83gPt_Gm}`Ybv{;+&yu-C(Grdiahmo~BjG-l&mWM+{e5M1sm&=xduwgM9 z`8OEh`=F3r`^E{n_;%9weN{cf2%7=VzC@cYj+lg>+3|D|_1C@{hcU(DyQG_BvBWe? zvTv``=%b1zrol#=R`JB)>cdjpWt&rLJgVp-t?DREyuq1A%0Z4)6_WsQ7{nzjN zo!X zGXV)2i3kcZIL~_j>uIKPK_zib+3T+Nt3Mb&Br)s)UIaA}@p{wDda>7=Q|mGRp7pqY zkJ!7E{MNz$9nOwoVqpFb)}$IP24Wn2JJ=Cw(!`OXJBr45rP>>AQr$6c7slJWvbpNW z@KTwna6d?PP>hvXCcp=4F;=GR@R4E7{4VU^0p4F>v^#A|>07*qoM6N<$f*5nx ACIA2c literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..502f463a9bc882b461c96aadf492d1729e49e725 GIT binary patch literal 586 zcmV-Q0=4~#P)+}#`wDE{8-2Mebf5<{{PqV{TgVcv*r8?UZ3{-|G?_}T*&y;@cqf{ z{Q*~+qr%%p!1pS*_Uicl#q9lc(D`!D`LN62sNwq{oYw(Wmhk)k<@f$!$@ng~_5)Ru z0Z)trIA5^j{DIW^c+vT2%lW+2<(RtE2wR;4O@)Tm`Xr*?A(qYoM}7i5Yxw>D(&6ou zxz!_Xr~yNF+waPe00049Nkl*;a!v6h%{rlvIH#gW3s8p;bFr=l}mRqpW2h zw=OA%hdyL~z+UHOzl0eKhEr$YYOL-c-%Y<)=j?(bzDweB7{b+%_ypvm_cG{SvM=DK zhv{K@m>#Bw>2W$eUI#iU)Wdgs8Y3U+A$Gd&{+j)d)BmGKx+43U_!tik_YlN)>$7G! zhkE!s;%oku3;IwG3U^2kw?z+HM)jB{@zFhK8P#KMSytSthr+4!c(5c%+^UBn`0X*2 zy3(k600_CSZj?O$Qu%&$;|TGUJrptR(HzyIx>5E(2r{eA(<6t3e3I0B)7d6s7?Z5J zZ!rtKvA{MiEBm&KFtoifx>5P^Z=vl)95XJn()aS5%ad(s?4-=Tkis9IGu{`Fy8r+H07*qoM6N<$f20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0ec303439225b78712f49115768196d8d76f6790 GIT binary patch literal 862 zcmV-k1EKthP)20Z)wqMt%V?S?~D#06};F zA3KcL`Wb+>5ObvgQIG&ig8(;V04hz?@cqy3{mSh8o!|U|)cI!1_+!fWH@o*8vh^CU z^ws0;(c$gI+2~q^tO#GDHf@=;DncUw00J^eL_t(&-tE|HQ`%4vfZ;WsBqu-$0nu1R zq^Vj;p$clf^?twn|KHO+IGt^q#a3X?w9dXC@*yxhv&l}F322(8Y1&=P&I}~G@#h6; z1CV9ecD9ZEe87{{NtI*)_aJ<`kJa z?5=RBtFF50s;jQLFil-`)m2wrb=6h(&brpj%nG_U&ut~$?8Rokzxi8zJoWr#2dto5 zOX_URcc<1`Iky+jc;A%Vzx}1QU{2$|cKPom2Vf1{8m`vja4{F>HS?^Nc^rp}xo+Nh zxd}eOm`fm3@MQC1< zIk&aCjb~Yh%5+Yq0`)D;q{#-Uqlv*o+Oor zE!I71Z@ASH3grl8&P^L0WpavHoP|UX4e?!igT`4?AZk$hu*@%6WJ;zDOGlw7kj@ zY5!B-0ft0f?Lgb>C;$Ke07*qoM6N<$f~t1N9smFU literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e9f5fea27c705180eb716271f41b582e76dcbd90 GIT binary patch literal 1674 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 literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0467bf12aa4d28f374bb26596605a46dcbb3e7c8 GIT binary patch literal 1418 zcmV;51$Fv~P)q zKfU)WzW*n(@|xWGCA9ScMt*e9`2kdxPQ&&>|-UCa7_51w+ zLUsW@ZzZSW0y$)Hp~e9%PvP|a03ks1`~K?q{u;6NC8*{AOqIUq{CL&;p56Lf$oQGq z^={4hPQv)y=I|4n+?>7Fim=dxt1 z2H+Dm+1+fh+IF>G0SjJMkQQre1x4|G*Z==(Ot&kCnUrL4I(rf(ucITwmuHf^hXiJT zkdTm&kdTm&kdTm&kdP`esgWG0BcWCVkVZ&2dUwN`cgM8QJb`Z7Z~e<&Yj2(}>Tmf` zm1{eLgw!b{bXkjWbF%dTkTZEJWyWOb##Lfw4EK2}<0d6%>AGS{po>WCOy&f$Tay_> z?NBlkpo@s-O;0V%Y_Xa-G#_O08q5LR*~F%&)}{}r&L%Sbs8AS4t7Y0NEx*{soY=0MZExqA5XHQkqi#4gW3 zqODM^iyZl;dvf)-bOXtOru(s)Uc7~BFx{w-FK;2{`VA?(g&@3z&bfLFyctOH!cVsF z7IL=fo-qBndRUm;kAdXR4e6>k-z|21AaN%ubeVrHl*<|s&Ax@W-t?LR(P-24A5=>a z*R9#QvjzF8n%@1Nw@?CG@6(%>+-0ASK~jEmCV|&a*7-GKT72W<(TbSjf)&Eme6nGE z>Gkj4Sq&2e+-G%|+NM8OOm5zVl9{Z8Dd8A5z3y8mZ=4Bv4%>as_{9cN#bm~;h>62( zdqY93Zy}v&c4n($Vv!UybR8ocs7#zbfX1IY-*w~)p}XyZ-SFC~4w>BvMVr`dFbelV{lLL0bx7@*ZZdebr3`sP;? zVImji)kG)(6Juv0lz@q`F!k1FE;CQ(D0iG$wchPbKZQELlsZ#~rt8#90Y_Xh&3U-< z{s<&cCV_1`^TD^ia9!*mQDq& zn2{r`j};V|uV%_wsP!zB?m%;FeaRe+X47K0e+KE!8C{gAWF8)lCd1u1%~|M!XNRvw zvtqy3iz0WSpWdhn6$hP8PaRBmp)q`#PCA`Vd#Tc$@f1tAcM>f_I@bC)hkI9|o(Iqv zo}Piadq!j76}004RBio<`)70k^`K1NK)q>w?p^C6J2ZC!+UppiK6&y3Kmbv&O!oYF z34$0Z;QO!JOY#!`qyGH<3Pd}Pt@q*A0V=3SVtWKRR8d8Z&@)3qLPA19LPA19LPEUC YUoZo%k(ykuW&i*H07*qoM6N<$f+CH{y8r+H literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json new file mode 100644 index 000000000..0bedcf2fd --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "LaunchImage.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "LaunchImage@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9da19eacad3b03bb08bbddbbf4ac48dd78b3d838 GIT binary patch literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v literal 0 HcmV?d00001 diff --git a/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md new file mode 100644 index 000000000..89c2725b7 --- /dev/null +++ b/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md @@ -0,0 +1,5 @@ +# Launch Screen Assets + +You can customize the launch screen with your own desired assets by replacing the image files in this directory. + +You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/ios/Runner/Base.lproj/LaunchScreen.storyboard b/ios/Runner/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 000000000..f2e259c7c --- /dev/null +++ b/ios/Runner/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Base.lproj/Main.storyboard b/ios/Runner/Base.lproj/Main.storyboard new file mode 100644 index 000000000..f3c28516f --- /dev/null +++ b/ios/Runner/Base.lproj/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist new file mode 100644 index 000000000..83e3c0f1a --- /dev/null +++ b/ios/Runner/Info.plist @@ -0,0 +1,49 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleDisplayName + SwiftControl + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + swift_play + CFBundlePackageType + APPL + CFBundleShortVersionString + $(FLUTTER_BUILD_NAME) + CFBundleSignature + ???? + CFBundleVersion + $(FLUTTER_BUILD_NUMBER) + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + CADisableMinimumFrameDurationOnPhone + + UIApplicationSupportsIndirectInputEvents + + + diff --git a/ios/Runner/Runner-Bridging-Header.h b/ios/Runner/Runner-Bridging-Header.h new file mode 100644 index 000000000..308a2a560 --- /dev/null +++ b/ios/Runner/Runner-Bridging-Header.h @@ -0,0 +1 @@ +#import "GeneratedPluginRegistrant.h" diff --git a/ios/RunnerTests/RunnerTests.swift b/ios/RunnerTests/RunnerTests.swift new file mode 100644 index 000000000..86a7c3b1b --- /dev/null +++ b/ios/RunnerTests/RunnerTests.swift @@ -0,0 +1,12 @@ +import Flutter +import UIKit +import XCTest + +class RunnerTests: XCTestCase { + + func testExample() { + // If you add code to the Runner application, consider adding tests here. + // See https://developer.apple.com/documentation/xctest for more information about using XCTest. + } + +} From d9297bd40e816081b87f6d61f50191ab2dd763c0 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 29 Sep 2025 10:14:19 +0200 Subject: [PATCH 198/636] make connection work on iOS --- ios/Flutter/AppFrameworkInfo.plist | 2 +- ios/Podfile | 2 +- ios/Runner.xcodeproj/project.pbxproj | 136 +++++++++++++++++- .../xcshareddata/xcschemes/Runner.xcscheme | 2 + .../contents.xcworkspacedata | 3 + ios/Runner/Info.plist | 2 + lib/bluetooth/ble.dart | 1 + lib/bluetooth/connection.dart | 3 + lib/bluetooth/devices/base_device.dart | 13 +- lib/bluetooth/devices/zwift_clickv2.dart | 5 + .../messages/click_notification.dart | 3 +- lib/bluetooth/messages/play_notification.dart | 3 +- lib/main.dart | 2 +- lib/utils/actions/android.dart | 3 +- lib/utils/requirements/platform.dart | 2 +- 15 files changed, 167 insertions(+), 15 deletions(-) diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index 7c5696400..1dc6cf765 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 12.0 + 13.0 diff --git a/ios/Podfile b/ios/Podfile index e549ee22f..620e46eba 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -# platform :ios, '12.0' +# platform :ios, '13.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index c53ad03c7..e0c039ac0 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -10,10 +10,12 @@ 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 3E50CA021EFA25CF89FE46AB /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C0E42A04700D6B661C7EE82 /* Pods_RunnerTests.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; + 9DEFD285994D09CFCE400F36 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5CE7ADD07A99710C0FB974A8 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -40,14 +42,20 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + 0CF32F9ECDBEA4B014717FF8 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; + 2C0E42A04700D6B661C7EE82 /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; + 5CE7ADD07A99710C0FB974A8 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; + 7D133E5D5548E2EF2879734F /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 86D436F6DAF367742EF27F51 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 8AA6D129479129F106E2298A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -55,19 +63,44 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + DFFDC4B9C4D6EF6A3BDE2E73 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; + EFDECED99A47773C293F8819 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 5046C8DCA17DB268ED17F005 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 3E50CA021EFA25CF89FE46AB /* Pods_RunnerTests.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 97C146EB1CF9000F007C117D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 9DEFD285994D09CFCE400F36 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 31E2F9ED567016937E8AEA3B /* Pods */ = { + isa = PBXGroup; + children = ( + 86D436F6DAF367742EF27F51 /* Pods-Runner.debug.xcconfig */, + 0CF32F9ECDBEA4B014717FF8 /* Pods-Runner.release.xcconfig */, + 7D133E5D5548E2EF2879734F /* Pods-Runner.profile.xcconfig */, + DFFDC4B9C4D6EF6A3BDE2E73 /* Pods-RunnerTests.debug.xcconfig */, + 8AA6D129479129F106E2298A /* Pods-RunnerTests.release.xcconfig */, + EFDECED99A47773C293F8819 /* Pods-RunnerTests.profile.xcconfig */, + ); + name = Pods; + path = Pods; + sourceTree = ""; + }; 331C8082294A63A400263BE5 /* RunnerTests */ = { isa = PBXGroup; children = ( @@ -76,6 +109,15 @@ path = RunnerTests; sourceTree = ""; }; + 6A38311855DC1CB8C0E2FD04 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 5CE7ADD07A99710C0FB974A8 /* Pods_Runner.framework */, + 2C0E42A04700D6B661C7EE82 /* Pods_RunnerTests.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; 9740EEB11CF90186004384FC /* Flutter */ = { isa = PBXGroup; children = ( @@ -94,6 +136,8 @@ 97C146F01CF9000F007C117D /* Runner */, 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, + 31E2F9ED567016937E8AEA3B /* Pods */, + 6A38311855DC1CB8C0E2FD04 /* Frameworks */, ); sourceTree = ""; }; @@ -128,8 +172,10 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( + 5E1D2B1ED00966C758CA2289 /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, + 5046C8DCA17DB268ED17F005 /* Frameworks */, ); buildRules = ( ); @@ -145,12 +191,15 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( + AF2FDC69578083D4D16AB4D6 /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, + EEF1FBDEE98BA93C4FBDB3AE /* [CP] Embed Pods Frameworks */, + 1F0C44A79AE73641A1C3FF47 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -222,6 +271,23 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + 1F0C44A79AE73641A1C3FF47 /* [CP] Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Copy Pods Resources"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -238,6 +304,28 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; + 5E1D2B1ED00966C758CA2289 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; 9740EEB61CF901F6004384FC /* Run Script */ = { isa = PBXShellScriptBuildPhase; alwaysOutOfDate = 1; @@ -253,6 +341,45 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; + AF2FDC69578083D4D16AB4D6 /* [CP] Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + showEnvVarsInLog = 0; + }; + EEF1FBDEE98BA93C4FBDB3AE /* [CP] Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", + ); + name = "[CP] Embed Pods Frameworks"; + outputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -346,7 +473,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -379,6 +506,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = DFFDC4B9C4D6EF6A3BDE2E73 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -396,6 +524,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 8AA6D129479129F106E2298A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -411,6 +540,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; + baseConfigurationReference = EFDECED99A47773C293F8819 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -473,7 +603,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -524,7 +654,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 15cada483..e3773d42e 100644 --- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -26,6 +26,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit" shouldUseLaunchSchemeArgsEnv = "YES"> + + diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 83e3c0f1a..69ec01ccf 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -45,5 +45,7 @@ UIApplicationSupportsIndirectInputEvents + NSBluetoothAlwaysUsageDescription + SwiftControl diff --git a/lib/bluetooth/ble.dart b/lib/bluetooth/ble.dart index c37e96f5f..1c4644816 100644 --- a/lib/bluetooth/ble.dart +++ b/lib/bluetooth/ble.dart @@ -37,6 +37,7 @@ class Constants { static final REQUEST_START = Uint8List.fromList([0, 9]); //byteArrayOf(1, 2) static final RESPONSE_START_CLICK = Uint8List.fromList([1, 3]); // from device static final RESPONSE_START_PLAY = Uint8List.fromList([1, 4]); // from device + static final RESPONSE_START_CLICK_V2 = Uint8List.fromList([0x02, 0x03]); // from device // Message types received from device static const CONTROLLER_NOTIFICATION_MESSAGE_TYPE = 07; diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart index e2fc357a0..e591d192a 100644 --- a/lib/bluetooth/connection.dart +++ b/lib/bluetooth/connection.dart @@ -88,6 +88,9 @@ class Connection { } void _addDevices(List dev) { + if (dev.firstOrNull?.device.deviceId == "F4:86:62:2F:FD:82") { + return; + } final newDevices = dev.where((device) => !devices.contains(device)).toList(); devices.addAll(newDevices); diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 67c38cc34..5881fe16b 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -101,7 +101,7 @@ abstract class BaseDevice { await UniversalBle.connect(device.deviceId); if (!kIsWeb && Platform.isAndroid) { - //await UniversalBle.requestMtu(device.deviceId, 256); + await UniversalBle.requestMtu(device.deviceId, 517); } final services = await UniversalBle.discoverServices(device.deviceId); @@ -148,6 +148,8 @@ abstract class BaseDevice { } await UniversalBle.subscribeNotifications(device.deviceId, customService.uuid, asyncCharacteristic.uuid); + final read = await UniversalBle.read(device.deviceId, customService.uuid, syncTxCharacteristic.uuid); + print("Initial read from syncTxCharacteristic: ${read.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); await UniversalBle.subscribeIndications(device.deviceId, customService.uuid, syncTxCharacteristic.uuid); await _setupHandshake(); @@ -178,9 +180,10 @@ abstract class BaseDevice { } void processCharacteristic(String characteristic, Uint8List bytes) { - if (kDebugMode && false) { - print('Received $characteristic: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}'); - print('Received $characteristic: ${String.fromCharCodes(bytes)}'); + if (kDebugMode) { + print( + 'Received $characteristic: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')} => ${String.fromCharCodes(bytes)} ', + ); } if (bytes.isEmpty) { @@ -208,10 +211,10 @@ abstract class BaseDevice { void _processDevicePublicKeyResponse(Uint8List bytes) { final devicePublicKeyBytes = bytes.sublist(Constants.RIDE_ON.length + Constants.RESPONSE_START_CLICK.length); - zapEncryption.initialise(devicePublicKeyBytes); if (kDebugMode) { print("Device Public Key - ${devicePublicKeyBytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); } + zapEncryption.initialise(devicePublicKeyBytes); } void _processData(Uint8List bytes) { diff --git a/lib/bluetooth/devices/zwift_clickv2.dart b/lib/bluetooth/devices/zwift_clickv2.dart index 3e30426c6..868c80b00 100644 --- a/lib/bluetooth/devices/zwift_clickv2.dart +++ b/lib/bluetooth/devices/zwift_clickv2.dart @@ -1,8 +1,13 @@ import 'package:swift_control/bluetooth/devices/zwift_ride.dart'; +import '../ble.dart'; + class ZwiftClickV2 extends ZwiftRide { ZwiftClickV2(super.scanResult); @override bool get supportsEncryption => false; + + @override + List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_CLICK_V2; } diff --git a/lib/bluetooth/messages/click_notification.dart b/lib/bluetooth/messages/click_notification.dart index 6f381c3d2..ee529b285 100644 --- a/lib/bluetooth/messages/click_notification.dart +++ b/lib/bluetooth/messages/click_notification.dart @@ -2,6 +2,7 @@ import 'dart:typed_data'; import 'package:dartx/dartx.dart'; import 'package:swift_control/utils/keymap/buttons.dart'; +import 'package:swift_control/widgets/keymap_explanation.dart'; import '../protocol/zwift.pb.dart'; import 'notification.dart'; @@ -19,7 +20,7 @@ class ClickNotification extends BaseNotification { @override String toString() { - return 'Buttons: ${buttonsClicked.joinToString(transform: (e) => e.name)}'; + return 'Buttons: ${buttonsClicked.joinToString(transform: (e) => e.name.splitByUpperCase())}'; } @override diff --git a/lib/bluetooth/messages/play_notification.dart b/lib/bluetooth/messages/play_notification.dart index 4ccf75f37..fb66b34b2 100644 --- a/lib/bluetooth/messages/play_notification.dart +++ b/lib/bluetooth/messages/play_notification.dart @@ -4,6 +4,7 @@ import 'package:dartx/dartx.dart'; import 'package:swift_control/bluetooth/messages/notification.dart'; import 'package:swift_control/bluetooth/protocol/zwift.pb.dart'; import 'package:swift_control/utils/keymap/buttons.dart'; +import 'package:swift_control/widgets/keymap_explanation.dart'; class PlayNotification extends BaseNotification { late List buttonsClicked; @@ -35,7 +36,7 @@ class PlayNotification extends BaseNotification { @override String toString() { - return 'Buttons: ${buttonsClicked.joinToString(transform: (e) => e.name)}'; + return 'Buttons: ${buttonsClicked.joinToString(transform: (e) => e.name.splitByUpperCase())}'; } @override diff --git a/lib/main.dart b/lib/main.dart index db8b07fec..13036887d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -24,7 +24,7 @@ void main() async { WidgetsFlutterBinding.ensureInitialized(); if (kIsWeb) { actionHandler = StubActions(); - } else if (Platform.isAndroid) { + } else if (Platform.isAndroid || Platform.isIOS) { actionHandler = AndroidActions(); } else { actionHandler = DesktopActions(); diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart index c063bd218..45a4b6b81 100644 --- a/lib/utils/actions/android.dart +++ b/lib/utils/actions/android.dart @@ -4,6 +4,7 @@ import 'package:swift_control/main.dart'; import 'package:swift_control/utils/actions/base_actions.dart'; import 'package:swift_control/utils/keymap/apps/custom_app.dart'; import 'package:swift_control/utils/keymap/buttons.dart'; +import 'package:swift_control/widgets/keymap_explanation.dart'; import '../keymap/apps/supported_app.dart'; import '../single_line_exception.dart'; @@ -24,7 +25,7 @@ class AndroidActions extends BaseActions { @override Future performAction(ZwiftButton button, {bool isKeyDown = true, bool isKeyUp = false}) async { if (supportedApp == null) { - return ("Could not perform ${button.name}: No keymap set"); + return ("Could not perform ${button.name.splitByUpperCase()}: No keymap set"); } if (supportedApp is CustomApp) { diff --git a/lib/utils/requirements/platform.dart b/lib/utils/requirements/platform.dart index a23e73efb..bd3d784a6 100644 --- a/lib/utils/requirements/platform.dart +++ b/lib/utils/requirements/platform.dart @@ -25,7 +25,7 @@ Future> getRequirements() async { List list; if (kIsWeb) { list = [BluetoothTurnedOn(), BluetoothScanning()]; - } else if (Platform.isMacOS) { + } else if (Platform.isMacOS || Platform.isIOS) { list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()]; } else if (Platform.isWindows) { list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()]; From d1fed35c3e16f45ad694b4dd15522b63027c9c2d Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 29 Sep 2025 12:56:04 +0200 Subject: [PATCH 199/636] some experiments for Click V2 --- analysis_options.yaml | 2 + ios/Podfile.lock | 66 +++++++++++++++++++++ lib/bluetooth/ble.dart | 33 +++++++++++ lib/bluetooth/connection.dart | 3 - lib/bluetooth/devices/base_device.dart | 79 ++++++++++++++++++++++++-- 5 files changed, 175 insertions(+), 8 deletions(-) create mode 100644 ios/Podfile.lock diff --git a/analysis_options.yaml b/analysis_options.yaml index 0d2902135..fcbf8251c 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -26,3 +26,5 @@ linter: # Additional information about this file can be found at # https://dart.dev/guides/language/analysis-options +formatter: + page_width: 120 diff --git a/ios/Podfile.lock b/ios/Podfile.lock new file mode 100644 index 000000000..f05dfc00a --- /dev/null +++ b/ios/Podfile.lock @@ -0,0 +1,66 @@ +PODS: + - device_info_plus (0.0.1): + - Flutter + - Flutter (1.0.0) + - flutter_local_notifications (0.0.1): + - Flutter + - image_picker_ios (0.0.1): + - Flutter + - package_info_plus (0.4.5): + - Flutter + - permission_handler_apple (9.3.0): + - Flutter + - shared_preferences_foundation (0.0.1): + - Flutter + - FlutterMacOS + - universal_ble (0.0.1): + - Flutter + - FlutterMacOS + - url_launcher_ios (0.0.1): + - Flutter + +DEPENDENCIES: + - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) + - Flutter (from `Flutter`) + - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) + - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) + - package_info_plus (from `.symlinks/plugins/package_info_plus/ios`) + - permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`) + - shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`) + - universal_ble (from `.symlinks/plugins/universal_ble/darwin`) + - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) + +EXTERNAL SOURCES: + device_info_plus: + :path: ".symlinks/plugins/device_info_plus/ios" + Flutter: + :path: Flutter + flutter_local_notifications: + :path: ".symlinks/plugins/flutter_local_notifications/ios" + image_picker_ios: + :path: ".symlinks/plugins/image_picker_ios/ios" + package_info_plus: + :path: ".symlinks/plugins/package_info_plus/ios" + permission_handler_apple: + :path: ".symlinks/plugins/permission_handler_apple/ios" + shared_preferences_foundation: + :path: ".symlinks/plugins/shared_preferences_foundation/darwin" + universal_ble: + :path: ".symlinks/plugins/universal_ble/darwin" + url_launcher_ios: + :path: ".symlinks/plugins/url_launcher_ios/ios" + +SPEC CHECKSUMS: + device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342 + Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 + flutter_local_notifications: ff50f8405aaa0ccdc7dcfb9022ca192e8ad9688f + image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 + package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4 + permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 + shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 + universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6 + url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe + +PODFILE CHECKSUM: 3c63482e143d1b91d2d2560aee9fb04ecc74ac7e + +COCOAPODS: 1.16.2 diff --git a/lib/bluetooth/ble.dart b/lib/bluetooth/ble.dart index 1c4644816..0d71d2d2d 100644 --- a/lib/bluetooth/ble.dart +++ b/lib/bluetooth/ble.dart @@ -38,11 +38,44 @@ class Constants { static final RESPONSE_START_CLICK = Uint8List.fromList([1, 3]); // from device static final RESPONSE_START_PLAY = Uint8List.fromList([1, 4]); // from device static final RESPONSE_START_CLICK_V2 = Uint8List.fromList([0x02, 0x03]); // from device + static final RESPONSE_STOPPED_CLICK_V2 = Uint8List.fromList([ + 0xff, + 0x05, + 0x00, + 0xea, + 0x05, + 0x19, + 0x0a, + 0x0c, + 0x35, + 0x38, + 0x44, + 0x31, + 0x35, + 0x41, + 0x42, + 0x42, + 0x34, + 0x33, + 0x36, + 0x33, + 0x10, + 0x01, + 0x18, + 0x84, + 0x07, + 0x20, + 0x08, + 0x28, + 0x09, + 0x30, + ]); // from device // Message types received from device static const CONTROLLER_NOTIFICATION_MESSAGE_TYPE = 07; static const EMPTY_MESSAGE_TYPE = 21; static const BATTERY_LEVEL_TYPE = 25; + static const UNKNOWN_CLICKV2_TYPE = 0x3C; // not figured out the protobuf type this really is, the content is just two varints. static const int CLICK_NOTIFICATION_MESSAGE_TYPE = 55; diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart index e591d192a..e2fc357a0 100644 --- a/lib/bluetooth/connection.dart +++ b/lib/bluetooth/connection.dart @@ -88,9 +88,6 @@ class Connection { } void _addDevices(List dev) { - if (dev.firstOrNull?.device.deviceId == "F4:86:62:2F:FD:82") { - return; - } final newDevices = dev.where((device) => !devices.contains(device)).toList(); devices.addAll(newDevices); diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 5881fe16b..8797fd0f8 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -28,6 +28,7 @@ abstract class BaseDevice { final zapEncryption = ZapCrypto(LocalKeyProvider()); bool isConnected = false; + bool _isInited = false; int? batteryLevel; String? firmwareVersion; @@ -148,8 +149,6 @@ abstract class BaseDevice { } await UniversalBle.subscribeNotifications(device.deviceId, customService.uuid, asyncCharacteristic.uuid); - final read = await UniversalBle.read(device.deviceId, customService.uuid, syncTxCharacteristic.uuid); - print("Initial read from syncTxCharacteristic: ${read.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); await UniversalBle.subscribeIndications(device.deviceId, customService.uuid, syncTxCharacteristic.uuid); await _setupHandshake(); @@ -179,10 +178,10 @@ abstract class BaseDevice { } } - void processCharacteristic(String characteristic, Uint8List bytes) { + Future processCharacteristic(String characteristic, Uint8List bytes) async { if (kDebugMode) { print( - 'Received $characteristic: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')} => ${String.fromCharCodes(bytes)} ', + '${DateTime.now().toString().split(" ").last} Received $characteristic: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')} => ${String.fromCharCodes(bytes)} ', ); } @@ -195,6 +194,23 @@ abstract class BaseDevice { _processDevicePublicKeyResponse(bytes); } else if (bytes.startsWith(Constants.RIDE_ON)) { //print("Empty RideOn response - unencrypted mode"); + if (this is ZwiftClickV2) { + // TODO figure out if this is the key to make V2 work + await UniversalBle.write( + device.deviceId, + customServiceId, + syncRxCharacteristic!.uuid, + Uint8List.fromList([0x00, 0x08, 0x00]), + withoutResponse: true, + ); + await UniversalBle.write( + device.deviceId, + customServiceId, + syncRxCharacteristic!.uuid, + Uint8List.fromList([0x41, 0x05, 0x05]), + withoutResponse: true, + ); + } } else if (!supportsEncryption || (bytes.length > Int32List.bytesPerElement + EncryptionUtils.MAC_LENGTH)) { _processData(bytes); } @@ -217,7 +233,7 @@ abstract class BaseDevice { zapEncryption.initialise(devicePublicKeyBytes); } - void _processData(Uint8List bytes) { + Future _processData(Uint8List bytes) async { int type; Uint8List message; @@ -242,7 +258,59 @@ abstract class BaseDevice { message = bytes.sublist(1); } + if (bytes.startsWith(Constants.RESPONSE_STOPPED_CLICK_V2)) { + print('no more events'); + //connect(); + } + switch (type) { + case Constants.UNKNOWN_CLICKV2_TYPE: + if (!_isInited) { + _isInited = true; + final commands = [ + [0x00, 0x08, 0x80, 0x08], + [0x00, 0x08, 0x83, 0x06], + [ + 0xFF, + 0x04, + 0x00, + 0x0A, + 0x15, + 0x40, + 0xE9, + 0xD9, + 0xC9, + 0x6B, + 0x74, + 0x63, + 0xC2, + 0x7F, + 0x1B, + 0x4E, + 0x4D, + 0x9F, + 0x1C, + 0xB1, + 0x20, + 0x5D, + 0x88, + 0x2E, + 0xD7, + 0xCE, + ], + ]; + for (final command in commands) { + await UniversalBle.write( + device.deviceId, + customServiceId, + syncRxCharacteristic!.uuid, + Uint8List.fromList(command), + withoutResponse: true, + ); + await Future.delayed(const Duration(milliseconds: 50)); + } + } + break; case Constants.EMPTY_MESSAGE_TYPE: //print("Empty Message"); // expected when nothing happening break; @@ -339,6 +407,7 @@ abstract class BaseDevice { } Future disconnect() async { + _isInited = false; _longPressTimer?.cancel(); _previouslyPressedButtons.clear(); // Release any held keys in long press mode From 6d87e853533f8a8ca8e6e3e124670230199af1c8 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 29 Sep 2025 12:57:11 +0200 Subject: [PATCH 200/636] web only pipeline --- .github/workflows/web.yml | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/web.yml diff --git a/.github/workflows/web.yml b/.github/workflows/web.yml new file mode 100644 index 000000000..a88f0c2ed --- /dev/null +++ b/.github/workflows/web.yml @@ -0,0 +1,49 @@ +name: "Build" + +on: + push: + branches: + - web + paths: + - '.github/workflows/**' + - 'lib/**' + - 'accessibility/**' + - 'keypress_simulator/**' + - 'pubspec.yaml' + +jobs: + build: + name: Build & Release + runs-on: macos-latest + + permissions: + id-token: write + pages: write + contents: write + + steps: + #1 Checkout Repository + - name: Checkout Repository + uses: actions/checkout@v3 + + #3 Setup Flutter + - name: Set Up Flutter + uses: subosito/flutter-action@v2 + with: + channel: 'stable' + + #4 Install Dependencies + - name: Install Dependencies + run: flutter pub get + + - name: Build Web + run: flutter build web --release --base-href "/swiftcontrol/" + + - name: Upload static files as artifact + id: deployment + uses: actions/upload-pages-artifact@v3 + with: + path: build/web + + - name: Web Deploy + uses: actions/deploy-pages@v4 From e858d3561734f98e8c7c6d3d9150a60cac916341 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 29 Sep 2025 13:07:11 +0200 Subject: [PATCH 201/636] web fixes --- lib/bluetooth/devices/base_device.dart | 22 +++++++++++++++------- lib/widgets/title.dart | 2 +- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 8797fd0f8..3b02b26e3 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -43,13 +43,21 @@ abstract class BaseDevice { static BaseDevice? fromScanResult(BleDevice scanResult) { // Use the name first as the "System Devices" and Web (android sometimes Windows) don't have manufacturer data - final device = switch (scanResult.name) { - //'Zwift Ride' => ZwiftRide(scanResult), special case for Zwift Ride: we must only connect to the left controller - // https://www.makinolo.com/blog/2024/07/26/zwift-ride-protocol/ - 'Zwift Play' => ZwiftPlay(scanResult), - //'Zwift Click' => ZwiftClick(scanResult), special case for Zwift Click v2: we must only connect to the left controller - _ => null, - }; + final device = + kIsWeb + ? switch (scanResult.name) { + 'Zwift Ride' => ZwiftRide(scanResult), + 'Zwift Play' => ZwiftPlay(scanResult), + 'Zwift Click' => ZwiftClickV2(scanResult), + _ => null, + } + : switch (scanResult.name) { + //'Zwift Ride' => ZwiftRide(scanResult), special case for Zwift Ride: we must only connect to the left controller + // https://www.makinolo.com/blog/2024/07/26/zwift-ride-protocol/ + 'Zwift Play' => ZwiftPlay(scanResult), + //'Zwift Click' => ZwiftClick(scanResult), special case for Zwift Click v2: we must only connect to the left controller + _ => null, + }; if (device != null) { return device; diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart index 3b746b44a..9843e481c 100644 --- a/lib/widgets/title.dart +++ b/lib/widgets/title.dart @@ -67,7 +67,7 @@ class _AppTitleState extends State { } void _checkForUpdate() async { - if (Platform.isAndroid) { + if (!kIsWeb && Platform.isAndroid) { try { final appUpdateInfo = await InAppUpdate.checkForUpdate(); if (context.mounted && appUpdateInfo.updateAvailability == UpdateAvailability.updateAvailable) { From 536225bf12d15095081518e202ec586fdb0c1664 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 29 Sep 2025 15:25:09 +0000 Subject: [PATCH 202/636] Initial plan From 65a3374d9c99ab1bde3e0b6f5d5fbb4c2f7996a7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 29 Sep 2025 15:29:32 +0000 Subject: [PATCH 203/636] Force landscape orientation during keymap editing Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- lib/pages/touch_area.dart | 13 +++++++++ test/orientation_test.dart | 58 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 test/orientation_test.dart diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart index ba9d9442d..420151779 100644 --- a/lib/pages/touch_area.dart +++ b/lib/pages/touch_area.dart @@ -53,6 +53,13 @@ class _TouchAreaSetupPageState extends State { _actionSubscription.cancel(); // Exit full screen SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual, overlays: SystemUiOverlay.values); + // Reset orientation preferences to allow all orientations + SystemChrome.setPreferredOrientations([ + DeviceOrientation.portraitUp, + DeviceOrientation.portraitDown, + DeviceOrientation.landscapeLeft, + DeviceOrientation.landscapeRight, + ]); if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) { windowManager.setFullScreen(false); } @@ -62,6 +69,12 @@ class _TouchAreaSetupPageState extends State { void initState() { super.initState(); + // Force landscape orientation during keymap editing + SystemChrome.setPreferredOrientations([ + DeviceOrientation.landscapeLeft, + DeviceOrientation.landscapeRight, + ]); + SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky, overlays: []); if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) { windowManager.setFullScreen(true); diff --git a/test/orientation_test.dart b/test/orientation_test.dart new file mode 100644 index 000000000..c9258fe26 --- /dev/null +++ b/test/orientation_test.dart @@ -0,0 +1,58 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:swift_control/pages/touch_area.dart'; + +void main() { + group('TouchAreaSetupPage Orientation Tests', () { + testWidgets('TouchAreaSetupPage should force landscape orientation on init', (WidgetTester tester) async { + // Track system chrome method calls + final List systemChromeCalls = []; + + // Mock SystemChrome.setPreferredOrientations + TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger + .setMockMethodCallHandler(SystemChannels.platform, (MethodCall methodCall) async { + systemChromeCalls.add(methodCall); + return null; + }); + + // Build the TouchAreaSetupPage + await tester.pumpWidget( + const MaterialApp( + home: TouchAreaSetupPage(), + ), + ); + + // Verify that setPreferredOrientations was called with landscape orientations + final orientationCalls = systemChromeCalls + .where((call) => call.method == 'SystemChrome.setPreferredOrientations') + .toList(); + + expect(orientationCalls, isNotEmpty); + + // Check if landscape orientations were set + final lastOrientationCall = orientationCalls.last; + final orientations = lastOrientationCall.arguments as List; + + expect(orientations, contains('DeviceOrientation.landscapeLeft')); + expect(orientations, contains('DeviceOrientation.landscapeRight')); + expect(orientations, hasLength(2)); // Only landscape orientations + }); + + test('DeviceOrientation enum values are accessible', () { + // Test that we can access the DeviceOrientation enum values + final orientations = [ + DeviceOrientation.landscapeLeft, + DeviceOrientation.landscapeRight, + DeviceOrientation.portraitUp, + DeviceOrientation.portraitDown, + ]; + + expect(orientations, hasLength(4)); + expect(orientations, contains(DeviceOrientation.landscapeLeft)); + expect(orientations, contains(DeviceOrientation.landscapeRight)); + expect(orientations, contains(DeviceOrientation.portraitUp)); + expect(orientations, contains(DeviceOrientation.portraitDown)); + }); + }); +} \ No newline at end of file From 0118c5a87c024e600a1256cce09e61e236bd8231 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 29 Sep 2025 15:31:50 +0000 Subject: [PATCH 204/636] Update keymap editing instructions to clarify landscape orientation Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- lib/pages/touch_area.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart index 420151779..a0255c6a6 100644 --- a/lib/pages/touch_area.dart +++ b/lib/pages/touch_area.dart @@ -275,12 +275,12 @@ class _TouchAreaSetupPageState extends State { mainAxisSize: MainAxisSize.min, spacing: 8, children: [ - Text('''1. Create an in-game screenshot of your app (e.g. within MyWhoosh) + Text('''1. Create an in-game screenshot of your app (e.g. within MyWhoosh) in landscape orientation 2. Load the screenshot with the button below -3. Make sure the app is in the correct orientation (portrait or landscape) +3. The app is automatically set to landscape orientation for accurate mapping 4. Press a button on your Zwift device to create a touch area 5. Drag the touch areas to the desired position on the screenshot -5. Save and close this screen'''), +6. Save and close this screen'''), ElevatedButton( onPressed: () { _pickScreenshot(); From d698c9bbea81c1782bc8403f91616f51501b771f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:35:36 +0000 Subject: [PATCH 205/636] Initial plan From 08700edc2203e18574ae402753e81739ca86a549 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:41:46 +0000 Subject: [PATCH 206/636] Implement changelog integration features Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- lib/pages/changelog.dart | 98 +++++++++++++++++++++++++++++++ lib/pages/device.dart | 6 +- lib/pages/requirements.dart | 20 +++++++ lib/utils/changelog.dart | 79 +++++++++++++++++++++++++ lib/utils/settings/settings.dart | 14 ++++- lib/widgets/changelog_dialog.dart | 77 ++++++++++++++++++++++++ lib/widgets/menu.dart | 7 +++ pubspec.yaml | 2 + scripts/README.md | 12 ++++ scripts/get_latest_changelog.sh | 16 +++++ test/changelog_test.dart | 69 ++++++++++++++++++++++ 11 files changed, 394 insertions(+), 6 deletions(-) create mode 100644 lib/pages/changelog.dart create mode 100644 lib/utils/changelog.dart create mode 100644 lib/widgets/changelog_dialog.dart create mode 100644 scripts/README.md create mode 100755 scripts/get_latest_changelog.sh create mode 100644 test/changelog_test.dart diff --git a/lib/pages/changelog.dart b/lib/pages/changelog.dart new file mode 100644 index 000000000..c296d06de --- /dev/null +++ b/lib/pages/changelog.dart @@ -0,0 +1,98 @@ +import 'package:flutter/material.dart'; +import 'package:swift_control/utils/changelog.dart'; + +class ChangelogPage extends StatefulWidget { + const ChangelogPage({super.key}); + + @override + State createState() => _ChangelogPageState(); +} + +class _ChangelogPageState extends State { + List? _entries; + String? _error; + + @override + void initState() { + super.initState(); + _loadChangelog(); + } + + Future _loadChangelog() async { + try { + final entries = await ChangelogParser.parse(); + setState(() { + _entries = entries; + }); + } catch (e) { + setState(() { + _error = 'Failed to load changelog: $e'; + }); + } + } + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: AppBar( + title: Text('Changelog'), + backgroundColor: Theme.of(context).colorScheme.inversePrimary, + ), + body: _error != null + ? Center(child: Text(_error!)) + : _entries == null + ? Center(child: CircularProgressIndicator()) + : ListView.builder( + padding: EdgeInsets.all(16), + itemCount: _entries!.length, + itemBuilder: (context, index) { + final entry = _entries![index]; + return Card( + margin: EdgeInsets.only(bottom: 16), + child: Padding( + padding: EdgeInsets.all(16), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + 'Version ${entry.version}', + style: Theme.of(context).textTheme.titleLarge?.copyWith( + fontWeight: FontWeight.bold, + ), + ), + Text( + entry.date, + style: Theme.of(context).textTheme.bodySmall, + ), + ], + ), + SizedBox(height: 12), + ...entry.changes.map( + (change) => Padding( + padding: EdgeInsets.only(bottom: 4), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('• ', style: TextStyle(fontSize: 16)), + Expanded( + child: Text( + change, + style: Theme.of(context).textTheme.bodyMedium, + ), + ), + ], + ), + ), + ), + ], + ), + ), + ); + }, + ), + ); + } +} diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 8242aaee6..2a4a9c77d 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -104,7 +104,7 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' } controller.text = app.name ?? ''; actionHandler.supportedApp = app; - settings.setApp(app); + await settings.setApp(app); setState(() {}); if (app is! CustomApp && !kIsWeb && (Platform.isMacOS || Platform.isWindows)) { _snackBarMessengerKey.currentState!.showSnackBar( @@ -147,14 +147,14 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' }); actionHandler.supportedApp = customApp; - settings.setApp(customApp); + await settings.setApp(customApp); } final result = await Navigator.of( context, ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage())); if (result == true && actionHandler.supportedApp is CustomApp) { - settings.setApp(actionHandler.supportedApp!); + await settings.setApp(actionHandler.supportedApp!); } setState(() {}); }, diff --git a/lib/pages/requirements.dart b/lib/pages/requirements.dart index a1843e5ad..6aba6292b 100644 --- a/lib/pages/requirements.dart +++ b/lib/pages/requirements.dart @@ -3,8 +3,10 @@ import 'dart:io'; import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:package_info_plus/package_info_plus.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/utils/requirements/platform.dart'; +import 'package:swift_control/widgets/changelog_dialog.dart'; import 'package:swift_control/widgets/menu.dart'; import 'package:swift_control/widgets/title.dart'; @@ -30,6 +32,7 @@ class _RequirementsPageState extends State with WidgetsBinding // call after first frame WidgetsBinding.instance.addPostFrameCallback((_) { settings.init().then((_) { + _checkAndShowChangelog(); if (!kIsWeb && Platform.isMacOS) { // add more delay due to CBManagerStateUnknown Future.delayed(const Duration(seconds: 2), () { @@ -48,6 +51,23 @@ class _RequirementsPageState extends State with WidgetsBinding }); } + Future _checkAndShowChangelog() async { + try { + final packageInfo = await PackageInfo.fromPlatform(); + final currentVersion = packageInfo.version; + final lastSeenVersion = settings.getLastSeenVersion(); + + if (mounted) { + await ChangelogDialog.showIfNeeded(context, currentVersion, lastSeenVersion); + } + + // Update last seen version + await settings.setLastSeenVersion(currentVersion); + } catch (e) { + print('Failed to check changelog: $e'); + } + } + @override dispose() { WidgetsBinding.instance.removeObserver(this); diff --git a/lib/utils/changelog.dart b/lib/utils/changelog.dart new file mode 100644 index 000000000..4dfd2d8b9 --- /dev/null +++ b/lib/utils/changelog.dart @@ -0,0 +1,79 @@ +import 'package:flutter/services.dart'; + +class ChangelogEntry { + final String version; + final String date; + final List changes; + + ChangelogEntry({ + required this.version, + required this.date, + required this.changes, + }); + + @override + String toString() { + return '### $version ($date)\n${changes.map((c) => '- $c').join('\n')}'; + } +} + +class ChangelogParser { + static Future> parse() async { + final content = await rootBundle.loadString('CHANGELOG.md'); + return parseContent(content); + } + + static List parseContent(String content) { + final entries = []; + final lines = content.split('\n'); + + ChangelogEntry? currentEntry; + + for (var line in lines) { + // Check if this is a version header (e.g., "### 2.6.0 (2025-09-28)") + if (line.startsWith('### ')) { + // Save previous entry if exists + if (currentEntry != null) { + entries.add(currentEntry); + } + + // Parse new entry + final header = line.substring(4).trim(); + final match = RegExp(r'^(\S+)\s+\(([^)]+)\)').firstMatch(header); + if (match != null) { + currentEntry = ChangelogEntry( + version: match.group(1)!, + date: match.group(2)!, + changes: [], + ); + } + } else if (line.startsWith('- ') && currentEntry != null) { + // Add change to current entry + currentEntry.changes.add(line.substring(2).trim()); + } else if (line.startsWith(' - ') && currentEntry != null) { + // Sub-bullet point + currentEntry.changes.add(line.substring(4).trim()); + } + } + + // Add the last entry + if (currentEntry != null) { + entries.add(currentEntry); + } + + return entries; + } + + static Future getLatestEntry() async { + final entries = await parse(); + return entries.isNotEmpty ? entries.first : null; + } + + static Future getLatestEntryForPlayStore() async { + final entry = await getLatestEntry(); + if (entry == null) return null; + + // Format for Play Store: just the changes, no version header + return entry.changes.join('\n'); + } +} diff --git a/lib/utils/settings/settings.dart b/lib/utils/settings/settings.dart index 46e42a7a3..21d8d5575 100644 --- a/lib/utils/settings/settings.dart +++ b/lib/utils/settings/settings.dart @@ -37,10 +37,18 @@ class Settings { actionHandler.init(null); } - void setApp(SupportedApp app) { + Future setApp(SupportedApp app) async { if (app is CustomApp) { - _prefs.setStringList("customapp", app.encodeKeymap()); + await _prefs.setStringList("customapp", app.encodeKeymap()); } - _prefs.setString('app', app.name); + await _prefs.setString('app', app.name); + } + + String? getLastSeenVersion() { + return _prefs.getString('last_seen_version'); + } + + Future setLastSeenVersion(String version) async { + await _prefs.setString('last_seen_version', version); } } diff --git a/lib/widgets/changelog_dialog.dart b/lib/widgets/changelog_dialog.dart new file mode 100644 index 000000000..a382e5316 --- /dev/null +++ b/lib/widgets/changelog_dialog.dart @@ -0,0 +1,77 @@ +import 'package:flutter/material.dart'; +import 'package:swift_control/utils/changelog.dart'; + +class ChangelogDialog extends StatelessWidget { + final ChangelogEntry entry; + + const ChangelogDialog({ + super.key, + required this.entry, + }); + + @override + Widget build(BuildContext context) { + return AlertDialog( + title: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: [ + Text('What\'s New'), + SizedBox(height: 4), + Text( + 'Version ${entry.version}', + style: Theme.of(context).textTheme.titleMedium?.copyWith( + fontWeight: FontWeight.normal, + ), + ), + ], + ), + content: SingleChildScrollView( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisSize: MainAxisSize.min, + children: entry.changes.map( + (change) => Padding( + padding: EdgeInsets.only(bottom: 8), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('• ', style: TextStyle(fontSize: 16)), + Expanded( + child: Text( + change, + style: Theme.of(context).textTheme.bodyMedium, + ), + ), + ], + ), + ), + ).toList(), + ), + ), + actions: [ + TextButton( + onPressed: () => Navigator.of(context).pop(), + child: Text('Got it!'), + ), + ], + ); + } + + static Future showIfNeeded(BuildContext context, String currentVersion, String? lastSeenVersion) async { + // Show dialog if this is a new version + if (lastSeenVersion != null && lastSeenVersion != currentVersion) { + try { + final entry = await ChangelogParser.getLatestEntry(); + if (entry != null && context.mounted) { + showDialog( + context: context, + builder: (context) => ChangelogDialog(entry: entry), + ); + } + } catch (e) { + print('Failed to load changelog for dialog: $e'); + } + } + } +} diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart index d157d6eb5..b24a59e8b 100644 --- a/lib/widgets/menu.dart +++ b/lib/widgets/menu.dart @@ -8,6 +8,7 @@ import 'package:swift_control/utils/keymap/buttons.dart'; import 'package:swift_control/widgets/title.dart'; import 'package:url_launcher/url_launcher_string.dart'; +import '../pages/changelog.dart'; import '../pages/device.dart'; List buildMenuButtons() { @@ -91,6 +92,12 @@ class MenuButton extends StatelessWidget { ), PopupMenuItem(child: PopupMenuDivider()), ], + PopupMenuItem( + child: Text('Changelog'), + onTap: () { + Navigator.push(context, MaterialPageRoute(builder: (c) => ChangelogPage())); + }, + ), PopupMenuItem( child: Text('Feedback'), onTap: () { diff --git a/pubspec.yaml b/pubspec.yaml index ff5e9d0b5..54fb1da60 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -40,3 +40,5 @@ dev_dependencies: flutter: uses-material-design: true + assets: + - CHANGELOG.md diff --git a/scripts/README.md b/scripts/README.md new file mode 100644 index 000000000..b27e7fed7 --- /dev/null +++ b/scripts/README.md @@ -0,0 +1,12 @@ +# Scripts + +## get_latest_changelog.sh + +Extracts the latest changelog entry from `CHANGELOG.md` for use in Play Store release notes. + +**Usage:** +```bash +./scripts/get_latest_changelog.sh +``` + +This will output the latest changelog entry formatted with bullet points, ready to be copied to the Play Store. diff --git a/scripts/get_latest_changelog.sh b/scripts/get_latest_changelog.sh new file mode 100755 index 000000000..cf8d08a1c --- /dev/null +++ b/scripts/get_latest_changelog.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# Script to extract the latest changelog entry for Play Store uploads +# Usage: ./scripts/get_latest_changelog.sh + +# Get the directory where this script is located +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +PROJECT_ROOT="$(dirname "$SCRIPT_DIR")" +CHANGELOG_FILE="$PROJECT_ROOT/CHANGELOG.md" + +if [ ! -f "$CHANGELOG_FILE" ]; then + echo "Error: CHANGELOG.md not found at $CHANGELOG_FILE" + exit 1 +fi + +# Extract the first changelog entry (between first ### and second ###) +awk '/^### / {if (count++) exit} count' "$CHANGELOG_FILE" | tail -n +2 | sed 's/^- /• /' diff --git a/test/changelog_test.dart b/test/changelog_test.dart new file mode 100644 index 000000000..7f009157f --- /dev/null +++ b/test/changelog_test.dart @@ -0,0 +1,69 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:swift_control/utils/changelog.dart'; + +void main() { + group('ChangelogParser', () { + test('parses changelog entries correctly', () { + const testContent = ''' +### 2.6.0 (2025-09-28) +- Fix crashes on some Android devices +- refactor touch placements: show touches on screen +- show firmware version of connected device + +### 2.5.0 (2025-09-25) +- Improve usability +- SwiftControl is now available via the Play Store + - SwiftControl will continue to be available to download for free on GitHub +'''; + + final entries = ChangelogParser.parseContent(testContent); + + expect(entries.length, 2); + + expect(entries[0].version, '2.6.0'); + expect(entries[0].date, '2025-09-28'); + expect(entries[0].changes.length, 3); + expect(entries[0].changes[0], 'Fix crashes on some Android devices'); + + expect(entries[1].version, '2.5.0'); + expect(entries[1].date, '2025-09-25'); + expect(entries[1].changes.length, 3); + expect(entries[1].changes[0], 'Improve usability'); + expect(entries[1].changes[1], 'SwiftControl is now available via the Play Store'); + expect(entries[1].changes[2], 'SwiftControl will continue to be available to download for free on GitHub'); + }); + + test('handles empty content', () { + const testContent = ''; + final entries = ChangelogParser.parseContent(testContent); + expect(entries.length, 0); + }); + + test('handles single entry', () { + const testContent = ''' +### 1.0.0 (2025-01-01) +- Initial release +'''; + + final entries = ChangelogParser.parseContent(testContent); + + expect(entries.length, 1); + expect(entries[0].version, '1.0.0'); + expect(entries[0].changes.length, 1); + expect(entries[0].changes[0], 'Initial release'); + }); + + test('ChangelogEntry toString formats correctly', () { + final entry = ChangelogEntry( + version: '1.0.0', + date: '2025-01-01', + changes: ['Change 1', 'Change 2'], + ); + + final result = entry.toString(); + expect(result, contains('### 1.0.0 (2025-01-01)')); + expect(result, contains('- Change 1')); + expect(result, contains('- Change 2')); + }); + }); +} From f0b3bc70b262e3f4a6555ba515a8cbb0345b7197 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 08:42:27 +0200 Subject: [PATCH 207/636] Android: stop foreground service when disconnecting, update dependencies --- lib/bluetooth/connection.dart | 13 ++- lib/utils/actions/desktop.dart | 3 +- lib/widgets/title.dart | 2 +- macos/Podfile.lock | 4 +- pubspec.lock | 162 ++++++++++++++++----------------- pubspec.yaml | 12 +-- 6 files changed, 102 insertions(+), 94 deletions(-) diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart index e2fc357a0..78175066b 100644 --- a/lib/bluetooth/connection.dart +++ b/lib/bluetooth/connection.dart @@ -3,6 +3,9 @@ import 'dart:io'; import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; +import 'package:flutter_local_notifications/flutter_local_notifications.dart'; +import 'package:swift_control/main.dart'; +import 'package:swift_control/utils/actions/android.dart'; import 'package:swift_control/utils/requirements/android.dart'; import 'package:universal_ble/universal_ble.dart'; @@ -12,7 +15,7 @@ import 'messages/notification.dart'; class Connection { final devices = []; - var androidNotificationsSetup = false; + var _androidNotificationsSetup = false; final _connectionQueue = []; var _handlingConnectionQueue = false; @@ -95,8 +98,8 @@ class Connection { _handleConnectionQueue(); hasDevices.value = devices.isNotEmpty; - if (devices.isNotEmpty && !androidNotificationsSetup && !kIsWeb && Platform.isAndroid) { - androidNotificationsSetup = true; + if (devices.isNotEmpty && !_androidNotificationsSetup && !kIsWeb && Platform.isAndroid) { + _androidNotificationsSetup = true; NotificationRequirement.setup().catchError((e) { _actionStreams.add(LogNotification(e.toString())); }); @@ -165,6 +168,10 @@ class Connection { void reset() { _actionStreams.add(LogNotification('Disconnecting all devices')); + if (actionHandler is AndroidActions) { + AndroidFlutterLocalNotificationsPlugin().stopForegroundService(); + _androidNotificationsSetup = false; + } UniversalBle.stopScan(); isScanning.value = false; for (var device in devices) { diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart index ae275f3a9..cf2a02b32 100644 --- a/lib/utils/actions/desktop.dart +++ b/lib/utils/actions/desktop.dart @@ -1,6 +1,7 @@ import 'package:keypress_simulator/keypress_simulator.dart'; import 'package:swift_control/utils/actions/base_actions.dart'; import 'package:swift_control/utils/keymap/buttons.dart'; +import 'package:swift_control/widgets/keymap_explanation.dart'; class DesktopActions extends BaseActions { // Track keys that are currently held down in long press mode @@ -14,7 +15,7 @@ class DesktopActions extends BaseActions { final keyPair = supportedApp!.keymap.getKeyPair(action); if (keyPair == null) { - return ('Keymap entry not found for action: $action'); + return ('Keymap entry not found for action: ${action.toString().splitByUpperCase()}'); } // Handle long press mode diff --git a/lib/widgets/title.dart b/lib/widgets/title.dart index 9843e481c..b1330bb13 100644 --- a/lib/widgets/title.dart +++ b/lib/widgets/title.dart @@ -117,7 +117,7 @@ class _AppTitleState extends State { Text('SwiftControl'), if (_packageInfoValue != null) Text( - 'v${_packageInfoValue!.version}+${_packageInfoValue!.buildNumber}', + 'v${_packageInfoValue!.version}', style: TextStyle(fontFamily: "monospace", fontFamilyFallback: ["Courier"], fontSize: 12), ) else diff --git a/macos/Podfile.lock b/macos/Podfile.lock index d11418664..74fa3bd77 100644 --- a/macos/Podfile.lock +++ b/macos/Podfile.lock @@ -20,7 +20,7 @@ PODS: - FlutterMacOS - url_launcher_macos (0.0.1): - FlutterMacOS - - window_manager (0.2.0): + - window_manager (0.5.0): - FlutterMacOS DEPENDENCIES: @@ -71,7 +71,7 @@ SPEC CHECKSUMS: shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78 universal_ble: cf52a7b3fd2e7c14d6d7262e9fdadb72ab6b88a6 url_launcher_macos: c82c93949963e55b228a30115bd219499a6fe404 - window_manager: 3a1844359a6295ab1e47659b1a777e36773cd6e8 + window_manager: e25faf20d88283a0d46e7b1a759d07261ca27575 PODFILE CHECKSUM: 54d867c82ac51cbd61b565781b9fada492027009 diff --git a/pubspec.lock b/pubspec.lock index 8c29efba7..e6e016b6a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -12,10 +12,10 @@ packages: dependency: transitive description: name: archive - sha256: "7dcbd0f87fe5f61cb28da39a1a8b70dbc106e2fe0516f7836eb7bb2948481a12" + sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd" url: "https://pub.dev" source: hosted - version: "4.0.5" + version: "4.0.7" args: dependency: transitive description: @@ -60,10 +60,10 @@ packages: dependency: transitive description: name: checked_yaml - sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f" url: "https://pub.dev" source: hosted - version: "2.0.3" + version: "2.0.4" cli_util: dependency: transitive description: @@ -132,18 +132,18 @@ packages: dependency: "direct main" description: name: device_info_plus - sha256: "306b78788d1bb569edb7c55d622953c2414ca12445b41c9117963e03afc5c513" + sha256: "49413c8ca514dea7633e8def233b25efdf83ec8522955cc2c0e3ad802927e7c6" url: "https://pub.dev" source: hosted - version: "11.3.3" + version: "12.1.0" device_info_plus_platform_interface: dependency: transitive description: name: device_info_plus_platform_interface - sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2" + sha256: e1ea89119e34903dca74b883d0dd78eb762814f97fb6c76f35e9ff74d261a18f url: "https://pub.dev" source: hosted - version: "7.0.2" + version: "7.0.3" fake_async: dependency: transitive description: @@ -180,10 +180,10 @@ packages: dependency: transitive description: name: file_selector_macos - sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc" + sha256: "19124ff4a3d8864fdc62072b6a2ef6c222d55a3404fe14893a3c02744907b60c" url: "https://pub.dev" source: hosted - version: "0.9.4+2" + version: "0.9.4+4" file_selector_platform_interface: dependency: transitive description: @@ -233,26 +233,26 @@ packages: dependency: "direct dev" description: name: flutter_launcher_icons - sha256: bfa04787c85d80ecb3f8777bde5fc10c3de809240c48fa061a2c2bf15ea5211c + sha256: "10f13781741a2e3972126fae08393d3c4e01fa4cd7473326b94b72cf594195e7" url: "https://pub.dev" source: hosted - version: "0.14.3" + version: "0.14.4" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" + sha256: "3105dc8492f6183fb076ccf1f351ac3d60564bff92e20bfc4af9cc1651f4e7e1" url: "https://pub.dev" source: hosted - version: "5.0.0" + version: "6.0.0" flutter_local_notifications: dependency: "direct main" description: name: flutter_local_notifications - sha256: a9966c850de5e445331b854fa42df96a8020066d67f125a5964cbc6556643f68 + sha256: "7ed76be64e8a7d01dfdf250b8434618e2a028c9dfa2a3c41dc9b531d4b3fc8a5" url: "https://pub.dev" source: hosted - version: "19.4.1" + version: "19.4.2" flutter_local_notifications_linux: dependency: transitive description: @@ -273,18 +273,18 @@ packages: dependency: transitive description: name: flutter_local_notifications_windows - sha256: ed46d7ae4ec9d19e4c8fa2badac5fe27ba87a3fe387343ce726f927af074ec98 + sha256: "8d658f0d367c48bd420e7cf2d26655e2d1130147bca1eea917e576ca76668aaf" url: "https://pub.dev" source: hosted - version: "1.0.2" + version: "1.0.3" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3" + sha256: b0694b7fb1689b0e6cc193b3f1fcac6423c4f93c74fb20b806c6b6f196db0c31 url: "https://pub.dev" source: hosted - version: "2.0.27" + version: "2.0.30" flutter_test: dependency: "direct dev" description: flutter @@ -307,10 +307,10 @@ packages: dependency: "direct main" description: name: http - sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f + sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.5.0" http_parser: dependency: transitive description: @@ -331,66 +331,66 @@ packages: dependency: "direct main" description: name: image_picker - sha256: "021834d9c0c3de46bf0fe40341fa07168407f694d9b2bb18d532dc1261867f7a" + sha256: "736eb56a911cf24d1859315ad09ddec0b66104bc41a7f8c5b96b4e2620cf5041" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.2.0" image_picker_android: dependency: transitive description: name: image_picker_android - sha256: "8bd392ba8b0c8957a157ae0dc9fcf48c58e6c20908d5880aea1d79734df090e9" + sha256: "8dfe08ea7fcf7467dbaf6889e72eebd5e0d6711caae201fdac780eb45232cd02" url: "https://pub.dev" source: hosted - version: "0.8.12+22" + version: "0.8.13+3" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83" + sha256: "40c2a6a0da15556dc0f8e38a3246064a971a9f512386c3339b89f76db87269b6" url: "https://pub.dev" source: hosted - version: "3.0.6" + version: "3.1.0" image_picker_ios: dependency: transitive description: name: image_picker_ios - sha256: "05da758e67bc7839e886b3959848aa6b44ff123ab4b28f67891008afe8ef9100" + sha256: eb06fe30bab4c4497bad449b66448f50edcc695f1c59408e78aa3a8059eb8f0e url: "https://pub.dev" source: hosted - version: "0.8.12+2" + version: "0.8.13" image_picker_linux: dependency: transitive description: name: image_picker_linux - sha256: "34a65f6740df08bbbeb0a1abd8e6d32107941fd4868f67a507b25601651022c9" + sha256: "1f81c5f2046b9ab724f85523e4af65be1d47b038160a8c8deed909762c308ed4" url: "https://pub.dev" source: hosted - version: "0.2.1+2" + version: "0.2.2" image_picker_macos: dependency: transitive description: name: image_picker_macos - sha256: "1b90ebbd9dcf98fb6c1d01427e49a55bd96b5d67b8c67cf955d60a5de74207c1" + sha256: d58cd9d67793d52beefd6585b12050af0a7663c0c2a6ece0fb110a35d6955e04 url: "https://pub.dev" source: hosted - version: "0.2.1+2" + version: "0.2.2" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface - sha256: "886d57f0be73c4b140004e78b9f28a8914a09e50c2d816bdd0520051a71236a0" + sha256: "9f143b0dba3e459553209e20cc425c9801af48e6dfa4f01a0fcf927be3f41665" url: "https://pub.dev" source: hosted - version: "2.10.1" + version: "2.11.0" image_picker_windows: dependency: transitive description: name: image_picker_windows - sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" + sha256: d248c86554a72b5495a31c56f060cf73a41c7ff541689327b1a7dbccc33adfae url: "https://pub.dev" source: hosted - version: "0.2.1+1" + version: "0.2.2" in_app_update: dependency: "direct main" description: @@ -447,10 +447,10 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "8dcda04c3fc16c14f48a7bb586d4be1f0d1572731b6d81d51772ef47c02081e0" + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" url: "https://pub.dev" source: hosted - version: "11.0.1" + version: "11.0.2" leak_tracker_flutter_testing: dependency: transitive description: @@ -471,10 +471,10 @@ packages: dependency: transitive description: name: lints - sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 + sha256: a5e2b223cb7c9c8efdc663ef484fdd95bb243bff242ef5b13e26883547fce9a0 url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "6.0.0" logging: dependency: transitive description: @@ -519,18 +519,18 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191" + sha256: f69da0d3189a4b4ceaeb1a3defb0f329b3b352517f52bed4290f83d4f06bc08d url: "https://pub.dev" source: hosted - version: "8.3.0" + version: "9.0.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c" + sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.2.1" path: dependency: transitive description: @@ -567,26 +567,26 @@ packages: dependency: "direct main" description: name: permission_handler - sha256: "59adad729136f01ea9e35a48f5d1395e25cba6cea552249ddbe9cf950f5d7849" + sha256: bc917da36261b00137bbc8896bf1482169cd76f866282368948f032c8c1caae1 url: "https://pub.dev" source: hosted - version: "11.4.0" + version: "12.0.1" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: d3971dcdd76182a0c198c096b5db2f0884b0d4196723d21a866fc4cdea057ebc + sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6" url: "https://pub.dev" source: hosted - version: "12.1.0" + version: "13.0.1" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98 + sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023 url: "https://pub.dev" source: hosted - version: "9.4.6" + version: "9.4.7" permission_handler_html: dependency: transitive description: @@ -615,10 +615,10 @@ packages: dependency: transitive description: name: petitparser - sha256: "07c8f0b1913bcde1ff0d26e57ace2f3012ccbf2b204e070290dad3bb22797646" + sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1" url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "7.0.1" platform: dependency: transitive description: @@ -647,18 +647,18 @@ packages: dependency: transitive description: name: posix - sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + sha256: "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61" url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.0.3" protobuf: dependency: "direct main" description: name: protobuf - sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d" + sha256: de9c9eb2c33f8e933a42932fe1dc504800ca45ebc3d673e6ed7f39754ee4053e url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "4.2.0" screen_retriever: dependency: transitive description: @@ -711,10 +711,10 @@ packages: dependency: transitive description: name: shared_preferences_android - sha256: "3ec7210872c4ba945e3244982918e502fa2bfb5230dff6832459ca0e1879b7ad" + sha256: bd14436108211b0d4ee5038689a56d4ae3620fd72fd6036e113bf1345bc74d9e url: "https://pub.dev" source: hosted - version: "2.4.8" + version: "2.4.13" shared_preferences_foundation: dependency: transitive description: @@ -820,10 +820,10 @@ packages: dependency: transitive description: name: timezone - sha256: ffc9d5f4d1193534ef051f9254063fa53d588609418c84299956c3db9383587d + sha256: dd14a3b83cfd7cb19e7888f1cbc20f258b8d71b54c06f79ac585f14093a287d1 url: "https://pub.dev" source: hosted - version: "0.10.0" + version: "0.10.1" typed_data: dependency: transitive description: @@ -852,26 +852,26 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" + sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8 url: "https://pub.dev" source: hosted - version: "6.3.1" + version: "6.3.2" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4" + sha256: "199bc33e746088546a39cc5f36bac5a278c5e53b40cb3196f99e7345fdcfae6b" url: "https://pub.dev" source: hosted - version: "6.3.15" + version: "6.3.22" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626" + sha256: d80b3f567a617cb923546034cc94bfe44eb15f989fe670b37f26abdb9d939cb7 url: "https://pub.dev" source: hosted - version: "6.3.2" + version: "6.3.4" url_launcher_linux: dependency: transitive description: @@ -884,10 +884,10 @@ packages: dependency: transitive description: name: url_launcher_macos - sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" + sha256: c043a77d6600ac9c38300567f33ef12b0ef4f4783a2c1f00231d2b1941fea13f url: "https://pub.dev" source: hosted - version: "3.2.2" + version: "3.2.3" url_launcher_platform_interface: dependency: transitive description: @@ -900,10 +900,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9" + sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.1" url_launcher_windows: dependency: transitive description: @@ -924,10 +924,10 @@ packages: dependency: transitive description: name: vm_service - sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02 + sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" url: "https://pub.dev" source: hosted - version: "15.0.0" + version: "15.0.2" web: dependency: transitive description: @@ -940,10 +940,10 @@ packages: dependency: transitive description: name: win32 - sha256: dc6ecaa00a7c708e5b4d10ee7bec8c270e9276dfcab1783f57e9962d7884305f + sha256: "66814138c3562338d05613a6e368ed8cfb237ad6d64a9e9334be3f309acfca03" url: "https://pub.dev" source: hosted - version: "5.12.0" + version: "5.14.0" win32_registry: dependency: transitive description: @@ -956,10 +956,10 @@ packages: dependency: "direct main" description: name: window_manager - sha256: "732896e1416297c63c9e3fb95aea72d0355f61390263982a47fd519169dc5059" + sha256: "7eb6d6c4164ec08e1bf978d6e733f3cebe792e2a23fb07cbca25c2872bfdbdcd" url: "https://pub.dev" source: hosted - version: "0.4.3" + version: "0.5.1" xdg_directories: dependency: transitive description: @@ -972,10 +972,10 @@ packages: dependency: transitive description: name: xml - sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025" url: "https://pub.dev" source: hosted - version: "6.5.0" + version: "6.6.1" yaml: dependency: transitive description: @@ -985,5 +985,5 @@ packages: source: hosted version: "3.1.3" sdks: - dart: ">=3.8.0-0 <4.0.0" + dart: ">=3.9.0 <4.0.0" flutter: ">=3.35.0" diff --git a/pubspec.yaml b/pubspec.yaml index ff5e9d0b5..52b002d72 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,18 +14,18 @@ dependencies: flutter_local_notifications: ^19.4.1 universal_ble: ^0.21.1 intl: any - protobuf: ^3.1.0 - permission_handler: ^11.4.0 + protobuf: ^4.2.0 + permission_handler: ^12.0.1 dartx: any image_picker: ^1.1.2 pointycastle: any - window_manager: ^0.4.3 - device_info_plus: ^11.3.3 + window_manager: ^0.5.1 + device_info_plus: ^12.1.0 keypress_simulator: path: keypress_simulator/packages/keypress_simulator shared_preferences: ^2.5.3 flex_color_scheme: ^8.3.0 - package_info_plus: ^8.3.0 + package_info_plus: ^9.0.0 in_app_update: ^4.2.5 accessibility: path: accessibility @@ -36,7 +36,7 @@ dev_dependencies: sdk: flutter flutter_launcher_icons: "^0.14.3" - flutter_lints: ^5.0.0 + flutter_lints: ^6.0.0 flutter: uses-material-design: true From b49eda7fc7d2119603d8e4482ce335547a656016 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:44:18 +0000 Subject: [PATCH 208/636] Add comprehensive documentation for changelog integration Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- CHANGELOG_INTEGRATION.md | 137 ++++++++++++++++++++++++++++++++++ CHANGELOG_VISUAL_GUIDE.md | 151 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 288 insertions(+) create mode 100644 CHANGELOG_INTEGRATION.md create mode 100644 CHANGELOG_VISUAL_GUIDE.md diff --git a/CHANGELOG_INTEGRATION.md b/CHANGELOG_INTEGRATION.md new file mode 100644 index 000000000..d8aa42e7b --- /dev/null +++ b/CHANGELOG_INTEGRATION.md @@ -0,0 +1,137 @@ +# Changelog Integration - Implementation Summary + +This document describes the changelog integration feature that was implemented. + +## Overview + +The changelog integration adds three main features: +1. A "Changelog" screen that displays the full changelog history +2. Automatic display of a changelog dialog when the app is opened with a new version for the first time +3. A script to extract the latest changelog entry for Play Store uploads + +## Components Created + +### 1. Changelog Parser (`lib/utils/changelog.dart`) +- Parses `CHANGELOG.md` file to extract version entries +- Each entry contains: version number, date, and list of changes +- Supports parsing of main bullet points and sub-bullet points +- Provides methods to: + - `parse()`: Load and parse the entire changelog + - `getLatestEntry()`: Get just the latest version entry + - `getLatestEntryForPlayStore()`: Format latest entry for Play Store uploads + +### 2. Changelog Page (`lib/pages/changelog.dart`) +- Full-screen page displaying all changelog entries in a scrollable list +- Each entry is displayed in a card with: + - Version number and date in the header + - List of changes as bullet points +- Accessible from the menu + +### 3. Changelog Dialog (`lib/widgets/changelog_dialog.dart`) +- Shows a "What's New" dialog with the latest changelog entry +- Automatically displayed when: + - The app is opened for the first time after an update + - The stored version differs from the current version +- Uses `SharedPreferences` to track the last seen version + +### 4. Version Tracking (updated `lib/utils/settings/settings.dart`) +- Added `getLastSeenVersion()`: Retrieve the last version the user saw +- Added `setLastSeenVersion(version)`: Update the stored version +- Modified `setApp()` to be async (properly awaited in all call sites) + +### 5. Menu Integration (updated `lib/widgets/menu.dart`) +- Added "Changelog" menu item to the popup menu +- Opens the changelog page when clicked + +### 6. Auto-display Logic (updated `lib/pages/requirements.dart`) +- Added `_checkAndShowChangelog()` method +- Called on app initialization to check for version changes +- Shows changelog dialog if version has changed +- Updates stored version after display + +### 7. Play Store Script (`scripts/get_latest_changelog.sh`) +- Bash script to extract latest changelog entry +- Formats output with bullet points suitable for Play Store +- Usage: `./scripts/get_latest_changelog.sh` + +### 8. Tests (`test/changelog_test.dart`) +- Unit tests for the changelog parser +- Tests parsing of various changelog formats +- Tests edge cases (empty content, single entry, etc.) + +## Usage + +### For Users +1. **View Full Changelog**: Open the menu (three dots) → "Changelog" +2. **What's New Dialog**: Shown automatically after updating the app + +### For Developers +1. **Add New Changelog Entry**: Edit `CHANGELOG.md` following the existing format: + ```markdown + ### VERSION (DATE) + - Change description + - Another change + - Sub-bullet point + ``` + +2. **Extract Latest Entry for Play Store**: + ```bash + ./scripts/get_latest_changelog.sh + ``` + Copy the output to Play Store release notes. + +## Technical Details + +### Changelog Format +The parser expects entries in this format: +```markdown +### VERSION (DATE) +- Change 1 +- Change 2 + - Sub-change 2.1 +``` + +### Version Tracking +- Stored in SharedPreferences with key `'last_seen_version'` +- Compared with `PackageInfo.version` to detect updates +- Dialog shown only when versions differ (after initial install) + +### Asset Bundling +The `CHANGELOG.md` file is bundled with the app by adding it to `pubspec.yaml`: +```yaml +flutter: + assets: + - CHANGELOG.md +``` + +## Files Modified + +1. `lib/pages/requirements.dart` - Added changelog dialog auto-display +2. `lib/utils/settings/settings.dart` - Added version tracking methods +3. `lib/widgets/menu.dart` - Added changelog menu item +4. `lib/pages/device.dart` - Updated setApp calls to await +5. `pubspec.yaml` - Added CHANGELOG.md as asset + +## Files Created + +1. `lib/utils/changelog.dart` - Changelog parser +2. `lib/pages/changelog.dart` - Changelog display page +3. `lib/widgets/changelog_dialog.dart` - What's New dialog +4. `scripts/get_latest_changelog.sh` - Play Store extraction script +5. `scripts/README.md` - Scripts documentation +6. `test/changelog_test.dart` - Parser tests + +## Testing + +Run tests with: +```bash +flutter test test/changelog_test.dart +``` + +## Future Enhancements + +Possible improvements: +- Add search/filter functionality to changelog page +- Add markdown rendering for richer formatting +- Add deep links to specific changelog entries +- Add analytics to track which changelog entries users read diff --git a/CHANGELOG_VISUAL_GUIDE.md b/CHANGELOG_VISUAL_GUIDE.md new file mode 100644 index 000000000..742b55acb --- /dev/null +++ b/CHANGELOG_VISUAL_GUIDE.md @@ -0,0 +1,151 @@ +# Changelog Integration - Visual Guide + +This document provides a visual walkthrough of the changelog integration features. + +## Feature 1: Changelog Menu Item + +The changelog can be accessed from the app menu: + +``` +[Menu Button (⋮)] + ├── Donate ♥ + ├── [Debug options] + ├── Changelog ← NEW + ├── Feedback + └── License +``` + +When clicked, it opens the Changelog page. + +## Feature 2: Changelog Page + +The Changelog page displays all version history in a clean, scrollable list: + +``` +┌─────────────────────────────────────────┐ +│ ← Changelog │ +├─────────────────────────────────────────┤ +│ │ +│ ┌───────────────────────────────────┐ │ +│ │ Version 2.6.0 2025-09-28 │ │ +│ │ │ │ +│ │ • Fix crashes on some Android │ │ +│ │ devices │ │ +│ │ • refactor touch placements: show │ │ +│ │ touches on screen, fix misplaced│ │ +│ │ coordinates - should fix #64 │ │ +│ │ • show firmware version of │ │ +│ │ connected device │ │ +│ └───────────────────────────────────┘ │ +│ │ +│ ┌───────────────────────────────────┐ │ +│ │ Version 2.5.0 2025-09-25 │ │ +│ │ │ │ +│ │ • Improve usability │ │ +│ │ • SwiftControl is now available │ │ +│ │ via the Play Store │ │ +│ │ • SwiftControl will continue to │ │ +│ │ be available to download for │ │ +│ │ free on GitHub │ │ +│ └───────────────────────────────────┘ │ +│ │ +│ [... more versions ...] │ +│ │ +└─────────────────────────────────────────┘ +``` + +## Feature 3: What's New Dialog + +When the app is opened for the first time after an update, a dialog appears automatically: + +``` + ┌─────────────────────────────┐ + │ What's New │ + │ Version 2.6.0 │ + ├─────────────────────────────┤ + │ │ + │ • Fix crashes on some │ + │ Android devices │ + │ │ + │ • refactor touch │ + │ placements: show touches │ + │ on screen, fix misplaced │ + │ coordinates - should fix │ + │ #64 │ + │ │ + │ • show firmware version of │ + │ connected device │ + │ │ + ├─────────────────────────────┤ + │ [Got it!] │ + └─────────────────────────────┘ +``` + +## Feature 4: Play Store Script + +Developers can extract the latest changelog entry for Play Store uploads: + +```bash +$ ./scripts/get_latest_changelog.sh +• Fix crashes on some Android devices +• refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 +• show firmware version of connected device +``` + +This output can be directly copied to the Play Store release notes. + +## Implementation Flow + +### On App Start: +``` +1. App starts → RequirementsPage.initState() +2. settings.init() completes +3. _checkAndShowChangelog() is called +4. PackageInfo.fromPlatform() gets current version +5. settings.getLastSeenVersion() gets stored version +6. If versions differ → ChangelogDialog.showIfNeeded() +7. Dialog displays latest changelog entry +8. settings.setLastSeenVersion() updates stored version +``` + +### When User Opens Changelog: +``` +1. User clicks Menu → Changelog +2. Navigator.push() → ChangelogPage +3. ChangelogParser.parse() loads CHANGELOG.md +4. Parser extracts all version entries +5. ListView displays entries in cards +``` + +### When Preparing Play Store Release: +``` +1. Developer runs ./scripts/get_latest_changelog.sh +2. Script extracts text between first two ### headers +3. Script formats with bullet points +4. Developer copies output to Play Store console +``` + +## Data Storage + +Version tracking uses SharedPreferences: +``` +Key: 'last_seen_version' +Value: '2.6.0' (current app version) +``` + +This is compared with `PackageInfo.version` on each app start to detect updates. + +## Changelog Format + +The CHANGELOG.md file follows this format: +```markdown +### VERSION (DATE) +- Change description +- Another change + - Sub-bullet point (indented with 2 spaces) +``` + +The parser extracts: +- Version number (e.g., "2.6.0") +- Date (e.g., "2025-09-28") +- All bullet points (both main and sub-bullets) From 1a88f45c93a9e47d4c1b90adebd3da5d383388b6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:45:12 +0000 Subject: [PATCH 209/636] Add implementation summary for changelog integration Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- IMPLEMENTATION_SUMMARY.md | 126 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 IMPLEMENTATION_SUMMARY.md diff --git a/IMPLEMENTATION_SUMMARY.md b/IMPLEMENTATION_SUMMARY.md new file mode 100644 index 000000000..9175a771f --- /dev/null +++ b/IMPLEMENTATION_SUMMARY.md @@ -0,0 +1,126 @@ +# Changelog Integration - Summary + +## Implementation Complete ✓ + +All three requirements from the problem statement have been successfully implemented: + +### 1. ✓ Changelog screen in the app +- Created `lib/pages/changelog.dart` - A full-screen page displaying all changelog entries +- Accessible via Menu → "Changelog" +- Displays versions, dates, and changes in a clean card-based layout +- Scrollable list showing complete version history + +### 2. ✓ Latest entry for Play Store uploads +- Created `scripts/get_latest_changelog.sh` - Bash script to extract latest entry +- Automatically formats output with bullet points +- Usage: `./scripts/get_latest_changelog.sh` +- Output is ready to copy directly to Play Store release notes + +### 3. ✓ Changelog dialog on first launch with new version +- Created `lib/widgets/changelog_dialog.dart` - "What's New" dialog +- Automatically shown when app opens with a new version +- Tracks last seen version in SharedPreferences +- Only shows once per version update + +## Files Created (8 new files) + +### Core Implementation: +1. `lib/utils/changelog.dart` - Changelog parser utility +2. `lib/pages/changelog.dart` - Changelog display page +3. `lib/widgets/changelog_dialog.dart` - What's New dialog widget +4. `scripts/get_latest_changelog.sh` - Play Store extraction script +5. `test/changelog_test.dart` - Unit tests for parser + +### Documentation: +6. `scripts/README.md` - Scripts documentation +7. `CHANGELOG_INTEGRATION.md` - Technical implementation details +8. `CHANGELOG_VISUAL_GUIDE.md` - Visual walkthrough with diagrams + +## Files Modified (5 files) + +1. `lib/pages/requirements.dart` - Added changelog dialog auto-display logic +2. `lib/utils/settings/settings.dart` - Added version tracking methods +3. `lib/widgets/menu.dart` - Added "Changelog" menu item +4. `lib/pages/device.dart` - Updated to use async setApp with await +5. `pubspec.yaml` - Added CHANGELOG.md as bundled asset + +## Key Features + +### Changelog Parser +- Parses CHANGELOG.md into structured entries +- Extracts version, date, and changes for each entry +- Handles main bullet points and sub-bullet points +- Supports three main methods: + - `parse()` - Load entire changelog + - `getLatestEntry()` - Get latest version only + - `getLatestEntryForPlayStore()` - Format for Play Store + +### Version Tracking +- Uses SharedPreferences to store last seen version +- Key: `'last_seen_version'` +- Automatically updated after showing dialog +- Compares with `PackageInfo.version` to detect updates + +### User Experience +- Dialog appears automatically on version change +- User can dismiss with "Got it!" button +- Full changelog accessible anytime via menu +- Clean, readable card-based layout + +### Developer Experience +- Simple script for Play Store release notes +- Well-tested parser with unit tests +- Comprehensive documentation +- Minimal code changes to existing files + +## Testing + +Run tests with: +```bash +flutter test test/changelog_test.dart +``` + +Tests cover: +- Parsing multiple entries +- Handling sub-bullet points +- Empty content edge case +- Single entry edge case +- toString formatting + +## Usage Examples + +### For End Users: +1. Update app → "What's New" dialog appears automatically +2. Menu → Changelog → View full version history + +### For Developers: +1. Edit CHANGELOG.md following existing format +2. Run `./scripts/get_latest_changelog.sh` for Play Store notes +3. Changelog automatically appears in-app after users update + +## Implementation Approach + +The implementation follows the principle of **minimal changes**: +- No external dependencies added +- Uses existing packages (flutter, package_info_plus, shared_preferences) +- Integrates seamlessly with existing menu system +- Leverages existing app structure (Settings, RequirementsPage) +- Follows existing code style and patterns + +## Code Quality + +- ✓ All code follows Dart conventions +- ✓ Proper error handling (try-catch blocks) +- ✓ Null safety throughout +- ✓ Unit tests included +- ✓ Documentation provided +- ✓ Scripts are executable and tested + +## Next Steps + +The feature is ready to use. After this PR is merged: +1. Users will see the "What's New" dialog on their next update +2. Developers can use the script for Play Store uploads +3. Users can browse full changelog history in the app + +All requirements from the problem statement have been successfully implemented! From c3532d5c35810b75259876aefc58066247b6d1cd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:46:31 +0000 Subject: [PATCH 210/636] Add quick reference guide for changelog integration Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- CHANGELOG_QUICK_REFERENCE.md | 80 ++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 CHANGELOG_QUICK_REFERENCE.md diff --git a/CHANGELOG_QUICK_REFERENCE.md b/CHANGELOG_QUICK_REFERENCE.md new file mode 100644 index 000000000..caede0a3d --- /dev/null +++ b/CHANGELOG_QUICK_REFERENCE.md @@ -0,0 +1,80 @@ +# Quick Reference: Changelog Integration + +## For End Users + +### Viewing the Changelog +1. Open the app +2. Tap the menu button (⋮) in the top-right +3. Select "Changelog" +4. Browse through all version updates + +### What's New Dialog +- Appears automatically when you update the app +- Shows the latest changes in the new version +- Tap "Got it!" to dismiss + +## For Developers + +### Adding a New Changelog Entry +Edit `CHANGELOG.md` and add a new entry at the top: +```markdown +### X.Y.Z (YYYY-MM-DD) +- Change description 1 +- Change description 2 +``` + +### Extracting for Play Store +```bash +./scripts/get_latest_changelog.sh > release_notes.txt +``` +Then copy the contents to Play Store. + +### Running Tests +```bash +flutter test test/changelog_test.dart +``` + +## Technical Details + +### Files +- **Parser:** `lib/utils/changelog.dart` +- **Page:** `lib/pages/changelog.dart` +- **Dialog:** `lib/widgets/changelog_dialog.dart` +- **Settings:** `lib/utils/settings/settings.dart` +- **Script:** `scripts/get_latest_changelog.sh` +- **Tests:** `test/changelog_test.dart` + +### SharedPreferences Key +- Key: `last_seen_version` +- Stores: Current app version (e.g., "2.6.0") +- Purpose: Track which version the user last saw + +### Changelog Format +```markdown +### VERSION (DATE) +- Main bullet point + - Sub-bullet point (2 spaces indent) +``` + +## Troubleshooting + +### Dialog not showing? +- Check that CHANGELOG.md is in the assets +- Verify version number changed in pubspec.yaml +- Check SharedPreferences has `last_seen_version` key + +### Script not working? +- Ensure script is executable: `chmod +x scripts/get_latest_changelog.sh` +- Check CHANGELOG.md exists and has correct format + +### Parser errors? +- Verify CHANGELOG.md follows the format: `### VERSION (DATE)` +- Each entry must have this exact format +- Changes must start with `- ` or ` - ` + +## Key Benefits + +✓ **For Users**: Always see what's new after updates +✓ **For Developers**: Easy Play Store release notes +✓ **For Maintainers**: Single source of truth (CHANGELOG.md) +✓ **For Everyone**: Full history accessible in-app From 18e6f9a1b5c406be516b1435dcc090371a76433a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:51:21 +0000 Subject: [PATCH 211/636] Update build.yml to use changelog script for Play Store uploads Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- .github/workflows/build.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3d4f907c6..ad2836f07 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -151,6 +151,13 @@ jobs: - name: Web Deploy uses: actions/deploy-pages@v4 + - name: Extract latest changelog + id: changelog + run: | + chmod +x scripts/get_latest_changelog.sh + mkdir -p whatsnew + ./scripts/get_latest_changelog.sh > whatsnew/whatsnew-en-US + - name: Upload to Play Store # only upload when env.VERSION does not end with 1337, which is our indicator for beta releases if: "!endsWith(env.VERSION, '1337')" @@ -160,6 +167,7 @@ jobs: packageName: de.jonasbark.swiftcontrol releaseFiles: build/app/outputs/bundle/release/app-release.aab track: production + whatsNewDirectory: whatsnew windows: needs: build From 74bf75a82e7ca8c5b27cb2b8a0641da564f3372a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:54:32 +0000 Subject: [PATCH 212/636] Initial plan From a7f9ca489e56cd517e5157a0f89478a4e3271c85 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:57:43 +0000 Subject: [PATCH 213/636] Add vibration toggle setting for Zwift Ride devices Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- lib/bluetooth/devices/base_device.dart | 3 ++- lib/pages/device.dart | 11 +++++++++++ lib/utils/settings/settings.dart | 8 ++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 3b02b26e3..83f860f7f 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -383,7 +383,8 @@ abstract class BaseDevice { Future _performActions(List buttonsClicked, bool repeated) async { if (!repeated && - buttonsClicked.any(((e) => e.action == InGameAction.shiftDown || e.action == InGameAction.shiftUp))) { + buttonsClicked.any(((e) => e.action == InGameAction.shiftDown || e.action == InGameAction.shiftUp)) && + settings.getVibrationEnabled()) { await _vibrate(); } for (final action in buttonsClicked) { diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 2a4a9c77d..2a8a871fd 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -12,6 +12,7 @@ import 'package:swift_control/widgets/testbed.dart'; import 'package:swift_control/widgets/title.dart'; import '../bluetooth/devices/base_device.dart'; +import '../bluetooth/devices/zwift_ride.dart'; import '../utils/keymap/apps/custom_app.dart'; import '../utils/keymap/apps/supported_app.dart'; import '../widgets/menu.dart'; @@ -79,6 +80,16 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' ), ), Divider(color: Theme.of(context).colorScheme.primary, height: 30), + if (connection.devices.any((device) => device is ZwiftRide && device.isConnected)) + SwitchListTile( + title: Text('Vibration on Shift'), + subtitle: Text('Enable vibration feedback when shifting gears'), + value: settings.getVibrationEnabled(), + onChanged: (value) async { + await settings.setVibrationEnabled(value); + setState(() {}); + }, + ), if (!kIsWeb) Column( spacing: 12, diff --git a/lib/utils/settings/settings.dart b/lib/utils/settings/settings.dart index 21d8d5575..04e3f28d0 100644 --- a/lib/utils/settings/settings.dart +++ b/lib/utils/settings/settings.dart @@ -51,4 +51,12 @@ class Settings { Future setLastSeenVersion(String version) async { await _prefs.setString('last_seen_version', version); } + + bool getVibrationEnabled() { + return _prefs.getBool('vibration_enabled') ?? true; + } + + Future setVibrationEnabled(bool enabled) async { + await _prefs.setBool('vibration_enabled', enabled); + } } From 559fe1232b64000cd5fef28ae568ca511e9da8db Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 30 Sep 2025 06:59:18 +0000 Subject: [PATCH 214/636] Add test for vibration setting functionality Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- test/vibration_setting_test.dart | 56 ++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 test/vibration_setting_test.dart diff --git a/test/vibration_setting_test.dart b/test/vibration_setting_test.dart new file mode 100644 index 000000000..fc1081bad --- /dev/null +++ b/test/vibration_setting_test.dart @@ -0,0 +1,56 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:swift_control/utils/settings/settings.dart'; + +void main() { + group('Vibration Setting Tests', () { + late Settings settings; + + setUp(() async { + // Initialize SharedPreferences with in-memory storage for testing + SharedPreferences.setMockInitialValues({}); + settings = Settings(); + await settings.init(); + }); + + test('Vibration setting should default to true', () { + expect(settings.getVibrationEnabled(), true); + }); + + test('Vibration setting should persist when set to false', () async { + await settings.setVibrationEnabled(false); + expect(settings.getVibrationEnabled(), false); + }); + + test('Vibration setting should persist when set to true', () async { + await settings.setVibrationEnabled(true); + expect(settings.getVibrationEnabled(), true); + }); + + test('Vibration setting should toggle correctly', () async { + // Start with default (true) + expect(settings.getVibrationEnabled(), true); + + // Toggle to false + await settings.setVibrationEnabled(false); + expect(settings.getVibrationEnabled(), false); + + // Toggle back to true + await settings.setVibrationEnabled(true); + expect(settings.getVibrationEnabled(), true); + }); + + test('Vibration setting should persist across Settings instances', () async { + // Set vibration to false + await settings.setVibrationEnabled(false); + expect(settings.getVibrationEnabled(), false); + + // Create a new Settings instance + final newSettings = Settings(); + await newSettings.init(); + + // Should still be false + expect(newSettings.getVibrationEnabled(), false); + }); + }); +} From dcbb2253550eff629d1f7534b2c142638bb7d649 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 09:00:30 +0200 Subject: [PATCH 215/636] cleanup --- CHANGELOG.md | 1 + CHANGELOG_INTEGRATION.md | 137 --------------------------- CHANGELOG_QUICK_REFERENCE.md | 80 ---------------- CHANGELOG_VISUAL_GUIDE.md | 151 ------------------------------ IMPLEMENTATION_SUMMARY.md | 126 ------------------------- lib/widgets/changelog_dialog.dart | 50 ++++------ scripts/README.md | 12 --- 7 files changed, 17 insertions(+), 540 deletions(-) delete mode 100644 CHANGELOG_INTEGRATION.md delete mode 100644 CHANGELOG_QUICK_REFERENCE.md delete mode 100644 CHANGELOG_VISUAL_GUIDE.md delete mode 100644 IMPLEMENTATION_SUMMARY.md delete mode 100644 scripts/README.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 48265d1c1..8fa9056d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - Fix crashes on some Android devices - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 - show firmware version of connected device +- many UI improvements ### 2.5.0 (2025-09-25) - Improve usability diff --git a/CHANGELOG_INTEGRATION.md b/CHANGELOG_INTEGRATION.md deleted file mode 100644 index d8aa42e7b..000000000 --- a/CHANGELOG_INTEGRATION.md +++ /dev/null @@ -1,137 +0,0 @@ -# Changelog Integration - Implementation Summary - -This document describes the changelog integration feature that was implemented. - -## Overview - -The changelog integration adds three main features: -1. A "Changelog" screen that displays the full changelog history -2. Automatic display of a changelog dialog when the app is opened with a new version for the first time -3. A script to extract the latest changelog entry for Play Store uploads - -## Components Created - -### 1. Changelog Parser (`lib/utils/changelog.dart`) -- Parses `CHANGELOG.md` file to extract version entries -- Each entry contains: version number, date, and list of changes -- Supports parsing of main bullet points and sub-bullet points -- Provides methods to: - - `parse()`: Load and parse the entire changelog - - `getLatestEntry()`: Get just the latest version entry - - `getLatestEntryForPlayStore()`: Format latest entry for Play Store uploads - -### 2. Changelog Page (`lib/pages/changelog.dart`) -- Full-screen page displaying all changelog entries in a scrollable list -- Each entry is displayed in a card with: - - Version number and date in the header - - List of changes as bullet points -- Accessible from the menu - -### 3. Changelog Dialog (`lib/widgets/changelog_dialog.dart`) -- Shows a "What's New" dialog with the latest changelog entry -- Automatically displayed when: - - The app is opened for the first time after an update - - The stored version differs from the current version -- Uses `SharedPreferences` to track the last seen version - -### 4. Version Tracking (updated `lib/utils/settings/settings.dart`) -- Added `getLastSeenVersion()`: Retrieve the last version the user saw -- Added `setLastSeenVersion(version)`: Update the stored version -- Modified `setApp()` to be async (properly awaited in all call sites) - -### 5. Menu Integration (updated `lib/widgets/menu.dart`) -- Added "Changelog" menu item to the popup menu -- Opens the changelog page when clicked - -### 6. Auto-display Logic (updated `lib/pages/requirements.dart`) -- Added `_checkAndShowChangelog()` method -- Called on app initialization to check for version changes -- Shows changelog dialog if version has changed -- Updates stored version after display - -### 7. Play Store Script (`scripts/get_latest_changelog.sh`) -- Bash script to extract latest changelog entry -- Formats output with bullet points suitable for Play Store -- Usage: `./scripts/get_latest_changelog.sh` - -### 8. Tests (`test/changelog_test.dart`) -- Unit tests for the changelog parser -- Tests parsing of various changelog formats -- Tests edge cases (empty content, single entry, etc.) - -## Usage - -### For Users -1. **View Full Changelog**: Open the menu (three dots) → "Changelog" -2. **What's New Dialog**: Shown automatically after updating the app - -### For Developers -1. **Add New Changelog Entry**: Edit `CHANGELOG.md` following the existing format: - ```markdown - ### VERSION (DATE) - - Change description - - Another change - - Sub-bullet point - ``` - -2. **Extract Latest Entry for Play Store**: - ```bash - ./scripts/get_latest_changelog.sh - ``` - Copy the output to Play Store release notes. - -## Technical Details - -### Changelog Format -The parser expects entries in this format: -```markdown -### VERSION (DATE) -- Change 1 -- Change 2 - - Sub-change 2.1 -``` - -### Version Tracking -- Stored in SharedPreferences with key `'last_seen_version'` -- Compared with `PackageInfo.version` to detect updates -- Dialog shown only when versions differ (after initial install) - -### Asset Bundling -The `CHANGELOG.md` file is bundled with the app by adding it to `pubspec.yaml`: -```yaml -flutter: - assets: - - CHANGELOG.md -``` - -## Files Modified - -1. `lib/pages/requirements.dart` - Added changelog dialog auto-display -2. `lib/utils/settings/settings.dart` - Added version tracking methods -3. `lib/widgets/menu.dart` - Added changelog menu item -4. `lib/pages/device.dart` - Updated setApp calls to await -5. `pubspec.yaml` - Added CHANGELOG.md as asset - -## Files Created - -1. `lib/utils/changelog.dart` - Changelog parser -2. `lib/pages/changelog.dart` - Changelog display page -3. `lib/widgets/changelog_dialog.dart` - What's New dialog -4. `scripts/get_latest_changelog.sh` - Play Store extraction script -5. `scripts/README.md` - Scripts documentation -6. `test/changelog_test.dart` - Parser tests - -## Testing - -Run tests with: -```bash -flutter test test/changelog_test.dart -``` - -## Future Enhancements - -Possible improvements: -- Add search/filter functionality to changelog page -- Add markdown rendering for richer formatting -- Add deep links to specific changelog entries -- Add analytics to track which changelog entries users read diff --git a/CHANGELOG_QUICK_REFERENCE.md b/CHANGELOG_QUICK_REFERENCE.md deleted file mode 100644 index caede0a3d..000000000 --- a/CHANGELOG_QUICK_REFERENCE.md +++ /dev/null @@ -1,80 +0,0 @@ -# Quick Reference: Changelog Integration - -## For End Users - -### Viewing the Changelog -1. Open the app -2. Tap the menu button (⋮) in the top-right -3. Select "Changelog" -4. Browse through all version updates - -### What's New Dialog -- Appears automatically when you update the app -- Shows the latest changes in the new version -- Tap "Got it!" to dismiss - -## For Developers - -### Adding a New Changelog Entry -Edit `CHANGELOG.md` and add a new entry at the top: -```markdown -### X.Y.Z (YYYY-MM-DD) -- Change description 1 -- Change description 2 -``` - -### Extracting for Play Store -```bash -./scripts/get_latest_changelog.sh > release_notes.txt -``` -Then copy the contents to Play Store. - -### Running Tests -```bash -flutter test test/changelog_test.dart -``` - -## Technical Details - -### Files -- **Parser:** `lib/utils/changelog.dart` -- **Page:** `lib/pages/changelog.dart` -- **Dialog:** `lib/widgets/changelog_dialog.dart` -- **Settings:** `lib/utils/settings/settings.dart` -- **Script:** `scripts/get_latest_changelog.sh` -- **Tests:** `test/changelog_test.dart` - -### SharedPreferences Key -- Key: `last_seen_version` -- Stores: Current app version (e.g., "2.6.0") -- Purpose: Track which version the user last saw - -### Changelog Format -```markdown -### VERSION (DATE) -- Main bullet point - - Sub-bullet point (2 spaces indent) -``` - -## Troubleshooting - -### Dialog not showing? -- Check that CHANGELOG.md is in the assets -- Verify version number changed in pubspec.yaml -- Check SharedPreferences has `last_seen_version` key - -### Script not working? -- Ensure script is executable: `chmod +x scripts/get_latest_changelog.sh` -- Check CHANGELOG.md exists and has correct format - -### Parser errors? -- Verify CHANGELOG.md follows the format: `### VERSION (DATE)` -- Each entry must have this exact format -- Changes must start with `- ` or ` - ` - -## Key Benefits - -✓ **For Users**: Always see what's new after updates -✓ **For Developers**: Easy Play Store release notes -✓ **For Maintainers**: Single source of truth (CHANGELOG.md) -✓ **For Everyone**: Full history accessible in-app diff --git a/CHANGELOG_VISUAL_GUIDE.md b/CHANGELOG_VISUAL_GUIDE.md deleted file mode 100644 index 742b55acb..000000000 --- a/CHANGELOG_VISUAL_GUIDE.md +++ /dev/null @@ -1,151 +0,0 @@ -# Changelog Integration - Visual Guide - -This document provides a visual walkthrough of the changelog integration features. - -## Feature 1: Changelog Menu Item - -The changelog can be accessed from the app menu: - -``` -[Menu Button (⋮)] - ├── Donate ♥ - ├── [Debug options] - ├── Changelog ← NEW - ├── Feedback - └── License -``` - -When clicked, it opens the Changelog page. - -## Feature 2: Changelog Page - -The Changelog page displays all version history in a clean, scrollable list: - -``` -┌─────────────────────────────────────────┐ -│ ← Changelog │ -├─────────────────────────────────────────┤ -│ │ -│ ┌───────────────────────────────────┐ │ -│ │ Version 2.6.0 2025-09-28 │ │ -│ │ │ │ -│ │ • Fix crashes on some Android │ │ -│ │ devices │ │ -│ │ • refactor touch placements: show │ │ -│ │ touches on screen, fix misplaced│ │ -│ │ coordinates - should fix #64 │ │ -│ │ • show firmware version of │ │ -│ │ connected device │ │ -│ └───────────────────────────────────┘ │ -│ │ -│ ┌───────────────────────────────────┐ │ -│ │ Version 2.5.0 2025-09-25 │ │ -│ │ │ │ -│ │ • Improve usability │ │ -│ │ • SwiftControl is now available │ │ -│ │ via the Play Store │ │ -│ │ • SwiftControl will continue to │ │ -│ │ be available to download for │ │ -│ │ free on GitHub │ │ -│ └───────────────────────────────────┘ │ -│ │ -│ [... more versions ...] │ -│ │ -└─────────────────────────────────────────┘ -``` - -## Feature 3: What's New Dialog - -When the app is opened for the first time after an update, a dialog appears automatically: - -``` - ┌─────────────────────────────┐ - │ What's New │ - │ Version 2.6.0 │ - ├─────────────────────────────┤ - │ │ - │ • Fix crashes on some │ - │ Android devices │ - │ │ - │ • refactor touch │ - │ placements: show touches │ - │ on screen, fix misplaced │ - │ coordinates - should fix │ - │ #64 │ - │ │ - │ • show firmware version of │ - │ connected device │ - │ │ - ├─────────────────────────────┤ - │ [Got it!] │ - └─────────────────────────────┘ -``` - -## Feature 4: Play Store Script - -Developers can extract the latest changelog entry for Play Store uploads: - -```bash -$ ./scripts/get_latest_changelog.sh -• Fix crashes on some Android devices -• refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 -• show firmware version of connected device -``` - -This output can be directly copied to the Play Store release notes. - -## Implementation Flow - -### On App Start: -``` -1. App starts → RequirementsPage.initState() -2. settings.init() completes -3. _checkAndShowChangelog() is called -4. PackageInfo.fromPlatform() gets current version -5. settings.getLastSeenVersion() gets stored version -6. If versions differ → ChangelogDialog.showIfNeeded() -7. Dialog displays latest changelog entry -8. settings.setLastSeenVersion() updates stored version -``` - -### When User Opens Changelog: -``` -1. User clicks Menu → Changelog -2. Navigator.push() → ChangelogPage -3. ChangelogParser.parse() loads CHANGELOG.md -4. Parser extracts all version entries -5. ListView displays entries in cards -``` - -### When Preparing Play Store Release: -``` -1. Developer runs ./scripts/get_latest_changelog.sh -2. Script extracts text between first two ### headers -3. Script formats with bullet points -4. Developer copies output to Play Store console -``` - -## Data Storage - -Version tracking uses SharedPreferences: -``` -Key: 'last_seen_version' -Value: '2.6.0' (current app version) -``` - -This is compared with `PackageInfo.version` on each app start to detect updates. - -## Changelog Format - -The CHANGELOG.md file follows this format: -```markdown -### VERSION (DATE) -- Change description -- Another change - - Sub-bullet point (indented with 2 spaces) -``` - -The parser extracts: -- Version number (e.g., "2.6.0") -- Date (e.g., "2025-09-28") -- All bullet points (both main and sub-bullets) diff --git a/IMPLEMENTATION_SUMMARY.md b/IMPLEMENTATION_SUMMARY.md deleted file mode 100644 index 9175a771f..000000000 --- a/IMPLEMENTATION_SUMMARY.md +++ /dev/null @@ -1,126 +0,0 @@ -# Changelog Integration - Summary - -## Implementation Complete ✓ - -All three requirements from the problem statement have been successfully implemented: - -### 1. ✓ Changelog screen in the app -- Created `lib/pages/changelog.dart` - A full-screen page displaying all changelog entries -- Accessible via Menu → "Changelog" -- Displays versions, dates, and changes in a clean card-based layout -- Scrollable list showing complete version history - -### 2. ✓ Latest entry for Play Store uploads -- Created `scripts/get_latest_changelog.sh` - Bash script to extract latest entry -- Automatically formats output with bullet points -- Usage: `./scripts/get_latest_changelog.sh` -- Output is ready to copy directly to Play Store release notes - -### 3. ✓ Changelog dialog on first launch with new version -- Created `lib/widgets/changelog_dialog.dart` - "What's New" dialog -- Automatically shown when app opens with a new version -- Tracks last seen version in SharedPreferences -- Only shows once per version update - -## Files Created (8 new files) - -### Core Implementation: -1. `lib/utils/changelog.dart` - Changelog parser utility -2. `lib/pages/changelog.dart` - Changelog display page -3. `lib/widgets/changelog_dialog.dart` - What's New dialog widget -4. `scripts/get_latest_changelog.sh` - Play Store extraction script -5. `test/changelog_test.dart` - Unit tests for parser - -### Documentation: -6. `scripts/README.md` - Scripts documentation -7. `CHANGELOG_INTEGRATION.md` - Technical implementation details -8. `CHANGELOG_VISUAL_GUIDE.md` - Visual walkthrough with diagrams - -## Files Modified (5 files) - -1. `lib/pages/requirements.dart` - Added changelog dialog auto-display logic -2. `lib/utils/settings/settings.dart` - Added version tracking methods -3. `lib/widgets/menu.dart` - Added "Changelog" menu item -4. `lib/pages/device.dart` - Updated to use async setApp with await -5. `pubspec.yaml` - Added CHANGELOG.md as bundled asset - -## Key Features - -### Changelog Parser -- Parses CHANGELOG.md into structured entries -- Extracts version, date, and changes for each entry -- Handles main bullet points and sub-bullet points -- Supports three main methods: - - `parse()` - Load entire changelog - - `getLatestEntry()` - Get latest version only - - `getLatestEntryForPlayStore()` - Format for Play Store - -### Version Tracking -- Uses SharedPreferences to store last seen version -- Key: `'last_seen_version'` -- Automatically updated after showing dialog -- Compares with `PackageInfo.version` to detect updates - -### User Experience -- Dialog appears automatically on version change -- User can dismiss with "Got it!" button -- Full changelog accessible anytime via menu -- Clean, readable card-based layout - -### Developer Experience -- Simple script for Play Store release notes -- Well-tested parser with unit tests -- Comprehensive documentation -- Minimal code changes to existing files - -## Testing - -Run tests with: -```bash -flutter test test/changelog_test.dart -``` - -Tests cover: -- Parsing multiple entries -- Handling sub-bullet points -- Empty content edge case -- Single entry edge case -- toString formatting - -## Usage Examples - -### For End Users: -1. Update app → "What's New" dialog appears automatically -2. Menu → Changelog → View full version history - -### For Developers: -1. Edit CHANGELOG.md following existing format -2. Run `./scripts/get_latest_changelog.sh` for Play Store notes -3. Changelog automatically appears in-app after users update - -## Implementation Approach - -The implementation follows the principle of **minimal changes**: -- No external dependencies added -- Uses existing packages (flutter, package_info_plus, shared_preferences) -- Integrates seamlessly with existing menu system -- Leverages existing app structure (Settings, RequirementsPage) -- Follows existing code style and patterns - -## Code Quality - -- ✓ All code follows Dart conventions -- ✓ Proper error handling (try-catch blocks) -- ✓ Null safety throughout -- ✓ Unit tests included -- ✓ Documentation provided -- ✓ Scripts are executable and tested - -## Next Steps - -The feature is ready to use. After this PR is merged: -1. Users will see the "What's New" dialog on their next update -2. Developers can use the script for Play Store uploads -3. Users can browse full changelog history in the app - -All requirements from the problem statement have been successfully implemented! diff --git a/lib/widgets/changelog_dialog.dart b/lib/widgets/changelog_dialog.dart index a382e5316..5c765e140 100644 --- a/lib/widgets/changelog_dialog.dart +++ b/lib/widgets/changelog_dialog.dart @@ -4,10 +4,7 @@ import 'package:swift_control/utils/changelog.dart'; class ChangelogDialog extends StatelessWidget { final ChangelogEntry entry; - const ChangelogDialog({ - super.key, - required this.entry, - }); + const ChangelogDialog({super.key, required this.entry}); @override Widget build(BuildContext context) { @@ -20,9 +17,7 @@ class ChangelogDialog extends StatelessWidget { SizedBox(height: 4), Text( 'Version ${entry.version}', - style: Theme.of(context).textTheme.titleMedium?.copyWith( - fontWeight: FontWeight.normal, - ), + style: Theme.of(context).textTheme.titleMedium?.copyWith(fontWeight: FontWeight.normal), ), ], ), @@ -30,44 +25,31 @@ class ChangelogDialog extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.min, - children: entry.changes.map( - (change) => Padding( - padding: EdgeInsets.only(bottom: 8), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text('• ', style: TextStyle(fontSize: 16)), - Expanded( - child: Text( - change, - style: Theme.of(context).textTheme.bodyMedium, + children: + entry.changes + .map( + (change) => Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('• ', style: TextStyle(fontSize: 16)), + Expanded(child: Text(change, style: Theme.of(context).textTheme.bodyMedium)), + ], ), - ), - ], - ), - ), - ).toList(), + ) + .toList(), ), ), - actions: [ - TextButton( - onPressed: () => Navigator.of(context).pop(), - child: Text('Got it!'), - ), - ], + actions: [TextButton(onPressed: () => Navigator.of(context).pop(), child: Text('Got it!'))], ); } static Future showIfNeeded(BuildContext context, String currentVersion, String? lastSeenVersion) async { // Show dialog if this is a new version - if (lastSeenVersion != null && lastSeenVersion != currentVersion) { + if (lastSeenVersion != currentVersion || true) { try { final entry = await ChangelogParser.getLatestEntry(); if (entry != null && context.mounted) { - showDialog( - context: context, - builder: (context) => ChangelogDialog(entry: entry), - ); + showDialog(context: context, builder: (context) => ChangelogDialog(entry: entry)); } } catch (e) { print('Failed to load changelog for dialog: $e'); diff --git a/scripts/README.md b/scripts/README.md deleted file mode 100644 index b27e7fed7..000000000 --- a/scripts/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Scripts - -## get_latest_changelog.sh - -Extracts the latest changelog entry from `CHANGELOG.md` for use in Play Store release notes. - -**Usage:** -```bash -./scripts/get_latest_changelog.sh -``` - -This will output the latest changelog entry formatted with bullet points, ready to be copied to the Play Store. From d51a4cc29d2eac27debfeba65690ae56c7156d6c Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 09:00:41 +0200 Subject: [PATCH 216/636] cleanup --- lib/bluetooth/devices/base_device.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 3b02b26e3..8c3437ab7 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -202,7 +202,7 @@ abstract class BaseDevice { _processDevicePublicKeyResponse(bytes); } else if (bytes.startsWith(Constants.RIDE_ON)) { //print("Empty RideOn response - unencrypted mode"); - if (this is ZwiftClickV2) { + /*if (this is ZwiftClickV2) { // TODO figure out if this is the key to make V2 work await UniversalBle.write( device.deviceId, @@ -218,7 +218,7 @@ abstract class BaseDevice { Uint8List.fromList([0x41, 0x05, 0x05]), withoutResponse: true, ); - } + }*/ } else if (!supportsEncryption || (bytes.length > Int32List.bytesPerElement + EncryptionUtils.MAC_LENGTH)) { _processData(bytes); } @@ -273,7 +273,7 @@ abstract class BaseDevice { switch (type) { case Constants.UNKNOWN_CLICKV2_TYPE: - if (!_isInited) { + if (!_isInited && false) { _isInited = true; final commands = [ [0x00, 0x08, 0x80, 0x08], From 9617198db7e469975a892a6140fa6c2077f09d0d Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 09:01:54 +0200 Subject: [PATCH 217/636] adjust changelog --- CHANGELOG.md | 1 + lib/pages/device.dart | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fa9056d7..152239f90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 - show firmware version of connected device - many UI improvements +- add setting to enable or disable vibration on button press for Zwift Ride and Zwift Play controllers ### 2.5.0 (2025-09-25) - Improve usability diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 2a8a871fd..40a899803 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -4,6 +4,7 @@ import 'dart:io'; import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:swift_control/bluetooth/devices/zwift_play.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/pages/touch_area.dart'; import 'package:swift_control/widgets/keymap_explanation.dart'; @@ -80,7 +81,9 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' ), ), Divider(color: Theme.of(context).colorScheme.primary, height: 30), - if (connection.devices.any((device) => device is ZwiftRide && device.isConnected)) + if (connection.devices.any( + (device) => (device is ZwiftRide || device is ZwiftPlay) && device.isConnected, + )) SwitchListTile( title: Text('Vibration on Shift'), subtitle: Text('Enable vibration feedback when shifting gears'), From f0c1409da412fca18b19a9a8759139642d38cb2d Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 09:12:50 +0200 Subject: [PATCH 218/636] misc changes --- CHANGELOG.md | 2 +- lib/pages/device.dart | 24 ++++++++++++------------ lib/pages/touch_area.dart | 7 ++----- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 152239f90..5b92aef54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ ### 2.6.0 (2025-09-28) -- Fix crashes on some Android devices - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 - show firmware version of connected device +- Fix crashes on some Android devices - many UI improvements - add setting to enable or disable vibration on button press for Zwift Ride and Zwift Play controllers diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 40a899803..98eb14ef3 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -81,18 +81,6 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' ), ), Divider(color: Theme.of(context).colorScheme.primary, height: 30), - if (connection.devices.any( - (device) => (device is ZwiftRide || device is ZwiftPlay) && device.isConnected, - )) - SwitchListTile( - title: Text('Vibration on Shift'), - subtitle: Text('Enable vibration feedback when shifting gears'), - value: settings.getVibrationEnabled(), - onChanged: (value) async { - await settings.setVibrationEnabled(value); - setState(() {}); - }, - ), if (!kIsWeb) Column( spacing: 12, @@ -185,6 +173,18 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' controller.text = actionHandler.supportedApp?.name ?? ''; }, ), + if (connection.devices.any( + (device) => (device is ZwiftRide || device is ZwiftPlay || true) && device.isConnected, + )) + SwitchListTile( + title: Text('Vibration on Shift'), + subtitle: Text('Enable vibration feedback when shifting gears'), + value: settings.getVibrationEnabled(), + onChanged: (value) async { + await settings.setVibrationEnabled(value); + setState(() {}); + }, + ), ], ), LogViewer(), diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart index ce856f20f..e2d55f484 100644 --- a/lib/pages/touch_area.dart +++ b/lib/pages/touch_area.dart @@ -72,11 +72,8 @@ class _TouchAreaSetupPageState extends State { super.initState(); // Force landscape orientation during keymap editing - SystemChrome.setPreferredOrientations([ - DeviceOrientation.landscapeLeft, - DeviceOrientation.landscapeRight, - ]); - + SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight]); + SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky, overlays: []); if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) { windowManager.setFullScreen(true); From 1d38ff521ab1b1d2735a6e366df5ae14a991e52e Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 10:01:01 +0200 Subject: [PATCH 219/636] misc changes --- lib/pages/device.dart | 6 +++--- lib/widgets/changelog_dialog.dart | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 98eb14ef3..0edb38b74 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -4,7 +4,6 @@ import 'dart:io'; import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:swift_control/bluetooth/devices/zwift_play.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/pages/touch_area.dart'; import 'package:swift_control/widgets/keymap_explanation.dart'; @@ -13,7 +12,6 @@ import 'package:swift_control/widgets/testbed.dart'; import 'package:swift_control/widgets/title.dart'; import '../bluetooth/devices/base_device.dart'; -import '../bluetooth/devices/zwift_ride.dart'; import '../utils/keymap/apps/custom_app.dart'; import '../utils/keymap/apps/supported_app.dart'; import '../widgets/menu.dart'; @@ -174,7 +172,9 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' }, ), if (connection.devices.any( - (device) => (device is ZwiftRide || device is ZwiftPlay || true) && device.isConnected, + (device) => + (device.device.name == 'Zwift Ride' || device.device.name == 'Zwift Play') && + device.isConnected, )) SwitchListTile( title: Text('Vibration on Shift'), diff --git a/lib/widgets/changelog_dialog.dart b/lib/widgets/changelog_dialog.dart index 5c765e140..ad62ff835 100644 --- a/lib/widgets/changelog_dialog.dart +++ b/lib/widgets/changelog_dialog.dart @@ -45,7 +45,7 @@ class ChangelogDialog extends StatelessWidget { static Future showIfNeeded(BuildContext context, String currentVersion, String? lastSeenVersion) async { // Show dialog if this is a new version - if (lastSeenVersion != currentVersion || true) { + if (lastSeenVersion != currentVersion) { try { final entry = await ChangelogParser.getLatestEntry(); if (entry != null && context.mounted) { From 996669ec448409da7c205d797ce337bf0a94233e Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 11:33:54 +0200 Subject: [PATCH 220/636] implement updated protocol for Zwift Ride and Zwift Click V2 --- lib/bluetooth/devices/base_device.dart | 163 +- lib/bluetooth/devices/zwift_ride.dart | 145 +- lib/bluetooth/protocol/zp.pb.dart | 6146 +++++++++++++++++++++++ lib/bluetooth/protocol/zp.pbenum.dart | 583 +++ lib/bluetooth/protocol/zp.pbjson.dart | 1692 +++++++ lib/bluetooth/protocol/zp.pbserver.dart | 14 + lib/widgets/testbed.dart | 16 +- 7 files changed, 8632 insertions(+), 127 deletions(-) create mode 100644 lib/bluetooth/protocol/zp.pb.dart create mode 100644 lib/bluetooth/protocol/zp.pbenum.dart create mode 100644 lib/bluetooth/protocol/zp.pbjson.dart create mode 100644 lib/bluetooth/protocol/zp.pbserver.dart diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 0f86cd66a..7f8f239d2 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -187,12 +187,6 @@ abstract class BaseDevice { } Future processCharacteristic(String characteristic, Uint8List bytes) async { - if (kDebugMode) { - print( - '${DateTime.now().toString().split(" ").last} Received $characteristic: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')} => ${String.fromCharCodes(bytes)} ', - ); - } - if (bytes.isEmpty) { return; } @@ -200,27 +194,8 @@ abstract class BaseDevice { try { if (bytes.startsWith(startCommand)) { _processDevicePublicKeyResponse(bytes); - } else if (bytes.startsWith(Constants.RIDE_ON)) { - //print("Empty RideOn response - unencrypted mode"); - /*if (this is ZwiftClickV2) { - // TODO figure out if this is the key to make V2 work - await UniversalBle.write( - device.deviceId, - customServiceId, - syncRxCharacteristic!.uuid, - Uint8List.fromList([0x00, 0x08, 0x00]), - withoutResponse: true, - ); - await UniversalBle.write( - device.deviceId, - customServiceId, - syncRxCharacteristic!.uuid, - Uint8List.fromList([0x41, 0x05, 0x05]), - withoutResponse: true, - ); - }*/ } else if (!supportsEncryption || (bytes.length > Int32List.bytesPerElement + EncryptionUtils.MAC_LENGTH)) { - _processData(bytes); + processData(bytes); } } catch (e, stackTrace) { print("Error processing data: $e"); @@ -241,7 +216,7 @@ abstract class BaseDevice { zapEncryption.initialise(devicePublicKeyBytes); } - Future _processData(Uint8List bytes) async { + Future processData(Uint8List bytes) async { int type; Uint8List message; @@ -266,59 +241,7 @@ abstract class BaseDevice { message = bytes.sublist(1); } - if (bytes.startsWith(Constants.RESPONSE_STOPPED_CLICK_V2)) { - print('no more events'); - //connect(); - } - switch (type) { - case Constants.UNKNOWN_CLICKV2_TYPE: - if (!_isInited && false) { - _isInited = true; - final commands = [ - [0x00, 0x08, 0x80, 0x08], - [0x00, 0x08, 0x83, 0x06], - [ - 0xFF, - 0x04, - 0x00, - 0x0A, - 0x15, - 0x40, - 0xE9, - 0xD9, - 0xC9, - 0x6B, - 0x74, - 0x63, - 0xC2, - 0x7F, - 0x1B, - 0x4E, - 0x4D, - 0x9F, - 0x1C, - 0xB1, - 0x20, - 0x5D, - 0x88, - 0x2E, - 0xD7, - 0xCE, - ], - ]; - for (final command in commands) { - await UniversalBle.write( - device.deviceId, - customServiceId, - syncRxCharacteristic!.uuid, - Uint8List.fromList(command), - withoutResponse: true, - ); - await Future.delayed(const Duration(milliseconds: 50)); - } - } - break; case Constants.EMPTY_MESSAGE_TYPE: //print("Empty Message"); // expected when nothing happening break; @@ -330,47 +253,10 @@ abstract class BaseDevice { break; case Constants.CLICK_NOTIFICATION_MESSAGE_TYPE: case Constants.PLAY_NOTIFICATION_MESSAGE_TYPE: - case Constants.RIDE_NOTIFICATION_MESSAGE_TYPE: // untested + case Constants.RIDE_NOTIFICATION_MESSAGE_TYPE: processClickNotification(message) .then((buttonsClicked) async { - if (buttonsClicked == null) { - // ignore, no changes - } else if (buttonsClicked.isEmpty) { - actionStreamInternal.add(LogNotification('Buttons released')); - _longPressTimer?.cancel(); - - // Handle release events for long press keys - final buttonsReleased = _previouslyPressedButtons.toList(); - if (buttonsReleased.isNotEmpty) { - await _performRelease(buttonsReleased); - } - _previouslyPressedButtons.clear(); - } else { - // Handle release events for buttons that are no longer pressed - final buttonsReleased = _previouslyPressedButtons.difference(buttonsClicked.toSet()).toList(); - if (buttonsReleased.isNotEmpty) { - await _performRelease(buttonsReleased); - } - - final isLongPress = - buttonsClicked.singleOrNull != null && - actionHandler.supportedApp?.keymap.getKeyPair(buttonsClicked.single)?.isLongPress == true; - - if (!isLongPress && - !(buttonsClicked.singleOrNull == ZwiftButton.onOffLeft || - buttonsClicked.singleOrNull == ZwiftButton.onOffRight)) { - // we don't want to trigger the long press timer for the on/off buttons, also not when it's a long press key - _longPressTimer?.cancel(); - _longPressTimer = Timer.periodic(const Duration(milliseconds: 250), (timer) async { - _performActions(buttonsClicked, true); - }); - } else if (isLongPress) { - // Update currently pressed buttons - _previouslyPressedButtons = buttonsClicked.toSet(); - } - - return _performActions(buttonsClicked, false); - } + return handleButtonsClicked(buttonsClicked); }) .catchError((e) { actionStreamInternal.add(LogNotification(e.toString())); @@ -381,6 +267,47 @@ abstract class BaseDevice { Future?> processClickNotification(Uint8List message); + Future handleButtonsClicked(List? buttonsClicked) async { + if (buttonsClicked == null) { + // ignore, no changes + } else if (buttonsClicked.isEmpty) { + actionStreamInternal.add(LogNotification('Buttons released')); + _longPressTimer?.cancel(); + + // Handle release events for long press keys + final buttonsReleased = _previouslyPressedButtons.toList(); + if (buttonsReleased.isNotEmpty) { + await _performRelease(buttonsReleased); + } + _previouslyPressedButtons.clear(); + } else { + // Handle release events for buttons that are no longer pressed + final buttonsReleased = _previouslyPressedButtons.difference(buttonsClicked.toSet()).toList(); + if (buttonsReleased.isNotEmpty) { + await _performRelease(buttonsReleased); + } + + final isLongPress = + buttonsClicked.singleOrNull != null && + actionHandler.supportedApp?.keymap.getKeyPair(buttonsClicked.single)?.isLongPress == true; + + if (!isLongPress && + !(buttonsClicked.singleOrNull == ZwiftButton.onOffLeft || + buttonsClicked.singleOrNull == ZwiftButton.onOffRight)) { + // we don't want to trigger the long press timer for the on/off buttons, also not when it's a long press key + _longPressTimer?.cancel(); + _longPressTimer = Timer.periodic(const Duration(milliseconds: 250), (timer) async { + _performActions(buttonsClicked, true); + }); + } else if (isLongPress) { + // Update currently pressed buttons + _previouslyPressedButtons = buttonsClicked.toSet(); + } + + return _performActions(buttonsClicked, false); + } + } + Future _performActions(List buttonsClicked, bool repeated) async { if (!repeated && buttonsClicked.any(((e) => e.action == InGameAction.shiftDown || e.action == InGameAction.shiftUp)) && diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart index c3c505daa..d0f3c572b 100644 --- a/lib/bluetooth/devices/zwift_ride.dart +++ b/lib/bluetooth/devices/zwift_ride.dart @@ -1,10 +1,15 @@ -import 'dart:typed_data'; - +import 'package:dartx/dartx.dart'; +import 'package:flutter/foundation.dart'; +import 'package:protobuf/protobuf.dart' as $pb; import 'package:swift_control/bluetooth/devices/base_device.dart'; import 'package:swift_control/bluetooth/messages/ride_notification.dart'; import 'package:swift_control/utils/keymap/buttons.dart'; +import 'package:universal_ble/universal_ble.dart'; +import '../../main.dart'; import '../ble.dart'; +import '../messages/notification.dart'; +import '../protocol/zp.pb.dart'; class ZwiftRide extends BaseDevice { ZwiftRide(super.scanResult) @@ -39,6 +44,128 @@ class ZwiftRide extends BaseDevice { RideNotification? _lastControllerNotification; + @override + Future processData(Uint8List bytes) async { + Opcode? opcode; + Uint8List message; + + if (supportsEncryption) { + final counter = bytes.sublist(0, 4); // Int.SIZE_BYTES is 4 + final payload = bytes.sublist(4); + + if (zapEncryption.encryptionKeyBytes == null) { + actionStreamInternal.add( + LogNotification( + 'Encryption not initialized, yet. You may need to update the firmware of your device with the Zwift Companion app.', + ), + ); + return; + } + + final data = zapEncryption.decrypt(counter, payload); + opcode = Opcode.valueOf(data[0]); + message = data.sublist(1); + } else { + opcode = Opcode.valueOf(bytes[0]); + message = bytes.sublist(1); + } + + if (kDebugMode) { + print( + '${DateTime.now().toString().split(" ").last} Received $opcode: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')} => ${String.fromCharCodes(bytes)} ', + ); + } + + if (bytes.startsWith(Constants.RESPONSE_STOPPED_CLICK_V2)) { + print('no more events'); + //connect(); + } + + switch (opcode) { + case Opcode.RIDE_ON: + //print("Empty RideOn response - unencrypted mode"); + //_sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_DEV_INFO.value)); // 0008 00 + + //_sendCommand(Opcode.LOG_LEVEL_SET, LogLevelSet(logLevel: LogLevel.LOGLEVEL_TRACE)); // 4108 05 + + //await _sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_CLIENT_SERVER_CONFIGURATION.value)); // 0008 10 + + /* + final buffer = Uint8List.fromList([Opcode.GET.value, ...[0x80, 0x08]]); // 0008 8008 + if (kDebugMode) { + print("Sending ${buffer.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); + } + await UniversalBle.write( + device.deviceId, + customServiceId, + syncRxCharacteristic!.uuid, + buffer, + withoutResponse: true, + );*/ + + /* + final buffer = Uint8List.fromList([Opcode.GET.value, ...[0x83, 0x06]]); // 0008 8306 + if (kDebugMode) { + print("Sending ${buffer.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); + } + await UniversalBle.write( + device.deviceId, + customServiceId, + syncRxCharacteristic!.uuid, + buffer, + withoutResponse: true, + ); + */ + break; + case Opcode.STATUS_RESPONSE: + final status = StatusResponse.fromBuffer(message); + print('StatusResponse: ${status.command} status: ${Status.valueOf(status.status)}'); + break; + case Opcode.GET_RESPONSE: + final response = GetResponse.fromBuffer(message); + final dataObjectType = DO.valueOf(response.dataObjectId); + print('GetResponse: $dataObjectType'); + + switch (dataObjectType) { + case DO.PAGE_DEV_INFO: + final pageDevInfo = DevInfoPage.fromBuffer(response.dataObjectData); + print('PageDevInfo: $pageDevInfo'); + break; + case DO.PAGE_DATE_TIME: + final pageDateTime = DateTimePage.fromBuffer(response.dataObjectData); + print('PageDateTime: $pageDateTime'); + break; + default: + break; + } + break; + case Opcode.VENDOR_MESSAGE: + break; + case Opcode.LOG_DATA: + final logMessage = LogDataNotification.fromBuffer(message); + actionStreamInternal.add(LogNotification(logMessage.toString())); + break; + case Opcode.BATTERY_NOTIF: + final notification = BatteryNotification.fromBuffer(message); + if (batteryLevel != notification.newPercLevel) { + batteryLevel = notification.newPercLevel; + connection.signalChange(this); + } + break; + case null: // the old Zwift Click acts differently + case Opcode.CONTROLLER_NOTIFICATION: + processClickNotification(message) + .then((buttonsClicked) async { + return handleButtonsClicked(buttonsClicked); + }) + .catchError((e) { + actionStreamInternal.add(LogNotification(e.toString())); + }); + break; + } + return super.processData(bytes); + } + @override Future?> processClickNotification(Uint8List message) async { final RideNotification clickNotification = RideNotification(message); @@ -53,4 +180,18 @@ class ZwiftRide extends BaseDevice { return null; } } + + Future _sendCommand(Opcode opCode, $pb.GeneratedMessage message) async { + final buffer = Uint8List.fromList([opCode.value, ...message.writeToBuffer()]); + if (kDebugMode) { + print("Sending $opCode: ${buffer.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); + } + await UniversalBle.write( + device.deviceId, + customServiceId, + syncRxCharacteristic!.uuid, + buffer, + withoutResponse: true, + ); + } } diff --git a/lib/bluetooth/protocol/zp.pb.dart b/lib/bluetooth/protocol/zp.pb.dart new file mode 100644 index 000000000..5396da800 --- /dev/null +++ b/lib/bluetooth/protocol/zp.pb.dart @@ -0,0 +1,6146 @@ +// +// Generated code. Do not modify. +// source: zp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'zp.pbenum.dart'; + +export 'zp.pbenum.dart'; + +class TrainerEnvSim extends $pb.GeneratedMessage { + factory TrainerEnvSim({ + $core.int? simulatedWind, + $core.int? simulatedGrade, + $core.int? simulatedCW, + $core.int? simulatedCRR, + }) { + final $result = create(); + if (simulatedWind != null) { + $result.simulatedWind = simulatedWind; + } + if (simulatedGrade != null) { + $result.simulatedGrade = simulatedGrade; + } + if (simulatedCW != null) { + $result.simulatedCW = simulatedCW; + } + if (simulatedCRR != null) { + $result.simulatedCRR = simulatedCRR; + } + return $result; + } + TrainerEnvSim._() : super(); + factory TrainerEnvSim.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory TrainerEnvSim.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrainerEnvSim', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'simulatedWind', $pb.PbFieldType.OS3, protoName: 'simulatedWind') + ..a<$core.int>(2, _omitFieldNames ? '' : 'simulatedGrade', $pb.PbFieldType.OS3, protoName: 'simulatedGrade') + ..a<$core.int>(3, _omitFieldNames ? '' : 'simulatedCW', $pb.PbFieldType.OU3, protoName: 'simulatedCW') + ..a<$core.int>(4, _omitFieldNames ? '' : 'simulatedCRR', $pb.PbFieldType.OU3, protoName: 'simulatedCRR') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrainerEnvSim clone() => TrainerEnvSim()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrainerEnvSim copyWith(void Function(TrainerEnvSim) updates) => super.copyWith((message) => updates(message as TrainerEnvSim)) as TrainerEnvSim; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrainerEnvSim create() => TrainerEnvSim._(); + TrainerEnvSim createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrainerEnvSim getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TrainerEnvSim? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get simulatedWind => $_getIZ(0); + @$pb.TagNumber(1) + set simulatedWind($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSimulatedWind() => $_has(0); + @$pb.TagNumber(1) + void clearSimulatedWind() => clearField(1); + + @$pb.TagNumber(2) + $core.int get simulatedGrade => $_getIZ(1); + @$pb.TagNumber(2) + set simulatedGrade($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasSimulatedGrade() => $_has(1); + @$pb.TagNumber(2) + void clearSimulatedGrade() => clearField(2); + + @$pb.TagNumber(3) + $core.int get simulatedCW => $_getIZ(2); + @$pb.TagNumber(3) + set simulatedCW($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasSimulatedCW() => $_has(2); + @$pb.TagNumber(3) + void clearSimulatedCW() => clearField(3); + + @$pb.TagNumber(4) + $core.int get simulatedCRR => $_getIZ(3); + @$pb.TagNumber(4) + set simulatedCRR($core.int v) { $_setUnsignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasSimulatedCRR() => $_has(3); + @$pb.TagNumber(4) + void clearSimulatedCRR() => clearField(4); +} + +class TrainerBikeSim extends $pb.GeneratedMessage { + factory TrainerBikeSim({ + $core.int? simulatedRealGearRatio, + $core.int? simulatedVirtualGearRatio, + $core.int? simulatedWheelDiameter, + $core.int? simulatedBikeMass, + $core.int? simulatedRiderMass, + $core.int? simulatedFrontalArea, + $core.int? eBrake, + }) { + final $result = create(); + if (simulatedRealGearRatio != null) { + $result.simulatedRealGearRatio = simulatedRealGearRatio; + } + if (simulatedVirtualGearRatio != null) { + $result.simulatedVirtualGearRatio = simulatedVirtualGearRatio; + } + if (simulatedWheelDiameter != null) { + $result.simulatedWheelDiameter = simulatedWheelDiameter; + } + if (simulatedBikeMass != null) { + $result.simulatedBikeMass = simulatedBikeMass; + } + if (simulatedRiderMass != null) { + $result.simulatedRiderMass = simulatedRiderMass; + } + if (simulatedFrontalArea != null) { + $result.simulatedFrontalArea = simulatedFrontalArea; + } + if (eBrake != null) { + $result.eBrake = eBrake; + } + return $result; + } + TrainerBikeSim._() : super(); + factory TrainerBikeSim.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory TrainerBikeSim.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrainerBikeSim', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'simulatedRealGearRatio', $pb.PbFieldType.OU3, protoName: 'simulatedRealGearRatio') + ..a<$core.int>(2, _omitFieldNames ? '' : 'simulatedVirtualGearRatio', $pb.PbFieldType.OU3, protoName: 'simulatedVirtualGearRatio') + ..a<$core.int>(3, _omitFieldNames ? '' : 'simulatedWheelDiameter', $pb.PbFieldType.OU3, protoName: 'simulatedWheelDiameter') + ..a<$core.int>(4, _omitFieldNames ? '' : 'simulatedBikeMass', $pb.PbFieldType.OU3, protoName: 'simulatedBikeMass') + ..a<$core.int>(5, _omitFieldNames ? '' : 'simulatedRiderMass', $pb.PbFieldType.OU3, protoName: 'simulatedRiderMass') + ..a<$core.int>(6, _omitFieldNames ? '' : 'simulatedFrontalArea', $pb.PbFieldType.OU3, protoName: 'simulatedFrontalArea') + ..a<$core.int>(7, _omitFieldNames ? '' : 'eBrake', $pb.PbFieldType.OU3, protoName: 'eBrake') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrainerBikeSim clone() => TrainerBikeSim()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrainerBikeSim copyWith(void Function(TrainerBikeSim) updates) => super.copyWith((message) => updates(message as TrainerBikeSim)) as TrainerBikeSim; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrainerBikeSim create() => TrainerBikeSim._(); + TrainerBikeSim createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrainerBikeSim getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TrainerBikeSim? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get simulatedRealGearRatio => $_getIZ(0); + @$pb.TagNumber(1) + set simulatedRealGearRatio($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSimulatedRealGearRatio() => $_has(0); + @$pb.TagNumber(1) + void clearSimulatedRealGearRatio() => clearField(1); + + @$pb.TagNumber(2) + $core.int get simulatedVirtualGearRatio => $_getIZ(1); + @$pb.TagNumber(2) + set simulatedVirtualGearRatio($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasSimulatedVirtualGearRatio() => $_has(1); + @$pb.TagNumber(2) + void clearSimulatedVirtualGearRatio() => clearField(2); + + @$pb.TagNumber(3) + $core.int get simulatedWheelDiameter => $_getIZ(2); + @$pb.TagNumber(3) + set simulatedWheelDiameter($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasSimulatedWheelDiameter() => $_has(2); + @$pb.TagNumber(3) + void clearSimulatedWheelDiameter() => clearField(3); + + @$pb.TagNumber(4) + $core.int get simulatedBikeMass => $_getIZ(3); + @$pb.TagNumber(4) + set simulatedBikeMass($core.int v) { $_setUnsignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasSimulatedBikeMass() => $_has(3); + @$pb.TagNumber(4) + void clearSimulatedBikeMass() => clearField(4); + + @$pb.TagNumber(5) + $core.int get simulatedRiderMass => $_getIZ(4); + @$pb.TagNumber(5) + set simulatedRiderMass($core.int v) { $_setUnsignedInt32(4, v); } + @$pb.TagNumber(5) + $core.bool hasSimulatedRiderMass() => $_has(4); + @$pb.TagNumber(5) + void clearSimulatedRiderMass() => clearField(5); + + @$pb.TagNumber(6) + $core.int get simulatedFrontalArea => $_getIZ(5); + @$pb.TagNumber(6) + set simulatedFrontalArea($core.int v) { $_setUnsignedInt32(5, v); } + @$pb.TagNumber(6) + $core.bool hasSimulatedFrontalArea() => $_has(5); + @$pb.TagNumber(6) + void clearSimulatedFrontalArea() => clearField(6); + + @$pb.TagNumber(7) + $core.int get eBrake => $_getIZ(6); + @$pb.TagNumber(7) + set eBrake($core.int v) { $_setUnsignedInt32(6, v); } + @$pb.TagNumber(7) + $core.bool hasEBrake() => $_has(6); + @$pb.TagNumber(7) + void clearEBrake() => clearField(7); +} + +class ControllerAnalogEvent extends $pb.GeneratedMessage { + factory ControllerAnalogEvent({ + $core.int? sensorId, + $core.int? value, + }) { + final $result = create(); + if (sensorId != null) { + $result.sensorId = sensorId; + } + if (value != null) { + $result.value = value; + } + return $result; + } + ControllerAnalogEvent._() : super(); + factory ControllerAnalogEvent.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ControllerAnalogEvent.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ControllerAnalogEvent', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'sensorId', $pb.PbFieldType.OU3, protoName: 'sensorId') + ..a<$core.int>(2, _omitFieldNames ? '' : 'value', $pb.PbFieldType.OS3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ControllerAnalogEvent clone() => ControllerAnalogEvent()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ControllerAnalogEvent copyWith(void Function(ControllerAnalogEvent) updates) => super.copyWith((message) => updates(message as ControllerAnalogEvent)) as ControllerAnalogEvent; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ControllerAnalogEvent create() => ControllerAnalogEvent._(); + ControllerAnalogEvent createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ControllerAnalogEvent getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ControllerAnalogEvent? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get sensorId => $_getIZ(0); + @$pb.TagNumber(1) + set sensorId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSensorId() => $_has(0); + @$pb.TagNumber(1) + void clearSensorId() => clearField(1); + + @$pb.TagNumber(2) + $core.int get value => $_getIZ(1); + @$pb.TagNumber(2) + set value($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); +} + +class InputAnalogRange extends $pb.GeneratedMessage { + factory InputAnalogRange({ + $core.int? sensorId, + $core.int? minAnalogValue, + $core.int? maxAnalogValue, + }) { + final $result = create(); + if (sensorId != null) { + $result.sensorId = sensorId; + } + if (minAnalogValue != null) { + $result.minAnalogValue = minAnalogValue; + } + if (maxAnalogValue != null) { + $result.maxAnalogValue = maxAnalogValue; + } + return $result; + } + InputAnalogRange._() : super(); + factory InputAnalogRange.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory InputAnalogRange.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'InputAnalogRange', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'sensorId', $pb.PbFieldType.OU3, protoName: 'sensorId') + ..a<$core.int>(2, _omitFieldNames ? '' : 'minAnalogValue', $pb.PbFieldType.OS3, protoName: 'minAnalogValue') + ..a<$core.int>(3, _omitFieldNames ? '' : 'maxAnalogValue', $pb.PbFieldType.OS3, protoName: 'maxAnalogValue') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + InputAnalogRange clone() => InputAnalogRange()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + InputAnalogRange copyWith(void Function(InputAnalogRange) updates) => super.copyWith((message) => updates(message as InputAnalogRange)) as InputAnalogRange; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static InputAnalogRange create() => InputAnalogRange._(); + InputAnalogRange createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static InputAnalogRange getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static InputAnalogRange? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get sensorId => $_getIZ(0); + @$pb.TagNumber(1) + set sensorId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSensorId() => $_has(0); + @$pb.TagNumber(1) + void clearSensorId() => clearField(1); + + @$pb.TagNumber(2) + $core.int get minAnalogValue => $_getIZ(1); + @$pb.TagNumber(2) + set minAnalogValue($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasMinAnalogValue() => $_has(1); + @$pb.TagNumber(2) + void clearMinAnalogValue() => clearField(2); + + @$pb.TagNumber(3) + $core.int get maxAnalogValue => $_getIZ(2); + @$pb.TagNumber(3) + set maxAnalogValue($core.int v) { $_setSignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasMaxAnalogValue() => $_has(2); + @$pb.TagNumber(3) + void clearMaxAnalogValue() => clearField(3); +} + +class InputAnalogDeadzone extends $pb.GeneratedMessage { + factory InputAnalogDeadzone({ + $core.int? sensorId, + $core.int? negDeadzoneValue, + $core.int? posDeadzoneValue, + }) { + final $result = create(); + if (sensorId != null) { + $result.sensorId = sensorId; + } + if (negDeadzoneValue != null) { + $result.negDeadzoneValue = negDeadzoneValue; + } + if (posDeadzoneValue != null) { + $result.posDeadzoneValue = posDeadzoneValue; + } + return $result; + } + InputAnalogDeadzone._() : super(); + factory InputAnalogDeadzone.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory InputAnalogDeadzone.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'InputAnalogDeadzone', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'sensorId', $pb.PbFieldType.OU3, protoName: 'sensorId') + ..a<$core.int>(2, _omitFieldNames ? '' : 'negDeadzoneValue', $pb.PbFieldType.OS3, protoName: 'negDeadzoneValue') + ..a<$core.int>(3, _omitFieldNames ? '' : 'posDeadzoneValue', $pb.PbFieldType.OS3, protoName: 'posDeadzoneValue') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + InputAnalogDeadzone clone() => InputAnalogDeadzone()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + InputAnalogDeadzone copyWith(void Function(InputAnalogDeadzone) updates) => super.copyWith((message) => updates(message as InputAnalogDeadzone)) as InputAnalogDeadzone; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static InputAnalogDeadzone create() => InputAnalogDeadzone._(); + InputAnalogDeadzone createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static InputAnalogDeadzone getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static InputAnalogDeadzone? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get sensorId => $_getIZ(0); + @$pb.TagNumber(1) + set sensorId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSensorId() => $_has(0); + @$pb.TagNumber(1) + void clearSensorId() => clearField(1); + + @$pb.TagNumber(2) + $core.int get negDeadzoneValue => $_getIZ(1); + @$pb.TagNumber(2) + set negDeadzoneValue($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasNegDeadzoneValue() => $_has(1); + @$pb.TagNumber(2) + void clearNegDeadzoneValue() => clearField(2); + + @$pb.TagNumber(3) + $core.int get posDeadzoneValue => $_getIZ(2); + @$pb.TagNumber(3) + set posDeadzoneValue($core.int v) { $_setSignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasPosDeadzoneValue() => $_has(2); + @$pb.TagNumber(3) + void clearPosDeadzoneValue() => clearField(3); +} + +class WifiNetwork extends $pb.GeneratedMessage { + factory WifiNetwork({ + $core.int? networkId, + $core.List<$core.int>? ssid, + $core.List<$core.int>? password, + }) { + final $result = create(); + if (networkId != null) { + $result.networkId = networkId; + } + if (ssid != null) { + $result.ssid = ssid; + } + if (password != null) { + $result.password = password; + } + return $result; + } + WifiNetwork._() : super(); + factory WifiNetwork.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory WifiNetwork.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'WifiNetwork', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'networkId', $pb.PbFieldType.OU3, protoName: 'networkId') + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'ssid', $pb.PbFieldType.OY) + ..a<$core.List<$core.int>>(3, _omitFieldNames ? '' : 'password', $pb.PbFieldType.OY) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WifiNetwork clone() => WifiNetwork()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WifiNetwork copyWith(void Function(WifiNetwork) updates) => super.copyWith((message) => updates(message as WifiNetwork)) as WifiNetwork; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WifiNetwork create() => WifiNetwork._(); + WifiNetwork createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WifiNetwork getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static WifiNetwork? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get networkId => $_getIZ(0); + @$pb.TagNumber(1) + set networkId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasNetworkId() => $_has(0); + @$pb.TagNumber(1) + void clearNetworkId() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$core.int> get ssid => $_getN(1); + @$pb.TagNumber(2) + set ssid($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasSsid() => $_has(1); + @$pb.TagNumber(2) + void clearSsid() => clearField(2); + + @$pb.TagNumber(3) + $core.List<$core.int> get password => $_getN(2); + @$pb.TagNumber(3) + set password($core.List<$core.int> v) { $_setBytes(2, v); } + @$pb.TagNumber(3) + $core.bool hasPassword() => $_has(2); + @$pb.TagNumber(3) + void clearPassword() => clearField(3); +} + +class WifiRegionCode extends $pb.GeneratedMessage { + factory WifiRegionCode({ + WifiRegionCode_RegionCodeType? regionCodeType, + $core.List<$core.int>? regionCode, + }) { + final $result = create(); + if (regionCodeType != null) { + $result.regionCodeType = regionCodeType; + } + if (regionCode != null) { + $result.regionCode = regionCode; + } + return $result; + } + WifiRegionCode._() : super(); + factory WifiRegionCode.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory WifiRegionCode.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'WifiRegionCode', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'regionCodeType', $pb.PbFieldType.OE, protoName: 'regionCodeType', defaultOrMaker: WifiRegionCode_RegionCodeType.ALPHA_2, valueOf: WifiRegionCode_RegionCodeType.valueOf, enumValues: WifiRegionCode_RegionCodeType.values) + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'regionCode', $pb.PbFieldType.OY, protoName: 'regionCode') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WifiRegionCode clone() => WifiRegionCode()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WifiRegionCode copyWith(void Function(WifiRegionCode) updates) => super.copyWith((message) => updates(message as WifiRegionCode)) as WifiRegionCode; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WifiRegionCode create() => WifiRegionCode._(); + WifiRegionCode createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WifiRegionCode getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static WifiRegionCode? _defaultInstance; + + @$pb.TagNumber(1) + WifiRegionCode_RegionCodeType get regionCodeType => $_getN(0); + @$pb.TagNumber(1) + set regionCodeType(WifiRegionCode_RegionCodeType v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasRegionCodeType() => $_has(0); + @$pb.TagNumber(1) + void clearRegionCodeType() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$core.int> get regionCode => $_getN(1); + @$pb.TagNumber(2) + set regionCode($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasRegionCode() => $_has(1); + @$pb.TagNumber(2) + void clearRegionCode() => clearField(2); +} + +class WifiNetworkDetails extends $pb.GeneratedMessage { + factory WifiNetworkDetails({ + $core.int? networkId, + $core.List<$core.int>? bssid, + $core.List<$core.int>? ssid, + $core.int? securityType, + $core.int? band, + $core.int? rssi, + }) { + final $result = create(); + if (networkId != null) { + $result.networkId = networkId; + } + if (bssid != null) { + $result.bssid = bssid; + } + if (ssid != null) { + $result.ssid = ssid; + } + if (securityType != null) { + $result.securityType = securityType; + } + if (band != null) { + $result.band = band; + } + if (rssi != null) { + $result.rssi = rssi; + } + return $result; + } + WifiNetworkDetails._() : super(); + factory WifiNetworkDetails.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory WifiNetworkDetails.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'WifiNetworkDetails', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'networkId', $pb.PbFieldType.OU3, protoName: 'networkId') + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'bssid', $pb.PbFieldType.OY) + ..a<$core.List<$core.int>>(3, _omitFieldNames ? '' : 'ssid', $pb.PbFieldType.OY) + ..a<$core.int>(4, _omitFieldNames ? '' : 'securityType', $pb.PbFieldType.OU3, protoName: 'securityType') + ..a<$core.int>(5, _omitFieldNames ? '' : 'band', $pb.PbFieldType.OU3) + ..a<$core.int>(6, _omitFieldNames ? '' : 'rssi', $pb.PbFieldType.OS3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WifiNetworkDetails clone() => WifiNetworkDetails()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WifiNetworkDetails copyWith(void Function(WifiNetworkDetails) updates) => super.copyWith((message) => updates(message as WifiNetworkDetails)) as WifiNetworkDetails; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WifiNetworkDetails create() => WifiNetworkDetails._(); + WifiNetworkDetails createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WifiNetworkDetails getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static WifiNetworkDetails? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get networkId => $_getIZ(0); + @$pb.TagNumber(1) + set networkId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasNetworkId() => $_has(0); + @$pb.TagNumber(1) + void clearNetworkId() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$core.int> get bssid => $_getN(1); + @$pb.TagNumber(2) + set bssid($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasBssid() => $_has(1); + @$pb.TagNumber(2) + void clearBssid() => clearField(2); + + @$pb.TagNumber(3) + $core.List<$core.int> get ssid => $_getN(2); + @$pb.TagNumber(3) + set ssid($core.List<$core.int> v) { $_setBytes(2, v); } + @$pb.TagNumber(3) + $core.bool hasSsid() => $_has(2); + @$pb.TagNumber(3) + void clearSsid() => clearField(3); + + @$pb.TagNumber(4) + $core.int get securityType => $_getIZ(3); + @$pb.TagNumber(4) + set securityType($core.int v) { $_setUnsignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasSecurityType() => $_has(3); + @$pb.TagNumber(4) + void clearSecurityType() => clearField(4); + + @$pb.TagNumber(5) + $core.int get band => $_getIZ(4); + @$pb.TagNumber(5) + set band($core.int v) { $_setUnsignedInt32(4, v); } + @$pb.TagNumber(5) + $core.bool hasBand() => $_has(4); + @$pb.TagNumber(5) + void clearBand() => clearField(5); + + @$pb.TagNumber(6) + $core.int get rssi => $_getIZ(5); + @$pb.TagNumber(6) + set rssi($core.int v) { $_setSignedInt32(5, v); } + @$pb.TagNumber(6) + $core.bool hasRssi() => $_has(5); + @$pb.TagNumber(6) + void clearRssi() => clearField(6); +} + +class SensorInfo extends $pb.GeneratedMessage { + factory SensorInfo({ + $core.int? relayAssignedId, + $core.List<$core.int>? sensorName, + $core.List<$core.int>? sensorAddress, + InterfaceType? interfaceType, + SensorConnectionStatus? connectionStatus, + $core.Iterable? deviceTypes, + $core.bool? supportsZp, + }) { + final $result = create(); + if (relayAssignedId != null) { + $result.relayAssignedId = relayAssignedId; + } + if (sensorName != null) { + $result.sensorName = sensorName; + } + if (sensorAddress != null) { + $result.sensorAddress = sensorAddress; + } + if (interfaceType != null) { + $result.interfaceType = interfaceType; + } + if (connectionStatus != null) { + $result.connectionStatus = connectionStatus; + } + if (deviceTypes != null) { + $result.deviceTypes.addAll(deviceTypes); + } + if (supportsZp != null) { + $result.supportsZp = supportsZp; + } + return $result; + } + SensorInfo._() : super(); + factory SensorInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SensorInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SensorInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'relayAssignedId', $pb.PbFieldType.OU3, protoName: 'relayAssignedId') + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'sensorName', $pb.PbFieldType.OY, protoName: 'sensorName') + ..a<$core.List<$core.int>>(4, _omitFieldNames ? '' : 'sensorAddress', $pb.PbFieldType.OY, protoName: 'sensorAddress') + ..e(5, _omitFieldNames ? '' : 'interfaceType', $pb.PbFieldType.OE, protoName: 'interfaceType', defaultOrMaker: InterfaceType.INTERFACE_BLE, valueOf: InterfaceType.valueOf, enumValues: InterfaceType.values) + ..e(6, _omitFieldNames ? '' : 'connectionStatus', $pb.PbFieldType.OE, protoName: 'connectionStatus', defaultOrMaker: SensorConnectionStatus.SENSOR_STATUS_DISCOVERED, valueOf: SensorConnectionStatus.valueOf, enumValues: SensorConnectionStatus.values) + ..pc(7, _omitFieldNames ? '' : 'deviceTypes', $pb.PbFieldType.PE, protoName: 'deviceTypes', valueOf: DeviceType.valueOf, enumValues: DeviceType.values, defaultEnumValue: DeviceType.UNDEFINED) + ..aOB(8, _omitFieldNames ? '' : 'supportsZp', protoName: 'supportsZp') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SensorInfo clone() => SensorInfo()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SensorInfo copyWith(void Function(SensorInfo) updates) => super.copyWith((message) => updates(message as SensorInfo)) as SensorInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SensorInfo create() => SensorInfo._(); + SensorInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SensorInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SensorInfo? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get relayAssignedId => $_getIZ(0); + @$pb.TagNumber(1) + set relayAssignedId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasRelayAssignedId() => $_has(0); + @$pb.TagNumber(1) + void clearRelayAssignedId() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$core.int> get sensorName => $_getN(1); + @$pb.TagNumber(2) + set sensorName($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasSensorName() => $_has(1); + @$pb.TagNumber(2) + void clearSensorName() => clearField(2); + + @$pb.TagNumber(4) + $core.List<$core.int> get sensorAddress => $_getN(2); + @$pb.TagNumber(4) + set sensorAddress($core.List<$core.int> v) { $_setBytes(2, v); } + @$pb.TagNumber(4) + $core.bool hasSensorAddress() => $_has(2); + @$pb.TagNumber(4) + void clearSensorAddress() => clearField(4); + + @$pb.TagNumber(5) + InterfaceType get interfaceType => $_getN(3); + @$pb.TagNumber(5) + set interfaceType(InterfaceType v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasInterfaceType() => $_has(3); + @$pb.TagNumber(5) + void clearInterfaceType() => clearField(5); + + @$pb.TagNumber(6) + SensorConnectionStatus get connectionStatus => $_getN(4); + @$pb.TagNumber(6) + set connectionStatus(SensorConnectionStatus v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasConnectionStatus() => $_has(4); + @$pb.TagNumber(6) + void clearConnectionStatus() => clearField(6); + + @$pb.TagNumber(7) + $core.List get deviceTypes => $_getList(5); + + @$pb.TagNumber(8) + $core.bool get supportsZp => $_getBF(6); + @$pb.TagNumber(8) + set supportsZp($core.bool v) { $_setBool(6, v); } + @$pb.TagNumber(8) + $core.bool hasSupportsZp() => $_has(6); + @$pb.TagNumber(8) + void clearSupportsZp() => clearField(8); +} + +class SensorInfoList extends $pb.GeneratedMessage { + factory SensorInfoList({ + $core.Iterable? sensorInfo, + }) { + final $result = create(); + if (sensorInfo != null) { + $result.sensorInfo.addAll(sensorInfo); + } + return $result; + } + SensorInfoList._() : super(); + factory SensorInfoList.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SensorInfoList.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SensorInfoList', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..pc(1, _omitFieldNames ? '' : 'sensorInfo', $pb.PbFieldType.PM, protoName: 'sensorInfo', subBuilder: SensorInfo.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SensorInfoList clone() => SensorInfoList()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SensorInfoList copyWith(void Function(SensorInfoList) updates) => super.copyWith((message) => updates(message as SensorInfoList)) as SensorInfoList; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SensorInfoList create() => SensorInfoList._(); + SensorInfoList createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SensorInfoList getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SensorInfoList? _defaultInstance; + + @$pb.TagNumber(1) + $core.List get sensorInfo => $_getList(0); +} + +class DeviceUpdatePage extends $pb.GeneratedMessage { + factory DeviceUpdatePage({ + $core.int? updateStatus, + $core.int? newVersion, + }) { + final $result = create(); + if (updateStatus != null) { + $result.updateStatus = updateStatus; + } + if (newVersion != null) { + $result.newVersion = newVersion; + } + return $result; + } + DeviceUpdatePage._() : super(); + factory DeviceUpdatePage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DeviceUpdatePage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeviceUpdatePage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'updateStatus', $pb.PbFieldType.OU3, protoName: 'updateStatus') + ..a<$core.int>(2, _omitFieldNames ? '' : 'newVersion', $pb.PbFieldType.OU3, protoName: 'newVersion') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeviceUpdatePage clone() => DeviceUpdatePage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeviceUpdatePage copyWith(void Function(DeviceUpdatePage) updates) => super.copyWith((message) => updates(message as DeviceUpdatePage)) as DeviceUpdatePage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeviceUpdatePage create() => DeviceUpdatePage._(); + DeviceUpdatePage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeviceUpdatePage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DeviceUpdatePage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get updateStatus => $_getIZ(0); + @$pb.TagNumber(1) + set updateStatus($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasUpdateStatus() => $_has(0); + @$pb.TagNumber(1) + void clearUpdateStatus() => clearField(1); + + @$pb.TagNumber(2) + $core.int get newVersion => $_getIZ(1); + @$pb.TagNumber(2) + set newVersion($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasNewVersion() => $_has(1); + @$pb.TagNumber(2) + void clearNewVersion() => clearField(2); +} + +class DateTimePage extends $pb.GeneratedMessage { + factory DateTimePage({ + $core.int? utcDateTime, + }) { + final $result = create(); + if (utcDateTime != null) { + $result.utcDateTime = utcDateTime; + } + return $result; + } + DateTimePage._() : super(); + factory DateTimePage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DateTimePage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DateTimePage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'utcDateTime', $pb.PbFieldType.OU3, protoName: 'utcDateTime') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DateTimePage clone() => DateTimePage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DateTimePage copyWith(void Function(DateTimePage) updates) => super.copyWith((message) => updates(message as DateTimePage)) as DateTimePage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DateTimePage create() => DateTimePage._(); + DateTimePage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DateTimePage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DateTimePage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get utcDateTime => $_getIZ(0); + @$pb.TagNumber(1) + set utcDateTime($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasUtcDateTime() => $_has(0); + @$pb.TagNumber(1) + void clearUtcDateTime() => clearField(1); +} + +class BleSecurityPage extends $pb.GeneratedMessage { + factory BleSecurityPage({ + BleSecureConnectionStatus? secureConnectionStatus, + BleSecureConnectionWindowStatus? secureConnectionWindowStatus, + }) { + final $result = create(); + if (secureConnectionStatus != null) { + $result.secureConnectionStatus = secureConnectionStatus; + } + if (secureConnectionWindowStatus != null) { + $result.secureConnectionWindowStatus = secureConnectionWindowStatus; + } + return $result; + } + BleSecurityPage._() : super(); + factory BleSecurityPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory BleSecurityPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BleSecurityPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'secureConnectionStatus', $pb.PbFieldType.OE, protoName: 'secureConnectionStatus', defaultOrMaker: BleSecureConnectionStatus.BLE_CONNECTION_SECURITY_STATUS_NONE, valueOf: BleSecureConnectionStatus.valueOf, enumValues: BleSecureConnectionStatus.values) + ..e(2, _omitFieldNames ? '' : 'secureConnectionWindowStatus', $pb.PbFieldType.OE, protoName: 'secureConnectionWindowStatus', defaultOrMaker: BleSecureConnectionWindowStatus.BLE_SECURE_CONNECTION_WINDOW_STATUS_CLOSED, valueOf: BleSecureConnectionWindowStatus.valueOf, enumValues: BleSecureConnectionWindowStatus.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BleSecurityPage clone() => BleSecurityPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BleSecurityPage copyWith(void Function(BleSecurityPage) updates) => super.copyWith((message) => updates(message as BleSecurityPage)) as BleSecurityPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BleSecurityPage create() => BleSecurityPage._(); + BleSecurityPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BleSecurityPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BleSecurityPage? _defaultInstance; + + @$pb.TagNumber(1) + BleSecureConnectionStatus get secureConnectionStatus => $_getN(0); + @$pb.TagNumber(1) + set secureConnectionStatus(BleSecureConnectionStatus v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasSecureConnectionStatus() => $_has(0); + @$pb.TagNumber(1) + void clearSecureConnectionStatus() => clearField(1); + + @$pb.TagNumber(2) + BleSecureConnectionWindowStatus get secureConnectionWindowStatus => $_getN(1); + @$pb.TagNumber(2) + set secureConnectionWindowStatus(BleSecureConnectionWindowStatus v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasSecureConnectionWindowStatus() => $_has(1); + @$pb.TagNumber(2) + void clearSecureConnectionWindowStatus() => clearField(2); +} + +class DevInfoPage_DeviceCapabilities extends $pb.GeneratedMessage { + factory DevInfoPage_DeviceCapabilities({ + $core.int? deviceType, + $core.int? capabilities, + }) { + final $result = create(); + if (deviceType != null) { + $result.deviceType = deviceType; + } + if (capabilities != null) { + $result.capabilities = capabilities; + } + return $result; + } + DevInfoPage_DeviceCapabilities._() : super(); + factory DevInfoPage_DeviceCapabilities.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DevInfoPage_DeviceCapabilities.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DevInfoPage.DeviceCapabilities', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'deviceType', $pb.PbFieldType.QU3, protoName: 'deviceType') + ..a<$core.int>(2, _omitFieldNames ? '' : 'capabilities', $pb.PbFieldType.QU3) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DevInfoPage_DeviceCapabilities clone() => DevInfoPage_DeviceCapabilities()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DevInfoPage_DeviceCapabilities copyWith(void Function(DevInfoPage_DeviceCapabilities) updates) => super.copyWith((message) => updates(message as DevInfoPage_DeviceCapabilities)) as DevInfoPage_DeviceCapabilities; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DevInfoPage_DeviceCapabilities create() => DevInfoPage_DeviceCapabilities._(); + DevInfoPage_DeviceCapabilities createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DevInfoPage_DeviceCapabilities getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DevInfoPage_DeviceCapabilities? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get deviceType => $_getIZ(0); + @$pb.TagNumber(1) + set deviceType($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasDeviceType() => $_has(0); + @$pb.TagNumber(1) + void clearDeviceType() => clearField(1); + + @$pb.TagNumber(2) + $core.int get capabilities => $_getIZ(1); + @$pb.TagNumber(2) + set capabilities($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasCapabilities() => $_has(1); + @$pb.TagNumber(2) + void clearCapabilities() => clearField(2); +} + +/// Page ID 0x000 +class DevInfoPage extends $pb.GeneratedMessage { + factory DevInfoPage({ + $core.int? protocolVersion, + $core.List<$core.int>? systemFwVersion, + $core.List<$core.int>? deviceName, + $core.List<$core.int>? serialNumber, + $core.List<$core.int>? systemHwRevision, + $core.Iterable? deviceCapabilities, + $core.int? manufacturerId, + $core.int? productId, + $core.List<$core.int>? deviceUid, + }) { + final $result = create(); + if (protocolVersion != null) { + $result.protocolVersion = protocolVersion; + } + if (systemFwVersion != null) { + $result.systemFwVersion = systemFwVersion; + } + if (deviceName != null) { + $result.deviceName = deviceName; + } + if (serialNumber != null) { + $result.serialNumber = serialNumber; + } + if (systemHwRevision != null) { + $result.systemHwRevision = systemHwRevision; + } + if (deviceCapabilities != null) { + $result.deviceCapabilities.addAll(deviceCapabilities); + } + if (manufacturerId != null) { + $result.manufacturerId = manufacturerId; + } + if (productId != null) { + $result.productId = productId; + } + if (deviceUid != null) { + $result.deviceUid = deviceUid; + } + return $result; + } + DevInfoPage._() : super(); + factory DevInfoPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DevInfoPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DevInfoPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'protocolVersion', $pb.PbFieldType.OU3, protoName: 'protocolVersion') + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'systemFwVersion', $pb.PbFieldType.OY, protoName: 'systemFwVersion') + ..a<$core.List<$core.int>>(3, _omitFieldNames ? '' : 'deviceName', $pb.PbFieldType.OY, protoName: 'deviceName') + ..a<$core.List<$core.int>>(6, _omitFieldNames ? '' : 'serialNumber', $pb.PbFieldType.OY, protoName: 'serialNumber') + ..a<$core.List<$core.int>>(7, _omitFieldNames ? '' : 'systemHwRevision', $pb.PbFieldType.OY, protoName: 'systemHwRevision') + ..pc(8, _omitFieldNames ? '' : 'deviceCapabilities', $pb.PbFieldType.PM, protoName: 'deviceCapabilities', subBuilder: DevInfoPage_DeviceCapabilities.create) + ..a<$core.int>(9, _omitFieldNames ? '' : 'manufacturerId', $pb.PbFieldType.OU3, protoName: 'manufacturerId') + ..a<$core.int>(10, _omitFieldNames ? '' : 'productId', $pb.PbFieldType.OU3, protoName: 'productId') + ..a<$core.List<$core.int>>(11, _omitFieldNames ? '' : 'deviceUid', $pb.PbFieldType.OY, protoName: 'deviceUid') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DevInfoPage clone() => DevInfoPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DevInfoPage copyWith(void Function(DevInfoPage) updates) => super.copyWith((message) => updates(message as DevInfoPage)) as DevInfoPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DevInfoPage create() => DevInfoPage._(); + DevInfoPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DevInfoPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DevInfoPage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get protocolVersion => $_getIZ(0); + @$pb.TagNumber(1) + set protocolVersion($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasProtocolVersion() => $_has(0); + @$pb.TagNumber(1) + void clearProtocolVersion() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$core.int> get systemFwVersion => $_getN(1); + @$pb.TagNumber(2) + set systemFwVersion($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasSystemFwVersion() => $_has(1); + @$pb.TagNumber(2) + void clearSystemFwVersion() => clearField(2); + + @$pb.TagNumber(3) + $core.List<$core.int> get deviceName => $_getN(2); + @$pb.TagNumber(3) + set deviceName($core.List<$core.int> v) { $_setBytes(2, v); } + @$pb.TagNumber(3) + $core.bool hasDeviceName() => $_has(2); + @$pb.TagNumber(3) + void clearDeviceName() => clearField(3); + + @$pb.TagNumber(6) + $core.List<$core.int> get serialNumber => $_getN(3); + @$pb.TagNumber(6) + set serialNumber($core.List<$core.int> v) { $_setBytes(3, v); } + @$pb.TagNumber(6) + $core.bool hasSerialNumber() => $_has(3); + @$pb.TagNumber(6) + void clearSerialNumber() => clearField(6); + + @$pb.TagNumber(7) + $core.List<$core.int> get systemHwRevision => $_getN(4); + @$pb.TagNumber(7) + set systemHwRevision($core.List<$core.int> v) { $_setBytes(4, v); } + @$pb.TagNumber(7) + $core.bool hasSystemHwRevision() => $_has(4); + @$pb.TagNumber(7) + void clearSystemHwRevision() => clearField(7); + + @$pb.TagNumber(8) + $core.List get deviceCapabilities => $_getList(5); + + @$pb.TagNumber(9) + $core.int get manufacturerId => $_getIZ(6); + @$pb.TagNumber(9) + set manufacturerId($core.int v) { $_setUnsignedInt32(6, v); } + @$pb.TagNumber(9) + $core.bool hasManufacturerId() => $_has(6); + @$pb.TagNumber(9) + void clearManufacturerId() => clearField(9); + + @$pb.TagNumber(10) + $core.int get productId => $_getIZ(7); + @$pb.TagNumber(10) + set productId($core.int v) { $_setUnsignedInt32(7, v); } + @$pb.TagNumber(10) + $core.bool hasProductId() => $_has(7); + @$pb.TagNumber(10) + void clearProductId() => clearField(10); + + @$pb.TagNumber(11) + $core.List<$core.int> get deviceUid => $_getN(8); + @$pb.TagNumber(11) + set deviceUid($core.List<$core.int> v) { $_setBytes(8, v); } + @$pb.TagNumber(11) + $core.bool hasDeviceUid() => $_has(8); + @$pb.TagNumber(11) + void clearDeviceUid() => clearField(11); +} + +/// Page ID 0x010 +class ClientServerCfgPage extends $pb.GeneratedMessage { + factory ClientServerCfgPage({ + $core.int? notifications, + }) { + final $result = create(); + if (notifications != null) { + $result.notifications = notifications; + } + return $result; + } + ClientServerCfgPage._() : super(); + factory ClientServerCfgPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ClientServerCfgPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ClientServerCfgPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'notifications', $pb.PbFieldType.OU3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ClientServerCfgPage clone() => ClientServerCfgPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ClientServerCfgPage copyWith(void Function(ClientServerCfgPage) updates) => super.copyWith((message) => updates(message as ClientServerCfgPage)) as ClientServerCfgPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ClientServerCfgPage create() => ClientServerCfgPage._(); + ClientServerCfgPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ClientServerCfgPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ClientServerCfgPage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get notifications => $_getIZ(0); + @$pb.TagNumber(1) + set notifications($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasNotifications() => $_has(0); + @$pb.TagNumber(1) + void clearNotifications() => clearField(1); +} + +/// Page ID 0x020 +class TrainerSimulationParam extends $pb.GeneratedMessage { + factory TrainerSimulationParam({ + $core.int? configuredResistance, + $core.int? ergPower, + $core.int? averagingWindow, + $core.int? simulatedWind, + $core.int? simulatedGrade, + $core.int? simulatedRealGearRatio, + $core.int? simulatedVirtualGearRatio, + $core.int? simulatedCW, + $core.int? simulatedWheelDiameter, + $core.int? simulatedBikeMass, + $core.int? simulatedRiderMass, + $core.int? simulatedCRR, + $core.int? simulatedFrontalArea, + $core.int? simulatedEBrake, + }) { + final $result = create(); + if (configuredResistance != null) { + $result.configuredResistance = configuredResistance; + } + if (ergPower != null) { + $result.ergPower = ergPower; + } + if (averagingWindow != null) { + $result.averagingWindow = averagingWindow; + } + if (simulatedWind != null) { + $result.simulatedWind = simulatedWind; + } + if (simulatedGrade != null) { + $result.simulatedGrade = simulatedGrade; + } + if (simulatedRealGearRatio != null) { + $result.simulatedRealGearRatio = simulatedRealGearRatio; + } + if (simulatedVirtualGearRatio != null) { + $result.simulatedVirtualGearRatio = simulatedVirtualGearRatio; + } + if (simulatedCW != null) { + $result.simulatedCW = simulatedCW; + } + if (simulatedWheelDiameter != null) { + $result.simulatedWheelDiameter = simulatedWheelDiameter; + } + if (simulatedBikeMass != null) { + $result.simulatedBikeMass = simulatedBikeMass; + } + if (simulatedRiderMass != null) { + $result.simulatedRiderMass = simulatedRiderMass; + } + if (simulatedCRR != null) { + $result.simulatedCRR = simulatedCRR; + } + if (simulatedFrontalArea != null) { + $result.simulatedFrontalArea = simulatedFrontalArea; + } + if (simulatedEBrake != null) { + $result.simulatedEBrake = simulatedEBrake; + } + return $result; + } + TrainerSimulationParam._() : super(); + factory TrainerSimulationParam.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory TrainerSimulationParam.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrainerSimulationParam', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'configuredResistance', $pb.PbFieldType.OU3, protoName: 'configuredResistance') + ..a<$core.int>(2, _omitFieldNames ? '' : 'ergPower', $pb.PbFieldType.OU3, protoName: 'ergPower') + ..a<$core.int>(3, _omitFieldNames ? '' : 'averagingWindow', $pb.PbFieldType.OU3, protoName: 'averagingWindow') + ..a<$core.int>(4, _omitFieldNames ? '' : 'simulatedWind', $pb.PbFieldType.OS3, protoName: 'simulatedWind') + ..a<$core.int>(5, _omitFieldNames ? '' : 'simulatedGrade', $pb.PbFieldType.OS3, protoName: 'simulatedGrade') + ..a<$core.int>(6, _omitFieldNames ? '' : 'simulatedRealGearRatio', $pb.PbFieldType.OU3, protoName: 'simulatedRealGearRatio') + ..a<$core.int>(7, _omitFieldNames ? '' : 'simulatedVirtualGearRatio', $pb.PbFieldType.OU3, protoName: 'simulatedVirtualGearRatio') + ..a<$core.int>(8, _omitFieldNames ? '' : 'simulatedCW', $pb.PbFieldType.OU3, protoName: 'simulatedCW') + ..a<$core.int>(9, _omitFieldNames ? '' : 'simulatedWheelDiameter', $pb.PbFieldType.OU3, protoName: 'simulatedWheelDiameter') + ..a<$core.int>(10, _omitFieldNames ? '' : 'simulatedBikeMass', $pb.PbFieldType.OU3, protoName: 'simulatedBikeMass') + ..a<$core.int>(11, _omitFieldNames ? '' : 'simulatedRiderMass', $pb.PbFieldType.OU3, protoName: 'simulatedRiderMass') + ..a<$core.int>(12, _omitFieldNames ? '' : 'simulatedCRR', $pb.PbFieldType.OU3, protoName: 'simulatedCRR') + ..a<$core.int>(13, _omitFieldNames ? '' : 'simulatedFrontalArea', $pb.PbFieldType.OU3, protoName: 'simulatedFrontalArea') + ..a<$core.int>(14, _omitFieldNames ? '' : 'simulatedEBrake', $pb.PbFieldType.OU3, protoName: 'simulatedEBrake') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrainerSimulationParam clone() => TrainerSimulationParam()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrainerSimulationParam copyWith(void Function(TrainerSimulationParam) updates) => super.copyWith((message) => updates(message as TrainerSimulationParam)) as TrainerSimulationParam; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrainerSimulationParam create() => TrainerSimulationParam._(); + TrainerSimulationParam createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrainerSimulationParam getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TrainerSimulationParam? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get configuredResistance => $_getIZ(0); + @$pb.TagNumber(1) + set configuredResistance($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasConfiguredResistance() => $_has(0); + @$pb.TagNumber(1) + void clearConfiguredResistance() => clearField(1); + + @$pb.TagNumber(2) + $core.int get ergPower => $_getIZ(1); + @$pb.TagNumber(2) + set ergPower($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasErgPower() => $_has(1); + @$pb.TagNumber(2) + void clearErgPower() => clearField(2); + + @$pb.TagNumber(3) + $core.int get averagingWindow => $_getIZ(2); + @$pb.TagNumber(3) + set averagingWindow($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasAveragingWindow() => $_has(2); + @$pb.TagNumber(3) + void clearAveragingWindow() => clearField(3); + + @$pb.TagNumber(4) + $core.int get simulatedWind => $_getIZ(3); + @$pb.TagNumber(4) + set simulatedWind($core.int v) { $_setSignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasSimulatedWind() => $_has(3); + @$pb.TagNumber(4) + void clearSimulatedWind() => clearField(4); + + @$pb.TagNumber(5) + $core.int get simulatedGrade => $_getIZ(4); + @$pb.TagNumber(5) + set simulatedGrade($core.int v) { $_setSignedInt32(4, v); } + @$pb.TagNumber(5) + $core.bool hasSimulatedGrade() => $_has(4); + @$pb.TagNumber(5) + void clearSimulatedGrade() => clearField(5); + + @$pb.TagNumber(6) + $core.int get simulatedRealGearRatio => $_getIZ(5); + @$pb.TagNumber(6) + set simulatedRealGearRatio($core.int v) { $_setUnsignedInt32(5, v); } + @$pb.TagNumber(6) + $core.bool hasSimulatedRealGearRatio() => $_has(5); + @$pb.TagNumber(6) + void clearSimulatedRealGearRatio() => clearField(6); + + @$pb.TagNumber(7) + $core.int get simulatedVirtualGearRatio => $_getIZ(6); + @$pb.TagNumber(7) + set simulatedVirtualGearRatio($core.int v) { $_setUnsignedInt32(6, v); } + @$pb.TagNumber(7) + $core.bool hasSimulatedVirtualGearRatio() => $_has(6); + @$pb.TagNumber(7) + void clearSimulatedVirtualGearRatio() => clearField(7); + + @$pb.TagNumber(8) + $core.int get simulatedCW => $_getIZ(7); + @$pb.TagNumber(8) + set simulatedCW($core.int v) { $_setUnsignedInt32(7, v); } + @$pb.TagNumber(8) + $core.bool hasSimulatedCW() => $_has(7); + @$pb.TagNumber(8) + void clearSimulatedCW() => clearField(8); + + @$pb.TagNumber(9) + $core.int get simulatedWheelDiameter => $_getIZ(8); + @$pb.TagNumber(9) + set simulatedWheelDiameter($core.int v) { $_setUnsignedInt32(8, v); } + @$pb.TagNumber(9) + $core.bool hasSimulatedWheelDiameter() => $_has(8); + @$pb.TagNumber(9) + void clearSimulatedWheelDiameter() => clearField(9); + + @$pb.TagNumber(10) + $core.int get simulatedBikeMass => $_getIZ(9); + @$pb.TagNumber(10) + set simulatedBikeMass($core.int v) { $_setUnsignedInt32(9, v); } + @$pb.TagNumber(10) + $core.bool hasSimulatedBikeMass() => $_has(9); + @$pb.TagNumber(10) + void clearSimulatedBikeMass() => clearField(10); + + @$pb.TagNumber(11) + $core.int get simulatedRiderMass => $_getIZ(10); + @$pb.TagNumber(11) + set simulatedRiderMass($core.int v) { $_setUnsignedInt32(10, v); } + @$pb.TagNumber(11) + $core.bool hasSimulatedRiderMass() => $_has(10); + @$pb.TagNumber(11) + void clearSimulatedRiderMass() => clearField(11); + + @$pb.TagNumber(12) + $core.int get simulatedCRR => $_getIZ(11); + @$pb.TagNumber(12) + set simulatedCRR($core.int v) { $_setUnsignedInt32(11, v); } + @$pb.TagNumber(12) + $core.bool hasSimulatedCRR() => $_has(11); + @$pb.TagNumber(12) + void clearSimulatedCRR() => clearField(12); + + @$pb.TagNumber(13) + $core.int get simulatedFrontalArea => $_getIZ(12); + @$pb.TagNumber(13) + set simulatedFrontalArea($core.int v) { $_setUnsignedInt32(12, v); } + @$pb.TagNumber(13) + $core.bool hasSimulatedFrontalArea() => $_has(12); + @$pb.TagNumber(13) + void clearSimulatedFrontalArea() => clearField(13); + + @$pb.TagNumber(14) + $core.int get simulatedEBrake => $_getIZ(13); + @$pb.TagNumber(14) + set simulatedEBrake($core.int v) { $_setUnsignedInt32(13, v); } + @$pb.TagNumber(14) + $core.bool hasSimulatedEBrake() => $_has(13); + @$pb.TagNumber(14) + void clearSimulatedEBrake() => clearField(14); +} + +/// Page ID 0x022 +class TrainerOptions extends $pb.GeneratedMessage { + factory TrainerOptions({ + $core.bool? highSpeedDataEnabled, + $core.bool? ergPowerSmoothingEnabled, + $core.int? virtualShiftingMode, + }) { + final $result = create(); + if (highSpeedDataEnabled != null) { + $result.highSpeedDataEnabled = highSpeedDataEnabled; + } + if (ergPowerSmoothingEnabled != null) { + $result.ergPowerSmoothingEnabled = ergPowerSmoothingEnabled; + } + if (virtualShiftingMode != null) { + $result.virtualShiftingMode = virtualShiftingMode; + } + return $result; + } + TrainerOptions._() : super(); + factory TrainerOptions.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory TrainerOptions.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrainerOptions', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'highSpeedDataEnabled', protoName: 'highSpeedDataEnabled') + ..aOB(2, _omitFieldNames ? '' : 'ergPowerSmoothingEnabled', protoName: 'ergPowerSmoothingEnabled') + ..a<$core.int>(3, _omitFieldNames ? '' : 'virtualShiftingMode', $pb.PbFieldType.OU3, protoName: 'virtualShiftingMode') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrainerOptions clone() => TrainerOptions()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrainerOptions copyWith(void Function(TrainerOptions) updates) => super.copyWith((message) => updates(message as TrainerOptions)) as TrainerOptions; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrainerOptions create() => TrainerOptions._(); + TrainerOptions createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrainerOptions getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TrainerOptions? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get highSpeedDataEnabled => $_getBF(0); + @$pb.TagNumber(1) + set highSpeedDataEnabled($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasHighSpeedDataEnabled() => $_has(0); + @$pb.TagNumber(1) + void clearHighSpeedDataEnabled() => clearField(1); + + @$pb.TagNumber(2) + $core.bool get ergPowerSmoothingEnabled => $_getBF(1); + @$pb.TagNumber(2) + set ergPowerSmoothingEnabled($core.bool v) { $_setBool(1, v); } + @$pb.TagNumber(2) + $core.bool hasErgPowerSmoothingEnabled() => $_has(1); + @$pb.TagNumber(2) + void clearErgPowerSmoothingEnabled() => clearField(2); + + @$pb.TagNumber(3) + $core.int get virtualShiftingMode => $_getIZ(2); + @$pb.TagNumber(3) + set virtualShiftingMode($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasVirtualShiftingMode() => $_has(2); + @$pb.TagNumber(3) + void clearVirtualShiftingMode() => clearField(3); +} + +/// Page ID 0x020 and 0x022 (Get Response) +class TrainerCfgPage extends $pb.GeneratedMessage { + factory TrainerCfgPage({ + TrainerMode? trainerMode, + $core.int? configuredResistance, + $core.int? ergPower, + $core.int? averagingWindow, + $core.int? simulatedWind, + $core.int? simulatedGrade, + $core.int? simulatedRealGearRatio, + $core.int? simulatedVirtualGearRatio, + $core.int? simulatedCW, + $core.int? simulatedWheelDiameter, + $core.int? simulatedBikeMass, + $core.int? simulatedRiderMass, + $core.int? simulatedCRR, + $core.int? simulatedFrontalArea, + $core.int? simulatedEBrake, + $core.bool? highSpeedDataEnabled, + $core.bool? ergPowerSmoothingEnabled, + $core.int? virtualShiftingMode, + }) { + final $result = create(); + if (trainerMode != null) { + $result.trainerMode = trainerMode; + } + if (configuredResistance != null) { + $result.configuredResistance = configuredResistance; + } + if (ergPower != null) { + $result.ergPower = ergPower; + } + if (averagingWindow != null) { + $result.averagingWindow = averagingWindow; + } + if (simulatedWind != null) { + $result.simulatedWind = simulatedWind; + } + if (simulatedGrade != null) { + $result.simulatedGrade = simulatedGrade; + } + if (simulatedRealGearRatio != null) { + $result.simulatedRealGearRatio = simulatedRealGearRatio; + } + if (simulatedVirtualGearRatio != null) { + $result.simulatedVirtualGearRatio = simulatedVirtualGearRatio; + } + if (simulatedCW != null) { + $result.simulatedCW = simulatedCW; + } + if (simulatedWheelDiameter != null) { + $result.simulatedWheelDiameter = simulatedWheelDiameter; + } + if (simulatedBikeMass != null) { + $result.simulatedBikeMass = simulatedBikeMass; + } + if (simulatedRiderMass != null) { + $result.simulatedRiderMass = simulatedRiderMass; + } + if (simulatedCRR != null) { + $result.simulatedCRR = simulatedCRR; + } + if (simulatedFrontalArea != null) { + $result.simulatedFrontalArea = simulatedFrontalArea; + } + if (simulatedEBrake != null) { + $result.simulatedEBrake = simulatedEBrake; + } + if (highSpeedDataEnabled != null) { + $result.highSpeedDataEnabled = highSpeedDataEnabled; + } + if (ergPowerSmoothingEnabled != null) { + $result.ergPowerSmoothingEnabled = ergPowerSmoothingEnabled; + } + if (virtualShiftingMode != null) { + $result.virtualShiftingMode = virtualShiftingMode; + } + return $result; + } + TrainerCfgPage._() : super(); + factory TrainerCfgPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory TrainerCfgPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrainerCfgPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'trainerMode', $pb.PbFieldType.OE, protoName: 'trainerMode', defaultOrMaker: TrainerMode.MODE_UNKNOWN, valueOf: TrainerMode.valueOf, enumValues: TrainerMode.values) + ..a<$core.int>(2, _omitFieldNames ? '' : 'configuredResistance', $pb.PbFieldType.OU3, protoName: 'configuredResistance') + ..a<$core.int>(3, _omitFieldNames ? '' : 'ergPower', $pb.PbFieldType.OU3, protoName: 'ergPower') + ..a<$core.int>(4, _omitFieldNames ? '' : 'averagingWindow', $pb.PbFieldType.OU3, protoName: 'averagingWindow') + ..a<$core.int>(5, _omitFieldNames ? '' : 'simulatedWind', $pb.PbFieldType.OS3, protoName: 'simulatedWind') + ..a<$core.int>(6, _omitFieldNames ? '' : 'simulatedGrade', $pb.PbFieldType.OS3, protoName: 'simulatedGrade') + ..a<$core.int>(7, _omitFieldNames ? '' : 'simulatedRealGearRatio', $pb.PbFieldType.OU3, protoName: 'simulatedRealGearRatio') + ..a<$core.int>(8, _omitFieldNames ? '' : 'simulatedVirtualGearRatio', $pb.PbFieldType.OU3, protoName: 'simulatedVirtualGearRatio') + ..a<$core.int>(9, _omitFieldNames ? '' : 'simulatedCW', $pb.PbFieldType.OU3, protoName: 'simulatedCW') + ..a<$core.int>(10, _omitFieldNames ? '' : 'simulatedWheelDiameter', $pb.PbFieldType.OU3, protoName: 'simulatedWheelDiameter') + ..a<$core.int>(11, _omitFieldNames ? '' : 'simulatedBikeMass', $pb.PbFieldType.OU3, protoName: 'simulatedBikeMass') + ..a<$core.int>(12, _omitFieldNames ? '' : 'simulatedRiderMass', $pb.PbFieldType.OU3, protoName: 'simulatedRiderMass') + ..a<$core.int>(13, _omitFieldNames ? '' : 'simulatedCRR', $pb.PbFieldType.OU3, protoName: 'simulatedCRR') + ..a<$core.int>(14, _omitFieldNames ? '' : 'simulatedFrontalArea', $pb.PbFieldType.OU3, protoName: 'simulatedFrontalArea') + ..a<$core.int>(15, _omitFieldNames ? '' : 'simulatedEBrake', $pb.PbFieldType.OU3, protoName: 'simulatedEBrake') + ..aOB(16, _omitFieldNames ? '' : 'highSpeedDataEnabled', protoName: 'highSpeedDataEnabled') + ..aOB(17, _omitFieldNames ? '' : 'ergPowerSmoothingEnabled', protoName: 'ergPowerSmoothingEnabled') + ..a<$core.int>(18, _omitFieldNames ? '' : 'virtualShiftingMode', $pb.PbFieldType.OU3, protoName: 'virtualShiftingMode') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrainerCfgPage clone() => TrainerCfgPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrainerCfgPage copyWith(void Function(TrainerCfgPage) updates) => super.copyWith((message) => updates(message as TrainerCfgPage)) as TrainerCfgPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrainerCfgPage create() => TrainerCfgPage._(); + TrainerCfgPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrainerCfgPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TrainerCfgPage? _defaultInstance; + + @$pb.TagNumber(1) + TrainerMode get trainerMode => $_getN(0); + @$pb.TagNumber(1) + set trainerMode(TrainerMode v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasTrainerMode() => $_has(0); + @$pb.TagNumber(1) + void clearTrainerMode() => clearField(1); + + @$pb.TagNumber(2) + $core.int get configuredResistance => $_getIZ(1); + @$pb.TagNumber(2) + set configuredResistance($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasConfiguredResistance() => $_has(1); + @$pb.TagNumber(2) + void clearConfiguredResistance() => clearField(2); + + @$pb.TagNumber(3) + $core.int get ergPower => $_getIZ(2); + @$pb.TagNumber(3) + set ergPower($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasErgPower() => $_has(2); + @$pb.TagNumber(3) + void clearErgPower() => clearField(3); + + @$pb.TagNumber(4) + $core.int get averagingWindow => $_getIZ(3); + @$pb.TagNumber(4) + set averagingWindow($core.int v) { $_setUnsignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasAveragingWindow() => $_has(3); + @$pb.TagNumber(4) + void clearAveragingWindow() => clearField(4); + + @$pb.TagNumber(5) + $core.int get simulatedWind => $_getIZ(4); + @$pb.TagNumber(5) + set simulatedWind($core.int v) { $_setSignedInt32(4, v); } + @$pb.TagNumber(5) + $core.bool hasSimulatedWind() => $_has(4); + @$pb.TagNumber(5) + void clearSimulatedWind() => clearField(5); + + @$pb.TagNumber(6) + $core.int get simulatedGrade => $_getIZ(5); + @$pb.TagNumber(6) + set simulatedGrade($core.int v) { $_setSignedInt32(5, v); } + @$pb.TagNumber(6) + $core.bool hasSimulatedGrade() => $_has(5); + @$pb.TagNumber(6) + void clearSimulatedGrade() => clearField(6); + + @$pb.TagNumber(7) + $core.int get simulatedRealGearRatio => $_getIZ(6); + @$pb.TagNumber(7) + set simulatedRealGearRatio($core.int v) { $_setUnsignedInt32(6, v); } + @$pb.TagNumber(7) + $core.bool hasSimulatedRealGearRatio() => $_has(6); + @$pb.TagNumber(7) + void clearSimulatedRealGearRatio() => clearField(7); + + @$pb.TagNumber(8) + $core.int get simulatedVirtualGearRatio => $_getIZ(7); + @$pb.TagNumber(8) + set simulatedVirtualGearRatio($core.int v) { $_setUnsignedInt32(7, v); } + @$pb.TagNumber(8) + $core.bool hasSimulatedVirtualGearRatio() => $_has(7); + @$pb.TagNumber(8) + void clearSimulatedVirtualGearRatio() => clearField(8); + + @$pb.TagNumber(9) + $core.int get simulatedCW => $_getIZ(8); + @$pb.TagNumber(9) + set simulatedCW($core.int v) { $_setUnsignedInt32(8, v); } + @$pb.TagNumber(9) + $core.bool hasSimulatedCW() => $_has(8); + @$pb.TagNumber(9) + void clearSimulatedCW() => clearField(9); + + @$pb.TagNumber(10) + $core.int get simulatedWheelDiameter => $_getIZ(9); + @$pb.TagNumber(10) + set simulatedWheelDiameter($core.int v) { $_setUnsignedInt32(9, v); } + @$pb.TagNumber(10) + $core.bool hasSimulatedWheelDiameter() => $_has(9); + @$pb.TagNumber(10) + void clearSimulatedWheelDiameter() => clearField(10); + + @$pb.TagNumber(11) + $core.int get simulatedBikeMass => $_getIZ(10); + @$pb.TagNumber(11) + set simulatedBikeMass($core.int v) { $_setUnsignedInt32(10, v); } + @$pb.TagNumber(11) + $core.bool hasSimulatedBikeMass() => $_has(10); + @$pb.TagNumber(11) + void clearSimulatedBikeMass() => clearField(11); + + @$pb.TagNumber(12) + $core.int get simulatedRiderMass => $_getIZ(11); + @$pb.TagNumber(12) + set simulatedRiderMass($core.int v) { $_setUnsignedInt32(11, v); } + @$pb.TagNumber(12) + $core.bool hasSimulatedRiderMass() => $_has(11); + @$pb.TagNumber(12) + void clearSimulatedRiderMass() => clearField(12); + + @$pb.TagNumber(13) + $core.int get simulatedCRR => $_getIZ(12); + @$pb.TagNumber(13) + set simulatedCRR($core.int v) { $_setUnsignedInt32(12, v); } + @$pb.TagNumber(13) + $core.bool hasSimulatedCRR() => $_has(12); + @$pb.TagNumber(13) + void clearSimulatedCRR() => clearField(13); + + @$pb.TagNumber(14) + $core.int get simulatedFrontalArea => $_getIZ(13); + @$pb.TagNumber(14) + set simulatedFrontalArea($core.int v) { $_setUnsignedInt32(13, v); } + @$pb.TagNumber(14) + $core.bool hasSimulatedFrontalArea() => $_has(13); + @$pb.TagNumber(14) + void clearSimulatedFrontalArea() => clearField(14); + + @$pb.TagNumber(15) + $core.int get simulatedEBrake => $_getIZ(14); + @$pb.TagNumber(15) + set simulatedEBrake($core.int v) { $_setUnsignedInt32(14, v); } + @$pb.TagNumber(15) + $core.bool hasSimulatedEBrake() => $_has(14); + @$pb.TagNumber(15) + void clearSimulatedEBrake() => clearField(15); + + @$pb.TagNumber(16) + $core.bool get highSpeedDataEnabled => $_getBF(15); + @$pb.TagNumber(16) + set highSpeedDataEnabled($core.bool v) { $_setBool(15, v); } + @$pb.TagNumber(16) + $core.bool hasHighSpeedDataEnabled() => $_has(15); + @$pb.TagNumber(16) + void clearHighSpeedDataEnabled() => clearField(16); + + @$pb.TagNumber(17) + $core.bool get ergPowerSmoothingEnabled => $_getBF(16); + @$pb.TagNumber(17) + set ergPowerSmoothingEnabled($core.bool v) { $_setBool(16, v); } + @$pb.TagNumber(17) + $core.bool hasErgPowerSmoothingEnabled() => $_has(16); + @$pb.TagNumber(17) + void clearErgPowerSmoothingEnabled() => clearField(17); + + @$pb.TagNumber(18) + $core.int get virtualShiftingMode => $_getIZ(17); + @$pb.TagNumber(18) + set virtualShiftingMode($core.int v) { $_setUnsignedInt32(17, v); } + @$pb.TagNumber(18) + $core.bool hasVirtualShiftingMode() => $_has(17); + @$pb.TagNumber(18) + void clearVirtualShiftingMode() => clearField(18); +} + +/// Page ID 0x021 +class TrainerGearIndexConfigPage extends $pb.GeneratedMessage { + factory TrainerGearIndexConfigPage({ + $core.int? frontGearIdx, + $core.int? frontGearIdxMax, + $core.int? frontGearIdxMin, + $core.int? rearGearIdx, + $core.int? rearGearIdxMax, + $core.int? rearGearIdxMin, + }) { + final $result = create(); + if (frontGearIdx != null) { + $result.frontGearIdx = frontGearIdx; + } + if (frontGearIdxMax != null) { + $result.frontGearIdxMax = frontGearIdxMax; + } + if (frontGearIdxMin != null) { + $result.frontGearIdxMin = frontGearIdxMin; + } + if (rearGearIdx != null) { + $result.rearGearIdx = rearGearIdx; + } + if (rearGearIdxMax != null) { + $result.rearGearIdxMax = rearGearIdxMax; + } + if (rearGearIdxMin != null) { + $result.rearGearIdxMin = rearGearIdxMin; + } + return $result; + } + TrainerGearIndexConfigPage._() : super(); + factory TrainerGearIndexConfigPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory TrainerGearIndexConfigPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrainerGearIndexConfigPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'frontGearIdx', $pb.PbFieldType.OU3, protoName: 'frontGearIdx') + ..a<$core.int>(2, _omitFieldNames ? '' : 'frontGearIdxMax', $pb.PbFieldType.OU3, protoName: 'frontGearIdxMax') + ..a<$core.int>(3, _omitFieldNames ? '' : 'frontGearIdxMin', $pb.PbFieldType.OU3, protoName: 'frontGearIdxMin') + ..a<$core.int>(4, _omitFieldNames ? '' : 'rearGearIdx', $pb.PbFieldType.OU3, protoName: 'rearGearIdx') + ..a<$core.int>(5, _omitFieldNames ? '' : 'rearGearIdxMax', $pb.PbFieldType.OU3, protoName: 'rearGearIdxMax') + ..a<$core.int>(6, _omitFieldNames ? '' : 'rearGearIdxMin', $pb.PbFieldType.OU3, protoName: 'rearGearIdxMin') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrainerGearIndexConfigPage clone() => TrainerGearIndexConfigPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrainerGearIndexConfigPage copyWith(void Function(TrainerGearIndexConfigPage) updates) => super.copyWith((message) => updates(message as TrainerGearIndexConfigPage)) as TrainerGearIndexConfigPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrainerGearIndexConfigPage create() => TrainerGearIndexConfigPage._(); + TrainerGearIndexConfigPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrainerGearIndexConfigPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TrainerGearIndexConfigPage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get frontGearIdx => $_getIZ(0); + @$pb.TagNumber(1) + set frontGearIdx($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasFrontGearIdx() => $_has(0); + @$pb.TagNumber(1) + void clearFrontGearIdx() => clearField(1); + + @$pb.TagNumber(2) + $core.int get frontGearIdxMax => $_getIZ(1); + @$pb.TagNumber(2) + set frontGearIdxMax($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasFrontGearIdxMax() => $_has(1); + @$pb.TagNumber(2) + void clearFrontGearIdxMax() => clearField(2); + + @$pb.TagNumber(3) + $core.int get frontGearIdxMin => $_getIZ(2); + @$pb.TagNumber(3) + set frontGearIdxMin($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasFrontGearIdxMin() => $_has(2); + @$pb.TagNumber(3) + void clearFrontGearIdxMin() => clearField(3); + + @$pb.TagNumber(4) + $core.int get rearGearIdx => $_getIZ(3); + @$pb.TagNumber(4) + set rearGearIdx($core.int v) { $_setUnsignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasRearGearIdx() => $_has(3); + @$pb.TagNumber(4) + void clearRearGearIdx() => clearField(4); + + @$pb.TagNumber(5) + $core.int get rearGearIdxMax => $_getIZ(4); + @$pb.TagNumber(5) + set rearGearIdxMax($core.int v) { $_setUnsignedInt32(4, v); } + @$pb.TagNumber(5) + $core.bool hasRearGearIdxMax() => $_has(4); + @$pb.TagNumber(5) + void clearRearGearIdxMax() => clearField(5); + + @$pb.TagNumber(6) + $core.int get rearGearIdxMin => $_getIZ(5); + @$pb.TagNumber(6) + set rearGearIdxMin($core.int v) { $_setUnsignedInt32(5, v); } + @$pb.TagNumber(6) + $core.bool hasRearGearIdxMin() => $_has(5); + @$pb.TagNumber(6) + void clearRearGearIdxMin() => clearField(6); +} + +/// Page ID 0x023 +class DeviceTiltConfigPage extends $pb.GeneratedMessage { + factory DeviceTiltConfigPage({ + $core.bool? tiltEnabled, + $core.int? tiltGradientMin, + $core.int? tiltGradientMax, + $core.int? tiltGradient, + }) { + final $result = create(); + if (tiltEnabled != null) { + $result.tiltEnabled = tiltEnabled; + } + if (tiltGradientMin != null) { + $result.tiltGradientMin = tiltGradientMin; + } + if (tiltGradientMax != null) { + $result.tiltGradientMax = tiltGradientMax; + } + if (tiltGradient != null) { + $result.tiltGradient = tiltGradient; + } + return $result; + } + DeviceTiltConfigPage._() : super(); + factory DeviceTiltConfigPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DeviceTiltConfigPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeviceTiltConfigPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'tiltEnabled', protoName: 'tiltEnabled') + ..a<$core.int>(2, _omitFieldNames ? '' : 'tiltGradientMin', $pb.PbFieldType.OS3, protoName: 'tiltGradientMin') + ..a<$core.int>(3, _omitFieldNames ? '' : 'tiltGradientMax', $pb.PbFieldType.OS3, protoName: 'tiltGradientMax') + ..a<$core.int>(4, _omitFieldNames ? '' : 'tiltGradient', $pb.PbFieldType.OS3, protoName: 'tiltGradient') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeviceTiltConfigPage clone() => DeviceTiltConfigPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeviceTiltConfigPage copyWith(void Function(DeviceTiltConfigPage) updates) => super.copyWith((message) => updates(message as DeviceTiltConfigPage)) as DeviceTiltConfigPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeviceTiltConfigPage create() => DeviceTiltConfigPage._(); + DeviceTiltConfigPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeviceTiltConfigPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DeviceTiltConfigPage? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get tiltEnabled => $_getBF(0); + @$pb.TagNumber(1) + set tiltEnabled($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasTiltEnabled() => $_has(0); + @$pb.TagNumber(1) + void clearTiltEnabled() => clearField(1); + + @$pb.TagNumber(2) + $core.int get tiltGradientMin => $_getIZ(1); + @$pb.TagNumber(2) + set tiltGradientMin($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasTiltGradientMin() => $_has(1); + @$pb.TagNumber(2) + void clearTiltGradientMin() => clearField(2); + + @$pb.TagNumber(3) + $core.int get tiltGradientMax => $_getIZ(2); + @$pb.TagNumber(3) + set tiltGradientMax($core.int v) { $_setSignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasTiltGradientMax() => $_has(2); + @$pb.TagNumber(3) + void clearTiltGradientMax() => clearField(3); + + @$pb.TagNumber(4) + $core.int get tiltGradient => $_getIZ(3); + @$pb.TagNumber(4) + set tiltGradient($core.int v) { $_setSignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasTiltGradient() => $_has(3); + @$pb.TagNumber(4) + void clearTiltGradient() => clearField(4); +} + +/// Page ID 0x040 +class ControllerInputConfigPage extends $pb.GeneratedMessage { + factory ControllerInputConfigPage({ + $core.int? supportedDigitalInputs, + $core.int? supportedAnalogInputs, + $core.Iterable? analogInputRange, + $core.Iterable? analogDeadZone, + }) { + final $result = create(); + if (supportedDigitalInputs != null) { + $result.supportedDigitalInputs = supportedDigitalInputs; + } + if (supportedAnalogInputs != null) { + $result.supportedAnalogInputs = supportedAnalogInputs; + } + if (analogInputRange != null) { + $result.analogInputRange.addAll(analogInputRange); + } + if (analogDeadZone != null) { + $result.analogDeadZone.addAll(analogDeadZone); + } + return $result; + } + ControllerInputConfigPage._() : super(); + factory ControllerInputConfigPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ControllerInputConfigPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ControllerInputConfigPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'supportedDigitalInputs', $pb.PbFieldType.OU3, protoName: 'supportedDigitalInputs') + ..a<$core.int>(2, _omitFieldNames ? '' : 'supportedAnalogInputs', $pb.PbFieldType.OU3, protoName: 'supportedAnalogInputs') + ..pc(3, _omitFieldNames ? '' : 'analogInputRange', $pb.PbFieldType.PM, protoName: 'analogInputRange', subBuilder: InputAnalogRange.create) + ..pc(4, _omitFieldNames ? '' : 'analogDeadZone', $pb.PbFieldType.PM, protoName: 'analogDeadZone', subBuilder: InputAnalogDeadzone.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ControllerInputConfigPage clone() => ControllerInputConfigPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ControllerInputConfigPage copyWith(void Function(ControllerInputConfigPage) updates) => super.copyWith((message) => updates(message as ControllerInputConfigPage)) as ControllerInputConfigPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ControllerInputConfigPage create() => ControllerInputConfigPage._(); + ControllerInputConfigPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ControllerInputConfigPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ControllerInputConfigPage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get supportedDigitalInputs => $_getIZ(0); + @$pb.TagNumber(1) + set supportedDigitalInputs($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSupportedDigitalInputs() => $_has(0); + @$pb.TagNumber(1) + void clearSupportedDigitalInputs() => clearField(1); + + @$pb.TagNumber(2) + $core.int get supportedAnalogInputs => $_getIZ(1); + @$pb.TagNumber(2) + set supportedAnalogInputs($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasSupportedAnalogInputs() => $_has(1); + @$pb.TagNumber(2) + void clearSupportedAnalogInputs() => clearField(2); + + @$pb.TagNumber(3) + $core.List get analogInputRange => $_getList(2); + + @$pb.TagNumber(4) + $core.List get analogDeadZone => $_getList(3); +} + +/// Page 0x041 +class IpTransportPage extends $pb.GeneratedMessage { + factory IpTransportPage({ + $core.int? ipv4Address, + $core.int? tcpPort, + }) { + final $result = create(); + if (ipv4Address != null) { + $result.ipv4Address = ipv4Address; + } + if (tcpPort != null) { + $result.tcpPort = tcpPort; + } + return $result; + } + IpTransportPage._() : super(); + factory IpTransportPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory IpTransportPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'IpTransportPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'ipv4Address', $pb.PbFieldType.OU3, protoName: 'ipv4Address') + ..a<$core.int>(2, _omitFieldNames ? '' : 'tcpPort', $pb.PbFieldType.OU3, protoName: 'tcpPort') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + IpTransportPage clone() => IpTransportPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + IpTransportPage copyWith(void Function(IpTransportPage) updates) => super.copyWith((message) => updates(message as IpTransportPage)) as IpTransportPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static IpTransportPage create() => IpTransportPage._(); + IpTransportPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static IpTransportPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static IpTransportPage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get ipv4Address => $_getIZ(0); + @$pb.TagNumber(1) + set ipv4Address($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasIpv4Address() => $_has(0); + @$pb.TagNumber(1) + void clearIpv4Address() => clearField(1); + + @$pb.TagNumber(2) + $core.int get tcpPort => $_getIZ(1); + @$pb.TagNumber(2) + set tcpPort($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasTcpPort() => $_has(1); + @$pb.TagNumber(2) + void clearTcpPort() => clearField(2); +} + +/// Page 0x042 +class WifiConfigurationPage extends $pb.GeneratedMessage { + factory WifiConfigurationPage({ + $core.bool? wifiEnabled, + $core.int? wifiStatus, + $core.List<$core.int>? wifiSsid, + $core.int? wifiBand, + $core.int? wifiRssi, + $core.List<$core.int>? wifiRegionCode, + }) { + final $result = create(); + if (wifiEnabled != null) { + $result.wifiEnabled = wifiEnabled; + } + if (wifiStatus != null) { + $result.wifiStatus = wifiStatus; + } + if (wifiSsid != null) { + $result.wifiSsid = wifiSsid; + } + if (wifiBand != null) { + $result.wifiBand = wifiBand; + } + if (wifiRssi != null) { + $result.wifiRssi = wifiRssi; + } + if (wifiRegionCode != null) { + $result.wifiRegionCode = wifiRegionCode; + } + return $result; + } + WifiConfigurationPage._() : super(); + factory WifiConfigurationPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory WifiConfigurationPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'WifiConfigurationPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'wifiEnabled', protoName: 'wifiEnabled') + ..a<$core.int>(2, _omitFieldNames ? '' : 'wifiStatus', $pb.PbFieldType.OU3, protoName: 'wifiStatus') + ..a<$core.List<$core.int>>(3, _omitFieldNames ? '' : 'wifiSsid', $pb.PbFieldType.OY, protoName: 'wifiSsid') + ..a<$core.int>(4, _omitFieldNames ? '' : 'wifiBand', $pb.PbFieldType.OU3, protoName: 'wifiBand') + ..a<$core.int>(5, _omitFieldNames ? '' : 'wifiRssi', $pb.PbFieldType.OS3, protoName: 'wifiRssi') + ..a<$core.List<$core.int>>(6, _omitFieldNames ? '' : 'wifiRegionCode', $pb.PbFieldType.OY, protoName: 'wifiRegionCode') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WifiConfigurationPage clone() => WifiConfigurationPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WifiConfigurationPage copyWith(void Function(WifiConfigurationPage) updates) => super.copyWith((message) => updates(message as WifiConfigurationPage)) as WifiConfigurationPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WifiConfigurationPage create() => WifiConfigurationPage._(); + WifiConfigurationPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WifiConfigurationPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static WifiConfigurationPage? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get wifiEnabled => $_getBF(0); + @$pb.TagNumber(1) + set wifiEnabled($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasWifiEnabled() => $_has(0); + @$pb.TagNumber(1) + void clearWifiEnabled() => clearField(1); + + @$pb.TagNumber(2) + $core.int get wifiStatus => $_getIZ(1); + @$pb.TagNumber(2) + set wifiStatus($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasWifiStatus() => $_has(1); + @$pb.TagNumber(2) + void clearWifiStatus() => clearField(2); + + @$pb.TagNumber(3) + $core.List<$core.int> get wifiSsid => $_getN(2); + @$pb.TagNumber(3) + set wifiSsid($core.List<$core.int> v) { $_setBytes(2, v); } + @$pb.TagNumber(3) + $core.bool hasWifiSsid() => $_has(2); + @$pb.TagNumber(3) + void clearWifiSsid() => clearField(3); + + @$pb.TagNumber(4) + $core.int get wifiBand => $_getIZ(3); + @$pb.TagNumber(4) + set wifiBand($core.int v) { $_setUnsignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasWifiBand() => $_has(3); + @$pb.TagNumber(4) + void clearWifiBand() => clearField(4); + + @$pb.TagNumber(5) + $core.int get wifiRssi => $_getIZ(4); + @$pb.TagNumber(5) + set wifiRssi($core.int v) { $_setSignedInt32(4, v); } + @$pb.TagNumber(5) + $core.bool hasWifiRssi() => $_has(4); + @$pb.TagNumber(5) + void clearWifiRssi() => clearField(5); + + @$pb.TagNumber(6) + $core.List<$core.int> get wifiRegionCode => $_getN(5); + @$pb.TagNumber(6) + set wifiRegionCode($core.List<$core.int> v) { $_setBytes(5, v); } + @$pb.TagNumber(6) + $core.bool hasWifiRegionCode() => $_has(5); + @$pb.TagNumber(6) + void clearWifiRegionCode() => clearField(6); +} + +/// Page ID 0x050 +class SensorRelayDataPage extends $pb.GeneratedMessage { + factory SensorRelayDataPage({ + $core.Iterable<$core.int>? supportedSensors, + $core.Iterable<$core.int>? pairedSensors, + }) { + final $result = create(); + if (supportedSensors != null) { + $result.supportedSensors.addAll(supportedSensors); + } + if (pairedSensors != null) { + $result.pairedSensors.addAll(pairedSensors); + } + return $result; + } + SensorRelayDataPage._() : super(); + factory SensorRelayDataPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SensorRelayDataPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SensorRelayDataPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..p<$core.int>(1, _omitFieldNames ? '' : 'supportedSensors', $pb.PbFieldType.PU3, protoName: 'supportedSensors') + ..p<$core.int>(2, _omitFieldNames ? '' : 'pairedSensors', $pb.PbFieldType.PU3, protoName: 'pairedSensors') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SensorRelayDataPage clone() => SensorRelayDataPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SensorRelayDataPage copyWith(void Function(SensorRelayDataPage) updates) => super.copyWith((message) => updates(message as SensorRelayDataPage)) as SensorRelayDataPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SensorRelayDataPage create() => SensorRelayDataPage._(); + SensorRelayDataPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SensorRelayDataPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SensorRelayDataPage? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.int> get supportedSensors => $_getList(0); + + @$pb.TagNumber(2) + $core.List<$core.int> get pairedSensors => $_getList(1); +} + +/// OpCode 0x00 +class Get extends $pb.GeneratedMessage { + factory Get({ + $core.int? dataObjectId, + }) { + final $result = create(); + if (dataObjectId != null) { + $result.dataObjectId = dataObjectId; + } + return $result; + } + Get._() : super(); + factory Get.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Get.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Get', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'dataObjectId', $pb.PbFieldType.QU3, protoName: 'dataObjectId') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Get clone() => Get()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Get copyWith(void Function(Get) updates) => super.copyWith((message) => updates(message as Get)) as Get; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Get create() => Get._(); + Get createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Get getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Get? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get dataObjectId => $_getIZ(0); + @$pb.TagNumber(1) + set dataObjectId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasDataObjectId() => $_has(0); + @$pb.TagNumber(1) + void clearDataObjectId() => clearField(1); +} + +/// OpCode 0x01 +class DevInfo extends $pb.GeneratedMessage { + factory DevInfo({ + DevInfoPage? devInfo, + }) { + final $result = create(); + if (devInfo != null) { + $result.devInfo = devInfo; + } + return $result; + } + DevInfo._() : super(); + factory DevInfo.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DevInfo.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DevInfo', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..aQM(1, _omitFieldNames ? '' : 'devInfo', protoName: 'devInfo', subBuilder: DevInfoPage.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DevInfo clone() => DevInfo()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DevInfo copyWith(void Function(DevInfo) updates) => super.copyWith((message) => updates(message as DevInfo)) as DevInfo; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DevInfo create() => DevInfo._(); + DevInfo createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DevInfo getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DevInfo? _defaultInstance; + + @$pb.TagNumber(1) + DevInfoPage get devInfo => $_getN(0); + @$pb.TagNumber(1) + set devInfo(DevInfoPage v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasDevInfo() => $_has(0); + @$pb.TagNumber(1) + void clearDevInfo() => clearField(1); + @$pb.TagNumber(1) + DevInfoPage ensureDevInfo() => $_ensure(0); +} + +enum BleSecurityRequest_Request { + startSecureConnection, + notSet +} + +/// OpCode 0x02 +class BleSecurityRequest extends $pb.GeneratedMessage { + factory BleSecurityRequest({ + $core.bool? startSecureConnection, + }) { + final $result = create(); + if (startSecureConnection != null) { + $result.startSecureConnection = startSecureConnection; + } + return $result; + } + BleSecurityRequest._() : super(); + factory BleSecurityRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory BleSecurityRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, BleSecurityRequest_Request> _BleSecurityRequest_RequestByTag = { + 1 : BleSecurityRequest_Request.startSecureConnection, + 0 : BleSecurityRequest_Request.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BleSecurityRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1]) + ..aOB(1, _omitFieldNames ? '' : 'startSecureConnection', protoName: 'startSecureConnection') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BleSecurityRequest clone() => BleSecurityRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BleSecurityRequest copyWith(void Function(BleSecurityRequest) updates) => super.copyWith((message) => updates(message as BleSecurityRequest)) as BleSecurityRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BleSecurityRequest create() => BleSecurityRequest._(); + BleSecurityRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BleSecurityRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BleSecurityRequest? _defaultInstance; + + BleSecurityRequest_Request whichRequest() => _BleSecurityRequest_RequestByTag[$_whichOneof(0)]!; + void clearRequest() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.bool get startSecureConnection => $_getBF(0); + @$pb.TagNumber(1) + set startSecureConnection($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasStartSecureConnection() => $_has(0); + @$pb.TagNumber(1) + void clearStartSecureConnection() => clearField(1); +} + +/// OpCode 0x03 +class TrainerNotification extends $pb.GeneratedMessage { + factory TrainerNotification({ + $core.int? power, + $core.int? cadence, + $core.int? bikeSpeed, + $core.int? averagedPower, + $core.int? wheelSpeed, + $core.int? calculatedRealGearRatio, + }) { + final $result = create(); + if (power != null) { + $result.power = power; + } + if (cadence != null) { + $result.cadence = cadence; + } + if (bikeSpeed != null) { + $result.bikeSpeed = bikeSpeed; + } + if (averagedPower != null) { + $result.averagedPower = averagedPower; + } + if (wheelSpeed != null) { + $result.wheelSpeed = wheelSpeed; + } + if (calculatedRealGearRatio != null) { + $result.calculatedRealGearRatio = calculatedRealGearRatio; + } + return $result; + } + TrainerNotification._() : super(); + factory TrainerNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory TrainerNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrainerNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'power', $pb.PbFieldType.QU3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'cadence', $pb.PbFieldType.QU3) + ..a<$core.int>(3, _omitFieldNames ? '' : 'bikeSpeed', $pb.PbFieldType.QU3, protoName: 'bikeSpeed') + ..a<$core.int>(4, _omitFieldNames ? '' : 'averagedPower', $pb.PbFieldType.QU3, protoName: 'averagedPower') + ..a<$core.int>(5, _omitFieldNames ? '' : 'wheelSpeed', $pb.PbFieldType.QU3, protoName: 'wheelSpeed') + ..a<$core.int>(6, _omitFieldNames ? '' : 'calculatedRealGearRatio', $pb.PbFieldType.OU3, protoName: 'calculatedRealGearRatio') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrainerNotification clone() => TrainerNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrainerNotification copyWith(void Function(TrainerNotification) updates) => super.copyWith((message) => updates(message as TrainerNotification)) as TrainerNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrainerNotification create() => TrainerNotification._(); + TrainerNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrainerNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TrainerNotification? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get power => $_getIZ(0); + @$pb.TagNumber(1) + set power($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasPower() => $_has(0); + @$pb.TagNumber(1) + void clearPower() => clearField(1); + + @$pb.TagNumber(2) + $core.int get cadence => $_getIZ(1); + @$pb.TagNumber(2) + set cadence($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasCadence() => $_has(1); + @$pb.TagNumber(2) + void clearCadence() => clearField(2); + + @$pb.TagNumber(3) + $core.int get bikeSpeed => $_getIZ(2); + @$pb.TagNumber(3) + set bikeSpeed($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasBikeSpeed() => $_has(2); + @$pb.TagNumber(3) + void clearBikeSpeed() => clearField(3); + + @$pb.TagNumber(4) + $core.int get averagedPower => $_getIZ(3); + @$pb.TagNumber(4) + set averagedPower($core.int v) { $_setUnsignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasAveragedPower() => $_has(3); + @$pb.TagNumber(4) + void clearAveragedPower() => clearField(4); + + @$pb.TagNumber(5) + $core.int get wheelSpeed => $_getIZ(4); + @$pb.TagNumber(5) + set wheelSpeed($core.int v) { $_setUnsignedInt32(4, v); } + @$pb.TagNumber(5) + $core.bool hasWheelSpeed() => $_has(4); + @$pb.TagNumber(5) + void clearWheelSpeed() => clearField(5); + + @$pb.TagNumber(6) + $core.int get calculatedRealGearRatio => $_getIZ(5); + @$pb.TagNumber(6) + set calculatedRealGearRatio($core.int v) { $_setUnsignedInt32(5, v); } + @$pb.TagNumber(6) + $core.bool hasCalculatedRealGearRatio() => $_has(5); + @$pb.TagNumber(6) + void clearCalculatedRealGearRatio() => clearField(6); +} + +enum TrainerConfigSet_Config { + configuredResistance, + ergPower, + envSim, + bikeSim, + averagingWindow, + trainerOptions, + notSet +} + +/// OpCode 0x04 +class TrainerConfigSet extends $pb.GeneratedMessage { + factory TrainerConfigSet({ + $core.int? configuredResistance, + $core.int? ergPower, + TrainerEnvSim? envSim, + TrainerBikeSim? bikeSim, + $core.int? averagingWindow, + TrainerOptions? trainerOptions, + }) { + final $result = create(); + if (configuredResistance != null) { + $result.configuredResistance = configuredResistance; + } + if (ergPower != null) { + $result.ergPower = ergPower; + } + if (envSim != null) { + $result.envSim = envSim; + } + if (bikeSim != null) { + $result.bikeSim = bikeSim; + } + if (averagingWindow != null) { + $result.averagingWindow = averagingWindow; + } + if (trainerOptions != null) { + $result.trainerOptions = trainerOptions; + } + return $result; + } + TrainerConfigSet._() : super(); + factory TrainerConfigSet.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory TrainerConfigSet.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, TrainerConfigSet_Config> _TrainerConfigSet_ConfigByTag = { + 2 : TrainerConfigSet_Config.configuredResistance, + 3 : TrainerConfigSet_Config.ergPower, + 4 : TrainerConfigSet_Config.envSim, + 5 : TrainerConfigSet_Config.bikeSim, + 6 : TrainerConfigSet_Config.averagingWindow, + 7 : TrainerConfigSet_Config.trainerOptions, + 0 : TrainerConfigSet_Config.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrainerConfigSet', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [2, 3, 4, 5, 6, 7]) + ..a<$core.int>(2, _omitFieldNames ? '' : 'configuredResistance', $pb.PbFieldType.OU3, protoName: 'configuredResistance') + ..a<$core.int>(3, _omitFieldNames ? '' : 'ergPower', $pb.PbFieldType.OU3, protoName: 'ergPower') + ..aOM(4, _omitFieldNames ? '' : 'envSim', protoName: 'envSim', subBuilder: TrainerEnvSim.create) + ..aOM(5, _omitFieldNames ? '' : 'bikeSim', protoName: 'bikeSim', subBuilder: TrainerBikeSim.create) + ..a<$core.int>(6, _omitFieldNames ? '' : 'averagingWindow', $pb.PbFieldType.OU3, protoName: 'averagingWindow') + ..aOM(7, _omitFieldNames ? '' : 'trainerOptions', protoName: 'trainerOptions', subBuilder: TrainerOptions.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrainerConfigSet clone() => TrainerConfigSet()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrainerConfigSet copyWith(void Function(TrainerConfigSet) updates) => super.copyWith((message) => updates(message as TrainerConfigSet)) as TrainerConfigSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrainerConfigSet create() => TrainerConfigSet._(); + TrainerConfigSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrainerConfigSet getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TrainerConfigSet? _defaultInstance; + + TrainerConfigSet_Config whichConfig() => _TrainerConfigSet_ConfigByTag[$_whichOneof(0)]!; + void clearConfig() => clearField($_whichOneof(0)); + + @$pb.TagNumber(2) + $core.int get configuredResistance => $_getIZ(0); + @$pb.TagNumber(2) + set configuredResistance($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(2) + $core.bool hasConfiguredResistance() => $_has(0); + @$pb.TagNumber(2) + void clearConfiguredResistance() => clearField(2); + + @$pb.TagNumber(3) + $core.int get ergPower => $_getIZ(1); + @$pb.TagNumber(3) + set ergPower($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(3) + $core.bool hasErgPower() => $_has(1); + @$pb.TagNumber(3) + void clearErgPower() => clearField(3); + + @$pb.TagNumber(4) + TrainerEnvSim get envSim => $_getN(2); + @$pb.TagNumber(4) + set envSim(TrainerEnvSim v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasEnvSim() => $_has(2); + @$pb.TagNumber(4) + void clearEnvSim() => clearField(4); + @$pb.TagNumber(4) + TrainerEnvSim ensureEnvSim() => $_ensure(2); + + @$pb.TagNumber(5) + TrainerBikeSim get bikeSim => $_getN(3); + @$pb.TagNumber(5) + set bikeSim(TrainerBikeSim v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasBikeSim() => $_has(3); + @$pb.TagNumber(5) + void clearBikeSim() => clearField(5); + @$pb.TagNumber(5) + TrainerBikeSim ensureBikeSim() => $_ensure(3); + + @$pb.TagNumber(6) + $core.int get averagingWindow => $_getIZ(4); + @$pb.TagNumber(6) + set averagingWindow($core.int v) { $_setUnsignedInt32(4, v); } + @$pb.TagNumber(6) + $core.bool hasAveragingWindow() => $_has(4); + @$pb.TagNumber(6) + void clearAveragingWindow() => clearField(6); + + @$pb.TagNumber(7) + TrainerOptions get trainerOptions => $_getN(5); + @$pb.TagNumber(7) + set trainerOptions(TrainerOptions v) { setField(7, v); } + @$pb.TagNumber(7) + $core.bool hasTrainerOptions() => $_has(5); + @$pb.TagNumber(7) + void clearTrainerOptions() => clearField(7); + @$pb.TagNumber(7) + TrainerOptions ensureTrainerOptions() => $_ensure(5); +} + +/// OpCode 0x05 +class TrainerConfigStatus extends $pb.GeneratedMessage { + factory TrainerConfigStatus({ + TrainerCfgPage? trainerCfg, + }) { + final $result = create(); + if (trainerCfg != null) { + $result.trainerCfg = trainerCfg; + } + return $result; + } + TrainerConfigStatus._() : super(); + factory TrainerConfigStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory TrainerConfigStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TrainerConfigStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..aQM(1, _omitFieldNames ? '' : 'trainerCfg', protoName: 'trainerCfg', subBuilder: TrainerCfgPage.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TrainerConfigStatus clone() => TrainerConfigStatus()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TrainerConfigStatus copyWith(void Function(TrainerConfigStatus) updates) => super.copyWith((message) => updates(message as TrainerConfigStatus)) as TrainerConfigStatus; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TrainerConfigStatus create() => TrainerConfigStatus._(); + TrainerConfigStatus createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TrainerConfigStatus getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TrainerConfigStatus? _defaultInstance; + + @$pb.TagNumber(1) + TrainerCfgPage get trainerCfg => $_getN(0); + @$pb.TagNumber(1) + set trainerCfg(TrainerCfgPage v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasTrainerCfg() => $_has(0); + @$pb.TagNumber(1) + void clearTrainerCfg() => clearField(1); + @$pb.TagNumber(1) + TrainerCfgPage ensureTrainerCfg() => $_ensure(0); +} + +enum DevInfoSet_DevInfo { + deviceName, + notSet +} + +/// OpCode 0x0C +class DevInfoSet extends $pb.GeneratedMessage { + factory DevInfoSet({ + $core.List<$core.int>? deviceName, + }) { + final $result = create(); + if (deviceName != null) { + $result.deviceName = deviceName; + } + return $result; + } + DevInfoSet._() : super(); + factory DevInfoSet.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DevInfoSet.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, DevInfoSet_DevInfo> _DevInfoSet_DevInfoByTag = { + 1 : DevInfoSet_DevInfo.deviceName, + 0 : DevInfoSet_DevInfo.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DevInfoSet', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1]) + ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'deviceName', $pb.PbFieldType.OY, protoName: 'deviceName') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DevInfoSet clone() => DevInfoSet()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DevInfoSet copyWith(void Function(DevInfoSet) updates) => super.copyWith((message) => updates(message as DevInfoSet)) as DevInfoSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DevInfoSet create() => DevInfoSet._(); + DevInfoSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DevInfoSet getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DevInfoSet? _defaultInstance; + + DevInfoSet_DevInfo whichDevInfo() => _DevInfoSet_DevInfoByTag[$_whichOneof(0)]!; + void clearDevInfo() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.List<$core.int> get deviceName => $_getN(0); + @$pb.TagNumber(1) + set deviceName($core.List<$core.int> v) { $_setBytes(0, v); } + @$pb.TagNumber(1) + $core.bool hasDeviceName() => $_has(0); + @$pb.TagNumber(1) + void clearDeviceName() => clearField(1); +} + +/// OpCode 0x18 +class Reset extends $pb.GeneratedMessage { + factory Reset({ + $core.int? resetProcedure, + }) { + final $result = create(); + if (resetProcedure != null) { + $result.resetProcedure = resetProcedure; + } + return $result; + } + Reset._() : super(); + factory Reset.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Reset.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Reset', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'resetProcedure', $pb.PbFieldType.OU3, protoName: 'resetProcedure') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Reset clone() => Reset()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Reset copyWith(void Function(Reset) updates) => super.copyWith((message) => updates(message as Reset)) as Reset; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Reset create() => Reset._(); + Reset createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Reset getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Reset? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get resetProcedure => $_getIZ(0); + @$pb.TagNumber(1) + set resetProcedure($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasResetProcedure() => $_has(0); + @$pb.TagNumber(1) + void clearResetProcedure() => clearField(1); +} + +enum BatteryNotification_Alert { + newChgState, + newPercLevel, + notSet +} + +/// OpCode 0x19 +class BatteryNotification extends $pb.GeneratedMessage { + factory BatteryNotification({ + ChargingState? newChgState, + $core.int? newPercLevel, + $core.int? source, + }) { + final $result = create(); + if (newChgState != null) { + $result.newChgState = newChgState; + } + if (newPercLevel != null) { + $result.newPercLevel = newPercLevel; + } + if (source != null) { + $result.source = source; + } + return $result; + } + BatteryNotification._() : super(); + factory BatteryNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory BatteryNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, BatteryNotification_Alert> _BatteryNotification_AlertByTag = { + 1 : BatteryNotification_Alert.newChgState, + 2 : BatteryNotification_Alert.newPercLevel, + 0 : BatteryNotification_Alert.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BatteryNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2]) + ..e(1, _omitFieldNames ? '' : 'newChgState', $pb.PbFieldType.OE, protoName: 'newChgState', defaultOrMaker: ChargingState.CHARGING_IDLE, valueOf: ChargingState.valueOf, enumValues: ChargingState.values) + ..a<$core.int>(2, _omitFieldNames ? '' : 'newPercLevel', $pb.PbFieldType.OU3, protoName: 'newPercLevel') + ..a<$core.int>(3, _omitFieldNames ? '' : 'source', $pb.PbFieldType.OU3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatteryNotification clone() => BatteryNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatteryNotification copyWith(void Function(BatteryNotification) updates) => super.copyWith((message) => updates(message as BatteryNotification)) as BatteryNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatteryNotification create() => BatteryNotification._(); + BatteryNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatteryNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BatteryNotification? _defaultInstance; + + BatteryNotification_Alert whichAlert() => _BatteryNotification_AlertByTag[$_whichOneof(0)]!; + void clearAlert() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + ChargingState get newChgState => $_getN(0); + @$pb.TagNumber(1) + set newChgState(ChargingState v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasNewChgState() => $_has(0); + @$pb.TagNumber(1) + void clearNewChgState() => clearField(1); + + @$pb.TagNumber(2) + $core.int get newPercLevel => $_getIZ(1); + @$pb.TagNumber(2) + set newPercLevel($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasNewPercLevel() => $_has(1); + @$pb.TagNumber(2) + void clearNewPercLevel() => clearField(2); + + @$pb.TagNumber(3) + $core.int get source => $_getIZ(2); + @$pb.TagNumber(3) + set source($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasSource() => $_has(2); + @$pb.TagNumber(3) + void clearSource() => clearField(3); +} + +/// OpCode 0x1A +class BatteryStatus extends $pb.GeneratedMessage { + factory BatteryStatus({ + ChargingState? chgState, + $core.int? percLevel, + $core.int? timeToEmpty, + $core.int? timeToFull, + }) { + final $result = create(); + if (chgState != null) { + $result.chgState = chgState; + } + if (percLevel != null) { + $result.percLevel = percLevel; + } + if (timeToEmpty != null) { + $result.timeToEmpty = timeToEmpty; + } + if (timeToFull != null) { + $result.timeToFull = timeToFull; + } + return $result; + } + BatteryStatus._() : super(); + factory BatteryStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory BatteryStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'BatteryStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'chgState', $pb.PbFieldType.QE, protoName: 'chgState', defaultOrMaker: ChargingState.CHARGING_IDLE, valueOf: ChargingState.valueOf, enumValues: ChargingState.values) + ..a<$core.int>(2, _omitFieldNames ? '' : 'percLevel', $pb.PbFieldType.QU3, protoName: 'percLevel') + ..a<$core.int>(3, _omitFieldNames ? '' : 'timeToEmpty', $pb.PbFieldType.QU3, protoName: 'timeToEmpty') + ..a<$core.int>(4, _omitFieldNames ? '' : 'timeToFull', $pb.PbFieldType.QU3, protoName: 'timeToFull') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + BatteryStatus clone() => BatteryStatus()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + BatteryStatus copyWith(void Function(BatteryStatus) updates) => super.copyWith((message) => updates(message as BatteryStatus)) as BatteryStatus; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static BatteryStatus create() => BatteryStatus._(); + BatteryStatus createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static BatteryStatus getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static BatteryStatus? _defaultInstance; + + @$pb.TagNumber(1) + ChargingState get chgState => $_getN(0); + @$pb.TagNumber(1) + set chgState(ChargingState v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasChgState() => $_has(0); + @$pb.TagNumber(1) + void clearChgState() => clearField(1); + + @$pb.TagNumber(2) + $core.int get percLevel => $_getIZ(1); + @$pb.TagNumber(2) + set percLevel($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasPercLevel() => $_has(1); + @$pb.TagNumber(2) + void clearPercLevel() => clearField(2); + + @$pb.TagNumber(3) + $core.int get timeToEmpty => $_getIZ(2); + @$pb.TagNumber(3) + set timeToEmpty($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasTimeToEmpty() => $_has(2); + @$pb.TagNumber(3) + void clearTimeToEmpty() => clearField(3); + + @$pb.TagNumber(4) + $core.int get timeToFull => $_getIZ(3); + @$pb.TagNumber(4) + set timeToFull($core.int v) { $_setUnsignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasTimeToFull() => $_has(3); + @$pb.TagNumber(4) + void clearTimeToFull() => clearField(4); +} + +/// OpCode 0x23 +class ControllerNotification extends $pb.GeneratedMessage { + factory ControllerNotification({ + $core.int? buttonEvent, + $core.Iterable? analogEventList, + }) { + final $result = create(); + if (buttonEvent != null) { + $result.buttonEvent = buttonEvent; + } + if (analogEventList != null) { + $result.analogEventList.addAll(analogEventList); + } + return $result; + } + ControllerNotification._() : super(); + factory ControllerNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ControllerNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ControllerNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'buttonEvent', $pb.PbFieldType.OU3, protoName: 'buttonEvent') + ..pc(3, _omitFieldNames ? '' : 'analogEventList', $pb.PbFieldType.PM, protoName: 'analogEventList', subBuilder: ControllerAnalogEvent.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ControllerNotification clone() => ControllerNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ControllerNotification copyWith(void Function(ControllerNotification) updates) => super.copyWith((message) => updates(message as ControllerNotification)) as ControllerNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ControllerNotification create() => ControllerNotification._(); + ControllerNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ControllerNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ControllerNotification? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get buttonEvent => $_getIZ(0); + @$pb.TagNumber(1) + set buttonEvent($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasButtonEvent() => $_has(0); + @$pb.TagNumber(1) + void clearButtonEvent() => clearField(1); + + @$pb.TagNumber(3) + $core.List get analogEventList => $_getList(1); +} + +class LogDataNotification_ConnectionParameters extends $pb.GeneratedMessage { + factory LogDataNotification_ConnectionParameters({ + $core.int? interval, + $core.int? latency, + $core.int? supervisorTimeout, + $core.List<$core.int>? bleChannelMap, + $core.int? mtuSize, + }) { + final $result = create(); + if (interval != null) { + $result.interval = interval; + } + if (latency != null) { + $result.latency = latency; + } + if (supervisorTimeout != null) { + $result.supervisorTimeout = supervisorTimeout; + } + if (bleChannelMap != null) { + $result.bleChannelMap = bleChannelMap; + } + if (mtuSize != null) { + $result.mtuSize = mtuSize; + } + return $result; + } + LogDataNotification_ConnectionParameters._() : super(); + factory LogDataNotification_ConnectionParameters.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory LogDataNotification_ConnectionParameters.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LogDataNotification.ConnectionParameters', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'interval', $pb.PbFieldType.QU3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'latency', $pb.PbFieldType.QU3) + ..a<$core.int>(3, _omitFieldNames ? '' : 'supervisorTimeout', $pb.PbFieldType.QU3, protoName: 'supervisorTimeout') + ..a<$core.List<$core.int>>(4, _omitFieldNames ? '' : 'bleChannelMap', $pb.PbFieldType.QY, protoName: 'bleChannelMap') + ..a<$core.int>(5, _omitFieldNames ? '' : 'mtuSize', $pb.PbFieldType.OU3, protoName: 'mtuSize') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogDataNotification_ConnectionParameters clone() => LogDataNotification_ConnectionParameters()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogDataNotification_ConnectionParameters copyWith(void Function(LogDataNotification_ConnectionParameters) updates) => super.copyWith((message) => updates(message as LogDataNotification_ConnectionParameters)) as LogDataNotification_ConnectionParameters; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogDataNotification_ConnectionParameters create() => LogDataNotification_ConnectionParameters._(); + LogDataNotification_ConnectionParameters createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogDataNotification_ConnectionParameters getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogDataNotification_ConnectionParameters? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get interval => $_getIZ(0); + @$pb.TagNumber(1) + set interval($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasInterval() => $_has(0); + @$pb.TagNumber(1) + void clearInterval() => clearField(1); + + @$pb.TagNumber(2) + $core.int get latency => $_getIZ(1); + @$pb.TagNumber(2) + set latency($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasLatency() => $_has(1); + @$pb.TagNumber(2) + void clearLatency() => clearField(2); + + @$pb.TagNumber(3) + $core.int get supervisorTimeout => $_getIZ(2); + @$pb.TagNumber(3) + set supervisorTimeout($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasSupervisorTimeout() => $_has(2); + @$pb.TagNumber(3) + void clearSupervisorTimeout() => clearField(3); + + @$pb.TagNumber(4) + $core.List<$core.int> get bleChannelMap => $_getN(3); + @$pb.TagNumber(4) + set bleChannelMap($core.List<$core.int> v) { $_setBytes(3, v); } + @$pb.TagNumber(4) + $core.bool hasBleChannelMap() => $_has(3); + @$pb.TagNumber(4) + void clearBleChannelMap() => clearField(4); + + @$pb.TagNumber(5) + $core.int get mtuSize => $_getIZ(4); + @$pb.TagNumber(5) + set mtuSize($core.int v) { $_setUnsignedInt32(4, v); } + @$pb.TagNumber(5) + $core.bool hasMtuSize() => $_has(4); + @$pb.TagNumber(5) + void clearMtuSize() => clearField(5); +} + +class LogDataNotification_EnergySurveySummary extends $pb.GeneratedMessage { + factory LogDataNotification_EnergySurveySummary({ + $core.int? samples, + $core.List<$core.int>? averageEnergy, + }) { + final $result = create(); + if (samples != null) { + $result.samples = samples; + } + if (averageEnergy != null) { + $result.averageEnergy = averageEnergy; + } + return $result; + } + LogDataNotification_EnergySurveySummary._() : super(); + factory LogDataNotification_EnergySurveySummary.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory LogDataNotification_EnergySurveySummary.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LogDataNotification.EnergySurveySummary', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'samples', $pb.PbFieldType.QU3) + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'averageEnergy', $pb.PbFieldType.QY, protoName: 'averageEnergy') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogDataNotification_EnergySurveySummary clone() => LogDataNotification_EnergySurveySummary()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogDataNotification_EnergySurveySummary copyWith(void Function(LogDataNotification_EnergySurveySummary) updates) => super.copyWith((message) => updates(message as LogDataNotification_EnergySurveySummary)) as LogDataNotification_EnergySurveySummary; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogDataNotification_EnergySurveySummary create() => LogDataNotification_EnergySurveySummary._(); + LogDataNotification_EnergySurveySummary createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogDataNotification_EnergySurveySummary getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogDataNotification_EnergySurveySummary? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get samples => $_getIZ(0); + @$pb.TagNumber(1) + set samples($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSamples() => $_has(0); + @$pb.TagNumber(1) + void clearSamples() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$core.int> get averageEnergy => $_getN(1); + @$pb.TagNumber(2) + set averageEnergy($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasAverageEnergy() => $_has(1); + @$pb.TagNumber(2) + void clearAverageEnergy() => clearField(2); +} + +enum LogDataNotification_DataLogObject_Event { + logData, + connectionParam, + energySurvey, + logString, + notSet +} + +class LogDataNotification_DataLogObject extends $pb.GeneratedMessage { + factory LogDataNotification_DataLogObject({ + $core.List<$core.int>? logData, + LogDataNotification_ConnectionParameters? connectionParam, + LogDataNotification_EnergySurveySummary? energySurvey, + $core.List<$core.int>? logString, + }) { + final $result = create(); + if (logData != null) { + $result.logData = logData; + } + if (connectionParam != null) { + $result.connectionParam = connectionParam; + } + if (energySurvey != null) { + $result.energySurvey = energySurvey; + } + if (logString != null) { + $result.logString = logString; + } + return $result; + } + LogDataNotification_DataLogObject._() : super(); + factory LogDataNotification_DataLogObject.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory LogDataNotification_DataLogObject.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, LogDataNotification_DataLogObject_Event> _LogDataNotification_DataLogObject_EventByTag = { + 1 : LogDataNotification_DataLogObject_Event.logData, + 2 : LogDataNotification_DataLogObject_Event.connectionParam, + 3 : LogDataNotification_DataLogObject_Event.energySurvey, + 4 : LogDataNotification_DataLogObject_Event.logString, + 0 : LogDataNotification_DataLogObject_Event.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LogDataNotification.DataLogObject', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4]) + ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'logData', $pb.PbFieldType.OY, protoName: 'logData') + ..aOM(2, _omitFieldNames ? '' : 'connectionParam', protoName: 'connectionParam', subBuilder: LogDataNotification_ConnectionParameters.create) + ..aOM(3, _omitFieldNames ? '' : 'energySurvey', protoName: 'energySurvey', subBuilder: LogDataNotification_EnergySurveySummary.create) + ..a<$core.List<$core.int>>(4, _omitFieldNames ? '' : 'logString', $pb.PbFieldType.OY, protoName: 'logString') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogDataNotification_DataLogObject clone() => LogDataNotification_DataLogObject()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogDataNotification_DataLogObject copyWith(void Function(LogDataNotification_DataLogObject) updates) => super.copyWith((message) => updates(message as LogDataNotification_DataLogObject)) as LogDataNotification_DataLogObject; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogDataNotification_DataLogObject create() => LogDataNotification_DataLogObject._(); + LogDataNotification_DataLogObject createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogDataNotification_DataLogObject getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogDataNotification_DataLogObject? _defaultInstance; + + LogDataNotification_DataLogObject_Event whichEvent() => _LogDataNotification_DataLogObject_EventByTag[$_whichOneof(0)]!; + void clearEvent() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.List<$core.int> get logData => $_getN(0); + @$pb.TagNumber(1) + set logData($core.List<$core.int> v) { $_setBytes(0, v); } + @$pb.TagNumber(1) + $core.bool hasLogData() => $_has(0); + @$pb.TagNumber(1) + void clearLogData() => clearField(1); + + @$pb.TagNumber(2) + LogDataNotification_ConnectionParameters get connectionParam => $_getN(1); + @$pb.TagNumber(2) + set connectionParam(LogDataNotification_ConnectionParameters v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasConnectionParam() => $_has(1); + @$pb.TagNumber(2) + void clearConnectionParam() => clearField(2); + @$pb.TagNumber(2) + LogDataNotification_ConnectionParameters ensureConnectionParam() => $_ensure(1); + + @$pb.TagNumber(3) + LogDataNotification_EnergySurveySummary get energySurvey => $_getN(2); + @$pb.TagNumber(3) + set energySurvey(LogDataNotification_EnergySurveySummary v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasEnergySurvey() => $_has(2); + @$pb.TagNumber(3) + void clearEnergySurvey() => clearField(3); + @$pb.TagNumber(3) + LogDataNotification_EnergySurveySummary ensureEnergySurvey() => $_ensure(2); + + @$pb.TagNumber(4) + $core.List<$core.int> get logString => $_getN(3); + @$pb.TagNumber(4) + set logString($core.List<$core.int> v) { $_setBytes(3, v); } + @$pb.TagNumber(4) + $core.bool hasLogString() => $_has(3); + @$pb.TagNumber(4) + void clearLogString() => clearField(4); +} + +class LogDataNotification extends $pb.GeneratedMessage { + factory LogDataNotification({ + LogLevel? logLevel, + LogDataNotification_DataLogObject? dataLogObject, + }) { + final $result = create(); + if (logLevel != null) { + $result.logLevel = logLevel; + } + if (dataLogObject != null) { + $result.dataLogObject = dataLogObject; + } + return $result; + } + LogDataNotification._() : super(); + factory LogDataNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory LogDataNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LogDataNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'logLevel', $pb.PbFieldType.QE, protoName: 'logLevel', defaultOrMaker: LogLevel.LOGLEVEL_OFF, valueOf: LogLevel.valueOf, enumValues: LogLevel.values) + ..aQM(2, _omitFieldNames ? '' : 'dataLogObject', protoName: 'dataLogObject', subBuilder: LogDataNotification_DataLogObject.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogDataNotification clone() => LogDataNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogDataNotification copyWith(void Function(LogDataNotification) updates) => super.copyWith((message) => updates(message as LogDataNotification)) as LogDataNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogDataNotification create() => LogDataNotification._(); + LogDataNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogDataNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogDataNotification? _defaultInstance; + + @$pb.TagNumber(1) + LogLevel get logLevel => $_getN(0); + @$pb.TagNumber(1) + set logLevel(LogLevel v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLogLevel() => $_has(0); + @$pb.TagNumber(1) + void clearLogLevel() => clearField(1); + + @$pb.TagNumber(2) + LogDataNotification_DataLogObject get dataLogObject => $_getN(1); + @$pb.TagNumber(2) + set dataLogObject(LogDataNotification_DataLogObject v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasDataLogObject() => $_has(1); + @$pb.TagNumber(2) + void clearDataLogObject() => clearField(2); + @$pb.TagNumber(2) + LogDataNotification_DataLogObject ensureDataLogObject() => $_ensure(1); +} + +class SpindownRequest_StartSpindown extends $pb.GeneratedMessage { + factory SpindownRequest_StartSpindown({ + $core.bool? enable, + }) { + final $result = create(); + if (enable != null) { + $result.enable = enable; + } + return $result; + } + SpindownRequest_StartSpindown._() : super(); + factory SpindownRequest_StartSpindown.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SpindownRequest_StartSpindown.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SpindownRequest.StartSpindown', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.bool>(1, _omitFieldNames ? '' : 'enable', $pb.PbFieldType.QB) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SpindownRequest_StartSpindown clone() => SpindownRequest_StartSpindown()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SpindownRequest_StartSpindown copyWith(void Function(SpindownRequest_StartSpindown) updates) => super.copyWith((message) => updates(message as SpindownRequest_StartSpindown)) as SpindownRequest_StartSpindown; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SpindownRequest_StartSpindown create() => SpindownRequest_StartSpindown._(); + SpindownRequest_StartSpindown createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SpindownRequest_StartSpindown getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SpindownRequest_StartSpindown? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get enable => $_getBF(0); + @$pb.TagNumber(1) + set enable($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasEnable() => $_has(0); + @$pb.TagNumber(1) + void clearEnable() => clearField(1); +} + +class SpindownRequest_IgnoreSpindown extends $pb.GeneratedMessage { + factory SpindownRequest_IgnoreSpindown({ + $core.bool? enable, + }) { + final $result = create(); + if (enable != null) { + $result.enable = enable; + } + return $result; + } + SpindownRequest_IgnoreSpindown._() : super(); + factory SpindownRequest_IgnoreSpindown.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SpindownRequest_IgnoreSpindown.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SpindownRequest.IgnoreSpindown', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.bool>(1, _omitFieldNames ? '' : 'enable', $pb.PbFieldType.QB) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SpindownRequest_IgnoreSpindown clone() => SpindownRequest_IgnoreSpindown()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SpindownRequest_IgnoreSpindown copyWith(void Function(SpindownRequest_IgnoreSpindown) updates) => super.copyWith((message) => updates(message as SpindownRequest_IgnoreSpindown)) as SpindownRequest_IgnoreSpindown; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SpindownRequest_IgnoreSpindown create() => SpindownRequest_IgnoreSpindown._(); + SpindownRequest_IgnoreSpindown createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SpindownRequest_IgnoreSpindown getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SpindownRequest_IgnoreSpindown? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get enable => $_getBF(0); + @$pb.TagNumber(1) + set enable($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasEnable() => $_has(0); + @$pb.TagNumber(1) + void clearEnable() => clearField(1); +} + +enum SpindownRequest_Request { + startSpindown, + ignoreSpindown, + notSet +} + +/// OpCode 0x3A +class SpindownRequest extends $pb.GeneratedMessage { + factory SpindownRequest({ + SpindownRequest_StartSpindown? startSpindown, + SpindownRequest_IgnoreSpindown? ignoreSpindown, + }) { + final $result = create(); + if (startSpindown != null) { + $result.startSpindown = startSpindown; + } + if (ignoreSpindown != null) { + $result.ignoreSpindown = ignoreSpindown; + } + return $result; + } + SpindownRequest._() : super(); + factory SpindownRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SpindownRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, SpindownRequest_Request> _SpindownRequest_RequestByTag = { + 1 : SpindownRequest_Request.startSpindown, + 2 : SpindownRequest_Request.ignoreSpindown, + 0 : SpindownRequest_Request.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SpindownRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'startSpindown', protoName: 'startSpindown', subBuilder: SpindownRequest_StartSpindown.create) + ..aOM(2, _omitFieldNames ? '' : 'ignoreSpindown', protoName: 'ignoreSpindown', subBuilder: SpindownRequest_IgnoreSpindown.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SpindownRequest clone() => SpindownRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SpindownRequest copyWith(void Function(SpindownRequest) updates) => super.copyWith((message) => updates(message as SpindownRequest)) as SpindownRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SpindownRequest create() => SpindownRequest._(); + SpindownRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SpindownRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SpindownRequest? _defaultInstance; + + SpindownRequest_Request whichRequest() => _SpindownRequest_RequestByTag[$_whichOneof(0)]!; + void clearRequest() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + SpindownRequest_StartSpindown get startSpindown => $_getN(0); + @$pb.TagNumber(1) + set startSpindown(SpindownRequest_StartSpindown v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasStartSpindown() => $_has(0); + @$pb.TagNumber(1) + void clearStartSpindown() => clearField(1); + @$pb.TagNumber(1) + SpindownRequest_StartSpindown ensureStartSpindown() => $_ensure(0); + + @$pb.TagNumber(2) + SpindownRequest_IgnoreSpindown get ignoreSpindown => $_getN(1); + @$pb.TagNumber(2) + set ignoreSpindown(SpindownRequest_IgnoreSpindown v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasIgnoreSpindown() => $_has(1); + @$pb.TagNumber(2) + void clearIgnoreSpindown() => clearField(2); + @$pb.TagNumber(2) + SpindownRequest_IgnoreSpindown ensureIgnoreSpindown() => $_ensure(1); +} + +class SpindownNotification_ManualSpindownStatus extends $pb.GeneratedMessage { + factory SpindownNotification_ManualSpindownStatus({ + SpindownStatus? spindownStatus, + $core.int? targetSpeedLow, + $core.int? targetSpeedHigh, + }) { + final $result = create(); + if (spindownStatus != null) { + $result.spindownStatus = spindownStatus; + } + if (targetSpeedLow != null) { + $result.targetSpeedLow = targetSpeedLow; + } + if (targetSpeedHigh != null) { + $result.targetSpeedHigh = targetSpeedHigh; + } + return $result; + } + SpindownNotification_ManualSpindownStatus._() : super(); + factory SpindownNotification_ManualSpindownStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SpindownNotification_ManualSpindownStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SpindownNotification.ManualSpindownStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'spindownStatus', $pb.PbFieldType.QE, protoName: 'spindownStatus', defaultOrMaker: SpindownStatus.SPINDOWN_IDLE, valueOf: SpindownStatus.valueOf, enumValues: SpindownStatus.values) + ..a<$core.int>(2, _omitFieldNames ? '' : 'targetSpeedLow', $pb.PbFieldType.OU3, protoName: 'targetSpeedLow') + ..a<$core.int>(3, _omitFieldNames ? '' : 'targetSpeedHigh', $pb.PbFieldType.OU3, protoName: 'targetSpeedHigh') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SpindownNotification_ManualSpindownStatus clone() => SpindownNotification_ManualSpindownStatus()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SpindownNotification_ManualSpindownStatus copyWith(void Function(SpindownNotification_ManualSpindownStatus) updates) => super.copyWith((message) => updates(message as SpindownNotification_ManualSpindownStatus)) as SpindownNotification_ManualSpindownStatus; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SpindownNotification_ManualSpindownStatus create() => SpindownNotification_ManualSpindownStatus._(); + SpindownNotification_ManualSpindownStatus createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SpindownNotification_ManualSpindownStatus getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SpindownNotification_ManualSpindownStatus? _defaultInstance; + + @$pb.TagNumber(1) + SpindownStatus get spindownStatus => $_getN(0); + @$pb.TagNumber(1) + set spindownStatus(SpindownStatus v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasSpindownStatus() => $_has(0); + @$pb.TagNumber(1) + void clearSpindownStatus() => clearField(1); + + @$pb.TagNumber(2) + $core.int get targetSpeedLow => $_getIZ(1); + @$pb.TagNumber(2) + set targetSpeedLow($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasTargetSpeedLow() => $_has(1); + @$pb.TagNumber(2) + void clearTargetSpeedLow() => clearField(2); + + @$pb.TagNumber(3) + $core.int get targetSpeedHigh => $_getIZ(2); + @$pb.TagNumber(3) + set targetSpeedHigh($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasTargetSpeedHigh() => $_has(2); + @$pb.TagNumber(3) + void clearTargetSpeedHigh() => clearField(3); +} + +class SpindownNotification_AutoSpindownStatus extends $pb.GeneratedMessage { + factory SpindownNotification_AutoSpindownStatus({ + $core.bool? completed, + }) { + final $result = create(); + if (completed != null) { + $result.completed = completed; + } + return $result; + } + SpindownNotification_AutoSpindownStatus._() : super(); + factory SpindownNotification_AutoSpindownStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SpindownNotification_AutoSpindownStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SpindownNotification.AutoSpindownStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.bool>(1, _omitFieldNames ? '' : 'completed', $pb.PbFieldType.QB) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SpindownNotification_AutoSpindownStatus clone() => SpindownNotification_AutoSpindownStatus()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SpindownNotification_AutoSpindownStatus copyWith(void Function(SpindownNotification_AutoSpindownStatus) updates) => super.copyWith((message) => updates(message as SpindownNotification_AutoSpindownStatus)) as SpindownNotification_AutoSpindownStatus; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SpindownNotification_AutoSpindownStatus create() => SpindownNotification_AutoSpindownStatus._(); + SpindownNotification_AutoSpindownStatus createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SpindownNotification_AutoSpindownStatus getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SpindownNotification_AutoSpindownStatus? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get completed => $_getBF(0); + @$pb.TagNumber(1) + set completed($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasCompleted() => $_has(0); + @$pb.TagNumber(1) + void clearCompleted() => clearField(1); +} + +enum SpindownNotification_Event { + manualSpindownStatus, + autoSpindownStatus, + notSet +} + +/// OpCode 0x3B +class SpindownNotification extends $pb.GeneratedMessage { + factory SpindownNotification({ + SpindownNotification_ManualSpindownStatus? manualSpindownStatus, + SpindownNotification_AutoSpindownStatus? autoSpindownStatus, + }) { + final $result = create(); + if (manualSpindownStatus != null) { + $result.manualSpindownStatus = manualSpindownStatus; + } + if (autoSpindownStatus != null) { + $result.autoSpindownStatus = autoSpindownStatus; + } + return $result; + } + SpindownNotification._() : super(); + factory SpindownNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SpindownNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, SpindownNotification_Event> _SpindownNotification_EventByTag = { + 1 : SpindownNotification_Event.manualSpindownStatus, + 2 : SpindownNotification_Event.autoSpindownStatus, + 0 : SpindownNotification_Event.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SpindownNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'manualSpindownStatus', protoName: 'manualSpindownStatus', subBuilder: SpindownNotification_ManualSpindownStatus.create) + ..aOM(2, _omitFieldNames ? '' : 'autoSpindownStatus', protoName: 'autoSpindownStatus', subBuilder: SpindownNotification_AutoSpindownStatus.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SpindownNotification clone() => SpindownNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SpindownNotification copyWith(void Function(SpindownNotification) updates) => super.copyWith((message) => updates(message as SpindownNotification)) as SpindownNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SpindownNotification create() => SpindownNotification._(); + SpindownNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SpindownNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SpindownNotification? _defaultInstance; + + SpindownNotification_Event whichEvent() => _SpindownNotification_EventByTag[$_whichOneof(0)]!; + void clearEvent() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + SpindownNotification_ManualSpindownStatus get manualSpindownStatus => $_getN(0); + @$pb.TagNumber(1) + set manualSpindownStatus(SpindownNotification_ManualSpindownStatus v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasManualSpindownStatus() => $_has(0); + @$pb.TagNumber(1) + void clearManualSpindownStatus() => clearField(1); + @$pb.TagNumber(1) + SpindownNotification_ManualSpindownStatus ensureManualSpindownStatus() => $_ensure(0); + + @$pb.TagNumber(2) + SpindownNotification_AutoSpindownStatus get autoSpindownStatus => $_getN(1); + @$pb.TagNumber(2) + set autoSpindownStatus(SpindownNotification_AutoSpindownStatus v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasAutoSpindownStatus() => $_has(1); + @$pb.TagNumber(2) + void clearAutoSpindownStatus() => clearField(2); + @$pb.TagNumber(2) + SpindownNotification_AutoSpindownStatus ensureAutoSpindownStatus() => $_ensure(1); +} + +/// OpCode 0x3C +class GetResponse extends $pb.GeneratedMessage { + factory GetResponse({ + $core.int? dataObjectId, + $core.List<$core.int>? dataObjectData, + }) { + final $result = create(); + if (dataObjectId != null) { + $result.dataObjectId = dataObjectId; + } + if (dataObjectData != null) { + $result.dataObjectData = dataObjectData; + } + return $result; + } + GetResponse._() : super(); + factory GetResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GetResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GetResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'dataObjectId', $pb.PbFieldType.QU3, protoName: 'dataObjectId') + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'dataObjectData', $pb.PbFieldType.OY, protoName: 'dataObjectData') + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GetResponse clone() => GetResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GetResponse copyWith(void Function(GetResponse) updates) => super.copyWith((message) => updates(message as GetResponse)) as GetResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GetResponse create() => GetResponse._(); + GetResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GetResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GetResponse? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get dataObjectId => $_getIZ(0); + @$pb.TagNumber(1) + set dataObjectId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasDataObjectId() => $_has(0); + @$pb.TagNumber(1) + void clearDataObjectId() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$core.int> get dataObjectData => $_getN(1); + @$pb.TagNumber(2) + set dataObjectData($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasDataObjectData() => $_has(1); + @$pb.TagNumber(2) + void clearDataObjectData() => clearField(2); +} + +/// OpCode 0x3E +class StatusResponse extends $pb.GeneratedMessage { + factory StatusResponse({ + $core.int? command, + $core.int? status, + }) { + final $result = create(); + if (command != null) { + $result.command = command; + } + if (status != null) { + $result.status = status; + } + return $result; + } + StatusResponse._() : super(); + factory StatusResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory StatusResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'StatusResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'command', $pb.PbFieldType.QU3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'status', $pb.PbFieldType.QU3) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + StatusResponse clone() => StatusResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + StatusResponse copyWith(void Function(StatusResponse) updates) => super.copyWith((message) => updates(message as StatusResponse)) as StatusResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static StatusResponse create() => StatusResponse._(); + StatusResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static StatusResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static StatusResponse? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get command => $_getIZ(0); + @$pb.TagNumber(1) + set command($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasCommand() => $_has(0); + @$pb.TagNumber(1) + void clearCommand() => clearField(1); + + @$pb.TagNumber(2) + $core.int get status => $_getIZ(1); + @$pb.TagNumber(2) + set status($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasStatus() => $_has(1); + @$pb.TagNumber(2) + void clearStatus() => clearField(2); +} + +enum Set_Set { + devInfo, + trainerSimParam, + trainerOptions, + deviceTiltConfig, + controllerInputConfig, + trainerGearIndexConfig, + wifiConfig, + dateTimeConfig, + notSet +} + +/// OpCode 0x3F +class Set extends $pb.GeneratedMessage { + factory Set({ + $core.int? options, + $core.int? msgId, + DevInfoSet? devInfo, + TrainerSimulationParam? trainerSimParam, + TrainerOptions? trainerOptions, + DeviceTiltConfigPage? deviceTiltConfig, + ControllerInputConfigPage? controllerInputConfig, + TrainerGearIndexConfigPage? trainerGearIndexConfig, + WifiConfigurationPage? wifiConfig, + DateTimePage? dateTimeConfig, + }) { + final $result = create(); + if (options != null) { + $result.options = options; + } + if (msgId != null) { + $result.msgId = msgId; + } + if (devInfo != null) { + $result.devInfo = devInfo; + } + if (trainerSimParam != null) { + $result.trainerSimParam = trainerSimParam; + } + if (trainerOptions != null) { + $result.trainerOptions = trainerOptions; + } + if (deviceTiltConfig != null) { + $result.deviceTiltConfig = deviceTiltConfig; + } + if (controllerInputConfig != null) { + $result.controllerInputConfig = controllerInputConfig; + } + if (trainerGearIndexConfig != null) { + $result.trainerGearIndexConfig = trainerGearIndexConfig; + } + if (wifiConfig != null) { + $result.wifiConfig = wifiConfig; + } + if (dateTimeConfig != null) { + $result.dateTimeConfig = dateTimeConfig; + } + return $result; + } + Set._() : super(); + factory Set.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory Set.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, Set_Set> _Set_SetByTag = { + 3 : Set_Set.devInfo, + 4 : Set_Set.trainerSimParam, + 5 : Set_Set.trainerOptions, + 6 : Set_Set.deviceTiltConfig, + 7 : Set_Set.controllerInputConfig, + 8 : Set_Set.trainerGearIndexConfig, + 10 : Set_Set.wifiConfig, + 11 : Set_Set.dateTimeConfig, + 0 : Set_Set.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'Set', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [3, 4, 5, 6, 7, 8, 10, 11]) + ..a<$core.int>(1, _omitFieldNames ? '' : 'options', $pb.PbFieldType.OU3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'msgId', $pb.PbFieldType.OU3, protoName: 'msgId') + ..aOM(3, _omitFieldNames ? '' : 'devInfo', protoName: 'devInfo', subBuilder: DevInfoSet.create) + ..aOM(4, _omitFieldNames ? '' : 'trainerSimParam', protoName: 'trainerSimParam', subBuilder: TrainerSimulationParam.create) + ..aOM(5, _omitFieldNames ? '' : 'trainerOptions', protoName: 'trainerOptions', subBuilder: TrainerOptions.create) + ..aOM(6, _omitFieldNames ? '' : 'deviceTiltConfig', protoName: 'deviceTiltConfig', subBuilder: DeviceTiltConfigPage.create) + ..aOM(7, _omitFieldNames ? '' : 'controllerInputConfig', protoName: 'controllerInputConfig', subBuilder: ControllerInputConfigPage.create) + ..aOM(8, _omitFieldNames ? '' : 'trainerGearIndexConfig', protoName: 'trainerGearIndexConfig', subBuilder: TrainerGearIndexConfigPage.create) + ..aOM(10, _omitFieldNames ? '' : 'wifiConfig', protoName: 'wifiConfig', subBuilder: WifiConfigurationPage.create) + ..aOM(11, _omitFieldNames ? '' : 'dateTimeConfig', protoName: 'dateTimeConfig', subBuilder: DateTimePage.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + Set clone() => Set()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + Set copyWith(void Function(Set) updates) => super.copyWith((message) => updates(message as Set)) as Set; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static Set create() => Set._(); + Set createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static Set getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static Set? _defaultInstance; + + Set_Set whichSet() => _Set_SetByTag[$_whichOneof(0)]!; + void clearSet() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.int get options => $_getIZ(0); + @$pb.TagNumber(1) + set options($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasOptions() => $_has(0); + @$pb.TagNumber(1) + void clearOptions() => clearField(1); + + @$pb.TagNumber(2) + $core.int get msgId => $_getIZ(1); + @$pb.TagNumber(2) + set msgId($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasMsgId() => $_has(1); + @$pb.TagNumber(2) + void clearMsgId() => clearField(2); + + @$pb.TagNumber(3) + DevInfoSet get devInfo => $_getN(2); + @$pb.TagNumber(3) + set devInfo(DevInfoSet v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasDevInfo() => $_has(2); + @$pb.TagNumber(3) + void clearDevInfo() => clearField(3); + @$pb.TagNumber(3) + DevInfoSet ensureDevInfo() => $_ensure(2); + + @$pb.TagNumber(4) + TrainerSimulationParam get trainerSimParam => $_getN(3); + @$pb.TagNumber(4) + set trainerSimParam(TrainerSimulationParam v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasTrainerSimParam() => $_has(3); + @$pb.TagNumber(4) + void clearTrainerSimParam() => clearField(4); + @$pb.TagNumber(4) + TrainerSimulationParam ensureTrainerSimParam() => $_ensure(3); + + @$pb.TagNumber(5) + TrainerOptions get trainerOptions => $_getN(4); + @$pb.TagNumber(5) + set trainerOptions(TrainerOptions v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasTrainerOptions() => $_has(4); + @$pb.TagNumber(5) + void clearTrainerOptions() => clearField(5); + @$pb.TagNumber(5) + TrainerOptions ensureTrainerOptions() => $_ensure(4); + + @$pb.TagNumber(6) + DeviceTiltConfigPage get deviceTiltConfig => $_getN(5); + @$pb.TagNumber(6) + set deviceTiltConfig(DeviceTiltConfigPage v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasDeviceTiltConfig() => $_has(5); + @$pb.TagNumber(6) + void clearDeviceTiltConfig() => clearField(6); + @$pb.TagNumber(6) + DeviceTiltConfigPage ensureDeviceTiltConfig() => $_ensure(5); + + @$pb.TagNumber(7) + ControllerInputConfigPage get controllerInputConfig => $_getN(6); + @$pb.TagNumber(7) + set controllerInputConfig(ControllerInputConfigPage v) { setField(7, v); } + @$pb.TagNumber(7) + $core.bool hasControllerInputConfig() => $_has(6); + @$pb.TagNumber(7) + void clearControllerInputConfig() => clearField(7); + @$pb.TagNumber(7) + ControllerInputConfigPage ensureControllerInputConfig() => $_ensure(6); + + @$pb.TagNumber(8) + TrainerGearIndexConfigPage get trainerGearIndexConfig => $_getN(7); + @$pb.TagNumber(8) + set trainerGearIndexConfig(TrainerGearIndexConfigPage v) { setField(8, v); } + @$pb.TagNumber(8) + $core.bool hasTrainerGearIndexConfig() => $_has(7); + @$pb.TagNumber(8) + void clearTrainerGearIndexConfig() => clearField(8); + @$pb.TagNumber(8) + TrainerGearIndexConfigPage ensureTrainerGearIndexConfig() => $_ensure(7); + + @$pb.TagNumber(10) + WifiConfigurationPage get wifiConfig => $_getN(8); + @$pb.TagNumber(10) + set wifiConfig(WifiConfigurationPage v) { setField(10, v); } + @$pb.TagNumber(10) + $core.bool hasWifiConfig() => $_has(8); + @$pb.TagNumber(10) + void clearWifiConfig() => clearField(10); + @$pb.TagNumber(10) + WifiConfigurationPage ensureWifiConfig() => $_ensure(8); + + @$pb.TagNumber(11) + DateTimePage get dateTimeConfig => $_getN(9); + @$pb.TagNumber(11) + set dateTimeConfig(DateTimePage v) { setField(11, v); } + @$pb.TagNumber(11) + $core.bool hasDateTimeConfig() => $_has(9); + @$pb.TagNumber(11) + void clearDateTimeConfig() => clearField(11); + @$pb.TagNumber(11) + DateTimePage ensureDateTimeConfig() => $_ensure(9); +} + +enum SetResponse_Response_Page { + devInfo, + trainerSimParam, + trainerOptions, + deviceTiltConfig, + controllerInputConfig, + trainerGearIndexConfig, + wifiConfig, + dateTimeConfig, + notSet +} + +class SetResponse_Response extends $pb.GeneratedMessage { + factory SetResponse_Response({ + DevInfoPage? devInfo, + TrainerSimulationParam? trainerSimParam, + TrainerOptions? trainerOptions, + DeviceTiltConfigPage? deviceTiltConfig, + ControllerInputConfigPage? controllerInputConfig, + TrainerGearIndexConfigPage? trainerGearIndexConfig, + WifiConfigurationPage? wifiConfig, + DateTimePage? dateTimeConfig, + }) { + final $result = create(); + if (devInfo != null) { + $result.devInfo = devInfo; + } + if (trainerSimParam != null) { + $result.trainerSimParam = trainerSimParam; + } + if (trainerOptions != null) { + $result.trainerOptions = trainerOptions; + } + if (deviceTiltConfig != null) { + $result.deviceTiltConfig = deviceTiltConfig; + } + if (controllerInputConfig != null) { + $result.controllerInputConfig = controllerInputConfig; + } + if (trainerGearIndexConfig != null) { + $result.trainerGearIndexConfig = trainerGearIndexConfig; + } + if (wifiConfig != null) { + $result.wifiConfig = wifiConfig; + } + if (dateTimeConfig != null) { + $result.dateTimeConfig = dateTimeConfig; + } + return $result; + } + SetResponse_Response._() : super(); + factory SetResponse_Response.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SetResponse_Response.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, SetResponse_Response_Page> _SetResponse_Response_PageByTag = { + 1 : SetResponse_Response_Page.devInfo, + 2 : SetResponse_Response_Page.trainerSimParam, + 3 : SetResponse_Response_Page.trainerOptions, + 4 : SetResponse_Response_Page.deviceTiltConfig, + 5 : SetResponse_Response_Page.controllerInputConfig, + 6 : SetResponse_Response_Page.trainerGearIndexConfig, + 8 : SetResponse_Response_Page.wifiConfig, + 9 : SetResponse_Response_Page.dateTimeConfig, + 0 : SetResponse_Response_Page.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetResponse.Response', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4, 5, 6, 8, 9]) + ..aOM(1, _omitFieldNames ? '' : 'devInfo', protoName: 'devInfo', subBuilder: DevInfoPage.create) + ..aOM(2, _omitFieldNames ? '' : 'trainerSimParam', protoName: 'trainerSimParam', subBuilder: TrainerSimulationParam.create) + ..aOM(3, _omitFieldNames ? '' : 'trainerOptions', protoName: 'trainerOptions', subBuilder: TrainerOptions.create) + ..aOM(4, _omitFieldNames ? '' : 'deviceTiltConfig', protoName: 'deviceTiltConfig', subBuilder: DeviceTiltConfigPage.create) + ..aOM(5, _omitFieldNames ? '' : 'controllerInputConfig', protoName: 'controllerInputConfig', subBuilder: ControllerInputConfigPage.create) + ..aOM(6, _omitFieldNames ? '' : 'trainerGearIndexConfig', protoName: 'trainerGearIndexConfig', subBuilder: TrainerGearIndexConfigPage.create) + ..aOM(8, _omitFieldNames ? '' : 'wifiConfig', protoName: 'wifiConfig', subBuilder: WifiConfigurationPage.create) + ..aOM(9, _omitFieldNames ? '' : 'dateTimeConfig', protoName: 'dateTimeConfig', subBuilder: DateTimePage.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SetResponse_Response clone() => SetResponse_Response()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SetResponse_Response copyWith(void Function(SetResponse_Response) updates) => super.copyWith((message) => updates(message as SetResponse_Response)) as SetResponse_Response; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SetResponse_Response create() => SetResponse_Response._(); + SetResponse_Response createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SetResponse_Response getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SetResponse_Response? _defaultInstance; + + SetResponse_Response_Page whichPage() => _SetResponse_Response_PageByTag[$_whichOneof(0)]!; + void clearPage() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + DevInfoPage get devInfo => $_getN(0); + @$pb.TagNumber(1) + set devInfo(DevInfoPage v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasDevInfo() => $_has(0); + @$pb.TagNumber(1) + void clearDevInfo() => clearField(1); + @$pb.TagNumber(1) + DevInfoPage ensureDevInfo() => $_ensure(0); + + @$pb.TagNumber(2) + TrainerSimulationParam get trainerSimParam => $_getN(1); + @$pb.TagNumber(2) + set trainerSimParam(TrainerSimulationParam v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasTrainerSimParam() => $_has(1); + @$pb.TagNumber(2) + void clearTrainerSimParam() => clearField(2); + @$pb.TagNumber(2) + TrainerSimulationParam ensureTrainerSimParam() => $_ensure(1); + + @$pb.TagNumber(3) + TrainerOptions get trainerOptions => $_getN(2); + @$pb.TagNumber(3) + set trainerOptions(TrainerOptions v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasTrainerOptions() => $_has(2); + @$pb.TagNumber(3) + void clearTrainerOptions() => clearField(3); + @$pb.TagNumber(3) + TrainerOptions ensureTrainerOptions() => $_ensure(2); + + @$pb.TagNumber(4) + DeviceTiltConfigPage get deviceTiltConfig => $_getN(3); + @$pb.TagNumber(4) + set deviceTiltConfig(DeviceTiltConfigPage v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasDeviceTiltConfig() => $_has(3); + @$pb.TagNumber(4) + void clearDeviceTiltConfig() => clearField(4); + @$pb.TagNumber(4) + DeviceTiltConfigPage ensureDeviceTiltConfig() => $_ensure(3); + + @$pb.TagNumber(5) + ControllerInputConfigPage get controllerInputConfig => $_getN(4); + @$pb.TagNumber(5) + set controllerInputConfig(ControllerInputConfigPage v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasControllerInputConfig() => $_has(4); + @$pb.TagNumber(5) + void clearControllerInputConfig() => clearField(5); + @$pb.TagNumber(5) + ControllerInputConfigPage ensureControllerInputConfig() => $_ensure(4); + + @$pb.TagNumber(6) + TrainerGearIndexConfigPage get trainerGearIndexConfig => $_getN(5); + @$pb.TagNumber(6) + set trainerGearIndexConfig(TrainerGearIndexConfigPage v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasTrainerGearIndexConfig() => $_has(5); + @$pb.TagNumber(6) + void clearTrainerGearIndexConfig() => clearField(6); + @$pb.TagNumber(6) + TrainerGearIndexConfigPage ensureTrainerGearIndexConfig() => $_ensure(5); + + @$pb.TagNumber(8) + WifiConfigurationPage get wifiConfig => $_getN(6); + @$pb.TagNumber(8) + set wifiConfig(WifiConfigurationPage v) { setField(8, v); } + @$pb.TagNumber(8) + $core.bool hasWifiConfig() => $_has(6); + @$pb.TagNumber(8) + void clearWifiConfig() => clearField(8); + @$pb.TagNumber(8) + WifiConfigurationPage ensureWifiConfig() => $_ensure(6); + + @$pb.TagNumber(9) + DateTimePage get dateTimeConfig => $_getN(7); + @$pb.TagNumber(9) + set dateTimeConfig(DateTimePage v) { setField(9, v); } + @$pb.TagNumber(9) + $core.bool hasDateTimeConfig() => $_has(7); + @$pb.TagNumber(9) + void clearDateTimeConfig() => clearField(9); + @$pb.TagNumber(9) + DateTimePage ensureDateTimeConfig() => $_ensure(7); +} + +/// OpCode 0x40 +class SetResponse extends $pb.GeneratedMessage { + factory SetResponse({ + $core.int? status, + $core.int? msgId, + SetResponse_Response? response, + }) { + final $result = create(); + if (status != null) { + $result.status = status; + } + if (msgId != null) { + $result.msgId = msgId; + } + if (response != null) { + $result.response = response; + } + return $result; + } + SetResponse._() : super(); + factory SetResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SetResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OU3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'msgId', $pb.PbFieldType.OU3, protoName: 'msgId') + ..aOM(3, _omitFieldNames ? '' : 'response', subBuilder: SetResponse_Response.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SetResponse clone() => SetResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SetResponse copyWith(void Function(SetResponse) updates) => super.copyWith((message) => updates(message as SetResponse)) as SetResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SetResponse create() => SetResponse._(); + SetResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SetResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SetResponse? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get status => $_getIZ(0); + @$pb.TagNumber(1) + set status($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasStatus() => $_has(0); + @$pb.TagNumber(1) + void clearStatus() => clearField(1); + + @$pb.TagNumber(2) + $core.int get msgId => $_getIZ(1); + @$pb.TagNumber(2) + set msgId($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasMsgId() => $_has(1); + @$pb.TagNumber(2) + void clearMsgId() => clearField(2); + + @$pb.TagNumber(3) + SetResponse_Response get response => $_getN(2); + @$pb.TagNumber(3) + set response(SetResponse_Response v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasResponse() => $_has(2); + @$pb.TagNumber(3) + void clearResponse() => clearField(3); + @$pb.TagNumber(3) + SetResponse_Response ensureResponse() => $_ensure(2); +} + +/// OpCode 0x41 +class LogLevelSet extends $pb.GeneratedMessage { + factory LogLevelSet({ + LogLevel? logLevel, + }) { + final $result = create(); + if (logLevel != null) { + $result.logLevel = logLevel; + } + return $result; + } + LogLevelSet._() : super(); + factory LogLevelSet.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory LogLevelSet.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'LogLevelSet', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'logLevel', $pb.PbFieldType.OE, protoName: 'logLevel', defaultOrMaker: LogLevel.LOGLEVEL_OFF, valueOf: LogLevel.valueOf, enumValues: LogLevel.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + LogLevelSet clone() => LogLevelSet()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + LogLevelSet copyWith(void Function(LogLevelSet) updates) => super.copyWith((message) => updates(message as LogLevelSet)) as LogLevelSet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static LogLevelSet create() => LogLevelSet._(); + LogLevelSet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static LogLevelSet getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static LogLevelSet? _defaultInstance; + + @$pb.TagNumber(1) + LogLevel get logLevel => $_getN(0); + @$pb.TagNumber(1) + set logLevel(LogLevel v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasLogLevel() => $_has(0); + @$pb.TagNumber(1) + void clearLogLevel() => clearField(1); +} + +enum DataChangeNotification_Notification { + devInfo, + trainerSimParam, + trainerOptions, + deviceTiltConfig, + controllerInputConfig, + trainerGearIndexConfig, + wifiConfig, + deviceUpdatePage, + dateTimePage, + bleSecurityPage, + notSet +} + +/// Opcode 0x42 +class DataChangeNotification extends $pb.GeneratedMessage { + factory DataChangeNotification({ + DevInfoPage? devInfo, + TrainerSimulationParam? trainerSimParam, + TrainerOptions? trainerOptions, + DeviceTiltConfigPage? deviceTiltConfig, + ControllerInputConfigPage? controllerInputConfig, + TrainerGearIndexConfigPage? trainerGearIndexConfig, + WifiConfigurationPage? wifiConfig, + DeviceUpdatePage? deviceUpdatePage, + DateTimePage? dateTimePage, + BleSecurityPage? bleSecurityPage, + }) { + final $result = create(); + if (devInfo != null) { + $result.devInfo = devInfo; + } + if (trainerSimParam != null) { + $result.trainerSimParam = trainerSimParam; + } + if (trainerOptions != null) { + $result.trainerOptions = trainerOptions; + } + if (deviceTiltConfig != null) { + $result.deviceTiltConfig = deviceTiltConfig; + } + if (controllerInputConfig != null) { + $result.controllerInputConfig = controllerInputConfig; + } + if (trainerGearIndexConfig != null) { + $result.trainerGearIndexConfig = trainerGearIndexConfig; + } + if (wifiConfig != null) { + $result.wifiConfig = wifiConfig; + } + if (deviceUpdatePage != null) { + $result.deviceUpdatePage = deviceUpdatePage; + } + if (dateTimePage != null) { + $result.dateTimePage = dateTimePage; + } + if (bleSecurityPage != null) { + $result.bleSecurityPage = bleSecurityPage; + } + return $result; + } + DataChangeNotification._() : super(); + factory DataChangeNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DataChangeNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, DataChangeNotification_Notification> _DataChangeNotification_NotificationByTag = { + 1 : DataChangeNotification_Notification.devInfo, + 2 : DataChangeNotification_Notification.trainerSimParam, + 3 : DataChangeNotification_Notification.trainerOptions, + 4 : DataChangeNotification_Notification.deviceTiltConfig, + 5 : DataChangeNotification_Notification.controllerInputConfig, + 6 : DataChangeNotification_Notification.trainerGearIndexConfig, + 8 : DataChangeNotification_Notification.wifiConfig, + 9 : DataChangeNotification_Notification.deviceUpdatePage, + 10 : DataChangeNotification_Notification.dateTimePage, + 11 : DataChangeNotification_Notification.bleSecurityPage, + 0 : DataChangeNotification_Notification.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DataChangeNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4, 5, 6, 8, 9, 10, 11]) + ..aOM(1, _omitFieldNames ? '' : 'devInfo', protoName: 'devInfo', subBuilder: DevInfoPage.create) + ..aOM(2, _omitFieldNames ? '' : 'trainerSimParam', protoName: 'trainerSimParam', subBuilder: TrainerSimulationParam.create) + ..aOM(3, _omitFieldNames ? '' : 'trainerOptions', protoName: 'trainerOptions', subBuilder: TrainerOptions.create) + ..aOM(4, _omitFieldNames ? '' : 'deviceTiltConfig', protoName: 'deviceTiltConfig', subBuilder: DeviceTiltConfigPage.create) + ..aOM(5, _omitFieldNames ? '' : 'controllerInputConfig', protoName: 'controllerInputConfig', subBuilder: ControllerInputConfigPage.create) + ..aOM(6, _omitFieldNames ? '' : 'trainerGearIndexConfig', protoName: 'trainerGearIndexConfig', subBuilder: TrainerGearIndexConfigPage.create) + ..aOM(8, _omitFieldNames ? '' : 'wifiConfig', protoName: 'wifiConfig', subBuilder: WifiConfigurationPage.create) + ..aOM(9, _omitFieldNames ? '' : 'deviceUpdatePage', protoName: 'deviceUpdatePage', subBuilder: DeviceUpdatePage.create) + ..aOM(10, _omitFieldNames ? '' : 'dateTimePage', protoName: 'dateTimePage', subBuilder: DateTimePage.create) + ..aOM(11, _omitFieldNames ? '' : 'bleSecurityPage', protoName: 'bleSecurityPage', subBuilder: BleSecurityPage.create) + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DataChangeNotification clone() => DataChangeNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DataChangeNotification copyWith(void Function(DataChangeNotification) updates) => super.copyWith((message) => updates(message as DataChangeNotification)) as DataChangeNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DataChangeNotification create() => DataChangeNotification._(); + DataChangeNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DataChangeNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DataChangeNotification? _defaultInstance; + + DataChangeNotification_Notification whichNotification() => _DataChangeNotification_NotificationByTag[$_whichOneof(0)]!; + void clearNotification() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + DevInfoPage get devInfo => $_getN(0); + @$pb.TagNumber(1) + set devInfo(DevInfoPage v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasDevInfo() => $_has(0); + @$pb.TagNumber(1) + void clearDevInfo() => clearField(1); + @$pb.TagNumber(1) + DevInfoPage ensureDevInfo() => $_ensure(0); + + @$pb.TagNumber(2) + TrainerSimulationParam get trainerSimParam => $_getN(1); + @$pb.TagNumber(2) + set trainerSimParam(TrainerSimulationParam v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasTrainerSimParam() => $_has(1); + @$pb.TagNumber(2) + void clearTrainerSimParam() => clearField(2); + @$pb.TagNumber(2) + TrainerSimulationParam ensureTrainerSimParam() => $_ensure(1); + + @$pb.TagNumber(3) + TrainerOptions get trainerOptions => $_getN(2); + @$pb.TagNumber(3) + set trainerOptions(TrainerOptions v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasTrainerOptions() => $_has(2); + @$pb.TagNumber(3) + void clearTrainerOptions() => clearField(3); + @$pb.TagNumber(3) + TrainerOptions ensureTrainerOptions() => $_ensure(2); + + @$pb.TagNumber(4) + DeviceTiltConfigPage get deviceTiltConfig => $_getN(3); + @$pb.TagNumber(4) + set deviceTiltConfig(DeviceTiltConfigPage v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasDeviceTiltConfig() => $_has(3); + @$pb.TagNumber(4) + void clearDeviceTiltConfig() => clearField(4); + @$pb.TagNumber(4) + DeviceTiltConfigPage ensureDeviceTiltConfig() => $_ensure(3); + + @$pb.TagNumber(5) + ControllerInputConfigPage get controllerInputConfig => $_getN(4); + @$pb.TagNumber(5) + set controllerInputConfig(ControllerInputConfigPage v) { setField(5, v); } + @$pb.TagNumber(5) + $core.bool hasControllerInputConfig() => $_has(4); + @$pb.TagNumber(5) + void clearControllerInputConfig() => clearField(5); + @$pb.TagNumber(5) + ControllerInputConfigPage ensureControllerInputConfig() => $_ensure(4); + + @$pb.TagNumber(6) + TrainerGearIndexConfigPage get trainerGearIndexConfig => $_getN(5); + @$pb.TagNumber(6) + set trainerGearIndexConfig(TrainerGearIndexConfigPage v) { setField(6, v); } + @$pb.TagNumber(6) + $core.bool hasTrainerGearIndexConfig() => $_has(5); + @$pb.TagNumber(6) + void clearTrainerGearIndexConfig() => clearField(6); + @$pb.TagNumber(6) + TrainerGearIndexConfigPage ensureTrainerGearIndexConfig() => $_ensure(5); + + @$pb.TagNumber(8) + WifiConfigurationPage get wifiConfig => $_getN(6); + @$pb.TagNumber(8) + set wifiConfig(WifiConfigurationPage v) { setField(8, v); } + @$pb.TagNumber(8) + $core.bool hasWifiConfig() => $_has(6); + @$pb.TagNumber(8) + void clearWifiConfig() => clearField(8); + @$pb.TagNumber(8) + WifiConfigurationPage ensureWifiConfig() => $_ensure(6); + + @$pb.TagNumber(9) + DeviceUpdatePage get deviceUpdatePage => $_getN(7); + @$pb.TagNumber(9) + set deviceUpdatePage(DeviceUpdatePage v) { setField(9, v); } + @$pb.TagNumber(9) + $core.bool hasDeviceUpdatePage() => $_has(7); + @$pb.TagNumber(9) + void clearDeviceUpdatePage() => clearField(9); + @$pb.TagNumber(9) + DeviceUpdatePage ensureDeviceUpdatePage() => $_ensure(7); + + @$pb.TagNumber(10) + DateTimePage get dateTimePage => $_getN(8); + @$pb.TagNumber(10) + set dateTimePage(DateTimePage v) { setField(10, v); } + @$pb.TagNumber(10) + $core.bool hasDateTimePage() => $_has(8); + @$pb.TagNumber(10) + void clearDateTimePage() => clearField(10); + @$pb.TagNumber(10) + DateTimePage ensureDateTimePage() => $_ensure(8); + + @$pb.TagNumber(11) + BleSecurityPage get bleSecurityPage => $_getN(9); + @$pb.TagNumber(11) + set bleSecurityPage(BleSecurityPage v) { setField(11, v); } + @$pb.TagNumber(11) + $core.bool hasBleSecurityPage() => $_has(9); + @$pb.TagNumber(11) + void clearBleSecurityPage() => clearField(11); + @$pb.TagNumber(11) + BleSecurityPage ensureBleSecurityPage() => $_ensure(9); +} + +class GameStateNotification_GameSpeed extends $pb.GeneratedMessage { + factory GameStateNotification_GameSpeed({ + $core.int? normalisedSpeed, + $core.int? speed, + }) { + final $result = create(); + if (normalisedSpeed != null) { + $result.normalisedSpeed = normalisedSpeed; + } + if (speed != null) { + $result.speed = speed; + } + return $result; + } + GameStateNotification_GameSpeed._() : super(); + factory GameStateNotification_GameSpeed.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GameStateNotification_GameSpeed.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GameStateNotification.GameSpeed', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'normalisedSpeed', $pb.PbFieldType.OS3, protoName: 'normalisedSpeed') + ..a<$core.int>(2, _omitFieldNames ? '' : 'speed', $pb.PbFieldType.OS3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GameStateNotification_GameSpeed clone() => GameStateNotification_GameSpeed()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GameStateNotification_GameSpeed copyWith(void Function(GameStateNotification_GameSpeed) updates) => super.copyWith((message) => updates(message as GameStateNotification_GameSpeed)) as GameStateNotification_GameSpeed; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GameStateNotification_GameSpeed create() => GameStateNotification_GameSpeed._(); + GameStateNotification_GameSpeed createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GameStateNotification_GameSpeed getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GameStateNotification_GameSpeed? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get normalisedSpeed => $_getIZ(0); + @$pb.TagNumber(1) + set normalisedSpeed($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasNormalisedSpeed() => $_has(0); + @$pb.TagNumber(1) + void clearNormalisedSpeed() => clearField(1); + + @$pb.TagNumber(2) + $core.int get speed => $_getIZ(1); + @$pb.TagNumber(2) + set speed($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasSpeed() => $_has(1); + @$pb.TagNumber(2) + void clearSpeed() => clearField(2); +} + +class GameStateNotification_RoadSurface extends $pb.GeneratedMessage { + factory GameStateNotification_RoadSurface({ + RoadSurfaceType? roadSurfaceType, + $core.int? roughness, + }) { + final $result = create(); + if (roadSurfaceType != null) { + $result.roadSurfaceType = roadSurfaceType; + } + if (roughness != null) { + $result.roughness = roughness; + } + return $result; + } + GameStateNotification_RoadSurface._() : super(); + factory GameStateNotification_RoadSurface.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GameStateNotification_RoadSurface.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GameStateNotification.RoadSurface', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'roadSurfaceType', $pb.PbFieldType.OE, protoName: 'roadSurfaceType', defaultOrMaker: RoadSurfaceType.ROAD_SURFACE_SMOOTH_TARMAC, valueOf: RoadSurfaceType.valueOf, enumValues: RoadSurfaceType.values) + ..a<$core.int>(2, _omitFieldNames ? '' : 'roughness', $pb.PbFieldType.OU3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GameStateNotification_RoadSurface clone() => GameStateNotification_RoadSurface()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GameStateNotification_RoadSurface copyWith(void Function(GameStateNotification_RoadSurface) updates) => super.copyWith((message) => updates(message as GameStateNotification_RoadSurface)) as GameStateNotification_RoadSurface; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GameStateNotification_RoadSurface create() => GameStateNotification_RoadSurface._(); + GameStateNotification_RoadSurface createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GameStateNotification_RoadSurface getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GameStateNotification_RoadSurface? _defaultInstance; + + @$pb.TagNumber(1) + RoadSurfaceType get roadSurfaceType => $_getN(0); + @$pb.TagNumber(1) + set roadSurfaceType(RoadSurfaceType v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasRoadSurfaceType() => $_has(0); + @$pb.TagNumber(1) + void clearRoadSurfaceType() => clearField(1); + + @$pb.TagNumber(2) + $core.int get roughness => $_getIZ(1); + @$pb.TagNumber(2) + set roughness($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasRoughness() => $_has(1); + @$pb.TagNumber(2) + void clearRoughness() => clearField(2); +} + +enum GameStateNotification_Notification { + gameSpeed, + roadSurface, + notSet +} + +/// Opcode 0x43 GAME_STATE_NOTIFICATION +class GameStateNotification extends $pb.GeneratedMessage { + factory GameStateNotification({ + GameStateNotification_GameSpeed? gameSpeed, + GameStateNotification_RoadSurface? roadSurface, + }) { + final $result = create(); + if (gameSpeed != null) { + $result.gameSpeed = gameSpeed; + } + if (roadSurface != null) { + $result.roadSurface = roadSurface; + } + return $result; + } + GameStateNotification._() : super(); + factory GameStateNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory GameStateNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, GameStateNotification_Notification> _GameStateNotification_NotificationByTag = { + 1 : GameStateNotification_Notification.gameSpeed, + 2 : GameStateNotification_Notification.roadSurface, + 0 : GameStateNotification_Notification.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'GameStateNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'gameSpeed', protoName: 'gameSpeed', subBuilder: GameStateNotification_GameSpeed.create) + ..aOM(2, _omitFieldNames ? '' : 'roadSurface', protoName: 'roadSurface', subBuilder: GameStateNotification_RoadSurface.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + GameStateNotification clone() => GameStateNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + GameStateNotification copyWith(void Function(GameStateNotification) updates) => super.copyWith((message) => updates(message as GameStateNotification)) as GameStateNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static GameStateNotification create() => GameStateNotification._(); + GameStateNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static GameStateNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static GameStateNotification? _defaultInstance; + + GameStateNotification_Notification whichNotification() => _GameStateNotification_NotificationByTag[$_whichOneof(0)]!; + void clearNotification() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + GameStateNotification_GameSpeed get gameSpeed => $_getN(0); + @$pb.TagNumber(1) + set gameSpeed(GameStateNotification_GameSpeed v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasGameSpeed() => $_has(0); + @$pb.TagNumber(1) + void clearGameSpeed() => clearField(1); + @$pb.TagNumber(1) + GameStateNotification_GameSpeed ensureGameSpeed() => $_ensure(0); + + @$pb.TagNumber(2) + GameStateNotification_RoadSurface get roadSurface => $_getN(1); + @$pb.TagNumber(2) + set roadSurface(GameStateNotification_RoadSurface v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasRoadSurface() => $_has(1); + @$pb.TagNumber(2) + void clearRoadSurface() => clearField(2); + @$pb.TagNumber(2) + GameStateNotification_RoadSurface ensureRoadSurface() => $_ensure(1); +} + +enum SensorRelayConfig_Procedure { + search, + connect, + disconnect, + clearAll, + disconnectAll, + notSet +} + +/// Opcode 0x44 (SENSOR_RELAY_CONFIG) +class SensorRelayConfig extends $pb.GeneratedMessage { + factory SensorRelayConfig({ + $core.bool? search, + $core.int? connect, + $core.int? disconnect, + $core.bool? clearAll, + $core.bool? disconnectAll, + }) { + final $result = create(); + if (search != null) { + $result.search = search; + } + if (connect != null) { + $result.connect = connect; + } + if (disconnect != null) { + $result.disconnect = disconnect; + } + if (clearAll != null) { + $result.clearAll = clearAll; + } + if (disconnectAll != null) { + $result.disconnectAll = disconnectAll; + } + return $result; + } + SensorRelayConfig._() : super(); + factory SensorRelayConfig.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SensorRelayConfig.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, SensorRelayConfig_Procedure> _SensorRelayConfig_ProcedureByTag = { + 1 : SensorRelayConfig_Procedure.search, + 2 : SensorRelayConfig_Procedure.connect, + 3 : SensorRelayConfig_Procedure.disconnect, + 4 : SensorRelayConfig_Procedure.clearAll, + 5 : SensorRelayConfig_Procedure.disconnectAll, + 0 : SensorRelayConfig_Procedure.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SensorRelayConfig', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4, 5]) + ..aOB(1, _omitFieldNames ? '' : 'search') + ..a<$core.int>(2, _omitFieldNames ? '' : 'connect', $pb.PbFieldType.OU3) + ..a<$core.int>(3, _omitFieldNames ? '' : 'disconnect', $pb.PbFieldType.OU3) + ..aOB(4, _omitFieldNames ? '' : 'clearAll', protoName: 'clearAll') + ..aOB(5, _omitFieldNames ? '' : 'disconnectAll', protoName: 'disconnectAll') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SensorRelayConfig clone() => SensorRelayConfig()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SensorRelayConfig copyWith(void Function(SensorRelayConfig) updates) => super.copyWith((message) => updates(message as SensorRelayConfig)) as SensorRelayConfig; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SensorRelayConfig create() => SensorRelayConfig._(); + SensorRelayConfig createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SensorRelayConfig getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SensorRelayConfig? _defaultInstance; + + SensorRelayConfig_Procedure whichProcedure() => _SensorRelayConfig_ProcedureByTag[$_whichOneof(0)]!; + void clearProcedure() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.bool get search => $_getBF(0); + @$pb.TagNumber(1) + set search($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasSearch() => $_has(0); + @$pb.TagNumber(1) + void clearSearch() => clearField(1); + + @$pb.TagNumber(2) + $core.int get connect => $_getIZ(1); + @$pb.TagNumber(2) + set connect($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasConnect() => $_has(1); + @$pb.TagNumber(2) + void clearConnect() => clearField(2); + + @$pb.TagNumber(3) + $core.int get disconnect => $_getIZ(2); + @$pb.TagNumber(3) + set disconnect($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasDisconnect() => $_has(2); + @$pb.TagNumber(3) + void clearDisconnect() => clearField(3); + + @$pb.TagNumber(4) + $core.bool get clearAll => $_getBF(3); + @$pb.TagNumber(4) + set clearAll($core.bool v) { $_setBool(3, v); } + @$pb.TagNumber(4) + $core.bool hasClearAll() => $_has(3); + @$pb.TagNumber(4) + void clearClearAll() => clearField(4); + + @$pb.TagNumber(5) + $core.bool get disconnectAll => $_getBF(4); + @$pb.TagNumber(5) + set disconnectAll($core.bool v) { $_setBool(4, v); } + @$pb.TagNumber(5) + $core.bool hasDisconnectAll() => $_has(4); + @$pb.TagNumber(5) + void clearDisconnectAll() => clearField(5); +} + +enum SensorRelayGet_Request { + pairedSensorInfo, + notSet +} + +/// Opcode 0x45 (SENSOR_RELAY_GET) +class SensorRelayGet extends $pb.GeneratedMessage { + factory SensorRelayGet({ + $core.int? pairedSensorInfo, + }) { + final $result = create(); + if (pairedSensorInfo != null) { + $result.pairedSensorInfo = pairedSensorInfo; + } + return $result; + } + SensorRelayGet._() : super(); + factory SensorRelayGet.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SensorRelayGet.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, SensorRelayGet_Request> _SensorRelayGet_RequestByTag = { + 1 : SensorRelayGet_Request.pairedSensorInfo, + 0 : SensorRelayGet_Request.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SensorRelayGet', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1]) + ..a<$core.int>(1, _omitFieldNames ? '' : 'pairedSensorInfo', $pb.PbFieldType.OU3, protoName: 'pairedSensorInfo') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SensorRelayGet clone() => SensorRelayGet()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SensorRelayGet copyWith(void Function(SensorRelayGet) updates) => super.copyWith((message) => updates(message as SensorRelayGet)) as SensorRelayGet; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SensorRelayGet create() => SensorRelayGet._(); + SensorRelayGet createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SensorRelayGet getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SensorRelayGet? _defaultInstance; + + SensorRelayGet_Request whichRequest() => _SensorRelayGet_RequestByTag[$_whichOneof(0)]!; + void clearRequest() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.int get pairedSensorInfo => $_getIZ(0); + @$pb.TagNumber(1) + set pairedSensorInfo($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasPairedSensorInfo() => $_has(0); + @$pb.TagNumber(1) + void clearPairedSensorInfo() => clearField(1); +} + +enum SensorRelayResponse_Response { + pairedSensorInfoList, + notSet +} + +/// Opcode 0x46 (SENSOR_RELAY_RESPONSE) +class SensorRelayResponse extends $pb.GeneratedMessage { + factory SensorRelayResponse({ + SensorInfoList? pairedSensorInfoList, + }) { + final $result = create(); + if (pairedSensorInfoList != null) { + $result.pairedSensorInfoList = pairedSensorInfoList; + } + return $result; + } + SensorRelayResponse._() : super(); + factory SensorRelayResponse.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SensorRelayResponse.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, SensorRelayResponse_Response> _SensorRelayResponse_ResponseByTag = { + 1 : SensorRelayResponse_Response.pairedSensorInfoList, + 0 : SensorRelayResponse_Response.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SensorRelayResponse', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1]) + ..aOM(1, _omitFieldNames ? '' : 'pairedSensorInfoList', protoName: 'pairedSensorInfoList', subBuilder: SensorInfoList.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SensorRelayResponse clone() => SensorRelayResponse()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SensorRelayResponse copyWith(void Function(SensorRelayResponse) updates) => super.copyWith((message) => updates(message as SensorRelayResponse)) as SensorRelayResponse; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SensorRelayResponse create() => SensorRelayResponse._(); + SensorRelayResponse createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SensorRelayResponse getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SensorRelayResponse? _defaultInstance; + + SensorRelayResponse_Response whichResponse() => _SensorRelayResponse_ResponseByTag[$_whichOneof(0)]!; + void clearResponse() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + SensorInfoList get pairedSensorInfoList => $_getN(0); + @$pb.TagNumber(1) + set pairedSensorInfoList(SensorInfoList v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasPairedSensorInfoList() => $_has(0); + @$pb.TagNumber(1) + void clearPairedSensorInfoList() => clearField(1); + @$pb.TagNumber(1) + SensorInfoList ensurePairedSensorInfoList() => $_ensure(0); +} + +enum SensorRelayNotification_Notification { + newSensor, + sensorStatus, + notSet +} + +/// Opcode 0x47 (SENSOR_RELAY_NOTIFIATION) +class SensorRelayNotification extends $pb.GeneratedMessage { + factory SensorRelayNotification({ + SensorInfo? newSensor, + SensorInfo? sensorStatus, + }) { + final $result = create(); + if (newSensor != null) { + $result.newSensor = newSensor; + } + if (sensorStatus != null) { + $result.sensorStatus = sensorStatus; + } + return $result; + } + SensorRelayNotification._() : super(); + factory SensorRelayNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SensorRelayNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, SensorRelayNotification_Notification> _SensorRelayNotification_NotificationByTag = { + 1 : SensorRelayNotification_Notification.newSensor, + 2 : SensorRelayNotification_Notification.sensorStatus, + 0 : SensorRelayNotification_Notification.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SensorRelayNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'newSensor', protoName: 'newSensor', subBuilder: SensorInfo.create) + ..aOM(2, _omitFieldNames ? '' : 'sensorStatus', protoName: 'sensorStatus', subBuilder: SensorInfo.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SensorRelayNotification clone() => SensorRelayNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SensorRelayNotification copyWith(void Function(SensorRelayNotification) updates) => super.copyWith((message) => updates(message as SensorRelayNotification)) as SensorRelayNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SensorRelayNotification create() => SensorRelayNotification._(); + SensorRelayNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SensorRelayNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SensorRelayNotification? _defaultInstance; + + SensorRelayNotification_Notification whichNotification() => _SensorRelayNotification_NotificationByTag[$_whichOneof(0)]!; + void clearNotification() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + SensorInfo get newSensor => $_getN(0); + @$pb.TagNumber(1) + set newSensor(SensorInfo v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasNewSensor() => $_has(0); + @$pb.TagNumber(1) + void clearNewSensor() => clearField(1); + @$pb.TagNumber(1) + SensorInfo ensureNewSensor() => $_ensure(0); + + @$pb.TagNumber(2) + SensorInfo get sensorStatus => $_getN(1); + @$pb.TagNumber(2) + set sensorStatus(SensorInfo v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasSensorStatus() => $_has(1); + @$pb.TagNumber(2) + void clearSensorStatus() => clearField(2); + @$pb.TagNumber(2) + SensorInfo ensureSensorStatus() => $_ensure(1); +} + +/// Opcode 0x48 (HRM_DATA_NOTIFICATION) +class HrmDataNotification extends $pb.GeneratedMessage { + factory HrmDataNotification({ + $core.int? sensorId, + $core.int? hrm, + $core.int? energyExpended, + $core.Iterable<$core.int>? rrInterval, + }) { + final $result = create(); + if (sensorId != null) { + $result.sensorId = sensorId; + } + if (hrm != null) { + $result.hrm = hrm; + } + if (energyExpended != null) { + $result.energyExpended = energyExpended; + } + if (rrInterval != null) { + $result.rrInterval.addAll(rrInterval); + } + return $result; + } + HrmDataNotification._() : super(); + factory HrmDataNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory HrmDataNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'HrmDataNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'sensorId', $pb.PbFieldType.OU3, protoName: 'sensorId') + ..a<$core.int>(2, _omitFieldNames ? '' : 'hrm', $pb.PbFieldType.OU3) + ..a<$core.int>(3, _omitFieldNames ? '' : 'energyExpended', $pb.PbFieldType.OU3, protoName: 'energyExpended') + ..p<$core.int>(4, _omitFieldNames ? '' : 'rrInterval', $pb.PbFieldType.PU3, protoName: 'rrInterval') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + HrmDataNotification clone() => HrmDataNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + HrmDataNotification copyWith(void Function(HrmDataNotification) updates) => super.copyWith((message) => updates(message as HrmDataNotification)) as HrmDataNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static HrmDataNotification create() => HrmDataNotification._(); + HrmDataNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static HrmDataNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static HrmDataNotification? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get sensorId => $_getIZ(0); + @$pb.TagNumber(1) + set sensorId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSensorId() => $_has(0); + @$pb.TagNumber(1) + void clearSensorId() => clearField(1); + + @$pb.TagNumber(2) + $core.int get hrm => $_getIZ(1); + @$pb.TagNumber(2) + set hrm($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasHrm() => $_has(1); + @$pb.TagNumber(2) + void clearHrm() => clearField(2); + + @$pb.TagNumber(3) + $core.int get energyExpended => $_getIZ(2); + @$pb.TagNumber(3) + set energyExpended($core.int v) { $_setUnsignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasEnergyExpended() => $_has(2); + @$pb.TagNumber(3) + void clearEnergyExpended() => clearField(3); + + @$pb.TagNumber(4) + $core.List<$core.int> get rrInterval => $_getList(3); +} + +enum WifiConfigurationRequest_Request { + startScan, + connect, + forget, + setRegionCode, + notSet +} + +/// OpCode 0x49 +class WifiConfigurationRequest extends $pb.GeneratedMessage { + factory WifiConfigurationRequest({ + $core.bool? startScan, + WifiNetwork? connect, + $core.bool? forget, + WifiRegionCode? setRegionCode, + }) { + final $result = create(); + if (startScan != null) { + $result.startScan = startScan; + } + if (connect != null) { + $result.connect = connect; + } + if (forget != null) { + $result.forget = forget; + } + if (setRegionCode != null) { + $result.setRegionCode = setRegionCode; + } + return $result; + } + WifiConfigurationRequest._() : super(); + factory WifiConfigurationRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory WifiConfigurationRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, WifiConfigurationRequest_Request> _WifiConfigurationRequest_RequestByTag = { + 1 : WifiConfigurationRequest_Request.startScan, + 2 : WifiConfigurationRequest_Request.connect, + 3 : WifiConfigurationRequest_Request.forget, + 4 : WifiConfigurationRequest_Request.setRegionCode, + 0 : WifiConfigurationRequest_Request.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'WifiConfigurationRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2, 3, 4]) + ..aOB(1, _omitFieldNames ? '' : 'startScan', protoName: 'startScan') + ..aOM(2, _omitFieldNames ? '' : 'connect', subBuilder: WifiNetwork.create) + ..aOB(3, _omitFieldNames ? '' : 'forget') + ..aOM(4, _omitFieldNames ? '' : 'setRegionCode', protoName: 'setRegionCode', subBuilder: WifiRegionCode.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WifiConfigurationRequest clone() => WifiConfigurationRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WifiConfigurationRequest copyWith(void Function(WifiConfigurationRequest) updates) => super.copyWith((message) => updates(message as WifiConfigurationRequest)) as WifiConfigurationRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WifiConfigurationRequest create() => WifiConfigurationRequest._(); + WifiConfigurationRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WifiConfigurationRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static WifiConfigurationRequest? _defaultInstance; + + WifiConfigurationRequest_Request whichRequest() => _WifiConfigurationRequest_RequestByTag[$_whichOneof(0)]!; + void clearRequest() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.bool get startScan => $_getBF(0); + @$pb.TagNumber(1) + set startScan($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasStartScan() => $_has(0); + @$pb.TagNumber(1) + void clearStartScan() => clearField(1); + + @$pb.TagNumber(2) + WifiNetwork get connect => $_getN(1); + @$pb.TagNumber(2) + set connect(WifiNetwork v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasConnect() => $_has(1); + @$pb.TagNumber(2) + void clearConnect() => clearField(2); + @$pb.TagNumber(2) + WifiNetwork ensureConnect() => $_ensure(1); + + @$pb.TagNumber(3) + $core.bool get forget => $_getBF(2); + @$pb.TagNumber(3) + set forget($core.bool v) { $_setBool(2, v); } + @$pb.TagNumber(3) + $core.bool hasForget() => $_has(2); + @$pb.TagNumber(3) + void clearForget() => clearField(3); + + @$pb.TagNumber(4) + WifiRegionCode get setRegionCode => $_getN(3); + @$pb.TagNumber(4) + set setRegionCode(WifiRegionCode v) { setField(4, v); } + @$pb.TagNumber(4) + $core.bool hasSetRegionCode() => $_has(3); + @$pb.TagNumber(4) + void clearSetRegionCode() => clearField(4); + @$pb.TagNumber(4) + WifiRegionCode ensureSetRegionCode() => $_ensure(3); +} + +class WifiNotification_WifiStatus extends $pb.GeneratedMessage { + factory WifiNotification_WifiStatus({ + WifiStatusCode? wifiStatusCode, + WifiErrorCode? wifiErrorCode, + }) { + final $result = create(); + if (wifiStatusCode != null) { + $result.wifiStatusCode = wifiStatusCode; + } + if (wifiErrorCode != null) { + $result.wifiErrorCode = wifiErrorCode; + } + return $result; + } + WifiNotification_WifiStatus._() : super(); + factory WifiNotification_WifiStatus.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory WifiNotification_WifiStatus.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'WifiNotification.WifiStatus', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'wifiStatusCode', $pb.PbFieldType.OE, protoName: 'wifiStatusCode', defaultOrMaker: WifiStatusCode.WIFI_STATUS_DISABLED, valueOf: WifiStatusCode.valueOf, enumValues: WifiStatusCode.values) + ..e(2, _omitFieldNames ? '' : 'wifiErrorCode', $pb.PbFieldType.OE, protoName: 'wifiErrorCode', defaultOrMaker: WifiErrorCode.WIFI_ERROR_UNKNOWN, valueOf: WifiErrorCode.valueOf, enumValues: WifiErrorCode.values) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WifiNotification_WifiStatus clone() => WifiNotification_WifiStatus()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WifiNotification_WifiStatus copyWith(void Function(WifiNotification_WifiStatus) updates) => super.copyWith((message) => updates(message as WifiNotification_WifiStatus)) as WifiNotification_WifiStatus; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WifiNotification_WifiStatus create() => WifiNotification_WifiStatus._(); + WifiNotification_WifiStatus createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WifiNotification_WifiStatus getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static WifiNotification_WifiStatus? _defaultInstance; + + @$pb.TagNumber(1) + WifiStatusCode get wifiStatusCode => $_getN(0); + @$pb.TagNumber(1) + set wifiStatusCode(WifiStatusCode v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasWifiStatusCode() => $_has(0); + @$pb.TagNumber(1) + void clearWifiStatusCode() => clearField(1); + + @$pb.TagNumber(2) + WifiErrorCode get wifiErrorCode => $_getN(1); + @$pb.TagNumber(2) + set wifiErrorCode(WifiErrorCode v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasWifiErrorCode() => $_has(1); + @$pb.TagNumber(2) + void clearWifiErrorCode() => clearField(2); +} + +enum WifiNotification_Notification { + discoveredNetwork, + wifiStatus, + notSet +} + +/// OpCode 0x4A +class WifiNotification extends $pb.GeneratedMessage { + factory WifiNotification({ + WifiNetworkDetails? discoveredNetwork, + WifiNotification_WifiStatus? wifiStatus, + }) { + final $result = create(); + if (discoveredNetwork != null) { + $result.discoveredNetwork = discoveredNetwork; + } + if (wifiStatus != null) { + $result.wifiStatus = wifiStatus; + } + return $result; + } + WifiNotification._() : super(); + factory WifiNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory WifiNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, WifiNotification_Notification> _WifiNotification_NotificationByTag = { + 1 : WifiNotification_Notification.discoveredNetwork, + 2 : WifiNotification_Notification.wifiStatus, + 0 : WifiNotification_Notification.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'WifiNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOM(1, _omitFieldNames ? '' : 'discoveredNetwork', protoName: 'discoveredNetwork', subBuilder: WifiNetworkDetails.create) + ..aOM(2, _omitFieldNames ? '' : 'wifiStatus', protoName: 'wifiStatus', subBuilder: WifiNotification_WifiStatus.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + WifiNotification clone() => WifiNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + WifiNotification copyWith(void Function(WifiNotification) updates) => super.copyWith((message) => updates(message as WifiNotification)) as WifiNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static WifiNotification create() => WifiNotification._(); + WifiNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static WifiNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static WifiNotification? _defaultInstance; + + WifiNotification_Notification whichNotification() => _WifiNotification_NotificationByTag[$_whichOneof(0)]!; + void clearNotification() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + WifiNetworkDetails get discoveredNetwork => $_getN(0); + @$pb.TagNumber(1) + set discoveredNetwork(WifiNetworkDetails v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasDiscoveredNetwork() => $_has(0); + @$pb.TagNumber(1) + void clearDiscoveredNetwork() => clearField(1); + @$pb.TagNumber(1) + WifiNetworkDetails ensureDiscoveredNetwork() => $_ensure(0); + + @$pb.TagNumber(2) + WifiNotification_WifiStatus get wifiStatus => $_getN(1); + @$pb.TagNumber(2) + set wifiStatus(WifiNotification_WifiStatus v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasWifiStatus() => $_has(1); + @$pb.TagNumber(2) + void clearWifiStatus() => clearField(2); + @$pb.TagNumber(2) + WifiNotification_WifiStatus ensureWifiStatus() => $_ensure(1); +} + +/// OpCode 0x4B +class PowerDataNotification extends $pb.GeneratedMessage { + factory PowerDataNotification({ + $core.int? sensorId, + $core.int? power, + }) { + final $result = create(); + if (sensorId != null) { + $result.sensorId = sensorId; + } + if (power != null) { + $result.power = power; + } + return $result; + } + PowerDataNotification._() : super(); + factory PowerDataNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory PowerDataNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PowerDataNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'sensorId', $pb.PbFieldType.OU3, protoName: 'sensorId') + ..a<$core.int>(2, _omitFieldNames ? '' : 'power', $pb.PbFieldType.OU3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PowerDataNotification clone() => PowerDataNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PowerDataNotification copyWith(void Function(PowerDataNotification) updates) => super.copyWith((message) => updates(message as PowerDataNotification)) as PowerDataNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PowerDataNotification create() => PowerDataNotification._(); + PowerDataNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PowerDataNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static PowerDataNotification? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get sensorId => $_getIZ(0); + @$pb.TagNumber(1) + set sensorId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSensorId() => $_has(0); + @$pb.TagNumber(1) + void clearSensorId() => clearField(1); + + @$pb.TagNumber(2) + $core.int get power => $_getIZ(1); + @$pb.TagNumber(2) + set power($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasPower() => $_has(1); + @$pb.TagNumber(2) + void clearPower() => clearField(2); +} + +/// OpCode 0x4C +class CadenceDataNotification extends $pb.GeneratedMessage { + factory CadenceDataNotification({ + $core.int? sensorId, + $core.int? cadence, + }) { + final $result = create(); + if (sensorId != null) { + $result.sensorId = sensorId; + } + if (cadence != null) { + $result.cadence = cadence; + } + return $result; + } + CadenceDataNotification._() : super(); + factory CadenceDataNotification.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory CadenceDataNotification.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'CadenceDataNotification', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'sensorId', $pb.PbFieldType.OU3, protoName: 'sensorId') + ..a<$core.int>(2, _omitFieldNames ? '' : 'cadence', $pb.PbFieldType.OU3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + CadenceDataNotification clone() => CadenceDataNotification()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + CadenceDataNotification copyWith(void Function(CadenceDataNotification) updates) => super.copyWith((message) => updates(message as CadenceDataNotification)) as CadenceDataNotification; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static CadenceDataNotification create() => CadenceDataNotification._(); + CadenceDataNotification createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static CadenceDataNotification getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static CadenceDataNotification? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get sensorId => $_getIZ(0); + @$pb.TagNumber(1) + set sensorId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSensorId() => $_has(0); + @$pb.TagNumber(1) + void clearSensorId() => clearField(1); + + @$pb.TagNumber(2) + $core.int get cadence => $_getIZ(1); + @$pb.TagNumber(2) + set cadence($core.int v) { $_setUnsignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasCadence() => $_has(1); + @$pb.TagNumber(2) + void clearCadence() => clearField(2); +} + +enum DeviceUpdateRequest_Procedure { + checkForUpdates, + activateUpdates, + notSet +} + +/// OpCode 0x4D +class DeviceUpdateRequest extends $pb.GeneratedMessage { + factory DeviceUpdateRequest({ + $core.bool? checkForUpdates, + $core.bool? activateUpdates, + }) { + final $result = create(); + if (checkForUpdates != null) { + $result.checkForUpdates = checkForUpdates; + } + if (activateUpdates != null) { + $result.activateUpdates = activateUpdates; + } + return $result; + } + DeviceUpdateRequest._() : super(); + factory DeviceUpdateRequest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DeviceUpdateRequest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, DeviceUpdateRequest_Procedure> _DeviceUpdateRequest_ProcedureByTag = { + 1 : DeviceUpdateRequest_Procedure.checkForUpdates, + 2 : DeviceUpdateRequest_Procedure.activateUpdates, + 0 : DeviceUpdateRequest_Procedure.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DeviceUpdateRequest', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..oo(0, [1, 2]) + ..aOB(1, _omitFieldNames ? '' : 'checkForUpdates', protoName: 'checkForUpdates') + ..aOB(2, _omitFieldNames ? '' : 'activateUpdates', protoName: 'activateUpdates') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DeviceUpdateRequest clone() => DeviceUpdateRequest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DeviceUpdateRequest copyWith(void Function(DeviceUpdateRequest) updates) => super.copyWith((message) => updates(message as DeviceUpdateRequest)) as DeviceUpdateRequest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DeviceUpdateRequest create() => DeviceUpdateRequest._(); + DeviceUpdateRequest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DeviceUpdateRequest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DeviceUpdateRequest? _defaultInstance; + + DeviceUpdateRequest_Procedure whichProcedure() => _DeviceUpdateRequest_ProcedureByTag[$_whichOneof(0)]!; + void clearProcedure() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.bool get checkForUpdates => $_getBF(0); + @$pb.TagNumber(1) + set checkForUpdates($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasCheckForUpdates() => $_has(0); + @$pb.TagNumber(1) + void clearCheckForUpdates() => clearField(1); + + @$pb.TagNumber(2) + $core.bool get activateUpdates => $_getBF(1); + @$pb.TagNumber(2) + set activateUpdates($core.bool v) { $_setBool(1, v); } + @$pb.TagNumber(2) + $core.bool hasActivateUpdates() => $_has(1); + @$pb.TagNumber(2) + void clearActivateUpdates() => clearField(2); +} + +/// Opcode 0x4E +class RelayZpMessage extends $pb.GeneratedMessage { + factory RelayZpMessage({ + $core.int? relayAssignedId, + $core.List<$core.int>? payload, + }) { + final $result = create(); + if (relayAssignedId != null) { + $result.relayAssignedId = relayAssignedId; + } + if (payload != null) { + $result.payload = payload; + } + return $result; + } + RelayZpMessage._() : super(); + factory RelayZpMessage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory RelayZpMessage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'RelayZpMessage', package: const $pb.PackageName(_omitMessageNames ? '' : 'Zp'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'relayAssignedId', $pb.PbFieldType.OU3, protoName: 'relayAssignedId') + ..a<$core.List<$core.int>>(2, _omitFieldNames ? '' : 'payload', $pb.PbFieldType.OY) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + RelayZpMessage clone() => RelayZpMessage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + RelayZpMessage copyWith(void Function(RelayZpMessage) updates) => super.copyWith((message) => updates(message as RelayZpMessage)) as RelayZpMessage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static RelayZpMessage create() => RelayZpMessage._(); + RelayZpMessage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static RelayZpMessage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static RelayZpMessage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get relayAssignedId => $_getIZ(0); + @$pb.TagNumber(1) + set relayAssignedId($core.int v) { $_setUnsignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasRelayAssignedId() => $_has(0); + @$pb.TagNumber(1) + void clearRelayAssignedId() => clearField(1); + + @$pb.TagNumber(2) + $core.List<$core.int> get payload => $_getN(1); + @$pb.TagNumber(2) + set payload($core.List<$core.int> v) { $_setBytes(1, v); } + @$pb.TagNumber(2) + $core.bool hasPayload() => $_has(1); + @$pb.TagNumber(2) + void clearPayload() => clearField(2); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/lib/bluetooth/protocol/zp.pbenum.dart b/lib/bluetooth/protocol/zp.pbenum.dart new file mode 100644 index 000000000..9350d9e9e --- /dev/null +++ b/lib/bluetooth/protocol/zp.pbenum.dart @@ -0,0 +1,583 @@ +// +// Generated code. Do not modify. +// source: zp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +/// /////////////////////////////////////////////////////////////// +/// Enumerations +/// /////////////////////////////////////////////////////////////// +class Opcode extends $pb.ProtobufEnum { + static const Opcode GET = Opcode._(0, _omitEnumNames ? '' : 'GET'); + static const Opcode DEV_INFO_STATUS = Opcode._(1, _omitEnumNames ? '' : 'DEV_INFO_STATUS'); + static const Opcode BLE_SECURITY_REQUEST = Opcode._(2, _omitEnumNames ? '' : 'BLE_SECURITY_REQUEST'); + static const Opcode TRAINER_NOTIF = Opcode._(3, _omitEnumNames ? '' : 'TRAINER_NOTIF'); + static const Opcode TRAINER_CONFIG_SET = Opcode._(4, _omitEnumNames ? '' : 'TRAINER_CONFIG_SET'); + static const Opcode TRAINER_CONFIG_STATUS = Opcode._(5, _omitEnumNames ? '' : 'TRAINER_CONFIG_STATUS'); + static const Opcode DEV_INFO_SET = Opcode._(12, _omitEnumNames ? '' : 'DEV_INFO_SET'); + static const Opcode POWER_OFF = Opcode._(15, _omitEnumNames ? '' : 'POWER_OFF'); + static const Opcode RESET = Opcode._(24, _omitEnumNames ? '' : 'RESET'); + static const Opcode BATTERY_NOTIF = Opcode._(25, _omitEnumNames ? '' : 'BATTERY_NOTIF'); + static const Opcode CONTROLLER_NOTIFICATION = Opcode._(35, _omitEnumNames ? '' : 'CONTROLLER_NOTIFICATION'); + static const Opcode LOG_DATA = Opcode._(42, _omitEnumNames ? '' : 'LOG_DATA'); + static const Opcode SPINDOWN_REQUEST = Opcode._(58, _omitEnumNames ? '' : 'SPINDOWN_REQUEST'); + static const Opcode SPINDOWN_NOTIFICATION = Opcode._(59, _omitEnumNames ? '' : 'SPINDOWN_NOTIFICATION'); + static const Opcode GET_RESPONSE = Opcode._(60, _omitEnumNames ? '' : 'GET_RESPONSE'); + static const Opcode STATUS_RESPONSE = Opcode._(62, _omitEnumNames ? '' : 'STATUS_RESPONSE'); + static const Opcode SET = Opcode._(63, _omitEnumNames ? '' : 'SET'); + static const Opcode SET_RESPONSE = Opcode._(64, _omitEnumNames ? '' : 'SET_RESPONSE'); + static const Opcode LOG_LEVEL_SET = Opcode._(65, _omitEnumNames ? '' : 'LOG_LEVEL_SET'); + static const Opcode DATA_CHANGE_NOTIFICATION = Opcode._(66, _omitEnumNames ? '' : 'DATA_CHANGE_NOTIFICATION'); + static const Opcode GAME_STATE_NOTIFICATION = Opcode._(67, _omitEnumNames ? '' : 'GAME_STATE_NOTIFICATION'); + static const Opcode SENSOR_RELAY_CONFIG = Opcode._(68, _omitEnumNames ? '' : 'SENSOR_RELAY_CONFIG'); + static const Opcode SENSOR_RELAY_GET = Opcode._(69, _omitEnumNames ? '' : 'SENSOR_RELAY_GET'); + static const Opcode SENSOR_RELAY_RESPONSE = Opcode._(70, _omitEnumNames ? '' : 'SENSOR_RELAY_RESPONSE'); + static const Opcode SENSOR_RELAY_NOTIFICATION = Opcode._(71, _omitEnumNames ? '' : 'SENSOR_RELAY_NOTIFICATION'); + static const Opcode HRM_DATA_NOTIFICATION = Opcode._(72, _omitEnumNames ? '' : 'HRM_DATA_NOTIFICATION'); + static const Opcode WIFI_CONFIG_REQUEST = Opcode._(73, _omitEnumNames ? '' : 'WIFI_CONFIG_REQUEST'); + static const Opcode WIFI_NOTIFICATION = Opcode._(74, _omitEnumNames ? '' : 'WIFI_NOTIFICATION'); + static const Opcode POWER_METER_NOTIFICATION = Opcode._(75, _omitEnumNames ? '' : 'POWER_METER_NOTIFICATION'); + static const Opcode CADENCE_SENSOR_NOTIFICATION = Opcode._(76, _omitEnumNames ? '' : 'CADENCE_SENSOR_NOTIFICATION'); + static const Opcode DEVICE_UPDATE_REQUEST = Opcode._(77, _omitEnumNames ? '' : 'DEVICE_UPDATE_REQUEST'); + static const Opcode RELAY_ZP_MESSAGE = Opcode._(78, _omitEnumNames ? '' : 'RELAY_ZP_MESSAGE'); + static const Opcode RIDE_ON = Opcode._(82, _omitEnumNames ? '' : 'RIDE_ON'); + static const Opcode RESERVED = Opcode._(253, _omitEnumNames ? '' : 'RESERVED'); + static const Opcode LOST_CONTROL = Opcode._(254, _omitEnumNames ? '' : 'LOST_CONTROL'); + static const Opcode VENDOR_MESSAGE = Opcode._(255, _omitEnumNames ? '' : 'VENDOR_MESSAGE'); + + static const $core.List values = [ + GET, + DEV_INFO_STATUS, + BLE_SECURITY_REQUEST, + TRAINER_NOTIF, + TRAINER_CONFIG_SET, + TRAINER_CONFIG_STATUS, + DEV_INFO_SET, + POWER_OFF, + RESET, + BATTERY_NOTIF, + CONTROLLER_NOTIFICATION, + LOG_DATA, + SPINDOWN_REQUEST, + SPINDOWN_NOTIFICATION, + GET_RESPONSE, + STATUS_RESPONSE, + SET, + SET_RESPONSE, + LOG_LEVEL_SET, + DATA_CHANGE_NOTIFICATION, + GAME_STATE_NOTIFICATION, + SENSOR_RELAY_CONFIG, + SENSOR_RELAY_GET, + SENSOR_RELAY_RESPONSE, + SENSOR_RELAY_NOTIFICATION, + HRM_DATA_NOTIFICATION, + WIFI_CONFIG_REQUEST, + WIFI_NOTIFICATION, + POWER_METER_NOTIFICATION, + CADENCE_SENSOR_NOTIFICATION, + DEVICE_UPDATE_REQUEST, + RELAY_ZP_MESSAGE, + RIDE_ON, + RESERVED, + LOST_CONTROL, + VENDOR_MESSAGE, + ]; + + static final $core.Map<$core.int, Opcode> _byValue = $pb.ProtobufEnum.initByValue(values); + static Opcode? valueOf($core.int value) => _byValue[value]; + + const Opcode._($core.int v, $core.String n) : super(v, n); +} + +/// Data Objects +class DO extends $pb.ProtobufEnum { + static const DO PAGE_DEV_INFO = DO._(0, _omitEnumNames ? '' : 'PAGE_DEV_INFO'); + static const DO PROTOCOL_VERSION = DO._(1, _omitEnumNames ? '' : 'PROTOCOL_VERSION'); + static const DO SYSTEM_FW_VERSION = DO._(2, _omitEnumNames ? '' : 'SYSTEM_FW_VERSION'); + static const DO DEVICE_NAME = DO._(3, _omitEnumNames ? '' : 'DEVICE_NAME'); + static const DO SERIAL_NUMBER = DO._(5, _omitEnumNames ? '' : 'SERIAL_NUMBER'); + static const DO SYSTEM_HW_REVISION = DO._(6, _omitEnumNames ? '' : 'SYSTEM_HW_REVISION'); + static const DO DEVICE_CAPABILITIES = DO._(7, _omitEnumNames ? '' : 'DEVICE_CAPABILITIES'); + static const DO MANUFACTURER_ID = DO._(8, _omitEnumNames ? '' : 'MANUFACTURER_ID'); + static const DO PRODUCT_ID = DO._(9, _omitEnumNames ? '' : 'PRODUCT_ID'); + static const DO DEVICE_UID = DO._(10, _omitEnumNames ? '' : 'DEVICE_UID'); + static const DO PAGE_CLIENT_SERVER_CONFIGURATION = DO._(16, _omitEnumNames ? '' : 'PAGE_CLIENT_SERVER_CONFIGURATION'); + static const DO CLIENT_SERVER_NOTIFICATIONS = DO._(17, _omitEnumNames ? '' : 'CLIENT_SERVER_NOTIFICATIONS'); + static const DO PAGE_DEVICE_UPDATE_INFO = DO._(32, _omitEnumNames ? '' : 'PAGE_DEVICE_UPDATE_INFO'); + static const DO DEVICE_UPDATE_STATUS = DO._(33, _omitEnumNames ? '' : 'DEVICE_UPDATE_STATUS'); + static const DO DEVICE_UPDATE_NEW_VERSION = DO._(34, _omitEnumNames ? '' : 'DEVICE_UPDATE_NEW_VERSION'); + static const DO PAGE_DATE_TIME = DO._(48, _omitEnumNames ? '' : 'PAGE_DATE_TIME'); + static const DO UTC_DATE_TIME = DO._(49, _omitEnumNames ? '' : 'UTC_DATE_TIME'); + static const DO PAGE_BLE_SECURITY = DO._(64, _omitEnumNames ? '' : 'PAGE_BLE_SECURITY'); + static const DO BLE_SECURE_CONNECTION_STATUS = DO._(65, _omitEnumNames ? '' : 'BLE_SECURE_CONNECTION_STATUS'); + static const DO BLE_SECURE_CONNECTION_WINDOW_STATUS = DO._(66, _omitEnumNames ? '' : 'BLE_SECURE_CONNECTION_WINDOW_STATUS'); + static const DO PAGE_TRAINER_CONFIG = DO._(512, _omitEnumNames ? '' : 'PAGE_TRAINER_CONFIG'); + static const DO TRAINER_MODE = DO._(513, _omitEnumNames ? '' : 'TRAINER_MODE'); + static const DO CFG_RESISTANCE = DO._(514, _omitEnumNames ? '' : 'CFG_RESISTANCE'); + static const DO ERG_POWER = DO._(515, _omitEnumNames ? '' : 'ERG_POWER'); + static const DO AVERAGING_WINDOW = DO._(516, _omitEnumNames ? '' : 'AVERAGING_WINDOW'); + static const DO SIM_WIND = DO._(517, _omitEnumNames ? '' : 'SIM_WIND'); + static const DO SIM_GRADE = DO._(518, _omitEnumNames ? '' : 'SIM_GRADE'); + static const DO SIM_REAL_GEAR_RATIO = DO._(519, _omitEnumNames ? '' : 'SIM_REAL_GEAR_RATIO'); + static const DO SIM_VIRT_GEAR_RATIO = DO._(520, _omitEnumNames ? '' : 'SIM_VIRT_GEAR_RATIO'); + static const DO SIM_CW = DO._(521, _omitEnumNames ? '' : 'SIM_CW'); + static const DO SIM_WHEEL_DIAMETER = DO._(522, _omitEnumNames ? '' : 'SIM_WHEEL_DIAMETER'); + static const DO SIM_BIKE_MASS = DO._(523, _omitEnumNames ? '' : 'SIM_BIKE_MASS'); + static const DO SIM_RIDER_MASS = DO._(524, _omitEnumNames ? '' : 'SIM_RIDER_MASS'); + static const DO SIM_CRR = DO._(525, _omitEnumNames ? '' : 'SIM_CRR'); + static const DO SIM_RESERVED_FRONTAL_AREA = DO._(526, _omitEnumNames ? '' : 'SIM_RESERVED_FRONTAL_AREA'); + static const DO SIM_EBRAKE = DO._(527, _omitEnumNames ? '' : 'SIM_EBRAKE'); + static const DO PAGE_TRAINER_GEAR_INDEX_CONFIG = DO._(528, _omitEnumNames ? '' : 'PAGE_TRAINER_GEAR_INDEX_CONFIG'); + static const DO FRONT_GEAR_INDEX = DO._(529, _omitEnumNames ? '' : 'FRONT_GEAR_INDEX'); + static const DO FRONT_GEAR_INDEX_MAX = DO._(530, _omitEnumNames ? '' : 'FRONT_GEAR_INDEX_MAX'); + static const DO FRONT_GEAR_INDEX_MIN = DO._(531, _omitEnumNames ? '' : 'FRONT_GEAR_INDEX_MIN'); + static const DO REAR_GEAR_INDEX = DO._(532, _omitEnumNames ? '' : 'REAR_GEAR_INDEX'); + static const DO REAR_GEAR_INDEX_MAX = DO._(533, _omitEnumNames ? '' : 'REAR_GEAR_INDEX_MAX'); + static const DO REAR_GEAR_INDEX_MIN = DO._(534, _omitEnumNames ? '' : 'REAR_GEAR_INDEX_MIN'); + static const DO PAGE_TRAINER_CONFIG2 = DO._(544, _omitEnumNames ? '' : 'PAGE_TRAINER_CONFIG2'); + static const DO HIGH_SPEED_DATA = DO._(545, _omitEnumNames ? '' : 'HIGH_SPEED_DATA'); + static const DO ERG_POWER_SMOOTHING = DO._(546, _omitEnumNames ? '' : 'ERG_POWER_SMOOTHING'); + static const DO VIRTUAL_SHIFTING_MODE = DO._(547, _omitEnumNames ? '' : 'VIRTUAL_SHIFTING_MODE'); + static const DO PAGE_DEVICE_TILT_CONFIG = DO._(560, _omitEnumNames ? '' : 'PAGE_DEVICE_TILT_CONFIG'); + static const DO DEVICE_TILT_ENABLED = DO._(561, _omitEnumNames ? '' : 'DEVICE_TILT_ENABLED'); + static const DO DEVICE_TILT_GRADIENT_MIN = DO._(562, _omitEnumNames ? '' : 'DEVICE_TILT_GRADIENT_MIN'); + static const DO DEVICE_TILT_GRADIENT_MAX = DO._(563, _omitEnumNames ? '' : 'DEVICE_TILT_GRADIENT_MAX'); + static const DO DEVICE_TILT_GRADIENT = DO._(564, _omitEnumNames ? '' : 'DEVICE_TILT_GRADIENT'); + static const DO BATTERY_STATE = DO._(771, _omitEnumNames ? '' : 'BATTERY_STATE'); + static const DO PAGE_CONTROLLER_INPUT_CONFIG = DO._(1024, _omitEnumNames ? '' : 'PAGE_CONTROLLER_INPUT_CONFIG'); + static const DO INPUT_SUPPORTED_DIGITAL_INPUTS = DO._(1025, _omitEnumNames ? '' : 'INPUT_SUPPORTED_DIGITAL_INPUTS'); + static const DO INPUT_SUPPORTED_ANALOG_INPUTS = DO._(1026, _omitEnumNames ? '' : 'INPUT_SUPPORTED_ANALOG_INPUTS'); + static const DO INPUT_ANALOG_INPUT_RANGE = DO._(1027, _omitEnumNames ? '' : 'INPUT_ANALOG_INPUT_RANGE'); + static const DO INPUT_ANALOG_INPUT_DEADZONE = DO._(1028, _omitEnumNames ? '' : 'INPUT_ANALOG_INPUT_DEADZONE'); + static const DO PAGE_WIFI_CONFIGURATION = DO._(1056, _omitEnumNames ? '' : 'PAGE_WIFI_CONFIGURATION'); + static const DO WIFI_ENABLED = DO._(1057, _omitEnumNames ? '' : 'WIFI_ENABLED'); + static const DO WIFI_STATUS = DO._(1058, _omitEnumNames ? '' : 'WIFI_STATUS'); + static const DO WIFI_SSID = DO._(1059, _omitEnumNames ? '' : 'WIFI_SSID'); + static const DO WIFI_BAND = DO._(1060, _omitEnumNames ? '' : 'WIFI_BAND'); + static const DO WIFI_RSSI = DO._(1061, _omitEnumNames ? '' : 'WIFI_RSSI'); + static const DO WIFI_REGION_CODE = DO._(1062, _omitEnumNames ? '' : 'WIFI_REGION_CODE'); + static const DO SENSOR_RELAY_DATA_PAGE = DO._(1280, _omitEnumNames ? '' : 'SENSOR_RELAY_DATA_PAGE'); + static const DO SENSOR_RELAY_SUPPORTED_SENSORS = DO._(1281, _omitEnumNames ? '' : 'SENSOR_RELAY_SUPPORTED_SENSORS'); + static const DO SENSOR_RELAY_PAIRED_SENSORS = DO._(1282, _omitEnumNames ? '' : 'SENSOR_RELAY_PAIRED_SENSORS'); + + static const $core.List values = [ + PAGE_DEV_INFO, + PROTOCOL_VERSION, + SYSTEM_FW_VERSION, + DEVICE_NAME, + SERIAL_NUMBER, + SYSTEM_HW_REVISION, + DEVICE_CAPABILITIES, + MANUFACTURER_ID, + PRODUCT_ID, + DEVICE_UID, + PAGE_CLIENT_SERVER_CONFIGURATION, + CLIENT_SERVER_NOTIFICATIONS, + PAGE_DEVICE_UPDATE_INFO, + DEVICE_UPDATE_STATUS, + DEVICE_UPDATE_NEW_VERSION, + PAGE_DATE_TIME, + UTC_DATE_TIME, + PAGE_BLE_SECURITY, + BLE_SECURE_CONNECTION_STATUS, + BLE_SECURE_CONNECTION_WINDOW_STATUS, + PAGE_TRAINER_CONFIG, + TRAINER_MODE, + CFG_RESISTANCE, + ERG_POWER, + AVERAGING_WINDOW, + SIM_WIND, + SIM_GRADE, + SIM_REAL_GEAR_RATIO, + SIM_VIRT_GEAR_RATIO, + SIM_CW, + SIM_WHEEL_DIAMETER, + SIM_BIKE_MASS, + SIM_RIDER_MASS, + SIM_CRR, + SIM_RESERVED_FRONTAL_AREA, + SIM_EBRAKE, + PAGE_TRAINER_GEAR_INDEX_CONFIG, + FRONT_GEAR_INDEX, + FRONT_GEAR_INDEX_MAX, + FRONT_GEAR_INDEX_MIN, + REAR_GEAR_INDEX, + REAR_GEAR_INDEX_MAX, + REAR_GEAR_INDEX_MIN, + PAGE_TRAINER_CONFIG2, + HIGH_SPEED_DATA, + ERG_POWER_SMOOTHING, + VIRTUAL_SHIFTING_MODE, + PAGE_DEVICE_TILT_CONFIG, + DEVICE_TILT_ENABLED, + DEVICE_TILT_GRADIENT_MIN, + DEVICE_TILT_GRADIENT_MAX, + DEVICE_TILT_GRADIENT, + BATTERY_STATE, + PAGE_CONTROLLER_INPUT_CONFIG, + INPUT_SUPPORTED_DIGITAL_INPUTS, + INPUT_SUPPORTED_ANALOG_INPUTS, + INPUT_ANALOG_INPUT_RANGE, + INPUT_ANALOG_INPUT_DEADZONE, + PAGE_WIFI_CONFIGURATION, + WIFI_ENABLED, + WIFI_STATUS, + WIFI_SSID, + WIFI_BAND, + WIFI_RSSI, + WIFI_REGION_CODE, + SENSOR_RELAY_DATA_PAGE, + SENSOR_RELAY_SUPPORTED_SENSORS, + SENSOR_RELAY_PAIRED_SENSORS, + ]; + + static final $core.Map<$core.int, DO> _byValue = $pb.ProtobufEnum.initByValue(values); + static DO? valueOf($core.int value) => _byValue[value]; + + const DO._($core.int v, $core.String n) : super(v, n); +} + +class Status extends $pb.ProtobufEnum { + static const Status SUCCESS = Status._(0, _omitEnumNames ? '' : 'SUCCESS'); + static const Status FAILURE = Status._(1, _omitEnumNames ? '' : 'FAILURE'); + static const Status BUSY = Status._(2, _omitEnumNames ? '' : 'BUSY'); + static const Status INVALID_PARAM = Status._(3, _omitEnumNames ? '' : 'INVALID_PARAM'); + static const Status NOT_PERMITTED = Status._(4, _omitEnumNames ? '' : 'NOT_PERMITTED'); + static const Status NOT_SUPPORTED = Status._(5, _omitEnumNames ? '' : 'NOT_SUPPORTED'); + static const Status INVALID_MODE = Status._(6, _omitEnumNames ? '' : 'INVALID_MODE'); + + static const $core.List values = [ + SUCCESS, + FAILURE, + BUSY, + INVALID_PARAM, + NOT_PERMITTED, + NOT_SUPPORTED, + INVALID_MODE, + ]; + + static final $core.Map<$core.int, Status> _byValue = $pb.ProtobufEnum.initByValue(values); + static Status? valueOf($core.int value) => _byValue[value]; + + const Status._($core.int v, $core.String n) : super(v, n); +} + +class DeviceType extends $pb.ProtobufEnum { + static const DeviceType UNDEFINED = DeviceType._(0, _omitEnumNames ? '' : 'UNDEFINED'); + static const DeviceType CYCLING_TURBO_TRAINER = DeviceType._(1, _omitEnumNames ? '' : 'CYCLING_TURBO_TRAINER'); + static const DeviceType USER_INPUT_DEVICE = DeviceType._(2, _omitEnumNames ? '' : 'USER_INPUT_DEVICE'); + static const DeviceType TREADMILL = DeviceType._(3, _omitEnumNames ? '' : 'TREADMILL'); + static const DeviceType SENSOR_RELAY = DeviceType._(4, _omitEnumNames ? '' : 'SENSOR_RELAY'); + static const DeviceType HEART_RATE_MONITOR = DeviceType._(5, _omitEnumNames ? '' : 'HEART_RATE_MONITOR'); + static const DeviceType POWER_METER = DeviceType._(6, _omitEnumNames ? '' : 'POWER_METER'); + static const DeviceType CADENCE_SENSOR = DeviceType._(7, _omitEnumNames ? '' : 'CADENCE_SENSOR'); + static const DeviceType WIFI = DeviceType._(8, _omitEnumNames ? '' : 'WIFI'); + + static const $core.List values = [ + UNDEFINED, + CYCLING_TURBO_TRAINER, + USER_INPUT_DEVICE, + TREADMILL, + SENSOR_RELAY, + HEART_RATE_MONITOR, + POWER_METER, + CADENCE_SENSOR, + WIFI, + ]; + + static final $core.Map<$core.int, DeviceType> _byValue = $pb.ProtobufEnum.initByValue(values); + static DeviceType? valueOf($core.int value) => _byValue[value]; + + const DeviceType._($core.int v, $core.String n) : super(v, n); +} + +class TrainerMode extends $pb.ProtobufEnum { + static const TrainerMode MODE_UNKNOWN = TrainerMode._(0, _omitEnumNames ? '' : 'MODE_UNKNOWN'); + static const TrainerMode MODE_ERG = TrainerMode._(1, _omitEnumNames ? '' : 'MODE_ERG'); + static const TrainerMode MODE_RESISTANCE = TrainerMode._(2, _omitEnumNames ? '' : 'MODE_RESISTANCE'); + static const TrainerMode MODE_SIM = TrainerMode._(3, _omitEnumNames ? '' : 'MODE_SIM'); + + static const $core.List values = [ + MODE_UNKNOWN, + MODE_ERG, + MODE_RESISTANCE, + MODE_SIM, + ]; + + static final $core.Map<$core.int, TrainerMode> _byValue = $pb.ProtobufEnum.initByValue(values); + static TrainerMode? valueOf($core.int value) => _byValue[value]; + + const TrainerMode._($core.int v, $core.String n) : super(v, n); +} + +class ChargingState extends $pb.ProtobufEnum { + static const ChargingState CHARGING_IDLE = ChargingState._(0, _omitEnumNames ? '' : 'CHARGING_IDLE'); + static const ChargingState CHARGING_PROGRESS = ChargingState._(1, _omitEnumNames ? '' : 'CHARGING_PROGRESS'); + static const ChargingState CHARGING_DONE = ChargingState._(2, _omitEnumNames ? '' : 'CHARGING_DONE'); + + static const $core.List values = [ + CHARGING_IDLE, + CHARGING_PROGRESS, + CHARGING_DONE, + ]; + + static final $core.Map<$core.int, ChargingState> _byValue = $pb.ProtobufEnum.initByValue(values); + static ChargingState? valueOf($core.int value) => _byValue[value]; + + const ChargingState._($core.int v, $core.String n) : super(v, n); +} + +class SpindownStatus extends $pb.ProtobufEnum { + static const SpindownStatus SPINDOWN_IDLE = SpindownStatus._(0, _omitEnumNames ? '' : 'SPINDOWN_IDLE'); + static const SpindownStatus SPINDOWN_REQUESTED = SpindownStatus._(1, _omitEnumNames ? '' : 'SPINDOWN_REQUESTED'); + static const SpindownStatus SPINDOWN_SUCCESS = SpindownStatus._(2, _omitEnumNames ? '' : 'SPINDOWN_SUCCESS'); + static const SpindownStatus SPINDOWN_ERROR = SpindownStatus._(3, _omitEnumNames ? '' : 'SPINDOWN_ERROR'); + static const SpindownStatus SPINDOWN_STOP_PEDALLING = SpindownStatus._(4, _omitEnumNames ? '' : 'SPINDOWN_STOP_PEDALLING'); + static const SpindownStatus SPINDOWN_ERROR_TIMEOUT = SpindownStatus._(5, _omitEnumNames ? '' : 'SPINDOWN_ERROR_TIMEOUT'); + static const SpindownStatus SPINDOWN_ERROR_TOSHORT = SpindownStatus._(6, _omitEnumNames ? '' : 'SPINDOWN_ERROR_TOSHORT'); + static const SpindownStatus SPINDOWN_ERROR_TOSLOW = SpindownStatus._(7, _omitEnumNames ? '' : 'SPINDOWN_ERROR_TOSLOW'); + static const SpindownStatus SPINDOWN_ERROR_TOFAST = SpindownStatus._(8, _omitEnumNames ? '' : 'SPINDOWN_ERROR_TOFAST'); + static const SpindownStatus SPINDOWN_ERROR_SAMPLEERROR = SpindownStatus._(9, _omitEnumNames ? '' : 'SPINDOWN_ERROR_SAMPLEERROR'); + static const SpindownStatus SPINDOWN_ERROR_ABORT = SpindownStatus._(10, _omitEnumNames ? '' : 'SPINDOWN_ERROR_ABORT'); + + static const $core.List values = [ + SPINDOWN_IDLE, + SPINDOWN_REQUESTED, + SPINDOWN_SUCCESS, + SPINDOWN_ERROR, + SPINDOWN_STOP_PEDALLING, + SPINDOWN_ERROR_TIMEOUT, + SPINDOWN_ERROR_TOSHORT, + SPINDOWN_ERROR_TOSLOW, + SPINDOWN_ERROR_TOFAST, + SPINDOWN_ERROR_SAMPLEERROR, + SPINDOWN_ERROR_ABORT, + ]; + + static final $core.Map<$core.int, SpindownStatus> _byValue = $pb.ProtobufEnum.initByValue(values); + static SpindownStatus? valueOf($core.int value) => _byValue[value]; + + const SpindownStatus._($core.int v, $core.String n) : super(v, n); +} + +class LogLevel extends $pb.ProtobufEnum { + static const LogLevel LOGLEVEL_OFF = LogLevel._(0, _omitEnumNames ? '' : 'LOGLEVEL_OFF'); + static const LogLevel LOGLEVEL_ERROR = LogLevel._(1, _omitEnumNames ? '' : 'LOGLEVEL_ERROR'); + static const LogLevel LOGLEVEL_WARNING = LogLevel._(2, _omitEnumNames ? '' : 'LOGLEVEL_WARNING'); + static const LogLevel LOGLEVEL_INFO = LogLevel._(3, _omitEnumNames ? '' : 'LOGLEVEL_INFO'); + static const LogLevel LOGLEVEL_DEBUG = LogLevel._(4, _omitEnumNames ? '' : 'LOGLEVEL_DEBUG'); + static const LogLevel LOGLEVEL_TRACE = LogLevel._(5, _omitEnumNames ? '' : 'LOGLEVEL_TRACE'); + + static const $core.List values = [ + LOGLEVEL_OFF, + LOGLEVEL_ERROR, + LOGLEVEL_WARNING, + LOGLEVEL_INFO, + LOGLEVEL_DEBUG, + LOGLEVEL_TRACE, + ]; + + static final $core.Map<$core.int, LogLevel> _byValue = $pb.ProtobufEnum.initByValue(values); + static LogLevel? valueOf($core.int value) => _byValue[value]; + + const LogLevel._($core.int v, $core.String n) : super(v, n); +} + +class RoadSurfaceType extends $pb.ProtobufEnum { + static const RoadSurfaceType ROAD_SURFACE_SMOOTH_TARMAC = RoadSurfaceType._(0, _omitEnumNames ? '' : 'ROAD_SURFACE_SMOOTH_TARMAC'); + static const RoadSurfaceType ROAD_SURFACE_BRICK_ROAD = RoadSurfaceType._(1, _omitEnumNames ? '' : 'ROAD_SURFACE_BRICK_ROAD'); + static const RoadSurfaceType ROAD_SURFACE_HARD_COBBLES = RoadSurfaceType._(2, _omitEnumNames ? '' : 'ROAD_SURFACE_HARD_COBBLES'); + static const RoadSurfaceType ROAD_SURFACE_SOFT_COBBLES = RoadSurfaceType._(3, _omitEnumNames ? '' : 'ROAD_SURFACE_SOFT_COBBLES'); + static const RoadSurfaceType ROAD_SURFACE_NARROW_WOODEN_PLANKS = RoadSurfaceType._(4, _omitEnumNames ? '' : 'ROAD_SURFACE_NARROW_WOODEN_PLANKS'); + static const RoadSurfaceType ROAD_SURFACE_WIDE_WOODEN_PLANKS = RoadSurfaceType._(5, _omitEnumNames ? '' : 'ROAD_SURFACE_WIDE_WOODEN_PLANKS'); + static const RoadSurfaceType ROAD_SURFACE_DIRT = RoadSurfaceType._(6, _omitEnumNames ? '' : 'ROAD_SURFACE_DIRT'); + static const RoadSurfaceType ROAD_SURFACE_GRAVEL = RoadSurfaceType._(7, _omitEnumNames ? '' : 'ROAD_SURFACE_GRAVEL'); + static const RoadSurfaceType ROAD_SURFACE_CATTLE_GRID = RoadSurfaceType._(8, _omitEnumNames ? '' : 'ROAD_SURFACE_CATTLE_GRID'); + static const RoadSurfaceType ROAD_SURFACE_CONCRETE_FLAG_STONES = RoadSurfaceType._(9, _omitEnumNames ? '' : 'ROAD_SURFACE_CONCRETE_FLAG_STONES'); + static const RoadSurfaceType ROAD_SURFACE_ICE = RoadSurfaceType._(10, _omitEnumNames ? '' : 'ROAD_SURFACE_ICE'); + + static const $core.List values = [ + ROAD_SURFACE_SMOOTH_TARMAC, + ROAD_SURFACE_BRICK_ROAD, + ROAD_SURFACE_HARD_COBBLES, + ROAD_SURFACE_SOFT_COBBLES, + ROAD_SURFACE_NARROW_WOODEN_PLANKS, + ROAD_SURFACE_WIDE_WOODEN_PLANKS, + ROAD_SURFACE_DIRT, + ROAD_SURFACE_GRAVEL, + ROAD_SURFACE_CATTLE_GRID, + ROAD_SURFACE_CONCRETE_FLAG_STONES, + ROAD_SURFACE_ICE, + ]; + + static final $core.Map<$core.int, RoadSurfaceType> _byValue = $pb.ProtobufEnum.initByValue(values); + static RoadSurfaceType? valueOf($core.int value) => _byValue[value]; + + const RoadSurfaceType._($core.int v, $core.String n) : super(v, n); +} + +class WifiStatusCode extends $pb.ProtobufEnum { + static const WifiStatusCode WIFI_STATUS_DISABLED = WifiStatusCode._(0, _omitEnumNames ? '' : 'WIFI_STATUS_DISABLED'); + static const WifiStatusCode WIFI_STATUS_NOT_PROVISIONED = WifiStatusCode._(1, _omitEnumNames ? '' : 'WIFI_STATUS_NOT_PROVISIONED'); + static const WifiStatusCode WIFI_STATUS_SCANNING = WifiStatusCode._(2, _omitEnumNames ? '' : 'WIFI_STATUS_SCANNING'); + static const WifiStatusCode WIFI_STATUS_DISCONNECTED = WifiStatusCode._(3, _omitEnumNames ? '' : 'WIFI_STATUS_DISCONNECTED'); + static const WifiStatusCode WIFI_STATUS_CONNECTING = WifiStatusCode._(4, _omitEnumNames ? '' : 'WIFI_STATUS_CONNECTING'); + static const WifiStatusCode WIFI_STATUS_CONNECTED = WifiStatusCode._(5, _omitEnumNames ? '' : 'WIFI_STATUS_CONNECTED'); + static const WifiStatusCode WIFI_STATUS_ERROR = WifiStatusCode._(6, _omitEnumNames ? '' : 'WIFI_STATUS_ERROR'); + + static const $core.List values = [ + WIFI_STATUS_DISABLED, + WIFI_STATUS_NOT_PROVISIONED, + WIFI_STATUS_SCANNING, + WIFI_STATUS_DISCONNECTED, + WIFI_STATUS_CONNECTING, + WIFI_STATUS_CONNECTED, + WIFI_STATUS_ERROR, + ]; + + static final $core.Map<$core.int, WifiStatusCode> _byValue = $pb.ProtobufEnum.initByValue(values); + static WifiStatusCode? valueOf($core.int value) => _byValue[value]; + + const WifiStatusCode._($core.int v, $core.String n) : super(v, n); +} + +class WifiErrorCode extends $pb.ProtobufEnum { + static const WifiErrorCode WIFI_ERROR_UNKNOWN = WifiErrorCode._(0, _omitEnumNames ? '' : 'WIFI_ERROR_UNKNOWN'); + static const WifiErrorCode WIFI_ERROR_NO_MEMORY = WifiErrorCode._(1, _omitEnumNames ? '' : 'WIFI_ERROR_NO_MEMORY'); + static const WifiErrorCode WIFI_ERROR_INVALID_PARAMETERS = WifiErrorCode._(2, _omitEnumNames ? '' : 'WIFI_ERROR_INVALID_PARAMETERS'); + static const WifiErrorCode WIFI_ERROR_INVALID_STATE = WifiErrorCode._(3, _omitEnumNames ? '' : 'WIFI_ERROR_INVALID_STATE'); + static const WifiErrorCode WIFI_ERROR_NOT_FOUND = WifiErrorCode._(4, _omitEnumNames ? '' : 'WIFI_ERROR_NOT_FOUND'); + static const WifiErrorCode WIFI_ERROR_NOT_SUPPORTED = WifiErrorCode._(5, _omitEnumNames ? '' : 'WIFI_ERROR_NOT_SUPPORTED'); + static const WifiErrorCode WIFI_ERROR_NOT_ALLOWED = WifiErrorCode._(6, _omitEnumNames ? '' : 'WIFI_ERROR_NOT_ALLOWED'); + static const WifiErrorCode WIFI_ERROR_NOT_INITIALISED = WifiErrorCode._(7, _omitEnumNames ? '' : 'WIFI_ERROR_NOT_INITIALISED'); + static const WifiErrorCode WIFI_ERROR_NOT_STARTED = WifiErrorCode._(8, _omitEnumNames ? '' : 'WIFI_ERROR_NOT_STARTED'); + static const WifiErrorCode WIFI_ERROR_TIMEOUT = WifiErrorCode._(9, _omitEnumNames ? '' : 'WIFI_ERROR_TIMEOUT'); + static const WifiErrorCode WIFI_ERROR_MODE = WifiErrorCode._(10, _omitEnumNames ? '' : 'WIFI_ERROR_MODE'); + static const WifiErrorCode WIFI_ERROR_SSID_INVALID = WifiErrorCode._(11, _omitEnumNames ? '' : 'WIFI_ERROR_SSID_INVALID'); + + static const $core.List values = [ + WIFI_ERROR_UNKNOWN, + WIFI_ERROR_NO_MEMORY, + WIFI_ERROR_INVALID_PARAMETERS, + WIFI_ERROR_INVALID_STATE, + WIFI_ERROR_NOT_FOUND, + WIFI_ERROR_NOT_SUPPORTED, + WIFI_ERROR_NOT_ALLOWED, + WIFI_ERROR_NOT_INITIALISED, + WIFI_ERROR_NOT_STARTED, + WIFI_ERROR_TIMEOUT, + WIFI_ERROR_MODE, + WIFI_ERROR_SSID_INVALID, + ]; + + static final $core.Map<$core.int, WifiErrorCode> _byValue = $pb.ProtobufEnum.initByValue(values); + static WifiErrorCode? valueOf($core.int value) => _byValue[value]; + + const WifiErrorCode._($core.int v, $core.String n) : super(v, n); +} + +class InterfaceType extends $pb.ProtobufEnum { + static const InterfaceType INTERFACE_BLE = InterfaceType._(1, _omitEnumNames ? '' : 'INTERFACE_BLE'); + static const InterfaceType INTERFACE_ANT = InterfaceType._(2, _omitEnumNames ? '' : 'INTERFACE_ANT'); + static const InterfaceType INTERFACE_USB = InterfaceType._(3, _omitEnumNames ? '' : 'INTERFACE_USB'); + static const InterfaceType INTERFACE_ETH = InterfaceType._(4, _omitEnumNames ? '' : 'INTERFACE_ETH'); + static const InterfaceType INTERFACE_WIFI = InterfaceType._(5, _omitEnumNames ? '' : 'INTERFACE_WIFI'); + + static const $core.List values = [ + INTERFACE_BLE, + INTERFACE_ANT, + INTERFACE_USB, + INTERFACE_ETH, + INTERFACE_WIFI, + ]; + + static final $core.Map<$core.int, InterfaceType> _byValue = $pb.ProtobufEnum.initByValue(values); + static InterfaceType? valueOf($core.int value) => _byValue[value]; + + const InterfaceType._($core.int v, $core.String n) : super(v, n); +} + +class SensorConnectionStatus extends $pb.ProtobufEnum { + static const SensorConnectionStatus SENSOR_STATUS_DISCOVERED = SensorConnectionStatus._(1, _omitEnumNames ? '' : 'SENSOR_STATUS_DISCOVERED'); + static const SensorConnectionStatus SENSOR_STATUS_DISCONNECTED = SensorConnectionStatus._(2, _omitEnumNames ? '' : 'SENSOR_STATUS_DISCONNECTED'); + static const SensorConnectionStatus SENSOR_STATUS_PAIRING = SensorConnectionStatus._(3, _omitEnumNames ? '' : 'SENSOR_STATUS_PAIRING'); + static const SensorConnectionStatus SENSOR_STATUS_CONNECTED = SensorConnectionStatus._(4, _omitEnumNames ? '' : 'SENSOR_STATUS_CONNECTED'); + + static const $core.List values = [ + SENSOR_STATUS_DISCOVERED, + SENSOR_STATUS_DISCONNECTED, + SENSOR_STATUS_PAIRING, + SENSOR_STATUS_CONNECTED, + ]; + + static final $core.Map<$core.int, SensorConnectionStatus> _byValue = $pb.ProtobufEnum.initByValue(values); + static SensorConnectionStatus? valueOf($core.int value) => _byValue[value]; + + const SensorConnectionStatus._($core.int v, $core.String n) : super(v, n); +} + +class BleSecureConnectionStatus extends $pb.ProtobufEnum { + static const BleSecureConnectionStatus BLE_CONNECTION_SECURITY_STATUS_NONE = BleSecureConnectionStatus._(0, _omitEnumNames ? '' : 'BLE_CONNECTION_SECURITY_STATUS_NONE'); + static const BleSecureConnectionStatus BLE_CONNECTION_SECURITY_STATUS_INPROGRESS = BleSecureConnectionStatus._(1, _omitEnumNames ? '' : 'BLE_CONNECTION_SECURITY_STATUS_INPROGRESS'); + static const BleSecureConnectionStatus BLE_CONNECTION_SECURITY_STATUS_ACTIVE = BleSecureConnectionStatus._(2, _omitEnumNames ? '' : 'BLE_CONNECTION_SECURITY_STATUS_ACTIVE'); + static const BleSecureConnectionStatus BLE_CONNECTION_SECURITY_STATUS_REJECTED = BleSecureConnectionStatus._(3, _omitEnumNames ? '' : 'BLE_CONNECTION_SECURITY_STATUS_REJECTED'); + + static const $core.List values = [ + BLE_CONNECTION_SECURITY_STATUS_NONE, + BLE_CONNECTION_SECURITY_STATUS_INPROGRESS, + BLE_CONNECTION_SECURITY_STATUS_ACTIVE, + BLE_CONNECTION_SECURITY_STATUS_REJECTED, + ]; + + static final $core.Map<$core.int, BleSecureConnectionStatus> _byValue = $pb.ProtobufEnum.initByValue(values); + static BleSecureConnectionStatus? valueOf($core.int value) => _byValue[value]; + + const BleSecureConnectionStatus._($core.int v, $core.String n) : super(v, n); +} + +class BleSecureConnectionWindowStatus extends $pb.ProtobufEnum { + static const BleSecureConnectionWindowStatus BLE_SECURE_CONNECTION_WINDOW_STATUS_CLOSED = BleSecureConnectionWindowStatus._(0, _omitEnumNames ? '' : 'BLE_SECURE_CONNECTION_WINDOW_STATUS_CLOSED'); + static const BleSecureConnectionWindowStatus BLE_SECURE_CONNECTION_WINDOW_STATUS_OPEN = BleSecureConnectionWindowStatus._(1, _omitEnumNames ? '' : 'BLE_SECURE_CONNECTION_WINDOW_STATUS_OPEN'); + + static const $core.List values = [ + BLE_SECURE_CONNECTION_WINDOW_STATUS_CLOSED, + BLE_SECURE_CONNECTION_WINDOW_STATUS_OPEN, + ]; + + static final $core.Map<$core.int, BleSecureConnectionWindowStatus> _byValue = $pb.ProtobufEnum.initByValue(values); + static BleSecureConnectionWindowStatus? valueOf($core.int value) => _byValue[value]; + + const BleSecureConnectionWindowStatus._($core.int v, $core.String n) : super(v, n); +} + +class WifiRegionCode_RegionCodeType extends $pb.ProtobufEnum { + static const WifiRegionCode_RegionCodeType ALPHA_2 = WifiRegionCode_RegionCodeType._(0, _omitEnumNames ? '' : 'ALPHA_2'); + static const WifiRegionCode_RegionCodeType ALPHA_3 = WifiRegionCode_RegionCodeType._(1, _omitEnumNames ? '' : 'ALPHA_3'); + static const WifiRegionCode_RegionCodeType NUMERIC = WifiRegionCode_RegionCodeType._(2, _omitEnumNames ? '' : 'NUMERIC'); + static const WifiRegionCode_RegionCodeType UNKNOWN = WifiRegionCode_RegionCodeType._(3, _omitEnumNames ? '' : 'UNKNOWN'); + + static const $core.List values = [ + ALPHA_2, + ALPHA_3, + NUMERIC, + UNKNOWN, + ]; + + static final $core.Map<$core.int, WifiRegionCode_RegionCodeType> _byValue = $pb.ProtobufEnum.initByValue(values); + static WifiRegionCode_RegionCodeType? valueOf($core.int value) => _byValue[value]; + + const WifiRegionCode_RegionCodeType._($core.int v, $core.String n) : super(v, n); +} + + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/lib/bluetooth/protocol/zp.pbjson.dart b/lib/bluetooth/protocol/zp.pbjson.dart new file mode 100644 index 000000000..d918b5874 --- /dev/null +++ b/lib/bluetooth/protocol/zp.pbjson.dart @@ -0,0 +1,1692 @@ +// +// Generated code. Do not modify. +// source: zp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use opcodeDescriptor instead') +const Opcode$json = { + '1': 'Opcode', + '2': [ + {'1': 'GET', '2': 0}, + {'1': 'DEV_INFO_STATUS', '2': 1}, + {'1': 'BLE_SECURITY_REQUEST', '2': 2}, + {'1': 'TRAINER_NOTIF', '2': 3}, + {'1': 'TRAINER_CONFIG_SET', '2': 4}, + {'1': 'TRAINER_CONFIG_STATUS', '2': 5}, + {'1': 'DEV_INFO_SET', '2': 12}, + {'1': 'POWER_OFF', '2': 15}, + {'1': 'RESET', '2': 24}, + {'1': 'BATTERY_NOTIF', '2': 25}, + {'1': 'CONTROLLER_NOTIFICATION', '2': 35}, + {'1': 'LOG_DATA', '2': 42}, + {'1': 'SPINDOWN_REQUEST', '2': 58}, + {'1': 'SPINDOWN_NOTIFICATION', '2': 59}, + {'1': 'GET_RESPONSE', '2': 60}, + {'1': 'STATUS_RESPONSE', '2': 62}, + {'1': 'SET', '2': 63}, + {'1': 'SET_RESPONSE', '2': 64}, + {'1': 'LOG_LEVEL_SET', '2': 65}, + {'1': 'DATA_CHANGE_NOTIFICATION', '2': 66}, + {'1': 'GAME_STATE_NOTIFICATION', '2': 67}, + {'1': 'SENSOR_RELAY_CONFIG', '2': 68}, + {'1': 'SENSOR_RELAY_GET', '2': 69}, + {'1': 'SENSOR_RELAY_RESPONSE', '2': 70}, + {'1': 'SENSOR_RELAY_NOTIFICATION', '2': 71}, + {'1': 'HRM_DATA_NOTIFICATION', '2': 72}, + {'1': 'WIFI_CONFIG_REQUEST', '2': 73}, + {'1': 'WIFI_NOTIFICATION', '2': 74}, + {'1': 'POWER_METER_NOTIFICATION', '2': 75}, + {'1': 'CADENCE_SENSOR_NOTIFICATION', '2': 76}, + {'1': 'DEVICE_UPDATE_REQUEST', '2': 77}, + {'1': 'RELAY_ZP_MESSAGE', '2': 78}, + {'1': 'RIDE_ON', '2': 82}, + {'1': 'RESERVED', '2': 253}, + {'1': 'LOST_CONTROL', '2': 254}, + {'1': 'VENDOR_MESSAGE', '2': 255}, + ], +}; + +/// Descriptor for `Opcode`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List opcodeDescriptor = $convert.base64Decode( + 'CgZPcGNvZGUSBwoDR0VUEAASEwoPREVWX0lORk9fU1RBVFVTEAESGAoUQkxFX1NFQ1VSSVRZX1' + 'JFUVVFU1QQAhIRCg1UUkFJTkVSX05PVElGEAMSFgoSVFJBSU5FUl9DT05GSUdfU0VUEAQSGQoV' + 'VFJBSU5FUl9DT05GSUdfU1RBVFVTEAUSEAoMREVWX0lORk9fU0VUEAwSDQoJUE9XRVJfT0ZGEA' + '8SCQoFUkVTRVQQGBIRCg1CQVRURVJZX05PVElGEBkSGwoXQ09OVFJPTExFUl9OT1RJRklDQVRJ' + 'T04QIxIMCghMT0dfREFUQRAqEhQKEFNQSU5ET1dOX1JFUVVFU1QQOhIZChVTUElORE9XTl9OT1' + 'RJRklDQVRJT04QOxIQCgxHRVRfUkVTUE9OU0UQPBITCg9TVEFUVVNfUkVTUE9OU0UQPhIHCgNT' + 'RVQQPxIQCgxTRVRfUkVTUE9OU0UQQBIRCg1MT0dfTEVWRUxfU0VUEEESHAoYREFUQV9DSEFOR0' + 'VfTk9USUZJQ0FUSU9OEEISGwoXR0FNRV9TVEFURV9OT1RJRklDQVRJT04QQxIXChNTRU5TT1Jf' + 'UkVMQVlfQ09ORklHEEQSFAoQU0VOU09SX1JFTEFZX0dFVBBFEhkKFVNFTlNPUl9SRUxBWV9SRV' + 'NQT05TRRBGEh0KGVNFTlNPUl9SRUxBWV9OT1RJRklDQVRJT04QRxIZChVIUk1fREFUQV9OT1RJ' + 'RklDQVRJT04QSBIXChNXSUZJX0NPTkZJR19SRVFVRVNUEEkSFQoRV0lGSV9OT1RJRklDQVRJT0' + '4QShIcChhQT1dFUl9NRVRFUl9OT1RJRklDQVRJT04QSxIfChtDQURFTkNFX1NFTlNPUl9OT1RJ' + 'RklDQVRJT04QTBIZChVERVZJQ0VfVVBEQVRFX1JFUVVFU1QQTRIUChBSRUxBWV9aUF9NRVNTQU' + 'dFEE4SCwoHUklERV9PThBSEg0KCFJFU0VSVkVEEP0BEhEKDExPU1RfQ09OVFJPTBD+ARITCg5W' + 'RU5ET1JfTUVTU0FHRRD/AQ=='); + +@$core.Deprecated('Use dODescriptor instead') +const DO$json = { + '1': 'DO', + '2': [ + {'1': 'PAGE_DEV_INFO', '2': 0}, + {'1': 'PROTOCOL_VERSION', '2': 1}, + {'1': 'SYSTEM_FW_VERSION', '2': 2}, + {'1': 'DEVICE_NAME', '2': 3}, + {'1': 'SERIAL_NUMBER', '2': 5}, + {'1': 'SYSTEM_HW_REVISION', '2': 6}, + {'1': 'DEVICE_CAPABILITIES', '2': 7}, + {'1': 'MANUFACTURER_ID', '2': 8}, + {'1': 'PRODUCT_ID', '2': 9}, + {'1': 'DEVICE_UID', '2': 10}, + {'1': 'PAGE_CLIENT_SERVER_CONFIGURATION', '2': 16}, + {'1': 'CLIENT_SERVER_NOTIFICATIONS', '2': 17}, + {'1': 'PAGE_DEVICE_UPDATE_INFO', '2': 32}, + {'1': 'DEVICE_UPDATE_STATUS', '2': 33}, + {'1': 'DEVICE_UPDATE_NEW_VERSION', '2': 34}, + {'1': 'PAGE_DATE_TIME', '2': 48}, + {'1': 'UTC_DATE_TIME', '2': 49}, + {'1': 'PAGE_BLE_SECURITY', '2': 64}, + {'1': 'BLE_SECURE_CONNECTION_STATUS', '2': 65}, + {'1': 'BLE_SECURE_CONNECTION_WINDOW_STATUS', '2': 66}, + {'1': 'PAGE_TRAINER_CONFIG', '2': 512}, + {'1': 'TRAINER_MODE', '2': 513}, + {'1': 'CFG_RESISTANCE', '2': 514}, + {'1': 'ERG_POWER', '2': 515}, + {'1': 'AVERAGING_WINDOW', '2': 516}, + {'1': 'SIM_WIND', '2': 517}, + {'1': 'SIM_GRADE', '2': 518}, + {'1': 'SIM_REAL_GEAR_RATIO', '2': 519}, + {'1': 'SIM_VIRT_GEAR_RATIO', '2': 520}, + {'1': 'SIM_CW', '2': 521}, + {'1': 'SIM_WHEEL_DIAMETER', '2': 522}, + {'1': 'SIM_BIKE_MASS', '2': 523}, + {'1': 'SIM_RIDER_MASS', '2': 524}, + {'1': 'SIM_CRR', '2': 525}, + {'1': 'SIM_RESERVED_FRONTAL_AREA', '2': 526}, + {'1': 'SIM_EBRAKE', '2': 527}, + {'1': 'PAGE_TRAINER_GEAR_INDEX_CONFIG', '2': 528}, + {'1': 'FRONT_GEAR_INDEX', '2': 529}, + {'1': 'FRONT_GEAR_INDEX_MAX', '2': 530}, + {'1': 'FRONT_GEAR_INDEX_MIN', '2': 531}, + {'1': 'REAR_GEAR_INDEX', '2': 532}, + {'1': 'REAR_GEAR_INDEX_MAX', '2': 533}, + {'1': 'REAR_GEAR_INDEX_MIN', '2': 534}, + {'1': 'PAGE_TRAINER_CONFIG2', '2': 544}, + {'1': 'HIGH_SPEED_DATA', '2': 545}, + {'1': 'ERG_POWER_SMOOTHING', '2': 546}, + {'1': 'VIRTUAL_SHIFTING_MODE', '2': 547}, + {'1': 'PAGE_DEVICE_TILT_CONFIG', '2': 560}, + {'1': 'DEVICE_TILT_ENABLED', '2': 561}, + {'1': 'DEVICE_TILT_GRADIENT_MIN', '2': 562}, + {'1': 'DEVICE_TILT_GRADIENT_MAX', '2': 563}, + {'1': 'DEVICE_TILT_GRADIENT', '2': 564}, + {'1': 'BATTERY_STATE', '2': 771}, + {'1': 'PAGE_CONTROLLER_INPUT_CONFIG', '2': 1024}, + {'1': 'INPUT_SUPPORTED_DIGITAL_INPUTS', '2': 1025}, + {'1': 'INPUT_SUPPORTED_ANALOG_INPUTS', '2': 1026}, + {'1': 'INPUT_ANALOG_INPUT_RANGE', '2': 1027}, + {'1': 'INPUT_ANALOG_INPUT_DEADZONE', '2': 1028}, + {'1': 'PAGE_WIFI_CONFIGURATION', '2': 1056}, + {'1': 'WIFI_ENABLED', '2': 1057}, + {'1': 'WIFI_STATUS', '2': 1058}, + {'1': 'WIFI_SSID', '2': 1059}, + {'1': 'WIFI_BAND', '2': 1060}, + {'1': 'WIFI_RSSI', '2': 1061}, + {'1': 'WIFI_REGION_CODE', '2': 1062}, + {'1': 'SENSOR_RELAY_DATA_PAGE', '2': 1280}, + {'1': 'SENSOR_RELAY_SUPPORTED_SENSORS', '2': 1281}, + {'1': 'SENSOR_RELAY_PAIRED_SENSORS', '2': 1282}, + ], +}; + +/// Descriptor for `DO`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List dODescriptor = $convert.base64Decode( + 'CgJETxIRCg1QQUdFX0RFVl9JTkZPEAASFAoQUFJPVE9DT0xfVkVSU0lPThABEhUKEVNZU1RFTV' + '9GV19WRVJTSU9OEAISDwoLREVWSUNFX05BTUUQAxIRCg1TRVJJQUxfTlVNQkVSEAUSFgoSU1lT' + 'VEVNX0hXX1JFVklTSU9OEAYSFwoTREVWSUNFX0NBUEFCSUxJVElFUxAHEhMKD01BTlVGQUNUVV' + 'JFUl9JRBAIEg4KClBST0RVQ1RfSUQQCRIOCgpERVZJQ0VfVUlEEAoSJAogUEFHRV9DTElFTlRf' + 'U0VSVkVSX0NPTkZJR1VSQVRJT04QEBIfChtDTElFTlRfU0VSVkVSX05PVElGSUNBVElPTlMQER' + 'IbChdQQUdFX0RFVklDRV9VUERBVEVfSU5GTxAgEhgKFERFVklDRV9VUERBVEVfU1RBVFVTECES' + 'HQoZREVWSUNFX1VQREFURV9ORVdfVkVSU0lPThAiEhIKDlBBR0VfREFURV9USU1FEDASEQoNVV' + 'RDX0RBVEVfVElNRRAxEhUKEVBBR0VfQkxFX1NFQ1VSSVRZEEASIAocQkxFX1NFQ1VSRV9DT05O' + 'RUNUSU9OX1NUQVRVUxBBEicKI0JMRV9TRUNVUkVfQ09OTkVDVElPTl9XSU5ET1dfU1RBVFVTEE' + 'ISGAoTUEFHRV9UUkFJTkVSX0NPTkZJRxCABBIRCgxUUkFJTkVSX01PREUQgQQSEwoOQ0ZHX1JF' + 'U0lTVEFOQ0UQggQSDgoJRVJHX1BPV0VSEIMEEhUKEEFWRVJBR0lOR19XSU5ET1cQhAQSDQoIU0' + 'lNX1dJTkQQhQQSDgoJU0lNX0dSQURFEIYEEhgKE1NJTV9SRUFMX0dFQVJfUkFUSU8QhwQSGAoT' + 'U0lNX1ZJUlRfR0VBUl9SQVRJTxCIBBILCgZTSU1fQ1cQiQQSFwoSU0lNX1dIRUVMX0RJQU1FVE' + 'VSEIoEEhIKDVNJTV9CSUtFX01BU1MQiwQSEwoOU0lNX1JJREVSX01BU1MQjAQSDAoHU0lNX0NS' + 'UhCNBBIeChlTSU1fUkVTRVJWRURfRlJPTlRBTF9BUkVBEI4EEg8KClNJTV9FQlJBS0UQjwQSIw' + 'oeUEFHRV9UUkFJTkVSX0dFQVJfSU5ERVhfQ09ORklHEJAEEhUKEEZST05UX0dFQVJfSU5ERVgQ' + 'kQQSGQoURlJPTlRfR0VBUl9JTkRFWF9NQVgQkgQSGQoURlJPTlRfR0VBUl9JTkRFWF9NSU4Qkw' + 'QSFAoPUkVBUl9HRUFSX0lOREVYEJQEEhgKE1JFQVJfR0VBUl9JTkRFWF9NQVgQlQQSGAoTUkVB' + 'Ul9HRUFSX0lOREVYX01JThCWBBIZChRQQUdFX1RSQUlORVJfQ09ORklHMhCgBBIUCg9ISUdIX1' + 'NQRUVEX0RBVEEQoQQSGAoTRVJHX1BPV0VSX1NNT09USElORxCiBBIaChVWSVJUVUFMX1NISUZU' + 'SU5HX01PREUQowQSHAoXUEFHRV9ERVZJQ0VfVElMVF9DT05GSUcQsAQSGAoTREVWSUNFX1RJTF' + 'RfRU5BQkxFRBCxBBIdChhERVZJQ0VfVElMVF9HUkFESUVOVF9NSU4QsgQSHQoYREVWSUNFX1RJ' + 'TFRfR1JBRElFTlRfTUFYELMEEhkKFERFVklDRV9USUxUX0dSQURJRU5UELQEEhIKDUJBVFRFUl' + 'lfU1RBVEUQgwYSIQocUEFHRV9DT05UUk9MTEVSX0lOUFVUX0NPTkZJRxCACBIjCh5JTlBVVF9T' + 'VVBQT1JURURfRElHSVRBTF9JTlBVVFMQgQgSIgodSU5QVVRfU1VQUE9SVEVEX0FOQUxPR19JTl' + 'BVVFMQgggSHQoYSU5QVVRfQU5BTE9HX0lOUFVUX1JBTkdFEIMIEiAKG0lOUFVUX0FOQUxPR19J' + 'TlBVVF9ERUFEWk9ORRCECBIcChdQQUdFX1dJRklfQ09ORklHVVJBVElPThCgCBIRCgxXSUZJX0' + 'VOQUJMRUQQoQgSEAoLV0lGSV9TVEFUVVMQoggSDgoJV0lGSV9TU0lEEKMIEg4KCVdJRklfQkFO' + 'RBCkCBIOCglXSUZJX1JTU0kQpQgSFQoQV0lGSV9SRUdJT05fQ09ERRCmCBIbChZTRU5TT1JfUk' + 'VMQVlfREFUQV9QQUdFEIAKEiMKHlNFTlNPUl9SRUxBWV9TVVBQT1JURURfU0VOU09SUxCBChIg' + 'ChtTRU5TT1JfUkVMQVlfUEFJUkVEX1NFTlNPUlMQggo='); + +@$core.Deprecated('Use statusDescriptor instead') +const Status$json = { + '1': 'Status', + '2': [ + {'1': 'SUCCESS', '2': 0}, + {'1': 'FAILURE', '2': 1}, + {'1': 'BUSY', '2': 2}, + {'1': 'INVALID_PARAM', '2': 3}, + {'1': 'NOT_PERMITTED', '2': 4}, + {'1': 'NOT_SUPPORTED', '2': 5}, + {'1': 'INVALID_MODE', '2': 6}, + ], +}; + +/// Descriptor for `Status`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List statusDescriptor = $convert.base64Decode( + 'CgZTdGF0dXMSCwoHU1VDQ0VTUxAAEgsKB0ZBSUxVUkUQARIICgRCVVNZEAISEQoNSU5WQUxJRF' + '9QQVJBTRADEhEKDU5PVF9QRVJNSVRURUQQBBIRCg1OT1RfU1VQUE9SVEVEEAUSEAoMSU5WQUxJ' + 'RF9NT0RFEAY='); + +@$core.Deprecated('Use deviceTypeDescriptor instead') +const DeviceType$json = { + '1': 'DeviceType', + '2': [ + {'1': 'UNDEFINED', '2': 0}, + {'1': 'CYCLING_TURBO_TRAINER', '2': 1}, + {'1': 'USER_INPUT_DEVICE', '2': 2}, + {'1': 'TREADMILL', '2': 3}, + {'1': 'SENSOR_RELAY', '2': 4}, + {'1': 'HEART_RATE_MONITOR', '2': 5}, + {'1': 'POWER_METER', '2': 6}, + {'1': 'CADENCE_SENSOR', '2': 7}, + {'1': 'WIFI', '2': 8}, + ], +}; + +/// Descriptor for `DeviceType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List deviceTypeDescriptor = $convert.base64Decode( + 'CgpEZXZpY2VUeXBlEg0KCVVOREVGSU5FRBAAEhkKFUNZQ0xJTkdfVFVSQk9fVFJBSU5FUhABEh' + 'UKEVVTRVJfSU5QVVRfREVWSUNFEAISDQoJVFJFQURNSUxMEAMSEAoMU0VOU09SX1JFTEFZEAQS' + 'FgoSSEVBUlRfUkFURV9NT05JVE9SEAUSDwoLUE9XRVJfTUVURVIQBhISCg5DQURFTkNFX1NFTl' + 'NPUhAHEggKBFdJRkkQCA=='); + +@$core.Deprecated('Use trainerModeDescriptor instead') +const TrainerMode$json = { + '1': 'TrainerMode', + '2': [ + {'1': 'MODE_UNKNOWN', '2': 0}, + {'1': 'MODE_ERG', '2': 1}, + {'1': 'MODE_RESISTANCE', '2': 2}, + {'1': 'MODE_SIM', '2': 3}, + ], +}; + +/// Descriptor for `TrainerMode`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List trainerModeDescriptor = $convert.base64Decode( + 'CgtUcmFpbmVyTW9kZRIQCgxNT0RFX1VOS05PV04QABIMCghNT0RFX0VSRxABEhMKD01PREVfUk' + 'VTSVNUQU5DRRACEgwKCE1PREVfU0lNEAM='); + +@$core.Deprecated('Use chargingStateDescriptor instead') +const ChargingState$json = { + '1': 'ChargingState', + '2': [ + {'1': 'CHARGING_IDLE', '2': 0}, + {'1': 'CHARGING_PROGRESS', '2': 1}, + {'1': 'CHARGING_DONE', '2': 2}, + ], +}; + +/// Descriptor for `ChargingState`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List chargingStateDescriptor = $convert.base64Decode( + 'Cg1DaGFyZ2luZ1N0YXRlEhEKDUNIQVJHSU5HX0lETEUQABIVChFDSEFSR0lOR19QUk9HUkVTUx' + 'ABEhEKDUNIQVJHSU5HX0RPTkUQAg=='); + +@$core.Deprecated('Use spindownStatusDescriptor instead') +const SpindownStatus$json = { + '1': 'SpindownStatus', + '2': [ + {'1': 'SPINDOWN_IDLE', '2': 0}, + {'1': 'SPINDOWN_REQUESTED', '2': 1}, + {'1': 'SPINDOWN_SUCCESS', '2': 2}, + {'1': 'SPINDOWN_ERROR', '2': 3}, + {'1': 'SPINDOWN_STOP_PEDALLING', '2': 4}, + {'1': 'SPINDOWN_ERROR_TIMEOUT', '2': 5}, + {'1': 'SPINDOWN_ERROR_TOSHORT', '2': 6}, + {'1': 'SPINDOWN_ERROR_TOSLOW', '2': 7}, + {'1': 'SPINDOWN_ERROR_TOFAST', '2': 8}, + {'1': 'SPINDOWN_ERROR_SAMPLEERROR', '2': 9}, + {'1': 'SPINDOWN_ERROR_ABORT', '2': 10}, + ], +}; + +/// Descriptor for `SpindownStatus`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List spindownStatusDescriptor = $convert.base64Decode( + 'Cg5TcGluZG93blN0YXR1cxIRCg1TUElORE9XTl9JRExFEAASFgoSU1BJTkRPV05fUkVRVUVTVE' + 'VEEAESFAoQU1BJTkRPV05fU1VDQ0VTUxACEhIKDlNQSU5ET1dOX0VSUk9SEAMSGwoXU1BJTkRP' + 'V05fU1RPUF9QRURBTExJTkcQBBIaChZTUElORE9XTl9FUlJPUl9USU1FT1VUEAUSGgoWU1BJTk' + 'RPV05fRVJST1JfVE9TSE9SVBAGEhkKFVNQSU5ET1dOX0VSUk9SX1RPU0xPVxAHEhkKFVNQSU5E' + 'T1dOX0VSUk9SX1RPRkFTVBAIEh4KGlNQSU5ET1dOX0VSUk9SX1NBTVBMRUVSUk9SEAkSGAoUU1' + 'BJTkRPV05fRVJST1JfQUJPUlQQCg=='); + +@$core.Deprecated('Use logLevelDescriptor instead') +const LogLevel$json = { + '1': 'LogLevel', + '2': [ + {'1': 'LOGLEVEL_OFF', '2': 0}, + {'1': 'LOGLEVEL_ERROR', '2': 1}, + {'1': 'LOGLEVEL_WARNING', '2': 2}, + {'1': 'LOGLEVEL_INFO', '2': 3}, + {'1': 'LOGLEVEL_DEBUG', '2': 4}, + {'1': 'LOGLEVEL_TRACE', '2': 5}, + ], +}; + +/// Descriptor for `LogLevel`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List logLevelDescriptor = $convert.base64Decode( + 'CghMb2dMZXZlbBIQCgxMT0dMRVZFTF9PRkYQABISCg5MT0dMRVZFTF9FUlJPUhABEhQKEExPR0' + 'xFVkVMX1dBUk5JTkcQAhIRCg1MT0dMRVZFTF9JTkZPEAMSEgoOTE9HTEVWRUxfREVCVUcQBBIS' + 'Cg5MT0dMRVZFTF9UUkFDRRAF'); + +@$core.Deprecated('Use roadSurfaceTypeDescriptor instead') +const RoadSurfaceType$json = { + '1': 'RoadSurfaceType', + '2': [ + {'1': 'ROAD_SURFACE_SMOOTH_TARMAC', '2': 0}, + {'1': 'ROAD_SURFACE_BRICK_ROAD', '2': 1}, + {'1': 'ROAD_SURFACE_HARD_COBBLES', '2': 2}, + {'1': 'ROAD_SURFACE_SOFT_COBBLES', '2': 3}, + {'1': 'ROAD_SURFACE_NARROW_WOODEN_PLANKS', '2': 4}, + {'1': 'ROAD_SURFACE_WIDE_WOODEN_PLANKS', '2': 5}, + {'1': 'ROAD_SURFACE_DIRT', '2': 6}, + {'1': 'ROAD_SURFACE_GRAVEL', '2': 7}, + {'1': 'ROAD_SURFACE_CATTLE_GRID', '2': 8}, + {'1': 'ROAD_SURFACE_CONCRETE_FLAG_STONES', '2': 9}, + {'1': 'ROAD_SURFACE_ICE', '2': 10}, + ], +}; + +/// Descriptor for `RoadSurfaceType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List roadSurfaceTypeDescriptor = $convert.base64Decode( + 'Cg9Sb2FkU3VyZmFjZVR5cGUSHgoaUk9BRF9TVVJGQUNFX1NNT09USF9UQVJNQUMQABIbChdST0' + 'FEX1NVUkZBQ0VfQlJJQ0tfUk9BRBABEh0KGVJPQURfU1VSRkFDRV9IQVJEX0NPQkJMRVMQAhId' + 'ChlST0FEX1NVUkZBQ0VfU09GVF9DT0JCTEVTEAMSJQohUk9BRF9TVVJGQUNFX05BUlJPV19XT0' + '9ERU5fUExBTktTEAQSIwofUk9BRF9TVVJGQUNFX1dJREVfV09PREVOX1BMQU5LUxAFEhUKEVJP' + 'QURfU1VSRkFDRV9ESVJUEAYSFwoTUk9BRF9TVVJGQUNFX0dSQVZFTBAHEhwKGFJPQURfU1VSRk' + 'FDRV9DQVRUTEVfR1JJRBAIEiUKIVJPQURfU1VSRkFDRV9DT05DUkVURV9GTEFHX1NUT05FUxAJ' + 'EhQKEFJPQURfU1VSRkFDRV9JQ0UQCg=='); + +@$core.Deprecated('Use wifiStatusCodeDescriptor instead') +const WifiStatusCode$json = { + '1': 'WifiStatusCode', + '2': [ + {'1': 'WIFI_STATUS_DISABLED', '2': 0}, + {'1': 'WIFI_STATUS_NOT_PROVISIONED', '2': 1}, + {'1': 'WIFI_STATUS_SCANNING', '2': 2}, + {'1': 'WIFI_STATUS_DISCONNECTED', '2': 3}, + {'1': 'WIFI_STATUS_CONNECTING', '2': 4}, + {'1': 'WIFI_STATUS_CONNECTED', '2': 5}, + {'1': 'WIFI_STATUS_ERROR', '2': 6}, + ], +}; + +/// Descriptor for `WifiStatusCode`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List wifiStatusCodeDescriptor = $convert.base64Decode( + 'Cg5XaWZpU3RhdHVzQ29kZRIYChRXSUZJX1NUQVRVU19ESVNBQkxFRBAAEh8KG1dJRklfU1RBVF' + 'VTX05PVF9QUk9WSVNJT05FRBABEhgKFFdJRklfU1RBVFVTX1NDQU5OSU5HEAISHAoYV0lGSV9T' + 'VEFUVVNfRElTQ09OTkVDVEVEEAMSGgoWV0lGSV9TVEFUVVNfQ09OTkVDVElORxAEEhkKFVdJRk' + 'lfU1RBVFVTX0NPTk5FQ1RFRBAFEhUKEVdJRklfU1RBVFVTX0VSUk9SEAY='); + +@$core.Deprecated('Use wifiErrorCodeDescriptor instead') +const WifiErrorCode$json = { + '1': 'WifiErrorCode', + '2': [ + {'1': 'WIFI_ERROR_UNKNOWN', '2': 0}, + {'1': 'WIFI_ERROR_NO_MEMORY', '2': 1}, + {'1': 'WIFI_ERROR_INVALID_PARAMETERS', '2': 2}, + {'1': 'WIFI_ERROR_INVALID_STATE', '2': 3}, + {'1': 'WIFI_ERROR_NOT_FOUND', '2': 4}, + {'1': 'WIFI_ERROR_NOT_SUPPORTED', '2': 5}, + {'1': 'WIFI_ERROR_NOT_ALLOWED', '2': 6}, + {'1': 'WIFI_ERROR_NOT_INITIALISED', '2': 7}, + {'1': 'WIFI_ERROR_NOT_STARTED', '2': 8}, + {'1': 'WIFI_ERROR_TIMEOUT', '2': 9}, + {'1': 'WIFI_ERROR_MODE', '2': 10}, + {'1': 'WIFI_ERROR_SSID_INVALID', '2': 11}, + ], +}; + +/// Descriptor for `WifiErrorCode`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List wifiErrorCodeDescriptor = $convert.base64Decode( + 'Cg1XaWZpRXJyb3JDb2RlEhYKEldJRklfRVJST1JfVU5LTk9XThAAEhgKFFdJRklfRVJST1JfTk' + '9fTUVNT1JZEAESIQodV0lGSV9FUlJPUl9JTlZBTElEX1BBUkFNRVRFUlMQAhIcChhXSUZJX0VS' + 'Uk9SX0lOVkFMSURfU1RBVEUQAxIYChRXSUZJX0VSUk9SX05PVF9GT1VORBAEEhwKGFdJRklfRV' + 'JST1JfTk9UX1NVUFBPUlRFRBAFEhoKFldJRklfRVJST1JfTk9UX0FMTE9XRUQQBhIeChpXSUZJ' + 'X0VSUk9SX05PVF9JTklUSUFMSVNFRBAHEhoKFldJRklfRVJST1JfTk9UX1NUQVJURUQQCBIWCh' + 'JXSUZJX0VSUk9SX1RJTUVPVVQQCRITCg9XSUZJX0VSUk9SX01PREUQChIbChdXSUZJX0VSUk9S' + 'X1NTSURfSU5WQUxJRBAL'); + +@$core.Deprecated('Use interfaceTypeDescriptor instead') +const InterfaceType$json = { + '1': 'InterfaceType', + '2': [ + {'1': 'INTERFACE_BLE', '2': 1}, + {'1': 'INTERFACE_ANT', '2': 2}, + {'1': 'INTERFACE_USB', '2': 3}, + {'1': 'INTERFACE_ETH', '2': 4}, + {'1': 'INTERFACE_WIFI', '2': 5}, + ], +}; + +/// Descriptor for `InterfaceType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List interfaceTypeDescriptor = $convert.base64Decode( + 'Cg1JbnRlcmZhY2VUeXBlEhEKDUlOVEVSRkFDRV9CTEUQARIRCg1JTlRFUkZBQ0VfQU5UEAISEQ' + 'oNSU5URVJGQUNFX1VTQhADEhEKDUlOVEVSRkFDRV9FVEgQBBISCg5JTlRFUkZBQ0VfV0lGSRAF'); + +@$core.Deprecated('Use sensorConnectionStatusDescriptor instead') +const SensorConnectionStatus$json = { + '1': 'SensorConnectionStatus', + '2': [ + {'1': 'SENSOR_STATUS_DISCOVERED', '2': 1}, + {'1': 'SENSOR_STATUS_DISCONNECTED', '2': 2}, + {'1': 'SENSOR_STATUS_PAIRING', '2': 3}, + {'1': 'SENSOR_STATUS_CONNECTED', '2': 4}, + ], +}; + +/// Descriptor for `SensorConnectionStatus`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List sensorConnectionStatusDescriptor = $convert.base64Decode( + 'ChZTZW5zb3JDb25uZWN0aW9uU3RhdHVzEhwKGFNFTlNPUl9TVEFUVVNfRElTQ09WRVJFRBABEh' + '4KGlNFTlNPUl9TVEFUVVNfRElTQ09OTkVDVEVEEAISGQoVU0VOU09SX1NUQVRVU19QQUlSSU5H' + 'EAMSGwoXU0VOU09SX1NUQVRVU19DT05ORUNURUQQBA=='); + +@$core.Deprecated('Use bleSecureConnectionStatusDescriptor instead') +const BleSecureConnectionStatus$json = { + '1': 'BleSecureConnectionStatus', + '2': [ + {'1': 'BLE_CONNECTION_SECURITY_STATUS_NONE', '2': 0}, + {'1': 'BLE_CONNECTION_SECURITY_STATUS_INPROGRESS', '2': 1}, + {'1': 'BLE_CONNECTION_SECURITY_STATUS_ACTIVE', '2': 2}, + {'1': 'BLE_CONNECTION_SECURITY_STATUS_REJECTED', '2': 3}, + ], +}; + +/// Descriptor for `BleSecureConnectionStatus`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List bleSecureConnectionStatusDescriptor = $convert.base64Decode( + 'ChlCbGVTZWN1cmVDb25uZWN0aW9uU3RhdHVzEicKI0JMRV9DT05ORUNUSU9OX1NFQ1VSSVRZX1' + 'NUQVRVU19OT05FEAASLQopQkxFX0NPTk5FQ1RJT05fU0VDVVJJVFlfU1RBVFVTX0lOUFJPR1JF' + 'U1MQARIpCiVCTEVfQ09OTkVDVElPTl9TRUNVUklUWV9TVEFUVVNfQUNUSVZFEAISKwonQkxFX0' + 'NPTk5FQ1RJT05fU0VDVVJJVFlfU1RBVFVTX1JFSkVDVEVEEAM='); + +@$core.Deprecated('Use bleSecureConnectionWindowStatusDescriptor instead') +const BleSecureConnectionWindowStatus$json = { + '1': 'BleSecureConnectionWindowStatus', + '2': [ + {'1': 'BLE_SECURE_CONNECTION_WINDOW_STATUS_CLOSED', '2': 0}, + {'1': 'BLE_SECURE_CONNECTION_WINDOW_STATUS_OPEN', '2': 1}, + ], +}; + +/// Descriptor for `BleSecureConnectionWindowStatus`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List bleSecureConnectionWindowStatusDescriptor = $convert.base64Decode( + 'Ch9CbGVTZWN1cmVDb25uZWN0aW9uV2luZG93U3RhdHVzEi4KKkJMRV9TRUNVUkVfQ09OTkVDVE' + 'lPTl9XSU5ET1dfU1RBVFVTX0NMT1NFRBAAEiwKKEJMRV9TRUNVUkVfQ09OTkVDVElPTl9XSU5E' + 'T1dfU1RBVFVTX09QRU4QAQ=='); + +@$core.Deprecated('Use trainerEnvSimDescriptor instead') +const TrainerEnvSim$json = { + '1': 'TrainerEnvSim', + '2': [ + {'1': 'simulatedWind', '3': 1, '4': 1, '5': 17, '8': {}, '10': 'simulatedWind'}, + {'1': 'simulatedGrade', '3': 2, '4': 1, '5': 17, '8': {}, '10': 'simulatedGrade'}, + {'1': 'simulatedCW', '3': 3, '4': 1, '5': 13, '8': {}, '10': 'simulatedCW'}, + {'1': 'simulatedCRR', '3': 4, '4': 1, '5': 13, '8': {}, '10': 'simulatedCRR'}, + ], +}; + +/// Descriptor for `TrainerEnvSim`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trainerEnvSimDescriptor = $convert.base64Decode( + 'Cg1UcmFpbmVyRW52U2ltEisKDXNpbXVsYXRlZFdpbmQYASABKBFCBZI/AjgQUg1zaW11bGF0ZW' + 'RXaW5kEi0KDnNpbXVsYXRlZEdyYWRlGAIgASgRQgWSPwI4EFIOc2ltdWxhdGVkR3JhZGUSJwoL' + 'c2ltdWxhdGVkQ1cYAyABKA1CBZI/AjgQUgtzaW11bGF0ZWRDVxIpCgxzaW11bGF0ZWRDUlIYBC' + 'ABKA1CBZI/AjgQUgxzaW11bGF0ZWRDUlI='); + +@$core.Deprecated('Use trainerBikeSimDescriptor instead') +const TrainerBikeSim$json = { + '1': 'TrainerBikeSim', + '2': [ + {'1': 'simulatedRealGearRatio', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'simulatedRealGearRatio'}, + {'1': 'simulatedVirtualGearRatio', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'simulatedVirtualGearRatio'}, + {'1': 'simulatedWheelDiameter', '3': 3, '4': 1, '5': 13, '8': {}, '10': 'simulatedWheelDiameter'}, + {'1': 'simulatedBikeMass', '3': 4, '4': 1, '5': 13, '8': {}, '10': 'simulatedBikeMass'}, + {'1': 'simulatedRiderMass', '3': 5, '4': 1, '5': 13, '8': {}, '10': 'simulatedRiderMass'}, + {'1': 'simulatedFrontalArea', '3': 6, '4': 1, '5': 13, '8': {}, '10': 'simulatedFrontalArea'}, + {'1': 'eBrake', '3': 7, '4': 1, '5': 13, '8': {}, '10': 'eBrake'}, + ], +}; + +/// Descriptor for `TrainerBikeSim`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trainerBikeSimDescriptor = $convert.base64Decode( + 'Cg5UcmFpbmVyQmlrZVNpbRI9ChZzaW11bGF0ZWRSZWFsR2VhclJhdGlvGAEgASgNQgWSPwI4EF' + 'IWc2ltdWxhdGVkUmVhbEdlYXJSYXRpbxJDChlzaW11bGF0ZWRWaXJ0dWFsR2VhclJhdGlvGAIg' + 'ASgNQgWSPwI4EFIZc2ltdWxhdGVkVmlydHVhbEdlYXJSYXRpbxI9ChZzaW11bGF0ZWRXaGVlbE' + 'RpYW1ldGVyGAMgASgNQgWSPwI4EFIWc2ltdWxhdGVkV2hlZWxEaWFtZXRlchIzChFzaW11bGF0' + 'ZWRCaWtlTWFzcxgEIAEoDUIFkj8COBBSEXNpbXVsYXRlZEJpa2VNYXNzEjUKEnNpbXVsYXRlZF' + 'JpZGVyTWFzcxgFIAEoDUIFkj8COBBSEnNpbXVsYXRlZFJpZGVyTWFzcxI5ChRzaW11bGF0ZWRG' + 'cm9udGFsQXJlYRgGIAEoDUIFkj8COBBSFHNpbXVsYXRlZEZyb250YWxBcmVhEh0KBmVCcmFrZR' + 'gHIAEoDUIFkj8COBBSBmVCcmFrZQ=='); + +@$core.Deprecated('Use controllerAnalogEventDescriptor instead') +const ControllerAnalogEvent$json = { + '1': 'ControllerAnalogEvent', + '2': [ + {'1': 'sensorId', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'sensorId'}, + {'1': 'value', '3': 2, '4': 1, '5': 17, '8': {}, '10': 'value'}, + ], +}; + +/// Descriptor for `ControllerAnalogEvent`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List controllerAnalogEventDescriptor = $convert.base64Decode( + 'ChVDb250cm9sbGVyQW5hbG9nRXZlbnQSIQoIc2Vuc29ySWQYASABKA1CBZI/AjgIUghzZW5zb3' + 'JJZBIbCgV2YWx1ZRgCIAEoEUIFkj8COBBSBXZhbHVl'); + +@$core.Deprecated('Use inputAnalogRangeDescriptor instead') +const InputAnalogRange$json = { + '1': 'InputAnalogRange', + '2': [ + {'1': 'sensorId', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'sensorId'}, + {'1': 'minAnalogValue', '3': 2, '4': 1, '5': 17, '8': {}, '10': 'minAnalogValue'}, + {'1': 'maxAnalogValue', '3': 3, '4': 1, '5': 17, '8': {}, '10': 'maxAnalogValue'}, + ], +}; + +/// Descriptor for `InputAnalogRange`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List inputAnalogRangeDescriptor = $convert.base64Decode( + 'ChBJbnB1dEFuYWxvZ1JhbmdlEiEKCHNlbnNvcklkGAEgASgNQgWSPwI4CFIIc2Vuc29ySWQSLQ' + 'oObWluQW5hbG9nVmFsdWUYAiABKBFCBZI/AjgQUg5taW5BbmFsb2dWYWx1ZRItCg5tYXhBbmFs' + 'b2dWYWx1ZRgDIAEoEUIFkj8COBBSDm1heEFuYWxvZ1ZhbHVl'); + +@$core.Deprecated('Use inputAnalogDeadzoneDescriptor instead') +const InputAnalogDeadzone$json = { + '1': 'InputAnalogDeadzone', + '2': [ + {'1': 'sensorId', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'sensorId'}, + {'1': 'negDeadzoneValue', '3': 2, '4': 1, '5': 17, '8': {}, '10': 'negDeadzoneValue'}, + {'1': 'posDeadzoneValue', '3': 3, '4': 1, '5': 17, '8': {}, '10': 'posDeadzoneValue'}, + ], +}; + +/// Descriptor for `InputAnalogDeadzone`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List inputAnalogDeadzoneDescriptor = $convert.base64Decode( + 'ChNJbnB1dEFuYWxvZ0RlYWR6b25lEiEKCHNlbnNvcklkGAEgASgNQgWSPwI4CFIIc2Vuc29ySW' + 'QSMQoQbmVnRGVhZHpvbmVWYWx1ZRgCIAEoEUIFkj8COBBSEG5lZ0RlYWR6b25lVmFsdWUSMQoQ' + 'cG9zRGVhZHpvbmVWYWx1ZRgDIAEoEUIFkj8COBBSEHBvc0RlYWR6b25lVmFsdWU='); + +@$core.Deprecated('Use wifiNetworkDescriptor instead') +const WifiNetwork$json = { + '1': 'WifiNetwork', + '2': [ + {'1': 'networkId', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'networkId'}, + {'1': 'ssid', '3': 2, '4': 1, '5': 12, '8': {}, '10': 'ssid'}, + {'1': 'password', '3': 3, '4': 1, '5': 12, '8': {}, '10': 'password'}, + ], +}; + +/// Descriptor for `WifiNetwork`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List wifiNetworkDescriptor = $convert.base64Decode( + 'CgtXaWZpTmV0d29yaxIjCgluZXR3b3JrSWQYASABKA1CBZI/AjgIUgluZXR3b3JrSWQSGQoEc3' + 'NpZBgCIAEoDEIFkj8CCCBSBHNzaWQSIQoIcGFzc3dvcmQYAyABKAxCBZI/AghAUghwYXNzd29y' + 'ZA=='); + +@$core.Deprecated('Use wifiRegionCodeDescriptor instead') +const WifiRegionCode$json = { + '1': 'WifiRegionCode', + '2': [ + {'1': 'regionCodeType', '3': 1, '4': 1, '5': 14, '6': '.Zp.WifiRegionCode.RegionCodeType', '10': 'regionCodeType'}, + {'1': 'regionCode', '3': 2, '4': 1, '5': 12, '8': {}, '10': 'regionCode'}, + ], + '4': [WifiRegionCode_RegionCodeType$json], +}; + +@$core.Deprecated('Use wifiRegionCodeDescriptor instead') +const WifiRegionCode_RegionCodeType$json = { + '1': 'RegionCodeType', + '2': [ + {'1': 'ALPHA_2', '2': 0}, + {'1': 'ALPHA_3', '2': 1}, + {'1': 'NUMERIC', '2': 2}, + {'1': 'UNKNOWN', '2': 3}, + ], +}; + +/// Descriptor for `WifiRegionCode`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List wifiRegionCodeDescriptor = $convert.base64Decode( + 'Cg5XaWZpUmVnaW9uQ29kZRJJCg5yZWdpb25Db2RlVHlwZRgBIAEoDjIhLlpwLldpZmlSZWdpb2' + '5Db2RlLlJlZ2lvbkNvZGVUeXBlUg5yZWdpb25Db2RlVHlwZRIlCgpyZWdpb25Db2RlGAIgASgM' + 'QgWSPwIIA1IKcmVnaW9uQ29kZSJECg5SZWdpb25Db2RlVHlwZRILCgdBTFBIQV8yEAASCwoHQU' + 'xQSEFfMxABEgsKB05VTUVSSUMQAhILCgdVTktOT1dOEAM='); + +@$core.Deprecated('Use wifiNetworkDetailsDescriptor instead') +const WifiNetworkDetails$json = { + '1': 'WifiNetworkDetails', + '2': [ + {'1': 'networkId', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'networkId'}, + {'1': 'bssid', '3': 2, '4': 1, '5': 12, '8': {}, '10': 'bssid'}, + {'1': 'ssid', '3': 3, '4': 1, '5': 12, '8': {}, '10': 'ssid'}, + {'1': 'securityType', '3': 4, '4': 1, '5': 13, '8': {}, '10': 'securityType'}, + {'1': 'band', '3': 5, '4': 1, '5': 13, '8': {}, '10': 'band'}, + {'1': 'rssi', '3': 6, '4': 1, '5': 17, '8': {}, '10': 'rssi'}, + ], +}; + +/// Descriptor for `WifiNetworkDetails`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List wifiNetworkDetailsDescriptor = $convert.base64Decode( + 'ChJXaWZpTmV0d29ya0RldGFpbHMSIwoJbmV0d29ya0lkGAEgASgNQgWSPwI4CFIJbmV0d29ya0' + 'lkEh0KBWJzc2lkGAIgASgMQgeSPwQIBngBUgVic3NpZBIZCgRzc2lkGAMgASgMQgWSPwIIIFIE' + 'c3NpZBIpCgxzZWN1cml0eVR5cGUYBCABKA1CBZI/AjgIUgxzZWN1cml0eVR5cGUSGQoEYmFuZB' + 'gFIAEoDUIFkj8COAhSBGJhbmQSGQoEcnNzaRgGIAEoEUIFkj8COAhSBHJzc2k='); + +@$core.Deprecated('Use sensorInfoDescriptor instead') +const SensorInfo$json = { + '1': 'SensorInfo', + '2': [ + {'1': 'relayAssignedId', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'relayAssignedId'}, + {'1': 'sensorName', '3': 2, '4': 1, '5': 12, '8': {}, '10': 'sensorName'}, + {'1': 'sensorAddress', '3': 4, '4': 1, '5': 12, '8': {}, '10': 'sensorAddress'}, + {'1': 'interfaceType', '3': 5, '4': 1, '5': 14, '6': '.Zp.InterfaceType', '10': 'interfaceType'}, + {'1': 'connectionStatus', '3': 6, '4': 1, '5': 14, '6': '.Zp.SensorConnectionStatus', '10': 'connectionStatus'}, + {'1': 'deviceTypes', '3': 7, '4': 3, '5': 14, '6': '.Zp.DeviceType', '8': {}, '10': 'deviceTypes'}, + {'1': 'supportsZp', '3': 8, '4': 1, '5': 8, '10': 'supportsZp'}, + ], + '9': [ + {'1': 3, '2': 4}, + ], +}; + +/// Descriptor for `SensorInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sensorInfoDescriptor = $convert.base64Decode( + 'CgpTZW5zb3JJbmZvEi8KD3JlbGF5QXNzaWduZWRJZBgBIAEoDUIFkj8COAhSD3JlbGF5QXNzaW' + 'duZWRJZBIlCgpzZW5zb3JOYW1lGAIgASgMQgWSPwIIIFIKc2Vuc29yTmFtZRItCg1zZW5zb3JB' + 'ZGRyZXNzGAQgASgMQgeSPwQIBngBUg1zZW5zb3JBZGRyZXNzEjcKDWludGVyZmFjZVR5cGUYBS' + 'ABKA4yES5acC5JbnRlcmZhY2VUeXBlUg1pbnRlcmZhY2VUeXBlEkYKEGNvbm5lY3Rpb25TdGF0' + 'dXMYBiABKA4yGi5acC5TZW5zb3JDb25uZWN0aW9uU3RhdHVzUhBjb25uZWN0aW9uU3RhdHVzEj' + 'cKC2RldmljZVR5cGVzGAcgAygOMg4uWnAuRGV2aWNlVHlwZUIFkj8CEAhSC2RldmljZVR5cGVz' + 'Eh4KCnN1cHBvcnRzWnAYCCABKAhSCnN1cHBvcnRzWnBKBAgDEAQ='); + +@$core.Deprecated('Use sensorInfoListDescriptor instead') +const SensorInfoList$json = { + '1': 'SensorInfoList', + '2': [ + {'1': 'sensorInfo', '3': 1, '4': 3, '5': 11, '6': '.Zp.SensorInfo', '8': {}, '10': 'sensorInfo'}, + ], +}; + +/// Descriptor for `SensorInfoList`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sensorInfoListDescriptor = $convert.base64Decode( + 'Cg5TZW5zb3JJbmZvTGlzdBI1CgpzZW5zb3JJbmZvGAEgAygLMg4uWnAuU2Vuc29ySW5mb0IFkj' + '8CEA9SCnNlbnNvckluZm8='); + +@$core.Deprecated('Use deviceUpdatePageDescriptor instead') +const DeviceUpdatePage$json = { + '1': 'DeviceUpdatePage', + '2': [ + {'1': 'updateStatus', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'updateStatus'}, + {'1': 'newVersion', '3': 2, '4': 1, '5': 13, '10': 'newVersion'}, + ], +}; + +/// Descriptor for `DeviceUpdatePage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deviceUpdatePageDescriptor = $convert.base64Decode( + 'ChBEZXZpY2VVcGRhdGVQYWdlEikKDHVwZGF0ZVN0YXR1cxgBIAEoDUIFkj8COAhSDHVwZGF0ZV' + 'N0YXR1cxIeCgpuZXdWZXJzaW9uGAIgASgNUgpuZXdWZXJzaW9u'); + +@$core.Deprecated('Use dateTimePageDescriptor instead') +const DateTimePage$json = { + '1': 'DateTimePage', + '2': [ + {'1': 'utcDateTime', '3': 1, '4': 1, '5': 13, '10': 'utcDateTime'}, + ], +}; + +/// Descriptor for `DateTimePage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List dateTimePageDescriptor = $convert.base64Decode( + 'CgxEYXRlVGltZVBhZ2USIAoLdXRjRGF0ZVRpbWUYASABKA1SC3V0Y0RhdGVUaW1l'); + +@$core.Deprecated('Use bleSecurityPageDescriptor instead') +const BleSecurityPage$json = { + '1': 'BleSecurityPage', + '2': [ + {'1': 'secureConnectionStatus', '3': 1, '4': 1, '5': 14, '6': '.Zp.BleSecureConnectionStatus', '10': 'secureConnectionStatus'}, + {'1': 'secureConnectionWindowStatus', '3': 2, '4': 1, '5': 14, '6': '.Zp.BleSecureConnectionWindowStatus', '10': 'secureConnectionWindowStatus'}, + ], +}; + +/// Descriptor for `BleSecurityPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List bleSecurityPageDescriptor = $convert.base64Decode( + 'Cg9CbGVTZWN1cml0eVBhZ2USVQoWc2VjdXJlQ29ubmVjdGlvblN0YXR1cxgBIAEoDjIdLlpwLk' + 'JsZVNlY3VyZUNvbm5lY3Rpb25TdGF0dXNSFnNlY3VyZUNvbm5lY3Rpb25TdGF0dXMSZwocc2Vj' + 'dXJlQ29ubmVjdGlvbldpbmRvd1N0YXR1cxgCIAEoDjIjLlpwLkJsZVNlY3VyZUNvbm5lY3Rpb2' + '5XaW5kb3dTdGF0dXNSHHNlY3VyZUNvbm5lY3Rpb25XaW5kb3dTdGF0dXM='); + +@$core.Deprecated('Use devInfoPageDescriptor instead') +const DevInfoPage$json = { + '1': 'DevInfoPage', + '2': [ + {'1': 'protocolVersion', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'protocolVersion'}, + {'1': 'systemFwVersion', '3': 2, '4': 1, '5': 12, '8': {}, '10': 'systemFwVersion'}, + {'1': 'deviceName', '3': 3, '4': 1, '5': 12, '8': {}, '10': 'deviceName'}, + {'1': 'serialNumber', '3': 6, '4': 1, '5': 12, '8': {}, '10': 'serialNumber'}, + {'1': 'systemHwRevision', '3': 7, '4': 1, '5': 12, '8': {}, '10': 'systemHwRevision'}, + {'1': 'deviceCapabilities', '3': 8, '4': 3, '5': 11, '6': '.Zp.DevInfoPage.DeviceCapabilities', '8': {}, '10': 'deviceCapabilities'}, + {'1': 'manufacturerId', '3': 9, '4': 1, '5': 13, '8': {}, '10': 'manufacturerId'}, + {'1': 'productId', '3': 10, '4': 1, '5': 13, '8': {}, '10': 'productId'}, + {'1': 'deviceUid', '3': 11, '4': 1, '5': 12, '8': {}, '10': 'deviceUid'}, + ], + '3': [DevInfoPage_DeviceCapabilities$json], + '9': [ + {'1': 4, '2': 5}, + {'1': 5, '2': 6}, + ], +}; + +@$core.Deprecated('Use devInfoPageDescriptor instead') +const DevInfoPage_DeviceCapabilities$json = { + '1': 'DeviceCapabilities', + '2': [ + {'1': 'deviceType', '3': 1, '4': 2, '5': 13, '8': {}, '10': 'deviceType'}, + {'1': 'capabilities', '3': 2, '4': 2, '5': 13, '10': 'capabilities'}, + ], +}; + +/// Descriptor for `DevInfoPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List devInfoPageDescriptor = $convert.base64Decode( + 'CgtEZXZJbmZvUGFnZRIvCg9wcm90b2NvbFZlcnNpb24YASABKA1CBZI/AjgQUg9wcm90b2NvbF' + 'ZlcnNpb24SMQoPc3lzdGVtRndWZXJzaW9uGAIgASgMQgeSPwQIBHgBUg9zeXN0ZW1Gd1ZlcnNp' + 'b24SJQoKZGV2aWNlTmFtZRgDIAEoDEIFkj8CCAxSCmRldmljZU5hbWUSKwoMc2VyaWFsTnVtYm' + 'VyGAYgASgMQgeSPwQID3gBUgxzZXJpYWxOdW1iZXISMQoQc3lzdGVtSHdSZXZpc2lvbhgHIAEo' + 'DEIFkj8CCAVSEHN5c3RlbUh3UmV2aXNpb24SWQoSZGV2aWNlQ2FwYWJpbGl0aWVzGAggAygLMi' + 'IuWnAuRGV2SW5mb1BhZ2UuRGV2aWNlQ2FwYWJpbGl0aWVzQgWSPwIQD1ISZGV2aWNlQ2FwYWJp' + 'bGl0aWVzEi0KDm1hbnVmYWN0dXJlcklkGAkgASgNQgWSPwI4EFIObWFudWZhY3R1cmVySWQSIw' + 'oJcHJvZHVjdElkGAogASgNQgWSPwI4EFIJcHJvZHVjdElkEiUKCWRldmljZVVpZBgLIAEoDEIH' + 'kj8ECAx4AVIJZGV2aWNlVWlkGl8KEkRldmljZUNhcGFiaWxpdGllcxIlCgpkZXZpY2VUeXBlGA' + 'EgAigNQgWSPwI4CFIKZGV2aWNlVHlwZRIiCgxjYXBhYmlsaXRpZXMYAiACKA1SDGNhcGFiaWxp' + 'dGllc0oECAQQBUoECAUQBg=='); + +@$core.Deprecated('Use clientServerCfgPageDescriptor instead') +const ClientServerCfgPage$json = { + '1': 'ClientServerCfgPage', + '2': [ + {'1': 'notifications', '3': 1, '4': 1, '5': 13, '10': 'notifications'}, + ], +}; + +/// Descriptor for `ClientServerCfgPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List clientServerCfgPageDescriptor = $convert.base64Decode( + 'ChNDbGllbnRTZXJ2ZXJDZmdQYWdlEiQKDW5vdGlmaWNhdGlvbnMYASABKA1SDW5vdGlmaWNhdG' + 'lvbnM='); + +@$core.Deprecated('Use trainerSimulationParamDescriptor instead') +const TrainerSimulationParam$json = { + '1': 'TrainerSimulationParam', + '2': [ + {'1': 'configuredResistance', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'configuredResistance'}, + {'1': 'ergPower', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'ergPower'}, + {'1': 'averagingWindow', '3': 3, '4': 1, '5': 13, '8': {}, '10': 'averagingWindow'}, + {'1': 'simulatedWind', '3': 4, '4': 1, '5': 17, '8': {}, '10': 'simulatedWind'}, + {'1': 'simulatedGrade', '3': 5, '4': 1, '5': 17, '8': {}, '10': 'simulatedGrade'}, + {'1': 'simulatedRealGearRatio', '3': 6, '4': 1, '5': 13, '8': {}, '10': 'simulatedRealGearRatio'}, + {'1': 'simulatedVirtualGearRatio', '3': 7, '4': 1, '5': 13, '8': {}, '10': 'simulatedVirtualGearRatio'}, + {'1': 'simulatedCW', '3': 8, '4': 1, '5': 13, '8': {}, '10': 'simulatedCW'}, + {'1': 'simulatedWheelDiameter', '3': 9, '4': 1, '5': 13, '8': {}, '10': 'simulatedWheelDiameter'}, + {'1': 'simulatedBikeMass', '3': 10, '4': 1, '5': 13, '8': {}, '10': 'simulatedBikeMass'}, + {'1': 'simulatedRiderMass', '3': 11, '4': 1, '5': 13, '8': {}, '10': 'simulatedRiderMass'}, + {'1': 'simulatedCRR', '3': 12, '4': 1, '5': 13, '8': {}, '10': 'simulatedCRR'}, + {'1': 'simulatedFrontalArea', '3': 13, '4': 1, '5': 13, '8': {}, '10': 'simulatedFrontalArea'}, + {'1': 'simulatedEBrake', '3': 14, '4': 1, '5': 13, '8': {}, '10': 'simulatedEBrake'}, + ], +}; + +/// Descriptor for `TrainerSimulationParam`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trainerSimulationParamDescriptor = $convert.base64Decode( + 'ChZUcmFpbmVyU2ltdWxhdGlvblBhcmFtEjkKFGNvbmZpZ3VyZWRSZXNpc3RhbmNlGAEgASgNQg' + 'WSPwI4EFIUY29uZmlndXJlZFJlc2lzdGFuY2USIQoIZXJnUG93ZXIYAiABKA1CBZI/AjgQUghl' + 'cmdQb3dlchIvCg9hdmVyYWdpbmdXaW5kb3cYAyABKA1CBZI/AjgQUg9hdmVyYWdpbmdXaW5kb3' + 'cSKwoNc2ltdWxhdGVkV2luZBgEIAEoEUIFkj8COBBSDXNpbXVsYXRlZFdpbmQSLQoOc2ltdWxh' + 'dGVkR3JhZGUYBSABKBFCBZI/AjgQUg5zaW11bGF0ZWRHcmFkZRI9ChZzaW11bGF0ZWRSZWFsR2' + 'VhclJhdGlvGAYgASgNQgWSPwI4EFIWc2ltdWxhdGVkUmVhbEdlYXJSYXRpbxJDChlzaW11bGF0' + 'ZWRWaXJ0dWFsR2VhclJhdGlvGAcgASgNQgWSPwI4EFIZc2ltdWxhdGVkVmlydHVhbEdlYXJSYX' + 'RpbxInCgtzaW11bGF0ZWRDVxgIIAEoDUIFkj8COBBSC3NpbXVsYXRlZENXEj0KFnNpbXVsYXRl' + 'ZFdoZWVsRGlhbWV0ZXIYCSABKA1CBZI/AjgQUhZzaW11bGF0ZWRXaGVlbERpYW1ldGVyEjMKEX' + 'NpbXVsYXRlZEJpa2VNYXNzGAogASgNQgWSPwI4EFIRc2ltdWxhdGVkQmlrZU1hc3MSNQoSc2lt' + 'dWxhdGVkUmlkZXJNYXNzGAsgASgNQgWSPwI4EFISc2ltdWxhdGVkUmlkZXJNYXNzEikKDHNpbX' + 'VsYXRlZENSUhgMIAEoDUIFkj8COBBSDHNpbXVsYXRlZENSUhI5ChRzaW11bGF0ZWRGcm9udGFs' + 'QXJlYRgNIAEoDUIFkj8COBBSFHNpbXVsYXRlZEZyb250YWxBcmVhEi8KD3NpbXVsYXRlZEVCcm' + 'FrZRgOIAEoDUIFkj8COBBSD3NpbXVsYXRlZEVCcmFrZQ=='); + +@$core.Deprecated('Use trainerOptionsDescriptor instead') +const TrainerOptions$json = { + '1': 'TrainerOptions', + '2': [ + {'1': 'highSpeedDataEnabled', '3': 1, '4': 1, '5': 8, '10': 'highSpeedDataEnabled'}, + {'1': 'ergPowerSmoothingEnabled', '3': 2, '4': 1, '5': 8, '10': 'ergPowerSmoothingEnabled'}, + {'1': 'virtualShiftingMode', '3': 3, '4': 1, '5': 13, '8': {}, '10': 'virtualShiftingMode'}, + ], +}; + +/// Descriptor for `TrainerOptions`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trainerOptionsDescriptor = $convert.base64Decode( + 'Cg5UcmFpbmVyT3B0aW9ucxIyChRoaWdoU3BlZWREYXRhRW5hYmxlZBgBIAEoCFIUaGlnaFNwZW' + 'VkRGF0YUVuYWJsZWQSOgoYZXJnUG93ZXJTbW9vdGhpbmdFbmFibGVkGAIgASgIUhhlcmdQb3dl' + 'clNtb290aGluZ0VuYWJsZWQSNwoTdmlydHVhbFNoaWZ0aW5nTW9kZRgDIAEoDUIFkj8COAhSE3' + 'ZpcnR1YWxTaGlmdGluZ01vZGU='); + +@$core.Deprecated('Use trainerCfgPageDescriptor instead') +const TrainerCfgPage$json = { + '1': 'TrainerCfgPage', + '2': [ + {'1': 'trainerMode', '3': 1, '4': 1, '5': 14, '6': '.Zp.TrainerMode', '10': 'trainerMode'}, + {'1': 'configuredResistance', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'configuredResistance'}, + {'1': 'ergPower', '3': 3, '4': 1, '5': 13, '8': {}, '10': 'ergPower'}, + {'1': 'averagingWindow', '3': 4, '4': 1, '5': 13, '8': {}, '10': 'averagingWindow'}, + {'1': 'simulatedWind', '3': 5, '4': 1, '5': 17, '8': {}, '10': 'simulatedWind'}, + {'1': 'simulatedGrade', '3': 6, '4': 1, '5': 17, '8': {}, '10': 'simulatedGrade'}, + {'1': 'simulatedRealGearRatio', '3': 7, '4': 1, '5': 13, '8': {}, '10': 'simulatedRealGearRatio'}, + {'1': 'simulatedVirtualGearRatio', '3': 8, '4': 1, '5': 13, '8': {}, '10': 'simulatedVirtualGearRatio'}, + {'1': 'simulatedCW', '3': 9, '4': 1, '5': 13, '8': {}, '10': 'simulatedCW'}, + {'1': 'simulatedWheelDiameter', '3': 10, '4': 1, '5': 13, '8': {}, '10': 'simulatedWheelDiameter'}, + {'1': 'simulatedBikeMass', '3': 11, '4': 1, '5': 13, '8': {}, '10': 'simulatedBikeMass'}, + {'1': 'simulatedRiderMass', '3': 12, '4': 1, '5': 13, '8': {}, '10': 'simulatedRiderMass'}, + {'1': 'simulatedCRR', '3': 13, '4': 1, '5': 13, '8': {}, '10': 'simulatedCRR'}, + {'1': 'simulatedFrontalArea', '3': 14, '4': 1, '5': 13, '8': {}, '10': 'simulatedFrontalArea'}, + {'1': 'simulatedEBrake', '3': 15, '4': 1, '5': 13, '8': {}, '10': 'simulatedEBrake'}, + {'1': 'highSpeedDataEnabled', '3': 16, '4': 1, '5': 8, '10': 'highSpeedDataEnabled'}, + {'1': 'ergPowerSmoothingEnabled', '3': 17, '4': 1, '5': 8, '10': 'ergPowerSmoothingEnabled'}, + {'1': 'virtualShiftingMode', '3': 18, '4': 1, '5': 13, '8': {}, '10': 'virtualShiftingMode'}, + ], +}; + +/// Descriptor for `TrainerCfgPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trainerCfgPageDescriptor = $convert.base64Decode( + 'Cg5UcmFpbmVyQ2ZnUGFnZRIxCgt0cmFpbmVyTW9kZRgBIAEoDjIPLlpwLlRyYWluZXJNb2RlUg' + 't0cmFpbmVyTW9kZRI5ChRjb25maWd1cmVkUmVzaXN0YW5jZRgCIAEoDUIFkj8COBBSFGNvbmZp' + 'Z3VyZWRSZXNpc3RhbmNlEiEKCGVyZ1Bvd2VyGAMgASgNQgWSPwI4EFIIZXJnUG93ZXISLwoPYX' + 'ZlcmFnaW5nV2luZG93GAQgASgNQgWSPwI4EFIPYXZlcmFnaW5nV2luZG93EisKDXNpbXVsYXRl' + 'ZFdpbmQYBSABKBFCBZI/AjgQUg1zaW11bGF0ZWRXaW5kEi0KDnNpbXVsYXRlZEdyYWRlGAYgAS' + 'gRQgWSPwI4EFIOc2ltdWxhdGVkR3JhZGUSPQoWc2ltdWxhdGVkUmVhbEdlYXJSYXRpbxgHIAEo' + 'DUIFkj8COBBSFnNpbXVsYXRlZFJlYWxHZWFyUmF0aW8SQwoZc2ltdWxhdGVkVmlydHVhbEdlYX' + 'JSYXRpbxgIIAEoDUIFkj8COBBSGXNpbXVsYXRlZFZpcnR1YWxHZWFyUmF0aW8SJwoLc2ltdWxh' + 'dGVkQ1cYCSABKA1CBZI/AjgQUgtzaW11bGF0ZWRDVxI9ChZzaW11bGF0ZWRXaGVlbERpYW1ldG' + 'VyGAogASgNQgWSPwI4EFIWc2ltdWxhdGVkV2hlZWxEaWFtZXRlchIzChFzaW11bGF0ZWRCaWtl' + 'TWFzcxgLIAEoDUIFkj8COBBSEXNpbXVsYXRlZEJpa2VNYXNzEjUKEnNpbXVsYXRlZFJpZGVyTW' + 'FzcxgMIAEoDUIFkj8COBBSEnNpbXVsYXRlZFJpZGVyTWFzcxIpCgxzaW11bGF0ZWRDUlIYDSAB' + 'KA1CBZI/AjgQUgxzaW11bGF0ZWRDUlISOQoUc2ltdWxhdGVkRnJvbnRhbEFyZWEYDiABKA1CBZ' + 'I/AjgQUhRzaW11bGF0ZWRGcm9udGFsQXJlYRIvCg9zaW11bGF0ZWRFQnJha2UYDyABKA1CBZI/' + 'AjgQUg9zaW11bGF0ZWRFQnJha2USMgoUaGlnaFNwZWVkRGF0YUVuYWJsZWQYECABKAhSFGhpZ2' + 'hTcGVlZERhdGFFbmFibGVkEjoKGGVyZ1Bvd2VyU21vb3RoaW5nRW5hYmxlZBgRIAEoCFIYZXJn' + 'UG93ZXJTbW9vdGhpbmdFbmFibGVkEjcKE3ZpcnR1YWxTaGlmdGluZ01vZGUYEiABKA1CBZI/Aj' + 'gIUhN2aXJ0dWFsU2hpZnRpbmdNb2Rl'); + +@$core.Deprecated('Use trainerGearIndexConfigPageDescriptor instead') +const TrainerGearIndexConfigPage$json = { + '1': 'TrainerGearIndexConfigPage', + '2': [ + {'1': 'frontGearIdx', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'frontGearIdx'}, + {'1': 'frontGearIdxMax', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'frontGearIdxMax'}, + {'1': 'frontGearIdxMin', '3': 3, '4': 1, '5': 13, '8': {}, '10': 'frontGearIdxMin'}, + {'1': 'rearGearIdx', '3': 4, '4': 1, '5': 13, '8': {}, '10': 'rearGearIdx'}, + {'1': 'rearGearIdxMax', '3': 5, '4': 1, '5': 13, '8': {}, '10': 'rearGearIdxMax'}, + {'1': 'rearGearIdxMin', '3': 6, '4': 1, '5': 13, '8': {}, '10': 'rearGearIdxMin'}, + ], +}; + +/// Descriptor for `TrainerGearIndexConfigPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trainerGearIndexConfigPageDescriptor = $convert.base64Decode( + 'ChpUcmFpbmVyR2VhckluZGV4Q29uZmlnUGFnZRIpCgxmcm9udEdlYXJJZHgYASABKA1CBZI/Aj' + 'gIUgxmcm9udEdlYXJJZHgSLwoPZnJvbnRHZWFySWR4TWF4GAIgASgNQgWSPwI4CFIPZnJvbnRH' + 'ZWFySWR4TWF4Ei8KD2Zyb250R2VhcklkeE1pbhgDIAEoDUIFkj8COAhSD2Zyb250R2VhcklkeE' + '1pbhInCgtyZWFyR2VhcklkeBgEIAEoDUIFkj8COAhSC3JlYXJHZWFySWR4Ei0KDnJlYXJHZWFy' + 'SWR4TWF4GAUgASgNQgWSPwI4CFIOcmVhckdlYXJJZHhNYXgSLQoOcmVhckdlYXJJZHhNaW4YBi' + 'ABKA1CBZI/AjgIUg5yZWFyR2VhcklkeE1pbg=='); + +@$core.Deprecated('Use deviceTiltConfigPageDescriptor instead') +const DeviceTiltConfigPage$json = { + '1': 'DeviceTiltConfigPage', + '2': [ + {'1': 'tiltEnabled', '3': 1, '4': 1, '5': 8, '10': 'tiltEnabled'}, + {'1': 'tiltGradientMin', '3': 2, '4': 1, '5': 17, '8': {}, '10': 'tiltGradientMin'}, + {'1': 'tiltGradientMax', '3': 3, '4': 1, '5': 17, '8': {}, '10': 'tiltGradientMax'}, + {'1': 'tiltGradient', '3': 4, '4': 1, '5': 17, '8': {}, '10': 'tiltGradient'}, + ], +}; + +/// Descriptor for `DeviceTiltConfigPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deviceTiltConfigPageDescriptor = $convert.base64Decode( + 'ChREZXZpY2VUaWx0Q29uZmlnUGFnZRIgCgt0aWx0RW5hYmxlZBgBIAEoCFILdGlsdEVuYWJsZW' + 'QSLwoPdGlsdEdyYWRpZW50TWluGAIgASgRQgWSPwI4EFIPdGlsdEdyYWRpZW50TWluEi8KD3Rp' + 'bHRHcmFkaWVudE1heBgDIAEoEUIFkj8COBBSD3RpbHRHcmFkaWVudE1heBIpCgx0aWx0R3JhZG' + 'llbnQYBCABKBFCBZI/AjgQUgx0aWx0R3JhZGllbnQ='); + +@$core.Deprecated('Use controllerInputConfigPageDescriptor instead') +const ControllerInputConfigPage$json = { + '1': 'ControllerInputConfigPage', + '2': [ + {'1': 'supportedDigitalInputs', '3': 1, '4': 1, '5': 13, '10': 'supportedDigitalInputs'}, + {'1': 'supportedAnalogInputs', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'supportedAnalogInputs'}, + {'1': 'analogInputRange', '3': 3, '4': 3, '5': 11, '6': '.Zp.InputAnalogRange', '8': {}, '10': 'analogInputRange'}, + {'1': 'analogDeadZone', '3': 4, '4': 3, '5': 11, '6': '.Zp.InputAnalogDeadzone', '8': {}, '10': 'analogDeadZone'}, + ], +}; + +/// Descriptor for `ControllerInputConfigPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List controllerInputConfigPageDescriptor = $convert.base64Decode( + 'ChlDb250cm9sbGVySW5wdXRDb25maWdQYWdlEjYKFnN1cHBvcnRlZERpZ2l0YWxJbnB1dHMYAS' + 'ABKA1SFnN1cHBvcnRlZERpZ2l0YWxJbnB1dHMSOwoVc3VwcG9ydGVkQW5hbG9nSW5wdXRzGAIg' + 'ASgNQgWSPwI4EFIVc3VwcG9ydGVkQW5hbG9nSW5wdXRzEkcKEGFuYWxvZ0lucHV0UmFuZ2UYAy' + 'ADKAsyFC5acC5JbnB1dEFuYWxvZ1JhbmdlQgWSPwIQCFIQYW5hbG9nSW5wdXRSYW5nZRJGCg5h' + 'bmFsb2dEZWFkWm9uZRgEIAMoCzIXLlpwLklucHV0QW5hbG9nRGVhZHpvbmVCBZI/AhAIUg5hbm' + 'Fsb2dEZWFkWm9uZQ=='); + +@$core.Deprecated('Use ipTransportPageDescriptor instead') +const IpTransportPage$json = { + '1': 'IpTransportPage', + '2': [ + {'1': 'ipv4Address', '3': 1, '4': 1, '5': 13, '10': 'ipv4Address'}, + {'1': 'tcpPort', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'tcpPort'}, + ], +}; + +/// Descriptor for `IpTransportPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List ipTransportPageDescriptor = $convert.base64Decode( + 'Cg9JcFRyYW5zcG9ydFBhZ2USIAoLaXB2NEFkZHJlc3MYASABKA1SC2lwdjRBZGRyZXNzEh8KB3' + 'RjcFBvcnQYAiABKA1CBZI/AjgQUgd0Y3BQb3J0'); + +@$core.Deprecated('Use wifiConfigurationPageDescriptor instead') +const WifiConfigurationPage$json = { + '1': 'WifiConfigurationPage', + '2': [ + {'1': 'wifiEnabled', '3': 1, '4': 1, '5': 8, '10': 'wifiEnabled'}, + {'1': 'wifiStatus', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'wifiStatus'}, + {'1': 'wifiSsid', '3': 3, '4': 1, '5': 12, '8': {}, '10': 'wifiSsid'}, + {'1': 'wifiBand', '3': 4, '4': 1, '5': 13, '8': {}, '10': 'wifiBand'}, + {'1': 'wifiRssi', '3': 5, '4': 1, '5': 17, '8': {}, '10': 'wifiRssi'}, + {'1': 'wifiRegionCode', '3': 6, '4': 1, '5': 12, '8': {}, '10': 'wifiRegionCode'}, + ], +}; + +/// Descriptor for `WifiConfigurationPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List wifiConfigurationPageDescriptor = $convert.base64Decode( + 'ChVXaWZpQ29uZmlndXJhdGlvblBhZ2USIAoLd2lmaUVuYWJsZWQYASABKAhSC3dpZmlFbmFibG' + 'VkEiUKCndpZmlTdGF0dXMYAiABKA1CBZI/AjgIUgp3aWZpU3RhdHVzEiEKCHdpZmlTc2lkGAMg' + 'ASgMQgWSPwIIIFIId2lmaVNzaWQSIQoId2lmaUJhbmQYBCABKA1CBZI/AjgIUgh3aWZpQmFuZB' + 'IhCgh3aWZpUnNzaRgFIAEoEUIFkj8COAhSCHdpZmlSc3NpEi0KDndpZmlSZWdpb25Db2RlGAYg' + 'ASgMQgWSPwIIA1IOd2lmaVJlZ2lvbkNvZGU='); + +@$core.Deprecated('Use sensorRelayDataPageDescriptor instead') +const SensorRelayDataPage$json = { + '1': 'SensorRelayDataPage', + '2': [ + {'1': 'supportedSensors', '3': 1, '4': 3, '5': 13, '8': {}, '10': 'supportedSensors'}, + {'1': 'pairedSensors', '3': 2, '4': 3, '5': 13, '8': {}, '10': 'pairedSensors'}, + ], +}; + +/// Descriptor for `SensorRelayDataPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sensorRelayDataPageDescriptor = $convert.base64Decode( + 'ChNTZW5zb3JSZWxheURhdGFQYWdlEjMKEHN1cHBvcnRlZFNlbnNvcnMYASADKA1CB5I/BBAPOA' + 'hSEHN1cHBvcnRlZFNlbnNvcnMSLQoNcGFpcmVkU2Vuc29ycxgCIAMoDUIHkj8EEA84CFINcGFp' + 'cmVkU2Vuc29ycw=='); + +@$core.Deprecated('Use getDescriptor instead') +const Get$json = { + '1': 'Get', + '2': [ + {'1': 'dataObjectId', '3': 1, '4': 2, '5': 13, '8': {}, '10': 'dataObjectId'}, + ], +}; + +/// Descriptor for `Get`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getDescriptor = $convert.base64Decode( + 'CgNHZXQSKQoMZGF0YU9iamVjdElkGAEgAigNQgWSPwI4EFIMZGF0YU9iamVjdElk'); + +@$core.Deprecated('Use devInfoDescriptor instead') +const DevInfo$json = { + '1': 'DevInfo', + '2': [ + {'1': 'devInfo', '3': 1, '4': 2, '5': 11, '6': '.Zp.DevInfoPage', '10': 'devInfo'}, + ], +}; + +/// Descriptor for `DevInfo`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List devInfoDescriptor = $convert.base64Decode( + 'CgdEZXZJbmZvEikKB2RldkluZm8YASACKAsyDy5acC5EZXZJbmZvUGFnZVIHZGV2SW5mbw=='); + +@$core.Deprecated('Use bleSecurityRequestDescriptor instead') +const BleSecurityRequest$json = { + '1': 'BleSecurityRequest', + '2': [ + {'1': 'startSecureConnection', '3': 1, '4': 1, '5': 8, '9': 0, '10': 'startSecureConnection'}, + ], + '8': [ + {'1': 'request'}, + ], +}; + +/// Descriptor for `BleSecurityRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List bleSecurityRequestDescriptor = $convert.base64Decode( + 'ChJCbGVTZWN1cml0eVJlcXVlc3QSNgoVc3RhcnRTZWN1cmVDb25uZWN0aW9uGAEgASgISABSFX' + 'N0YXJ0U2VjdXJlQ29ubmVjdGlvbkIJCgdyZXF1ZXN0'); + +@$core.Deprecated('Use trainerNotificationDescriptor instead') +const TrainerNotification$json = { + '1': 'TrainerNotification', + '2': [ + {'1': 'power', '3': 1, '4': 2, '5': 13, '8': {}, '10': 'power'}, + {'1': 'cadence', '3': 2, '4': 2, '5': 13, '8': {}, '10': 'cadence'}, + {'1': 'bikeSpeed', '3': 3, '4': 2, '5': 13, '8': {}, '10': 'bikeSpeed'}, + {'1': 'averagedPower', '3': 4, '4': 2, '5': 13, '8': {}, '10': 'averagedPower'}, + {'1': 'wheelSpeed', '3': 5, '4': 2, '5': 13, '8': {}, '10': 'wheelSpeed'}, + {'1': 'calculatedRealGearRatio', '3': 6, '4': 1, '5': 13, '8': {}, '10': 'calculatedRealGearRatio'}, + ], +}; + +/// Descriptor for `TrainerNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trainerNotificationDescriptor = $convert.base64Decode( + 'ChNUcmFpbmVyTm90aWZpY2F0aW9uEhsKBXBvd2VyGAEgAigNQgWSPwI4EFIFcG93ZXISHwoHY2' + 'FkZW5jZRgCIAIoDUIFkj8COBBSB2NhZGVuY2USIwoJYmlrZVNwZWVkGAMgAigNQgWSPwI4EFIJ' + 'YmlrZVNwZWVkEisKDWF2ZXJhZ2VkUG93ZXIYBCACKA1CBZI/AjgQUg1hdmVyYWdlZFBvd2VyEi' + 'UKCndoZWVsU3BlZWQYBSACKA1CBZI/AjgQUgp3aGVlbFNwZWVkEj8KF2NhbGN1bGF0ZWRSZWFs' + 'R2VhclJhdGlvGAYgASgNQgWSPwI4EFIXY2FsY3VsYXRlZFJlYWxHZWFyUmF0aW8='); + +@$core.Deprecated('Use trainerConfigSetDescriptor instead') +const TrainerConfigSet$json = { + '1': 'TrainerConfigSet', + '2': [ + {'1': 'configuredResistance', '3': 2, '4': 1, '5': 13, '8': {}, '9': 0, '10': 'configuredResistance'}, + {'1': 'ergPower', '3': 3, '4': 1, '5': 13, '8': {}, '9': 0, '10': 'ergPower'}, + {'1': 'envSim', '3': 4, '4': 1, '5': 11, '6': '.Zp.TrainerEnvSim', '9': 0, '10': 'envSim'}, + {'1': 'bikeSim', '3': 5, '4': 1, '5': 11, '6': '.Zp.TrainerBikeSim', '9': 0, '10': 'bikeSim'}, + {'1': 'averagingWindow', '3': 6, '4': 1, '5': 13, '8': {}, '9': 0, '10': 'averagingWindow'}, + {'1': 'trainerOptions', '3': 7, '4': 1, '5': 11, '6': '.Zp.TrainerOptions', '9': 0, '10': 'trainerOptions'}, + ], + '8': [ + {'1': 'config'}, + ], + '9': [ + {'1': 1, '2': 2}, + ], +}; + +/// Descriptor for `TrainerConfigSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trainerConfigSetDescriptor = $convert.base64Decode( + 'ChBUcmFpbmVyQ29uZmlnU2V0EjsKFGNvbmZpZ3VyZWRSZXNpc3RhbmNlGAIgASgNQgWSPwI4EE' + 'gAUhRjb25maWd1cmVkUmVzaXN0YW5jZRIjCghlcmdQb3dlchgDIAEoDUIFkj8COBBIAFIIZXJn' + 'UG93ZXISKwoGZW52U2ltGAQgASgLMhEuWnAuVHJhaW5lckVudlNpbUgAUgZlbnZTaW0SLgoHYm' + 'lrZVNpbRgFIAEoCzISLlpwLlRyYWluZXJCaWtlU2ltSABSB2Jpa2VTaW0SMQoPYXZlcmFnaW5n' + 'V2luZG93GAYgASgNQgWSPwI4EEgAUg9hdmVyYWdpbmdXaW5kb3cSPAoOdHJhaW5lck9wdGlvbn' + 'MYByABKAsyEi5acC5UcmFpbmVyT3B0aW9uc0gAUg50cmFpbmVyT3B0aW9uc0IICgZjb25maWdK' + 'BAgBEAI='); + +@$core.Deprecated('Use trainerConfigStatusDescriptor instead') +const TrainerConfigStatus$json = { + '1': 'TrainerConfigStatus', + '2': [ + {'1': 'trainerCfg', '3': 1, '4': 2, '5': 11, '6': '.Zp.TrainerCfgPage', '10': 'trainerCfg'}, + ], +}; + +/// Descriptor for `TrainerConfigStatus`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List trainerConfigStatusDescriptor = $convert.base64Decode( + 'ChNUcmFpbmVyQ29uZmlnU3RhdHVzEjIKCnRyYWluZXJDZmcYASACKAsyEi5acC5UcmFpbmVyQ2' + 'ZnUGFnZVIKdHJhaW5lckNmZw=='); + +@$core.Deprecated('Use devInfoSetDescriptor instead') +const DevInfoSet$json = { + '1': 'DevInfoSet', + '2': [ + {'1': 'deviceName', '3': 1, '4': 1, '5': 12, '8': {}, '9': 0, '10': 'deviceName'}, + ], + '8': [ + {'1': 'devInfo'}, + ], +}; + +/// Descriptor for `DevInfoSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List devInfoSetDescriptor = $convert.base64Decode( + 'CgpEZXZJbmZvU2V0EicKCmRldmljZU5hbWUYASABKAxCBZI/AggMSABSCmRldmljZU5hbWVCCQ' + 'oHZGV2SW5mbw=='); + +@$core.Deprecated('Use resetDescriptor instead') +const Reset$json = { + '1': 'Reset', + '2': [ + {'1': 'resetProcedure', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'resetProcedure'}, + ], +}; + +/// Descriptor for `Reset`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List resetDescriptor = $convert.base64Decode( + 'CgVSZXNldBItCg5yZXNldFByb2NlZHVyZRgBIAEoDUIFkj8COAhSDnJlc2V0UHJvY2VkdXJl'); + +@$core.Deprecated('Use batteryNotificationDescriptor instead') +const BatteryNotification$json = { + '1': 'BatteryNotification', + '2': [ + {'1': 'newChgState', '3': 1, '4': 1, '5': 14, '6': '.Zp.ChargingState', '9': 0, '10': 'newChgState'}, + {'1': 'newPercLevel', '3': 2, '4': 1, '5': 13, '8': {}, '9': 0, '10': 'newPercLevel'}, + {'1': 'source', '3': 3, '4': 1, '5': 13, '8': {}, '10': 'source'}, + ], + '8': [ + {'1': 'alert'}, + ], +}; + +/// Descriptor for `BatteryNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batteryNotificationDescriptor = $convert.base64Decode( + 'ChNCYXR0ZXJ5Tm90aWZpY2F0aW9uEjUKC25ld0NoZ1N0YXRlGAEgASgOMhEuWnAuQ2hhcmdpbm' + 'dTdGF0ZUgAUgtuZXdDaGdTdGF0ZRIrCgxuZXdQZXJjTGV2ZWwYAiABKA1CBZI/AjgISABSDG5l' + 'd1BlcmNMZXZlbBIdCgZzb3VyY2UYAyABKA1CBZI/AjgIUgZzb3VyY2VCBwoFYWxlcnQ='); + +@$core.Deprecated('Use batteryStatusDescriptor instead') +const BatteryStatus$json = { + '1': 'BatteryStatus', + '2': [ + {'1': 'chgState', '3': 1, '4': 2, '5': 14, '6': '.Zp.ChargingState', '10': 'chgState'}, + {'1': 'percLevel', '3': 2, '4': 2, '5': 13, '8': {}, '10': 'percLevel'}, + {'1': 'timeToEmpty', '3': 3, '4': 2, '5': 13, '8': {}, '10': 'timeToEmpty'}, + {'1': 'timeToFull', '3': 4, '4': 2, '5': 13, '8': {}, '10': 'timeToFull'}, + ], +}; + +/// Descriptor for `BatteryStatus`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List batteryStatusDescriptor = $convert.base64Decode( + 'Cg1CYXR0ZXJ5U3RhdHVzEi0KCGNoZ1N0YXRlGAEgAigOMhEuWnAuQ2hhcmdpbmdTdGF0ZVIIY2' + 'hnU3RhdGUSIwoJcGVyY0xldmVsGAIgAigNQgWSPwI4CFIJcGVyY0xldmVsEicKC3RpbWVUb0Vt' + 'cHR5GAMgAigNQgWSPwI4EFILdGltZVRvRW1wdHkSJQoKdGltZVRvRnVsbBgEIAIoDUIFkj8COB' + 'BSCnRpbWVUb0Z1bGw='); + +@$core.Deprecated('Use controllerNotificationDescriptor instead') +const ControllerNotification$json = { + '1': 'ControllerNotification', + '2': [ + {'1': 'buttonEvent', '3': 1, '4': 1, '5': 13, '10': 'buttonEvent'}, + {'1': 'analogEventList', '3': 3, '4': 3, '5': 11, '6': '.Zp.ControllerAnalogEvent', '8': {}, '10': 'analogEventList'}, + ], + '9': [ + {'1': 2, '2': 3}, + ], +}; + +/// Descriptor for `ControllerNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List controllerNotificationDescriptor = $convert.base64Decode( + 'ChZDb250cm9sbGVyTm90aWZpY2F0aW9uEiAKC2J1dHRvbkV2ZW50GAEgASgNUgtidXR0b25Fdm' + 'VudBJKCg9hbmFsb2dFdmVudExpc3QYAyADKAsyGS5acC5Db250cm9sbGVyQW5hbG9nRXZlbnRC' + 'BZI/AhAIUg9hbmFsb2dFdmVudExpc3RKBAgCEAM='); + +@$core.Deprecated('Use logDataNotificationDescriptor instead') +const LogDataNotification$json = { + '1': 'LogDataNotification', + '2': [ + {'1': 'logLevel', '3': 1, '4': 2, '5': 14, '6': '.Zp.LogLevel', '10': 'logLevel'}, + {'1': 'dataLogObject', '3': 2, '4': 2, '5': 11, '6': '.Zp.LogDataNotification.DataLogObject', '10': 'dataLogObject'}, + ], + '3': [LogDataNotification_ConnectionParameters$json, LogDataNotification_EnergySurveySummary$json, LogDataNotification_DataLogObject$json], +}; + +@$core.Deprecated('Use logDataNotificationDescriptor instead') +const LogDataNotification_ConnectionParameters$json = { + '1': 'ConnectionParameters', + '2': [ + {'1': 'interval', '3': 1, '4': 2, '5': 13, '8': {}, '10': 'interval'}, + {'1': 'latency', '3': 2, '4': 2, '5': 13, '8': {}, '10': 'latency'}, + {'1': 'supervisorTimeout', '3': 3, '4': 2, '5': 13, '8': {}, '10': 'supervisorTimeout'}, + {'1': 'bleChannelMap', '3': 4, '4': 2, '5': 12, '8': {}, '10': 'bleChannelMap'}, + {'1': 'mtuSize', '3': 5, '4': 1, '5': 13, '8': {}, '10': 'mtuSize'}, + ], +}; + +@$core.Deprecated('Use logDataNotificationDescriptor instead') +const LogDataNotification_EnergySurveySummary$json = { + '1': 'EnergySurveySummary', + '2': [ + {'1': 'samples', '3': 1, '4': 2, '5': 13, '8': {}, '10': 'samples'}, + {'1': 'averageEnergy', '3': 2, '4': 2, '5': 12, '8': {}, '10': 'averageEnergy'}, + ], +}; + +@$core.Deprecated('Use logDataNotificationDescriptor instead') +const LogDataNotification_DataLogObject$json = { + '1': 'DataLogObject', + '2': [ + {'1': 'logData', '3': 1, '4': 1, '5': 12, '8': {}, '9': 0, '10': 'logData'}, + {'1': 'connectionParam', '3': 2, '4': 1, '5': 11, '6': '.Zp.LogDataNotification.ConnectionParameters', '9': 0, '10': 'connectionParam'}, + {'1': 'energySurvey', '3': 3, '4': 1, '5': 11, '6': '.Zp.LogDataNotification.EnergySurveySummary', '9': 0, '10': 'energySurvey'}, + {'1': 'logString', '3': 4, '4': 1, '5': 12, '8': {}, '9': 0, '10': 'logString'}, + ], + '8': [ + {'1': 'event'}, + ], +}; + +/// Descriptor for `LogDataNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logDataNotificationDescriptor = $convert.base64Decode( + 'ChNMb2dEYXRhTm90aWZpY2F0aW9uEigKCGxvZ0xldmVsGAEgAigOMgwuWnAuTG9nTGV2ZWxSCG' + 'xvZ0xldmVsEksKDWRhdGFMb2dPYmplY3QYAiACKAsyJS5acC5Mb2dEYXRhTm90aWZpY2F0aW9u' + 'LkRhdGFMb2dPYmplY3RSDWRhdGFMb2dPYmplY3Qa3wEKFENvbm5lY3Rpb25QYXJhbWV0ZXJzEi' + 'EKCGludGVydmFsGAEgAigNQgWSPwI4EFIIaW50ZXJ2YWwSHwoHbGF0ZW5jeRgCIAIoDUIFkj8C' + 'OBBSB2xhdGVuY3kSMwoRc3VwZXJ2aXNvclRpbWVvdXQYAyACKA1CBZI/AjgQUhFzdXBlcnZpc2' + '9yVGltZW91dBItCg1ibGVDaGFubmVsTWFwGAQgAigMQgeSPwQIBXgBUg1ibGVDaGFubmVsTWFw' + 'Eh8KB210dVNpemUYBSABKA1CBZI/AjgQUgdtdHVTaXplGmUKE0VuZXJneVN1cnZleVN1bW1hcn' + 'kSHwoHc2FtcGxlcxgBIAIoDUIFkj8COBBSB3NhbXBsZXMSLQoNYXZlcmFnZUVuZXJneRgCIAIo' + 'DEIHkj8ECCh4AVINYXZlcmFnZUVuZXJneRqRAgoNRGF0YUxvZ09iamVjdBIiCgdsb2dEYXRhGA' + 'EgASgMQgaSPwMIgAFIAFIHbG9nRGF0YRJYCg9jb25uZWN0aW9uUGFyYW0YAiABKAsyLC5acC5M' + 'b2dEYXRhTm90aWZpY2F0aW9uLkNvbm5lY3Rpb25QYXJhbWV0ZXJzSABSD2Nvbm5lY3Rpb25QYX' + 'JhbRJRCgxlbmVyZ3lTdXJ2ZXkYAyABKAsyKy5acC5Mb2dEYXRhTm90aWZpY2F0aW9uLkVuZXJn' + 'eVN1cnZleVN1bW1hcnlIAFIMZW5lcmd5U3VydmV5EiYKCWxvZ1N0cmluZxgEIAEoDEIGkj8DCO' + '0BSABSCWxvZ1N0cmluZ0IHCgVldmVudA=='); + +@$core.Deprecated('Use spindownRequestDescriptor instead') +const SpindownRequest$json = { + '1': 'SpindownRequest', + '2': [ + {'1': 'startSpindown', '3': 1, '4': 1, '5': 11, '6': '.Zp.SpindownRequest.StartSpindown', '9': 0, '10': 'startSpindown'}, + {'1': 'ignoreSpindown', '3': 2, '4': 1, '5': 11, '6': '.Zp.SpindownRequest.IgnoreSpindown', '9': 0, '10': 'ignoreSpindown'}, + ], + '3': [SpindownRequest_StartSpindown$json, SpindownRequest_IgnoreSpindown$json], + '8': [ + {'1': 'request'}, + ], +}; + +@$core.Deprecated('Use spindownRequestDescriptor instead') +const SpindownRequest_StartSpindown$json = { + '1': 'StartSpindown', + '2': [ + {'1': 'enable', '3': 1, '4': 2, '5': 8, '10': 'enable'}, + ], +}; + +@$core.Deprecated('Use spindownRequestDescriptor instead') +const SpindownRequest_IgnoreSpindown$json = { + '1': 'IgnoreSpindown', + '2': [ + {'1': 'enable', '3': 1, '4': 2, '5': 8, '10': 'enable'}, + ], +}; + +/// Descriptor for `SpindownRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List spindownRequestDescriptor = $convert.base64Decode( + 'Cg9TcGluZG93blJlcXVlc3QSSQoNc3RhcnRTcGluZG93bhgBIAEoCzIhLlpwLlNwaW5kb3duUm' + 'VxdWVzdC5TdGFydFNwaW5kb3duSABSDXN0YXJ0U3BpbmRvd24STAoOaWdub3JlU3BpbmRvd24Y' + 'AiABKAsyIi5acC5TcGluZG93blJlcXVlc3QuSWdub3JlU3BpbmRvd25IAFIOaWdub3JlU3Bpbm' + 'Rvd24aJwoNU3RhcnRTcGluZG93bhIWCgZlbmFibGUYASACKAhSBmVuYWJsZRooCg5JZ25vcmVT' + 'cGluZG93bhIWCgZlbmFibGUYASACKAhSBmVuYWJsZUIJCgdyZXF1ZXN0'); + +@$core.Deprecated('Use spindownNotificationDescriptor instead') +const SpindownNotification$json = { + '1': 'SpindownNotification', + '2': [ + {'1': 'manualSpindownStatus', '3': 1, '4': 1, '5': 11, '6': '.Zp.SpindownNotification.ManualSpindownStatus', '9': 0, '10': 'manualSpindownStatus'}, + {'1': 'autoSpindownStatus', '3': 2, '4': 1, '5': 11, '6': '.Zp.SpindownNotification.AutoSpindownStatus', '9': 0, '10': 'autoSpindownStatus'}, + ], + '3': [SpindownNotification_ManualSpindownStatus$json, SpindownNotification_AutoSpindownStatus$json], + '8': [ + {'1': 'event'}, + ], +}; + +@$core.Deprecated('Use spindownNotificationDescriptor instead') +const SpindownNotification_ManualSpindownStatus$json = { + '1': 'ManualSpindownStatus', + '2': [ + {'1': 'spindownStatus', '3': 1, '4': 2, '5': 14, '6': '.Zp.SpindownStatus', '10': 'spindownStatus'}, + {'1': 'targetSpeedLow', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'targetSpeedLow'}, + {'1': 'targetSpeedHigh', '3': 3, '4': 1, '5': 13, '8': {}, '10': 'targetSpeedHigh'}, + ], +}; + +@$core.Deprecated('Use spindownNotificationDescriptor instead') +const SpindownNotification_AutoSpindownStatus$json = { + '1': 'AutoSpindownStatus', + '2': [ + {'1': 'completed', '3': 1, '4': 2, '5': 8, '10': 'completed'}, + ], +}; + +/// Descriptor for `SpindownNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List spindownNotificationDescriptor = $convert.base64Decode( + 'ChRTcGluZG93bk5vdGlmaWNhdGlvbhJjChRtYW51YWxTcGluZG93blN0YXR1cxgBIAEoCzItLl' + 'pwLlNwaW5kb3duTm90aWZpY2F0aW9uLk1hbnVhbFNwaW5kb3duU3RhdHVzSABSFG1hbnVhbFNw' + 'aW5kb3duU3RhdHVzEl0KEmF1dG9TcGluZG93blN0YXR1cxgCIAEoCzIrLlpwLlNwaW5kb3duTm' + '90aWZpY2F0aW9uLkF1dG9TcGluZG93blN0YXR1c0gAUhJhdXRvU3BpbmRvd25TdGF0dXMasgEK' + 'FE1hbnVhbFNwaW5kb3duU3RhdHVzEjoKDnNwaW5kb3duU3RhdHVzGAEgAigOMhIuWnAuU3Bpbm' + 'Rvd25TdGF0dXNSDnNwaW5kb3duU3RhdHVzEi0KDnRhcmdldFNwZWVkTG93GAIgASgNQgWSPwI4' + 'EFIOdGFyZ2V0U3BlZWRMb3cSLwoPdGFyZ2V0U3BlZWRIaWdoGAMgASgNQgWSPwI4EFIPdGFyZ2' + 'V0U3BlZWRIaWdoGjIKEkF1dG9TcGluZG93blN0YXR1cxIcCgljb21wbGV0ZWQYASACKAhSCWNv' + 'bXBsZXRlZEIHCgVldmVudA=='); + +@$core.Deprecated('Use getResponseDescriptor instead') +const GetResponse$json = { + '1': 'GetResponse', + '2': [ + {'1': 'dataObjectId', '3': 1, '4': 2, '5': 13, '8': {}, '10': 'dataObjectId'}, + {'1': 'dataObjectData', '3': 2, '4': 1, '5': 12, '8': {}, '10': 'dataObjectData'}, + ], +}; + +/// Descriptor for `GetResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List getResponseDescriptor = $convert.base64Decode( + 'CgtHZXRSZXNwb25zZRIpCgxkYXRhT2JqZWN0SWQYASACKA1CBZI/AjgQUgxkYXRhT2JqZWN0SW' + 'QSLgoOZGF0YU9iamVjdERhdGEYAiABKAxCBpI/AwjtAVIOZGF0YU9iamVjdERhdGE='); + +@$core.Deprecated('Use statusResponseDescriptor instead') +const StatusResponse$json = { + '1': 'StatusResponse', + '2': [ + {'1': 'command', '3': 1, '4': 2, '5': 13, '8': {}, '10': 'command'}, + {'1': 'status', '3': 2, '4': 2, '5': 13, '8': {}, '10': 'status'}, + ], +}; + +/// Descriptor for `StatusResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List statusResponseDescriptor = $convert.base64Decode( + 'Cg5TdGF0dXNSZXNwb25zZRIfCgdjb21tYW5kGAEgAigNQgWSPwI4CFIHY29tbWFuZBIdCgZzdG' + 'F0dXMYAiACKA1CBZI/AjgIUgZzdGF0dXM='); + +@$core.Deprecated('Use setDescriptor instead') +const Set$json = { + '1': 'Set', + '2': [ + {'1': 'options', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'options'}, + {'1': 'msgId', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'msgId'}, + {'1': 'devInfo', '3': 3, '4': 1, '5': 11, '6': '.Zp.DevInfoSet', '9': 0, '10': 'devInfo'}, + {'1': 'trainerSimParam', '3': 4, '4': 1, '5': 11, '6': '.Zp.TrainerSimulationParam', '9': 0, '10': 'trainerSimParam'}, + {'1': 'trainerOptions', '3': 5, '4': 1, '5': 11, '6': '.Zp.TrainerOptions', '9': 0, '10': 'trainerOptions'}, + {'1': 'deviceTiltConfig', '3': 6, '4': 1, '5': 11, '6': '.Zp.DeviceTiltConfigPage', '9': 0, '10': 'deviceTiltConfig'}, + {'1': 'controllerInputConfig', '3': 7, '4': 1, '5': 11, '6': '.Zp.ControllerInputConfigPage', '9': 0, '10': 'controllerInputConfig'}, + {'1': 'trainerGearIndexConfig', '3': 8, '4': 1, '5': 11, '6': '.Zp.TrainerGearIndexConfigPage', '9': 0, '10': 'trainerGearIndexConfig'}, + {'1': 'wifiConfig', '3': 10, '4': 1, '5': 11, '6': '.Zp.WifiConfigurationPage', '9': 0, '10': 'wifiConfig'}, + {'1': 'dateTimeConfig', '3': 11, '4': 1, '5': 11, '6': '.Zp.DateTimePage', '9': 0, '10': 'dateTimeConfig'}, + ], + '8': [ + {'1': 'set'}, + ], + '9': [ + {'1': 9, '2': 10}, + ], +}; + +/// Descriptor for `Set`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List setDescriptor = $convert.base64Decode( + 'CgNTZXQSHwoHb3B0aW9ucxgBIAEoDUIFkj8COAhSB29wdGlvbnMSGwoFbXNnSWQYAiABKA1CBZ' + 'I/AjgIUgVtc2dJZBIqCgdkZXZJbmZvGAMgASgLMg4uWnAuRGV2SW5mb1NldEgAUgdkZXZJbmZv' + 'EkYKD3RyYWluZXJTaW1QYXJhbRgEIAEoCzIaLlpwLlRyYWluZXJTaW11bGF0aW9uUGFyYW1IAF' + 'IPdHJhaW5lclNpbVBhcmFtEjwKDnRyYWluZXJPcHRpb25zGAUgASgLMhIuWnAuVHJhaW5lck9w' + 'dGlvbnNIAFIOdHJhaW5lck9wdGlvbnMSRgoQZGV2aWNlVGlsdENvbmZpZxgGIAEoCzIYLlpwLk' + 'RldmljZVRpbHRDb25maWdQYWdlSABSEGRldmljZVRpbHRDb25maWcSVQoVY29udHJvbGxlcklu' + 'cHV0Q29uZmlnGAcgASgLMh0uWnAuQ29udHJvbGxlcklucHV0Q29uZmlnUGFnZUgAUhVjb250cm' + '9sbGVySW5wdXRDb25maWcSWAoWdHJhaW5lckdlYXJJbmRleENvbmZpZxgIIAEoCzIeLlpwLlRy' + 'YWluZXJHZWFySW5kZXhDb25maWdQYWdlSABSFnRyYWluZXJHZWFySW5kZXhDb25maWcSOwoKd2' + 'lmaUNvbmZpZxgKIAEoCzIZLlpwLldpZmlDb25maWd1cmF0aW9uUGFnZUgAUgp3aWZpQ29uZmln' + 'EjoKDmRhdGVUaW1lQ29uZmlnGAsgASgLMhAuWnAuRGF0ZVRpbWVQYWdlSABSDmRhdGVUaW1lQ2' + '9uZmlnQgUKA3NldEoECAkQCg=='); + +@$core.Deprecated('Use setResponseDescriptor instead') +const SetResponse$json = { + '1': 'SetResponse', + '2': [ + {'1': 'status', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'status'}, + {'1': 'msgId', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'msgId'}, + {'1': 'response', '3': 3, '4': 1, '5': 11, '6': '.Zp.SetResponse.Response', '10': 'response'}, + ], + '3': [SetResponse_Response$json], + '9': [ + {'1': 7, '2': 8}, + ], +}; + +@$core.Deprecated('Use setResponseDescriptor instead') +const SetResponse_Response$json = { + '1': 'Response', + '2': [ + {'1': 'devInfo', '3': 1, '4': 1, '5': 11, '6': '.Zp.DevInfoPage', '9': 0, '10': 'devInfo'}, + {'1': 'trainerSimParam', '3': 2, '4': 1, '5': 11, '6': '.Zp.TrainerSimulationParam', '9': 0, '10': 'trainerSimParam'}, + {'1': 'trainerOptions', '3': 3, '4': 1, '5': 11, '6': '.Zp.TrainerOptions', '9': 0, '10': 'trainerOptions'}, + {'1': 'deviceTiltConfig', '3': 4, '4': 1, '5': 11, '6': '.Zp.DeviceTiltConfigPage', '9': 0, '10': 'deviceTiltConfig'}, + {'1': 'controllerInputConfig', '3': 5, '4': 1, '5': 11, '6': '.Zp.ControllerInputConfigPage', '9': 0, '10': 'controllerInputConfig'}, + {'1': 'trainerGearIndexConfig', '3': 6, '4': 1, '5': 11, '6': '.Zp.TrainerGearIndexConfigPage', '9': 0, '10': 'trainerGearIndexConfig'}, + {'1': 'wifiConfig', '3': 8, '4': 1, '5': 11, '6': '.Zp.WifiConfigurationPage', '9': 0, '10': 'wifiConfig'}, + {'1': 'dateTimeConfig', '3': 9, '4': 1, '5': 11, '6': '.Zp.DateTimePage', '9': 0, '10': 'dateTimeConfig'}, + ], + '8': [ + {'1': 'page'}, + ], +}; + +/// Descriptor for `SetResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List setResponseDescriptor = $convert.base64Decode( + 'CgtTZXRSZXNwb25zZRIdCgZzdGF0dXMYASABKA1CBZI/AjgIUgZzdGF0dXMSGwoFbXNnSWQYAi' + 'ABKA1CBZI/AjgIUgVtc2dJZBI0CghyZXNwb25zZRgDIAEoCzIYLlpwLlNldFJlc3BvbnNlLlJl' + 'c3BvbnNlUghyZXNwb25zZRq3BAoIUmVzcG9uc2USKwoHZGV2SW5mbxgBIAEoCzIPLlpwLkRldk' + 'luZm9QYWdlSABSB2RldkluZm8SRgoPdHJhaW5lclNpbVBhcmFtGAIgASgLMhouWnAuVHJhaW5l' + 'clNpbXVsYXRpb25QYXJhbUgAUg90cmFpbmVyU2ltUGFyYW0SPAoOdHJhaW5lck9wdGlvbnMYAy' + 'ABKAsyEi5acC5UcmFpbmVyT3B0aW9uc0gAUg50cmFpbmVyT3B0aW9ucxJGChBkZXZpY2VUaWx0' + 'Q29uZmlnGAQgASgLMhguWnAuRGV2aWNlVGlsdENvbmZpZ1BhZ2VIAFIQZGV2aWNlVGlsdENvbm' + 'ZpZxJVChVjb250cm9sbGVySW5wdXRDb25maWcYBSABKAsyHS5acC5Db250cm9sbGVySW5wdXRD' + 'b25maWdQYWdlSABSFWNvbnRyb2xsZXJJbnB1dENvbmZpZxJYChZ0cmFpbmVyR2VhckluZGV4Q2' + '9uZmlnGAYgASgLMh4uWnAuVHJhaW5lckdlYXJJbmRleENvbmZpZ1BhZ2VIAFIWdHJhaW5lckdl' + 'YXJJbmRleENvbmZpZxI7Cgp3aWZpQ29uZmlnGAggASgLMhkuWnAuV2lmaUNvbmZpZ3VyYXRpb2' + '5QYWdlSABSCndpZmlDb25maWcSOgoOZGF0ZVRpbWVDb25maWcYCSABKAsyEC5acC5EYXRlVGlt' + 'ZVBhZ2VIAFIOZGF0ZVRpbWVDb25maWdCBgoEcGFnZUoECAcQCA=='); + +@$core.Deprecated('Use logLevelSetDescriptor instead') +const LogLevelSet$json = { + '1': 'LogLevelSet', + '2': [ + {'1': 'logLevel', '3': 1, '4': 1, '5': 14, '6': '.Zp.LogLevel', '10': 'logLevel'}, + ], +}; + +/// Descriptor for `LogLevelSet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List logLevelSetDescriptor = $convert.base64Decode( + 'CgtMb2dMZXZlbFNldBIoCghsb2dMZXZlbBgBIAEoDjIMLlpwLkxvZ0xldmVsUghsb2dMZXZlbA' + '=='); + +@$core.Deprecated('Use dataChangeNotificationDescriptor instead') +const DataChangeNotification$json = { + '1': 'DataChangeNotification', + '2': [ + {'1': 'devInfo', '3': 1, '4': 1, '5': 11, '6': '.Zp.DevInfoPage', '9': 0, '10': 'devInfo'}, + {'1': 'trainerSimParam', '3': 2, '4': 1, '5': 11, '6': '.Zp.TrainerSimulationParam', '9': 0, '10': 'trainerSimParam'}, + {'1': 'trainerOptions', '3': 3, '4': 1, '5': 11, '6': '.Zp.TrainerOptions', '9': 0, '10': 'trainerOptions'}, + {'1': 'deviceTiltConfig', '3': 4, '4': 1, '5': 11, '6': '.Zp.DeviceTiltConfigPage', '9': 0, '10': 'deviceTiltConfig'}, + {'1': 'controllerInputConfig', '3': 5, '4': 1, '5': 11, '6': '.Zp.ControllerInputConfigPage', '9': 0, '10': 'controllerInputConfig'}, + {'1': 'trainerGearIndexConfig', '3': 6, '4': 1, '5': 11, '6': '.Zp.TrainerGearIndexConfigPage', '9': 0, '10': 'trainerGearIndexConfig'}, + {'1': 'wifiConfig', '3': 8, '4': 1, '5': 11, '6': '.Zp.WifiConfigurationPage', '9': 0, '10': 'wifiConfig'}, + {'1': 'deviceUpdatePage', '3': 9, '4': 1, '5': 11, '6': '.Zp.DeviceUpdatePage', '9': 0, '10': 'deviceUpdatePage'}, + {'1': 'dateTimePage', '3': 10, '4': 1, '5': 11, '6': '.Zp.DateTimePage', '9': 0, '10': 'dateTimePage'}, + {'1': 'bleSecurityPage', '3': 11, '4': 1, '5': 11, '6': '.Zp.BleSecurityPage', '9': 0, '10': 'bleSecurityPage'}, + ], + '8': [ + {'1': 'notification'}, + ], + '9': [ + {'1': 7, '2': 8}, + ], +}; + +/// Descriptor for `DataChangeNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List dataChangeNotificationDescriptor = $convert.base64Decode( + 'ChZEYXRhQ2hhbmdlTm90aWZpY2F0aW9uEisKB2RldkluZm8YASABKAsyDy5acC5EZXZJbmZvUG' + 'FnZUgAUgdkZXZJbmZvEkYKD3RyYWluZXJTaW1QYXJhbRgCIAEoCzIaLlpwLlRyYWluZXJTaW11' + 'bGF0aW9uUGFyYW1IAFIPdHJhaW5lclNpbVBhcmFtEjwKDnRyYWluZXJPcHRpb25zGAMgASgLMh' + 'IuWnAuVHJhaW5lck9wdGlvbnNIAFIOdHJhaW5lck9wdGlvbnMSRgoQZGV2aWNlVGlsdENvbmZp' + 'ZxgEIAEoCzIYLlpwLkRldmljZVRpbHRDb25maWdQYWdlSABSEGRldmljZVRpbHRDb25maWcSVQ' + 'oVY29udHJvbGxlcklucHV0Q29uZmlnGAUgASgLMh0uWnAuQ29udHJvbGxlcklucHV0Q29uZmln' + 'UGFnZUgAUhVjb250cm9sbGVySW5wdXRDb25maWcSWAoWdHJhaW5lckdlYXJJbmRleENvbmZpZx' + 'gGIAEoCzIeLlpwLlRyYWluZXJHZWFySW5kZXhDb25maWdQYWdlSABSFnRyYWluZXJHZWFySW5k' + 'ZXhDb25maWcSOwoKd2lmaUNvbmZpZxgIIAEoCzIZLlpwLldpZmlDb25maWd1cmF0aW9uUGFnZU' + 'gAUgp3aWZpQ29uZmlnEkIKEGRldmljZVVwZGF0ZVBhZ2UYCSABKAsyFC5acC5EZXZpY2VVcGRh' + 'dGVQYWdlSABSEGRldmljZVVwZGF0ZVBhZ2USNgoMZGF0ZVRpbWVQYWdlGAogASgLMhAuWnAuRG' + 'F0ZVRpbWVQYWdlSABSDGRhdGVUaW1lUGFnZRI/Cg9ibGVTZWN1cml0eVBhZ2UYCyABKAsyEy5a' + 'cC5CbGVTZWN1cml0eVBhZ2VIAFIPYmxlU2VjdXJpdHlQYWdlQg4KDG5vdGlmaWNhdGlvbkoECA' + 'cQCA=='); + +@$core.Deprecated('Use gameStateNotificationDescriptor instead') +const GameStateNotification$json = { + '1': 'GameStateNotification', + '2': [ + {'1': 'gameSpeed', '3': 1, '4': 1, '5': 11, '6': '.Zp.GameStateNotification.GameSpeed', '9': 0, '10': 'gameSpeed'}, + {'1': 'roadSurface', '3': 2, '4': 1, '5': 11, '6': '.Zp.GameStateNotification.RoadSurface', '9': 0, '10': 'roadSurface'}, + ], + '3': [GameStateNotification_GameSpeed$json, GameStateNotification_RoadSurface$json], + '8': [ + {'1': 'notification'}, + ], +}; + +@$core.Deprecated('Use gameStateNotificationDescriptor instead') +const GameStateNotification_GameSpeed$json = { + '1': 'GameSpeed', + '2': [ + {'1': 'normalisedSpeed', '3': 1, '4': 1, '5': 17, '8': {}, '10': 'normalisedSpeed'}, + {'1': 'speed', '3': 2, '4': 1, '5': 17, '8': {}, '10': 'speed'}, + ], +}; + +@$core.Deprecated('Use gameStateNotificationDescriptor instead') +const GameStateNotification_RoadSurface$json = { + '1': 'RoadSurface', + '2': [ + {'1': 'roadSurfaceType', '3': 1, '4': 1, '5': 14, '6': '.Zp.RoadSurfaceType', '10': 'roadSurfaceType'}, + {'1': 'roughness', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'roughness'}, + ], +}; + +/// Descriptor for `GameStateNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List gameStateNotificationDescriptor = $convert.base64Decode( + 'ChVHYW1lU3RhdGVOb3RpZmljYXRpb24SQwoJZ2FtZVNwZWVkGAEgASgLMiMuWnAuR2FtZVN0YX' + 'RlTm90aWZpY2F0aW9uLkdhbWVTcGVlZEgAUglnYW1lU3BlZWQSSQoLcm9hZFN1cmZhY2UYAiAB' + 'KAsyJS5acC5HYW1lU3RhdGVOb3RpZmljYXRpb24uUm9hZFN1cmZhY2VIAFILcm9hZFN1cmZhY2' + 'UaWQoJR2FtZVNwZWVkEi8KD25vcm1hbGlzZWRTcGVlZBgBIAEoEUIFkj8COAhSD25vcm1hbGlz' + 'ZWRTcGVlZBIbCgVzcGVlZBgCIAEoEUIFkj8COBBSBXNwZWVkGnEKC1JvYWRTdXJmYWNlEj0KD3' + 'JvYWRTdXJmYWNlVHlwZRgBIAEoDjITLlpwLlJvYWRTdXJmYWNlVHlwZVIPcm9hZFN1cmZhY2VU' + 'eXBlEiMKCXJvdWdobmVzcxgCIAEoDUIFkj8COAhSCXJvdWdobmVzc0IOCgxub3RpZmljYXRpb2' + '4='); + +@$core.Deprecated('Use sensorRelayConfigDescriptor instead') +const SensorRelayConfig$json = { + '1': 'SensorRelayConfig', + '2': [ + {'1': 'search', '3': 1, '4': 1, '5': 8, '9': 0, '10': 'search'}, + {'1': 'connect', '3': 2, '4': 1, '5': 13, '8': {}, '9': 0, '10': 'connect'}, + {'1': 'disconnect', '3': 3, '4': 1, '5': 13, '8': {}, '9': 0, '10': 'disconnect'}, + {'1': 'clearAll', '3': 4, '4': 1, '5': 8, '9': 0, '10': 'clearAll'}, + {'1': 'disconnectAll', '3': 5, '4': 1, '5': 8, '9': 0, '10': 'disconnectAll'}, + ], + '8': [ + {'1': 'procedure'}, + ], +}; + +/// Descriptor for `SensorRelayConfig`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sensorRelayConfigDescriptor = $convert.base64Decode( + 'ChFTZW5zb3JSZWxheUNvbmZpZxIYCgZzZWFyY2gYASABKAhIAFIGc2VhcmNoEiEKB2Nvbm5lY3' + 'QYAiABKA1CBZI/AjgISABSB2Nvbm5lY3QSJwoKZGlzY29ubmVjdBgDIAEoDUIFkj8COAhIAFIK' + 'ZGlzY29ubmVjdBIcCghjbGVhckFsbBgEIAEoCEgAUghjbGVhckFsbBImCg1kaXNjb25uZWN0QW' + 'xsGAUgASgISABSDWRpc2Nvbm5lY3RBbGxCCwoJcHJvY2VkdXJl'); + +@$core.Deprecated('Use sensorRelayGetDescriptor instead') +const SensorRelayGet$json = { + '1': 'SensorRelayGet', + '2': [ + {'1': 'pairedSensorInfo', '3': 1, '4': 1, '5': 13, '8': {}, '9': 0, '10': 'pairedSensorInfo'}, + ], + '8': [ + {'1': 'request'}, + ], +}; + +/// Descriptor for `SensorRelayGet`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sensorRelayGetDescriptor = $convert.base64Decode( + 'Cg5TZW5zb3JSZWxheUdldBIzChBwYWlyZWRTZW5zb3JJbmZvGAEgASgNQgWSPwI4CEgAUhBwYW' + 'lyZWRTZW5zb3JJbmZvQgkKB3JlcXVlc3Q='); + +@$core.Deprecated('Use sensorRelayResponseDescriptor instead') +const SensorRelayResponse$json = { + '1': 'SensorRelayResponse', + '2': [ + {'1': 'pairedSensorInfoList', '3': 1, '4': 1, '5': 11, '6': '.Zp.SensorInfoList', '9': 0, '10': 'pairedSensorInfoList'}, + ], + '8': [ + {'1': 'response'}, + ], +}; + +/// Descriptor for `SensorRelayResponse`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sensorRelayResponseDescriptor = $convert.base64Decode( + 'ChNTZW5zb3JSZWxheVJlc3BvbnNlEkgKFHBhaXJlZFNlbnNvckluZm9MaXN0GAEgASgLMhIuWn' + 'AuU2Vuc29ySW5mb0xpc3RIAFIUcGFpcmVkU2Vuc29ySW5mb0xpc3RCCgoIcmVzcG9uc2U='); + +@$core.Deprecated('Use sensorRelayNotificationDescriptor instead') +const SensorRelayNotification$json = { + '1': 'SensorRelayNotification', + '2': [ + {'1': 'newSensor', '3': 1, '4': 1, '5': 11, '6': '.Zp.SensorInfo', '9': 0, '10': 'newSensor'}, + {'1': 'sensorStatus', '3': 2, '4': 1, '5': 11, '6': '.Zp.SensorInfo', '9': 0, '10': 'sensorStatus'}, + ], + '8': [ + {'1': 'notification'}, + ], +}; + +/// Descriptor for `SensorRelayNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List sensorRelayNotificationDescriptor = $convert.base64Decode( + 'ChdTZW5zb3JSZWxheU5vdGlmaWNhdGlvbhIuCgluZXdTZW5zb3IYASABKAsyDi5acC5TZW5zb3' + 'JJbmZvSABSCW5ld1NlbnNvchI0CgxzZW5zb3JTdGF0dXMYAiABKAsyDi5acC5TZW5zb3JJbmZv' + 'SABSDHNlbnNvclN0YXR1c0IOCgxub3RpZmljYXRpb24='); + +@$core.Deprecated('Use hrmDataNotificationDescriptor instead') +const HrmDataNotification$json = { + '1': 'HrmDataNotification', + '2': [ + {'1': 'sensorId', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'sensorId'}, + {'1': 'hrm', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'hrm'}, + {'1': 'energyExpended', '3': 3, '4': 1, '5': 13, '8': {}, '10': 'energyExpended'}, + {'1': 'rrInterval', '3': 4, '4': 3, '5': 13, '8': {}, '10': 'rrInterval'}, + ], +}; + +/// Descriptor for `HrmDataNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List hrmDataNotificationDescriptor = $convert.base64Decode( + 'ChNIcm1EYXRhTm90aWZpY2F0aW9uEiEKCHNlbnNvcklkGAEgASgNQgWSPwI4CFIIc2Vuc29ySW' + 'QSFwoDaHJtGAIgASgNQgWSPwI4EFIDaHJtEi0KDmVuZXJneUV4cGVuZGVkGAMgASgNQgWSPwI4' + 'EFIOZW5lcmd5RXhwZW5kZWQSJQoKcnJJbnRlcnZhbBgEIAMoDUIFkj8CEA9SCnJySW50ZXJ2YW' + 'w='); + +@$core.Deprecated('Use wifiConfigurationRequestDescriptor instead') +const WifiConfigurationRequest$json = { + '1': 'WifiConfigurationRequest', + '2': [ + {'1': 'startScan', '3': 1, '4': 1, '5': 8, '9': 0, '10': 'startScan'}, + {'1': 'connect', '3': 2, '4': 1, '5': 11, '6': '.Zp.WifiNetwork', '9': 0, '10': 'connect'}, + {'1': 'forget', '3': 3, '4': 1, '5': 8, '9': 0, '10': 'forget'}, + {'1': 'setRegionCode', '3': 4, '4': 1, '5': 11, '6': '.Zp.WifiRegionCode', '9': 0, '10': 'setRegionCode'}, + ], + '8': [ + {'1': 'request'}, + ], +}; + +/// Descriptor for `WifiConfigurationRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List wifiConfigurationRequestDescriptor = $convert.base64Decode( + 'ChhXaWZpQ29uZmlndXJhdGlvblJlcXVlc3QSHgoJc3RhcnRTY2FuGAEgASgISABSCXN0YXJ0U2' + 'NhbhIrCgdjb25uZWN0GAIgASgLMg8uWnAuV2lmaU5ldHdvcmtIAFIHY29ubmVjdBIYCgZmb3Jn' + 'ZXQYAyABKAhIAFIGZm9yZ2V0EjoKDXNldFJlZ2lvbkNvZGUYBCABKAsyEi5acC5XaWZpUmVnaW' + '9uQ29kZUgAUg1zZXRSZWdpb25Db2RlQgkKB3JlcXVlc3Q='); + +@$core.Deprecated('Use wifiNotificationDescriptor instead') +const WifiNotification$json = { + '1': 'WifiNotification', + '2': [ + {'1': 'discoveredNetwork', '3': 1, '4': 1, '5': 11, '6': '.Zp.WifiNetworkDetails', '9': 0, '10': 'discoveredNetwork'}, + {'1': 'wifiStatus', '3': 2, '4': 1, '5': 11, '6': '.Zp.WifiNotification.WifiStatus', '9': 0, '10': 'wifiStatus'}, + ], + '3': [WifiNotification_WifiStatus$json], + '8': [ + {'1': 'notification'}, + ], +}; + +@$core.Deprecated('Use wifiNotificationDescriptor instead') +const WifiNotification_WifiStatus$json = { + '1': 'WifiStatus', + '2': [ + {'1': 'wifiStatusCode', '3': 1, '4': 1, '5': 14, '6': '.Zp.WifiStatusCode', '10': 'wifiStatusCode'}, + {'1': 'wifiErrorCode', '3': 2, '4': 1, '5': 14, '6': '.Zp.WifiErrorCode', '10': 'wifiErrorCode'}, + ], +}; + +/// Descriptor for `WifiNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List wifiNotificationDescriptor = $convert.base64Decode( + 'ChBXaWZpTm90aWZpY2F0aW9uEkYKEWRpc2NvdmVyZWROZXR3b3JrGAEgASgLMhYuWnAuV2lmaU' + '5ldHdvcmtEZXRhaWxzSABSEWRpc2NvdmVyZWROZXR3b3JrEkEKCndpZmlTdGF0dXMYAiABKAsy' + 'Hy5acC5XaWZpTm90aWZpY2F0aW9uLldpZmlTdGF0dXNIAFIKd2lmaVN0YXR1cxqBAQoKV2lmaV' + 'N0YXR1cxI6Cg53aWZpU3RhdHVzQ29kZRgBIAEoDjISLlpwLldpZmlTdGF0dXNDb2RlUg53aWZp' + 'U3RhdHVzQ29kZRI3Cg13aWZpRXJyb3JDb2RlGAIgASgOMhEuWnAuV2lmaUVycm9yQ29kZVINd2' + 'lmaUVycm9yQ29kZUIOCgxub3RpZmljYXRpb24='); + +@$core.Deprecated('Use powerDataNotificationDescriptor instead') +const PowerDataNotification$json = { + '1': 'PowerDataNotification', + '2': [ + {'1': 'sensorId', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'sensorId'}, + {'1': 'power', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'power'}, + ], +}; + +/// Descriptor for `PowerDataNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List powerDataNotificationDescriptor = $convert.base64Decode( + 'ChVQb3dlckRhdGFOb3RpZmljYXRpb24SIQoIc2Vuc29ySWQYASABKA1CBZI/AjgIUghzZW5zb3' + 'JJZBIbCgVwb3dlchgCIAEoDUIFkj8COBBSBXBvd2Vy'); + +@$core.Deprecated('Use cadenceDataNotificationDescriptor instead') +const CadenceDataNotification$json = { + '1': 'CadenceDataNotification', + '2': [ + {'1': 'sensorId', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'sensorId'}, + {'1': 'cadence', '3': 2, '4': 1, '5': 13, '8': {}, '10': 'cadence'}, + ], +}; + +/// Descriptor for `CadenceDataNotification`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List cadenceDataNotificationDescriptor = $convert.base64Decode( + 'ChdDYWRlbmNlRGF0YU5vdGlmaWNhdGlvbhIhCghzZW5zb3JJZBgBIAEoDUIFkj8COAhSCHNlbn' + 'NvcklkEh8KB2NhZGVuY2UYAiABKA1CBZI/AjgQUgdjYWRlbmNl'); + +@$core.Deprecated('Use deviceUpdateRequestDescriptor instead') +const DeviceUpdateRequest$json = { + '1': 'DeviceUpdateRequest', + '2': [ + {'1': 'checkForUpdates', '3': 1, '4': 1, '5': 8, '9': 0, '10': 'checkForUpdates'}, + {'1': 'activateUpdates', '3': 2, '4': 1, '5': 8, '9': 0, '10': 'activateUpdates'}, + ], + '8': [ + {'1': 'procedure'}, + ], +}; + +/// Descriptor for `DeviceUpdateRequest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List deviceUpdateRequestDescriptor = $convert.base64Decode( + 'ChNEZXZpY2VVcGRhdGVSZXF1ZXN0EioKD2NoZWNrRm9yVXBkYXRlcxgBIAEoCEgAUg9jaGVja0' + 'ZvclVwZGF0ZXMSKgoPYWN0aXZhdGVVcGRhdGVzGAIgASgISABSD2FjdGl2YXRlVXBkYXRlc0IL' + 'Cglwcm9jZWR1cmU='); + +@$core.Deprecated('Use relayZpMessageDescriptor instead') +const RelayZpMessage$json = { + '1': 'RelayZpMessage', + '2': [ + {'1': 'relayAssignedId', '3': 1, '4': 1, '5': 13, '8': {}, '10': 'relayAssignedId'}, + {'1': 'payload', '3': 2, '4': 1, '5': 12, '8': {}, '10': 'payload'}, + ], +}; + +/// Descriptor for `RelayZpMessage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List relayZpMessageDescriptor = $convert.base64Decode( + 'Cg5SZWxheVpwTWVzc2FnZRIvCg9yZWxheUFzc2lnbmVkSWQYASABKA1CBZI/AjgIUg9yZWxheU' + 'Fzc2lnbmVkSWQSIAoHcGF5bG9hZBgCIAEoDEIGkj8DCO4BUgdwYXlsb2Fk'); + diff --git a/lib/bluetooth/protocol/zp.pbserver.dart b/lib/bluetooth/protocol/zp.pbserver.dart new file mode 100644 index 000000000..c34f0cfdf --- /dev/null +++ b/lib/bluetooth/protocol/zp.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: zp.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'zp.pb.dart'; + diff --git a/lib/widgets/testbed.dart b/lib/widgets/testbed.dart index a8b488b10..4c74133da 100644 --- a/lib/widgets/testbed.dart +++ b/lib/widgets/testbed.dart @@ -308,13 +308,15 @@ class _KeyboardToast extends StatelessWidget { final t = (age.inMilliseconds / duration.inMilliseconds.clamp(1, 1 << 30)).clamp(0.0, 1.0); final fade = 1.0 - t; - return Opacity( - opacity: fade, - child: Container( - margin: const EdgeInsets.only(bottom: 6), - padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 6), - decoration: BoxDecoration(color: badgeColor, borderRadius: BorderRadius.circular(12)), - child: Text(text, style: textStyle), + return Material( + child: Opacity( + opacity: fade, + child: Container( + margin: const EdgeInsets.only(bottom: 6), + padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 6), + decoration: BoxDecoration(color: badgeColor, borderRadius: BorderRadius.circular(12)), + child: Text(text, style: textStyle), + ), ), ); } From 54d106ff4e011c298f1996e3183ca0e84748cb38 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 15:17:51 +0200 Subject: [PATCH 221/636] some more experiments - make it clear how to properly use Zwift Click v2 --- lib/bluetooth/ble.dart | 3 + lib/bluetooth/devices/base_device.dart | 12 ++- lib/bluetooth/devices/zwift_clickv2.dart | 55 ++++++++++++++ lib/bluetooth/devices/zwift_ride.dart | 94 ++++++++++++------------ lib/pages/device.dart | 24 ++++++ 5 files changed, 137 insertions(+), 51 deletions(-) diff --git a/lib/bluetooth/ble.dart b/lib/bluetooth/ble.dart index 0d71d2d2d..6a12db90a 100644 --- a/lib/bluetooth/ble.dart +++ b/lib/bluetooth/ble.dart @@ -4,6 +4,9 @@ class BleUuid { static final DEVICE_INFORMATION_SERVICE_UUID = "0000180a-0000-1000-8000-00805f9b34fb".toLowerCase(); static final DEVICE_INFORMATION_CHARACTERISTIC_FIRMWARE_REVISION = "00002a26-0000-1000-8000-00805f9b34fb".toLowerCase(); + + static final DEVICE_BATTERY_SERVICE_UUID = "0000180f-0000-1000-8000-00805f9b34fb".toLowerCase(); + static final DEVICE_INFORMATION_CHARACTERISTIC_BATTERY_LEVEL = "00002a19-0000-1000-8000-00805f9b34fb".toLowerCase(); static final ZWIFT_CUSTOM_SERVICE_UUID = "00000001-19CA-4651-86E5-FA29DCDD09D1".toLowerCase(); static final ZWIFT_RIDE_CUSTOM_SERVICE_UUID = "0000fc82-0000-1000-8000-00805f9b34fb".toLowerCase(); static final ZWIFT_ASYNC_CHARACTERISTIC_UUID = "00000002-19CA-4651-86E5-FA29DCDD09D1".toLowerCase(); diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 7f8f239d2..ed1d2be4d 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -1,5 +1,4 @@ import 'dart:async'; -import 'dart:io'; import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; @@ -109,7 +108,7 @@ abstract class BaseDevice { await UniversalBle.connect(device.deviceId); - if (!kIsWeb && Platform.isAndroid) { + if (!kIsWeb) { await UniversalBle.requestMtu(device.deviceId, 517); } @@ -159,10 +158,10 @@ abstract class BaseDevice { await UniversalBle.subscribeNotifications(device.deviceId, customService.uuid, asyncCharacteristic.uuid); await UniversalBle.subscribeIndications(device.deviceId, customService.uuid, syncTxCharacteristic.uuid); - await _setupHandshake(); + await setupHandshake(); } - Future _setupHandshake() async { + Future setupHandshake() async { if (supportsEncryption) { await UniversalBle.write( device.deviceId, @@ -187,6 +186,11 @@ abstract class BaseDevice { } Future processCharacteristic(String characteristic, Uint8List bytes) async { + if (kDebugMode) { + print( + "${DateTime.now().toString().split(" ").last} Received data on $characteristic: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}", + ); + } if (bytes.isEmpty) { return; } diff --git a/lib/bluetooth/devices/zwift_clickv2.dart b/lib/bluetooth/devices/zwift_clickv2.dart index 868c80b00..560490341 100644 --- a/lib/bluetooth/devices/zwift_clickv2.dart +++ b/lib/bluetooth/devices/zwift_clickv2.dart @@ -1,6 +1,9 @@ +import 'dart:typed_data'; + import 'package:swift_control/bluetooth/devices/zwift_ride.dart'; import '../ble.dart'; +import '../protocol/zp.pb.dart'; class ZwiftClickV2 extends ZwiftRide { ZwiftClickV2(super.scanResult); @@ -10,4 +13,56 @@ class ZwiftClickV2 extends ZwiftRide { @override List get startCommand => Constants.RIDE_ON + Constants.RESPONSE_START_CLICK_V2; + + @override + Future setupHandshake() async { + super.setupHandshake(); + await sendCommandBuffer(Uint8List.fromList([0xFF, 0x04, 0x00])); + } + + Future test() async { + await sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_DEV_INFO.value)); // 0008 00 + await sendCommand(Opcode.LOG_LEVEL_SET, LogLevelSet(logLevel: LogLevel.LOGLEVEL_TRACE)); // 4108 05 + + await sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_CLIENT_SERVER_CONFIGURATION.value)); // 0008 10 + await sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_CLIENT_SERVER_CONFIGURATION.value)); // 0008 10 + await sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_CLIENT_SERVER_CONFIGURATION.value)); // 0008 10 + + await sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_CONTROLLER_INPUT_CONFIG.value)); // 0008 80 08 + + await sendCommand(Opcode.GET, Get(dataObjectId: DO.BATTERY_STATE.value)); // 0008 83 06 + + // Value: FF04 000A 1540 E9D9 C96B 7463 C27F 1B4E 4D9F 1CB1 205D 882E D7CE + // Value: FF04 000A 15B2 6324 0A31 D6C6 B81F C129 D6A4 E99D FFFC B9FC 418D + await sendCommandBuffer( + Uint8List.fromList([ + 0xFF, + 0x04, + 0x00, + 0x0A, + 0x15, + 0x40, + 0xE9, + 0xD9, + 0xC9, + 0x6B, + 0x74, + 0x63, + 0xC2, + 0x7F, + 0x1B, + 0x4E, + 0x4D, + 0x9F, + 0x1C, + 0xB1, + 0x20, + 0x5D, + 0x88, + 0x2E, + 0xD7, + 0xCE, + ]), + ); + } } diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart index d0f3c572b..adfea3eba 100644 --- a/lib/bluetooth/devices/zwift_ride.dart +++ b/lib/bluetooth/devices/zwift_ride.dart @@ -70,70 +70,48 @@ class ZwiftRide extends BaseDevice { message = bytes.sublist(1); } - if (kDebugMode) { - print( - '${DateTime.now().toString().split(" ").last} Received $opcode: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')} => ${String.fromCharCodes(bytes)} ', - ); - } - if (bytes.startsWith(Constants.RESPONSE_STOPPED_CLICK_V2)) { - print('no more events'); - //connect(); + actionStreamInternal.add( + LogNotification('Your Zwift Click V2 no longer sends events. Connect it in the Zwift app once per day.'), + ); } switch (opcode) { case Opcode.RIDE_ON: //print("Empty RideOn response - unencrypted mode"); - //_sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_DEV_INFO.value)); // 0008 00 - - //_sendCommand(Opcode.LOG_LEVEL_SET, LogLevelSet(logLevel: LogLevel.LOGLEVEL_TRACE)); // 4108 05 - //await _sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_CLIENT_SERVER_CONFIGURATION.value)); // 0008 10 - - /* - final buffer = Uint8List.fromList([Opcode.GET.value, ...[0x80, 0x08]]); // 0008 8008 - if (kDebugMode) { - print("Sending ${buffer.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); - } - await UniversalBle.write( - device.deviceId, - customServiceId, - syncRxCharacteristic!.uuid, - buffer, - withoutResponse: true, - );*/ - - /* - final buffer = Uint8List.fromList([Opcode.GET.value, ...[0x83, 0x06]]); // 0008 8306 - if (kDebugMode) { - print("Sending ${buffer.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); - } - await UniversalBle.write( - device.deviceId, - customServiceId, - syncRxCharacteristic!.uuid, - buffer, - withoutResponse: true, - ); - */ break; case Opcode.STATUS_RESPONSE: final status = StatusResponse.fromBuffer(message); - print('StatusResponse: ${status.command} status: ${Status.valueOf(status.status)}'); + if (kDebugMode) { + print('StatusResponse: ${status.command} status: ${Status.valueOf(status.status)}'); + } break; case Opcode.GET_RESPONSE: final response = GetResponse.fromBuffer(message); final dataObjectType = DO.valueOf(response.dataObjectId); - print('GetResponse: $dataObjectType'); + if (kDebugMode) { + print('GetResponse: ${dataObjectType?.value.toRadixString(16).padLeft(4, '0')} $dataObjectType'); + } switch (dataObjectType) { case DO.PAGE_DEV_INFO: final pageDevInfo = DevInfoPage.fromBuffer(response.dataObjectData); - print('PageDevInfo: $pageDevInfo'); + if (kDebugMode) { + print('PageDevInfo: $pageDevInfo'); + } break; case DO.PAGE_DATE_TIME: final pageDateTime = DateTimePage.fromBuffer(response.dataObjectData); - print('PageDateTime: $pageDateTime'); + if (kDebugMode) { + print('PageDateTime: $pageDateTime'); + } + break; + case DO.PAGE_CONTROLLER_INPUT_CONFIG: + final pageDateTime = ControllerInputConfigPage.fromBuffer(response.dataObjectData); + if (kDebugMode) { + print('PageDateTime: $pageDateTime'); + } break; default: break; @@ -143,7 +121,9 @@ class ZwiftRide extends BaseDevice { break; case Opcode.LOG_DATA: final logMessage = LogDataNotification.fromBuffer(message); - actionStreamInternal.add(LogNotification(logMessage.toString())); + if (kDebugMode) { + actionStreamInternal.add(LogNotification(logMessage.toString())); + } break; case Opcode.BATTERY_NOTIF: final notification = BatteryNotification.fromBuffer(message); @@ -152,7 +132,6 @@ class ZwiftRide extends BaseDevice { connection.signalChange(this); } break; - case null: // the old Zwift Click acts differently case Opcode.CONTROLLER_NOTIFICATION: processClickNotification(message) .then((buttonsClicked) async { @@ -162,8 +141,15 @@ class ZwiftRide extends BaseDevice { actionStreamInternal.add(LogNotification(e.toString())); }); break; + case null: + if (bytes[0] == 0x1A) { + final batteryStatus = BatteryStatus.fromBuffer(message); + if (kDebugMode) { + print('BatteryStatus: $batteryStatus'); + } + } + break; } - return super.processData(bytes); } @override @@ -181,7 +167,7 @@ class ZwiftRide extends BaseDevice { } } - Future _sendCommand(Opcode opCode, $pb.GeneratedMessage message) async { + Future sendCommand(Opcode opCode, $pb.GeneratedMessage message) async { final buffer = Uint8List.fromList([opCode.value, ...message.writeToBuffer()]); if (kDebugMode) { print("Sending $opCode: ${buffer.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); @@ -193,5 +179,19 @@ class ZwiftRide extends BaseDevice { buffer, withoutResponse: true, ); + await Future.delayed(Duration(milliseconds: 500)); + } + + Future sendCommandBuffer(Uint8List buffer) async { + if (kDebugMode) { + print("Sending ${buffer.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); + } + await UniversalBle.write( + device.deviceId, + customServiceId, + syncRxCharacteristic!.uuid, + buffer, + withoutResponse: true, + ); } } diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 0edb38b74..078451508 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -4,6 +4,7 @@ import 'dart:io'; import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; +import 'package:swift_control/bluetooth/devices/zwift_clickv2.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/pages/touch_area.dart'; import 'package:swift_control/widgets/keymap_explanation.dart'; @@ -68,6 +69,21 @@ class _DevicePageState extends State { spacing: 10, children: [ Text('Connected Devices:', style: Theme.of(context).textTheme.titleMedium), + + if (connection.devices.any((device) => (device is ZwiftClickV2) && device.isConnected)) + Container( + decoration: BoxDecoration( + color: Theme.of(context).colorScheme.errorContainer, + borderRadius: BorderRadius.circular(8), + ), + padding: const EdgeInsets.all(8), + child: Text( + '''To make your Zwift Click V2 work properly you need to connect it to with in the Zwift app once each day: +1. Open Zwift app +2. After logging in (subscription not required) find it in the device connection screen and connect it +3. Close the Zwift app again and connect again in SwiftControl''', + ), + ), Text( connection.devices.joinToString( separator: '\n', @@ -185,6 +201,14 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' setState(() {}); }, ), + if (kDebugMode && + connection.devices.any((device) => (device is ZwiftClickV2) && device.isConnected)) + ElevatedButton( + onPressed: () { + (connection.devices.first as ZwiftClickV2).test(); + }, + child: Text('Test'), + ), ], ), LogViewer(), From 4ed3c5fefeef04fca686ed38dae1031332712061 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 15:18:38 +0200 Subject: [PATCH 222/636] adjust changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b92aef54..36a9b3878 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 - show firmware version of connected device - Fix crashes on some Android devices +- warn the user how to make Zwift Click V2 work properly - many UI improvements - add setting to enable or disable vibration on button press for Zwift Ride and Zwift Play controllers From 86b406e2a4a11f91d73728c8fbfa52c2334e6507 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 15:19:35 +0200 Subject: [PATCH 223/636] adjust changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36a9b3878..1706f829e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 2.6.0 (2025-09-28) +### 2.6.0 (2025-09-30) - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 - show firmware version of connected device - Fix crashes on some Android devices From c1a24cfbd11964c9e8b79680c7298e40bd3b2de6 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 30 Sep 2025 17:59:12 +0200 Subject: [PATCH 224/636] some more experiments --- lib/bluetooth/devices/base_device.dart | 2 +- lib/bluetooth/devices/zwift_clickv2.dart | 9 +- lib/bluetooth/devices/zwift_ride.dart | 46 +- lib/bluetooth/protocol/zp_vendor.pb.dart | 896 ++++++++++++++++++ lib/bluetooth/protocol/zp_vendor.pbenum.dart | 101 ++ lib/bluetooth/protocol/zp_vendor.pbjson.dart | 267 ++++++ .../protocol/zp_vendor.pbserver.dart | 14 + lib/pages/device.dart | 5 +- 8 files changed, 1330 insertions(+), 10 deletions(-) create mode 100644 lib/bluetooth/protocol/zp_vendor.pb.dart create mode 100644 lib/bluetooth/protocol/zp_vendor.pbenum.dart create mode 100644 lib/bluetooth/protocol/zp_vendor.pbjson.dart create mode 100644 lib/bluetooth/protocol/zp_vendor.pbserver.dart diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index ed1d2be4d..d2fbee19e 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -186,7 +186,7 @@ abstract class BaseDevice { } Future processCharacteristic(String characteristic, Uint8List bytes) async { - if (kDebugMode) { + if (kDebugMode && false) { print( "${DateTime.now().toString().split(" ").last} Received data on $characteristic: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}", ); diff --git a/lib/bluetooth/devices/zwift_clickv2.dart b/lib/bluetooth/devices/zwift_clickv2.dart index 560490341..20af5ac7a 100644 --- a/lib/bluetooth/devices/zwift_clickv2.dart +++ b/lib/bluetooth/devices/zwift_clickv2.dart @@ -1,9 +1,9 @@ import 'dart:typed_data'; import 'package:swift_control/bluetooth/devices/zwift_ride.dart'; +import 'package:swift_control/bluetooth/protocol/zp.pb.dart'; import '../ble.dart'; -import '../protocol/zp.pb.dart'; class ZwiftClickV2 extends ZwiftRide { ZwiftClickV2(super.scanResult); @@ -21,7 +21,10 @@ class ZwiftClickV2 extends ZwiftRide { } Future test() async { - await sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_DEV_INFO.value)); // 0008 00 + await sendCommand(Opcode.RESET, null); + //await sendCommand(Opcode.GET, Get(dataObjectId: VendorDO.PAGE_DEVICE_PAIRING.value)); // 0008 82E0 03 + + /*await sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_DEV_INFO.value)); // 0008 00 await sendCommand(Opcode.LOG_LEVEL_SET, LogLevelSet(logLevel: LogLevel.LOGLEVEL_TRACE)); // 4108 05 await sendCommand(Opcode.GET, Get(dataObjectId: DO.PAGE_CLIENT_SERVER_CONFIGURATION.value)); // 0008 10 @@ -63,6 +66,6 @@ class ZwiftClickV2 extends ZwiftRide { 0xD7, 0xCE, ]), - ); + );*/ } } diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart index adfea3eba..fd224292c 100644 --- a/lib/bluetooth/devices/zwift_ride.dart +++ b/lib/bluetooth/devices/zwift_ride.dart @@ -3,6 +3,7 @@ import 'package:flutter/foundation.dart'; import 'package:protobuf/protobuf.dart' as $pb; import 'package:swift_control/bluetooth/devices/base_device.dart'; import 'package:swift_control/bluetooth/messages/ride_notification.dart'; +import 'package:swift_control/bluetooth/protocol/zp_vendor.pb.dart'; import 'package:swift_control/utils/keymap/buttons.dart'; import 'package:universal_ble/universal_ble.dart'; @@ -70,6 +71,12 @@ class ZwiftRide extends BaseDevice { message = bytes.sublist(1); } + if (kDebugMode) { + print( + '${DateTime.now().toString().split(" ").last} Received $opcode: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')} => ${String.fromCharCodes(bytes)} ', + ); + } + if (bytes.startsWith(Constants.RESPONSE_STOPPED_CLICK_V2)) { actionStreamInternal.add( LogNotification('Your Zwift Click V2 no longer sends events. Connect it in the Zwift app once per day.'), @@ -91,7 +98,9 @@ class ZwiftRide extends BaseDevice { final response = GetResponse.fromBuffer(message); final dataObjectType = DO.valueOf(response.dataObjectId); if (kDebugMode) { - print('GetResponse: ${dataObjectType?.value.toRadixString(16).padLeft(4, '0')} $dataObjectType'); + print( + 'GetResponse: ${dataObjectType?.value.toRadixString(16).padLeft(4, '0') ?? response.dataObjectId} $dataObjectType', + ); } switch (dataObjectType) { @@ -113,11 +122,42 @@ class ZwiftRide extends BaseDevice { print('PageDateTime: $pageDateTime'); } break; + case null: + final vendorDO = VendorDO.valueOf(response.dataObjectId); + if (kDebugMode) { + print('VendorDO: $vendorDO'); + } + switch (vendorDO) { + case VendorDO.DEVICE_COUNT: + // TODO: Handle this case. + break; + case VendorDO.NO_CLUE: + // TODO: Handle this case. + break; + case VendorDO.PAGE_DEVICE_PAIRING: + final page = DevicePairingDataPage.fromBuffer(response.dataObjectData); + if (kDebugMode) { + // this should show the right click device + // pairingStatus = 1 => connected and paired, otherwise it can be paired but not connected + print( + 'PageDevicePairing: $page => ${page.pairingDevList.map((e) => e.device.reversed.map((d) => d.toRadixString(16).padLeft(2, '0'))).join(', ')}', + ); + } + break; + case VendorDO.PAIRED_DEVICE: + // TODO: Handle this case. + break; + case VendorDO.PAIRING_STATUS: + break; + } + break; default: break; } break; case Opcode.VENDOR_MESSAGE: + final vendorOpCode = VendorOpcode.valueOf(message.second); + print('VendorOpcode: $vendorOpCode'); break; case Opcode.LOG_DATA: final logMessage = LogDataNotification.fromBuffer(message); @@ -167,8 +207,8 @@ class ZwiftRide extends BaseDevice { } } - Future sendCommand(Opcode opCode, $pb.GeneratedMessage message) async { - final buffer = Uint8List.fromList([opCode.value, ...message.writeToBuffer()]); + Future sendCommand(Opcode opCode, $pb.GeneratedMessage? message) async { + final buffer = Uint8List.fromList([opCode.value, ...message?.writeToBuffer() ?? []]); if (kDebugMode) { print("Sending $opCode: ${buffer.map((e) => e.toRadixString(16).padLeft(2, '0')).join(' ')}"); } diff --git a/lib/bluetooth/protocol/zp_vendor.pb.dart b/lib/bluetooth/protocol/zp_vendor.pb.dart new file mode 100644 index 000000000..664ce39c7 --- /dev/null +++ b/lib/bluetooth/protocol/zp_vendor.pb.dart @@ -0,0 +1,896 @@ +// +// Generated code. Do not modify. +// source: zp_vendor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +import 'zp_vendor.pbenum.dart'; + +export 'zp_vendor.pbenum.dart'; + +class ControllerSync extends $pb.GeneratedMessage { + factory ControllerSync({ + ControllerSyncStatus? status, + $core.int? timeStamp, + }) { + final $result = create(); + if (status != null) { + $result.status = status; + } + if (timeStamp != null) { + $result.timeStamp = timeStamp; + } + return $result; + } + ControllerSync._() : super(); + factory ControllerSync.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory ControllerSync.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'ControllerSync', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..e(1, _omitFieldNames ? '' : 'status', $pb.PbFieldType.OE, defaultOrMaker: ControllerSyncStatus.NOT_CONNECTED, valueOf: ControllerSyncStatus.valueOf, enumValues: ControllerSyncStatus.values) + ..a<$core.int>(2, _omitFieldNames ? '' : 'timeStamp', $pb.PbFieldType.O3, protoName: 'timeStamp') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + ControllerSync clone() => ControllerSync()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + ControllerSync copyWith(void Function(ControllerSync) updates) => super.copyWith((message) => updates(message as ControllerSync)) as ControllerSync; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static ControllerSync create() => ControllerSync._(); + ControllerSync createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static ControllerSync getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static ControllerSync? _defaultInstance; + + /// optional in code; proto3 treats as present when non-zero + @$pb.TagNumber(1) + ControllerSyncStatus get status => $_getN(0); + @$pb.TagNumber(1) + set status(ControllerSyncStatus v) { setField(1, v); } + @$pb.TagNumber(1) + $core.bool hasStatus() => $_has(0); + @$pb.TagNumber(1) + void clearStatus() => clearField(1); + + @$pb.TagNumber(2) + $core.int get timeStamp => $_getIZ(1); + @$pb.TagNumber(2) + set timeStamp($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasTimeStamp() => $_has(1); + @$pb.TagNumber(2) + void clearTimeStamp() => clearField(2); +} + +class EnableTestMode extends $pb.GeneratedMessage { + factory EnableTestMode({ + $core.bool? enable, + }) { + final $result = create(); + if (enable != null) { + $result.enable = enable; + } + return $result; + } + EnableTestMode._() : super(); + factory EnableTestMode.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory EnableTestMode.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'EnableTestMode', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'enable') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + EnableTestMode clone() => EnableTestMode()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + EnableTestMode copyWith(void Function(EnableTestMode) updates) => super.copyWith((message) => updates(message as EnableTestMode)) as EnableTestMode; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static EnableTestMode create() => EnableTestMode._(); + EnableTestMode createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static EnableTestMode getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static EnableTestMode? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get enable => $_getBF(0); + @$pb.TagNumber(1) + set enable($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasEnable() => $_has(0); + @$pb.TagNumber(1) + void clearEnable() => clearField(1); +} + +class PairDevices extends $pb.GeneratedMessage { + factory PairDevices({ + $core.bool? pair, + PairDeviceType? type, + $core.List<$core.int>? deviceId, + }) { + final $result = create(); + if (pair != null) { + $result.pair = pair; + } + if (type != null) { + $result.type = type; + } + if (deviceId != null) { + $result.deviceId = deviceId; + } + return $result; + } + PairDevices._() : super(); + factory PairDevices.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory PairDevices.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'PairDevices', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'pair') + ..e(2, _omitFieldNames ? '' : 'type', $pb.PbFieldType.OE, defaultOrMaker: PairDeviceType.BLE, valueOf: PairDeviceType.valueOf, enumValues: PairDeviceType.values) + ..a<$core.List<$core.int>>(3, _omitFieldNames ? '' : 'deviceId', $pb.PbFieldType.OY, protoName: 'deviceId') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + PairDevices clone() => PairDevices()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + PairDevices copyWith(void Function(PairDevices) updates) => super.copyWith((message) => updates(message as PairDevices)) as PairDevices; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static PairDevices create() => PairDevices._(); + PairDevices createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static PairDevices getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static PairDevices? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get pair => $_getBF(0); + @$pb.TagNumber(1) + set pair($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasPair() => $_has(0); + @$pb.TagNumber(1) + void clearPair() => clearField(1); + + @$pb.TagNumber(2) + PairDeviceType get type => $_getN(1); + @$pb.TagNumber(2) + set type(PairDeviceType v) { setField(2, v); } + @$pb.TagNumber(2) + $core.bool hasType() => $_has(1); + @$pb.TagNumber(2) + void clearType() => clearField(2); + + @$pb.TagNumber(3) + $core.List<$core.int> get deviceId => $_getN(2); + @$pb.TagNumber(3) + set deviceId($core.List<$core.int> v) { $_setBytes(2, v); } + @$pb.TagNumber(3) + $core.bool hasDeviceId() => $_has(2); + @$pb.TagNumber(3) + void clearDeviceId() => clearField(3); +} + +class DevicePairingDataPage_PairedDevice extends $pb.GeneratedMessage { + factory DevicePairingDataPage_PairedDevice({ + $core.List<$core.int>? device, + }) { + final $result = create(); + if (device != null) { + $result.device = device; + } + return $result; + } + DevicePairingDataPage_PairedDevice._() : super(); + factory DevicePairingDataPage_PairedDevice.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DevicePairingDataPage_PairedDevice.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DevicePairingDataPage.PairedDevice', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..a<$core.List<$core.int>>(1, _omitFieldNames ? '' : 'device', $pb.PbFieldType.OY) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DevicePairingDataPage_PairedDevice clone() => DevicePairingDataPage_PairedDevice()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DevicePairingDataPage_PairedDevice copyWith(void Function(DevicePairingDataPage_PairedDevice) updates) => super.copyWith((message) => updates(message as DevicePairingDataPage_PairedDevice)) as DevicePairingDataPage_PairedDevice; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DevicePairingDataPage_PairedDevice create() => DevicePairingDataPage_PairedDevice._(); + DevicePairingDataPage_PairedDevice createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DevicePairingDataPage_PairedDevice getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DevicePairingDataPage_PairedDevice? _defaultInstance; + + @$pb.TagNumber(1) + $core.List<$core.int> get device => $_getN(0); + @$pb.TagNumber(1) + set device($core.List<$core.int> v) { $_setBytes(0, v); } + @$pb.TagNumber(1) + $core.bool hasDevice() => $_has(0); + @$pb.TagNumber(1) + void clearDevice() => clearField(1); +} + +class DevicePairingDataPage extends $pb.GeneratedMessage { + factory DevicePairingDataPage({ + $core.int? devicesCount, + $core.int? pairingStatus, + $core.Iterable? pairingDevList, + }) { + final $result = create(); + if (devicesCount != null) { + $result.devicesCount = devicesCount; + } + if (pairingStatus != null) { + $result.pairingStatus = pairingStatus; + } + if (pairingDevList != null) { + $result.pairingDevList.addAll(pairingDevList); + } + return $result; + } + DevicePairingDataPage._() : super(); + factory DevicePairingDataPage.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory DevicePairingDataPage.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'DevicePairingDataPage', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'devicesCount', $pb.PbFieldType.O3, protoName: 'devicesCount') + ..a<$core.int>(2, _omitFieldNames ? '' : 'pairingStatus', $pb.PbFieldType.O3, protoName: 'pairingStatus') + ..pc(3, _omitFieldNames ? '' : 'pairingDevList', $pb.PbFieldType.PM, protoName: 'pairingDevList', subBuilder: DevicePairingDataPage_PairedDevice.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + DevicePairingDataPage clone() => DevicePairingDataPage()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + DevicePairingDataPage copyWith(void Function(DevicePairingDataPage) updates) => super.copyWith((message) => updates(message as DevicePairingDataPage)) as DevicePairingDataPage; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static DevicePairingDataPage create() => DevicePairingDataPage._(); + DevicePairingDataPage createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static DevicePairingDataPage getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static DevicePairingDataPage? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get devicesCount => $_getIZ(0); + @$pb.TagNumber(1) + set devicesCount($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasDevicesCount() => $_has(0); + @$pb.TagNumber(1) + void clearDevicesCount() => clearField(1); + + @$pb.TagNumber(2) + $core.int get pairingStatus => $_getIZ(1); + @$pb.TagNumber(2) + set pairingStatus($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasPairingStatus() => $_has(1); + @$pb.TagNumber(2) + void clearPairingStatus() => clearField(2); + + @$pb.TagNumber(3) + $core.List get pairingDevList => $_getList(2); +} + +enum SetDfuTest_TestCase { + failedEnterDfu, + failedStartAdvertising, + crcFailure, + notSet +} + +class SetDfuTest extends $pb.GeneratedMessage { + factory SetDfuTest({ + $core.bool? failedEnterDfu, + $core.bool? failedStartAdvertising, + $core.int? crcFailure, + }) { + final $result = create(); + if (failedEnterDfu != null) { + $result.failedEnterDfu = failedEnterDfu; + } + if (failedStartAdvertising != null) { + $result.failedStartAdvertising = failedStartAdvertising; + } + if (crcFailure != null) { + $result.crcFailure = crcFailure; + } + return $result; + } + SetDfuTest._() : super(); + factory SetDfuTest.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SetDfuTest.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static const $core.Map<$core.int, SetDfuTest_TestCase> _SetDfuTest_TestCaseByTag = { + 1 : SetDfuTest_TestCase.failedEnterDfu, + 2 : SetDfuTest_TestCase.failedStartAdvertising, + 3 : SetDfuTest_TestCase.crcFailure, + 0 : SetDfuTest_TestCase.notSet + }; + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetDfuTest', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..oo(0, [1, 2, 3]) + ..aOB(1, _omitFieldNames ? '' : 'failedEnterDfu', protoName: 'failedEnterDfu') + ..aOB(2, _omitFieldNames ? '' : 'failedStartAdvertising', protoName: 'failedStartAdvertising') + ..a<$core.int>(3, _omitFieldNames ? '' : 'crcFailure', $pb.PbFieldType.O3, protoName: 'crcFailure') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SetDfuTest clone() => SetDfuTest()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SetDfuTest copyWith(void Function(SetDfuTest) updates) => super.copyWith((message) => updates(message as SetDfuTest)) as SetDfuTest; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SetDfuTest create() => SetDfuTest._(); + SetDfuTest createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SetDfuTest getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SetDfuTest? _defaultInstance; + + SetDfuTest_TestCase whichTestCase() => _SetDfuTest_TestCaseByTag[$_whichOneof(0)]!; + void clearTestCase() => clearField($_whichOneof(0)); + + @$pb.TagNumber(1) + $core.bool get failedEnterDfu => $_getBF(0); + @$pb.TagNumber(1) + set failedEnterDfu($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasFailedEnterDfu() => $_has(0); + @$pb.TagNumber(1) + void clearFailedEnterDfu() => clearField(1); + + @$pb.TagNumber(2) + $core.bool get failedStartAdvertising => $_getBF(1); + @$pb.TagNumber(2) + set failedStartAdvertising($core.bool v) { $_setBool(1, v); } + @$pb.TagNumber(2) + $core.bool hasFailedStartAdvertising() => $_has(1); + @$pb.TagNumber(2) + void clearFailedStartAdvertising() => clearField(2); + + @$pb.TagNumber(3) + $core.int get crcFailure => $_getIZ(2); + @$pb.TagNumber(3) + set crcFailure($core.int v) { $_setSignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasCrcFailure() => $_has(2); + @$pb.TagNumber(3) + void clearCrcFailure() => clearField(3); +} + +class SetGearTestData extends $pb.GeneratedMessage { + factory SetGearTestData({ + $core.int? frontGearIdx, + $core.int? rearGearIdx, + }) { + final $result = create(); + if (frontGearIdx != null) { + $result.frontGearIdx = frontGearIdx; + } + if (rearGearIdx != null) { + $result.rearGearIdx = rearGearIdx; + } + return $result; + } + SetGearTestData._() : super(); + factory SetGearTestData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SetGearTestData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetGearTestData', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'frontGearIdx', $pb.PbFieldType.O3, protoName: 'frontGearIdx') + ..a<$core.int>(2, _omitFieldNames ? '' : 'rearGearIdx', $pb.PbFieldType.O3, protoName: 'rearGearIdx') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SetGearTestData clone() => SetGearTestData()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SetGearTestData copyWith(void Function(SetGearTestData) updates) => super.copyWith((message) => updates(message as SetGearTestData)) as SetGearTestData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SetGearTestData create() => SetGearTestData._(); + SetGearTestData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SetGearTestData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SetGearTestData? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get frontGearIdx => $_getIZ(0); + @$pb.TagNumber(1) + set frontGearIdx($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasFrontGearIdx() => $_has(0); + @$pb.TagNumber(1) + void clearFrontGearIdx() => clearField(1); + + @$pb.TagNumber(2) + $core.int get rearGearIdx => $_getIZ(1); + @$pb.TagNumber(2) + set rearGearIdx($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasRearGearIdx() => $_has(1); + @$pb.TagNumber(2) + void clearRearGearIdx() => clearField(2); +} + +class SetHrmTestData extends $pb.GeneratedMessage { + factory SetHrmTestData({ + $core.bool? hrmPresent, + $core.int? heartRate, + }) { + final $result = create(); + if (hrmPresent != null) { + $result.hrmPresent = hrmPresent; + } + if (heartRate != null) { + $result.heartRate = heartRate; + } + return $result; + } + SetHrmTestData._() : super(); + factory SetHrmTestData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SetHrmTestData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetHrmTestData', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..aOB(1, _omitFieldNames ? '' : 'hrmPresent', protoName: 'hrmPresent') + ..a<$core.int>(2, _omitFieldNames ? '' : 'heartRate', $pb.PbFieldType.O3, protoName: 'heartRate') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SetHrmTestData clone() => SetHrmTestData()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SetHrmTestData copyWith(void Function(SetHrmTestData) updates) => super.copyWith((message) => updates(message as SetHrmTestData)) as SetHrmTestData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SetHrmTestData create() => SetHrmTestData._(); + SetHrmTestData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SetHrmTestData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SetHrmTestData? _defaultInstance; + + @$pb.TagNumber(1) + $core.bool get hrmPresent => $_getBF(0); + @$pb.TagNumber(1) + set hrmPresent($core.bool v) { $_setBool(0, v); } + @$pb.TagNumber(1) + $core.bool hasHrmPresent() => $_has(0); + @$pb.TagNumber(1) + void clearHrmPresent() => clearField(1); + + @$pb.TagNumber(2) + $core.int get heartRate => $_getIZ(1); + @$pb.TagNumber(2) + set heartRate($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasHeartRate() => $_has(1); + @$pb.TagNumber(2) + void clearHeartRate() => clearField(2); +} + +class SetInputDeviceTestData_ControllerAnalogEvent extends $pb.GeneratedMessage { + factory SetInputDeviceTestData_ControllerAnalogEvent({ + $core.int? sensorId, + $core.int? value, + }) { + final $result = create(); + if (sensorId != null) { + $result.sensorId = sensorId; + } + if (value != null) { + $result.value = value; + } + return $result; + } + SetInputDeviceTestData_ControllerAnalogEvent._() : super(); + factory SetInputDeviceTestData_ControllerAnalogEvent.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SetInputDeviceTestData_ControllerAnalogEvent.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetInputDeviceTestData.ControllerAnalogEvent', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'sensorId', $pb.PbFieldType.O3, protoName: 'sensorId') + ..a<$core.int>(2, _omitFieldNames ? '' : 'value', $pb.PbFieldType.O3) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SetInputDeviceTestData_ControllerAnalogEvent clone() => SetInputDeviceTestData_ControllerAnalogEvent()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SetInputDeviceTestData_ControllerAnalogEvent copyWith(void Function(SetInputDeviceTestData_ControllerAnalogEvent) updates) => super.copyWith((message) => updates(message as SetInputDeviceTestData_ControllerAnalogEvent)) as SetInputDeviceTestData_ControllerAnalogEvent; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SetInputDeviceTestData_ControllerAnalogEvent create() => SetInputDeviceTestData_ControllerAnalogEvent._(); + SetInputDeviceTestData_ControllerAnalogEvent createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SetInputDeviceTestData_ControllerAnalogEvent getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SetInputDeviceTestData_ControllerAnalogEvent? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get sensorId => $_getIZ(0); + @$pb.TagNumber(1) + set sensorId($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasSensorId() => $_has(0); + @$pb.TagNumber(1) + void clearSensorId() => clearField(1); + + @$pb.TagNumber(2) + $core.int get value => $_getIZ(1); + @$pb.TagNumber(2) + set value($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasValue() => $_has(1); + @$pb.TagNumber(2) + void clearValue() => clearField(2); +} + +class SetInputDeviceTestData extends $pb.GeneratedMessage { + factory SetInputDeviceTestData({ + $core.int? duration, + $core.int? buttonEvent, + $core.Iterable? analogEventList, + }) { + final $result = create(); + if (duration != null) { + $result.duration = duration; + } + if (buttonEvent != null) { + $result.buttonEvent = buttonEvent; + } + if (analogEventList != null) { + $result.analogEventList.addAll(analogEventList); + } + return $result; + } + SetInputDeviceTestData._() : super(); + factory SetInputDeviceTestData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SetInputDeviceTestData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetInputDeviceTestData', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'duration', $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'buttonEvent', $pb.PbFieldType.O3, protoName: 'buttonEvent') + ..pc(3, _omitFieldNames ? '' : 'analogEventList', $pb.PbFieldType.PM, protoName: 'analogEventList', subBuilder: SetInputDeviceTestData_ControllerAnalogEvent.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SetInputDeviceTestData clone() => SetInputDeviceTestData()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SetInputDeviceTestData copyWith(void Function(SetInputDeviceTestData) updates) => super.copyWith((message) => updates(message as SetInputDeviceTestData)) as SetInputDeviceTestData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SetInputDeviceTestData create() => SetInputDeviceTestData._(); + SetInputDeviceTestData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SetInputDeviceTestData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SetInputDeviceTestData? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get duration => $_getIZ(0); + @$pb.TagNumber(1) + set duration($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasDuration() => $_has(0); + @$pb.TagNumber(1) + void clearDuration() => clearField(1); + + @$pb.TagNumber(2) + $core.int get buttonEvent => $_getIZ(1); + @$pb.TagNumber(2) + set buttonEvent($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasButtonEvent() => $_has(1); + @$pb.TagNumber(2) + void clearButtonEvent() => clearField(2); + + @$pb.TagNumber(3) + $core.List get analogEventList => $_getList(2); +} + +class SetTrainerTestData extends $pb.GeneratedMessage { + factory SetTrainerTestData({ + $core.int? dataMode, + $core.int? interfaces, + TestTrainerData? testTrainerData, + }) { + final $result = create(); + if (dataMode != null) { + $result.dataMode = dataMode; + } + if (interfaces != null) { + $result.interfaces = interfaces; + } + if (testTrainerData != null) { + $result.testTrainerData = testTrainerData; + } + return $result; + } + SetTrainerTestData._() : super(); + factory SetTrainerTestData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory SetTrainerTestData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'SetTrainerTestData', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'dataMode', $pb.PbFieldType.O3, protoName: 'dataMode') + ..a<$core.int>(2, _omitFieldNames ? '' : 'interfaces', $pb.PbFieldType.O3) + ..aOM(3, _omitFieldNames ? '' : 'testTrainerData', protoName: 'testTrainerData', subBuilder: TestTrainerData.create) + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + SetTrainerTestData clone() => SetTrainerTestData()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + SetTrainerTestData copyWith(void Function(SetTrainerTestData) updates) => super.copyWith((message) => updates(message as SetTrainerTestData)) as SetTrainerTestData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static SetTrainerTestData create() => SetTrainerTestData._(); + SetTrainerTestData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static SetTrainerTestData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static SetTrainerTestData? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get dataMode => $_getIZ(0); + @$pb.TagNumber(1) + set dataMode($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasDataMode() => $_has(0); + @$pb.TagNumber(1) + void clearDataMode() => clearField(1); + + @$pb.TagNumber(2) + $core.int get interfaces => $_getIZ(1); + @$pb.TagNumber(2) + set interfaces($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasInterfaces() => $_has(1); + @$pb.TagNumber(2) + void clearInterfaces() => clearField(2); + + @$pb.TagNumber(3) + TestTrainerData get testTrainerData => $_getN(2); + @$pb.TagNumber(3) + set testTrainerData(TestTrainerData v) { setField(3, v); } + @$pb.TagNumber(3) + $core.bool hasTestTrainerData() => $_has(2); + @$pb.TagNumber(3) + void clearTestTrainerData() => clearField(3); + @$pb.TagNumber(3) + TestTrainerData ensureTestTrainerData() => $_ensure(2); +} + +class TestTrainerData extends $pb.GeneratedMessage { + factory TestTrainerData({ + $core.int? power, + $core.int? cadence, + $core.int? bikeSpeed, + $core.int? averagedPower, + $core.int? wheelSpeed, + $core.int? calculatedRealGearRatio, + }) { + final $result = create(); + if (power != null) { + $result.power = power; + } + if (cadence != null) { + $result.cadence = cadence; + } + if (bikeSpeed != null) { + $result.bikeSpeed = bikeSpeed; + } + if (averagedPower != null) { + $result.averagedPower = averagedPower; + } + if (wheelSpeed != null) { + $result.wheelSpeed = wheelSpeed; + } + if (calculatedRealGearRatio != null) { + $result.calculatedRealGearRatio = calculatedRealGearRatio; + } + return $result; + } + TestTrainerData._() : super(); + factory TestTrainerData.fromBuffer($core.List<$core.int> i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromBuffer(i, r); + factory TestTrainerData.fromJson($core.String i, [$pb.ExtensionRegistry r = $pb.ExtensionRegistry.EMPTY]) => create()..mergeFromJson(i, r); + + static final $pb.BuilderInfo _i = $pb.BuilderInfo(_omitMessageNames ? '' : 'TestTrainerData', package: const $pb.PackageName(_omitMessageNames ? '' : 'com.zwift.protobuf'), createEmptyInstance: create) + ..a<$core.int>(1, _omitFieldNames ? '' : 'power', $pb.PbFieldType.O3) + ..a<$core.int>(2, _omitFieldNames ? '' : 'cadence', $pb.PbFieldType.O3) + ..a<$core.int>(3, _omitFieldNames ? '' : 'bikeSpeed', $pb.PbFieldType.O3, protoName: 'bikeSpeed') + ..a<$core.int>(4, _omitFieldNames ? '' : 'averagedPower', $pb.PbFieldType.O3, protoName: 'averagedPower') + ..a<$core.int>(5, _omitFieldNames ? '' : 'wheelSpeed', $pb.PbFieldType.O3, protoName: 'wheelSpeed') + ..a<$core.int>(6, _omitFieldNames ? '' : 'calculatedRealGearRatio', $pb.PbFieldType.O3, protoName: 'calculatedRealGearRatio') + ..hasRequiredFields = false + ; + + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.deepCopy] instead. ' + 'Will be removed in next major version') + TestTrainerData clone() => TestTrainerData()..mergeFromMessage(this); + @$core.Deprecated( + 'Using this can add significant overhead to your binary. ' + 'Use [GeneratedMessageGenericExtensions.rebuild] instead. ' + 'Will be removed in next major version') + TestTrainerData copyWith(void Function(TestTrainerData) updates) => super.copyWith((message) => updates(message as TestTrainerData)) as TestTrainerData; + + $pb.BuilderInfo get info_ => _i; + + @$core.pragma('dart2js:noInline') + static TestTrainerData create() => TestTrainerData._(); + TestTrainerData createEmptyInstance() => create(); + static $pb.PbList createRepeated() => $pb.PbList(); + @$core.pragma('dart2js:noInline') + static TestTrainerData getDefault() => _defaultInstance ??= $pb.GeneratedMessage.$_defaultFor(create); + static TestTrainerData? _defaultInstance; + + @$pb.TagNumber(1) + $core.int get power => $_getIZ(0); + @$pb.TagNumber(1) + set power($core.int v) { $_setSignedInt32(0, v); } + @$pb.TagNumber(1) + $core.bool hasPower() => $_has(0); + @$pb.TagNumber(1) + void clearPower() => clearField(1); + + @$pb.TagNumber(2) + $core.int get cadence => $_getIZ(1); + @$pb.TagNumber(2) + set cadence($core.int v) { $_setSignedInt32(1, v); } + @$pb.TagNumber(2) + $core.bool hasCadence() => $_has(1); + @$pb.TagNumber(2) + void clearCadence() => clearField(2); + + @$pb.TagNumber(3) + $core.int get bikeSpeed => $_getIZ(2); + @$pb.TagNumber(3) + set bikeSpeed($core.int v) { $_setSignedInt32(2, v); } + @$pb.TagNumber(3) + $core.bool hasBikeSpeed() => $_has(2); + @$pb.TagNumber(3) + void clearBikeSpeed() => clearField(3); + + @$pb.TagNumber(4) + $core.int get averagedPower => $_getIZ(3); + @$pb.TagNumber(4) + set averagedPower($core.int v) { $_setSignedInt32(3, v); } + @$pb.TagNumber(4) + $core.bool hasAveragedPower() => $_has(3); + @$pb.TagNumber(4) + void clearAveragedPower() => clearField(4); + + @$pb.TagNumber(5) + $core.int get wheelSpeed => $_getIZ(4); + @$pb.TagNumber(5) + set wheelSpeed($core.int v) { $_setSignedInt32(4, v); } + @$pb.TagNumber(5) + $core.bool hasWheelSpeed() => $_has(4); + @$pb.TagNumber(5) + void clearWheelSpeed() => clearField(5); + + @$pb.TagNumber(6) + $core.int get calculatedRealGearRatio => $_getIZ(5); + @$pb.TagNumber(6) + set calculatedRealGearRatio($core.int v) { $_setSignedInt32(5, v); } + @$pb.TagNumber(6) + $core.bool hasCalculatedRealGearRatio() => $_has(5); + @$pb.TagNumber(6) + void clearCalculatedRealGearRatio() => clearField(6); +} + + +const _omitFieldNames = $core.bool.fromEnvironment('protobuf.omit_field_names'); +const _omitMessageNames = $core.bool.fromEnvironment('protobuf.omit_message_names'); diff --git a/lib/bluetooth/protocol/zp_vendor.pbenum.dart b/lib/bluetooth/protocol/zp_vendor.pbenum.dart new file mode 100644 index 000000000..a087a0c73 --- /dev/null +++ b/lib/bluetooth/protocol/zp_vendor.pbenum.dart @@ -0,0 +1,101 @@ +// +// Generated code. Do not modify. +// source: zp_vendor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:core' as $core; + +import 'package:protobuf/protobuf.dart' as $pb; + +class VendorOpcode extends $pb.ProtobufEnum { + static const VendorOpcode UNDEFINED = VendorOpcode._(0, _omitEnumNames ? '' : 'UNDEFINED'); + static const VendorOpcode CONTROLLER_SYNC = VendorOpcode._(1, _omitEnumNames ? '' : 'CONTROLLER_SYNC'); + static const VendorOpcode PAIR_DEVICES = VendorOpcode._(2, _omitEnumNames ? '' : 'PAIR_DEVICES'); + static const VendorOpcode ENABLE_TEST_MODE = VendorOpcode._(65280, _omitEnumNames ? '' : 'ENABLE_TEST_MODE'); + static const VendorOpcode SET_DFU_TEST = VendorOpcode._(65281, _omitEnumNames ? '' : 'SET_DFU_TEST'); + static const VendorOpcode SET_TRAINER_TEST_DATA = VendorOpcode._(65282, _omitEnumNames ? '' : 'SET_TRAINER_TEST_DATA'); + static const VendorOpcode SET_INPUT_DEVICE_TEST_DATA = VendorOpcode._(65283, _omitEnumNames ? '' : 'SET_INPUT_DEVICE_TEST_DATA'); + static const VendorOpcode SET_GEAR_TEST_DATA = VendorOpcode._(65284, _omitEnumNames ? '' : 'SET_GEAR_TEST_DATA'); + static const VendorOpcode SET_HRM_TEST_DATA = VendorOpcode._(65285, _omitEnumNames ? '' : 'SET_HRM_TEST_DATA'); + static const VendorOpcode SET_TEST_DATA = VendorOpcode._(65286, _omitEnumNames ? '' : 'SET_TEST_DATA'); + + static const $core.List values = [ + UNDEFINED, + CONTROLLER_SYNC, + PAIR_DEVICES, + ENABLE_TEST_MODE, + SET_DFU_TEST, + SET_TRAINER_TEST_DATA, + SET_INPUT_DEVICE_TEST_DATA, + SET_GEAR_TEST_DATA, + SET_HRM_TEST_DATA, + SET_TEST_DATA, + ]; + + static final $core.Map<$core.int, VendorOpcode> _byValue = $pb.ProtobufEnum.initByValue(values); + static VendorOpcode? valueOf($core.int value) => _byValue[value]; + + const VendorOpcode._($core.int v, $core.String n) : super(v, n); +} + +class PairDeviceType extends $pb.ProtobufEnum { + static const PairDeviceType BLE = PairDeviceType._(0, _omitEnumNames ? '' : 'BLE'); + static const PairDeviceType ANT = PairDeviceType._(1, _omitEnumNames ? '' : 'ANT'); + + static const $core.List values = [ + BLE, + ANT, + ]; + + static final $core.Map<$core.int, PairDeviceType> _byValue = $pb.ProtobufEnum.initByValue(values); + static PairDeviceType? valueOf($core.int value) => _byValue[value]; + + const PairDeviceType._($core.int v, $core.String n) : super(v, n); +} + +/// Status used by ControllerSync +class ControllerSyncStatus extends $pb.ProtobufEnum { + static const ControllerSyncStatus NOT_CONNECTED = ControllerSyncStatus._(0, _omitEnumNames ? '' : 'NOT_CONNECTED'); + static const ControllerSyncStatus CONNECTED = ControllerSyncStatus._(1, _omitEnumNames ? '' : 'CONNECTED'); + + static const $core.List values = [ + NOT_CONNECTED, + CONNECTED, + ]; + + static final $core.Map<$core.int, ControllerSyncStatus> _byValue = $pb.ProtobufEnum.initByValue(values); + static ControllerSyncStatus? valueOf($core.int value) => _byValue[value]; + + const ControllerSyncStatus._($core.int v, $core.String n) : super(v, n); +} + +/// Looks like “data object / page” IDs used with pairing pages +class VendorDO extends $pb.ProtobufEnum { + static const VendorDO NO_CLUE = VendorDO._(0, _omitEnumNames ? '' : 'NO_CLUE'); + static const VendorDO PAGE_DEVICE_PAIRING = VendorDO._(61440, _omitEnumNames ? '' : 'PAGE_DEVICE_PAIRING'); + static const VendorDO DEVICE_COUNT = VendorDO._(61441, _omitEnumNames ? '' : 'DEVICE_COUNT'); + static const VendorDO PAIRING_STATUS = VendorDO._(61442, _omitEnumNames ? '' : 'PAIRING_STATUS'); + static const VendorDO PAIRED_DEVICE = VendorDO._(61443, _omitEnumNames ? '' : 'PAIRED_DEVICE'); + + static const $core.List values = [ + NO_CLUE, + PAGE_DEVICE_PAIRING, + DEVICE_COUNT, + PAIRING_STATUS, + PAIRED_DEVICE, + ]; + + static final $core.Map<$core.int, VendorDO> _byValue = $pb.ProtobufEnum.initByValue(values); + static VendorDO? valueOf($core.int value) => _byValue[value]; + + const VendorDO._($core.int v, $core.String n) : super(v, n); +} + + +const _omitEnumNames = $core.bool.fromEnvironment('protobuf.omit_enum_names'); diff --git a/lib/bluetooth/protocol/zp_vendor.pbjson.dart b/lib/bluetooth/protocol/zp_vendor.pbjson.dart new file mode 100644 index 000000000..cb55d70ac --- /dev/null +++ b/lib/bluetooth/protocol/zp_vendor.pbjson.dart @@ -0,0 +1,267 @@ +// +// Generated code. Do not modify. +// source: zp_vendor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +import 'dart:convert' as $convert; +import 'dart:core' as $core; +import 'dart:typed_data' as $typed_data; + +@$core.Deprecated('Use vendorOpcodeDescriptor instead') +const VendorOpcode$json = { + '1': 'VendorOpcode', + '2': [ + {'1': 'UNDEFINED', '2': 0}, + {'1': 'CONTROLLER_SYNC', '2': 1}, + {'1': 'PAIR_DEVICES', '2': 2}, + {'1': 'ENABLE_TEST_MODE', '2': 65280}, + {'1': 'SET_DFU_TEST', '2': 65281}, + {'1': 'SET_TRAINER_TEST_DATA', '2': 65282}, + {'1': 'SET_INPUT_DEVICE_TEST_DATA', '2': 65283}, + {'1': 'SET_GEAR_TEST_DATA', '2': 65284}, + {'1': 'SET_HRM_TEST_DATA', '2': 65285}, + {'1': 'SET_TEST_DATA', '2': 65286}, + ], +}; + +/// Descriptor for `VendorOpcode`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List vendorOpcodeDescriptor = $convert.base64Decode( + 'CgxWZW5kb3JPcGNvZGUSDQoJVU5ERUZJTkVEEAASEwoPQ09OVFJPTExFUl9TWU5DEAESEAoMUE' + 'FJUl9ERVZJQ0VTEAISFgoQRU5BQkxFX1RFU1RfTU9ERRCA/gMSEgoMU0VUX0RGVV9URVNUEIH+' + 'AxIbChVTRVRfVFJBSU5FUl9URVNUX0RBVEEQgv4DEiAKGlNFVF9JTlBVVF9ERVZJQ0VfVEVTVF' + '9EQVRBEIP+AxIYChJTRVRfR0VBUl9URVNUX0RBVEEQhP4DEhcKEVNFVF9IUk1fVEVTVF9EQVRB' + 'EIX+AxITCg1TRVRfVEVTVF9EQVRBEIb+Aw=='); + +@$core.Deprecated('Use pairDeviceTypeDescriptor instead') +const PairDeviceType$json = { + '1': 'PairDeviceType', + '2': [ + {'1': 'BLE', '2': 0}, + {'1': 'ANT', '2': 1}, + ], +}; + +/// Descriptor for `PairDeviceType`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List pairDeviceTypeDescriptor = $convert.base64Decode( + 'Cg5QYWlyRGV2aWNlVHlwZRIHCgNCTEUQABIHCgNBTlQQAQ=='); + +@$core.Deprecated('Use controllerSyncStatusDescriptor instead') +const ControllerSyncStatus$json = { + '1': 'ControllerSyncStatus', + '2': [ + {'1': 'NOT_CONNECTED', '2': 0}, + {'1': 'CONNECTED', '2': 1}, + ], +}; + +/// Descriptor for `ControllerSyncStatus`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List controllerSyncStatusDescriptor = $convert.base64Decode( + 'ChRDb250cm9sbGVyU3luY1N0YXR1cxIRCg1OT1RfQ09OTkVDVEVEEAASDQoJQ09OTkVDVEVEEA' + 'E='); + +@$core.Deprecated('Use vendorDODescriptor instead') +const VendorDO$json = { + '1': 'VendorDO', + '2': [ + {'1': 'NO_CLUE', '2': 0}, + {'1': 'PAGE_DEVICE_PAIRING', '2': 61440}, + {'1': 'DEVICE_COUNT', '2': 61441}, + {'1': 'PAIRING_STATUS', '2': 61442}, + {'1': 'PAIRED_DEVICE', '2': 61443}, + ], +}; + +/// Descriptor for `VendorDO`. Decode as a `google.protobuf.EnumDescriptorProto`. +final $typed_data.Uint8List vendorDODescriptor = $convert.base64Decode( + 'CghWZW5kb3JETxILCgdOT19DTFVFEAASGQoTUEFHRV9ERVZJQ0VfUEFJUklORxCA4AMSEgoMRE' + 'VWSUNFX0NPVU5UEIHgAxIUCg5QQUlSSU5HX1NUQVRVUxCC4AMSEwoNUEFJUkVEX0RFVklDRRCD' + '4AM='); + +@$core.Deprecated('Use controllerSyncDescriptor instead') +const ControllerSync$json = { + '1': 'ControllerSync', + '2': [ + {'1': 'status', '3': 1, '4': 1, '5': 14, '6': '.com.zwift.protobuf.ControllerSyncStatus', '10': 'status'}, + {'1': 'timeStamp', '3': 2, '4': 1, '5': 5, '10': 'timeStamp'}, + ], +}; + +/// Descriptor for `ControllerSync`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List controllerSyncDescriptor = $convert.base64Decode( + 'Cg5Db250cm9sbGVyU3luYxJACgZzdGF0dXMYASABKA4yKC5jb20uendpZnQucHJvdG9idWYuQ2' + '9udHJvbGxlclN5bmNTdGF0dXNSBnN0YXR1cxIcCgl0aW1lU3RhbXAYAiABKAVSCXRpbWVTdGFt' + 'cA=='); + +@$core.Deprecated('Use enableTestModeDescriptor instead') +const EnableTestMode$json = { + '1': 'EnableTestMode', + '2': [ + {'1': 'enable', '3': 1, '4': 1, '5': 8, '10': 'enable'}, + ], +}; + +/// Descriptor for `EnableTestMode`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List enableTestModeDescriptor = $convert.base64Decode( + 'Cg5FbmFibGVUZXN0TW9kZRIWCgZlbmFibGUYASABKAhSBmVuYWJsZQ=='); + +@$core.Deprecated('Use pairDevicesDescriptor instead') +const PairDevices$json = { + '1': 'PairDevices', + '2': [ + {'1': 'pair', '3': 1, '4': 1, '5': 8, '10': 'pair'}, + {'1': 'type', '3': 2, '4': 1, '5': 14, '6': '.com.zwift.protobuf.PairDeviceType', '10': 'type'}, + {'1': 'deviceId', '3': 3, '4': 1, '5': 12, '10': 'deviceId'}, + ], +}; + +/// Descriptor for `PairDevices`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List pairDevicesDescriptor = $convert.base64Decode( + 'CgtQYWlyRGV2aWNlcxISCgRwYWlyGAEgASgIUgRwYWlyEjYKBHR5cGUYAiABKA4yIi5jb20uen' + 'dpZnQucHJvdG9idWYuUGFpckRldmljZVR5cGVSBHR5cGUSGgoIZGV2aWNlSWQYAyABKAxSCGRl' + 'dmljZUlk'); + +@$core.Deprecated('Use devicePairingDataPageDescriptor instead') +const DevicePairingDataPage$json = { + '1': 'DevicePairingDataPage', + '2': [ + {'1': 'devicesCount', '3': 1, '4': 1, '5': 5, '10': 'devicesCount'}, + {'1': 'pairingStatus', '3': 2, '4': 1, '5': 5, '10': 'pairingStatus'}, + {'1': 'pairingDevList', '3': 3, '4': 3, '5': 11, '6': '.com.zwift.protobuf.DevicePairingDataPage.PairedDevice', '10': 'pairingDevList'}, + ], + '3': [DevicePairingDataPage_PairedDevice$json], +}; + +@$core.Deprecated('Use devicePairingDataPageDescriptor instead') +const DevicePairingDataPage_PairedDevice$json = { + '1': 'PairedDevice', + '2': [ + {'1': 'device', '3': 1, '4': 1, '5': 12, '10': 'device'}, + ], +}; + +/// Descriptor for `DevicePairingDataPage`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List devicePairingDataPageDescriptor = $convert.base64Decode( + 'ChVEZXZpY2VQYWlyaW5nRGF0YVBhZ2USIgoMZGV2aWNlc0NvdW50GAEgASgFUgxkZXZpY2VzQ2' + '91bnQSJAoNcGFpcmluZ1N0YXR1cxgCIAEoBVINcGFpcmluZ1N0YXR1cxJeCg5wYWlyaW5nRGV2' + 'TGlzdBgDIAMoCzI2LmNvbS56d2lmdC5wcm90b2J1Zi5EZXZpY2VQYWlyaW5nRGF0YVBhZ2UuUG' + 'FpcmVkRGV2aWNlUg5wYWlyaW5nRGV2TGlzdBomCgxQYWlyZWREZXZpY2USFgoGZGV2aWNlGAEg' + 'ASgMUgZkZXZpY2U='); + +@$core.Deprecated('Use setDfuTestDescriptor instead') +const SetDfuTest$json = { + '1': 'SetDfuTest', + '2': [ + {'1': 'failedEnterDfu', '3': 1, '4': 1, '5': 8, '9': 0, '10': 'failedEnterDfu'}, + {'1': 'failedStartAdvertising', '3': 2, '4': 1, '5': 8, '9': 0, '10': 'failedStartAdvertising'}, + {'1': 'crcFailure', '3': 3, '4': 1, '5': 5, '9': 0, '10': 'crcFailure'}, + ], + '8': [ + {'1': 'test_case'}, + ], +}; + +/// Descriptor for `SetDfuTest`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List setDfuTestDescriptor = $convert.base64Decode( + 'CgpTZXREZnVUZXN0EigKDmZhaWxlZEVudGVyRGZ1GAEgASgISABSDmZhaWxlZEVudGVyRGZ1Ej' + 'gKFmZhaWxlZFN0YXJ0QWR2ZXJ0aXNpbmcYAiABKAhIAFIWZmFpbGVkU3RhcnRBZHZlcnRpc2lu' + 'ZxIgCgpjcmNGYWlsdXJlGAMgASgFSABSCmNyY0ZhaWx1cmVCCwoJdGVzdF9jYXNl'); + +@$core.Deprecated('Use setGearTestDataDescriptor instead') +const SetGearTestData$json = { + '1': 'SetGearTestData', + '2': [ + {'1': 'frontGearIdx', '3': 1, '4': 1, '5': 5, '10': 'frontGearIdx'}, + {'1': 'rearGearIdx', '3': 2, '4': 1, '5': 5, '10': 'rearGearIdx'}, + ], +}; + +/// Descriptor for `SetGearTestData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List setGearTestDataDescriptor = $convert.base64Decode( + 'Cg9TZXRHZWFyVGVzdERhdGESIgoMZnJvbnRHZWFySWR4GAEgASgFUgxmcm9udEdlYXJJZHgSIA' + 'oLcmVhckdlYXJJZHgYAiABKAVSC3JlYXJHZWFySWR4'); + +@$core.Deprecated('Use setHrmTestDataDescriptor instead') +const SetHrmTestData$json = { + '1': 'SetHrmTestData', + '2': [ + {'1': 'hrmPresent', '3': 1, '4': 1, '5': 8, '10': 'hrmPresent'}, + {'1': 'heartRate', '3': 2, '4': 1, '5': 5, '10': 'heartRate'}, + ], +}; + +/// Descriptor for `SetHrmTestData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List setHrmTestDataDescriptor = $convert.base64Decode( + 'Cg5TZXRIcm1UZXN0RGF0YRIeCgpocm1QcmVzZW50GAEgASgIUgpocm1QcmVzZW50EhwKCWhlYX' + 'J0UmF0ZRgCIAEoBVIJaGVhcnRSYXRl'); + +@$core.Deprecated('Use setInputDeviceTestDataDescriptor instead') +const SetInputDeviceTestData$json = { + '1': 'SetInputDeviceTestData', + '2': [ + {'1': 'duration', '3': 1, '4': 1, '5': 5, '10': 'duration'}, + {'1': 'buttonEvent', '3': 2, '4': 1, '5': 5, '10': 'buttonEvent'}, + {'1': 'analogEventList', '3': 3, '4': 3, '5': 11, '6': '.com.zwift.protobuf.SetInputDeviceTestData.ControllerAnalogEvent', '10': 'analogEventList'}, + ], + '3': [SetInputDeviceTestData_ControllerAnalogEvent$json], +}; + +@$core.Deprecated('Use setInputDeviceTestDataDescriptor instead') +const SetInputDeviceTestData_ControllerAnalogEvent$json = { + '1': 'ControllerAnalogEvent', + '2': [ + {'1': 'sensorId', '3': 1, '4': 1, '5': 5, '10': 'sensorId'}, + {'1': 'value', '3': 2, '4': 1, '5': 5, '10': 'value'}, + ], +}; + +/// Descriptor for `SetInputDeviceTestData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List setInputDeviceTestDataDescriptor = $convert.base64Decode( + 'ChZTZXRJbnB1dERldmljZVRlc3REYXRhEhoKCGR1cmF0aW9uGAEgASgFUghkdXJhdGlvbhIgCg' + 'tidXR0b25FdmVudBgCIAEoBVILYnV0dG9uRXZlbnQSagoPYW5hbG9nRXZlbnRMaXN0GAMgAygL' + 'MkAuY29tLnp3aWZ0LnByb3RvYnVmLlNldElucHV0RGV2aWNlVGVzdERhdGEuQ29udHJvbGxlck' + 'FuYWxvZ0V2ZW50Ug9hbmFsb2dFdmVudExpc3QaSQoVQ29udHJvbGxlckFuYWxvZ0V2ZW50EhoK' + 'CHNlbnNvcklkGAEgASgFUghzZW5zb3JJZBIUCgV2YWx1ZRgCIAEoBVIFdmFsdWU='); + +@$core.Deprecated('Use setTrainerTestDataDescriptor instead') +const SetTrainerTestData$json = { + '1': 'SetTrainerTestData', + '2': [ + {'1': 'dataMode', '3': 1, '4': 1, '5': 5, '10': 'dataMode'}, + {'1': 'interfaces', '3': 2, '4': 1, '5': 5, '10': 'interfaces'}, + {'1': 'testTrainerData', '3': 3, '4': 1, '5': 11, '6': '.com.zwift.protobuf.TestTrainerData', '10': 'testTrainerData'}, + ], +}; + +/// Descriptor for `SetTrainerTestData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List setTrainerTestDataDescriptor = $convert.base64Decode( + 'ChJTZXRUcmFpbmVyVGVzdERhdGESGgoIZGF0YU1vZGUYASABKAVSCGRhdGFNb2RlEh4KCmludG' + 'VyZmFjZXMYAiABKAVSCmludGVyZmFjZXMSTQoPdGVzdFRyYWluZXJEYXRhGAMgASgLMiMuY29t' + 'Lnp3aWZ0LnByb3RvYnVmLlRlc3RUcmFpbmVyRGF0YVIPdGVzdFRyYWluZXJEYXRh'); + +@$core.Deprecated('Use testTrainerDataDescriptor instead') +const TestTrainerData$json = { + '1': 'TestTrainerData', + '2': [ + {'1': 'power', '3': 1, '4': 1, '5': 5, '10': 'power'}, + {'1': 'cadence', '3': 2, '4': 1, '5': 5, '10': 'cadence'}, + {'1': 'bikeSpeed', '3': 3, '4': 1, '5': 5, '10': 'bikeSpeed'}, + {'1': 'averagedPower', '3': 4, '4': 1, '5': 5, '10': 'averagedPower'}, + {'1': 'wheelSpeed', '3': 5, '4': 1, '5': 5, '10': 'wheelSpeed'}, + {'1': 'calculatedRealGearRatio', '3': 6, '4': 1, '5': 5, '10': 'calculatedRealGearRatio'}, + ], +}; + +/// Descriptor for `TestTrainerData`. Decode as a `google.protobuf.DescriptorProto`. +final $typed_data.Uint8List testTrainerDataDescriptor = $convert.base64Decode( + 'Cg9UZXN0VHJhaW5lckRhdGESFAoFcG93ZXIYASABKAVSBXBvd2VyEhgKB2NhZGVuY2UYAiABKA' + 'VSB2NhZGVuY2USHAoJYmlrZVNwZWVkGAMgASgFUgliaWtlU3BlZWQSJAoNYXZlcmFnZWRQb3dl' + 'chgEIAEoBVINYXZlcmFnZWRQb3dlchIeCgp3aGVlbFNwZWVkGAUgASgFUgp3aGVlbFNwZWVkEj' + 'gKF2NhbGN1bGF0ZWRSZWFsR2VhclJhdGlvGAYgASgFUhdjYWxjdWxhdGVkUmVhbEdlYXJSYXRp' + 'bw=='); + diff --git a/lib/bluetooth/protocol/zp_vendor.pbserver.dart b/lib/bluetooth/protocol/zp_vendor.pbserver.dart new file mode 100644 index 000000000..f57b0a489 --- /dev/null +++ b/lib/bluetooth/protocol/zp_vendor.pbserver.dart @@ -0,0 +1,14 @@ +// +// Generated code. Do not modify. +// source: zp_vendor.proto +// +// @dart = 2.12 + +// ignore_for_file: annotate_overrides, camel_case_types, comment_references +// ignore_for_file: constant_identifier_names +// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes +// ignore_for_file: non_constant_identifier_names, prefer_final_fields +// ignore_for_file: unnecessary_import, unnecessary_this, unused_import + +export 'zp_vendor.pb.dart'; + diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 078451508..9c33d3470 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -201,13 +201,12 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' setState(() {}); }, ), - if (kDebugMode && - connection.devices.any((device) => (device is ZwiftClickV2) && device.isConnected)) + if (connection.devices.any((device) => (device is ZwiftClickV2) && device.isConnected)) ElevatedButton( onPressed: () { (connection.devices.first as ZwiftClickV2).test(); }, - child: Text('Test'), + child: Text('Reset'), ), ], ), From ca41e69a173c000c1f1ec7546facbc3fd3caf017 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Wed, 1 Oct 2025 15:41:19 +0200 Subject: [PATCH 225/636] fix issue #81 --- launch.json => .vscode/launch.json | 0 CHANGELOG.md | 3 +++ lib/pages/touch_area.dart | 11 ++++++++--- lib/utils/actions/desktop.dart | 2 +- lib/widgets/keymap_explanation.dart | 4 ++-- pubspec.yaml | 2 +- 6 files changed, 15 insertions(+), 7 deletions(-) rename launch.json => .vscode/launch.json (100%) diff --git a/launch.json b/.vscode/launch.json similarity index 100% rename from launch.json rename to .vscode/launch.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 1706f829e..bca560869 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +### 2.6.1 (2025-10-01) +- fix a few issues with the new touch placement feature + ### 2.6.0 (2025-09-30) - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 - show firmware version of connected device diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart index e2d55f484..ef85ab99b 100644 --- a/lib/pages/touch_area.dart +++ b/lib/pages/touch_area.dart @@ -74,7 +74,10 @@ class _TouchAreaSetupPageState extends State { // Force landscape orientation during keymap editing SystemChrome.setPreferredOrientations([DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight]); - SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky, overlays: []); + SystemChrome.setEnabledSystemUIMode(SystemUiMode.immersiveSticky, overlays: []).then((_) { + // this will make sure the buttons are placed correctly after the transition + setState(() {}); + }); if (Platform.isWindows || Platform.isLinux || Platform.isMacOS) { windowManager.setFullScreen(true); } @@ -128,9 +131,11 @@ class _TouchAreaSetupPageState extends State { }) { final flutterView = WidgetsBinding.instance.platformDispatcher.views.first; - // figure out notch height for e.g. macOS + // figure out notch height for e.g. macOS. On Windows the display size is not available (0,0). final differenceInHeight = - (flutterView.display.size.height - flutterView.physicalSize.height) / flutterView.devicePixelRatio; + (flutterView.display.size.height > 0) + ? (flutterView.display.size.height - flutterView.physicalSize.height) / flutterView.devicePixelRatio + : 0.0; if (kDebugMode) { print('Display Size: ${flutterView.display.size}'); diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart index cf2a02b32..f8c3c40d1 100644 --- a/lib/utils/actions/desktop.dart +++ b/lib/utils/actions/desktop.dart @@ -59,7 +59,7 @@ class DesktopActions extends BaseActions { final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null); await keyPressSimulator.simulateMouseClickDown(point); await keyPressSimulator.simulateMouseClickUp(point); - return 'Mouse clicked at: $point'; + return 'Mouse clicked at: ${point.dx} ${point.dy}'; } } } diff --git a/lib/widgets/keymap_explanation.dart b/lib/widgets/keymap_explanation.dart index 3d7ead5ab..8c1c072fa 100644 --- a/lib/widgets/keymap_explanation.dart +++ b/lib/widgets/keymap_explanation.dart @@ -20,10 +20,10 @@ class KeymapExplanation extends StatelessWidget { final keyboardGroups = availableKeypairs .filter((e) => e.physicalKey != null) - .groupBy((element) => '${element.physicalKey}-${element.isLongPress}'); + .groupBy((element) => '${element.physicalKey?.usbHidUsage}-${element.isLongPress}'); final touchGroups = availableKeypairs .filter((e) => e.physicalKey == null && e.touchPosition != Offset.zero) - .groupBy((element) => '${element.touchPosition}-${element.isLongPress}'); + .groupBy((element) => '${element.touchPosition.dx}-${element.touchPosition.dy}-${element.isLongPress}'); return Column( crossAxisAlignment: CrossAxisAlignment.start, diff --git a/pubspec.yaml b/pubspec.yaml index fb09dfcfd..c4ce25b57 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.6.0+6 +version: 2.6.1+7 environment: sdk: ^3.7.0 From 30aa5b33a37a2302a3bc5fb1c1ccfbbb779c6f63 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Wed, 1 Oct 2025 15:41:44 +0200 Subject: [PATCH 226/636] fix issue #81 --- .github/workflows/build.yml | 3 ++- lib/pages/device.dart | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ad2836f07..fd30bcb34 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -160,7 +160,8 @@ jobs: - name: Upload to Play Store # only upload when env.VERSION does not end with 1337, which is our indicator for beta releases - if: "!endsWith(env.VERSION, '1337')" + #if: "!endsWith(env.VERSION, '1337')" + if: false uses: r0adkll/upload-google-play@v1 with: serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 9c33d3470..937ce0ebd 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -201,7 +201,8 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' setState(() {}); }, ), - if (connection.devices.any((device) => (device is ZwiftClickV2) && device.isConnected)) + if (kDebugMode && + connection.devices.any((device) => (device is ZwiftClickV2) && device.isConnected)) ElevatedButton( onPressed: () { (connection.devices.first as ZwiftClickV2).test(); From f83defb37ba18692e14534d1780068de649f3adb Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Wed, 1 Oct 2025 16:17:20 +0200 Subject: [PATCH 227/636] introduce workaround for Zwift Click V2 (reset every minute) --- .github/workflows/build.yml | 3 +- CHANGELOG.md | 1 + lib/bluetooth/devices/zwift_clickv2.dart | 42 ++++++++++++------------ lib/bluetooth/devices/zwift_ride.dart | 10 ++++-- lib/pages/device.dart | 10 +++--- 5 files changed, 37 insertions(+), 29 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fd30bcb34..ad2836f07 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -160,8 +160,7 @@ jobs: - name: Upload to Play Store # only upload when env.VERSION does not end with 1337, which is our indicator for beta releases - #if: "!endsWith(env.VERSION, '1337')" - if: false + if: "!endsWith(env.VERSION, '1337')" uses: r0adkll/upload-google-play@v1 with: serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }} diff --git a/CHANGELOG.md b/CHANGELOG.md index bca560869..0b8cb3466 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ ### 2.6.1 (2025-10-01) - fix a few issues with the new touch placement feature +- add a workaround for Zwift Click V2 which resets the device when button events are no longer sent ### 2.6.0 (2025-09-30) - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 diff --git a/lib/bluetooth/devices/zwift_clickv2.dart b/lib/bluetooth/devices/zwift_clickv2.dart index 20af5ac7a..cf1f427d6 100644 --- a/lib/bluetooth/devices/zwift_clickv2.dart +++ b/lib/bluetooth/devices/zwift_clickv2.dart @@ -1,9 +1,9 @@ import 'dart:typed_data'; import 'package:swift_control/bluetooth/devices/zwift_ride.dart'; -import 'package:swift_control/bluetooth/protocol/zp.pb.dart'; import '../ble.dart'; +import '../protocol/zp.pbenum.dart'; class ZwiftClickV2 extends ZwiftRide { ZwiftClickV2(super.scanResult); @@ -44,27 +44,27 @@ class ZwiftClickV2 extends ZwiftRide { 0x00, 0x0A, 0x15, - 0x40, - 0xE9, - 0xD9, - 0xC9, - 0x6B, - 0x74, - 0x63, 0xC2, - 0x7F, - 0x1B, - 0x4E, - 0x4D, - 0x9F, - 0x1C, - 0xB1, - 0x20, - 0x5D, - 0x88, - 0x2E, - 0xD7, - 0xCE, + 0x63, + 0x24, + 0x0A, + 0x31, + 0xD6, + 0xC6, + 0xB8, + 0x1F, + 0xC1, + 0x29, + 0xD6, + 0xA4, + 0xE9, + 0x9D, + 0xFF, + 0xFC, + 0xB9, + 0xFC, + 0x41, + 0x8D, ]), );*/ } diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart index fd224292c..b31ad628a 100644 --- a/lib/bluetooth/devices/zwift_ride.dart +++ b/lib/bluetooth/devices/zwift_ride.dart @@ -2,6 +2,7 @@ import 'package:dartx/dartx.dart'; import 'package:flutter/foundation.dart'; import 'package:protobuf/protobuf.dart' as $pb; import 'package:swift_control/bluetooth/devices/base_device.dart'; +import 'package:swift_control/bluetooth/devices/zwift_clickv2.dart'; import 'package:swift_control/bluetooth/messages/ride_notification.dart'; import 'package:swift_control/bluetooth/protocol/zp_vendor.pb.dart'; import 'package:swift_control/utils/keymap/buttons.dart'; @@ -77,10 +78,15 @@ class ZwiftRide extends BaseDevice { ); } - if (bytes.startsWith(Constants.RESPONSE_STOPPED_CLICK_V2)) { + if (bytes.startsWith(Constants.RESPONSE_STOPPED_CLICK_V2) && this is ZwiftClickV2) { actionStreamInternal.add( - LogNotification('Your Zwift Click V2 no longer sends events. Connect it in the Zwift app once per day.'), + LogNotification( + 'Your Zwift Click V2 no longer sends events. Connect it in the Zwift app once per day. Resetting the device now.', + ), ); + if (!kDebugMode) { + sendCommand(Opcode.RESET, null); + } } switch (opcode) { diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 937ce0ebd..2af9436af 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -78,10 +78,12 @@ class _DevicePageState extends State { ), padding: const EdgeInsets.all(8), child: Text( - '''To make your Zwift Click V2 work properly you need to connect it to with in the Zwift app once each day: + '''To make your Zwift Click V2 work best you should connect it in the Zwift app once each day.\nIf you don't do that SwiftControl will need to reconnect every minute. + 1. Open Zwift app -2. After logging in (subscription not required) find it in the device connection screen and connect it -3. Close the Zwift app again and connect again in SwiftControl''', +2. Log in (subscription not required) and open the device connection screen +3. Connect your Trainer, then connect the Zwift Click V2 +4. Close the Zwift app again and connect again in SwiftControl''', ), ), Text( @@ -207,7 +209,7 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' onPressed: () { (connection.devices.first as ZwiftClickV2).test(); }, - child: Text('Reset'), + child: Text('Test'), ), ], ), From d8e45f849aa9648b86e8737bb789da97dd82348d Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Wed, 1 Oct 2025 20:11:01 +0200 Subject: [PATCH 228/636] ui fixes, increase repeating timer --- lib/bluetooth/devices/base_device.dart | 2 +- lib/pages/touch_area.dart | 2 +- lib/widgets/keymap_explanation.dart | 32 ++++++++++++++------------ 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index d2fbee19e..d86384aef 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -300,7 +300,7 @@ abstract class BaseDevice { buttonsClicked.singleOrNull == ZwiftButton.onOffRight)) { // we don't want to trigger the long press timer for the on/off buttons, also not when it's a long press key _longPressTimer?.cancel(); - _longPressTimer = Timer.periodic(const Duration(milliseconds: 250), (timer) async { + _longPressTimer = Timer.periodic(const Duration(milliseconds: 350), (timer) async { _performActions(buttonsClicked, true); }); } else if (isLongPress) { diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart index ef85ab99b..9ab1ac0ad 100644 --- a/lib/pages/touch_area.dart +++ b/lib/pages/touch_area.dart @@ -376,7 +376,7 @@ class KeypairExplanation extends StatelessWidget { @override Widget build(BuildContext context) { - return Row( + return Wrap( spacing: 4, children: [ if (withKey) KeyWidget(label: keyPair.buttons.joinToString(transform: (e) => e.name, separator: '\n')), diff --git a/lib/widgets/keymap_explanation.dart b/lib/widgets/keymap_explanation.dart index 8c1c072fa..cbc5219e2 100644 --- a/lib/widgets/keymap_explanation.dart +++ b/lib/widgets/keymap_explanation.dart @@ -106,21 +106,23 @@ class KeyWidget extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( - padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 4), - constraints: BoxConstraints(minWidth: 30), - decoration: BoxDecoration( - border: Border.all(color: Theme.of(context).colorScheme.primary), - borderRadius: BorderRadius.circular(4), - color: Theme.of(context).colorScheme.primaryContainer, - ), - child: Center( - child: Text( - label.splitByUpperCase(), - style: TextStyle( - fontFamily: 'monospace', - fontSize: 12, - color: Theme.of(context).colorScheme.onPrimaryContainer, + return IntrinsicWidth( + child: Container( + padding: const EdgeInsets.symmetric(horizontal: 4, vertical: 4), + constraints: BoxConstraints(minWidth: 30), + decoration: BoxDecoration( + border: Border.all(color: Theme.of(context).colorScheme.primary), + borderRadius: BorderRadius.circular(4), + color: Theme.of(context).colorScheme.primaryContainer, + ), + child: Center( + child: Text( + label.splitByUpperCase(), + style: TextStyle( + fontFamily: 'monospace', + fontSize: 12, + color: Theme.of(context).colorScheme.onPrimaryContainer, + ), ), ), ), From cbef8fc044fba34734496fe7e85f2ccefa6b9e32 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Wed, 1 Oct 2025 20:23:02 +0200 Subject: [PATCH 229/636] fix #82 --- CHANGELOG.md | 3 ++- lib/bluetooth/devices/base_device.dart | 5 ++--- lib/utils/actions/android.dart | 6 +++++- pubspec.yaml | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b8cb3466..41714e9cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ -### 2.6.1 (2025-10-01) +### 2.6.2 (2025-10-01) - fix a few issues with the new touch placement feature - add a workaround for Zwift Click V2 which resets the device when button events are no longer sent +- fix issue on Android where only a "touch down" was sent, but no "touch up" ### 2.6.0 (2025-09-30) - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index d86384aef..4a3fc40a9 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -303,10 +303,9 @@ abstract class BaseDevice { _longPressTimer = Timer.periodic(const Duration(milliseconds: 350), (timer) async { _performActions(buttonsClicked, true); }); - } else if (isLongPress) { - // Update currently pressed buttons - _previouslyPressedButtons = buttonsClicked.toSet(); } + // Update currently pressed buttons + _previouslyPressedButtons = buttonsClicked.toSet(); return _performActions(buttonsClicked, false); } diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart index 45a4b6b81..f8df7ad67 100644 --- a/lib/utils/actions/android.dart +++ b/lib/utils/actions/android.dart @@ -44,7 +44,11 @@ class AndroidActions extends BaseActions { final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo); if (point != Offset.zero) { accessibilityHandler.performTouch(point.dx, point.dy, isKeyDown: isKeyDown, isKeyUp: isKeyUp); - return "Touch performed at: ${point.dx.toInt()}, ${point.dy.toInt()}"; + return "Touch performed at: ${point.dx.toInt()}, ${point.dy.toInt()} -> ${isKeyDown + ? "down" + : isKeyUp + ? "up" + : "click"}"; } return "No touch performed"; } diff --git a/pubspec.yaml b/pubspec.yaml index c4ce25b57..43d5f3505 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.6.1+7 +version: 2.6.2+8 environment: sdk: ^3.7.0 From 455db754d83bbf44537f450fd86d666f046f935d Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Wed, 1 Oct 2025 20:33:56 +0200 Subject: [PATCH 230/636] fix #82 --- CHANGELOG.md | 2 +- lib/bluetooth/devices/base_device.dart | 4 +- lib/utils/actions/desktop.dart | 63 +++++++++--------------- lib/widgets/logviewer.dart | 67 ++++++++++++++------------ 4 files changed, 62 insertions(+), 74 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 41714e9cc..3e14cad3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ ### 2.6.2 (2025-10-01) - fix a few issues with the new touch placement feature - add a workaround for Zwift Click V2 which resets the device when button events are no longer sent -- fix issue on Android where only a "touch down" was sent, but no "touch up" +- fix issue on Android and Desktop where only a "touch down" was sent, but no "touch up" ### 2.6.0 (2025-09-30) - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 4a3fc40a9..d8584a2a4 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -348,11 +348,11 @@ abstract class BaseDevice { Future disconnect() async { _isInited = false; _longPressTimer?.cancel(); - _previouslyPressedButtons.clear(); // Release any held keys in long press mode if (actionHandler is DesktopActions) { - await (actionHandler as DesktopActions).releaseAllHeldKeys(); + await (actionHandler as DesktopActions).releaseAllHeldKeys(_previouslyPressedButtons.toList()); } + _previouslyPressedButtons.clear(); await UniversalBle.disconnect(device.deviceId); isConnected = false; } diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart index f8c3c40d1..715463028 100644 --- a/lib/utils/actions/desktop.dart +++ b/lib/utils/actions/desktop.dart @@ -5,7 +5,6 @@ import 'package:swift_control/widgets/keymap_explanation.dart'; class DesktopActions extends BaseActions { // Track keys that are currently held down in long press mode - final Set _heldKeys = {}; @override Future performAction(ZwiftButton action, {bool isKeyDown = true, bool isKeyUp = false}) async { @@ -18,60 +17,42 @@ class DesktopActions extends BaseActions { return ('Keymap entry not found for action: ${action.toString().splitByUpperCase()}'); } - // Handle long press mode - if (keyPair.isLongPress) { - if (isKeyDown && !isKeyUp) { - // Key press: start long press - if (!_heldKeys.contains(action)) { - _heldKeys.add(action); - if (keyPair.physicalKey != null) { - await keyPressSimulator.simulateKeyDown(keyPair.physicalKey); - return 'Long press started: ${keyPair.logicalKey?.keyLabel}'; - } else { - final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null); - await keyPressSimulator.simulateMouseClickDown(point); - return 'Long Mouse click started at: $point'; - } - } - } else if (isKeyUp && !isKeyDown) { - // Key release: end long press - if (_heldKeys.contains(action)) { - _heldKeys.remove(action); - if (keyPair.physicalKey != null) { - await keyPressSimulator.simulateKeyUp(keyPair.physicalKey); - return 'Long press ended: ${keyPair.logicalKey?.keyLabel}'; - } else { - final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null); - await keyPressSimulator.simulateMouseClickUp(point); - return 'Long Mouse click ended at: $point'; - } - } - } - // Ignore other combinations in long press mode - return 'Long press active'; - } else { - // Handle regular key press mode (existing behavior) - if (keyPair.physicalKey != null) { + // Handle regular key press mode (existing behavior) + if (keyPair.physicalKey != null) { + if (isKeyDown) { await keyPressSimulator.simulateKeyDown(keyPair.physicalKey); - await keyPressSimulator.simulateKeyUp(keyPair.physicalKey); return 'Key pressed: $keyPair'; + } else if (isKeyUp) { + await keyPressSimulator.simulateKeyUp(keyPair.physicalKey); + return 'Key released: $keyPair'; + } else { + await keyPressSimulator.simulateKeyDown(keyPair.physicalKey); + await keyPressSimulator.simulateKeyUp(keyPair.physicalKey); + return 'Key clicked: $keyPair'; + } + } else { + final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null); + if (isKeyDown) { + await keyPressSimulator.simulateMouseClickDown(point); + return 'Mouse down at: ${point.dx} ${point.dy}'; + } else if (isKeyUp) { + await keyPressSimulator.simulateMouseClickUp(point); + return 'Mouse up at: ${point.dx} ${point.dy}'; } else { - final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null); await keyPressSimulator.simulateMouseClickDown(point); await keyPressSimulator.simulateMouseClickUp(point); - return 'Mouse clicked at: ${point.dx} ${point.dy}'; } + return 'Mouse clicked at: ${point.dx} ${point.dy}'; } } // Release all held keys (useful for cleanup) - Future releaseAllHeldKeys() async { - for (final action in _heldKeys.toList()) { + Future releaseAllHeldKeys(List list) async { + for (final action in list) { final keyPair = supportedApp?.keymap.getKeyPair(action); if (keyPair?.physicalKey != null) { await keyPressSimulator.simulateKeyUp(keyPair!.physicalKey); } } - _heldKeys.clear(); } } diff --git a/lib/widgets/logviewer.dart b/lib/widgets/logviewer.dart index 655773c20..b23e5a796 100644 --- a/lib/widgets/logviewer.dart +++ b/lib/widgets/logviewer.dart @@ -49,39 +49,46 @@ class _LogviewerState extends State { @override Widget build(BuildContext context) { return SelectionArea( - child: ListView( - physics: const NeverScrollableScrollPhysics(), - controller: _scrollController, - shrinkWrap: true, - reverse: true, - children: - _actions - .map( - (action) => Text.rich( - TextSpan( - children: [ - TextSpan( - text: action.date.toString().split(" ").last, - style: TextStyle( - fontSize: 12, - fontFeatures: [FontFeature.tabularFigures()], - fontFamily: "monospace", - fontFamilyFallback: ["Courier"], + child: GestureDetector( + onLongPress: () { + setState(() { + _actions = []; + }); + }, + child: ListView( + physics: const NeverScrollableScrollPhysics(), + controller: _scrollController, + shrinkWrap: true, + reverse: true, + children: + _actions + .map( + (action) => Text.rich( + TextSpan( + children: [ + TextSpan( + text: action.date.toString().split(" ").last, + style: TextStyle( + fontSize: 12, + fontFeatures: [FontFeature.tabularFigures()], + fontFamily: "monospace", + fontFamilyFallback: ["Courier"], + ), ), - ), - TextSpan( - text: " ${action.entry}", - style: TextStyle( - fontSize: 12, - fontFeatures: [FontFeature.tabularFigures()], - fontWeight: FontWeight.bold, + TextSpan( + text: " ${action.entry}", + style: TextStyle( + fontSize: 12, + fontFeatures: [FontFeature.tabularFigures()], + fontWeight: FontWeight.bold, + ), ), - ), - ], + ], + ), ), - ), - ) - .toList(), + ) + .toList(), + ), ), ); } From dc63f693f06a701f68cb616f30c09d5d436d3f88 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Thu, 2 Oct 2025 18:10:12 +0200 Subject: [PATCH 231/636] fix double clicks in some apps --- CHANGELOG.md | 2 +- lib/bluetooth/devices/base_device.dart | 11 +++++------ pubspec.yaml | 2 +- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e14cad3b..44e36ccd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 2.6.2 (2025-10-01) +### 2.6.3 (2025-10-01) - fix a few issues with the new touch placement feature - add a workaround for Zwift Click V2 which resets the device when button events are no longer sent - fix issue on Android and Desktop where only a "touch down" was sent, but no "touch up" diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index d8584a2a4..f0b43e603 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -272,6 +272,9 @@ abstract class BaseDevice { Future?> processClickNotification(Uint8List message); Future handleButtonsClicked(List? buttonsClicked) async { + final isLongPress = + buttonsClicked?.singleOrNull != null && + actionHandler.supportedApp?.keymap.getKeyPair(buttonsClicked!.single)?.isLongPress == true; if (buttonsClicked == null) { // ignore, no changes } else if (buttonsClicked.isEmpty) { @@ -280,21 +283,17 @@ abstract class BaseDevice { // Handle release events for long press keys final buttonsReleased = _previouslyPressedButtons.toList(); - if (buttonsReleased.isNotEmpty) { + if (buttonsReleased.isNotEmpty && isLongPress) { await _performRelease(buttonsReleased); } _previouslyPressedButtons.clear(); } else { // Handle release events for buttons that are no longer pressed final buttonsReleased = _previouslyPressedButtons.difference(buttonsClicked.toSet()).toList(); - if (buttonsReleased.isNotEmpty) { + if (buttonsReleased.isNotEmpty && isLongPress) { await _performRelease(buttonsReleased); } - final isLongPress = - buttonsClicked.singleOrNull != null && - actionHandler.supportedApp?.keymap.getKeyPair(buttonsClicked.single)?.isLongPress == true; - if (!isLongPress && !(buttonsClicked.singleOrNull == ZwiftButton.onOffLeft || buttonsClicked.singleOrNull == ZwiftButton.onOffRight)) { diff --git a/pubspec.yaml b/pubspec.yaml index 43d5f3505..a1dc2c0ef 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.6.2+8 +version: 2.6.3+9 environment: sdk: ^3.7.0 From 54b2f73384926373546ccc1816a5297708dcaec4 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Thu, 2 Oct 2025 21:02:54 +0200 Subject: [PATCH 232/636] fix delayed clicks in some apps --- .../accessibility/AccessibilityService.kt | 2 +- lib/bluetooth/devices/base_device.dart | 43 ++++++++++++++----- lib/utils/actions/android.dart | 8 ++-- lib/utils/actions/desktop.dart | 24 +++++------ lib/widgets/testbed.dart | 20 +++++++++ pubspec.yaml | 2 +- 6 files changed, 70 insertions(+), 29 deletions(-) diff --git a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt index d8c3a95ba..32a00b908 100644 --- a/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt +++ b/accessibility/android/src/main/kotlin/de/jonasbark/accessibility/AccessibilityService.kt @@ -56,7 +56,7 @@ class AccessibilityService : AccessibilityService(), Listener { path.moveTo(x.toFloat(), y.toFloat()) path.lineTo(x.toFloat()+1, y.toFloat()) - val stroke = StrokeDescription(path, 0, ViewConfiguration.getTapTimeout().toLong(), isKeyDown) + val stroke = StrokeDescription(path, 0, ViewConfiguration.getTapTimeout().toLong(), isKeyDown && !isKeyUp) gestureBuilder.addStroke(stroke) dispatchGesture(gestureBuilder.build(), null, null) diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index f0b43e603..51da9d0c4 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -272,9 +272,6 @@ abstract class BaseDevice { Future?> processClickNotification(Uint8List message); Future handleButtonsClicked(List? buttonsClicked) async { - final isLongPress = - buttonsClicked?.singleOrNull != null && - actionHandler.supportedApp?.keymap.getKeyPair(buttonsClicked!.single)?.isLongPress == true; if (buttonsClicked == null) { // ignore, no changes } else if (buttonsClicked.isEmpty) { @@ -283,6 +280,9 @@ abstract class BaseDevice { // Handle release events for long press keys final buttonsReleased = _previouslyPressedButtons.toList(); + final isLongPress = + buttonsReleased.singleOrNull != null && + actionHandler.supportedApp?.keymap.getKeyPair(buttonsReleased.single)?.isLongPress == true; if (buttonsReleased.isNotEmpty && isLongPress) { await _performRelease(buttonsReleased); } @@ -290,37 +290,58 @@ abstract class BaseDevice { } else { // Handle release events for buttons that are no longer pressed final buttonsReleased = _previouslyPressedButtons.difference(buttonsClicked.toSet()).toList(); - if (buttonsReleased.isNotEmpty && isLongPress) { + final wasLongPress = + buttonsReleased.singleOrNull != null && + actionHandler.supportedApp?.keymap.getKeyPair(buttonsReleased.single)?.isLongPress == true; + if (buttonsReleased.isNotEmpty && wasLongPress) { await _performRelease(buttonsReleased); } + final isLongPress = + buttonsClicked.singleOrNull != null && + actionHandler.supportedApp?.keymap.getKeyPair(buttonsClicked.single)?.isLongPress == true; + if (!isLongPress && !(buttonsClicked.singleOrNull == ZwiftButton.onOffLeft || buttonsClicked.singleOrNull == ZwiftButton.onOffRight)) { // we don't want to trigger the long press timer for the on/off buttons, also not when it's a long press key _longPressTimer?.cancel(); _longPressTimer = Timer.periodic(const Duration(milliseconds: 350), (timer) async { - _performActions(buttonsClicked, true); + _performClick(buttonsClicked); }); } // Update currently pressed buttons _previouslyPressedButtons = buttonsClicked.toSet(); - return _performActions(buttonsClicked, false); + if (isLongPress) { + return _performDown(buttonsClicked); + } else { + return _performClick(buttonsClicked); + } } } - Future _performActions(List buttonsClicked, bool repeated) async { - if (!repeated && - buttonsClicked.any(((e) => e.action == InGameAction.shiftDown || e.action == InGameAction.shiftUp)) && + Future _performDown(List buttonsClicked) async { + if (buttonsClicked.any(((e) => e.action == InGameAction.shiftDown || e.action == InGameAction.shiftUp)) && settings.getVibrationEnabled()) { await _vibrate(); } for (final action in buttonsClicked) { // For repeated actions, don't trigger key down/up events (useful for long press) - final isKeyDown = !repeated; actionStreamInternal.add( - LogNotification(await actionHandler.performAction(action, isKeyDown: isKeyDown, isKeyUp: false)), + LogNotification(await actionHandler.performAction(action, isKeyDown: true, isKeyUp: false)), + ); + } + } + + Future _performClick(List buttonsClicked) async { + if (buttonsClicked.any(((e) => e.action == InGameAction.shiftDown || e.action == InGameAction.shiftUp)) && + settings.getVibrationEnabled()) { + await _vibrate(); + } + for (final action in buttonsClicked) { + actionStreamInternal.add( + LogNotification(await actionHandler.performAction(action, isKeyDown: true, isKeyUp: true)), ); } } diff --git a/lib/utils/actions/android.dart b/lib/utils/actions/android.dart index f8df7ad67..564306811 100644 --- a/lib/utils/actions/android.dart +++ b/lib/utils/actions/android.dart @@ -44,11 +44,11 @@ class AndroidActions extends BaseActions { final point = supportedApp!.resolveTouchPosition(action: button, windowInfo: windowInfo); if (point != Offset.zero) { accessibilityHandler.performTouch(point.dx, point.dy, isKeyDown: isKeyDown, isKeyUp: isKeyUp); - return "Touch performed at: ${point.dx.toInt()}, ${point.dy.toInt()} -> ${isKeyDown + return "Touch performed at: ${point.dx.toInt()}, ${point.dy.toInt()} -> ${isKeyDown && isKeyUp + ? "click" + : isKeyDown ? "down" - : isKeyUp - ? "up" - : "click"}"; + : "up"}"; } return "No touch performed"; } diff --git a/lib/utils/actions/desktop.dart b/lib/utils/actions/desktop.dart index 715463028..910bd9021 100644 --- a/lib/utils/actions/desktop.dart +++ b/lib/utils/actions/desktop.dart @@ -19,30 +19,30 @@ class DesktopActions extends BaseActions { // Handle regular key press mode (existing behavior) if (keyPair.physicalKey != null) { - if (isKeyDown) { + if (isKeyDown && isKeyUp) { await keyPressSimulator.simulateKeyDown(keyPair.physicalKey); - return 'Key pressed: $keyPair'; - } else if (isKeyUp) { await keyPressSimulator.simulateKeyUp(keyPair.physicalKey); - return 'Key released: $keyPair'; - } else { + return 'Key clicked: $keyPair'; + } else if (isKeyDown) { await keyPressSimulator.simulateKeyDown(keyPair.physicalKey); + return 'Key pressed: $keyPair'; + } else { await keyPressSimulator.simulateKeyUp(keyPair.physicalKey); - return 'Key clicked: $keyPair'; + return 'Key released: $keyPair'; } } else { final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null); - if (isKeyDown) { + if (isKeyDown && isKeyUp) { await keyPressSimulator.simulateMouseClickDown(point); - return 'Mouse down at: ${point.dx} ${point.dy}'; - } else if (isKeyUp) { await keyPressSimulator.simulateMouseClickUp(point); - return 'Mouse up at: ${point.dx} ${point.dy}'; - } else { + return 'Mouse clicked at: ${point.dx} ${point.dy}'; + } else if (isKeyDown) { await keyPressSimulator.simulateMouseClickDown(point); + return 'Mouse down at: ${point.dx} ${point.dy}'; + } else { await keyPressSimulator.simulateMouseClickUp(point); + return 'Mouse up at: ${point.dx} ${point.dy}'; } - return 'Mouse clicked at: ${point.dx} ${point.dy}'; } } diff --git a/lib/widgets/testbed.dart b/lib/widgets/testbed.dart index 4c74133da..8002d99f2 100644 --- a/lib/widgets/testbed.dart +++ b/lib/widgets/testbed.dart @@ -90,6 +90,23 @@ class _TestbedState extends State with SingleTickerProviderStateMixin { setState(() {}); } + void _onPointerUp(PointerUpEvent e) { + if (!widget.enabled || + !widget.showTouches || + (e.kind != PointerDeviceKind.unknown && e.kind != PointerDeviceKind.mouse)) { + return; + } + final sample = _TouchSample( + pointer: e.pointer, + position: e.position, + timestamp: DateTime.now(), + phase: _TouchPhase.up, + ); + _active[e.pointer] = sample; + _history.add(sample); + setState(() {}); + } + void _onPointerCancel(PointerCancelEvent e) { if (!widget.enabled || !widget.showTouches || !mounted) return; _active.remove(e.pointer); @@ -130,6 +147,7 @@ class _TestbedState extends State with SingleTickerProviderStateMixin { Widget build(BuildContext context) { return Listener( onPointerDown: _onPointerDown, + onPointerUp: _onPointerUp, onPointerCancel: _onPointerCancel, behavior: HitTestBehavior.translucent, child: Focus( @@ -206,6 +224,8 @@ class _TouchesPainter extends CustomPainter { final age = now.difference(s.timestamp); if (age > duration) continue; + final color = s.phase == _TouchPhase.down ? this.color : Colors.red; + final t = age.inMilliseconds / duration.inMilliseconds.clamp(1, 1 << 30); final fade = (1.0 - t).clamp(0.0, 1.0); diff --git a/pubspec.yaml b/pubspec.yaml index a1dc2c0ef..0f8d4d36f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.6.3+9 +version: 2.6.4+10 environment: sdk: ^3.7.0 From f51d588510a44163243db51dbb5e1298c7559132 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Thu, 2 Oct 2025 21:38:56 +0200 Subject: [PATCH 233/636] improve UI when handling custom keymaps around the edges of the screen --- CHANGELOG.md | 1 + lib/pages/touch_area.dart | 270 +++++++++++++++++++++----------------- 2 files changed, 148 insertions(+), 123 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 44e36ccd2..2a8e1f0e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - fix a few issues with the new touch placement feature - add a workaround for Zwift Click V2 which resets the device when button events are no longer sent - fix issue on Android and Desktop where only a "touch down" was sent, but no "touch up" +- improve UI when handling custom keymaps around the edges of the screen ### 2.6.0 (2025-09-30) - refactor touch placements: show touches on screen, fix misplaced coordinates - should fix #64 diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart index 9ab1ac0ad..4ffbb2b12 100644 --- a/lib/pages/touch_area.dart +++ b/lib/pages/touch_area.dart @@ -137,150 +137,173 @@ class _TouchAreaSetupPageState extends State { ? (flutterView.display.size.height - flutterView.physicalSize.height) / flutterView.devicePixelRatio : 0.0; - if (kDebugMode) { + if (kDebugMode && false) { + print('Position: $position'); print('Display Size: ${flutterView.display.size}'); print('View size: ${flutterView.physicalSize}'); print('Difference: $differenceInHeight'); } + + final isOnTheRightEdge = position.dx > (MediaQuery.sizeOf(context).width - 250); + final label = KeypairExplanation(withKey: true, keyPair: keyPair); + + final iconSize = 40.0; + final icon = Container( + decoration: BoxDecoration( + color: color.withOpacity(0.4), + shape: BoxShape.circle, + border: Border.all(color: Colors.white, width: 2), + ), + child: Icon( + (!keyPair.isSpecialKey && keyPair.physicalKey == null && keyPair.touchPosition != Offset.zero) + ? Icons.add + : Icons.drag_indicator_outlined, + size: iconSize, + shadows: [ + Shadow(color: Colors.white, offset: Offset(1, 1)), + Shadow(color: Colors.white, offset: Offset(-1, -1)), + Shadow(color: Colors.white, offset: Offset(-1, 1)), + Shadow(color: Colors.white, offset: Offset(-1, 1)), + Shadow(color: Colors.white, offset: Offset(1, -1)), + ], + ), + ); + return [ Positioned( left: position.dx, top: position.dy - differenceInHeight, - child: PopupMenuButton( - enabled: enableTouch, - tooltip: 'Drag to reposition. Tap to edit.', - itemBuilder: - (context) => [ - PopupMenuItem( - value: null, - child: ListTile( - leading: Icon(Icons.keyboard_alt_outlined), - title: const Text('Simulate Keyboard shortcut'), - ), - onTap: () async { - await showDialog( - context: context, - barrierDismissible: false, // enable Escape key - builder: - (c) => HotKeyListenerDialog( - customApp: actionHandler.supportedApp! as CustomApp, - keyPair: keyPair, - ), - ); - setState(() {}); - }, - ), - PopupMenuItem( - value: null, - child: ListTile(title: const Text('Simulate Touch'), leading: Icon(Icons.touch_app_outlined)), - onTap: () { - keyPair.physicalKey = null; - keyPair.logicalKey = null; - setState(() {}); - }, - ), - PopupMenuItem( - value: null, - onTap: () { - keyPair.isLongPress = !keyPair.isLongPress; - setState(() {}); - }, - child: CheckboxListTile( - value: keyPair.isLongPress, - onChanged: (value) { - keyPair.isLongPress = value ?? false; + child: FractionalTranslation( + translation: Offset(isOnTheRightEdge ? -1.0 : 0.0, 0), + child: PopupMenuButton( + enabled: enableTouch, + tooltip: 'Drag to reposition. Tap to edit.', + itemBuilder: + (context) => [ + PopupMenuItem( + value: null, + child: ListTile( + leading: Icon(Icons.keyboard_alt_outlined), + title: const Text('Simulate Keyboard shortcut'), + ), + onTap: () async { + await showDialog( + context: context, + barrierDismissible: false, // enable Escape key + builder: + (c) => HotKeyListenerDialog( + customApp: actionHandler.supportedApp! as CustomApp, + keyPair: keyPair, + ), + ); setState(() {}); - Navigator.of(context).pop(); }, - title: const Text('Long Press Mode (vs. repeating)'), ), - ), - PopupMenuDivider(), - PopupMenuItem( - child: PopupMenuButton( - padding: EdgeInsets.zero, - itemBuilder: - (context) => [ - PopupMenuItem( - value: PhysicalKeyboardKey.mediaPlayPause, - child: const Text('Media: Play/Pause'), - ), - PopupMenuItem( - value: PhysicalKeyboardKey.mediaStop, - child: const Text('Media: Stop'), - ), - PopupMenuItem( - value: PhysicalKeyboardKey.mediaTrackPrevious, - child: const Text('Media: Previous'), - ), - PopupMenuItem( - value: PhysicalKeyboardKey.mediaTrackNext, - child: const Text('Media: Next'), - ), - PopupMenuItem( - value: PhysicalKeyboardKey.audioVolumeUp, - child: const Text('Media: Volume Up'), - ), - PopupMenuItem( - value: PhysicalKeyboardKey.audioVolumeDown, - child: const Text('Media: Volume Down'), - ), - ], - onSelected: (key) { - keyPair.physicalKey = key; + PopupMenuItem( + value: null, + child: ListTile(title: const Text('Simulate Touch'), leading: Icon(Icons.touch_app_outlined)), + onTap: () { + keyPair.physicalKey = null; keyPair.logicalKey = null; - setState(() {}); }, - child: ListTile( - leading: Icon(Icons.music_note_outlined), - trailing: Icon(Icons.arrow_right), - title: Text('Simulate Media key'), + ), + PopupMenuItem( + value: null, + onTap: () { + keyPair.isLongPress = !keyPair.isLongPress; + setState(() {}); + }, + child: CheckboxListTile( + value: keyPair.isLongPress, + onChanged: (value) { + keyPair.isLongPress = value ?? false; + setState(() {}); + Navigator.of(context).pop(); + }, + title: const Text('Long Press Mode (vs. repeating)'), ), ), - ), - PopupMenuDivider(), - PopupMenuItem( - value: null, - child: ListTile(title: const Text('Delete Keymap'), leading: Icon(Icons.delete, color: Colors.red)), - onTap: () { - actionHandler.supportedApp!.keymap.keyPairs.remove(keyPair); - setState(() {}); - }, - ), - ], - onSelected: (key) { - keyPair.physicalKey = key; - keyPair.logicalKey = null; - setState(() {}); - }, - child: Draggable( - feedback: Material(color: Colors.transparent, child: KeypairExplanation(withKey: true, keyPair: keyPair)), - childWhenDragging: const SizedBox.shrink(), - onDraggableCanceled: (_, offset) { - final fixedPosition = offset + Offset(0, differenceInHeight); - setState(() => onPositionChanged(fixedPosition)); + PopupMenuDivider(), + PopupMenuItem( + child: PopupMenuButton( + padding: EdgeInsets.zero, + itemBuilder: + (context) => [ + PopupMenuItem( + value: PhysicalKeyboardKey.mediaPlayPause, + child: const Text('Media: Play/Pause'), + ), + PopupMenuItem( + value: PhysicalKeyboardKey.mediaStop, + child: const Text('Media: Stop'), + ), + PopupMenuItem( + value: PhysicalKeyboardKey.mediaTrackPrevious, + child: const Text('Media: Previous'), + ), + PopupMenuItem( + value: PhysicalKeyboardKey.mediaTrackNext, + child: const Text('Media: Next'), + ), + PopupMenuItem( + value: PhysicalKeyboardKey.audioVolumeUp, + child: const Text('Media: Volume Up'), + ), + PopupMenuItem( + value: PhysicalKeyboardKey.audioVolumeDown, + child: const Text('Media: Volume Down'), + ), + ], + onSelected: (key) { + keyPair.physicalKey = key; + keyPair.logicalKey = null; + + setState(() {}); + }, + child: ListTile( + leading: Icon(Icons.music_note_outlined), + trailing: Icon(Icons.arrow_right), + title: Text('Simulate Media key'), + ), + ), + ), + PopupMenuDivider(), + PopupMenuItem( + value: null, + child: ListTile(title: const Text('Delete Keymap'), leading: Icon(Icons.delete, color: Colors.red)), + onTap: () { + actionHandler.supportedApp!.keymap.keyPairs.remove(keyPair); + setState(() {}); + }, + ), + ], + onSelected: (key) { + keyPair.physicalKey = key; + keyPair.logicalKey = null; + setState(() {}); }, - child: KeypairExplanation(withKey: true, keyPair: keyPair), + child: label, ), ), ), - if (!keyPair.isSpecialKey && keyPair.physicalKey == null && keyPair.touchPosition != Offset.zero) - Positioned( - left: position.dx - 10, - top: position.dy - 10 - differenceInHeight, - child: Icon( - Icons.add, - size: 20, - shadows: [ - Shadow(color: Colors.white, offset: Offset(1, 1)), - Shadow(color: Colors.white, offset: Offset(-1, -1)), - Shadow(color: Colors.white, offset: Offset(-1, 1)), - Shadow(color: Colors.white, offset: Offset(-1, 1)), - Shadow(color: Colors.white, offset: Offset(1, -1)), - ], - ), + + Positioned( + left: position.dx - iconSize / 2, + top: position.dy - differenceInHeight - iconSize / 2, + child: Draggable( + feedback: Material(color: Colors.transparent, child: icon), + childWhenDragging: const SizedBox.shrink(), + onDraggableCanceled: (velo, offset) { + // otherwise simulated touch will move it + if (velo.pixelsPerSecond.distance > 0) { + final fixedPosition = offset + Offset(iconSize / 2, differenceInHeight + iconSize / 2); + setState(() => onPositionChanged(fixedPosition)); + } + }, + child: icon, ), + ), ]; } @@ -378,6 +401,7 @@ class KeypairExplanation extends StatelessWidget { Widget build(BuildContext context) { return Wrap( spacing: 4, + crossAxisAlignment: WrapCrossAlignment.center, children: [ if (withKey) KeyWidget(label: keyPair.buttons.joinToString(transform: (e) => e.name, separator: '\n')), if (keyPair.physicalKey != null) ...[ From a44d4d62d07af489c1e2234f3ce00e7afeb2f4cd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 5 Oct 2025 10:19:54 +0000 Subject: [PATCH 234/636] Initial plan From 040c0d3027629fdcbfa750d4f3187565c0f58d29 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 5 Oct 2025 10:26:20 +0000 Subject: [PATCH 235/636] Implement multiple custom mapping profiles feature Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- lib/pages/device.dart | 222 +++++++++++++++++++++++++- lib/utils/keymap/apps/custom_app.dart | 5 +- lib/utils/settings/settings.dart | 55 +++++-- 3 files changed, 271 insertions(+), 11 deletions(-) diff --git a/lib/pages/device.dart b/lib/pages/device.dart index 2af9436af..cfeda00c4 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -27,6 +27,26 @@ class DevicePage extends StatefulWidget { class _DevicePageState extends State { late StreamSubscription _connectionStateSubscription; final controller = TextEditingController(text: actionHandler.supportedApp?.name); + + List _getAllApps() { + final baseApps = SupportedApp.supportedApps.where((app) => app is! CustomApp).toList(); + final customProfiles = settings.getCustomAppProfiles(); + final customApps = customProfiles.map((profile) { + final customApp = CustomApp(profileName: profile); + final savedKeymap = settings.prefs.getStringList('customapp_$profile'); + if (savedKeymap != null) { + customApp.decodeKeymap(savedKeymap); + } + return customApp; + }).toList(); + + // If no custom profiles exist, add the default "Custom" one + if (customApps.isEmpty) { + customApps.add(CustomApp()); + } + + return [...baseApps, ...customApps]; + } @override void initState() { @@ -112,7 +132,7 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' DropdownMenu( controller: controller, dropdownMenuEntries: - SupportedApp.supportedApps + _getAllApps() .map((app) => DropdownMenuEntry(value: app, label: app.name)) .toList(), label: Text('Select Keymap / app'), @@ -178,6 +198,68 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' }, child: Text('Customize Keymap'), ), + + ElevatedButton( + onPressed: () async { + final profileName = await _showNewProfileDialog(); + if (profileName != null && profileName.isNotEmpty) { + final customApp = CustomApp(profileName: profileName); + actionHandler.supportedApp = customApp; + await settings.setApp(customApp); + controller.text = profileName; + setState(() {}); + } + }, + child: Text('New Custom Profile'), + ), + + if (actionHandler.supportedApp is CustomApp) + ElevatedButton( + onPressed: () async { + final currentProfile = (actionHandler.supportedApp as CustomApp).profileName; + final action = await _showManageProfileDialog(currentProfile); + if (action != null) { + if (action == 'rename') { + final newName = await _showRenameProfileDialog(currentProfile); + if (newName != null && newName.isNotEmpty && newName != currentProfile) { + await settings.duplicateCustomAppProfile(currentProfile, newName); + await settings.deleteCustomAppProfile(currentProfile); + final customApp = CustomApp(profileName: newName); + final savedKeymap = settings.prefs.getStringList('customapp_$newName'); + if (savedKeymap != null) { + customApp.decodeKeymap(savedKeymap); + } + actionHandler.supportedApp = customApp; + await settings.setApp(customApp); + controller.text = newName; + setState(() {}); + } + } else if (action == 'duplicate') { + final newName = await _showDuplicateProfileDialog(currentProfile); + if (newName != null && newName.isNotEmpty) { + await settings.duplicateCustomAppProfile(currentProfile, newName); + final customApp = CustomApp(profileName: newName); + final savedKeymap = settings.prefs.getStringList('customapp_$newName'); + if (savedKeymap != null) { + customApp.decodeKeymap(savedKeymap); + } + actionHandler.supportedApp = customApp; + await settings.setApp(customApp); + controller.text = newName; + setState(() {}); + } + } else if (action == 'delete') { + final confirmed = await _showDeleteConfirmDialog(currentProfile); + if (confirmed == true) { + await settings.deleteCustomAppProfile(currentProfile); + controller.text = ''; + setState(() {}); + } + } + } + }, + child: Text('Manage Profile'), + ), ], ), if (actionHandler.supportedApp != null) @@ -224,4 +306,142 @@ ${it.firmwareVersion != null ? ' - Firmware Version: ${it.firmwareVersion}' : '' ), ); } + + Future _showNewProfileDialog() async { + final controller = TextEditingController(); + return showDialog( + context: context, + builder: (context) => AlertDialog( + title: Text('New Custom Profile'), + content: TextField( + controller: controller, + decoration: InputDecoration( + labelText: 'Profile Name', + hintText: 'e.g., Workout, Race, Event', + ), + autofocus: true, + ), + actions: [ + TextButton( + onPressed: () => Navigator.pop(context), + child: Text('Cancel'), + ), + TextButton( + onPressed: () => Navigator.pop(context, controller.text), + child: Text('Create'), + ), + ], + ), + ); + } + + Future _showManageProfileDialog(String currentProfile) async { + return showDialog( + context: context, + builder: (context) => AlertDialog( + title: Text('Manage Profile: $currentProfile'), + content: Column( + mainAxisSize: MainAxisSize.min, + children: [ + ListTile( + leading: Icon(Icons.edit), + title: Text('Rename'), + onTap: () => Navigator.pop(context, 'rename'), + ), + ListTile( + leading: Icon(Icons.copy), + title: Text('Duplicate'), + onTap: () => Navigator.pop(context, 'duplicate'), + ), + ListTile( + leading: Icon(Icons.delete), + title: Text('Delete'), + onTap: () => Navigator.pop(context, 'delete'), + ), + ], + ), + actions: [ + TextButton( + onPressed: () => Navigator.pop(context), + child: Text('Cancel'), + ), + ], + ), + ); + } + + Future _showRenameProfileDialog(String currentName) async { + final controller = TextEditingController(text: currentName); + return showDialog( + context: context, + builder: (context) => AlertDialog( + title: Text('Rename Profile'), + content: TextField( + controller: controller, + decoration: InputDecoration( + labelText: 'Profile Name', + ), + autofocus: true, + ), + actions: [ + TextButton( + onPressed: () => Navigator.pop(context), + child: Text('Cancel'), + ), + TextButton( + onPressed: () => Navigator.pop(context, controller.text), + child: Text('Rename'), + ), + ], + ), + ); + } + + Future _showDuplicateProfileDialog(String currentName) async { + final controller = TextEditingController(text: '$currentName (Copy)'); + return showDialog( + context: context, + builder: (context) => AlertDialog( + title: Text('Duplicate Profile'), + content: TextField( + controller: controller, + decoration: InputDecoration( + labelText: 'New Profile Name', + ), + autofocus: true, + ), + actions: [ + TextButton( + onPressed: () => Navigator.pop(context), + child: Text('Cancel'), + ), + TextButton( + onPressed: () => Navigator.pop(context, controller.text), + child: Text('Duplicate'), + ), + ], + ), + ); + } + + Future _showDeleteConfirmDialog(String profileName) async { + return showDialog( + context: context, + builder: (context) => AlertDialog( + title: Text('Delete Profile'), + content: Text('Are you sure you want to delete "$profileName"? This action cannot be undone.'), + actions: [ + TextButton( + onPressed: () => Navigator.pop(context, false), + child: Text('Cancel'), + ), + TextButton( + onPressed: () => Navigator.pop(context, true), + child: Text('Delete'), + style: TextButton.styleFrom(foregroundColor: Colors.red), + ), + ], + ), + ); + } } diff --git a/lib/utils/keymap/apps/custom_app.dart b/lib/utils/keymap/apps/custom_app.dart index e5d85439e..b3379f644 100644 --- a/lib/utils/keymap/apps/custom_app.dart +++ b/lib/utils/keymap/apps/custom_app.dart @@ -8,7 +8,10 @@ import '../buttons.dart'; import '../keymap.dart'; class CustomApp extends SupportedApp { - CustomApp() : super(name: 'Custom', packageName: "custom", keymap: Keymap.custom); + final String profileName; + + CustomApp({this.profileName = 'Custom'}) + : super(name: profileName, packageName: "custom_$profileName", keymap: Keymap(keyPairs: [])); @override Offset resolveTouchPosition({required ZwiftButton action, required WindowEvent? windowInfo}) { diff --git a/lib/utils/settings/settings.dart b/lib/utils/settings/settings.dart index 04e3f28d0..e4cf5838d 100644 --- a/lib/utils/settings/settings.dart +++ b/lib/utils/settings/settings.dart @@ -7,24 +7,39 @@ import '../keymap/apps/custom_app.dart'; class Settings { late final SharedPreferences _prefs; + + SharedPreferences get prefs => _prefs; Future init() async { _prefs = await SharedPreferences.getInstance(); try { - final appSetting = _prefs.getStringList("customapp"); - if (appSetting != null) { - final customApp = CustomApp(); - customApp.decodeKeymap(appSetting); + // Handle migration from old "customapp" key to new "customapp_Custom" key + if (_prefs.containsKey('customapp') && !_prefs.containsKey('customapp_Custom')) { + final oldCustomApp = _prefs.getStringList('customapp'); + if (oldCustomApp != null) { + await _prefs.setStringList('customapp_Custom', oldCustomApp); + await _prefs.remove('customapp'); + } } - + final appName = _prefs.getString('app'); if (appName == null) { return; } - final app = SupportedApp.supportedApps.firstOrNullWhere((e) => e.name == appName); - - actionHandler.init(app); + + // Check if it's a custom app with a profile name + if (appName.startsWith('Custom') || _prefs.containsKey('customapp_$appName')) { + final customApp = CustomApp(profileName: appName); + final appSetting = _prefs.getStringList('customapp_$appName'); + if (appSetting != null) { + customApp.decodeKeymap(appSetting); + } + actionHandler.init(customApp); + } else { + final app = SupportedApp.supportedApps.firstOrNullWhere((e) => e.name == appName); + actionHandler.init(app); + } } catch (e) { // couldn't decode, reset await _prefs.clear(); @@ -39,10 +54,32 @@ class Settings { Future setApp(SupportedApp app) async { if (app is CustomApp) { - await _prefs.setStringList("customapp", app.encodeKeymap()); + await _prefs.setStringList('customapp_${app.profileName}', app.encodeKeymap()); } await _prefs.setString('app', app.name); } + + List getCustomAppProfiles() { + // Get all keys starting with 'customapp_' + final keys = _prefs.getKeys().where((key) => key.startsWith('customapp_')).toList(); + return keys.map((key) => key.replaceFirst('customapp_', '')).toList(); + } + + Future deleteCustomAppProfile(String profileName) async { + await _prefs.remove('customapp_$profileName'); + // If the current app is the one being deleted, reset + if (_prefs.getString('app') == profileName) { + actionHandler.init(null); + await _prefs.remove('app'); + } + } + + Future duplicateCustomAppProfile(String sourceProfileName, String newProfileName) async { + final sourceData = _prefs.getStringList('customapp_$sourceProfileName'); + if (sourceData != null) { + await _prefs.setStringList('customapp_$newProfileName', sourceData); + } + } String? getLastSeenVersion() { return _prefs.getString('last_seen_version'); From 83cdb6efd752a5abe5ea1432f8e6f7b1016b4997 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 5 Oct 2025 10:26:52 +0000 Subject: [PATCH 236/636] Add comprehensive tests for custom profile functionality Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- test/custom_profile_test.dart | 108 ++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 test/custom_profile_test.dart diff --git a/test/custom_profile_test.dart b/test/custom_profile_test.dart new file mode 100644 index 000000000..a69987e02 --- /dev/null +++ b/test/custom_profile_test.dart @@ -0,0 +1,108 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:shared_preferences/shared_preferences.dart'; +import 'package:swift_control/utils/keymap/apps/custom_app.dart'; +import 'package:swift_control/utils/settings/settings.dart'; + +void main() { + group('Custom Profile Tests', () { + late Settings settings; + + setUp(() async { + // Initialize SharedPreferences with in-memory storage for testing + SharedPreferences.setMockInitialValues({}); + settings = Settings(); + await settings.init(); + }); + + test('Should create custom app with default profile name', () { + final customApp = CustomApp(); + expect(customApp.profileName, 'Custom'); + expect(customApp.name, 'Custom'); + }); + + test('Should create custom app with custom profile name', () { + final customApp = CustomApp(profileName: 'Workout'); + expect(customApp.profileName, 'Workout'); + expect(customApp.name, 'Workout'); + }); + + test('Should save and retrieve custom profile', () async { + final customApp = CustomApp(profileName: 'Race'); + await settings.setApp(customApp); + + final profiles = settings.getCustomAppProfiles(); + expect(profiles.contains('Race'), true); + }); + + test('Should list multiple custom profiles', () async { + final workout = CustomApp(profileName: 'Workout'); + final race = CustomApp(profileName: 'Race'); + final event = CustomApp(profileName: 'Event'); + + await settings.setApp(workout); + await settings.setApp(race); + await settings.setApp(event); + + final profiles = settings.getCustomAppProfiles(); + expect(profiles.contains('Workout'), true); + expect(profiles.contains('Race'), true); + expect(profiles.contains('Event'), true); + expect(profiles.length, 3); + }); + + test('Should duplicate custom profile', () async { + final original = CustomApp(profileName: 'Original'); + await settings.setApp(original); + + await settings.duplicateCustomAppProfile('Original', 'Copy'); + + final profiles = settings.getCustomAppProfiles(); + expect(profiles.contains('Original'), true); + expect(profiles.contains('Copy'), true); + expect(profiles.length, 2); + }); + + test('Should delete custom profile', () async { + final customApp = CustomApp(profileName: 'ToDelete'); + await settings.setApp(customApp); + + var profiles = settings.getCustomAppProfiles(); + expect(profiles.contains('ToDelete'), true); + + await settings.deleteCustomAppProfile('ToDelete'); + + profiles = settings.getCustomAppProfiles(); + expect(profiles.contains('ToDelete'), false); + }); + + test('Should migrate old custom keymap to new format', () async { + // Simulate old storage format + SharedPreferences.setMockInitialValues({ + 'customapp': ['test_data'], + 'app': 'Custom', + }); + + final newSettings = Settings(); + await newSettings.init(); + + // Check that migration happened + expect(newSettings.prefs.containsKey('customapp'), false); + expect(newSettings.prefs.containsKey('customapp_Custom'), true); + }); + + test('Should not duplicate migration if already migrated', () async { + SharedPreferences.setMockInitialValues({ + 'customapp': ['old_data'], + 'customapp_Custom': ['new_data'], + 'app': 'Custom', + }); + + final newSettings = Settings(); + await newSettings.init(); + + // Old key should still exist because new key already existed + expect(newSettings.prefs.containsKey('customapp'), true); + expect(newSettings.prefs.getStringList('customapp_Custom'), ['new_data']); + }); + }); +} From 4071a12c11ada82e593f5a027fe87d761f3b44f4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 5 Oct 2025 10:28:38 +0000 Subject: [PATCH 237/636] Add documentation for custom profiles feature Co-authored-by: jonasbark <1151304+jonasbark@users.noreply.github.com> --- CUSTOM_PROFILES_FEATURE.md | 84 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 CUSTOM_PROFILES_FEATURE.md diff --git a/CUSTOM_PROFILES_FEATURE.md b/CUSTOM_PROFILES_FEATURE.md new file mode 100644 index 000000000..226b36384 --- /dev/null +++ b/CUSTOM_PROFILES_FEATURE.md @@ -0,0 +1,84 @@ +# Custom Profiles Feature + +## Overview +This feature allows users to create and manage multiple custom keymap profiles for different activity types (e.g., Workout, Race, Event, Workout with Coach). + +## Changes Made + +### 1. CustomApp Class (`lib/utils/keymap/apps/custom_app.dart`) +- Added `profileName` field to support named profiles +- Each CustomApp instance can now have a unique name +- Constructor now accepts an optional `profileName` parameter (defaults to 'Custom') + +### 2. Settings Class (`lib/utils/settings/settings.dart`) +- Modified storage mechanism to support multiple custom profiles + - Old format: `customapp` → single profile + - New format: `customapp_` → multiple profiles +- Added `getCustomAppProfiles()` to retrieve all saved custom profiles +- Added `duplicateCustomAppProfile()` to copy profiles +- Added `deleteCustomAppProfile()` to remove profiles +- Implemented backward compatibility migration from old `customapp` key to new `customapp_Custom` key +- Exposed `prefs` getter for UI access + +### 3. Device Page UI (`lib/pages/device.dart`) +- Added `_getAllApps()` method to dynamically build app list including all custom profiles +- Added "New Custom Profile" button to create new profiles +- Added "Manage Profile" button (visible when a CustomApp is selected) with options to: + - Rename profile + - Duplicate profile + - Delete profile +- Updated dropdown menu to use dynamic app list + +### 4. Dialog Helpers +Added several dialog methods to handle user interactions: +- `_showNewProfileDialog()` - Create new profile +- `_showManageProfileDialog()` - Select management action +- `_showRenameProfileDialog()` - Rename existing profile +- `_showDuplicateProfileDialog()` - Duplicate existing profile +- `_showDeleteConfirmDialog()` - Confirm deletion + +## User Experience + +### Creating a New Profile +1. Click "New Custom Profile" button +2. Enter a name (e.g., "Workout", "Race", "Event") +3. Customize the keymap using the "Customize Keymap" button +4. The profile is automatically saved + +### Switching Between Profiles +- Use the dropdown menu to select any saved custom profile +- All predefined keymaps (MyWhoosh, TrainingPeaks, Biketerra) remain available + +### Managing Profiles +1. Select a custom profile from the dropdown +2. Click "Manage Profile" button +3. Choose an action: + - **Rename**: Change the profile name + - **Duplicate**: Create a copy with a new name + - **Delete**: Remove the profile (with confirmation) + +## Backward Compatibility +- Existing users with a single custom keymap will have it automatically migrated to the new format as "Custom" +- No data loss during migration +- Old `customapp` key is removed after successful migration + +## Testing +Comprehensive test suite added in `test/custom_profile_test.dart` covering: +- Profile creation with default and custom names +- Saving and retrieving profiles +- Listing multiple profiles +- Duplicating profiles +- Deleting profiles +- Migration from old format +- Prevention of duplicate migrations + +## Storage Format +- **Profile keymaps**: `customapp_` → List +- **Current app**: `app` → String (profile name) +- Example: + ``` + customapp_Workout: [...keymap data...] + customapp_Race: [...keymap data...] + customapp_Event: [...keymap data...] + app: "Race" + ``` From 06aefdedc21f97c2159cf062a0987b2870d69d5b Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 6 Oct 2025 18:46:46 +0200 Subject: [PATCH 238/636] try bluetooth_low_energy --- ios/Podfile.lock | 7 ++ ios/Runner.xcodeproj/project.pbxproj | 7 +- ios/Runner/Info.plist | 12 +-- lib/utils/requirements/ios.dart | 89 +++++++++++++++++++ lib/utils/requirements/platform.dart | 5 +- linux/flutter/generated_plugin_registrant.cc | 4 + linux/flutter/generated_plugins.cmake | 1 + macos/Flutter/GeneratedPluginRegistrant.swift | 2 + pubspec.lock | 56 ++++++++++++ pubspec.yaml | 1 + .../flutter/generated_plugin_registrant.cc | 3 + windows/flutter/generated_plugins.cmake | 1 + 12 files changed, 177 insertions(+), 11 deletions(-) create mode 100644 lib/utils/requirements/ios.dart diff --git a/ios/Podfile.lock b/ios/Podfile.lock index f05dfc00a..172db7d42 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,4 +1,7 @@ PODS: + - bluetooth_low_energy_darwin (0.0.1): + - Flutter + - FlutterMacOS - device_info_plus (0.0.1): - Flutter - Flutter (1.0.0) @@ -20,6 +23,7 @@ PODS: - Flutter DEPENDENCIES: + - bluetooth_low_energy_darwin (from `.symlinks/plugins/bluetooth_low_energy_darwin/darwin`) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - Flutter (from `Flutter`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) @@ -31,6 +35,8 @@ DEPENDENCIES: - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) EXTERNAL SOURCES: + bluetooth_low_energy_darwin: + :path: ".symlinks/plugins/bluetooth_low_energy_darwin/darwin" device_info_plus: :path: ".symlinks/plugins/device_info_plus/ios" Flutter: @@ -51,6 +57,7 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/url_launcher_ios/ios" SPEC CHECKSUMS: + bluetooth_low_energy_darwin: 764d8d1ae5abefbcdb839e812b4b25c0061fcf8b device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342 Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 flutter_local_notifications: ff50f8405aaa0ccdc7dcfb9022ca192e8ad9688f diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index e0c039ac0..0a6da7f67 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -97,7 +97,6 @@ 8AA6D129479129F106E2298A /* Pods-RunnerTests.release.xcconfig */, EFDECED99A47773C293F8819 /* Pods-RunnerTests.profile.xcconfig */, ); - name = Pods; path = Pods; sourceTree = ""; }; @@ -496,7 +495,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay; + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftcontrol.ios; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -679,7 +678,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay; + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftcontrol.ios; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -702,7 +701,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftPlay; + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftcontrol.ios; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 69ec01ccf..516a410b0 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -2,6 +2,8 @@ + CADisableMinimumFrameDurationOnPhone + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName @@ -24,6 +26,10 @@ $(FLUTTER_BUILD_NUMBER) LSRequiresIPhoneOS + NSBluetoothAlwaysUsageDescription + SwiftControl uses Bluetooth to connect to accessories. + UIApplicationSupportsIndirectInputEvents + UILaunchStoryboardName LaunchScreen UIMainStoryboardFile @@ -41,11 +47,5 @@ UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight - CADisableMinimumFrameDurationOnPhone - - UIApplicationSupportsIndirectInputEvents - - NSBluetoothAlwaysUsageDescription - SwiftControl diff --git a/lib/utils/requirements/ios.dart b/lib/utils/requirements/ios.dart new file mode 100644 index 000000000..5bd3217e9 --- /dev/null +++ b/lib/utils/requirements/ios.dart @@ -0,0 +1,89 @@ +import 'dart:typed_data'; + +import 'package:bluetooth_low_energy/bluetooth_low_energy.dart'; +import 'package:swift_control/utils/requirements/platform.dart'; + +final pm = PeripheralManager(); + +Future startHidPeripheral() async { + // 1) Build characteristics + final hidInfo = GATTCharacteristic.immutable( + uuid: UUID.fromString('2A4A'), + value: Uint8List.fromList([0x11, 0x01, 0x00, 0x02]), + descriptors: [], // HID v1.11, country=0, flags=2 + ); + + final reportMap = GATTCharacteristic.immutable( + uuid: UUID.fromString('2A4B'), + value: Uint8List.fromList([ + // Mouse descriptor bytes … + ]), + descriptors: [], + ); + + final protocolMode = GATTCharacteristic.immutable( + uuid: UUID.fromString('2A4E'), + value: Uint8List.fromList([0x01]), // Report Protocol + descriptors: [], + ); + + // Input report characteristic (notify) + final inputReport = GATTCharacteristic.mutable( + uuid: UUID.fromString('2A4D'), + permissions: [GATTCharacteristicPermission.read, GATTCharacteristicPermission.write], + properties: [GATTCharacteristicProperty.notify, GATTCharacteristicProperty.read], + descriptors: [ + GATTDescriptor.immutable( + // Report Reference: ID=1, Type=Input(1) + uuid: UUID.fromString('2908'), + value: Uint8List.fromList([0x01, 0x01]), + ), + ], + ); + + // 2) HID service + final hidService = GATTService( + uuid: UUID.fromString('1812'), + isPrimary: true, + characteristics: [hidInfo, reportMap, protocolMode, inputReport], + includedServices: [], + ); + + await pm.addService(hidService); + + // 3) Optional Battery service + await pm.addService( + GATTService( + uuid: UUID.fromString('180F'), + isPrimary: true, + characteristics: [ + GATTCharacteristic.immutable(uuid: UUID.fromString('2A19'), value: Uint8List.fromList([100]), descriptors: []), + ], + includedServices: [], + ), + ); + + final advertisement = Advertisement(name: 'SwiftControl', serviceUUIDs: [UUID.fromString('1812')]); + await pm.startAdvertising(advertisement); +} + +/* +// Send a relative mouse move + button state as 3-byte report: [buttons, dx, dy] +Future sendMouseReport(int buttons, int dx, int dy) async { + final data = Uint8List.fromList([buttons & 0x07, dx & 0xFF, dy & 0xFF]); + await pm.notifyCharacteristic(UUID.fromString('1812'), UUID.fromString('2A4D'), data); +}*/ + +class PairRequirement extends PlatformRequirement { + PairRequirement() : super('Pair to your other iOS device'); + + @override + Future call() async { + await startHidPeripheral(); + } + + @override + Future getStatus() async { + status = false; + } +} diff --git a/lib/utils/requirements/platform.dart b/lib/utils/requirements/platform.dart index bd3d784a6..706e6c4e0 100644 --- a/lib/utils/requirements/platform.dart +++ b/lib/utils/requirements/platform.dart @@ -4,6 +4,7 @@ import 'package:device_info_plus/device_info_plus.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:swift_control/utils/requirements/android.dart'; +import 'package:swift_control/utils/requirements/ios.dart'; import 'package:swift_control/utils/requirements/multi.dart'; abstract class PlatformRequirement { @@ -25,8 +26,10 @@ Future> getRequirements() async { List list; if (kIsWeb) { list = [BluetoothTurnedOn(), BluetoothScanning()]; - } else if (Platform.isMacOS || Platform.isIOS) { + } else if (Platform.isMacOS) { list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()]; + } else if (Platform.isIOS) { + list = [BluetoothTurnedOn(), PairRequirement()]; } else if (Platform.isWindows) { list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()]; } else if (Platform.isAndroid) { diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 6cf6d508b..2cb6afcfc 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -6,12 +6,16 @@ #include "generated_plugin_registrant.h" +#include #include #include #include #include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) bluetooth_low_energy_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "BluetoothLowEnergyLinuxPlugin"); + bluetooth_low_energy_linux_plugin_register_with_registrar(bluetooth_low_energy_linux_registrar); g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); file_selector_plugin_register_with_registrar(file_selector_linux_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 74bbc59d0..00728078b 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + bluetooth_low_energy_linux file_selector_linux screen_retriever_linux url_launcher_linux diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 2fafb04b7..1b8d16012 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,6 +5,7 @@ import FlutterMacOS import Foundation +import bluetooth_low_energy_darwin import device_info_plus import file_selector_macos import flutter_local_notifications @@ -17,6 +18,7 @@ import url_launcher_macos import window_manager func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + BluetoothLowEnergyDarwinPlugin.register(with: registry.registrar(forPlugin: "BluetoothLowEnergyDarwinPlugin")) DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) diff --git a/pubspec.lock b/pubspec.lock index e6e016b6a..eee092997 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -32,6 +32,54 @@ packages: url: "https://pub.dev" source: hosted version: "2.13.0" + bluetooth_low_energy: + dependency: "direct main" + description: + name: bluetooth_low_energy + sha256: "5dec5831412c7d82b77df878dd3e08a82132426d2fb4c5d7c98c9a8cd0ed79e0" + url: "https://pub.dev" + source: hosted + version: "6.1.0" + bluetooth_low_energy_android: + dependency: transitive + description: + name: bluetooth_low_energy_android + sha256: "32c0f84f88770845e3189e04b0ddf4780dc8743fd7a8ade60b99b6cb414b8a89" + url: "https://pub.dev" + source: hosted + version: "6.1.0" + bluetooth_low_energy_darwin: + dependency: transitive + description: + name: bluetooth_low_energy_darwin + sha256: fbbe3be175cb54093884a84f6f0826d6e8a2a2e29dfeae9b367d5e8e9ee1db38 + url: "https://pub.dev" + source: hosted + version: "6.1.0" + bluetooth_low_energy_linux: + dependency: transitive + description: + name: bluetooth_low_energy_linux + sha256: a5c740f445dc8d2e940767fa94ed3bb24c32e77bc962a67ab23cb1f218180705 + url: "https://pub.dev" + source: hosted + version: "6.1.0" + bluetooth_low_energy_platform_interface: + dependency: transitive + description: + name: bluetooth_low_energy_platform_interface + sha256: dd76c0f8e31dcfb984059b03e73cb2998c29cffd17425f4ce946365b63abb3dc + url: "https://pub.dev" + source: hosted + version: "6.1.0" + bluetooth_low_energy_windows: + dependency: transitive + description: + name: bluetooth_low_energy_windows + sha256: "7a651259f7bc3ae2bb042c21e15e1e4f88acea57da1f69b3165f239124724791" + url: "https://pub.dev" + source: hosted + version: "6.1.0" bluez: dependency: transitive description: @@ -319,6 +367,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.2" + hybrid_logging: + dependency: transitive + description: + name: hybrid_logging + sha256: "54248d52ce68c14702a42fbc4083bac5c6be30f6afad8a41be4bbadd197b8af5" + url: "https://pub.dev" + source: hosted + version: "1.0.0" image: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 0f8d4d36f..8a17fda34 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,6 +14,7 @@ dependencies: flutter_local_notifications: ^19.4.1 universal_ble: ^0.21.1 intl: any + bluetooth_low_energy: ^6.1.0 protobuf: ^4.2.0 permission_handler: ^12.0.1 dartx: any diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 4b74dcdd0..7ff59c299 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -6,6 +6,7 @@ #include "generated_plugin_registrant.h" +#include #include #include #include @@ -15,6 +16,8 @@ #include void RegisterPlugins(flutter::PluginRegistry* registry) { + BluetoothLowEnergyWindowsPluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("BluetoothLowEnergyWindowsPluginCApi")); FileSelectorWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("FileSelectorWindows")); KeypressSimulatorWindowsPluginCApiRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index c1bc4ca34..e7605d177 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + bluetooth_low_energy_windows file_selector_windows keypress_simulator_windows permission_handler_windows From 013b078a44ed0fae0e63c644b65a3b0abfba0282 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 6 Oct 2025 19:27:52 +0200 Subject: [PATCH 239/636] try flutter_ble_peripheral --- ios/Podfile.lock | 10 +- lib/utils/requirements/ios.dart | 297 +++++++++++++----- linux/flutter/generated_plugin_registrant.cc | 4 - linux/flutter/generated_plugins.cmake | 1 - macos/Flutter/GeneratedPluginRegistrant.swift | 4 +- pubspec.lock | 56 +--- pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 6 +- windows/flutter/generated_plugins.cmake | 2 +- 9 files changed, 240 insertions(+), 142 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 172db7d42..d09914a85 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - bluetooth_low_energy_darwin (0.0.1): + - ble_peripheral (0.0.1): - Flutter - FlutterMacOS - device_info_plus (0.0.1): @@ -23,7 +23,7 @@ PODS: - Flutter DEPENDENCIES: - - bluetooth_low_energy_darwin (from `.symlinks/plugins/bluetooth_low_energy_darwin/darwin`) + - ble_peripheral (from `.symlinks/plugins/ble_peripheral/darwin`) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - Flutter (from `Flutter`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) @@ -35,8 +35,8 @@ DEPENDENCIES: - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) EXTERNAL SOURCES: - bluetooth_low_energy_darwin: - :path: ".symlinks/plugins/bluetooth_low_energy_darwin/darwin" + ble_peripheral: + :path: ".symlinks/plugins/ble_peripheral/darwin" device_info_plus: :path: ".symlinks/plugins/device_info_plus/ios" Flutter: @@ -57,7 +57,7 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/url_launcher_ios/ios" SPEC CHECKSUMS: - bluetooth_low_energy_darwin: 764d8d1ae5abefbcdb839e812b4b25c0061fcf8b + ble_peripheral: e80b0809599f5406e5d321c12a6dbc07ecdab8bd device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342 Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 flutter_local_notifications: ff50f8405aaa0ccdc7dcfb9022ca192e8ad9688f diff --git a/lib/utils/requirements/ios.dart b/lib/utils/requirements/ios.dart index 5bd3217e9..6779caed6 100644 --- a/lib/utils/requirements/ios.dart +++ b/lib/utils/requirements/ios.dart @@ -1,89 +1,240 @@ -import 'dart:typed_data'; +import 'dart:developer'; -import 'package:bluetooth_low_energy/bluetooth_low_energy.dart'; +import 'package:ble_peripheral/ble_peripheral.dart'; +import 'package:flutter/foundation.dart'; +import 'package:flutter/material.dart'; import 'package:swift_control/utils/requirements/platform.dart'; -final pm = PeripheralManager(); - -Future startHidPeripheral() async { - // 1) Build characteristics - final hidInfo = GATTCharacteristic.immutable( - uuid: UUID.fromString('2A4A'), - value: Uint8List.fromList([0x11, 0x01, 0x00, 0x02]), - descriptors: [], // HID v1.11, country=0, flags=2 - ); - - final reportMap = GATTCharacteristic.immutable( - uuid: UUID.fromString('2A4B'), - value: Uint8List.fromList([ - // Mouse descriptor bytes … - ]), - descriptors: [], - ); - - final protocolMode = GATTCharacteristic.immutable( - uuid: UUID.fromString('2A4E'), - value: Uint8List.fromList([0x01]), // Report Protocol - descriptors: [], - ); - - // Input report characteristic (notify) - final inputReport = GATTCharacteristic.mutable( - uuid: UUID.fromString('2A4D'), - permissions: [GATTCharacteristicPermission.read, GATTCharacteristicPermission.write], - properties: [GATTCharacteristicProperty.notify, GATTCharacteristicProperty.read], - descriptors: [ - GATTDescriptor.immutable( - // Report Reference: ID=1, Type=Input(1) - uuid: UUID.fromString('2908'), - value: Uint8List.fromList([0x01, 0x01]), - ), - ], - ); - - // 2) HID service - final hidService = GATTService( - uuid: UUID.fromString('1812'), - isPrimary: true, - characteristics: [hidInfo, reportMap, protocolMode, inputReport], - includedServices: [], - ); - - await pm.addService(hidService); - - // 3) Optional Battery service - await pm.addService( - GATTService( - uuid: UUID.fromString('180F'), - isPrimary: true, - characteristics: [ - GATTCharacteristic.immutable(uuid: UUID.fromString('2A19'), value: Uint8List.fromList([100]), descriptors: []), - ], - includedServices: [], - ), - ); +class HomeController { + bool isAdvertising = false; + bool isBleOn = false; + List devices = []; - final advertisement = Advertisement(name: 'SwiftControl', serviceUUIDs: [UUID.fromString('1812')]); - await pm.startAdvertising(advertisement); -} + String get deviceName => "HID Mouse"; + + // HID Service UUID (standard) + String serviceHID = "00001812-0000-1000-8000-00805F9B34FB"; + // HID Information Characteristic UUID + String characteristicHIDInformation = "00002A4A-0000-1000-8000-00805F9B34FB"; + // HID Report Map Characteristic UUID + String characteristicReportMap = "00002A4B-0000-1000-8000-00805F9B34FB"; + // HID Control Point Characteristic UUID + String characteristicControlPoint = "00002A4C-0000-1000-8000-00805F9B34FB"; + // HID Report Characteristic UUID + String characteristicReport = "00002A4D-0000-1000-8000-00805F9B34FB"; + // HID Protocol Mode Characteristic UUID + String characteristicProtocolMode = "00002A4E-0000-1000-8000-00805F9B34FB"; + + // HID Report Map for Mouse (standard) + Uint8List hidReportMap = Uint8List.fromList([ + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x02, // Usage (Mouse) + 0xA1, 0x01, // Collection (Application) + 0x09, 0x01, // Usage (Pointer) + 0xA1, 0x00, // Collection (Physical) + 0x05, 0x09, // Usage Page (Button) + 0x19, 0x01, // Usage Minimum (Button 1) + 0x29, 0x03, // Usage Maximum (Button 3) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x03, // Report Count (3) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data,Var,Abs) + 0x95, 0x01, // Report Count (1) + 0x75, 0x05, // Report Size (5) + 0x81, 0x03, // Input (Const,Var,Abs) - Reserved + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x30, // Usage (X) + 0x09, 0x31, // Usage (Y) + 0x09, 0x38, // Usage (Wheel) + 0x15, 0x81, // Logical Minimum (-127) + 0x25, 0x7F, // Logical Maximum (127) + 0x75, 0x08, // Report Size (8) + 0x95, 0x03, // Report Count (3) + 0x81, 0x06, // Input (Data,Var,Rel) + 0xC0, // End Collection + 0xC0, // End Collection + ]); + + // HID Information + Uint8List hidInformation = Uint8List.fromList([0x11, 0x01, 0x00, 0x03]); // bcdHID=0x0111, bCountryCode=0, Flags=0x03 + + void onInit() { + _initialize(); + // setup callbacks + BlePeripheral.setBleStateChangeCallback((b) { + isBleOn = b; + log("BLE State Changed: $b"); + }); + + BlePeripheral.setAdvertisingStatusUpdateCallback((bool advertising, String? error) { + isAdvertising = advertising; + log("AdvertisingStarted: $advertising, Error: $error"); + }); + + BlePeripheral.setCharacteristicSubscriptionChangeCallback(( + String deviceId, + String characteristicId, + bool isSubscribed, + String? name, + ) { + log("onCharacteristicSubscriptionChange: $deviceId : $characteristicId $isSubscribed Name: $name"); + String deviceName = "${name ?? deviceId} subscribed to $characteristicId"; + if (isSubscribed) { + if (!devices.any((element) => element == deviceName)) { + devices.add(deviceName); + log("$deviceName adding"); + } else { + log("$deviceName already exists"); + } + } else { + devices.removeWhere((element) => element == deviceName); + } + }); -/* -// Send a relative mouse move + button state as 3-byte report: [buttons, dx, dy] -Future sendMouseReport(int buttons, int dx, int dy) async { - final data = Uint8List.fromList([buttons & 0x07, dx & 0xFF, dy & 0xFF]); - await pm.notifyCharacteristic(UUID.fromString('1812'), UUID.fromString('2A4D'), data); -}*/ + BlePeripheral.setReadRequestCallback((deviceId, characteristicId, offset, value) { + log("ReadRequest: $deviceId $characteristicId : $offset : $value"); + // Respond with HID info or report map if requested + if (characteristicId == characteristicReportMap) { + return ReadRequestResult(value: hidReportMap); + } + if (characteristicId == characteristicHIDInformation) { + return ReadRequestResult(value: hidInformation); + } + return ReadRequestResult(value: Uint8List(0)); + }); + + BlePeripheral.setWriteRequestCallback((deviceId, characteristicId, offset, value) { + log("WriteRequest: $deviceId $characteristicId : $offset : $value"); + // Handle control point or protocol mode writes if needed + return null; + }); + } + + void _initialize() async { + try { + await BlePeripheral.initialize(); + } catch (e) { + log("InitializationError: $e"); + } + } + + Future startAdvertising() async { + log("Starting Advertising (HID Mouse)"); + await addServices(); + await BlePeripheral.startAdvertising( + services: [serviceHID], + localName: deviceName, + // Optionally set manufacturer data if needed + addManufacturerDataInScanResponse: false, + ); + } + + Future addServices() async { + try { + // HID Service with the required characteristics + await BlePeripheral.addService( + BleService( + uuid: serviceHID, + primary: true, + characteristics: [ + BleCharacteristic( + uuid: characteristicHIDInformation, + properties: [CharacteristicProperties.read.index], + value: hidInformation, + permissions: [AttributePermissions.readable.index], + ), + BleCharacteristic( + uuid: characteristicReportMap, + properties: [CharacteristicProperties.read.index], + value: hidReportMap, + permissions: [AttributePermissions.readable.index], + ), + BleCharacteristic( + uuid: characteristicControlPoint, + properties: [CharacteristicProperties.write.index], + //value: Uint8List(1), // Default 0 + permissions: [AttributePermissions.writeable.index], + ), + BleCharacteristic( + uuid: characteristicReport, + properties: [CharacteristicProperties.read.index, CharacteristicProperties.notify.index], + //value: Uint8List(4), // Initial empty mouse report + permissions: [AttributePermissions.readable.index], + ), + BleCharacteristic( + uuid: characteristicProtocolMode, + properties: [CharacteristicProperties.read.index, CharacteristicProperties.write.index], + //value: Uint8List.fromList([1]), // Report protocol mode + permissions: [AttributePermissions.readable.index, AttributePermissions.writeable.index], + ), + ], + ), + ); + log("HID Mouse services added"); + } catch (e) { + log("Error: $e"); + } + } + + void getAllServices() async { + List services = await BlePeripheral.getServices(); + log(services.toString()); + } + + void removeServices() async { + await BlePeripheral.clearServices(); + log("Services removed"); + } + + /// Send a mouse report to all subscribed devices. For example, move mouse right. + void sendMouseReport({int buttons = 0, int x = 0, int y = 0, int wheel = 0}) async { + // Mouse report: [buttons, x, y, wheel] + try { + Uint8List report = Uint8List.fromList([ + buttons & 0x07, // 3 bits for buttons + x & 0xFF, // X movement (-127 to +127) + y & 0xFF, // Y movement (-127 to +127) + wheel & 0xFF, // Wheel movement (-127 to +127) + ]); + await BlePeripheral.updateCharacteristic(characteristicId: characteristicReport, value: report); + log("Mouse report sent: $report"); + } catch (e) { + log("SendMouseReportError: $e"); + } + } +} class PairRequirement extends PlatformRequirement { PairRequirement() : super('Pair to your other iOS device'); + final HomeController homeController = HomeController()..onInit(); + @override - Future call() async { - await startHidPeripheral(); - } + Future call() async {} @override Future getStatus() async { status = false; } + + @override + Widget? build(BuildContext context, VoidCallback onUpdate) { + return Row( + children: [ + ElevatedButton( + onPressed: () { + homeController.startAdvertising(); + }, + child: Text('Start'), + ), + ElevatedButton( + onPressed: () { + homeController.sendMouseReport(buttons: 1, x: 10, y: 30); // Move mouse right + }, + child: Text('Control'), + ), + ], + ); + } } diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 2cb6afcfc..6cf6d508b 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -6,16 +6,12 @@ #include "generated_plugin_registrant.h" -#include #include #include #include #include void fl_register_plugins(FlPluginRegistry* registry) { - g_autoptr(FlPluginRegistrar) bluetooth_low_energy_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "BluetoothLowEnergyLinuxPlugin"); - bluetooth_low_energy_linux_plugin_register_with_registrar(bluetooth_low_energy_linux_registrar); g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); file_selector_plugin_register_with_registrar(file_selector_linux_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 00728078b..74bbc59d0 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,7 +3,6 @@ # list(APPEND FLUTTER_PLUGIN_LIST - bluetooth_low_energy_linux file_selector_linux screen_retriever_linux url_launcher_linux diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 1b8d16012..1aa2c9b1f 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,7 +5,7 @@ import FlutterMacOS import Foundation -import bluetooth_low_energy_darwin +import ble_peripheral import device_info_plus import file_selector_macos import flutter_local_notifications @@ -18,7 +18,7 @@ import url_launcher_macos import window_manager func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - BluetoothLowEnergyDarwinPlugin.register(with: registry.registrar(forPlugin: "BluetoothLowEnergyDarwinPlugin")) + BlePeripheralPlugin.register(with: registry.registrar(forPlugin: "BlePeripheralPlugin")) DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) diff --git a/pubspec.lock b/pubspec.lock index eee092997..66d8534a7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -32,54 +32,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.13.0" - bluetooth_low_energy: + ble_peripheral: dependency: "direct main" description: - name: bluetooth_low_energy - sha256: "5dec5831412c7d82b77df878dd3e08a82132426d2fb4c5d7c98c9a8cd0ed79e0" + name: ble_peripheral + sha256: "858d370709507155bbf69e6160e9cb81d802e664f133a649a38b9ca04439884c" url: "https://pub.dev" source: hosted - version: "6.1.0" - bluetooth_low_energy_android: - dependency: transitive - description: - name: bluetooth_low_energy_android - sha256: "32c0f84f88770845e3189e04b0ddf4780dc8743fd7a8ade60b99b6cb414b8a89" - url: "https://pub.dev" - source: hosted - version: "6.1.0" - bluetooth_low_energy_darwin: - dependency: transitive - description: - name: bluetooth_low_energy_darwin - sha256: fbbe3be175cb54093884a84f6f0826d6e8a2a2e29dfeae9b367d5e8e9ee1db38 - url: "https://pub.dev" - source: hosted - version: "6.1.0" - bluetooth_low_energy_linux: - dependency: transitive - description: - name: bluetooth_low_energy_linux - sha256: a5c740f445dc8d2e940767fa94ed3bb24c32e77bc962a67ab23cb1f218180705 - url: "https://pub.dev" - source: hosted - version: "6.1.0" - bluetooth_low_energy_platform_interface: - dependency: transitive - description: - name: bluetooth_low_energy_platform_interface - sha256: dd76c0f8e31dcfb984059b03e73cb2998c29cffd17425f4ce946365b63abb3dc - url: "https://pub.dev" - source: hosted - version: "6.1.0" - bluetooth_low_energy_windows: - dependency: transitive - description: - name: bluetooth_low_energy_windows - sha256: "7a651259f7bc3ae2bb042c21e15e1e4f88acea57da1f69b3165f239124724791" - url: "https://pub.dev" - source: hosted - version: "6.1.0" + version: "2.4.0" bluez: dependency: transitive description: @@ -367,14 +327,6 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.2" - hybrid_logging: - dependency: transitive - description: - name: hybrid_logging - sha256: "54248d52ce68c14702a42fbc4083bac5c6be30f6afad8a41be4bbadd197b8af5" - url: "https://pub.dev" - source: hosted - version: "1.0.0" image: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 8a17fda34..33057f00b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,8 +14,8 @@ dependencies: flutter_local_notifications: ^19.4.1 universal_ble: ^0.21.1 intl: any - bluetooth_low_energy: ^6.1.0 protobuf: ^4.2.0 + ble_peripheral: ^2.4.0 permission_handler: ^12.0.1 dartx: any image_picker: ^1.1.2 diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 7ff59c299..d5662c9e4 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -6,7 +6,7 @@ #include "generated_plugin_registrant.h" -#include +#include #include #include #include @@ -16,8 +16,8 @@ #include void RegisterPlugins(flutter::PluginRegistry* registry) { - BluetoothLowEnergyWindowsPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("BluetoothLowEnergyWindowsPluginCApi")); + BlePeripheralPluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("BlePeripheralPluginCApi")); FileSelectorWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("FileSelectorWindows")); KeypressSimulatorWindowsPluginCApiRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index e7605d177..d662f4289 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -3,7 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST - bluetooth_low_energy_windows + ble_peripheral file_selector_windows keypress_simulator_windows permission_handler_windows From 89d200243b8c47cfb030656745a2c230a21b5f34 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 6 Oct 2025 19:28:43 +0200 Subject: [PATCH 240/636] Revert "try flutter_ble_peripheral" This reverts commit 013b078a44ed0fae0e63c644b65a3b0abfba0282. --- ios/Podfile.lock | 10 +- lib/utils/requirements/ios.dart | 297 +++++------------- linux/flutter/generated_plugin_registrant.cc | 4 + linux/flutter/generated_plugins.cmake | 1 + macos/Flutter/GeneratedPluginRegistrant.swift | 4 +- pubspec.lock | 56 +++- pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 6 +- windows/flutter/generated_plugins.cmake | 2 +- 9 files changed, 142 insertions(+), 240 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index d09914a85..172db7d42 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - ble_peripheral (0.0.1): + - bluetooth_low_energy_darwin (0.0.1): - Flutter - FlutterMacOS - device_info_plus (0.0.1): @@ -23,7 +23,7 @@ PODS: - Flutter DEPENDENCIES: - - ble_peripheral (from `.symlinks/plugins/ble_peripheral/darwin`) + - bluetooth_low_energy_darwin (from `.symlinks/plugins/bluetooth_low_energy_darwin/darwin`) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) - Flutter (from `Flutter`) - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) @@ -35,8 +35,8 @@ DEPENDENCIES: - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) EXTERNAL SOURCES: - ble_peripheral: - :path: ".symlinks/plugins/ble_peripheral/darwin" + bluetooth_low_energy_darwin: + :path: ".symlinks/plugins/bluetooth_low_energy_darwin/darwin" device_info_plus: :path: ".symlinks/plugins/device_info_plus/ios" Flutter: @@ -57,7 +57,7 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/url_launcher_ios/ios" SPEC CHECKSUMS: - ble_peripheral: e80b0809599f5406e5d321c12a6dbc07ecdab8bd + bluetooth_low_energy_darwin: 764d8d1ae5abefbcdb839e812b4b25c0061fcf8b device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342 Flutter: cabc95a1d2626b1b06e7179b784ebcf0c0cde467 flutter_local_notifications: ff50f8405aaa0ccdc7dcfb9022ca192e8ad9688f diff --git a/lib/utils/requirements/ios.dart b/lib/utils/requirements/ios.dart index 6779caed6..5bd3217e9 100644 --- a/lib/utils/requirements/ios.dart +++ b/lib/utils/requirements/ios.dart @@ -1,240 +1,89 @@ -import 'dart:developer'; +import 'dart:typed_data'; -import 'package:ble_peripheral/ble_peripheral.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; +import 'package:bluetooth_low_energy/bluetooth_low_energy.dart'; import 'package:swift_control/utils/requirements/platform.dart'; -class HomeController { - bool isAdvertising = false; - bool isBleOn = false; - List devices = []; - - String get deviceName => "HID Mouse"; - - // HID Service UUID (standard) - String serviceHID = "00001812-0000-1000-8000-00805F9B34FB"; - // HID Information Characteristic UUID - String characteristicHIDInformation = "00002A4A-0000-1000-8000-00805F9B34FB"; - // HID Report Map Characteristic UUID - String characteristicReportMap = "00002A4B-0000-1000-8000-00805F9B34FB"; - // HID Control Point Characteristic UUID - String characteristicControlPoint = "00002A4C-0000-1000-8000-00805F9B34FB"; - // HID Report Characteristic UUID - String characteristicReport = "00002A4D-0000-1000-8000-00805F9B34FB"; - // HID Protocol Mode Characteristic UUID - String characteristicProtocolMode = "00002A4E-0000-1000-8000-00805F9B34FB"; - - // HID Report Map for Mouse (standard) - Uint8List hidReportMap = Uint8List.fromList([ - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x02, // Usage (Mouse) - 0xA1, 0x01, // Collection (Application) - 0x09, 0x01, // Usage (Pointer) - 0xA1, 0x00, // Collection (Physical) - 0x05, 0x09, // Usage Page (Button) - 0x19, 0x01, // Usage Minimum (Button 1) - 0x29, 0x03, // Usage Maximum (Button 3) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x95, 0x03, // Report Count (3) - 0x75, 0x01, // Report Size (1) - 0x81, 0x02, // Input (Data,Var,Abs) - 0x95, 0x01, // Report Count (1) - 0x75, 0x05, // Report Size (5) - 0x81, 0x03, // Input (Const,Var,Abs) - Reserved - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x30, // Usage (X) - 0x09, 0x31, // Usage (Y) - 0x09, 0x38, // Usage (Wheel) - 0x15, 0x81, // Logical Minimum (-127) - 0x25, 0x7F, // Logical Maximum (127) - 0x75, 0x08, // Report Size (8) - 0x95, 0x03, // Report Count (3) - 0x81, 0x06, // Input (Data,Var,Rel) - 0xC0, // End Collection - 0xC0, // End Collection - ]); - - // HID Information - Uint8List hidInformation = Uint8List.fromList([0x11, 0x01, 0x00, 0x03]); // bcdHID=0x0111, bCountryCode=0, Flags=0x03 - - void onInit() { - _initialize(); - // setup callbacks - BlePeripheral.setBleStateChangeCallback((b) { - isBleOn = b; - log("BLE State Changed: $b"); - }); - - BlePeripheral.setAdvertisingStatusUpdateCallback((bool advertising, String? error) { - isAdvertising = advertising; - log("AdvertisingStarted: $advertising, Error: $error"); - }); - - BlePeripheral.setCharacteristicSubscriptionChangeCallback(( - String deviceId, - String characteristicId, - bool isSubscribed, - String? name, - ) { - log("onCharacteristicSubscriptionChange: $deviceId : $characteristicId $isSubscribed Name: $name"); - String deviceName = "${name ?? deviceId} subscribed to $characteristicId"; - if (isSubscribed) { - if (!devices.any((element) => element == deviceName)) { - devices.add(deviceName); - log("$deviceName adding"); - } else { - log("$deviceName already exists"); - } - } else { - devices.removeWhere((element) => element == deviceName); - } - }); - - BlePeripheral.setReadRequestCallback((deviceId, characteristicId, offset, value) { - log("ReadRequest: $deviceId $characteristicId : $offset : $value"); - // Respond with HID info or report map if requested - if (characteristicId == characteristicReportMap) { - return ReadRequestResult(value: hidReportMap); - } - if (characteristicId == characteristicHIDInformation) { - return ReadRequestResult(value: hidInformation); - } - return ReadRequestResult(value: Uint8List(0)); - }); - - BlePeripheral.setWriteRequestCallback((deviceId, characteristicId, offset, value) { - log("WriteRequest: $deviceId $characteristicId : $offset : $value"); - // Handle control point or protocol mode writes if needed - return null; - }); - } - - void _initialize() async { - try { - await BlePeripheral.initialize(); - } catch (e) { - log("InitializationError: $e"); - } - } - - Future startAdvertising() async { - log("Starting Advertising (HID Mouse)"); - await addServices(); - await BlePeripheral.startAdvertising( - services: [serviceHID], - localName: deviceName, - // Optionally set manufacturer data if needed - addManufacturerDataInScanResponse: false, - ); - } - - Future addServices() async { - try { - // HID Service with the required characteristics - await BlePeripheral.addService( - BleService( - uuid: serviceHID, - primary: true, - characteristics: [ - BleCharacteristic( - uuid: characteristicHIDInformation, - properties: [CharacteristicProperties.read.index], - value: hidInformation, - permissions: [AttributePermissions.readable.index], - ), - BleCharacteristic( - uuid: characteristicReportMap, - properties: [CharacteristicProperties.read.index], - value: hidReportMap, - permissions: [AttributePermissions.readable.index], - ), - BleCharacteristic( - uuid: characteristicControlPoint, - properties: [CharacteristicProperties.write.index], - //value: Uint8List(1), // Default 0 - permissions: [AttributePermissions.writeable.index], - ), - BleCharacteristic( - uuid: characteristicReport, - properties: [CharacteristicProperties.read.index, CharacteristicProperties.notify.index], - //value: Uint8List(4), // Initial empty mouse report - permissions: [AttributePermissions.readable.index], - ), - BleCharacteristic( - uuid: characteristicProtocolMode, - properties: [CharacteristicProperties.read.index, CharacteristicProperties.write.index], - //value: Uint8List.fromList([1]), // Report protocol mode - permissions: [AttributePermissions.readable.index, AttributePermissions.writeable.index], - ), - ], - ), - ); - log("HID Mouse services added"); - } catch (e) { - log("Error: $e"); - } - } - - void getAllServices() async { - List services = await BlePeripheral.getServices(); - log(services.toString()); - } - - void removeServices() async { - await BlePeripheral.clearServices(); - log("Services removed"); - } +final pm = PeripheralManager(); + +Future startHidPeripheral() async { + // 1) Build characteristics + final hidInfo = GATTCharacteristic.immutable( + uuid: UUID.fromString('2A4A'), + value: Uint8List.fromList([0x11, 0x01, 0x00, 0x02]), + descriptors: [], // HID v1.11, country=0, flags=2 + ); + + final reportMap = GATTCharacteristic.immutable( + uuid: UUID.fromString('2A4B'), + value: Uint8List.fromList([ + // Mouse descriptor bytes … + ]), + descriptors: [], + ); + + final protocolMode = GATTCharacteristic.immutable( + uuid: UUID.fromString('2A4E'), + value: Uint8List.fromList([0x01]), // Report Protocol + descriptors: [], + ); + + // Input report characteristic (notify) + final inputReport = GATTCharacteristic.mutable( + uuid: UUID.fromString('2A4D'), + permissions: [GATTCharacteristicPermission.read, GATTCharacteristicPermission.write], + properties: [GATTCharacteristicProperty.notify, GATTCharacteristicProperty.read], + descriptors: [ + GATTDescriptor.immutable( + // Report Reference: ID=1, Type=Input(1) + uuid: UUID.fromString('2908'), + value: Uint8List.fromList([0x01, 0x01]), + ), + ], + ); + + // 2) HID service + final hidService = GATTService( + uuid: UUID.fromString('1812'), + isPrimary: true, + characteristics: [hidInfo, reportMap, protocolMode, inputReport], + includedServices: [], + ); + + await pm.addService(hidService); + + // 3) Optional Battery service + await pm.addService( + GATTService( + uuid: UUID.fromString('180F'), + isPrimary: true, + characteristics: [ + GATTCharacteristic.immutable(uuid: UUID.fromString('2A19'), value: Uint8List.fromList([100]), descriptors: []), + ], + includedServices: [], + ), + ); - /// Send a mouse report to all subscribed devices. For example, move mouse right. - void sendMouseReport({int buttons = 0, int x = 0, int y = 0, int wheel = 0}) async { - // Mouse report: [buttons, x, y, wheel] - try { - Uint8List report = Uint8List.fromList([ - buttons & 0x07, // 3 bits for buttons - x & 0xFF, // X movement (-127 to +127) - y & 0xFF, // Y movement (-127 to +127) - wheel & 0xFF, // Wheel movement (-127 to +127) - ]); - await BlePeripheral.updateCharacteristic(characteristicId: characteristicReport, value: report); - log("Mouse report sent: $report"); - } catch (e) { - log("SendMouseReportError: $e"); - } - } + final advertisement = Advertisement(name: 'SwiftControl', serviceUUIDs: [UUID.fromString('1812')]); + await pm.startAdvertising(advertisement); } +/* +// Send a relative mouse move + button state as 3-byte report: [buttons, dx, dy] +Future sendMouseReport(int buttons, int dx, int dy) async { + final data = Uint8List.fromList([buttons & 0x07, dx & 0xFF, dy & 0xFF]); + await pm.notifyCharacteristic(UUID.fromString('1812'), UUID.fromString('2A4D'), data); +}*/ + class PairRequirement extends PlatformRequirement { PairRequirement() : super('Pair to your other iOS device'); - final HomeController homeController = HomeController()..onInit(); - @override - Future call() async {} + Future call() async { + await startHidPeripheral(); + } @override Future getStatus() async { status = false; } - - @override - Widget? build(BuildContext context, VoidCallback onUpdate) { - return Row( - children: [ - ElevatedButton( - onPressed: () { - homeController.startAdvertising(); - }, - child: Text('Start'), - ), - ElevatedButton( - onPressed: () { - homeController.sendMouseReport(buttons: 1, x: 10, y: 30); // Move mouse right - }, - child: Text('Control'), - ), - ], - ); - } } diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index 6cf6d508b..2cb6afcfc 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -6,12 +6,16 @@ #include "generated_plugin_registrant.h" +#include #include #include #include #include void fl_register_plugins(FlPluginRegistry* registry) { + g_autoptr(FlPluginRegistrar) bluetooth_low_energy_linux_registrar = + fl_plugin_registry_get_registrar_for_plugin(registry, "BluetoothLowEnergyLinuxPlugin"); + bluetooth_low_energy_linux_plugin_register_with_registrar(bluetooth_low_energy_linux_registrar); g_autoptr(FlPluginRegistrar) file_selector_linux_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "FileSelectorPlugin"); file_selector_plugin_register_with_registrar(file_selector_linux_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 74bbc59d0..00728078b 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,6 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST + bluetooth_low_energy_linux file_selector_linux screen_retriever_linux url_launcher_linux diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 1aa2c9b1f..1b8d16012 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,7 +5,7 @@ import FlutterMacOS import Foundation -import ble_peripheral +import bluetooth_low_energy_darwin import device_info_plus import file_selector_macos import flutter_local_notifications @@ -18,7 +18,7 @@ import url_launcher_macos import window_manager func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - BlePeripheralPlugin.register(with: registry.registrar(forPlugin: "BlePeripheralPlugin")) + BluetoothLowEnergyDarwinPlugin.register(with: registry.registrar(forPlugin: "BluetoothLowEnergyDarwinPlugin")) DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 66d8534a7..eee092997 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -32,14 +32,54 @@ packages: url: "https://pub.dev" source: hosted version: "2.13.0" - ble_peripheral: + bluetooth_low_energy: dependency: "direct main" description: - name: ble_peripheral - sha256: "858d370709507155bbf69e6160e9cb81d802e664f133a649a38b9ca04439884c" + name: bluetooth_low_energy + sha256: "5dec5831412c7d82b77df878dd3e08a82132426d2fb4c5d7c98c9a8cd0ed79e0" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "6.1.0" + bluetooth_low_energy_android: + dependency: transitive + description: + name: bluetooth_low_energy_android + sha256: "32c0f84f88770845e3189e04b0ddf4780dc8743fd7a8ade60b99b6cb414b8a89" + url: "https://pub.dev" + source: hosted + version: "6.1.0" + bluetooth_low_energy_darwin: + dependency: transitive + description: + name: bluetooth_low_energy_darwin + sha256: fbbe3be175cb54093884a84f6f0826d6e8a2a2e29dfeae9b367d5e8e9ee1db38 + url: "https://pub.dev" + source: hosted + version: "6.1.0" + bluetooth_low_energy_linux: + dependency: transitive + description: + name: bluetooth_low_energy_linux + sha256: a5c740f445dc8d2e940767fa94ed3bb24c32e77bc962a67ab23cb1f218180705 + url: "https://pub.dev" + source: hosted + version: "6.1.0" + bluetooth_low_energy_platform_interface: + dependency: transitive + description: + name: bluetooth_low_energy_platform_interface + sha256: dd76c0f8e31dcfb984059b03e73cb2998c29cffd17425f4ce946365b63abb3dc + url: "https://pub.dev" + source: hosted + version: "6.1.0" + bluetooth_low_energy_windows: + dependency: transitive + description: + name: bluetooth_low_energy_windows + sha256: "7a651259f7bc3ae2bb042c21e15e1e4f88acea57da1f69b3165f239124724791" + url: "https://pub.dev" + source: hosted + version: "6.1.0" bluez: dependency: transitive description: @@ -327,6 +367,14 @@ packages: url: "https://pub.dev" source: hosted version: "4.1.2" + hybrid_logging: + dependency: transitive + description: + name: hybrid_logging + sha256: "54248d52ce68c14702a42fbc4083bac5c6be30f6afad8a41be4bbadd197b8af5" + url: "https://pub.dev" + source: hosted + version: "1.0.0" image: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 33057f00b..8a17fda34 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,8 +14,8 @@ dependencies: flutter_local_notifications: ^19.4.1 universal_ble: ^0.21.1 intl: any + bluetooth_low_energy: ^6.1.0 protobuf: ^4.2.0 - ble_peripheral: ^2.4.0 permission_handler: ^12.0.1 dartx: any image_picker: ^1.1.2 diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index d5662c9e4..7ff59c299 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -6,7 +6,7 @@ #include "generated_plugin_registrant.h" -#include +#include #include #include #include @@ -16,8 +16,8 @@ #include void RegisterPlugins(flutter::PluginRegistry* registry) { - BlePeripheralPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("BlePeripheralPluginCApi")); + BluetoothLowEnergyWindowsPluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("BluetoothLowEnergyWindowsPluginCApi")); FileSelectorWindowsRegisterWithRegistrar( registry->GetRegistrarForPlugin("FileSelectorWindows")); KeypressSimulatorWindowsPluginCApiRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index d662f4289..e7605d177 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -3,7 +3,7 @@ # list(APPEND FLUTTER_PLUGIN_LIST - ble_peripheral + bluetooth_low_energy_windows file_selector_windows keypress_simulator_windows permission_handler_windows From f7669b2bbc6c24de8cab4f8f357913c994e70ce0 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 6 Oct 2025 21:41:37 +0200 Subject: [PATCH 241/636] make it work --- android/app/src/main/AndroidManifest.xml | 4 +- lib/pages/requirements.dart | 6 +- lib/pages/touch_area.dart | 2 + lib/utils/requirements/ios.dart | 192 +++++++++++++++++++++-- lib/utils/requirements/platform.dart | 2 +- 5 files changed, 185 insertions(+), 21 deletions(-) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 5c37ce934..cc0b263a2 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,4 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/lib/pages/requirements.dart b/lib/pages/requirements.dart index 6aba6292b..3680bbd6e 100644 --- a/lib/pages/requirements.dart +++ b/lib/pages/requirements.dart @@ -56,11 +56,11 @@ class _RequirementsPageState extends State with WidgetsBinding final packageInfo = await PackageInfo.fromPlatform(); final currentVersion = packageInfo.version; final lastSeenVersion = settings.getLastSeenVersion(); - + if (mounted) { await ChangelogDialog.showIfNeeded(context, currentVersion, lastSeenVersion); } - + // Update last seen version await settings.setLastSeenVersion(currentVersion); } catch (e) { @@ -120,7 +120,7 @@ class _RequirementsPageState extends State with WidgetsBinding return; } final hasEarlierIncomplete = _requirements.indexWhere((req) => !req.status) < step; - if (hasEarlierIncomplete) { + if (hasEarlierIncomplete && !kDebugMode) { return; } setState(() { diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart index 4ffbb2b12..68a4040e6 100644 --- a/lib/pages/touch_area.dart +++ b/lib/pages/touch_area.dart @@ -9,6 +9,7 @@ import 'package:image_picker/image_picker.dart'; import 'package:keypress_simulator/keypress_simulator.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/widgets/keymap_explanation.dart'; +import 'package:swift_control/widgets/menu.dart'; import 'package:swift_control/widgets/testbed.dart'; import 'package:window_manager/window_manager.dart'; @@ -382,6 +383,7 @@ class _TouchAreaSetupPageState extends State { ], icon: Icon(Icons.more_vert), ), + if (kDebugMode) MenuButton(), ], ), ), diff --git a/lib/utils/requirements/ios.dart b/lib/utils/requirements/ios.dart index 5bd3217e9..f3f405174 100644 --- a/lib/utils/requirements/ios.dart +++ b/lib/utils/requirements/ios.dart @@ -1,11 +1,80 @@ import 'dart:typed_data'; import 'package:bluetooth_low_energy/bluetooth_low_energy.dart'; +import 'package:flutter/material.dart'; import 'package:swift_control/utils/requirements/platform.dart'; final pm = PeripheralManager(); +Central? _connectedCentral; +GATTCharacteristic? _connectedCharacteristic; + Future startHidPeripheral() async { + final reportMapData = Uint8List.fromList([ + // Mouse (Report ID 1) + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x02, // Usage (Mouse) + 0xA1, 0x01, // Collection (Application) + 0x85, 0x01, // Report ID (1) + 0x09, 0x01, // Usage (Pointer) + 0xA1, 0x00, // Collection (Physical) + 0x05, 0x09, // Usage Page (Buttons) + 0x19, 0x01, // Usage Minimum (1) + 0x29, 0x03, // Usage Maximum (3) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x95, 0x03, // Report Count (3) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data, Variable, Absolute) + 0x95, 0x01, // Report Count (1) + 0x75, 0x05, // Report Size (5) + 0x81, 0x03, // Input (Constant, Variable, Absolute) + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x30, // Usage (X) + 0x09, 0x31, // Usage (Y) + 0x15, 0x81, // Logical Minimum (-127) + 0x25, 0x7F, // Logical Maximum (127) + 0x75, 0x08, // Report Size (8) + 0x95, 0x02, // Report Count (2) + 0x81, 0x06, // Input (Data, Variable, Relative) + 0xC0, // End Collection + 0xC0, // End Collection + // Keyboard (Report ID 2)A + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x06, // Usage (Keyboard) + 0xA1, 0x01, // Collection (Application) + 0x85, 0x02, // Report ID (2) + 0x05, 0x07, // Usage Page (Key Codes) + 0x19, 0xE0, // Usage Minimum (224) + 0x29, 0xE7, // Usage Maximum (231) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x01, // Logical Maximum (1) + 0x75, 0x01, // Report Size (1) + 0x95, 0x08, // Report Count (8) + 0x81, 0x02, // Input (Data, Variable, Absolute) ; Modifier byte + 0x95, 0x01, // Report Count (1) + 0x75, 0x08, // Report Size (8) + 0x81, 0x01, // Input (Constant) ; Reserved byte + 0x95, 0x05, // Report Count (5) + 0x75, 0x01, // Report Size (1) + 0x05, 0x08, // Usage Page (LEDs) + 0x19, 0x01, // Usage Minimum (1) + 0x29, 0x05, // Usage Maximum (5) + 0x91, 0x02, // Output (Data, Variable, Absolute) ; LED report + 0x95, 0x01, // Report Count (1) + 0x75, 0x03, // Report Size (3) + 0x91, 0x01, // Output (Constant) ; Padding + 0x95, 0x06, // Report Count (6) + 0x75, 0x08, // Report Size (8) + 0x15, 0x00, // Logical Minimum (0) + 0x25, 0x65, // Logical Maximum (101) + 0x05, 0x07, // Usage Page (Key Codes) + 0x19, 0x00, // Usage Minimum (0) + 0x29, 0x65, // Usage Maximum (101) + 0x81, 0x00, // Input (Data, Array) ; Key arrays (6 bytes) + 0xC0, // End Collection + ]); + // 1) Build characteristics final hidInfo = GATTCharacteristic.immutable( uuid: UUID.fromString('2A4A'), @@ -15,22 +84,32 @@ Future startHidPeripheral() async { final reportMap = GATTCharacteristic.immutable( uuid: UUID.fromString('2A4B'), - value: Uint8List.fromList([ - // Mouse descriptor bytes … - ]), - descriptors: [], + //properties: [GATTCharacteristicProperty.read], + //permissions: [GATTCharacteristicPermission.read], + value: reportMapData, + descriptors: [ + GATTDescriptor.immutable(uuid: UUID.fromString('2908'), value: Uint8List.fromList([0x0, 0x0])), + ], ); - final protocolMode = GATTCharacteristic.immutable( + final protocolMode = GATTCharacteristic.mutable( uuid: UUID.fromString('2A4E'), - value: Uint8List.fromList([0x01]), // Report Protocol + properties: [GATTCharacteristicProperty.read, GATTCharacteristicProperty.writeWithoutResponse], + permissions: [GATTCharacteristicPermission.read, GATTCharacteristicPermission.write], + descriptors: [], + ); + + final hidControlPoint = GATTCharacteristic.mutable( + uuid: UUID.fromString('2A4C'), + properties: [GATTCharacteristicProperty.writeWithoutResponse], + permissions: [GATTCharacteristicPermission.write], descriptors: [], ); // Input report characteristic (notify) final inputReport = GATTCharacteristic.mutable( uuid: UUID.fromString('2A4D'), - permissions: [GATTCharacteristicPermission.read, GATTCharacteristicPermission.write], + permissions: [GATTCharacteristicPermission.read], properties: [GATTCharacteristicProperty.notify, GATTCharacteristicProperty.read], descriptors: [ GATTDescriptor.immutable( @@ -40,12 +119,50 @@ Future startHidPeripheral() async { ), ], ); + // Input report characteristic (notify) + final keyboardInputReport = GATTCharacteristic.mutable( + uuid: UUID.fromString('2A4D'), + permissions: [GATTCharacteristicPermission.read], + properties: [GATTCharacteristicProperty.notify, GATTCharacteristicProperty.read], + descriptors: [ + GATTDescriptor.immutable( + // Report Reference: ID=1, Type=Input(1) + uuid: UUID.fromString('2908'), + value: Uint8List.fromList([0x02, 0x01]), + ), + ], + ); + + final outputReport = GATTCharacteristic.mutable( + uuid: UUID.fromString('2A4D'), + permissions: [GATTCharacteristicPermission.read, GATTCharacteristicPermission.write], + properties: [ + GATTCharacteristicProperty.read, + GATTCharacteristicProperty.write, + GATTCharacteristicProperty.writeWithoutResponse, + ], + descriptors: [ + GATTDescriptor.immutable( + // Report Reference: ID=1, Type=Input(1) + uuid: UUID.fromString('2908'), + value: Uint8List.fromList([0x02, 0x02]), + ), + ], + ); // 2) HID service final hidService = GATTService( - uuid: UUID.fromString('1812'), + uuid: UUID.fromString('00001812-0000-1000-8000-00805F9B34FB'), isPrimary: true, - characteristics: [hidInfo, reportMap, protocolMode, inputReport], + characteristics: [ + hidInfo, + reportMap, + protocolMode, + outputReport, + hidControlPoint, + keyboardInputReport, + inputReport, + ], includedServices: [], ); @@ -63,25 +180,70 @@ Future startHidPeripheral() async { ), ); - final advertisement = Advertisement(name: 'SwiftControl', serviceUUIDs: [UUID.fromString('1812')]); + final advertisement = Advertisement( + name: 'SwiftControl', + serviceUUIDs: [UUID.fromString('00001812-0000-1000-8000-00805F9B34FB')], + ); + /*pm.connectionStateChanged.forEach((state) { + print('Peripheral connection state: $state'); + });*/ + + pm.characteristicReadRequested.forEach((char) { + print('Read request for characteristic: ${char}'); + // You can respond to read requests here if needed + }); + + pm.characteristicNotifyStateChanged.forEach((char) { + _connectedCentral = char.central; + _connectedCharacteristic = char.characteristic; + print('Notify state changed for characteristic: ${char.characteristic.uuid}'); + }); + await pm.startAdvertising(advertisement); } -/* // Send a relative mouse move + button state as 3-byte report: [buttons, dx, dy] Future sendMouseReport(int buttons, int dx, int dy) async { final data = Uint8List.fromList([buttons & 0x07, dx & 0xFF, dy & 0xFF]); - await pm.notifyCharacteristic(UUID.fromString('1812'), UUID.fromString('2A4D'), data); -}*/ + await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: data); +} -class PairRequirement extends PlatformRequirement { - PairRequirement() : super('Pair to your other iOS device'); +class ConnectRequirement extends PlatformRequirement { + ConnectRequirement() : super('Connect to your other iOS device'); @override Future call() async { await startHidPeripheral(); } + @override + Widget? build(BuildContext context, VoidCallback onUpdate) { + return Row( + spacing: 10, + children: [ + ElevatedButton( + onPressed: () async { + await call(); + onUpdate(); + }, + child: Text('Start Pairing'), + ), + ElevatedButton( + onPressed: () async { + sendMouseReport(1, 20, 20); + }, + child: Text('Simulate'), + ), + ElevatedButton( + onPressed: () async { + sendMouseReport(1, -20, -20); + }, + child: Text('Simulate'), + ), + ], + ); + } + @override Future getStatus() async { status = false; diff --git a/lib/utils/requirements/platform.dart b/lib/utils/requirements/platform.dart index 706e6c4e0..bd81e1883 100644 --- a/lib/utils/requirements/platform.dart +++ b/lib/utils/requirements/platform.dart @@ -29,7 +29,7 @@ Future> getRequirements() async { } else if (Platform.isMacOS) { list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()]; } else if (Platform.isIOS) { - list = [BluetoothTurnedOn(), PairRequirement()]; + list = [BluetoothTurnedOn(), ConnectRequirement()]; } else if (Platform.isWindows) { list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()]; } else if (Platform.isAndroid) { From 2ac94907e81328254762e18f36d50cf649d56f40 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Mon, 6 Oct 2025 22:43:36 +0200 Subject: [PATCH 242/636] make it work #2 --- lib/utils/requirements/ios.dart | 141 +++++++++++++++++++++++--------- lib/widgets/menu.dart | 5 +- 2 files changed, 107 insertions(+), 39 deletions(-) diff --git a/lib/utils/requirements/ios.dart b/lib/utils/requirements/ios.dart index f3f405174..c110dfc69 100644 --- a/lib/utils/requirements/ios.dart +++ b/lib/utils/requirements/ios.dart @@ -1,3 +1,4 @@ +import 'dart:io'; import 'dart:typed_data'; import 'package:bluetooth_low_energy/bluetooth_low_energy.dart'; @@ -10,7 +11,7 @@ Central? _connectedCentral; GATTCharacteristic? _connectedCharacteristic; Future startHidPeripheral() async { - final reportMapData = Uint8List.fromList([ + final reportMapDataRelative = Uint8List.fromList([ // Mouse (Report ID 1) 0x05, 0x01, // Usage Page (Generic Desktop) 0x09, 0x02, // Usage (Mouse) @@ -39,42 +40,86 @@ Future startHidPeripheral() async { 0x81, 0x06, // Input (Data, Variable, Relative) 0xC0, // End Collection 0xC0, // End Collection - // Keyboard (Report ID 2)A + // End Collection + ]); + + final reportMapDataAbsolute = Uint8List.fromList([ 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x06, // Usage (Keyboard) + 0x09, 0x02, // Usage (Mouse) 0xA1, 0x01, // Collection (Application) - 0x85, 0x02, // Report ID (2) - 0x05, 0x07, // Usage Page (Key Codes) - 0x19, 0xE0, // Usage Minimum (224) - 0x29, 0xE7, // Usage Maximum (231) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x75, 0x01, // Report Size (1) - 0x95, 0x08, // Report Count (8) - 0x81, 0x02, // Input (Data, Variable, Absolute) ; Modifier byte - 0x95, 0x01, // Report Count (1) - 0x75, 0x08, // Report Size (8) - 0x81, 0x01, // Input (Constant) ; Reserved byte - 0x95, 0x05, // Report Count (5) - 0x75, 0x01, // Report Size (1) - 0x05, 0x08, // Usage Page (LEDs) - 0x19, 0x01, // Usage Minimum (1) - 0x29, 0x05, // Usage Maximum (5) - 0x91, 0x02, // Output (Data, Variable, Absolute) ; LED report - 0x95, 0x01, // Report Count (1) - 0x75, 0x03, // Report Size (3) - 0x91, 0x01, // Output (Constant) ; Padding - 0x95, 0x06, // Report Count (6) - 0x75, 0x08, // Report Size (8) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x65, // Logical Maximum (101) - 0x05, 0x07, // Usage Page (Key Codes) - 0x19, 0x00, // Usage Minimum (0) - 0x29, 0x65, // Usage Maximum (101) - 0x81, 0x00, // Input (Data, Array) ; Key arrays (6 bytes) + 0x85, 0x01, // Report ID (1) + 0x09, 0x01, // Usage (Pointer) + 0xA1, 0x00, // Collection (Physical) + 0x05, 0x09, // Usage Page (Buttons) + 0x19, 0x01, // Usage Minimum (1) + 0x29, 0x03, // Usage Maximum (3) + 0x15, 0x00, // Logical Min (0) + 0x25, 0x01, // Logical Max (1) + 0x95, 0x03, // Report Count (3) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data,Var,Abs) // buttons + 0x95, 0x01, // Report Count (1) + 0x75, 0x05, // Report Size (5) + 0x81, 0x03, // Input (Const,Var,Abs) // padding + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x30, // Usage (X) + 0x09, 0x31, // Usage (Y) + 0x15, 0x00, // Logical Min (0) + 0x26, 0xFF, 0x7F, // Logical Max (32767) + 0x75, 0x10, // Report Size (16 bits per axis) + 0x95, 0x02, // Report Count (2 axes) + 0x81, 0x02, // Input (Data,Var,Abs) // ABSOLUTE + 0xC0, // End Collection 0xC0, // End Collection ]); + final reportMapData = Uint8List.fromList([ + 0x05, 0x0d, // USAGE_PAGE (Digitizers) + 0x09, 0x04, // USAGE (Touch Screen) + 0xa1, 0x01, // COLLECTION (Application) + 0x85, 0x02, // REPORT_ID (Touch) + 0x09, 0x20, // USAGE (Stylus) + 0xa1, 0x00, // COLLECTION (Physical) + 0x09, 0x42, // USAGE (Tip Switch) + 0x15, 0x00, // LOGICAL_MINIMUM (0) + 0x25, 0x01, // LOGICAL_MAXIMUM (1) + 0x75, 0x01, // REPORT_SIZE (1) + 0x95, 0x01, // REPORT_COUNT (1) + 0x81, 0x02, // INPUT (Data,Var,Abs) + 0x95, 0x03, // REPORT_COUNT (3) + 0x81, 0x03, // INPUT (Cnst,Ary,Abs) + 0x09, 0x32, // USAGE (In Range) + 0x09, 0x47, // USAGE (Confidence) + 0x95, 0x02, // REPORT_COUNT (2) + 0x81, 0x02, // INPUT (Data,Var,Abs) + 0x95, 0x0a, // REPORT_COUNT (10) + 0x81, 0x03, // INPUT (Cnst,Ary,Abs) + 0x05, 0x01, // USAGE_PAGE (Generic Desktop) + 0x26, 0xff, 0x7f, // LOGICAL_MAXIMUM (32767) + 0x75, 0x10, // REPORT_SIZE (16) + 0x95, 0x01, // REPORT_COUNT (1) + 0xa4, // PUSH + 0x55, 0x0d, // UNIT_EXPONENT (-3) + 0x65, 0x00, // UNIT (None) + 0x09, 0x30, // USAGE (X) + 0x35, 0x00, // PHYSICAL_MINIMUM (0) + 0x46, 0x00, 0x00, // PHYSICAL_MAXIMUM (0) + 0x81, 0x02, // INPUT (Data,Var,Abs) + 0x09, 0x31, // USAGE (Y) + 0x46, 0x00, 0x00, // PHYSICAL_MAXIMUM (0) + 0x81, 0x02, // INPUT (Data,Var,Abs) + 0xb4, // POP + 0x05, 0x0d, // USAGE PAGE (Digitizers) + 0x09, 0x48, // USAGE (Width) + 0x09, 0x49, // USAGE (Height) + 0x95, 0x02, // REPORT_COUNT (2) + 0x81, 0x02, // INPUT (Data,Var,Abs) + 0x95, 0x01, // REPORT_COUNT (1) + 0x81, 0x03, // INPUT (Cnst,Ary,Abs) + 0xc0, // END_COLLECTION + 0xc0, // END_COLLECTION + ]); + // 1) Build characteristics final hidInfo = GATTCharacteristic.immutable( uuid: UUID.fromString('2A4A'), @@ -86,7 +131,7 @@ Future startHidPeripheral() async { uuid: UUID.fromString('2A4B'), //properties: [GATTCharacteristicProperty.read], //permissions: [GATTCharacteristicPermission.read], - value: reportMapData, + value: reportMapDataAbsolute, descriptors: [ GATTDescriptor.immutable(uuid: UUID.fromString('2908'), value: Uint8List.fromList([0x0, 0x0])), ], @@ -196,7 +241,9 @@ Future startHidPeripheral() async { pm.characteristicNotifyStateChanged.forEach((char) { _connectedCentral = char.central; _connectedCharacteristic = char.characteristic; - print('Notify state changed for characteristic: ${char.characteristic.uuid}'); + print( + 'Notify state changed for characteristic: ${char.characteristic.uuid} vs ${char.characteristic.uuid == inputReport.uuid}', + ); }); await pm.startAdvertising(advertisement); @@ -208,11 +255,29 @@ Future sendMouseReport(int buttons, int dx, int dy) async { await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: data); } +Uint8List absMouseReport(int buttons3bit, int x, int y) { + final b = buttons3bit & 0x07; // lower 3 bits used + return Uint8List.fromList([ + 0x01, // Report ID + b, // buttons + implicit padding + x & 0xFF, (x >> 8) & 0xFF, // X 0..32767 + y & 0xFF, (y >> 8) & 0xFF, // Y 0..32767 + ]); +} + +// Send a relative mouse move + button state as 3-byte report: [buttons, dx, dy] +Future sendAbsMouseReport(int buttons, int dx, int dy) async { + await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: absMouseReport(buttons, dx, dy)); +} + class ConnectRequirement extends PlatformRequirement { ConnectRequirement() : super('Connect to your other iOS device'); @override Future call() async { + if (Platform.isAndroid) { + await pm.authorize(); + } await startHidPeripheral(); } @@ -230,15 +295,15 @@ class ConnectRequirement extends PlatformRequirement { ), ElevatedButton( onPressed: () async { - sendMouseReport(1, 20, 20); + sendAbsMouseReport(1, (32767 / 2).toInt(), (32767 / 2).toInt()); }, - child: Text('Simulate'), + child: Text('1'), ), ElevatedButton( onPressed: () async { - sendMouseReport(1, -20, -20); + sendAbsMouseReport(1, 10, 10); }, - child: Text('Simulate'), + child: Text('2'), ), ], ); diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart index b24a59e8b..53ef41026 100644 --- a/lib/widgets/menu.dart +++ b/lib/widgets/menu.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; +import 'package:swift_control/bluetooth/messages/ride_notification.dart'; import 'package:swift_control/main.dart'; import 'package:swift_control/utils/keymap/buttons.dart'; import 'package:swift_control/widgets/title.dart'; @@ -69,7 +70,9 @@ class MenuButton extends StatelessWidget { child: Text(e.name), onTap: () { Future.delayed(Duration(seconds: 2)).then((_) { - actionHandler.performAction(e); + connection.devices.firstOrNull?.actionStreamInternal.add( + RideNotification(Uint8List(0))..buttonsClicked = [e], + ); }); }, ), From 11fdcad57d893471dc59b770e33dd75367c9da5a Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 7 Oct 2025 16:41:53 +0200 Subject: [PATCH 243/636] make it work #3 --- .github/workflows/build.yml | 3 +- lib/utils/requirements/ios.dart | 118 +++++++------------------------- 2 files changed, 28 insertions(+), 93 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ad2836f07..7d1bf8ff3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -138,7 +138,7 @@ jobs: artifacts: "build/app/outputs/flutter-apk/SwiftControl.android.apk,build/macos/Build/Products/Release/SwiftControl.macos.zip" allowUpdates: true prerelease: ${{ endsWith(env.VERSION, '1337') }} - body: "You can also download the Android version from the Play Store: https://play.google.com/store/apps/details?id=de.jonasbark.swiftcontrol" + body: "I recommend downloading the Android version from the Play Store: https://play.google.com/store/apps/details?id=de.jonasbark.swiftcontrol" tag: v${{ env.VERSION }} token: ${{ secrets.TOKEN }} @@ -248,5 +248,6 @@ jobs: with: allowUpdates: true artifacts: "build/windows/x64/runner/Release/SwiftControl.windows.zip" + body: "I recommend downloading the Android version from the Play Store: https://play.google.com/store/apps/details?id=de.jonasbark.swiftcontrol" tag: v${{ env.VERSION }} token: ${{ secrets.TOKEN }} diff --git a/lib/utils/requirements/ios.dart b/lib/utils/requirements/ios.dart index c110dfc69..01672cee5 100644 --- a/lib/utils/requirements/ios.dart +++ b/lib/utils/requirements/ios.dart @@ -11,38 +11,6 @@ Central? _connectedCentral; GATTCharacteristic? _connectedCharacteristic; Future startHidPeripheral() async { - final reportMapDataRelative = Uint8List.fromList([ - // Mouse (Report ID 1) - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x02, // Usage (Mouse) - 0xA1, 0x01, // Collection (Application) - 0x85, 0x01, // Report ID (1) - 0x09, 0x01, // Usage (Pointer) - 0xA1, 0x00, // Collection (Physical) - 0x05, 0x09, // Usage Page (Buttons) - 0x19, 0x01, // Usage Minimum (1) - 0x29, 0x03, // Usage Maximum (3) - 0x15, 0x00, // Logical Minimum (0) - 0x25, 0x01, // Logical Maximum (1) - 0x95, 0x03, // Report Count (3) - 0x75, 0x01, // Report Size (1) - 0x81, 0x02, // Input (Data, Variable, Absolute) - 0x95, 0x01, // Report Count (1) - 0x75, 0x05, // Report Size (5) - 0x81, 0x03, // Input (Constant, Variable, Absolute) - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x30, // Usage (X) - 0x09, 0x31, // Usage (Y) - 0x15, 0x81, // Logical Minimum (-127) - 0x25, 0x7F, // Logical Maximum (127) - 0x75, 0x08, // Report Size (8) - 0x95, 0x02, // Report Count (2) - 0x81, 0x06, // Input (Data, Variable, Relative) - 0xC0, // End Collection - 0xC0, // End Collection - // End Collection - ]); - final reportMapDataAbsolute = Uint8List.fromList([ 0x05, 0x01, // Usage Page (Generic Desktop) 0x09, 0x02, // Usage (Mouse) @@ -65,61 +33,14 @@ Future startHidPeripheral() async { 0x09, 0x30, // Usage (X) 0x09, 0x31, // Usage (Y) 0x15, 0x00, // Logical Min (0) - 0x26, 0xFF, 0x7F, // Logical Max (32767) - 0x75, 0x10, // Report Size (16 bits per axis) - 0x95, 0x02, // Report Count (2 axes) - 0x81, 0x02, // Input (Data,Var,Abs) // ABSOLUTE + 0x25, 0x64, // Logical Max (100) + 0x75, 0x08, // Report Size (8) + 0x95, 0x02, // Report Count (2) + 0x81, 0x02, // Input (Data,Var,Abs) 0xC0, // End Collection 0xC0, // End Collection ]); - final reportMapData = Uint8List.fromList([ - 0x05, 0x0d, // USAGE_PAGE (Digitizers) - 0x09, 0x04, // USAGE (Touch Screen) - 0xa1, 0x01, // COLLECTION (Application) - 0x85, 0x02, // REPORT_ID (Touch) - 0x09, 0x20, // USAGE (Stylus) - 0xa1, 0x00, // COLLECTION (Physical) - 0x09, 0x42, // USAGE (Tip Switch) - 0x15, 0x00, // LOGICAL_MINIMUM (0) - 0x25, 0x01, // LOGICAL_MAXIMUM (1) - 0x75, 0x01, // REPORT_SIZE (1) - 0x95, 0x01, // REPORT_COUNT (1) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x03, // REPORT_COUNT (3) - 0x81, 0x03, // INPUT (Cnst,Ary,Abs) - 0x09, 0x32, // USAGE (In Range) - 0x09, 0x47, // USAGE (Confidence) - 0x95, 0x02, // REPORT_COUNT (2) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x0a, // REPORT_COUNT (10) - 0x81, 0x03, // INPUT (Cnst,Ary,Abs) - 0x05, 0x01, // USAGE_PAGE (Generic Desktop) - 0x26, 0xff, 0x7f, // LOGICAL_MAXIMUM (32767) - 0x75, 0x10, // REPORT_SIZE (16) - 0x95, 0x01, // REPORT_COUNT (1) - 0xa4, // PUSH - 0x55, 0x0d, // UNIT_EXPONENT (-3) - 0x65, 0x00, // UNIT (None) - 0x09, 0x30, // USAGE (X) - 0x35, 0x00, // PHYSICAL_MINIMUM (0) - 0x46, 0x00, 0x00, // PHYSICAL_MAXIMUM (0) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x09, 0x31, // USAGE (Y) - 0x46, 0x00, 0x00, // PHYSICAL_MAXIMUM (0) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0xb4, // POP - 0x05, 0x0d, // USAGE PAGE (Digitizers) - 0x09, 0x48, // USAGE (Width) - 0x09, 0x49, // USAGE (Height) - 0x95, 0x02, // REPORT_COUNT (2) - 0x81, 0x02, // INPUT (Data,Var,Abs) - 0x95, 0x01, // REPORT_COUNT (1) - 0x81, 0x03, // INPUT (Cnst,Ary,Abs) - 0xc0, // END_COLLECTION - 0xc0, // END_COLLECTION - ]); - // 1) Build characteristics final hidInfo = GATTCharacteristic.immutable( uuid: UUID.fromString('2A4A'), @@ -256,13 +177,10 @@ Future sendMouseReport(int buttons, int dx, int dy) async { } Uint8List absMouseReport(int buttons3bit, int x, int y) { - final b = buttons3bit & 0x07; // lower 3 bits used - return Uint8List.fromList([ - 0x01, // Report ID - b, // buttons + implicit padding - x & 0xFF, (x >> 8) & 0xFF, // X 0..32767 - y & 0xFF, (y >> 8) & 0xFF, // Y 0..32767 - ]); + final b = buttons3bit & 0x07; + final xi = x.clamp(0, 100); + final yi = y.clamp(0, 100); + return Uint8List.fromList([0x01, b, xi, yi]); } // Send a relative mouse move + button state as 3-byte report: [buttons, dx, dy] @@ -295,13 +213,29 @@ class ConnectRequirement extends PlatformRequirement { ), ElevatedButton( onPressed: () async { - sendAbsMouseReport(1, (32767 / 2).toInt(), (32767 / 2).toInt()); + //sendAbsMouseReport(1, 0, 50); + final topLeft = Uint8List.fromList([ + 0x01, // Report ID + 0x00, // Buttons + 0x00, // X = 0 + 0x00, // Y = 0 + ]); + + await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: topLeft); }, child: Text('1'), ), ElevatedButton( onPressed: () async { - sendAbsMouseReport(1, 10, 10); + final bottomRight = Uint8List.fromList([ + 0x01, // Report ID + 0x00, // Buttons + 0x64, // X = 100 + 0x64, // Y = 100 + ]); + + //sendAbsMouseReport(2, 0, 90); + await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: bottomRight); }, child: Text('2'), ), From c0afe1792efd9b583469d4eeaf34d95d314b3643 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 7 Oct 2025 16:53:19 +0200 Subject: [PATCH 244/636] make it work #4 --- lib/utils/requirements/ios.dart | 52 ++++++++++++++------------------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/lib/utils/requirements/ios.dart b/lib/utils/requirements/ios.dart index 01672cee5..394a3402e 100644 --- a/lib/utils/requirements/ios.dart +++ b/lib/utils/requirements/ios.dart @@ -18,9 +18,9 @@ Future startHidPeripheral() async { 0x85, 0x01, // Report ID (1) 0x09, 0x01, // Usage (Pointer) 0xA1, 0x00, // Collection (Physical) - 0x05, 0x09, // Usage Page (Buttons) - 0x19, 0x01, // Usage Minimum (1) - 0x29, 0x03, // Usage Maximum (3) + 0x05, 0x09, // Usage Page (Button) + 0x19, 0x01, // Usage Min (1) + 0x29, 0x03, // Usage Max (3) 0x15, 0x00, // Logical Min (0) 0x25, 0x01, // Logical Max (1) 0x95, 0x03, // Report Count (3) @@ -33,12 +33,12 @@ Future startHidPeripheral() async { 0x09, 0x30, // Usage (X) 0x09, 0x31, // Usage (Y) 0x15, 0x00, // Logical Min (0) - 0x25, 0x64, // Logical Max (100) - 0x75, 0x08, // Report Size (8) - 0x95, 0x02, // Report Count (2) - 0x81, 0x02, // Input (Data,Var,Abs) - 0xC0, // End Collection - 0xC0, // End Collection + 0x25, 0x64, // Logical Max (100) + 0x75, 0x08, // Report Size (8) + 0x95, 0x02, // Report Count (2) + 0x81, 0x02, // Input (Data,Var,Abs) + 0xC0, + 0xC0, ]); // 1) Build characteristics @@ -163,7 +163,7 @@ Future startHidPeripheral() async { _connectedCentral = char.central; _connectedCharacteristic = char.characteristic; print( - 'Notify state changed for characteristic: ${char.characteristic.uuid} vs ${char.characteristic.uuid == inputReport.uuid}', + 'Notify state changed for characteristic: ${char.characteristic.uuid} vs ${char.characteristic.uuid == inputReport.uuid}: ${char.state}', ); }); @@ -180,12 +180,14 @@ Uint8List absMouseReport(int buttons3bit, int x, int y) { final b = buttons3bit & 0x07; final xi = x.clamp(0, 100); final yi = y.clamp(0, 100); - return Uint8List.fromList([0x01, b, xi, yi]); + return Uint8List.fromList([b, xi, yi]); } // Send a relative mouse move + button state as 3-byte report: [buttons, dx, dy] Future sendAbsMouseReport(int buttons, int dx, int dy) async { - await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: absMouseReport(buttons, dx, dy)); + final bytes = absMouseReport(buttons, dx, dy); + print('Sending abs mouse report: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0'))}'); + await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: bytes); } class ConnectRequirement extends PlatformRequirement { @@ -213,32 +215,22 @@ class ConnectRequirement extends PlatformRequirement { ), ElevatedButton( onPressed: () async { - //sendAbsMouseReport(1, 0, 50); - final topLeft = Uint8List.fromList([ - 0x01, // Report ID - 0x00, // Buttons - 0x00, // X = 0 - 0x00, // Y = 0 - ]); - - await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: topLeft); + sendAbsMouseReport(1, 0, 0); }, child: Text('1'), ), ElevatedButton( onPressed: () async { - final bottomRight = Uint8List.fromList([ - 0x01, // Report ID - 0x00, // Buttons - 0x64, // X = 100 - 0x64, // Y = 100 - ]); - - //sendAbsMouseReport(2, 0, 90); - await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: bottomRight); + sendAbsMouseReport(1, 0, 90); }, child: Text('2'), ), + ElevatedButton( + onPressed: () async { + sendAbsMouseReport(1, 99, 99); + }, + child: Text('3'), + ), ], ); } From 0d446ee293d2e4e6d0c9875b18b462ae8fb2a77e Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 7 Oct 2025 17:47:05 +0200 Subject: [PATCH 245/636] make it work #5 --- lib/main.dart | 5 +- lib/pages/touch_area.dart | 2 +- lib/utils/actions/ios.dart | 90 ++++++ lib/utils/requirements/ios.dart | 429 ++++++++++++++------------- lib/utils/requirements/platform.dart | 2 +- pubspec.yaml | 2 +- 6 files changed, 312 insertions(+), 218 deletions(-) create mode 100644 lib/utils/actions/ios.dart diff --git a/lib/main.dart b/lib/main.dart index 13036887d..0743ff318 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -8,6 +8,7 @@ import 'package:swift_control/pages/requirements.dart'; import 'package:swift_control/theme.dart'; import 'package:swift_control/utils/actions/android.dart'; import 'package:swift_control/utils/actions/desktop.dart'; +import 'package:swift_control/utils/actions/ios.dart'; import 'package:swift_control/utils/settings/settings.dart'; import 'package:window_manager/window_manager.dart'; @@ -24,8 +25,10 @@ void main() async { WidgetsFlutterBinding.ensureInitialized(); if (kIsWeb) { actionHandler = StubActions(); - } else if (Platform.isAndroid || Platform.isIOS) { + } else if (Platform.isAndroid) { actionHandler = AndroidActions(); + } else if (Platform.isIOS) { + actionHandler = IosActions(); } else { actionHandler = DesktopActions(); // Must add this line. diff --git a/lib/pages/touch_area.dart b/lib/pages/touch_area.dart index 68a4040e6..02f6fd904 100644 --- a/lib/pages/touch_area.dart +++ b/lib/pages/touch_area.dart @@ -134,7 +134,7 @@ class _TouchAreaSetupPageState extends State { // figure out notch height for e.g. macOS. On Windows the display size is not available (0,0). final differenceInHeight = - (flutterView.display.size.height > 0) + (flutterView.display.size.height > 0 && !Platform.isIOS) ? (flutterView.display.size.height - flutterView.physicalSize.height) / flutterView.devicePixelRatio : 0.0; diff --git a/lib/utils/actions/ios.dart b/lib/utils/actions/ios.dart new file mode 100644 index 000000000..efc31c7d1 --- /dev/null +++ b/lib/utils/actions/ios.dart @@ -0,0 +1,90 @@ +import 'dart:math'; + +import 'package:bluetooth_low_energy/bluetooth_low_energy.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:swift_control/utils/actions/base_actions.dart'; +import 'package:swift_control/utils/keymap/buttons.dart'; +import 'package:swift_control/widgets/keymap_explanation.dart'; + +import '../keymap/apps/supported_app.dart'; +import '../requirements/ios.dart'; + +class IosActions extends BaseActions { + Central? _connectedCentral; + GATTCharacteristic? _connectedCharacteristic; + + late final Size screenSize; + + @override + void init(SupportedApp? supportedApp) { + super.init(supportedApp); + + final flutterView = WidgetsBinding.instance.platformDispatcher.views.first; + screenSize = flutterView.physicalSize; + } + + @override + Future performAction(ZwiftButton action, {bool isKeyDown = true, bool isKeyUp = false}) async { + if (supportedApp == null) { + return ('Supported app is not set'); + } + + final keyPair = supportedApp!.keymap.getKeyPair(action); + if (keyPair == null) { + return ('Keymap entry not found for action: ${action.toString().splitByUpperCase()}'); + } + + if (keyPair.physicalKey != null) { + return ('Physical key actions are not supported on iOS'); + } else { + final point = supportedApp!.resolveTouchPosition(action: action, windowInfo: null); + /*if (isKeyDown && isKeyUp) { + await keyPressSimulator.simulateMouseClickDown(point); + await keyPressSimulator.simulateMouseClickUp(point); + return 'Mouse clicked at: ${point.dx} ${point.dy}'; + } else if (isKeyDown) { + await keyPressSimulator.simulateMouseClickDown(point); + return 'Mouse down at: ${point.dx} ${point.dy}'; + } else { + await keyPressSimulator.simulateMouseClickUp(point); + return 'Mouse up at: ${point.dx} ${point.dy}'; + }*/ + await sendAbsMouseReport(0, point.dx.toInt(), point.dy.toInt()); + await sendAbsMouseReport(1, point.dx.toInt(), point.dy.toInt()); + await sendAbsMouseReport(0, point.dx.toInt(), point.dy.toInt()); + return 'Mouse moved to: ${point.dx} ${point.dy}'; + } + } + + Uint8List absMouseReport(int buttons3bit, int x, int y) { + final b = buttons3bit & 0x07; + final xi = x.clamp(0, 100); + final yi = y.clamp(0, 100); + return Uint8List.fromList([b, xi, yi]); + } + + // Send a relative mouse move + button state as 3-byte report: [buttons, dx, dy] + Future sendAbsMouseReport(int buttons, int dx, int dy) async { + int toX100(int v) => ((v / max(screenSize.width, screenSize.height)) * 100).toInt(); + int toY100(int v) => ((v / min(screenSize.width, screenSize.height)) * 100).toInt(); + + final x100 = toX100(dx); + final y100 = toY100(dy); + + print( + 'Preparing to send abs mouse report: buttons=$buttons, dx=$dx, dy=$dy => x100=$x100, y100=$y100 per screen size: $screenSize', + ); + + final bytes = absMouseReport(buttons, x100, y100); + print('Sending abs mouse report: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0'))}'); + await peripheralManager.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: bytes); + } + + void setConnectedCentral(Central? central, GATTCharacteristic? gattCharacteristic) { + _connectedCentral = central; + _connectedCharacteristic = gattCharacteristic; + } + + bool get isConnected => _connectedCentral != null; +} diff --git a/lib/utils/requirements/ios.dart b/lib/utils/requirements/ios.dart index 394a3402e..b6da2bfef 100644 --- a/lib/utils/requirements/ios.dart +++ b/lib/utils/requirements/ios.dart @@ -3,240 +3,241 @@ import 'dart:typed_data'; import 'package:bluetooth_low_energy/bluetooth_low_energy.dart'; import 'package:flutter/material.dart'; +import 'package:swift_control/main.dart'; import 'package:swift_control/utils/requirements/platform.dart'; -final pm = PeripheralManager(); - -Central? _connectedCentral; -GATTCharacteristic? _connectedCharacteristic; - -Future startHidPeripheral() async { - final reportMapDataAbsolute = Uint8List.fromList([ - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x02, // Usage (Mouse) - 0xA1, 0x01, // Collection (Application) - 0x85, 0x01, // Report ID (1) - 0x09, 0x01, // Usage (Pointer) - 0xA1, 0x00, // Collection (Physical) - 0x05, 0x09, // Usage Page (Button) - 0x19, 0x01, // Usage Min (1) - 0x29, 0x03, // Usage Max (3) - 0x15, 0x00, // Logical Min (0) - 0x25, 0x01, // Logical Max (1) - 0x95, 0x03, // Report Count (3) - 0x75, 0x01, // Report Size (1) - 0x81, 0x02, // Input (Data,Var,Abs) // buttons - 0x95, 0x01, // Report Count (1) - 0x75, 0x05, // Report Size (5) - 0x81, 0x03, // Input (Const,Var,Abs) // padding - 0x05, 0x01, // Usage Page (Generic Desktop) - 0x09, 0x30, // Usage (X) - 0x09, 0x31, // Usage (Y) - 0x15, 0x00, // Logical Min (0) - 0x25, 0x64, // Logical Max (100) - 0x75, 0x08, // Report Size (8) - 0x95, 0x02, // Report Count (2) - 0x81, 0x02, // Input (Data,Var,Abs) - 0xC0, - 0xC0, - ]); - - // 1) Build characteristics - final hidInfo = GATTCharacteristic.immutable( - uuid: UUID.fromString('2A4A'), - value: Uint8List.fromList([0x11, 0x01, 0x00, 0x02]), - descriptors: [], // HID v1.11, country=0, flags=2 - ); - - final reportMap = GATTCharacteristic.immutable( - uuid: UUID.fromString('2A4B'), - //properties: [GATTCharacteristicProperty.read], - //permissions: [GATTCharacteristicPermission.read], - value: reportMapDataAbsolute, - descriptors: [ - GATTDescriptor.immutable(uuid: UUID.fromString('2908'), value: Uint8List.fromList([0x0, 0x0])), - ], - ); - - final protocolMode = GATTCharacteristic.mutable( - uuid: UUID.fromString('2A4E'), - properties: [GATTCharacteristicProperty.read, GATTCharacteristicProperty.writeWithoutResponse], - permissions: [GATTCharacteristicPermission.read, GATTCharacteristicPermission.write], - descriptors: [], - ); - - final hidControlPoint = GATTCharacteristic.mutable( - uuid: UUID.fromString('2A4C'), - properties: [GATTCharacteristicProperty.writeWithoutResponse], - permissions: [GATTCharacteristicPermission.write], - descriptors: [], - ); - - // Input report characteristic (notify) - final inputReport = GATTCharacteristic.mutable( - uuid: UUID.fromString('2A4D'), - permissions: [GATTCharacteristicPermission.read], - properties: [GATTCharacteristicProperty.notify, GATTCharacteristicProperty.read], - descriptors: [ - GATTDescriptor.immutable( - // Report Reference: ID=1, Type=Input(1) - uuid: UUID.fromString('2908'), - value: Uint8List.fromList([0x01, 0x01]), - ), - ], - ); - // Input report characteristic (notify) - final keyboardInputReport = GATTCharacteristic.mutable( - uuid: UUID.fromString('2A4D'), - permissions: [GATTCharacteristicPermission.read], - properties: [GATTCharacteristicProperty.notify, GATTCharacteristicProperty.read], - descriptors: [ - GATTDescriptor.immutable( - // Report Reference: ID=1, Type=Input(1) - uuid: UUID.fromString('2908'), - value: Uint8List.fromList([0x02, 0x01]), - ), - ], - ); - - final outputReport = GATTCharacteristic.mutable( - uuid: UUID.fromString('2A4D'), - permissions: [GATTCharacteristicPermission.read, GATTCharacteristicPermission.write], - properties: [ - GATTCharacteristicProperty.read, - GATTCharacteristicProperty.write, - GATTCharacteristicProperty.writeWithoutResponse, - ], - descriptors: [ - GATTDescriptor.immutable( - // Report Reference: ID=1, Type=Input(1) - uuid: UUID.fromString('2908'), - value: Uint8List.fromList([0x02, 0x02]), - ), - ], - ); - - // 2) HID service - final hidService = GATTService( - uuid: UUID.fromString('00001812-0000-1000-8000-00805F9B34FB'), - isPrimary: true, - characteristics: [ - hidInfo, - reportMap, - protocolMode, - outputReport, - hidControlPoint, - keyboardInputReport, - inputReport, - ], - includedServices: [], - ); - - await pm.addService(hidService); - - // 3) Optional Battery service - await pm.addService( - GATTService( - uuid: UUID.fromString('180F'), - isPrimary: true, - characteristics: [ - GATTCharacteristic.immutable(uuid: UUID.fromString('2A19'), value: Uint8List.fromList([100]), descriptors: []), - ], - includedServices: [], - ), - ); - - final advertisement = Advertisement( - name: 'SwiftControl', - serviceUUIDs: [UUID.fromString('00001812-0000-1000-8000-00805F9B34FB')], - ); - /*pm.connectionStateChanged.forEach((state) { - print('Peripheral connection state: $state'); - });*/ +import '../actions/ios.dart'; - pm.characteristicReadRequested.forEach((char) { - print('Read request for characteristic: ${char}'); - // You can respond to read requests here if needed - }); +final peripheralManager = PeripheralManager(); +bool _isAdvertising = false; +bool _isSubscribedToEvents = false; + +class ConnectRequirement extends PlatformRequirement { + ConnectRequirement() : super('Connect to your other iOS device'); + + @override + Future call() async {} - pm.characteristicNotifyStateChanged.forEach((char) { - _connectedCentral = char.central; - _connectedCharacteristic = char.characteristic; - print( - 'Notify state changed for characteristic: ${char.characteristic.uuid} vs ${char.characteristic.uuid == inputReport.uuid}: ${char.state}', + Future startAdvertising(VoidCallback onUpdate) async { + if (Platform.isAndroid) { + await peripheralManager.authorize(); + } + await peripheralManager.removeAllServices(); + + final reportMapDataAbsolute = Uint8List.fromList([ + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x02, // Usage (Mouse) + 0xA1, 0x01, // Collection (Application) + 0x85, 0x01, // Report ID (1) + 0x09, 0x01, // Usage (Pointer) + 0xA1, 0x00, // Collection (Physical) + 0x05, 0x09, // Usage Page (Button) + 0x19, 0x01, // Usage Min (1) + 0x29, 0x03, // Usage Max (3) + 0x15, 0x00, // Logical Min (0) + 0x25, 0x01, // Logical Max (1) + 0x95, 0x03, // Report Count (3) + 0x75, 0x01, // Report Size (1) + 0x81, 0x02, // Input (Data,Var,Abs) // buttons + 0x95, 0x01, // Report Count (1) + 0x75, 0x05, // Report Size (5) + 0x81, 0x03, // Input (Const,Var,Abs) // padding + 0x05, 0x01, // Usage Page (Generic Desktop) + 0x09, 0x30, // Usage (X) + 0x09, 0x31, // Usage (Y) + 0x15, 0x00, // Logical Min (0) + 0x25, 0x64, // Logical Max (100) + 0x75, 0x08, // Report Size (8) + 0x95, 0x02, // Report Count (2) + 0x81, 0x02, // Input (Data,Var,Abs) + 0xC0, + 0xC0, + ]); + + // 1) Build characteristics + final hidInfo = GATTCharacteristic.immutable( + uuid: UUID.fromString('2A4A'), + value: Uint8List.fromList([0x11, 0x01, 0x00, 0x02]), + descriptors: [], // HID v1.11, country=0, flags=2 ); - }); - await pm.startAdvertising(advertisement); -} + final reportMap = GATTCharacteristic.immutable( + uuid: UUID.fromString('2A4B'), + //properties: [GATTCharacteristicProperty.read], + //permissions: [GATTCharacteristicPermission.read], + value: reportMapDataAbsolute, + descriptors: [ + GATTDescriptor.immutable(uuid: UUID.fromString('2908'), value: Uint8List.fromList([0x0, 0x0])), + ], + ); -// Send a relative mouse move + button state as 3-byte report: [buttons, dx, dy] -Future sendMouseReport(int buttons, int dx, int dy) async { - final data = Uint8List.fromList([buttons & 0x07, dx & 0xFF, dy & 0xFF]); - await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: data); -} + final protocolMode = GATTCharacteristic.mutable( + uuid: UUID.fromString('2A4E'), + properties: [GATTCharacteristicProperty.read, GATTCharacteristicProperty.writeWithoutResponse], + permissions: [GATTCharacteristicPermission.read, GATTCharacteristicPermission.write], + descriptors: [], + ); -Uint8List absMouseReport(int buttons3bit, int x, int y) { - final b = buttons3bit & 0x07; - final xi = x.clamp(0, 100); - final yi = y.clamp(0, 100); - return Uint8List.fromList([b, xi, yi]); -} + final hidControlPoint = GATTCharacteristic.mutable( + uuid: UUID.fromString('2A4C'), + properties: [GATTCharacteristicProperty.writeWithoutResponse], + permissions: [GATTCharacteristicPermission.write], + descriptors: [], + ); -// Send a relative mouse move + button state as 3-byte report: [buttons, dx, dy] -Future sendAbsMouseReport(int buttons, int dx, int dy) async { - final bytes = absMouseReport(buttons, dx, dy); - print('Sending abs mouse report: ${bytes.map((e) => e.toRadixString(16).padLeft(2, '0'))}'); - await pm.notifyCharacteristic(_connectedCentral!, _connectedCharacteristic!, value: bytes); -} + // Input report characteristic (notify) + final inputReport = GATTCharacteristic.mutable( + uuid: UUID.fromString('2A4D'), + permissions: [GATTCharacteristicPermission.read], + properties: [GATTCharacteristicProperty.notify, GATTCharacteristicProperty.read], + descriptors: [ + GATTDescriptor.immutable( + // Report Reference: ID=1, Type=Input(1) + uuid: UUID.fromString('2908'), + value: Uint8List.fromList([0x01, 0x01]), + ), + ], + ); + // Input report characteristic (notify) + final keyboardInputReport = GATTCharacteristic.mutable( + uuid: UUID.fromString('2A4D'), + permissions: [GATTCharacteristicPermission.read], + properties: [GATTCharacteristicProperty.notify, GATTCharacteristicProperty.read], + descriptors: [ + GATTDescriptor.immutable( + // Report Reference: ID=1, Type=Input(1) + uuid: UUID.fromString('2908'), + value: Uint8List.fromList([0x02, 0x01]), + ), + ], + ); -class ConnectRequirement extends PlatformRequirement { - ConnectRequirement() : super('Connect to your other iOS device'); + final outputReport = GATTCharacteristic.mutable( + uuid: UUID.fromString('2A4D'), + permissions: [GATTCharacteristicPermission.read, GATTCharacteristicPermission.write], + properties: [ + GATTCharacteristicProperty.read, + GATTCharacteristicProperty.write, + GATTCharacteristicProperty.writeWithoutResponse, + ], + descriptors: [ + GATTDescriptor.immutable( + // Report Reference: ID=1, Type=Input(1) + uuid: UUID.fromString('2908'), + value: Uint8List.fromList([0x02, 0x02]), + ), + ], + ); - @override - Future call() async { - if (Platform.isAndroid) { - await pm.authorize(); + // 2) HID service + final hidService = GATTService( + uuid: UUID.fromString('00001812-0000-1000-8000-00805F9B34FB'), + isPrimary: true, + characteristics: [ + hidInfo, + reportMap, + protocolMode, + outputReport, + hidControlPoint, + keyboardInputReport, + inputReport, + ], + includedServices: [], + ); + + if (!_isSubscribedToEvents) { + _isSubscribedToEvents = true; + peripheralManager.characteristicReadRequested.forEach((char) { + print('Read request for characteristic: ${char}'); + // You can respond to read requests here if needed + }); + + peripheralManager.characteristicNotifyStateChanged.forEach((char) { + if (char.characteristic.uuid == inputReport.uuid) { + if (char.state) { + (actionHandler as IosActions).setConnectedCentral(char.central, char.characteristic); + } else { + (actionHandler as IosActions).setConnectedCentral(null, null); + } + onUpdate(); + } + print( + 'Notify state changed for characteristic: ${char.characteristic.uuid} vs ${char.characteristic.uuid == inputReport.uuid}: ${char.state}', + ); + }); } - await startHidPeripheral(); + await peripheralManager.addService(hidService); + + // 3) Optional Battery service + await peripheralManager.addService( + GATTService( + uuid: UUID.fromString('180F'), + isPrimary: true, + characteristics: [ + GATTCharacteristic.immutable( + uuid: UUID.fromString('2A19'), + value: Uint8List.fromList([100]), + descriptors: [], + ), + ], + includedServices: [], + ), + ); + + final advertisement = Advertisement( + name: 'SwiftControl', + serviceUUIDs: [UUID.fromString('00001812-0000-1000-8000-00805F9B34FB')], + ); + /*pm.connectionStateChanged.forEach((state) { + print('Peripheral connection state: $state'); + });*/ + + await peripheralManager.startAdvertising(advertisement); } @override Widget? build(BuildContext context, VoidCallback onUpdate) { - return Row( - spacing: 10, - children: [ - ElevatedButton( - onPressed: () async { - await call(); - onUpdate(); - }, - child: Text('Start Pairing'), - ), - ElevatedButton( - onPressed: () async { - sendAbsMouseReport(1, 0, 0); - }, - child: Text('1'), - ), - ElevatedButton( - onPressed: () async { - sendAbsMouseReport(1, 0, 90); - }, - child: Text('2'), - ), - ElevatedButton( - onPressed: () async { - sendAbsMouseReport(1, 99, 99); - }, - child: Text('3'), - ), - ], + return StatefulBuilder( + builder: + (context, setState) => Row( + spacing: 10, + children: [ + ElevatedButton( + onPressed: () async { + if (_isAdvertising) { + await peripheralManager.stopAdvertising(); + _isAdvertising = false; + (actionHandler as IosActions).setConnectedCentral(null, null); + onUpdate(); + setState(() {}); + } else { + _isAdvertising = true; + setState(() {}); + } + await startAdvertising(onUpdate); + }, + child: Text(_isAdvertising ? 'Stop Pairing' : 'Start Pairing'), + ), + if (_isAdvertising) CircularProgressIndicator(), + /*ElevatedButton( + onPressed: () async { + sendAbsMouseReport(1, 0, 0); + }, + child: Text('1'), + ), + ElevatedButton( + onPressed: () async { + sendAbsMouseReport(1, 0, 90); + }, + child: Text('2'), + ),*/ + ], + ), ); } @override Future getStatus() async { - status = false; + status = (actionHandler as IosActions).isConnected; } } diff --git a/lib/utils/requirements/platform.dart b/lib/utils/requirements/platform.dart index bd81e1883..32905829c 100644 --- a/lib/utils/requirements/platform.dart +++ b/lib/utils/requirements/platform.dart @@ -29,7 +29,7 @@ Future> getRequirements() async { } else if (Platform.isMacOS) { list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()]; } else if (Platform.isIOS) { - list = [BluetoothTurnedOn(), ConnectRequirement()]; + list = [BluetoothTurnedOn(), ConnectRequirement(), BluetoothScanning()]; } else if (Platform.isWindows) { list = [BluetoothTurnedOn(), KeyboardRequirement(), BluetoothScanning()]; } else if (Platform.isAndroid) { diff --git a/pubspec.yaml b/pubspec.yaml index 8a17fda34..3e9c7f9c1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swift_control description: "SwiftControl - Control your virtual riding" publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 2.6.4+10 +version: 2.7.0+11 environment: sdk: ^3.7.0 From 8eef01437c769eefb28a20ee000f719e6b586758 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Tue, 7 Oct 2025 18:33:00 +0200 Subject: [PATCH 246/636] make it work #6 --- flutter_launcher_icons.yaml | 4 +- ios/Runner.xcodeproj/project.pbxproj | 16 +-- .../AppIcon.appiconset/Contents.json | 123 +----------------- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 900598 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 295 -> 1140 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 406 -> 3298 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 450 -> 6339 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 282 -> 2009 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 462 -> 5978 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 704 -> 11796 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 406 -> 3298 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 586 -> 10171 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 862 -> 20534 bytes .../AppIcon.appiconset/Icon-App-50x50@1x.png | Bin 0 -> 4735 bytes .../AppIcon.appiconset/Icon-App-50x50@2x.png | Bin 0 -> 14980 bytes .../AppIcon.appiconset/Icon-App-57x57@1x.png | Bin 0 -> 5826 bytes .../AppIcon.appiconset/Icon-App-57x57@2x.png | Bin 0 -> 18835 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 862 -> 20534 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 1674 -> 43611 bytes .../AppIcon.appiconset/Icon-App-72x72@1x.png | Bin 0 -> 8611 bytes .../AppIcon.appiconset/Icon-App-72x72@2x.png | Bin 0 -> 28588 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 762 -> 9338 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 1226 -> 31796 bytes .../Icon-App-83.5x83.5@2x.png | Bin 1418 -> 37810 bytes lib/utils/requirements/ios.dart | 55 ++++---- 25 files changed, 37 insertions(+), 161 deletions(-) create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png create mode 100644 ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png diff --git a/flutter_launcher_icons.yaml b/flutter_launcher_icons.yaml index 7ce9f6e97..68099e1ef 100644 --- a/flutter_launcher_icons.yaml +++ b/flutter_launcher_icons.yaml @@ -9,9 +9,9 @@ flutter_launcher_icons: # adaptive_icon_foreground: "assets/icon/foreground.png" # adaptive_icon_monochrome: "assets/icon/monochrome.png" - ios: false + ios: true # image_path_ios: "assets/icon/icon.png" - remove_alpha_channel_ios: true + remove_alpha_ios: true # image_path_ios_dark_transparent: "assets/icon/icon_dark.png" # image_path_ios_tinted_grayscale: "assets/icon/icon_tinted.png" # desaturate_tinted_to_grayscale_ios: true diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 0a6da7f67..58b3d4565 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -488,14 +488,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 7BL8RUV2K6; + DEVELOPMENT_TEAM = UZRHKPVWN9; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftcontrol.ios; + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftcontrol.darwin; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; @@ -557,7 +557,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -614,7 +614,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = AppIcon; CLANG_ANALYZER_NONNULL = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -671,14 +671,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 7BL8RUV2K6; + DEVELOPMENT_TEAM = UZRHKPVWN9; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftcontrol.ios; + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftcontrol.darwin; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -694,14 +694,14 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 7BL8RUV2K6; + DEVELOPMENT_TEAM = UZRHKPVWN9; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", ); - PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftcontrol.ios; + PRODUCT_BUNDLE_IDENTIFIER = de.jonasbark.swiftcontrol.darwin; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; SWIFT_VERSION = 5.0; diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json index d36b1fab2..d0d98aa17 100644 --- a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,122 +1 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} +{"images":[{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"20x20","idiom":"iphone","filename":"Icon-App-20x20@3x.png","scale":"3x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"29x29","idiom":"iphone","filename":"Icon-App-29x29@3x.png","scale":"3x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"40x40","idiom":"iphone","filename":"Icon-App-40x40@3x.png","scale":"3x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@1x.png","scale":"1x"},{"size":"57x57","idiom":"iphone","filename":"Icon-App-57x57@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@2x.png","scale":"2x"},{"size":"60x60","idiom":"iphone","filename":"Icon-App-60x60@3x.png","scale":"3x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@1x.png","scale":"1x"},{"size":"20x20","idiom":"ipad","filename":"Icon-App-20x20@2x.png","scale":"2x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@1x.png","scale":"1x"},{"size":"29x29","idiom":"ipad","filename":"Icon-App-29x29@2x.png","scale":"2x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@1x.png","scale":"1x"},{"size":"40x40","idiom":"ipad","filename":"Icon-App-40x40@2x.png","scale":"2x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@1x.png","scale":"1x"},{"size":"50x50","idiom":"ipad","filename":"Icon-App-50x50@2x.png","scale":"2x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@1x.png","scale":"1x"},{"size":"72x72","idiom":"ipad","filename":"Icon-App-72x72@2x.png","scale":"2x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@1x.png","scale":"1x"},{"size":"76x76","idiom":"ipad","filename":"Icon-App-76x76@2x.png","scale":"2x"},{"size":"83.5x83.5","idiom":"ipad","filename":"Icon-App-83.5x83.5@2x.png","scale":"2x"},{"size":"1024x1024","idiom":"ios-marketing","filename":"Icon-App-1024x1024@1x.png","scale":"1x"}],"info":{"version":1,"author":"xcode"}} \ No newline at end of file diff --git a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png index dc9ada4725e9b0ddb1deab583e5b5102493aa332..ec46833154ab266025350c3e3788356565f160a5 100644 GIT binary patch literal 900598 zcmYhiW0WRM6E=9aZQGu9Pfy#nZQHhO+qOMz+qP|U=Xt-g-){b?tgMrnCo(c3u0Vy$ z$%w*1V?zS~061|mAq4;c^j{Yg015o>aqHW)2!Q+hS6ql+$t~;B8zys;wT6sHxi!1} z<@);PC$p0|yt6Xsixjz+9iVJOF+C8@wlk=$j7&fXh0o=#xa5*tsdYrH+CHva*no|L^dp{Sh+Y{~O~i$Xf{v`z-hVH|u-S0SfT{o35br6!87;oec2*E_)wK zw^M=fK+t6V zLy>H|(9}0zTI+2oxTEq0;p77?EBn#Qjp{2d@n@PNekVl7x9Fs##&bTdy#Bx&^}&A6C|ij~{wQTUx9gtstirOEM=0fi!dEi4 z$FO-O^K}V9cKPk{E%v7HO!LhD8!401^ZsD#^%*0QXqQ^`&Hn!owp0CT&cF@bbT-1U zqnhz*f!0%yf5QE{NTOJ{!?DHkU@~srVm{bt zo%ZyegNQ7;RzANRA~+K37+0nP`j2#*BdC=h9lx8(=FfB5IsARc9S@y*ppU-P zo?xb(Xi_w2uMf~K&fD;)M+Qu@ zXTsMThyOkl;V+i~V)ss$@8uY?V(*`1LHcc_sTC|Ai8d0{^gM}|+7frk_e28hs{LF7 z?9^wK>Wi5uR#}>v8J`1=&)*l%rzfhqPL}cbu{X&|Hlqdb| z&TSSC4pB}HJc2^rCRdjWX5AB8pU@Ok;0*Om)VUi|?(#t|4hgYRs9TwIJn-THL%uR3 zA`gWXbKSV}H^XBwC=3scLU_bq>aEhbb>}_;h&-(hO-AV5fmtYY6GGE7jNzI*73zGzM5_e5^AtH3RWuV zmhF>TW}x_5v9N4JREO&27- zOALN>XF~*tui1J8fWagQ1!u${%V;{V*LavC3D?c8joCxg@!tQX`WBfg31}PFt@L8i zk2Ja>EVt0=VVz)1pw5B@SU_MB%U;E;RjS+^`1D>ul-m&Sr5yyVzlW#k(_Re3oM1dg zKQDmAXrH>kTrP6fLK&B5Z+w^y1DSuN{IYkN<>Ctg-0^*{>8i&xdOu*u0nF~GV1WF_ z@=mD51{g&chp5BcWvW-xz1hoS(QBaeZRe6HhM zv{NrcJr};dv_HjTcz+eM4U!f*6}x3LH!uJ=0b-`Onx*| zOayQ6bd2mXN~`!C80rT}y{bp7rYC zde-6_M*X0Dz#+5JLA!^;9n4yj7o9fPU}33Y8(TCEmYW+H>s@-!@!BxQEDN< zzubv#zyoEo*r@3fowKLq82Y?2;)<->QJK>%lFgI(?X31PsJD}fLI3JUzy!`7rSnIC ziTuHSs<1t7AfKn~`XeK_H*ybIz|MDwBGLbTzOQ?enTZ4ryUb+c-yIA^$a}Qe%q*2S zXr<^8Mx!y)k2=?oEv6xML&$BVZQQ^hpAagQ2ERB-M|s>k$mWk`rpCu28w+dV9W@k$ zZn|&1VO(#GVHpy%1lHqYmNsh*>=#yb(Sd86N|r)a9j!}*_RoU)8vJK1KhY-IZ))8I zt>6%p7LVFs>#R2p5P{$C$|vTD;v?X(dh32*7t)(^F3+v)VbQ0?*(BiC3WR+m>;=15 zuKlw8)S}kmbq1{&YVt8E2caap;Qa;mJjIr-0rS(nHRefX*x2OWH9|uc+R08bt^hr2 zE0Ao?d-Bm)wD_rJ*TO<=P8)*F^?)=(Bmj6I{s{fV+-QxNmX%HjwtS~6r`)5PEi9pPBtSUO`dK_f5NrZ)<0 z>379cT=KnUx)5B+54r)#6a=ixOgNO_MglGl=U6e5!ne`nH9d0CUUDb}z}yxxM0WaB zs#WibV+dP1|!*o?a5aU~`ZLd#!%k-S<;;;8Q%w|R)c{KS!VA^8~ z`%nmVY@p}q)CdFMeycJ6r18eFa!9__PW*M^kHxr*?gJ$oTq}nKtC2AOrykl`62CVy z?T&H08ppN;5dc3Vj{zL>gQIx*47!2R5C$gYcLb5`yX$La)NS;SInMus47FLs6C^?>iG6+XCsPSvy(OpIQn~-Cm!K;n`|?V7ngOQ%VMcZ(Mp2 zX{_t;g7b61&+)&%L6*gOOs7+U_`g{$M^LrcZfgyFbF`@$+T^=L!T|;%nZ>ky10vU*F9<21k%p)p9HLz>6 znxMAc+d8QZ*&g`4&6xc9;85gePsA50>|lREA=pw@wBOGbLA4Gy-SQylo(`bpBe73v zR)X=c_d_A@pA+hs74d6Q|2KgbE!(UPXHm|9EtJ=-oOl_;QFkQ-ua)Y|BzH~`$c zBvu5HjZMd~&Ky=PEttlrZfD5xRwiPbnkEjzzSg7pz8_bQ+EN6F6~2hv8P-c|!kgH< zdqoUS4HCsN0zPC#XLj-Zg_2Ph!nVws>6l+nz^QcE>B0Oxr;KW1jJn}{uoC!dPX#TY zePg(P021gAbe)AE`pBk#Tw%oC9{E(Mx}c4-Ic?cuwqF*eXeqi8ns}QML5e*niou|e zPo6cFr|s9m4>zb^Vf}!vd(_NPwtr@a?A>j( zj@GV|8QIs#RH^Ue+_BG(gBrFJ;1sdSS7p9{0}{7G(LUUC1P{ke>Iq9-&*@`-D+HlU zf^tA`8ThW6UK`k+ynWT-53(2r^ioGb9rO}4$lgeDec2RuNjW!cRRr&uw^qgka!9w} z2!6$?VT$mSt+_paIgQNJ;-5o>O!=MBkcE&dOAyHN?vnTO(~XkKCS}C=b!xLr&j?tu zt7A1xis9F2$xad=zR{r?89VVQT+I%2caVd;w%1k`6hMe`h4s2JuF*jwc!oND^WHaR zgvDX5U=aM$uo{A)bF6f|Q@`zXNAs;5EqQBg5hQQQTp8;O7())5(O}=;@HBevVE&BR z^t6-~cEcqjh2ZE#wo`GhUioLinl8i)0}x+`)qzF=QC(1d0X@fA;41o=JmbOI5bC?d z9ZpFCgCoCb?AGq3M8wu`70Oo6lvoT`w^3l_=iPrU)IA0@PO8{i-G^3-@fkaT%TUDj zC*a&;Wjd?#M%MC}wmwZ_4ycHP!afX?2Yt$}IDkW9GHg=}0!%_+!JpRet?5laoXKAh zYG5WZSK%v5alpbw4EJQE03L*v2S_OV7%elz3yZD0wOQy7f2_>(!N}V&AIsx0N6b#| zs1B~5B8FDAC4U6R~(2=Fj3SgDPY@-fMTF0al~atJjlYP8ZQC zO(_kaHUE2Q$oY5+xDMA4FbKiSLXK1F1Q`?3;-@fBxo$)On9p}p!GQ05DX%8ilFRc0 z`o>?_uj9P`YSYlwKmvHhWh+H~XmuvGLiLlsy+%Cw(moF%7Knp!a1D)6a^Mq$&8p&w z?|_T+70shhxmBD@yE0qNO?d!GT{ z7%(N3G7K5tY>Rt>O!!qZ`dZB2BEDr<_D{j?(+pO5@~k&Ul4u5I8!}zSiTtHU{6o_Q zEiihEX{IhByVzewva}>eQPxPRm&!VYWMF9!YK6qZY@}sx(+Eo&?YSF|yCmPu3WL6; zZc%l|Ko#aX_wM{z*DQt%nhagWXw@j97iT>GyUzh7k;(P2CvAMsj)=SL_oPK+%M_Nw z$@7PM6CDTfcnspPHKhB2IKuJ{KEf9M$B$C1%kq;;XY~b#bdYm$IB#|R6_lhbl-VDnjvm0qyqTnaIj7osA)`i@g4_0i>vJ=Y;gUX+`{ObEGO zRGtZs!^6k!5c2HRAMH&_I<<@Ouw^6}ixZ;U<;VNoX0yo6fvc3E`@$E$KYubGLNd$X z8jeL3LNMh&FtoKPFo}C3*wo2=5F_CYMax6$-8XUD7;Zd2sck04{#=o9Yq5xjGYIN8 z^so|SMl9IDV3CGoseHrlC@8{w`6ua#TsnH)S{7_5C9k{3x6eOnqY z!aOmOP!Qg#6Mf(8BIdE>RanX$|6(ATXnA}aD|7*yfvcl?v@T;XVPJ}l@&qb3i$22( zN<#1_t{U^gFA$#rfWQ}`8q zoT0DnV0{%U8#OXR7+LskRxt>3YbGuZa;jrKq*Gs4OS6sR>_C4wZEu>_ix*=fJG4KK z<~{TpLaGK|!U#AGzvW=609xd`#zyd3-Xg~V_5l?M;l{GK2)W;33|aN9%3V*c#>*EBj^wxj;tA`(ehMT?^}Kfi zC?ND^DsKbi6wQ&A4xhl9?o|E8o-l2i@5}mP&)(V3=8o@ixj>R+n}pOvy4}IBn*T_j zF=9{~-)Am&D@ru~ZphR;DVmx9K6)dL7qxMxB)K<#Of)-E7AfPCFbQ;QtmjNfC? z!$#0r*pE^JHzj_`8zQnp&`2_18znzdShWT>Y!%J=Nn(m+41499)Kxx2r^ZVS7J~S%qm%(2hfnW&(F;(uai;_jv%4B5mEOT^#UMG_(!6(Ky9+Z_t|=kR|LiYGa<^3Zm3{v9|p z-cc&L8l6SoIsdcl%@|niY_7j4;dHw&V8_|O4%~$>+LL88Y{c!wq2zgw*x4SzMrg6T zm?zMy!K;$nEY3mw5zLY%+*4g7;y98DwK~RAOPiY%z{F?S=z}d29yk-yhy^c84@DGF zxJ)}2GZyCL*aMA#6;=a<1O=Yl=M9PgFJZljcd;Z_zl2mu#`l(8fqJr_PxrOn80kS8 z21gp4%Fu`BDgj!9Pc!BqC1SvjX1z}SrL!r#xm9soko*VV5=AH;QZ`4WUqJ=Pq~I-H zv41{+-INKav z_+=THFRAZPI*neO>LVQE#)O{TGn)MBuX_Yq9LhILxO;8-os|Z8S5j(Z0Zla4!~|Gu zW~dluwRT#tbp#>oB2sGc8IfXIRyh4!+nZ?n2+~+>{^imuQlE{2)RmJ_5hVj{giRI0 zpykXZt}OOO!av*yyiKMqW+<>LYA#Moi_3@44T~G9EzgoHg_8jb(M{y3DpYIP7OVCs zAUQ!Bg3BGj<|NC>S*REv*h{&m4{wf(m`gzYT=e%@eZ{N{v+X`&YHAj+2eQ!Q1q}kU zBIwDzPn|@4$MDhQW2*R;)fc>o%ni`Xn&V_7Xxe_)fboIrmn&%B#S9>PP5>LyWD9P$ z%SiMcOt_Q>Df!g!8185*kuucw^SEpad7E2^w&8wwYRI~tuif_Wc|+3vABNeIP5ivuH03tZjgTSlR{9qCi5Ojj;|4YSI}<6E!le+gYTyyC z2fv_!H?{P*ZvyVhjFqh)K7JzP85U*Ot`^t*90bTmefmVJd1~|y#4%iIhaA9(M0nNI z%}|)U6rd@@o%qY>7D@(9(2btN5cZZL;(5$lJWMugB&pc5GyE;J5O zhk+9<4>buR?!`s{2{i@y(B_kIG zfN|Or@m~ZLIysgNsl)Ndu#M|^z&_T=$;U=&uI+}cd&GB&Bjd@cgxDWM_MZJT0(WrV zeiRPAHt@-UU7Xm3DaM+K&W{9q417Oa2RldUj@m6Si6$-KM~dgD>!vCOf^Pt%ucg^b z5$1gbglhChnG7KlcX$Yx3{Rf%v^QNU-Q`{P`gj%>La#p`6C&&47rhz+6$wc!Rtg~V z9Yt*RwN+{f3XWno8c4n(Qa>_W>)RE4{M)xi`?#r3_EKa>R$h^k|G*ZqT z{vIzGAA>Yu<(Rh~QTHSVR(j>8WxH{0@<|+db>crGL=`5o3aX5OoqFwbmU)3Bl1XPA?qYrW{@#0 z34>*icVh~AgFcd<` zB_FaMyg?pGE*>UeZ}~Q?nV!jI#4#~8c^@tNA^^$ayV%!SoioX14AeV$cWiM{Aup2b zM9AS)9)XfsL~l4C9OttLlq>zSAbKFHxR`lo%%F{p{R;Yk;CANd*>O(#u0+{}hNo5N z5|m4=Y5tR3>VY}BJAgjuME>zO0+bR+erW1<@ejODWflm{?|~MHX2{-D6ZJAK3Tb9A z_DCxbUjC3$#6)Qur?!gkr81KKtUc`2v5Y#_+&nytnL%Amx!#sY&uS~kw50{=DT^-xnTKbEIs@m4n)aFnWGs{?R89iCzqIDgF!d|#}2xTk) zr@jAo<$oxxTOlj((gWP^GW+9KBvm7N{RTN_&&IE2*^76$nFPu{?Z|bpQ$mp}PIzQF zP3NY|4tk#P&ym`Y#Ir-xBG{nv$fGYl)@uAu*nEoKdy*{+yJDoWa+zj1@-0YZc?(f0 zVe?+`1C`)^p=YB*zg7?&s4o9f?_^-gXFz<8Wr?&+5&1$HiK_SGAZV*PK_Ij&1EQ8y zl3-z}&nV#pA>2qFxD<-t4nV!lP(6bS#DtQKzXsd=Ug46A`VLyMlmX$J^fYUx5-Lp< zxEBN)Xjnlj97{uxyrB1JvA6*rs5${rkQYvz&u(i5oSBR)QTTy)%u}{x$G163o}`w> zukCbgqK2oO?F)7t(q1#xn#`;_>i3)8Z#8~hICYC^{L)C73ES;m9|K%D8sJD82U*6c6vhbEg+`ZlHv+}m^-FAFDcnNXLYG1`T7$|_RHBs9 z?9JsYy}hO$15k~}wkXNoUYppWj@_uQkz%lAVm!q{@eruD!m;bN#c;PW_GB^PJ15>@ zN>YlesGZyH<}Ri{A4IEkf>{DFQ&e>&2{W=BV+Z-zS!ZQkmuU>E?e+k(J^NJo)OTH~ zpL{_NWF17pEDRQ6vZbTpDGzDDNVEOxu$e#h3R&x>%Wf1E9=;bA@Kw@f9pi1}w|q^N zw5e02%O!7esIN(BTxP0LWCrM`$uP7Iy zF&JMSop0DL!tjLY!1iXgfS$_|ZcR*Fg!n=&9JdBEcI|*Q3m@|a8Pj<5GWA^=MKunR z5{UrH=y*)-7mRzBrERS8N2$sLus=5#S_Kf-O0R*X3jScvgYEjH`;wyu+P z^>hv!j=+C6ZRl%jM~ZM=6M5kadsACoJjmcX#>M{&h|1OD&ad0j6HsrH zOqPiftH0lm&S9v-hB_}sXXdo1U4E!Mx}-7IP|lLs8!2qm{au>j;VKx2B-APwlugt@ zEL(DaZ&QKxcX$vxKv$NMxkNdV*o|X`ge^Qm<<8$4zy5?;%BKmQhx+}k0BBlLirduL z`hfWDLzvjMI^Ty)MC9o-DN-Wd&-VMnOeuKG>eX4+*9RQz%dht8q^Jl@XW9h45L982(_5u7ljW|D+TcnD306~w!zcjVYe_WD^#8-W~ zCK8!HbUDOcbws>5OEvz(#DgE|=zF3W`}KW4z|y|sGmk$1k=f&tg-~(?oO9ywLL|v@ z(um|@@y@?eW!GZfJuNIvRy6q+G$sfXo}m+x;;N=hjv;O}n@EOl6e^g)H@E^H6thro zcgSAwXeG})OMFk|T1I6-PK1D$g1r6#wUFud^xRi`Shm?+!s3&ZvP@Zg&Wp==P)~Ds#m<^Ez3ew_<)kh8wF5;C)x6lX6B3yAV-k6iG58S+ zGP8jU1%*r8A9$yhoK>O97t(kt78-MxkplIUAtM6s$FjYzxsi{rZKpF=cmg7~i-t`d z8`0;yFVOAByYDvMXFmUrD;H1iug}jIee6{Fb#nIa(H&nSlv!i#kdf&I zx?#muR#f%^pyUJ@+7<&|>bAx1>! zP#Hxo@$-niRoZSGCC(G&*ur7#jsX(moTx`@?2dowXb7XH!!B1=7h_mCX^9$=?T(?E zYAJX~S?`$T0YF3s5zHZ<_10A7ZTh*>L=@Cv{XHc6US03FX*l+=uW|I|1 znt1Kiafn8=P)3LlT*2-slZ{`>n0f(r{5Ir~;QnF~LO`lom{W4`$*BA5zK(|Tm0&W~+xmm?Opmg2F z4eU4$@rMQ6IXEu4sK29493#MP{9cee*DK$UT}5}bDs|8GJ}mm_6)5=^nb&4=v)VYA<*fQDn2z7qETRc#;y7apqTp+>z1Y)o zmL2#dJ~B{r0_xRo<~Oo?Sl0xSp;y^YvbSNi+mC=M9{XXrOwFmsm$Q%#PsU_+q9}QE zh{km{#A}=_|EPhK)?}=eOqFsU@?mSUE_lM#00QJUiF)<8xtm&AK}@hVW*a@p4Ig|J zH#I^Y!`GhjD*Dm(kvqmoMKBx?X#IB2?$#j2wZIgJtekP`TOTMkO0Q@o!h>{H^9RC9 zGmuzj>K77rn&5|wcysPvIn$G2>UxQ^S|gT%ze%G}Fr=)w7t;FF<;QX`tByP9%K=^6f@|EesE^>I zN{PMKx|g-vGd}QPv8o*e(Cw(2OA~#AdT{8~7vek57@P@r_MK%`y?TY28KhffCFDD6 zpd)dLq=cKFA-zM$N;)+7-vMGry3UC6hJ$y!w+n~U!{-eAPHVj$>bw_E_5g@y&7jm` z+SccW$IT7fm)4)p6JGk(R9Sk@^}I$)P!R;Wr=OjU|M*z%G}?~WyM2vm?n&ow{5z*x z6T`Lm$K;joY(LRHfHMe8iQ$pXhvlUzN3j@K%R55nk^R@yjhijG+TccbwQQVU`#Ctm zAB@9WYSB1~;e)qBSuxno&^)Uguh30c2TIHf?UQi~A^xQiUvR=A;{?&~>rD~(Zo)cx zmp=or9rOO`HewbJHpn)Q`C|P3Oo1Y>;cfNjs;C$O{9Nv898$-2n_40xP7*&M5g7Ui zV_3%#R^cg5Iw){Kzi0isO~sZ7pkTno@H0~Ie}~^vh6j90tjnRQK%ps9ko4MKGg+r( z@u%NqwZj09jUx1W82t$#ae;BZ9lO4B*QX|}R0e$#^Txy2EYkDh`Cv)VVlKyA&|I4} zjXj~)2Sdm)`Pqk&Dce6!WnX&`iBA-htQ6jSmgi*Wza19I%9Q@f5m17ovg=>5Z-}8j^E;^y71iyo^74G5rPN;P* z>TVwAxJbr|QhkB zRDsvFFCPa!J3QX&aKISXKcdN!fY;Kb>!Y5JyG?@5mmT|^*K1%i_&=O!Zn&v$E;9(+ zOg?m{i@AnewEn$%%SYGb^nGg{xN5Jsr%?yelDLj`3>AX0r;BUpOI#Iofv~qKao{J= zXZpB{Q+6Z+`n0o9%naxq02BLcd+^<~B}KTLhrT-jb z-F3BX^G8Xc-Un7nLKG-)>6~G9H8Lo5^$Gh%rq76-Szy-@_U&3AS&q9;2~w{fdhJ1; zF?bV8EGT+XV3B81H5%4P;HBMhM8W6`k@S%hD#y$rr^EFAsjIAOtc80Y$BbV%uzz~p zvlA$Yo{?9QUr}R@4x%QP^A*6C*loEDQ_D_|;gGf&=#KM23mTO(*Fhw>&ScRi$z~$# zu$2;|{FcBV_-iuTWqiegY8eLDVi$YTmi5es1uprbR&6(?cD*5+rBedAIi(CTy~W04 zzJ3@npGN%AKU6zgbX~+vVnMFwr+~m+%=LO)FWap3Hd+ou>H(q9!<>D#QAStPye9up zrmw`mn#8ZK?}=3Ue=T=;>+Qx^9YLmEm$iYr>Et>7Ne=!I_B7I7Kwjw*Fk&AUPNk5R zY5W(~3=icG91n^srOA|nALpy#tIYNstSy21y@P`hMw8g3l3D7ZgNP;W;8bq=UV8jkb*2&kSgFiHmc- zlCp{rW@*$pbYgt_OOG7q>_yX7IVYw1^lS)X@KRKUVe`x=`sn2H`=;2Ga7i=;?iR9~ z2As^yihD{T$m@CGLzE$mtf12t{@sr*dsTj0@yBx``;Uf$@#sObSbcj4&DVX)cy`%c z3we!X6#guBDNUM&BFn!iL~uL>?5!FtSu^OL_K+a&aG@JH4O*Jq)_7u2v_h=&XfTv^ z2oT)EHg{Y{cAVR*FFZPFKN#splzCrrec#@$zP^0deLtf6W4<4PwAllEKK}*UeM1w{ zOMD5=yj@)CN})85o}QdnK5j1cTH&92^ID>DM2yPiP}2^D+L>P~X6Yd<5Qfvbc3b;a z1%5|<*WqeHNQ=Yx#GEJXUhVoXzHT-?=l49T9^F#(SqVmj#S$+P*?N`;405~*y3gwq zhM<+6jHluF^UAgELs6Ai@(ds9IJwXjx0)|A_uGnf!xrLZ7En_mC?MU4=hN&n`;khK zrN#bQMc4%LAsHOHcHL%gGg;>}Z3I zmF=~O2kVZB+H@~wtAU(c6LOL8gvM3oQkEuTG>VYD2uaKD^WfJGmU{@iIvrgI=1M)A z)G+g9j@M@mb$rIcH`pE(vdg1ouI%bz1IGpq?j@~k1&3?P!pU}2k?xyX)t5{wl{Rz5 z(br2!UImU^qD5wEH!3wTt_hOJzQ;-Fw5iSgc)9A6%DI1>AKIa?^@zIf@lwBdgV zwdwFZ9}5_NCWHd&ZXb_T_*a>1s~{717{7gD@9XQU8}r!Py77L0@1RB3UHY~5oYbG+ zix{8C97h6swJ{IE>y*%!w2zcY)#Py>P=;b(My@k)Aj!_%IM64KbSpq;BQ3G9TqYWx zQS(%gh{*`-6_{49V}$A!-nbwa=%z=^MXN*bMqRZ3BKRYBYLq2(Y?eXBNWh&)md%az z6q#EF{iAPZ;X`20I{;cRCr8XIt8|?}1WO=0ev0`9vB(tq_cj}KsEY(lHj2}uG~!T6 zJQ096fZ*60^zeZiQfffA&Mgiy_}$qwz$#|pOl46yi$Tb6vS z`r_MxGsCh|+RN{9pP1M0gdjAW>C*)_XTu=yjj$t!z0H(xl54!A6i-?H%t?t~S{F`; zlN?0WC{rSULGIq-c*ii+7eBux=m4tHf zK9*8lb%43+-5~gmX~H)LnN}zqc8j+V_v>@6Y#Pn*7@g}H;LaFayReYw+|Ym8S@8Q6 zX#3a4!@K?O=S8XJ0yod?*Z22>uaCP`Y_8AyS#v40xOaEmcdYLJxE4@Jfc;amO0f2s zY7FsZy?N~!_Q?V2S}a84M$Mc7fH#`8n4TDw7Ny{Y++_wOjE7MStTq`^+DpEi%94@cBCDRcG|49%R{{;<11=xMs~Ph}HK$Vq zRWIug5G|D5CF1cEpD;3@y9){g%Bf!h+~AEuvgI7`pzbE(q+bFL2veL`uZtG|rAQb! ziT{YuIy0WG9Z)H?2nf8!ZAXnOjTH~>U>Zz_2haI$g28C2!*YIbg@~IkC%M8x&iL1( zkTXpEp%-4fS7|5vO}cjL8f;BW$T;lema%CVWFRBhl*`l>gE=?IOkQI-o%-;egx+M8 zc096AfIV5=(jg_=HJ%}Cub=67ILRg426yQnt?@9yhU6?=%$c3I2e;5iluFrzaV`?* zXp^%DWrg7gT}=Fq%)$Lco}Y^=|MLY7IQC4_1#9m?{sSkS$v(L&_Qk3jTc7X` zTOD+vp*sg+r?uG7zOuxWZsqgC_zy( z4fbqgbo>Olnj}w1LP3X#Qv>>Mx90Rez^&VJ#9XK-56phti4KdO+m%{OQz^ux)2oj& z;yhR3ZygF0Mx?e=(rY(_&M8GanSLbOT@D&#d@10a8FpGX5>&3c0^Hm$u?3X3kv8%pYG_ z$!f|&euLUQ0ZJ8=@p3b1iGfTSpe`^cY{fXX%SgZZ=s|s^+~TiuM&4N+efmrNg-%9@ zaABN8UgE^0^=$F_nv)E{jEf?dJ-qHv55`bq!abp8ch#~=W4qOm6`*%y-{u@nd7$D6 z(r_T5B9phgi&GhKQ52j*l}g&MM0H$_QiC~2BOR#>oLVR+^!Z(WN>v^?Xf$mUAk@0* zmXWWFm(?7m)9<#6zqK8ysi_+i*9>(xE7qRAz8`NVxy@%iKJP0R6BqU)tE%PB$pm@- ze1TY1aynO+*c+Ek(6${wL)FIaQ)i)U&%P^V4Z10H$8y zaJzn!Q5M2TH$t5sn;^}MhQi?zWxArG@8b=12M(Oem%}n-vl)jUAwnHIp}OZ_@R>oe z5vRUIQ!iyW)seR=6d{AC;V$K}lzA!_Y$7)&fg_Umk-hazr`cVID5NKG3bbt@zp*uu z4Let4rV24G4(;%R`XOOu0eBH;&JVM>6(`)qkoEpBAL`=Xp{Hf+GM1qP8h41LCHsT9 z1PaO_ebVp~Eiv>gDq=~gq9`IkXz?t5A%DZGjRFQTUP!etNKf4srxl%K{f5V)X@Z26 zzbIA4tA?Z0wLo3^5xK#8#t4={gR6}}bjg^8db}0j+Z3kn4bbdD$~a5NeK>{PdV-VO zl%zXr%H91^nGdj_F)i%b)od%lomx(gLX;RkpT5z`QJVaWAnqsB;~cU z%#-QcVijrea6rsG3X1KHB7EzXwkO*((JuMq>)g`}itK5pa1i36NFWrJ_AH z>2pPPBGbG{9CF}c2I3LyaOq;XL0&yWA@O8B9~We+&#bloRnzGDycw&fkfhm3o8F>f zeH#8JhWg`=bhMI#YaIc;vhN$~7ZWz68wc+Q`Fb-iKW#5jJfcOhpcyIot&NXI&?h2< zw8QT9c`|5!oG%>t{N7Wex$cQ(${@b|f5w$&`ld{wrStQNF|3wO)?(K4Q3DK}XGx~V z$|K~ZJ6+cefA2m;DVSp-;m_gy`_F`lzYh{@8o5y+oD~B>y)hTrPsr=y=c>NL2uYM} z2x)iWZfY69hhU|5uB>@2NyY7Q%p-}0RDaS4Fr5`Rf%dI1aiTBI-C!a8mK6FZRTl3*CfG@Qz^J4YxmESfzo05<)q+ zXmzVMm6~}Uaq$^Rd0c--MJ5BxWj*sF)LpYs`@=s)vC$A3f_UBAgT1xAINOr9Ed4+kPyXm;HQD7_5&)J{Q%;@_2^B;p^!HNr3 zwSl+e1PcxnLv;&l$=<_EDII0&htZ6Rn|?@wfHNr@4=r7=Oo!&jTzhz1LdP9aja{j` z|8{-9_+GUJZ!f#}{@j0mtJ$`$tgPT;+Ub80{Fg3`)%Y~1eQE9FX)*qC;w*5C$;$2g z?6wB!ru*pDe!Z1fMJPK2XmPs1j0;_>#3+HsVDlT<4T2RyhzxmPIaBC|9nqYb4u^Wc zp}TO&)A%f$BEfh zjGONubpI6Yt!2w8*Qgc>iFD+IFqj05rGYxIP>732-$84#c+Kqf_n!yWybJZ^yWbVb z$+7@b`&IgVF$OY21=}~hCj=XVf{2;tN2s+0$C6?QkI};+b9=~P{DMO}V+NtP;#_t5 z^qger=*K`0%Scxz#)rM-3yFaFKjbTKjnHi?vp+8@$q%Hn&?4yaZ$Q)y+?m_^?lkC z``H^hrA2zt1Gs`;8M;-&HR%P1{qx;7`r`+78{AQ%$PfWr$!<7&w;{#M<=^HOlxNMU z?thTnXfor=;23o4NHsvNvj*bbkgH6KA%PFUsq*Bjj_kiDs%6VV;zxc0Hj6Wv#z6H& ziV_CnreOSuK}L+35%dSi<9z*fJpIiG(X64|7LrFb#>M4rKa2T+rDXX4Pz($cKf=b7 zhq$+OPZ-F4hYXg;8F6UOQsgv_8(D`Kr7vIt$ZDX-RzPKHhQ}z1YoXOX*vA4_}Xs3M;cs-yqRZ^6=*y~%5 z7s?)e^L&h-!yw)JBNb6Tg$AYWlpy~q5||^Y=5FR^R4eC0FU-nxqgJM8%AV)PA3pUW zb~?&+@?OV|kYCkveqV+U>Hb{!J}Z$(Z+vWg9DKL^-PF<1t)bi__^+xoR_Su^zgoHH z@9t3tP21MgOjhrm*5l>3r3Q%COhn%6ud>~-x^7Q)5spr?y1NH_9}_;%{M2yh1m8Me zP&ej}Y@wZ9Sd!zjS;=2VQQ+dUEc8>4Up`DZIyZy*eqOWlfRtAaxjykY=$z8}zFE{& z_g#_5{xo4O#98-*WclXk(`&Y6qa9!exX9 z3O@SZL#12TtWFOkW>&Vr4HZoz`A{h<6?aP@7d9Py1!=($B6H(yfWz9N&z4m$FaZ&+s z*3^B1ZPkb^XU`GEt!Cnnt}= zTsOAO0AKe)l#5!n`wJ6e*+o?D-+%In7WBmk-1^{d5&K{-#vCf73&>Qx8BAwV(R-Rq zAfzp~&mwZd{n>(F+5hUaUb98qHUt@N7TD0fxp|@g2Xz*CYFn42fJniVis#8lKhOR% zj%f}(yxTiBowYwU;TtbGzZ$GxOnCe%VUxd!1wG?ustb**pxBP2Dj5aMtBOu_!Awzo z#=8R!mfC7D+j5G&**Il-JAtRrCZG4DGD=`_xx}pXlFM++qhF2O`!_&MvoCd_LGpd~ z5}~QR800IKa&@@FpM?jb@$YF%Dniv@H<y;HZb1^`$(ZWGhR4 z)ne_y{Pe%r(}pN-z)zed6mRX>zGe`F6Mf=hH1kx5Xk36V3~DjurA)CA#cQT`6{$p; zP&VPB9AhM)2v%JCWV0xlePHbsvPZ$O!n+>9Q#9iD@>{DNsrJwb(EUP&e==Qkp0fvhn z@rCm8vM$R{>urDF%P(*5@9+D~Vy`dDWexZXmrDTnOBX!n_RIO+?@eyYy4-H7wA&u( zd*u7?JoJdkZ^U6#qKa_CCr+Xn_7n^>v;cIR2S{Y57#;_#t|jO>@ue251i!J$vg?OI z6@t*fhV!9kSeyV-s~@~F|Ftkk8$kzdw%@=3OT$vj|? zXOJZ*E_5D5dx%Ms^Ha;x*-YjbGC=qSz#*-YXdLH#cTA;p=Lxik&vhiw@FC1-ImLK_ zG84fk$&aP#TGEE|yr8Bx2Od~|jO03@pnB>SgpD=^9t0fTQif6FXPLaoC>U~B*}Lq- z0stB&wQkkIF)C0hXz`Tnxo#Rqc%wLsC9nr;r!YFN*?px^h{F94i5s=vMh2^_hPEie z{bq~563Bk{TmmuSCA$H*ZsC%YBt6>W%u!A>4@qQ-KBX*hiADIWc7B&bUI)zP+3lqa zY_tM>mt2>o)$79_@2c`7RIyR9LUD^7xT+b0$~vMjcSIlND{9nkPoO*lPjMzQs1baA z_?WVBOjsHU@+mO6c__Gee>6^~bjU#iW@q>`7EH_!!+q%Bo z`gGp!_g{YbB8%+uz;XO6oGGXkG5!(~{*-bF0DtMS9l^Yv1+2^R`SYtBA^Jyz??~9V ztjpn-GCoV@+YN>K#7F7hvHvM0;#4i)n6IWkcprCW7h0hRMRH6=aGUFDr`I)=j_|P9 z!F&&}%XnAn5Z&(97s>X53~%8)qk}tqqizDAs4`ad_zNObcV@zfc`|1LuQ-R*Nc+`1uo(hspn71WaFpK zh%X_b9STfFgy_O84?q?!GG(M)N*Hx7@DuTaC;cyefF~m_iy|6eip_-^iPi4wT|)&- zyW0eosBy?SVExp>s*}f5O1+?{Z^-LsGB}(Jjr2IQ&W$I`QtC>{*B~?|rVhLe@fO;$ z>s4H1F~%#inMO7bfwG2r5$DG0#{|`O?}0rT4wL9-0|_A{9z+=3Jtb2xE=_`FDaKif zkLqw1WH+b0StAn9n33}Q4%v+I39D@^ZN6TBcX>Cr;h|)zM$tX-;GSn(q^-;GzxDO= z>w4R-5nE(?d)vbXK7IQ1^73*4{l8kd1b{!G)I{FooT0I8dm{hg*}pEY>mKjB+5ek( z=~-R|Lt7H6o}FQS4x#aKV_qVzy#^&ssip!!F38~m%jx7{WWy{2oPe1SB)Agvy{6>M z%G7`eJ>r++&)Y}hf9J+2vkdOwdJ-&Iz6Y)9?2(F(p}kOJ zB$g%gT2pn?uMr7ZmnC&+tQ+i!U>dR01H-REvyj|1n3{e3)i z*ZueFe*N)dPikklnmOGRPXJ&OJox=XBZJP9s^+DpdqX^`Pf#ZNq z-F&#WiGBppin(2vks7c^rkUWMR{|&@q@w_>3Dj63rO4%x815uze4d5!aT2jz&(H*J zopXx;Kylh6DrebiKu^q7$5(x6rPNY@B8eq5TsA4iKVi;Lka22ePo_co9?n~uJ3Hi2 z%2J!H7-%G8$;R=dZ_K_06~7{=5!yEhY)12WcKO<7B7Op16W@5z^rnwGV+n~Rkg#2v zp^AkR=CJi+7+Yc68A;Uzjo`*)zurgAv+Wk7Ob$h^P_ruyg#{W z`6+J8!Q^brp2(m$(h2R;mQJTrc1$8YlL_ZxDVf`(jGoDxjGq8Iw^-#op&HG3eMMlx z)?-|DI^{i1*g9q5iuRFF+3+>RtawyXUqbeuJt+A2ZqugAy7VWu$K!ohS?+8#YLy^e)`}^bZP;Gl`!0l#zbBdp?jU*3T=>I#GO91#Yin=z7@$r#!cL)H-6~61? zbhoen{jx7L^skoPQ^#wr3<4fDcvGBJVWiEcD63x3=Tt)}O349>tG1nOkUlJOC+9Oz z{7X(ka#r$PlO}2anj|Z=FmDA1`CzGleS)F5LJ@zqSk!cG8+s?tI=Zb?gko4cOh zgMTY&&YW+EPLW(5Ggk|tFFODO@S#%xKt(5doY5nTd;+5cm*ZaP29iaLnUM$$b1V&- zt3(Az7Bvwairy=o+2@`e4t26a@XTysmiE~s@*&T&?chs*=oN&wSc{ohB)!C2T0h8G z%rH-yo}Ty}ryglSb0>>BLyvfjK%_TIF*Ko45cjH!#AHfMqT!6wi<;}6e~Fk$NkN3F2x?LNeAUOh=Yz45^h@U96q+nSMkkfJhLlL4u;~3mcfcI-XbohM}XNpTQBKYiuHJOXpv6z9itp)<<{D&Ym;@^ zor2`JTKKVFTB^IWa9mHcB*%vw+;87c`U2*HtNfO72>^dik%6IU1wS5-x3@Qu-Ga94 zDgM_U1~43c;`ocKl;aEh$DCjTA~i>-Nq?RhA|)~-zs~@Z?vU#I2O%hq&{;YEM%5D2 zqRUbU>m-fkQ^eJx;RJ=@teck51KW+ex!+o>9Ef2M25Fo@kteY@R90EcN1MmUIo30p z9J46pdpg`TFjF)X=TAS)Eq1U{iWOZcCC_wDdd*P_UZndGbV3;PjN6}_ZBBTOE!_A` z|2IKtQFOh|$WQ~oPjj<&f+s&>8u4^6KC$YmZGo?daufR=b;K4L&%xLOBA)D@;MPpB zpVEVHu@0qc0~;HZ+K{2c&;->poAG}Y`DP2&}e;ed>`NXz_AYA;@=`Ue0TyI^_+ zRaq^;+Z+C6n`p+{lUxua=c}@(w<*A2<3Hx!LXrG5BcMqzTbFRH^#oB6k5WXg->21@ z$1uf$!o;#I1Y-BoqBA_3oy5Zd8fLoFG{aWak;mU_IWcI!D;leK=yCF>fx;-_h+Tlv zy%_e}N!N9c2fn>5>uq~%?_b{DzI^%o`Sb0t4CMBseqY9Nf&SmATmr!FUZ%$#GT*N9 z-*@P?2iEUlzH$WiE^-(G4hg_cr^qQ1_+-8%W_+lTp2rz6Com3HTpbliUl3y|`6Z>z z7-j0+I4Oxe+qrO#>hSUDXwy9e)ce+q{a1Zzekmh!CAwE%BTXM6i?#~jg@k|8$pvQ* zK@8RNxt7F^^X&6Lgnu@*r3VJojtPuUu$rPY%y#uw)`7Yu!cQ(g^v1H8_)`UpEk0FB zt;nQX;wf)1D%Kh!}EV#B>T%V>&CZ0StbSX>H zkT1RHA6||O7mN27&&J)xL0b+f{t!lf@D-^1AUa2GT56^~8A(63?$59s1h~nbyl`2z zCSMK*=f~sGuM3Dk#tFlRE9Wlg|2vdR0QiH-8GBdV1886yXUcAzpWOD zBge&FZ7~>Vr6OI(?tt$6#B}0peHPtE{Jtj>D^P|xGrVUs`Ut&FRtPG&mX zNGbbK|M}~*fb%nuHYm8vyIL@*;n#4cpozf&P#od*^&)}A2`WPO#D5n%jWI$17MZ7K z5f3ELmXN!DFk%&Lx`zS4;m8jdu^d+w^w0byNL3o9kD34cIq=In1jgjjBCj^& zIO7||t#RIM45XH{jQJ+%*@BUXDE3 z#rG8}OMQ8)rv>h9u5RvGGcOG;AP78M7_Q;{gvSTTvL#^%b6O?REfbFymWVl-DkzaM zqn`87`LgWk4L{#JD!^%el&&7V(EsmLE&<^8FXu7sd(e#bO#Zuz|9-pn9!%3+ ze)d4%o?2_1bom%hu{y2!;T24YwIZ>bmG>>OF!PH48azv^!=sUs=Yxb$GWRj0Q^t87 zpA*m$vEqsQ1>FQ1P$jh|?ewOlHpvHJ;L^DyDQigv;Qq`mo+?NLr-vTV$#dLb#f7u; z5}$y>fRyQwkwo|~$dhJoP1XpVY;+zL*ALWX6_gaY{ltX{e%1V;#NE9!butMmzOWbT z;UZW^PKJuKq0!JtV9^$WB{CIc)L>S8s?Ew32y0^OEFA zo<%KT?pOT{#bkBT`Wm|htQ%gR#LKW((<2})VQJ{G2Gy!@nkO=V`-uhgrKZer zl|6BYn#{;2e+?l=aF0SS!Dcw)5G}ni+2H;e0@`xk1P0K#0ZCexp{>z|`ZJO}dTM=( z@KJM$suYg5buytY1Tk04W31oIck5qesvi-`^hh&9osZ2lU^A>__5B+>RJ&7n?8G zRN^V_@hjn5z)AmF@CQ%V9i2|Q8wOSnX==1h_!}YlkyoO4`ua!Wj6hCuBAFmb6hzDx zYX;5v{ z;yWrl5hz7kk8J_(>rE!&f&$z%KwkU`9An0^l*S8T{9E3O(^a9SIJ%!K7^nqTmRMf| z!{8~iHUfs`ngWo=^2Ve=^dHo`?OK38A7b(dcqV^RE0ZPU*>oM?POuD0IINEbEkl-p zlI$*|@zn4TF|wAZMuN53R)e|>z+t?gF)pMrGpeD)411<4+vg$e8~cvPE3HmRDQA|U zh?Jm=uR^3(AEM(lLbip|>qP9&;|mVrHU*SY39hD?HEL@_F^i>_LGrq?0+&vAWs#){ zEkx1OR*FrDd6OfZHf@7~hKu(lGJ5>iTZWX{E0Nre zV=P*zR5_}B?X94N2UE;BefZjwJwss=S=VI*#p$-)x3|Z(9HGIt_4d=h{{6PhD4m$E9kNll&83?r-10J^Wg?v11$J1_fM^py>6JS15 z8Edd$d~VWhHC7mEz6Pv}v|54diA$0M5Z2AZ%8$;3%FWV2G-FQi4~Yx_;ZbTR@5jwM z)a48HeOY^m5d4$UL(ttlu;%>4+zZh(Lsj3 zKsqyV6Axf5i)~Dg%R!Y`bGZfwQ;mHsuc%lP(k9{}bEX8v;xF|Fsa^uBOog&I`APd$ z&>bq%5KNajz=+vmG^&gk>EY+8E}3cxv*kx76&0#i=dQXxc_f?@iX46VGC8%3;zOOu zf_)>VXS#cbsL#FRu3Fd>PhQ+PRtW%)(VCF@XMVac9OT3?F?Dp*39jAOFpCO9&Zu`x zfL)_pmOd@zG%4ryY`CPIw{F5QZU1j4g5Q}#ti&Y3cEGKvU0ho%C_qO(bJ;zDnznUq z-6`nN?E`J;1_6%>Na+8{2m0O1B>?=PWzXe*zdyFe?j5(t9t5M!qI~!Ko;~(AMEaDU zJ(P2qd&luL&rHesH%;7aLCz(G5g``?rkxE49WHMfApoaEZwig@$l)#ui2=WsQ%=(7 z-Vivr%3v3keMAn2*`{Qdpb8<)DPN=rJXAzCXfoSXnXJ@VH@!p?a7>XXL)`jIaG`;> z&RxgI)A&R~-<6XSPN;}T0!f7CicXgckm z037QH{P>PX?1>!dJe8!+Z811{`xDoK3~_|0ijRf5m{SnYY$y;5omTkCmW(<0BhXH3 zPy0^K(i~AiP+x+3)E}66O6Clv9@@17>#+$!+ZzE5Q`=r~aO57wwwVH5jK055A4PjgpWJftTrB95=PZuDl;mRMXYfKo)%EKb6~Eu#ANPA#`G0zO+2N41`~C6r&u_Qe?ephPje~&q8&NMWpzmES0pJfRp4@-i z970Nuayv5o!zPiD)+{2UijB54=6KoRhx8StCle-B|H5B`t2oe8|6#Zlp8|92z-a}8z%&@Lf%wMU;Y2%7vyOtyrB6|P-Tv?k}TJe-}iHwX4yh}h3 z5{eN@IK9Mz08;ONxCx{ViTXLTgrTBlbm7^ADw3jlhCxvq1&4Mp)VqS%o!5fW!ov-M zDP<)t&(&G|&`%RCLRbqiL0wQkpS;!>Lg^KnpK#A9di z#R`;Q`NRyJhJ|00G$VB33(m5KXB7@T$vA8JIooBs#{Xdgsnf z2(nB3mi(qScq5T2j_gS1Vr_Oe*cnEkA=trYm&Io{kPmq*&By|W4Tv;IHKd)|=w{wc zU_dcCX$)GzM>NlmFWXp$=_on=SSFI+q$UId&&o0j45)5+ zn?a0N4=x_g&(^G3&ktz~r)wusiWA2!@FJrgi08&Lo+XZ0%ae799y^EpX5>#PCe`E( zq3bNN>Xa;48TCC~5KWK8jzRPsz;VCf zQsy#j&ScYDSn^{!8FDb{v4Qzm=*KLs#i@u5F(;6CuaCAfI$i|s;FA`9a4~LHU@~_K zEJ-S^3rP}BH8(V~hK7-JbOdi!5VDQnVZcfrJdhHou)ic}Qb<(E`jVYg7UU(yga>0; zju1!P+MXh)y~(!7?I!E`)4zUt+#g@Qyshi{a=Wc-Ut5>%|92^u0Ps5&ztgvG66Y)9 z{OcxEzid4GSCZqKX=~Lpn=!j9&8D9f|80}syrIbh<+)lBC{t!l=k!A4%`%R92g=K8i|4B% z1=fs1t-4xY5p+UV3gHKbsIy*7T&4tktjV98WV7bt3DKj~$>2ejxt$!=_=Y_ujhrgV zH3353V;Vo}y}^eh-jMr8o6H1R`WVe?Lpl5en3ntJGCgKrpB%Q)g#R_i%2+p2IDr#t zFH9v$ijNPVf9UjwV1hQ*tbo%Y$s|uIBa+%;0A7$2zfbxNI9Hh~DfPl?nek371UM_a zeROIyfZ*5!{ac8Ez6ep;doozff2Qk;aVH@{#+9RufM;%nCm)i>Dh<>XANEt&Dg;SP zvkw_|gwLLt&IP)}OsoN=ra}+8)RJ>fsuu#G{7vG0bmrrp6RhQ&P1JNE?z_wX zeO-4O*URm-%LMoL`;o)z;A)FsOBE-|rV{$aqhwoia5xmb<8e-m7>ulN*1k=Pn{abA zs~ERdde5psHV&87_DDHJ!vZ0N3YJS6AWnOfWgdcWj4eUKCgqA!J?C$e90-y~SutV; zUFMqv*r*^_yo!cq0>3e>pKG{HIm>=Jc-p^P7 z9AME6$8!$6;036DVw)W--r6lu=SQc%-5p1G{mW(m20LrGQ`5mpb@GW_ille(eTHaB zBWSmfG45QbmV}C3xkqDe{7_y<6C6}F8TTHlk42FTQh>ZPed9C@r8TJ6sj01nnB#5x z<;)t;C(RJMVky4u)2VDopvLEei5~}d4bQ(o$#oDwx%x@ZM9;~aY+b_FG{EU-WOiS$6}(yzMU`X7gX|3=n?aJFjNCdeG?MsTL_jdJf%rtlp9`G6`$&4%j% ztkyu=&OKb$ZlZU@Y#h1k@uZjyA~kBW?gnIBVkEzmD^FqH z?-7#g=TEO)2Ke&!_Vbr7KYjZ2(@#G^FRq&bzE8OXfbU;A?mE2vAFA7sWsSG$aQhLv z$2 zFb|Rh!W4oGfK0t|pQCektOaVOsO3jDFD9?rvkPRQdnJ`*(nurZDLr1`y$is#FAE#0aWI_=5!aHg!++#*H2Ca~5cw$Mk z^thDjLFr$=u|&vp3LVI9T1i-`iSO|elo$&k`LjJL;M(dWgi~{Jpf#9z&(`;~0wA0f z?8>RK=7(rZH&`{Gk4ozUR<{d?qM0HleQ>LZtaTW1?_vTNlD0t?IMg1}emj6{2XI=t zF<_BBJJ8$Pmpx*52|IwN3jF|OuQD%}0PuU2`~B_x{q5!D)9cG?2eJ2U_jcR2)1DX0 z^1=XHRs&AL?gP@DQIcS{{>BAHQSDBZM*TX_6tEC!&VAvy zg~i+Oq*t*9W{FRmKjeLxEu^A+i<8iRd>*R;T^-bpJvX_Y7#8{rcwu)Y{!#I+`dtAG zozfP|6$mK)lz*Z3rqPeQ3dEXz@l#}W8lP-*d6|1B#` z0qDR6^1kXgD5D(J!Js9>4!7>4)wI>x;U$REqT3^8WIO?;u!yxe$DKSp0ye=PB+eGV zh_QFf1Pz!CrAPN$C3=^k>U3PO(_#b92548Zgqs}omYy1Xa8M&P3hN?Ca7yz-s-|!k zq7+QTAZ^Zt@9p437HS-HvJlc?<2(6D4!k^kvSn&{0$B!ngQ^++J@8npx-x4qy%h<- zF*F&TU&lQ1FAYnt_N&fZ0+ypQ+YuwS>Z+S9B%fJ8q|2}{E z{QBwh5iop#{_j&R0pRQ9%(1L~-?P}N?V?52kZK@vp&+#zTx? zu#es~g13MTOts}IWl3rf)}5yqvvcZ(e$QS!gQydm1nF{PEj{>S_10EW<;D(gYe-XHi4A&*}!B|El9>xQjyG;#;>})YKs1j!Q4&n)j z+<>sG*Ga#@;&7UMF>SFCZtw*3bbi8ef_UII=PSU;(rAHBD`=3o4L7Hck1$mB-D$qg zP;nY^YSuSQOkaifF-yaU?`l9oH!5x^6HPF>$X2{!CGO%a&Ke5QqK+(V#p3a5%2`y{ z!gw)%pWkuQMi{!ttu6A}5QLu|gov|&CW6j#EfSf=qm>rDG4z0Aa@bsw;(lUz%0!H3 zW4L^1)Y0U60zlLQX0{cS>Si905sui->miYr^`NIreB6()fMq#i0QB&wUaSltbz%p& z;sHKVE&<>}<%7niZPWW6&$4Irzb)&hPp?O+pNBpk$2}KqT#nr(d_$tTjlD0f3Q9~- z9aN@$jR*nmV~2+fUXlcncqbhbg3N}RNhGO%>dC_jA$P1eOH3UT7vzdC_%akhkyR(U ziY95el>S6B1F4v9{hL^rUj6dFa7 z>Ig-~QPYYwAblRURqM!T5$R3#9nB@i{;@s~JRyawiq z<4^W<@6B%bDP62QhTzMGn5GIIRMfE0qXn-zd1#ePjYtN>)pt0P>O>x3jzTGtf^B^T z;+W;lkBrm~VS(=JtadGhdGRVe2^DRo6BU(pZQ361?^{RzxAnhX|L6Vv{q6m&-y;0- z^714sc*4=IGAow=@S*Yn=s%SF2lHLl#oX>SYyw^PFTtJ~dI0rie1kChZ@jM%zZ*oA z;E=J&5YW>Rh)HSa$Sq(O-+}Ly_b@_EgE4}Yq@!(|QqPI%?=iM;E~yRGH7z61M*Ixk zXE`J4qADi+F0ziDgcArX#L3~91xX|WS!^bVmk+)4q|bOnN!ZD*NM*rCQ-wvlCG{Ej zQiAY)4xCP99L#fvmpLx>mSHZ45UEMZ`R=g7O%PatE0ZHF4+;wj$Kr(7`mtW{_6g}o z-AxCg-*~iI#JlV~XOt>dLP*FG*bIN?9%Vch&y(8+%_)!BU#c68e)okH<{?e&A-!$? zC_Q3-kpH?Z*g(GKN0jc81uV-{N2yD4LLh(8M?+W?XQY@M287Q0328iQMtvD5fmr5L zO7A!htodBNa$3dWgjo$OyYx&I_T)4jnme`xvW2lG(GloSHkR0?GifNMMm04Afo%RD z&Z`HMQjpv6-3CtaBWY&yDEruM;?ho8_KEQqifT&_6fGJr1G5qbmm`~6Q1DbqPaD8@ zzyx5+q}JvHrK%yNY~i^RgbWF8zVA)obdefOWm~#6at^_T~L} z+>h_q{Wet=@z4AVE;~RimjLj6%C_HZcVC*UvdYqyRUVH$|Bs`wj{T8U;!S*h*dgRqbb%D;7z`~~7%3o9G>x#c)KkNqq2IU7i!zR-_ zsb!5cULJHxM?pdPxp3=K>gVt=%!ZviX%L*haU;J^5%&dKFeysup@N|Tv&qQaAdxg; zc6J45Fhn&3MYpF^|A6G^Yl=`s0!)g)e{+v9Ew?gGQ>Gqi#r@b0ktdXkfE1@L$d3Mn z@2!Z6h3qta%nB~FKs$*wIyrC=uh1Haosr?2!m@x3pBAGQx>l>ctIXN#Lz57QfKcK1 z(jZxp+_cetil$>jpN z!j3U(g*mUz{H5$UbK}lPG zF(f{j5|l16!=?LUd+5jm1{K59NURTZA;N(>i_dXMsaXqHi*C~zfAXduSGl@IetyMA z7EcLZdIL&iHz1d~XcWf@xoq3xa0Yt2-U_s8Sy^XJcgO_+NG^&CMa zLipOc(Ep@d0>IbH*Zlq;kH=#hAYb~;*N?|A2}D4WD`a7Z1i-NBfR1Y50Os7*RRoZRyOj^_>ykNaisN*XGg)@`jiLW!NbvFB+?j%DPhh;dSYoJf5KZ|8pOn_d>30=nLAM%bcVuKteyU?hf7S@ZuaJcE=XnB;wvk4 zlI`bH=xI4VG)@se8WKjFo&T9?01U8IL68!?(jZ`@WYj!QP1S4 zL3Zx;f564bP+3B4B@uh-T5M$4^jfDUY67Ps$hwp%UB2M-DT4>RF z6&-hb{AVh`brNWs!b~fIfD&iuc>g%S~>(Q&8Lf{eS=8{r&BK{h$AR zdwIceVx^bv|4F$7fL~vB&HsIm?%n;;dQ7_NV>|NLc57}q1VQy3#n!&!o(G{JV=%4T zWd;%o^Z)c7ye-~P+sgNpJ8oa0I<4D&TTV^%;zkUA&zfH^gRS#L@=b; zl?`aeLJpVNIpA*%)pcY>6hEe!Fl{#V;-a5~i3hfrK$4U+UsYDpx>8Q~5xgB>md7|f zSkJcGGd1l5S>uSf}nAvdliB#e#JDlkL z5?E@sh!|8WJ;k;iOV1EO7~5=pc_Yk)aiAJv#y{sm5U@5)jhJoIexgIX^D`8GZMZNh zHhp0XO4_wG8Au`=KocCgONUBEf0zV2+Hg_AvYljm5QTV$5k6))@^D?l9EFQm_RHHp zZ`*diKbB>;cD}y8?C#dOeR+SoEh8SFwP!blUD<)KTmrzaFOU1<%P(*1ZT<9lzqM{_ zN4U!UAtTX$Gfmnkfoq7BD(%tiaYqLVz7tj2*&$FLYB$F*kGD4(Uz4J81Fl5;niz^& zFVU?vo%{t)&q~27!89G56hu)DGtUX0hjH4dgLJ0~4}ej?=t}UpG%oUAwtg3MiX#^6 ze$=Co1|uQK+%q<{Iv_a9-iPl4QA3wGBUm~1cwB z8nP2jwUoXHelP}4h9;~h?U}^zXb{;ahjz0$apVO{Rp9DT)=J|#AeE9G3`~s%#sOHg zsc)$>JfyNV+eG#BZ5QUjw?c%54@jpN3-mPf;*CedAU?G}v73^)7%l0DI8O#)u8$D& zG4fZzGmZY1nFMZ4v&9m~Zv&NlT;v64GQjLUU>}6Ax+cwDI;=uEQ0IU4n8puKhx06( z#6?=$9^3u#ep~kd;Gh2WS!Mb8?U(<2`T3`pPcOF@=`uj1T$c;zKPi_0@Xe)X_Sy8v z_4%?3ok#YcZI8a(ECWG_vX$2OoGN9)b6bQEbAAhW#_Y`!N=tOnmlKYhQ%X1Apw2p_ zsW3a!A% z;OFDn_&}?pOl`m|ihsETV~0`Jyi45QP}k24HT%ncoS+KUjseYJk!s8d~GpUogR<)}9$4SgDv)`5*x20*|%FSdtNF>#4&*AO4+jCe?{sV|p@CZY*U-iEw+;-O>KfZ&*AdPf4y<_}ZF@uF+kBkCUW7XU$KYg+Pf zyyDoa(^AM&=WLEwV!feF5wE(aOfU>6hjw)vfJ3*#h3K{}>nnx}f0{$Uiytg;q>~O||4n!C6nY4RVW?9`*zpXnF-)jAzV3 zjAa2XHDCYkv}J-op1A@t=LNLvkv-8{3a}(7uGCs9DGY#7zK769xN0><`GKm5Da0)F zb_Bj`wyLRGa?T)EJG3LQ9N}WzOn;FkY%aLc?*hpr!qG?ZWI}=^DooZZF*$oPSW(P{ z2}_y>SbNPe2L3O2+J;9^*m{O!lzbaw#URZ*`Iv7*Y4jQgRMCd7%yha~!VxmqvwHd` zUR4p|;zNamY_-^hD7p6%JAZOE^~$AL#7a15;bW*|5TJwx6p^mh-@}0Q$hPv{WO=#W zR$1Qf?~nUk7G0OM-EPZ;`#(@F0pO!Wk0|t>*Iz_$`y~|OSN|RwPg~o;KW(dK*xva3 zqju8XFF?vS{+XW$Y0{KD^P26{@n=NiAIyG=1ZNCCd)8+!?^z|ra))E%7zHqh9B|vh z#sFRL0}ZXxsNM)TOsDJ#ON%y@o+SH$PAU<4{fu8uzIHFIZiZFxugzLfaYhKq>>B^( zr->3yZVlJntWS2AF}S!UzRzgWlJvnT0=@Q}k;cSf(WNsP-V94mMX25-TUk^1jLJ<( zH3%k_NCpY+h$K=~>xDrfh!!F9ffz`~HD~VF)Lx0goFl3^I5b+Ej)bd3W@6a0;*J^_ zi**7y)$@!89^?`jK;RQB7Krekf=S%o^|v7?yFlXv4jBZeBib83;=futG+JSaii4)I zYxmbVKx!L_)TVQ;3GpH604TM{46K;JK37VI1}L17wb4lbKYMTbWJz+|2S#M(JL>A5 z?l~|AFt~_=f+UiXK(3aONi>;EyK8G}rVmm9AKF@|%3Myc7K3zo z1k9+q%QyZQRJPI352Ir(wh8tp-rH<8O^jXFNmf9x(f{(vz8a5}49<_^^;-kr*S*Bk zA0jnP(>1eU7`D6ZRGqq+qRl9fv7W0Sa*xU|d-HV(=^luP?e~OqWG6SQC6QKKbWr36 z!Ri+!p}YP$p^L5 z%0I~6Z)-$Tg}!7bvI5LYNFe1XK=|4{4%C`dLRv&U@Fx{R(#MSd6za>U;|v8|AtB+> z>7K!9n2fU}1dL;r?B=$%7mF5a2_q8b!MUkzr=dCUgV3IvGA zGZJWLiDHXclH&`0Om@lgbFnb%BhwL~J5Ikw_90(d@KB60AK~ zi`&k|Bd;fMi#qw?o-!N=T)ZcPr~(|EjcZun`4b%DNZz+$Qx%EOWip)$KpO13??EYz zOC~P{w3k@=NQBKG{dCW&(AL>UzOg84^ z7-4}{A5-~gq?f^SS#eNxzI-G)teVW<)A_tP*c?_Q8B5Ii6ijDf%NN{n0hVR94$O?y za{_W5(`tH}Jj?`-reD$CZ_0Zcd!S$z4^^}{QIxU@8ltB1Z*WLKa*8XIvTG3`Quex1 zI(I3Cun1kSpTEueeaiJ)1K`6ihW<3|JWax-@3)i!St6%xMu49I z7bNOiQrxZWn<^B3!KtId>5qtF!8!T)Xsn7nwaQg>BO)6S5fR{|964Fj%{XA#SuW1p zWn}M!N^~M7K#nCq#M4TA>*LIQxzL`SQj64U>2^u6|5TvCemEU+R;k7G~!$`z2SR!ZOOJ0T15d}R3Fngv3sG(5>4mk>t zl?bG3O;Iv=4se@emF#OXIt6pG==NM{l~`L@-c+PA8}0@Y6qSxY#7ro5sig)c8$bDw zU6CJ-TWaD_=fL{k8N>sjN}^~23)Di&U5VZ*4FV?16awi4suCVy<=$BArTU(MoSc+; zG+&maWpRp-K;%pw7zi6%@UDo6vdh9)b6Vr9rl@%d%Gwzn=7Vt*1K;CQFlh8e2^gx2x+q{$-f=HVeygwm(!++hFu@}A=P6HaXy>(!*F?ZmCg>E&!>HW zD*DGm#6E%7Zw-JCzt{i>?W}8J+l;v;+ub&X*tH$0LmQE)J?{>MboIbIbD7O?QkQv6 z=!Z}!6eH?D4ztkWZV+1*jZ?%S1Xt@$UxjZsU%0!dki+)nQ-NQDAH5`=R1boHs-o~} zp0)WNU|D=(KW2U7zGXYlhTxRe0T~VC6%2=5N#6*DRL6D}K~nujDII~kGu6i2Wz>

          RnQko{a_Y4*6$oSrmO6)5t=1ek=+jisRp8XF=Uz${V2srHZU31=AI$E=kxh`v$?pqNXIkHX6+{x-+$=!TLa)}*Ld_?s_dUCdybZ6vNOjDK+Ra{ zb6P1w*0y~RX+mt5;=-OTt1wEhXjG{H_h-Zq#bwK@A)51FgIRR?5>e1(*0-!U-$|FJ zX1>y(SufjAYM7&!Y%EI@!Bs(2{t$Wtm2$f(e~Yo2{XX7+bP5P@LjGZjL+Hsf5xSvY zaqAG1D}Coc)DVmx&j5@H!jINoG11CUI%N+aC#Q5vHCKimD?j9@eP2hYtf=l3FPy1K zO3_L>NRbw*C|o{p)#f9pV7DI1%K}^G5|5sZPY-AXRLz#WML+O_qah|%3Rj!fMPvJ~ z6e#P*ku6?<@#vXmvRFP*8hq_pH^M8Sh& z+!Tc+!32^c4S<96Q3VwB61xU=nUbs~>e+S;Bp^Soiks(m#Q4w-(=w^i?rn_1I zsm)TfCEZ{jNtc*D8@)C`&M%=k~#ZoqF1fKZ)&VxHaY5<@Lgcv&+f zlYshuM?}rE)iknalWp?>ky-#VUxc7pL3@&TQA1bcJH|4Wa;Z>?<}afVSq=L4105<;0RznYpn<{@+D3F5DKI7gv6~u33Hug`k)yihRG|$D{ zN%mO{nwm&ikVQ_DcbKrDF3gcyud8vv3(ZNJF?Uuy%5pEo#2lK-oFik&u; zUnmgA3u4roz3U7 zc{L#zIUcd!C&Uc+tpTw2>UX<-7@8FJ-%+G~=xHD*)l4*r1QIdicFu+Z0zXZd$wx)n zRbV+##ZP*npI;^HhqJMlij__|C%UuVbx8vTd1`yV-kT+$Mg_F&&N^^xaHEm0Qe>O& zjP}L3B9D=MAq1PK32H%QNW{uJ258yY^5cu<*TLC`!5R;l`cqa%8E1kx%*}SQpTI^d zOF27IOQ@b|8;f78>V!{?MU8MeFk%QgzwRQL(THz&8tcQel00X7RA!_2#2M}Eukjw} zj>CEsf<59Uz{Gkm9qerZXrm__~82>68yDm>kl~I{btgZ7@l0Y zzEzZ!RcIMN_>1wmZt%#9EsT@S6uC{NrLu1^+i8)CC19smedQ4w#6y{JE$^p;Wg(PW zCefRBD6om>d81;874Wl66?f^(455p7Hbu)=s#yx(#b_%hfXoij8p=-oz_RhA5(*d= zsjzQt0f91g74B-0LZB7A2~iPyI-Ad$z+c(-Ka9TrVVI?}rkfNBG^7-h#AS_C zBoXNx?dl24vt%_{p^%JhDFLT`sYtV`P=sqI-tKFt%pl63LIqc|^ZKeP)+B%VSne@8 z&{aWqFV_YE)D<8s&qD;PQ)+7HyNk_-(f9;mG1PD?1bs3tG@$ZI0I-E~(Ta7=LoIb5 zUg}v>z~wZ(xm`ZhT-CrS0GNG1(0*{7hybj3M-?wsrd8aE{6;x}#^%FBM?CCCvE3Y* zjXVzYjK7C%;QrW1Cy1P-rnecjA2|iW1h9c}^4x*<0k@HvP18-61xymToISwN%{@u* zjz53N=V3Aj=f4PeuAtvNGV#7C7)rBAX-g&IN~AtT5jSy|CP&x<4G zKX6wS-|VmRm6_&FPpbQJ~Kh&}@`tW)7;B*XB(p z<1C$WC1`REq)?3*+o5gS{v}FMp%2-x>gw ztM7-QA7b0I?Wh;~-FWQp#FI8UpG8!GnH1_2>qKt~@&);I?VpLN?y>#_s>=u>Lm?+3 zKkG=Td1c7-L^fhUjCjE*?SjbEH?b4}$l& zY7_V;JqcwX#yw0@gjLV;B?9*?Ic&@QcVjMmo!|_#F%*VA$Z>^cukcfOfnLiZJw^j4 zA=abvsOWdx?NAVqDTbx#_IG7(*Bnk%c60X|-V+2z+SP!$D*`{X9))cQG#!7<192fZ z#p0Lv52HDYkpW}xBMZE*@oxjeNg?@D%FDZHMciX(iYzLvmqQprg(G!cx}}W6v4wR) z!C|6`-Bv}g^BaWItN?YP)wceS>y4ivsz$s)W9ru>akbc~C%ixS8?2c5^;Uz6FDf5; z%3iChDZBqtS2i3?4%0+x!llD-0w1BRwf=`(`(I{A$F`3_2l|09 zdtMPX@jeq$n!X@HBEp+W&2NsEf+=?zV0!DmOdJUIQ)(6KZyvWPpyHOib*|vW`QJ~wUSKSNB z6Oe)v8qp~+tDCdHvx-#gEOmOKP&U{hXchYD(}?0geu_xd{lEOK3b>9)rPR5ph!{?U zaZs9RkD&Qnj-a(5SRw*{RKmYX*Osw*Kvs(trc(YXSM^KAmwY;zSau8t+$LA1X&J+9PDGVg)mC(an$RPX`NJDH)ftkAtpx#YYya z7Qg8SQTdS#Mkc9K_2q*0X~Y%TAj6M!B8WX_Q+_M3n*AYCQ$!D7pkT5`0Lm4D(WM&N z7x>RjNg9v~LKu}|@C?sHG#`NfTJN#uiV;R-soX17J*83X?uj^2So=y77k6 zdmxP?OBF+Rjp`N#fq#Y>E`LFyB?o1~fgovVJp4-~LVi%nIc4vNEpZwG6q$|4SduIR)t_>`SV2=k=tOB@R};#UbMN!wQKLklWHjBJF(0CUvf ztm)TcGu0%etm7I7*`e$5H*kgv@mNi3fk-K9%yNqG>C;pZQzQllO#<1EKrzT_bXqe% zI&s60f;jqS%-rm{lmxuGTAe*P4@C3DylER-=A=mH51)vLpx+t*=1P%1!w}Muavf1m zTL5W*wLl!>!YP5LYTi=qz#Y8xYkXeinu$`{Pp#MDGJ*$I-u@$$U7)+tDh148RF)%wQ$PMviJkuziEUXx%!7R? z1qD}CE(VVJqQbMJejC4n%BGBZcTQv9?uT`*qA`%~nD?k+AnDCfAYJWkg66o`wa-G$ zgz@`sZpeEi54T{0_eJ3v^MyH`e}_nTyAFL3!~pE<^J=P>tHSaj&;d3>D^q6oVWgwn zL7BmdWmKRaKqmZZt<}SaA2|pg@KIOP6pnD@&uwQ2%R3>#O$QOnK|&_rrgCuDJN!4- z(!q^`{K*(3k%ZTHxYFqEZ_;fIp+cl4(!hht*Fa;r*vWLoWUefPa_)farwpuW#rGrA zpn2}PX<%oJyDfdtT6EEhXXF%19d8%v61KQD?7Pgysi!>aKw`wOP~;fSWwJ$ zM7UyLT;7cW>#=CK43?DzMPgt@x3F30VAbfLZ5c(6Hg;Z^m?IvM=PX&!kPu1sG?gLu zkChuka^d!4GfmUBhc}LhhKsB7`FydQFEwzDH<2f<{n+Dvxjvx=K(%~T5?5p0&vw=& zR@kP3|4HdJ(b(pZplXE4l{ZosIas%vf@F@WCnB~3L=kAk z>_+PgD0@vI78QHp@k-QAV5f+4b>kN*q{+hO{NA11yJ8@)}VK>{cmBNfG4*mo^?9D6wstrfEZD zANLrzLwpO#>9{ndl#IU*qao0Yvoh8VO6EfoBRk$lyJ0#*H^-Go{3!@Q6A=$_JJLtL znmp)@sN1|hp}IK&J7Xn7x;K0{D0Ma-gzahr1l!q}jU`LN@Vzuqtj}Q8eX!GQJ8ur~ zC}a?b7vVcw0M_)G%omCb)CORwD}tz|-R;X`@wLm-QyrE686320(fB{cafg#52kFpH7vS zD$F)Tj7TI&7_k{!RVKmZ1Wf8nF#;@kYMkM(#bnb>QdJIx4)o^3T8<*33e^iSgdVFE zLkbpsF-{Wz!9ph5K6>$*{r3pm0{XCdvCW)JRnIyw(wrj@04~ogGGdAL3896y&M^tP)1sjqqL2IlEK}HE3 zWBy#16}eY(?*doP_L3j(stR!gAraPLwBCSuRV3yVgf73U6KZaQxEB)XDQ>~;U3qg4WTXvsskQ0HLLe3He-1>#^W~-V9E$j z8YBbcF$klwTmUG_9E+DxYlAaIi@+kE$ttfgN|iIK^%nirYV+VGz%rtYC>on9_t2a# zVXIQ+uJC=uB{%zox_v?;zua2w(hejA#>r;F@Tz??frg3=oUdmTGqaF2tF#6c_N~GJ zrp_wJvVBt36qPg-%3z)<{iJ=;F0T>AhSim2G{Jae1Dd!XmXW?tZwxyt85t3|#=VSq zpDPC4j-WAPs%b*oH0?0Z_4R7KUT?R%@o-Ge_?@I*lm1INbL0NNxJ%Hq<8P^yM%Q%d zGsRT{aZ1SOZyi#WT{=c{+-&Dr8Pd3$Y)M4n4zx9N3Nuo(zA6=v#CSeeaH^3V)fL$Q zEVO4~J>$ZNdXFrA%qnpDOr}c3P$2_CZ2<_MyCo3<20Y~#Sq_tuqDF1nRF)b;@~*b) z3GJb!=TqC(9!V6@HAkuxoP@71Fma}I>8h9_^M)yRo%(T`K6G8TSj<<~*VpUy$gJJO zt}gc%De*B53i`wu0OggU{)ZukrtKOE)bG+!za)lWlR>24g3e4b`9(nBm+Y?|4EbK+ zhR0vF4fqh$I3AG#Rd>n0To7MP8|5$#(k~5McUHzEJ)0oz0RJW78J?t{1FAD#ZOv;G zh2y*Lp^sm?&X0w9*vZ`aU6A@qcw7$67lF=G(Qc=WjREhnS5rFK# zdqf~C{}gLqMyR=y2D_uIas`421PKnbNWZlPi_M;l5k9vwprgSZDQ_>hTMfgCRbXbp zO^M_hGZEu-3~Dg~7dr1HH8Feg@Fl}2Z=?a*ulAvmk7QFsUCutP3hq|+Mwm)twx6ze zZ15NOd$Lj3=tKDwry7b;Qk&YTP3#gZieojE-R^@A?*Hf~KY9K2*WZ2jowFxTw!7^Z zTFtuxZP#|)Y`&Z?7DvY?$Hym!hlj^Uhc`}6Zrr@_{Ij=j-+Jco=qi_sws=G30_Jx> zKt7J}y;M~LhPFDdR@gP5nQL#40S~j6ZciIVu}S|=oZRmw{oOXr@!{ci*PmZr94rqG z7K>cI)}sH9EAE%;6Kw!wFGdnDLu`}xg8Jn9&&VJKEsi_#YtHtZ_LU&cTik4s$a-NU z!V=ji29Qct@rSyrF7UyX0DOsy<(NVjWo(ZuG4YqU-8bvO0!S@Y8)P-%q~>lcMMe|!+k(3;AIoTVH{$hxdD-tT1VV!vZbb0hvr)F4ml87w~>RueKL?3 zL2$HBt7f!I7Ev;(>#OLvkNCq+d56L+d`D!P;SdbB8EzEMY*aKI&7)MIt!+xoCNMMg z2a1-`u?}TtVZer?ia-Z1ZB-0Gy9G+Z5IO9h;dU*8WWL4`cuLz}2xkS}4gkz!S9i19 z^^9a`=*<<~-c+y`+t?Dt)%E7`^78TN>Fclm@~{5-o8SHJcVGMY&mKIuzu9ck!8oI5 zG&%XZdD|_P%Y)_e;N~;8Zr-|m^Tx@I8#kVP_V#nn-v0E&1T62 z$OZLcvM`btww;aFd_I2Pb#dHAV5!{4fm6-`4+!fqWV??7=FkbkR1%>y!g;{tV7r)n zxrp42iPc$w3F0jFWQs|qBESZJ7A|Fom~9P`=zGv zdev<~m^W6IwsQ^WFr37~m0i>r!21HcLzMJnDmKmJ>fI%~HSGf|yRPqt&2~HMX8ml| zK;)11d!O(B<6;4aRY~tkmABNp9RxxNmP)sffR2tJ41DNq@a@tJWA}Gzg z-d}>P)%{Cu^^!6*uDeOwG7v3LOsp&y0WbB{gf>N`?n)3}5xhdj1sJ0`N)B?jo>O(E zd*k1QTasoK=P6>j(TukZFtABzHj<;HDP5)K!I~pGWa~wyxY&H~dNV#cglMB6GJ>r0v<_y3k#i>k2N{ojrLUcslA30{(#Y=fc>~ z2*TA0vk}EegHRwVrM!cNWhWL%(4eR$I<}=?#1;NW0BpEuJU#HgPq8O!BWIa6TzgK`LOh(nNF zfoWh-(y@I)lh1N4=|0U%Bb6SQpwZr3C_kL&J$7#?ZKb_(vpzsCIf@h(6trcqGM4hN zs!W?E-1Q^hO2n`}aI4kC62kk+I@eW9(jv*D)oP}eEKmK)1})l%2BtX0CN`msqv9Wi zVY>-^*EKhePX-z;uCEr|d@-BJK7bU3x5N0j0Drzdp$5R@`Om)pQO3}?$w&hANU)p= zd#W)bqA~t}OBzgU?sTga;RsaCUB1Y#s$I~+)32HrXqq)b2s;-T$JnA9#hMN!ehQ`2 zS^H~b2T}zKg+((EsO*++CvcoXu_YAP&|}v*C9!k@Goo@t?L;)eg9r?#6+YhIjGs2S z_j#Kc_d#Q(WAc*>GB(*ZjiCAs@8j9-U%QCG*siAy4 z_YgoCi$h?hJVW4uRS z=6M~@%hX9^=bc1gLEj{>I#}+Zg4o&-v1;vUbrxjnEQppfLoszyR20CfhhSm%3G_;O zjAY1fBHNMttg|`X2>tvQeZZT@-iS7>+z{1>jouP*tq#F?ZuD(@94n)C6Q5PcYUh8! z0kP%f*xo%|4ppUg1oo~iY%=7DHg`HtT`V3e%smQj+i7gAX;YD(v-9)!-n;X6fA`&Q zeB&G6{KkLz)!T1Rj(MWc&gN~5l4L2q5(>22?RMME)dh()GoG|clW8%Gaxzz1Oodju z*?h4)IJ*7pbFX~nmCt_m)h~Yjv#);o)33bp%E`&`a=Acji;@c~uoTa9F?v5TC-jESUDh!INhd)Jo*FThSg5eD$rlHMeN|8gHdVXeR_=i*;3N7%@2pIV206PM$hG9C zLr9~@=T&Dpm|VU6Fze>?ZoXQtce`DR010snQDf&I+W;Rs*ss?o)c_cs|EV(Ud^XUq z-S(5arirPfL0~0DiX@|DWNya+3f|(&u`+{GHOR5WQlUMcY2!xmnIIRe8pn4${MH^taop2T?)FP&M zYOT#83s3EJ5ls=WbPU#oVI-g7JXktlmyst*O-MieDi=DLjTay$|6=laV#sHB4axK0 zw6SR~uCBiOgCG6v-+t$t-}o;-{^5@vK6u#8m&dnm&zA?O2I%N;Po_dMmBgE59^_#0 zIGfQyvfT|Sak$^@`dz=<_S;>*OWOql(RQ=$lg+TcJU@N^S8x94yT`}JM@NT8v-!O1 z+DRrK9p5-Px%v4oeC~^1`20(+y!_J3FC8Bq9xe~kE=8LFOxp%(TNS+H&mja()*AmA zCXzRhE>LnC<+Xt9P@cCJSW$sG5&fuvp1g%dwpxML2WI<07J^%~RQb*EiW40cNJqJIqT3?HBC6J!9$ZqDS5n6@yRrs;R-+}|#; zXlTYNFN#8{@EK}18h}j^eb{oh?Fcsj-*F8c*P`Cc>&K!BlsLTJDmFAfBui2riRQKl zBEqgd@&x!0Rb?}VtgPde3Foz{?vvjLz;R_%qMTV`i3~F~>N_3NSE^!;WSQ$xlRqIYAtI@WTz*u^4t%cebOyJg$Wn{@EFxc|%eDI$OF ziSc$%fP(okaUC zpjkH2v{wwwboMa^wrtz27pnttRCYCbB&*L=D)@m_rrq%G@Q?W$9pioo8Z3GUO%fvC z5b(|Fn6=-T?vQ)JyjDi)n$X}w*zf_5Yn0%PptS&9TckY*@VxJdAyQ^_2z%G3d2&o( zw>exK78pV_+|4x5D{`V2#82YHqQtA%84>TS3bkS~o^p9rz{8K~wUt};@CsY9Q!rha z%A#LfUcLAJo$q|-@BZR1|MDk4_`#j`-*4O5^6=!~iAGU43?Kit!x9PXDq2G=kvZRdHo9p#veR}$c8MGndZ>{wh$?dWD2eD-3l zvEZS^&`8#7uB#r|_pC95qVz}?$kav?fQLgC+oKd62;a>=oQYln_VEBlKYXjW5s;Bx zt+q~c)++m$TU8|sgQu-mm2@^U3tE#pU?4*&=Sd*yHfams$e~CJ*O16 zhGXQjr+q>meHd2T&E;nOaD93I`tt78#l6+#gX@dO>#NmfeLXs?hM|wckQ!;)#cZ)y z96Yx;`qc8|GsibyJ-+$U@iQ+T-%J(pM!#AdvWgT^20kK(rAwuvhen!I91e;_&4~KPKKsi`6IOcgIWi-L=+&|BS68()k2OfQw9u6rqZ9l-Hl~*E21JUYHmxe%Uq?$8QEPd?*W`ML8 zLx}}PGQwzjHleiah8(rRz($HSZs47{J2GFjwP0jrES3xq$rV@1EI9(@sltEL>~{T| zZ@l&0@BQH0-~8(ze($@h)%x({*7D$RzC7%@MZfFU+s!bh|7tMS1ha=>dim%^$rn)Q`1UI7EnxXg1k#AGe#$=K6ZGxgIvxtINyXX7j_%U<~V-)kr!gmh|@9)`T2m|*D?QDng!$i4@BN*0eQ->~G`v#zM%_k1Gdw6q#`D6&}y z(?5g5uGBcriS7@_7M6EBIIt@>@(;?k(7@#mN*FH9M&5~codHFmmJ7NISR%!SOu{{$ z%F%#!vl415h%_dz&)O*tJlUc{znC?%?qIcEU7fE^j*bqO2c{yB>Pzc$C2~HM->mDC zWdID6;n?`sD0+qr=A#~7QuE$&? zDX?t^h3C@V&vx|dKiRIIY}T7$w@o|L$x(H2y*gj7?r+ZTU0=L+aq<4u#Ru2tr`M~i z?fQDR-So*X6{&AR=u!k(I#K-j#nDU43v9JO(M5QiP*B$eknNfddgTlad$`X6tSdZsS@xmh?}yRoMeeu z4BZM(hkuALnlXQ7=$mhh84o#@K8&*RQ?y+FyU;8$bE+kMG{Ob9CeO;qi^d@}Ql~iD6O&)CWRly*xZ6)P~n;4dhQ%vvun!RCu$dph>=XNI$qe1AuKZphnl@`h7%=Q z%k&rQkCPr4wqty~-fByl>BCOiIM`d!K1>OZ2Z|U8zTG7;Mcgj8@=csv=m=1h5zRvO z0Z}v>pLqi%?Pv92NZUzWbG-@4AlPo#>G->DN?7+*L5U|mXS4j~;{Q*Q0Wj`U_Tvs^ zlbpn38DmaVY8XqCF8chdhRNm&P#WRV8Q8-VbI4&CnK=nth%Nn)F2iET`wl_RLDAI< za$QW~7@(>ZmNBTkBotOGYLuE{mG?*gNYO|fHHEy#=&(JYWjb<;vJX~F@SC{MStM&GJy<4xt_L}4(%)nkI{?X2ig){tuHTE7x(%*zi6A|wt43G*;^;i|4(21NB`p& zzqV|<#keIsdfiihsNp;UDJm(&R(*Lu-kM;QK!H7nN;9CKk*NmvOpMV0V)UT75T=2l znBpYxa9YnMJOD2hprfp!Lp1Iy)tb(4=#v)CaQgjnS4iaU}OcAC)H8t*>!(*}5pV}o85*w*$T)S88 zuP8ou7Eu9$7Q+M(4IVMsXkQ)~OC~RW-aNrt;8q;4U9_lNmKWm`7 zY8FX*7#=Q9ivNC^#zuTa7GVmggW3f#)WXP11wza-qOpphLEif0{$!*+7UzlKdVT%F zAAbKY{^I|9@aR#ySS}Bb7YBy}QId%1iGIwkoxG?+%vsse zl^DZV-hUi)+(o7T7#fz3{Tg?@+gZ2lju(fA-O#0tZSMS=8;A3r~%Ts z0%PsJDI`FU=X9J|I+%;u&1*bhE2b_ z+-@#5>(y>^-ETJicH8fstS%m}F24Kl-uE8eyMMiUxV~Cnr!b#>*bdakZVVL)ZHTG% zMQFRwwy~Qv?L4L`851-gQc^(DNt=sd`@wcg!*+gkxp;K{X4l>7x-Z;%{P} zI7P-;5?L!u^8vrGI_P`94NvMQI?C@7=bWHDt&{aHEt}ERww@u8*P!%3%;6 zbr#2v$Pez{|HbRCzxMN=z4hjs^TWe~EqMr)r>+Jl}0YyUD(sl$N!-zP?_qR`>3GFdZixW0=jl zmtTJQ;iJd*?|<;Y-Mh~|dwVvUrA&dNqnkHx-g@TNd@&t0kahxw*r!fTeWbx86M6@>J=?__&hQBa$jr#u1;Y^%jBwMkQ*zC z-U1kdO@fY3!A(GKf`X39Wkj{OX_(%|BqI*IQz1-%sB-6HIwc^axrnbMff%>TI>T*zPvFetX*QPItRaH`}xwE$73*B4vj(Q!$LD zX=Z6_Jmj>tH0IGyCi^2()rr{mvG2EI98rIDc6E977jJy;?f2jO_h0+N|KZDjaO?2o z#^NBUCmPypodiDD4gFtG8Of4ND&EM4Ty!HM)B~2Y_=wKyJv?2I|{Q07978$cskZTw`j@`SqFeilH84fMH#X{19!7t5ranLA`5es z#}PutVFRV&%4IWx%lk@{xu}PsmW0Y|50f-Z!8&8L{oQW&gYSR;&;R_--+J?{rfE)Y z-a5STOh3fU81zpxG&y9y;YVrQ$H=ahX7ufoF>ZN);-29>HQj6!>6cj`ACNa%5B)d} zIqf%DDN{EV%Y)@&*^Gy>B)Pg9QuyX}v%bFUx9jb8ckkZ4Z-4unKl|yAPfku2={$k< zg-^Zo>gT`k`@jGDU;o2@_T24TC&vflS!ZeQBPo=DtAZy3st^4D@<1>m!Dl*7mQ&Lg zV_DKsc;)FeZZqQsaZGAtq8M$X=x?g#ZK28~fkzIjFk8q>aFKcVm+ z+#Z9*|JIQ&Z@>}UH0>J^)Yfz3Gg3s;nJE*U*k%?Oujv+0naR_=B;gpRHfFL6wB2o+ z*c>bui~0QO^7?wUzIpR_v8e9@V4YAthWIxI`cK!#$^fu=`qKiOvOJ(-RIblB)hNr4 znahaO{1L`Z;=04MtcdI{d*0Qk0`oWazhqO3QHl~I-Xn`b-r+&}iK<`4XE7KLBn;bF zGsQRsn%SB`H=ar zvE1Kbg7ZTPgYBkNxU?^@dH3q#?vvB!Z`?eYFaF6ZU;OF|pCQ@DCtIkoKHDIN{fEkD z9=gZ|s><&eDj-Isr4jD#H6%Pvc|nnSb~R-NpVwtW6D-xJA!};lo89`bLvqyFe=aaA z4~$)960w7ld0G>{_gpS!O~AF^r&5lDP^xl35U-01P*<88y^}TN3mu7yFdDN+wKc?D zW%Nt=GF7uUAm6h2ip0Qi(K8JHaE#lp+PnxJtxIWIKVkgm{__ZZN{kLI5Z-YOad3HcGJhd#yY&bt&ecHM0Hemm|1#E$a;^c`rR6e+^S65jL4N8$Qd z833{tMXDt4z-~9L>~4x+%)WNnaTRB`MZa3RhvjNO)eTDfDOrPgk#W6v^SP)t{$Urp z-f4Hvpu}GBswj`6Ac6Y`o{ZYMi4KQ%!By^IqDvNJT}9H_MMtRSYl20h^#p{ngc>U4+Up%^h=i=e%_2aAS^Y!}bYPY)_!gbqT zcQZOXj3>{eu+VXbkH+fPP191-&{Qahrb7Ibszgz*qfAFdjJ+FF7!MlO6T7Ah$Iry& z(dO*Y_Q~mA-+lAW;|ERKe&M;7x|m**d})EE?6$ob5KNV-8d1`lfcD~&jSBY?FC~pU zEIAn>6A(F>=JxPEs0aR+qwXqB;oyC#WN#t;kWbkI^#t}3J_VMozxGOC@6KvsR&13-xXL?mE74F9Hz{)u>iK`( zv{C1;81-mRVJtk6=YPj>8Vv1N$riFgNmJM=LbY=LX%AZSEl{upy^1>tL^_ltldt16 zrCQPrHa3AO2%9psN$#AS=Hw<<+KD*~Uu0@zO0!G59g8FMyZ*iR-v8-OetLejqS%aK z@?-U!euxbaGy|Ci>(FtMmXu;w*v}TM9dm%bxR66G=@a5^x68|6+{2iq z;O)7jB&YD8-FCa#>{2PA)srWu>(^HI?!5Ci-}=UUK5N_Nb6@z z*T>BOkZY<XS}9zS~X?DUPZ)BCHl^WEjH--L8Zd=r~_XuCLHHsgQe zX_BegkoUIPQ0EC5V+V7}7}qYRm=BnVL7XvKf}@Ev#Mp)TtUcHc!*K7(oE<=S8Z@ONZZ4m&xdkh!L zH% zH61BQ1R*N8MvBtB6~`xUHJK%(@BXzxgP&LD2&xdt|L~j7*dt9-9+7SG7W6b+TwFXl zJq_)=TO5SYWZ!=fOHp!QnLe!QP}>M*oA{T{)pWzD(Tq(S`&Bg9Hw!f4^Sw9)EJ^WH zV`z%ioGgdXw4rI6wjH{b`rY-eUp;tq_k#y1ajW0nxqJW4oex%*XHOnIST2``hlkHT z_x!WZK6m@}?UR$^NbOiFeu#t84a!P`kTUMOXt+2p>Zl6Q*@=8&Kn$K?_bhEM^EFq% z$bDFqRqif-EpF3%Aop=qpI2UlI~jZ4!Tqe+M+SK@-F4kjWsPVLr>LAl-w;Q2dz7TU z#qrNE<0W>pbQnOY{MYxJ?Iy%H>pGA7t9HP?bUpq4qhdmQ+zbGy&^7e^HjS|DD1<)8 z{qsKFUWZQLcjqIPJW*(2P|drZhUr z$2r7Y(mtt4lJkpk-Ww@?GV055m%3?Z%kJjvdfQ)bPyhPfJL}ovPrv+6UOv7#kt!J$ z4H!R_DIrT8rC425%G8L9UbKR!R@THG1BC34NB zbdm?O5SRq_=jW~R=idRFc)JSA=ve~G!$vTflMe%dQZ^GIvLJ4X;;(3Ur#k7&E6o~Po*rd zH!5mVO9UC&tZOGX0)t6I7;H{!{6$4M`^Hu3GQnr#F_MuQ#7h+7+4c4LdiDP0*}c`- z#r5iRb@8*u_g{PR;H|UMdsk1k!)ge9(=B2*r`bGq^LDm~vw7&|V@3XyMAi&bc~K~2 zlKoCZ>{ODTO|z55lZG~D0EQ)ir)~U{VG_n7vnf8cYtjMZn_pd=cJKZ2U%vFY>;7}; zY`O6m!kpfPLave;TJiuHFb2|4|IC85?q1k8(bkumqe5LYay4`%PG`KjtSk8z(Vln* z-Ijz@FJyJ_6bg|4khDU!8JegU*;7ETQT?hcL{z$_ybhXcoXcv$z0JW3)g@Vh-utaP z-&0(f;H-;EPifWa%mTBzE(lZlX(*VX(w6-?s;e#*oz}nk_!R9d$rF}393QV$Je|Py zSH;6mRE$BSF)tjvg(}lj63)DX^Cs+UN|+b$MZpHx+FnkubI(2X#8NmOb^iDcvi^r* zNOdx%Y`LcGQq}(u`!QZI*br|eJ7|?+>pZIe%NaHlDEdjO4^);q8WLtBgh|Y~m^nH_ z>OD_@a@;d+at?9q=IP6}YeGLiY%%@Y!L zhZ)Hv8EN`>M5+gQbgx)K?sAv-I6?HO8!A{9sA?>y#|7nRLFm8%s7AWYsvJ#m+NC?08Cdt*db8crqT7o zc);sekPLwn;{rU_y~f4{RYehMfH2@@WJR+}7ywQg5Hanss#lXavmP_*QIV`MPF-r? zHbz^1KyXPY9NF*7br)n&YB)CQ>S)gVBq>`4$Z4u54&~0&_1X3IYBdbkA+BeO-N8XKztPQRv)Mcy^E{qIKW+Bx z_z<`$rZY-xCB%QJ#^AJKlT)knWknhb$sFl9q5JU!+(g^OVRK9uXQ%fz??1YHa=zOf zck^Y_(707VQ7u&Qg&-DIv=D= z;C`6T_@rVuGI}WmrB6g8s-uj2BN9S)F!ro(d-2Wn&3&9;$FmNYs|jCPbej025y!q0 zmA>j5>d|fHS1S3#->)+QAwE3Ez<+XAhIHAFT8TG`!R28hZ($SG z`lDa{>dn9W&;Q4b8#iBhGMfw zV*rxL_#xS>7(l$6_$Ugs*^CyF!#vuf6ARu#R9v~utW>CB89|yA3q>k2!AD*i8!!Vl zA5T7)BLdiDUlGJeWXGZ7Qgbu0BT0B6Vl$;8U;(4A17Td3IDulDCU3V(Ch&Zbf`tzc z5Br{`J+XPJE7eRa5JRYG(5H%=kJ9zAG62-lVlgn*Wf{@GI;h!71~8?MMbIe-OsB8C z)mM}Yf~l9b)Vd^_a3Im`Il^9c%|uEBcpA_kWXO^90_@)^>&4YS!9ohNsrRJhfHnP6zfJhJMl zpj8aWF2R^gUi|MNw9US)=u~%+wO3(m)^`|7J*_eVG$s{HAR};}k_Y1GSts~ch$8Z# zpp(Kk2l5Z`?S!{p{_RUVi!c=byX%%&o;@-ZULYkB)^ur?aHQ z0-+M`Ql(g~d}~Dj8B!Rj=!xbiSRtqWg{*_9MjeyEIgDcE2bbeBd(HsZk#%L_96s`< z4ZP3Q6SB5zeOZ@{n2SJ(qByLAHfdwBwa4JEem8_JZHvVbPo@B&VUVfjSHNycu82c5j@ zPR{d;{F})LXhU4}nudPh@~5>?U|4+FCiEQK~0W<>?T|F65WUn0@#iK z49#W4V$oaEO9{3u(H?74f6NTNnE)(lPfCzpm1hM!jX4w?UDTMcvF~6LemM#V#mHn{ z2m3D2nIQy}N77&b#;=l5xWjW`4B%QAOR#V&WS+z)DEhkh7#k>*XR1r$?Z z<0e4HLyjJr>f%Ti3)mR4#>Bw^{1Syvcnb2W6_G@4%+P@Nt>c(^CD2|308W$fnz7nS zyBhs4&~BHH7i*fu{IEOhy0-0yv=4H5`Q&%aF8|KSUZXS-A_dXltLgP|YNvBnKeSYxyalvA>4GIc=u#xg5^ViAEbOGQgm zE~a;Wn-eoi0453G0A4<>ZC>uq+>pQtU9yvmZJ0M$Jw>!&f|z2^UD39pIQWbLx0vjV zvQ0?B=0#GAeKuB>4t|dm$Yzk9PfjT`j;KqV($2beGzofYX*Qb)n*Y$O-;eC|u`>Xm zlI^rdV=8^6Y01@BHKEJ{6}_l%Zi!9SwD=m&>rj zZaC?~4JlZnYV$5Unas3Cw=AswVb3LUjPigr1%g*0`Ub*3EaY~>Q8|yU8=;*lN)l8i z73>hL!b^dW`|N>fdZRzX3@M1T@i7rlHZ!{(i{Ztm`~`pelYJq|6yQO{Psmv+W#ep9 z#7H>8JzC6CNO$k-O?5izr+&A@)eO|%bWrANg*J{aMaVgSp@+rxS@&8bPEeW_;c5n~ zJ1OeyTK*F7lKg7J{GffCT3nWahF%hU6z$7&B(e)26e9b!DL%7lnl4?lrtOAdx7%EY zgM+qddhz{h2E5`n?l7xU@GKiIgcwY^{G7cbgmZkzTzx;)D#=bJdY&IN%mu& zU@ikU);k@aYTDW2APMgARItYvtKsoQ-*2CsU&OY1aQ}m!|K!Ined@*Ax1W9KrI%m* z%%=|z589L-pwkd@CW2&>5fWROMER<^3&fhz`KC)}x+yZRi5-PBiO3ep2%IQk{6C)l z@&`$>TRvSkIyr!V!iGRAJ_@*UgkQ4&SC^vMwhCT=;9AG(QLu+-Bs0{PWBpG|I(?@s zJ?>wUpX2F1sU~bXNw#fQ`4!zVZH>fA+@D-#dNx^!)v+&|k;6 zT^xm*&(0Ue%f;c)G(*#bp2992!<&xr&dXfIM`VSkSalfXOC#qA1d*{QHfTH)Q2gT+ z{DhkZflm<8VFG4I8No5mW}Er^y{og=9^E-xe|bb*P0H37dOJBDBNi@At1AjI0U_AT z3RDF=QA@7?bJutRUV&bjXyJ$1w`CJ6w@G=P2aD%45_+oWF#vw2>1efDS8zia&KJNX zn)h!|>B$TehjOS7m!Cp&sCcDYyjD=CM^}I-;2Wk>l)PGSQ<`)j?TeoU><*kcqbp2o z?3{p*K~Da_3#Dk6Hph8{@>5mMt}BEUhH%DVJ3#trMW*PtJurjsrJ^@{ug#kvS&VX6 zdRc`E<+MCI{@b_?!gM3qz|#oqp|n8@ASmm|pRhV~7N#|k3uVRtMaBTm$&}d=JIG(o z*Ge!K1VSO0#Uo@+|21vfb@OgM@8+|<-)+{bKsR%pftb75iEaqpXONZ!*WX zD-BVzscaVeg5`vrI~hzqR60tE-gsJA{+cM)--(&3so}QaG_`T?ecBG#?b2>(;3h3nONy}DYj&K{pW`rB`R>xbX{yV-p9sTW`V;#dB`zxd-n{_pO%{X@i>? zY}fCaFm$sqNMXX6soqC4_E+vgC4kSQU3@fxf2QkWVgO8uzmvZ|3D)%cz!PtmTLd0( zOzXvdR&!RGQA9_If0!99V@aysVj+eGs+g^7iFSlrRnb_n;5e#qxL~8Qk)b++3tt$e zNfuc|+d3#8ZJ2{0NFFiSbrZVQO=n4)ichxd_pZ+GT%6uLdvx#W$p@>8pFVo<;|KSi zY%Z>wS(q*3eAdhl=d+_`HXpi9GYQ1PCXNjSm2V1}OhP!4Yy*ITHEv?1khQ!J67i0Z zl)q6L1Q+ZXo7m06e6i|xXX~r$e%lA}94KX_>`o~gM5*gkd!4A)Ymf2lylrqPEaFH??|j++w{VH9@V*}ohbBhO^Dg$&^;7^PIR=*jX4Zimx#p zWR;;rGcUk*l913u>^Uw|N}7oyT(JD+XembOLx{mlAu-cqQ5Rl7L4Hx6VBk$HzfZ2c zQA-)oh$U9uD$@vY{ao-4fZK|*MC=&9DP`uSkb-WiNFIo2i}|O`JmKdC@v5xL6XMU3 zkRCD)6ynI93%*i_jA4~#k%M=`@dd_YR}zK2y-*N0onF$mZF_uteEasTCr{2cn{E1V z3dqc1kX)}KK=FbckO4~4mN}Jv3&64nEX%eKU}l3~JtA>&mkCI3r^b(8eAKEbM zaizVS?62s2;5+$YDo}BSHT6CM3NuY+cSrby^q>9(E>`U2}9YJ9(~I%$r%4Ztc^#EZcskdnFCE*~84vGpR$PWMVHkCzXWaM5cbZiOwU!2?cW}-^I~sb^;B4 zMLA_)eH3wEkZ;*{ZA;ZZK1OC~D0$3IAlN~2I~v`=QowYym>rP16o51xqzy ztHnI20na;?}#I zb<2~H_qYOd!og+9JrdmtGL(risiIV;hlXjZV@!{s?RH07N^zy>j<)UQ^Tok<3e2!w zUtK*py}Z15^Yz!>`_-G@_^bbX>(=e(UwGla|9AiH*3D;L_|&Jm*&-b(-zM+lK*Mg> zru={@PdNL#8u4o5>}Q8So_4|=5Ks(0%r7ttGQ@Gg13-OQPAL67E9tFv8L$GyNM`nY znG7O$5BAt%VrE6VTW(&6h{3QC8I}T(8zYf}Vw@Zvb%hpU%f3wM5J$5uZ3yL!skBkp z59`gY>t>6C`OpvR>+3OSZkEpxEwX!E)quaRAfKmSzhMSINkmH3no_x@Tse}DYUVSX zSbnpciseHkGaW89cT20f{IjNHsn)DQXGuooz*QCp(QO+T@o$ugwJnj02^Kdhju^c7 zApZwHT4zv&a*&JY#E0ZL=>G-%<@A~m`w%a;>pK^x@1LK(cmC*&vj;zW{K4x_9{g&3 zwMu)@%h1l+Zr&~r+Jj}P#M?HZPs%4JS}7SO>QsX9M1TgEd>n*`Ar&B?quElF!VvItja)2@J?6@6=m z8ADCzsdo?tOJ?kOH9_=jrB;Hi1g_ifhIhmPf>hU@L`gffA6JYq940JL{4|1PqbU=6 zE-ffxJUmEA_1h4H8b*8PgcCSfs1iqPUL$kLu>}$|f)cH0$h_T)tb9#byhEyP-gI62 z#m|545C7>u`R4WYloBz4t2o!o8CiS96&sP*l-Pw33j8VQb?maWP;&CY})zquXacwuf}{p1ZXAP_lB2bX&Y_yZ4O)D@;?1;7bwhTvwooS^Naa> zzFaO~s7B0S@Xu4~|NMQK1ixVhKzWV6|4l#i^ZBw(Cw`B?KVy9YyAYV&oxMlSZv~II zWmpCD`E$mfl;bdB1QS>Qq`^{bh$N04a*$vQ5^ z^pV^FE>M;n-h?jbFgjGUVuak5s`-oZNa%kX=)vatZ|}bIt#@Dh)_XsD=g9|~?PfDu z?2c~EPHrC@orJC%^6g{ahC!Ok>B7O3ycXFP89VCg&lF9g9P;;Y=2W9{MZFCY|EB=a zlxm6Wwzr5d{oBV>cX~WWcog^{3~kpW10WUJ-tD&iFm$n1@(2J%MGo`L&PuUo5wQEx z*(ToG1WpHR45hWg-4Y5`F1?)tj7fd_3eQy)N7Z>$EFzpXj5X2j+3kH>AW@&jy3q&_ ztilPn?+i34fFm;p{1xP*$P>R0Z-N3qV6Q_pbt~Mi8X|sSN+b#(35_)1q zNXAnE&K;XVhMLSz+Da}00dpULSMtg1z=-@G1+y28MvG2|VBG*UJ0NA%zqJnk`#OFevP1}xP zCA?(S3eHtqp4Uj|@A9Lb+giyKS_vREn+} z^STUD%3aqk3Sro7K|auwbg2*#M_T8&-PlYqCac}{y^GU#&L6$~RO89!QR1tCt9EJ<|3IV%X)Ug{8B5HWCtCpUqzKB%s>%h3B9D(wDyc(#x+L z-$+sK*B6f$hc}vTF`a{}>n*AoLgFV6h_5Blo3hbPRVy7w9U=YYX@H5XAf_u@H?-MeR{p#1g^yRPIx_RT|_^4@90_l(x8jXp3!0XNEjN@tH`aWSdNf%@Z`gN_EG7fZ&p+XJ`jx{b&B7AXl+2d#i`ez@1AFC~-h(jVV_8-Md=5DR3LGM?qv_G9m}j=ZWZNt`dz!HZ z4_$7zKYsZBe|h({zk2&8zj*ZCFl>j}d^mcxy>WYfm_%gCMw^B>3}Yo1gSMbzp{Zt} z`G+jcCpzg(5)G;}u>t%-X``gGgTLXnMVFJ4Sh<<$Sem>+kaIt_rXehf#J@1(j;G)Kf z1etGweON#%evZy33NNfLU=576*`=sIzyhoVWmVc_uMq_aRiVt$zCaT|Lq`t7&j?zv zhi*v4W}izKk_{zEa&WZ`0>0EDC<=LMKchGr>&J@d!n>w;x+X(^P&aJO}-ScFDERF&c;%|}~`p`2Xb6NrHVFUFn`VvYa~ zSr{r#uCpf4?dP7O7+-wl(QLY!*WL=KD?n;ta$hgpn~ z6&GjAcUxg4YYS>T(@c(PV9e_s zqwbofo6lwki>7JTtM&Ey<@Wk=x4!t!-+t!@-~WCy?-qv#fBL8Y%fFu;{Lbe;d*k@H z?YclIm@4$U@g(7X^a71>%Mo}1WRdO=`1RV^j_*~N({IE3eg1Y{qdFyE`LwrjWG%!Kwt3!oz^O_=#AxMWG!l&+|S& zGzCX$@o;&&1fYo9VX`w>zSld|B_Dtct8t)f6!e0pWTEQ9jR9+vixRa!8^>c)8ud4U zGG=W1D2a;2zFCQ;aL_2|sM?a}qr}DFuL9bc9;^4wm*|OZj8KlpCE@N-$ZTXQwb8oP zzPT++^HZ&POIDzUSm@)nqdX^s1Wg)oO8Oc^x-QG*NcL-|9Z zvTE?eIc9T01QjGGF4(^VECn!ySW$Z3w?ZXM#n`4lhCZFDespyFum0t~2sHfJfBN5l z^rIhLouBsoc5!&Tn9qm4879|fUVrTB(cT*-$#FG$!o7*#4l?hvp~n&&1Sn<539}kdi`I& z^{wm6s~4Vo_T`se`u#ungRgw`D@O+h^Z6`MduTXWk%Cl|XWSBHRU!Ww@sCRsPrH@d zp%j>ENO4>hBn%=H4Xcz=1@dMLohn#L7PJu|$oesYC0gTklQZN@A%TKs*7xPl@rrh| zEYQAv3=%G68sd}*u-&D2xOvlc&Eay1ob)(BM7jW#pe$@e`XnmL z%0Sq0z16Uo(Ryry2&>1k0W=53vrBPvgsbDEy|E#-ZA#l6gMRuz>oEN6^!}f}`-{JN z>-#^v^Lps}*v;b2=eiru&z2|MeBO*lZm0A1hF;%l;gS3n3oJ((mn?D}HY#dDNtZHi zRsuCxBSTP!M}DrwXjp*Qd>YT!Of{*t>v=OfnjO#DMU&2u1PHsQNffE1AGj_QMyfQR zBq_k7`HOQOkc7Gx5Hx-$_GQ4C<)-2h`}PXHF8hyQkOxGt9t;4hU9_J#+NK~$^xzs$ zQ6d2TlC`YsNpU1XiGKq~Dc7_?go2HtWr>)TDrTkBviJ~&Dla+tW}YMEI__Q!&S*2j zCscWi8J0_3nFod5a`O6P@TL|D7cgY4_8ojlWW8y7yUbn z>R3{k+bX~+-XMQZu5~|-2*rAxa{$F3$|cK~Jle@g(f3modpbNk_&0y@uRizLPrvil zn?Lye_b$#JZ8odLa=Dlv(a`Pslp2uS*yCA9=_Hn%l@+DpLspG^aZ#!~MGXY)SZ~v) z&?CfpMZ;^k--@QBh>?EjPSo~mi@1q^qD@*P6E5%Ck?&)Z7iB6L)N`?zZoXX3X0zFR zetB_zarSsvU2Lx}{_bzS{r&I!ZQFG(yzr_2^*{c{+s{AWz3{@}!9m+LLppW1A43?X z)VWEiHk?<*g@gf1xD!-PG;EVn>GDEs0C|CuS z5y9uvr;Z!-O{Qr9?G@J*TKC1o`wyj`R+f>ex`K-{6p~%VQjF8Ce%d|hnyzh*4-Wca z*lf3n2ii7Zw7^IE`Y0Lz`-~)vno7rS_d_$DA~g)`mI$b>BK&KVM9#sjn6>C-!xzr>vEYpEg@N} zFdcOtbvidDS-|m~%d>aS9{=L>&g-Xl-Z;Jg#*+tkS6AWa_Iy5T=Zi2ui1TG=Vw%O6 zv#sPU4t1J-ls=uOUF7Ityun`M0>vXvj6S*dB~ry9zj7kUNQf}R>#Nz-<)@$h^zXj- z^0P-rQ?ii8$<&&yeP**Svr8>IvP}q-Yr^EC`_?6TA#&sdc)(DUY7~;g_5T-p@A+)W zk=+O8DR<4g&$c)47?{Br41t*;IV6Wei4;Yn(Jr+c(kk|^+Sm{KaTP1Av|2@QW2Fs> zW`+bg-h)6lTsOKK?ak}g&)<8iDmSt!kIT&afEk(rBXk4k_g>wqtTZRj`5l{p5}vuM zSRmCaiXxT`VEjOAcjrC9&wA7i!g()AB#rHY1=r#z^qkn>X)sE^w9#zh6e_)3qF9Pd z&=hM^3u5ILT5(`X3`45e{H|JL}B@Crip{MHd1w;&03q6yKNhA(*L7o>cK`TH#1C7)zB~us`B)n^Kg5qYwDI5b=Z_ zKb0#$6(Z#=AO@iMgBDjJfKY%xgoS{nd3SzJSF}FM@)O5T{YTIfm41KEzgkK@DLjv$TWw+GQmk&yvCMlbLei0 z8WS=1)KPJYyQp4;15Y6eP}E_V##FjP%)6ADK0FgNI}9w@RwRN_wx_@q@)i0gs)X7#&c0R; zgHT9eb|>?84TOYT4YYftb?&ybBBCB1&j=feSS}Oc8QLd+Vv63QO_)+Va+ehh4pED1 zukF%WGgs{gtDarm+4|P)tABj?M}Kwg&31O^ibyPiHIY!dCsw$S!lBFa z?e5KN(7gyg3g$69Q&FGUiC*PF%#A1j0i31QqP-00! z#za2;_He3^jUbiq<|6!SqUo|cf?%R>H-c^*Uq+)~%Ard0{Y}CMDi#*JrXDdJ8e3Sc*B#`O|2-G8j z!7Zq#<+4VO9MY@6cZzy1ClicZ6C`Q{X^1NQHt#Y_S)*&v6nve>1tG+JbiL`xKx%^=Bli^qN29tVT06}RaR|m@t{YDG#D`J#9fQ~ z1gQ1|DnxGufPUGecgXq+m$J)=dL;yRGF>qyq(}9n!4Jxnvw}ZgK zPd%U2Zky$<#+K8&TbsDg z0Qn0JkM?2|I;f^mPbl_NVY6_LF|iyF0tn-L^j5&vSQ}Ar@rrCpq(P?eS&zZ;=-r zB7qFoejjIK480-dcyMs{qalUU!2${hvx}SvM61Q&95BQB@+Ljqz1sU zoE|8GUS>Ru4J3!?{2idnL%U#B2LRj575Q-iQpI4jlozA%#1$)Vn(5);)%V}~kN@HS zdgJxi&z^nknWvxq^k-f=apHK9fwjG52m=~u%%KH5!D`ihw}Px7P|U52T9)R|kb115 zSM?fHLJ)r|!-?-71pWi=prxqOgfx&L6`T>scldCoP~7>Iji4C)A;WEhfI2I&x$m{~ zbM(__m0`lqo>D9OXw~ODY z_wUt*4`Ah3wtOs~93PC=v#v$wxTzb@K!7EC=M-k^qxQKO=Iyu>L3|a=iNvTrMwPE} z1hqlyP5|%mFYxi9)|DnAYrn=GS$CnuwmZh%i9+Wh&-3}-biT7Qs@v7U(sOGkKX?3m z1)bPvEvfmM3dl3B7YI;J_J2{Ny@s3wzG5-~N!B5A1mx+#@@g*-TgVxgEXIO*X_A3k zadc~m zO{!JDODgKonXsbLbc#>#0xR_cX%qCo3l%rjw}^3S2og$&L<*_2j2{$V?DS7@p<#D7nk@wMAZ>J$>d6{`)`p;xGO3pM3r6fAQz9?eFf+ z4)(#$+xe`S^?^MNrr!0o{v3=uv=Q8Yd6pM#IVg&(9RUsW1J?udW?m zUs+oziz4q%9(FV8Ga@V>o)e~_k?SkDMFSIwGJ>ibkJ^?7Ux8y&97Z3yC3FCEDF8l( zQjQ@9wkIXItT7VzD|Qu=Zw>hWeq~4>qtJ=oM8}ECfecsuQW#9$!I1;ZhrMCP_6k5* zRHNa+{`BF)tvt_r1%Tsee|lSfGA;OT-68M~NdaiO!2c{O2E#EpLvqs}v8|;Tggcuz zj*{E{!-+I(`VAJ}NW+iXQfy%jZl?=`NOYDh?OV)y3j}!pANU18!a(&vAb3L|l}5K| z^aVW+R$ioSP0^!br<#7dI%eg#YGd0&JHPng?hkHXzwz+q?T0sC-`#4U$(A>&)nnOU zoDD{KKD15K_C0R{ZG?_@#lrt$!59-8Bd{IwcpZ?gFi?LZ2$(IQ7|jBh^co_I5hgzF z1}!5Bls@DOa>xyI0kUn|&g)sbyIpQ?y?XkIUq1Wv3ma!#siT%hl4jn910_`DBeht< z^Djmd^8<~nVrY{1NbE;s-nHD~{8}wz(tAe_Y4OLZ=?_VfThQVMzYrK*f;m(zEhhHG zq!G*qmm<_@0jbVg1?xhYs^ZA$MH1C(&b}B=ied%QjBRlXFtgJXtcn{)n#kgDY30!_ zzAw>ne6uPUMehRDO&nF|cQtq(w+&uQ06k7ZXHLq&+Xw?d-X+u>H5H6(n5wv4VmSJ- z2%#kAj2V<l8uLI8rqL6;UwoSUkdF9cghjml$9UeT|-o1D4{_Wd$@7=q5|K8n${r%Z=>g2Nnu$e1x*+2_fJ3p+m zyjL;0`p3>Pf_b#P86$T|lts}i2Hlfh1G9YrWnXra;*2b+nr(<{V-67+uPsiBbfW~Oh8c)C?yLpCN%oqiV|Wv>{LXjfp-5`U8z8#2qpLw2qE~! z#H)poMUx1DGv-TlcY@joU(!Ll5Ke>)3&M5)9Fy-1-h1_IYku&(J6HexJ3oH^?&aH? zSIu}8mN)XHjbdr7tBD0&$%wYKO*ee0OH&`&o@>#<<2x?68RmHec(DslMMlBQTIXFW z-p9*lq*+bNcuT&(9@r=)jTA95M0CewI&X+Omo95&hxOq>wzs!@c=*bR^S}4Pt52>T ztGW}7Ep^YILQST8)w>YVbN_URa^k@rbz~hsZWqVJN(&OG=Z(e)-A$@MhER(93~_=f zd$f{%EG1xAC;$W-WubIX8$d`EJe*n56=gUsP83L_n?mI8!fCQ1DkHAVjNf9@CwS;Ey6H#hB=QD*QLB ze@0yiCrO7FP&YLO_Z4>p^HU0d+ClUXn&`CLS7sHabrrlLXIIR=2=a;r5^gNSbcQM< zs&nhb+*k$nMO8@USMXa+;R)QUYAnVdC@y^3R)`IYli!tdvj*C{$d@PM&wTR5Prvx0 zZQ6M=pU$Tb9zD8s``&w(ue^2fo%h~-=hA!cY;8W++u5$?wX5mSS%+}F2)G+p^=8)0 zySg{tk?SlbWl;^w;jlX=%Wc!nrJVOtrfFNKYsV%rw5HbztSHk0EH}l;bBT!HND9!z z$hdyoY$#}2qw5oRFG=HHEE#uKT-y4xy?g+vOIGZUv&kVVt1{0^YukhUo!PvK6!LS;Sm$n{lZ#~-1vuxNY0E<3HX9E2FeEwl50R1P+peS?aKehdteYSHu zYT=%qL9uv{+#^Rk6#RwBsYs5I?tl_dat-Zx0tS^41ojS^*ymmIPDq;Z!E-3G+P) zSn_AqgEwz@VAi@IsM@s6!Co`nulM)u!Qr#x)fZ1a^YWReo>)1yTn#Xbh}=jr3WYEV zD4C!72zwzf16RFJ59j77=PI_5l!l zVky_Y!2WWn`A9EHh{1qt)Yl6%i+(|4+!o!4uM=~gFrJ%eRpJJtU=RJBkwh8ZrD9iu z23UhggoH(R2R%;@CE9ghMGTT0C~i?eI@fJPd=)7mEvCb@)ep;^?)CY^z3IVSVWP^G>^QES4T35{3 z^yS_1Jg>6h`f65{gSF+Arye{1@bjPB+Il!WJe*Ibu99=xQolMaqHfx{p0|h7*_}Ig z`_KJ*_a1IO*xlW&ox@<(%o^KFo5S7CSky%ebpbowX3V=}zpAJz7f<7p2l^TcEoBoM znZ|%C3K^tEESLkOXVTv?WRB|sDMwX*(kL~GD{8&F94tE!**erss`HOnXDWuw)eNo5 zW;UK59!w8+@7}xn+Sk5*<-N;aJA3}sSAXF*e*MeGj;-f;VX`i~r1J*&b2TZ@&J&vz zYS0lB;JYIkuw(+V5(py-btR0sPj9k>z8PVXaA3GF#?GA!2r^p@s}-}H75U+GTI6}&TT6dV5dY}U$5H`^ zvYfoOltE$go&^{R?dZ?vTflft$R2^Pim-1&@;U#d`ULxojLj@TfU;LK-So920?`}4 zk-(}f@8AiOWgUdA1nA6|;8m%-xj+!eSpWgY5t#WX7t@$_TDJ#v{qE+yZ{E24&1)CF zdG)V%O>Kq)m>kbmP83C1=4IPi{rmE)nLid7!4>*VgsVa=AOkG51;dc+V9+|!HJ(_} ziU5)pCs5C<3?}qb(nl3o)`R+B|4squV_F^luiJy2cK2aEqDi$s!SG!aH5UeP0XTYpLslj zPpiNj(Ty-R+)}T(6Fhtz9!OhEfcYZ)8b}`%0W1KvA!i2LMnMsqYEv{QA>@(gKL(o+ z!WP7wYI(^pBaSAIk|pE>Krm!+*O7RE;H<)&CZr143zYsTa2(&R#wOk)BysQbijXc7J(_}P}EOtH_MUF&|TA36lHI<^9XouU)x+|K4oo{P?CjRkf=NH}9*%&H5T~tHKgy8x1N_06rA`e`tvR z-@5+ru~YzzN_pyof10{>!PV{r4W|_wi-Zg!&_2d}fl7#*o3{BvhQJwCpqlDIiVYeJ zUM0nfQcWVQhOw6_Q{&y3B6J6MQ&_93j$qPaV(c~;BkeSW_+@Q1Dlti8>Je|3NR{o* zr+4=sz4hSM4{lw1_rcu{wl{Cj_S)5BRau&92<0%(i_Y5NPKt5=fx&~BgPCVtAr}n3%0t2!wlE47L!!+-x*6=7fINYkjEP$-m!+y*l?#`)nN1JshVvWICpk=wXcwka^7bb5UgVY5FjTSr5c(r zRH@+#8D#Zij507xUG5r%){PHtOLCz25`ANpz(lA{HMGcB;$Or>mb8PXE&aM`gTluG z@y33BG0w&PPhC#nItV)#chn}HR!2&xW&1b_gq;=`DtD|S+Jvqx1* z-->!@P@W2;%K7Qk4GN~#Tnev*+6k7xNl#r2WrHdri*8HBO^4%9A(B{q29))ZdC|hv z;xYj=3Pp*Wm0^O#0zt;0zUAJ9gWwL6@)hXjU)E$@jiAhw89TMh+}zyR-g2j{I@mm$AMSMlmR+T3mt$4rc~MkVkyri9 z`6G(E2+Mxz9Z0~rk`qI7DxkewOF-8;&ML15#44YtS4?~z1Sj>$a?pijy7CVl5S-6v z?ieWxc~LGcZ`AeNc}eQ|?C|g>KluLt`oA1}@}*CG@{^x>;rZvDf9~15EC+ekX<{uF zk7z?!9#AF-T}a*o`X0H3!YBh&fKuKure0t@NO~%D&Xu>0KvxM?l45KUkuG5wodfz2 zHoE{4xny%OGnDKCP~P?d7U{qGLm&b&(BHWsL^R}=-i=%Zn6XUoVGCrX0FTW^L2)sK)rM zA%al2bZD#!ffQkKe)xNHwD74VGVd;?OX`X~ob;N>#RQp(+aQ?qC^;K zBjJK9SmmDr;RFcItIE14s>IL=Ri)a7Bme9l1C$3WLdBXQ%mbR;xFs8-e`^;Y^rJ?- z_=*%f^4uX_6fHygzgq5GxI|!B%Vi%%D!?|?6KQY`g{*X|#6z(14;|M5tzdOBG3U?n5_jyu6-$`T zw|92#ZQj3e>(;evH{N^i(pzu8bNlA?2lsBxXLH-y*?c~m&!>k6)9InfJ1@jwP*#Jk z+)&|t%PsWj4Yo_p=}IlMjN*cDxz=!~qda(+R+ob;LnIlIm8>x!^O(?v2N*%wTa~&_ zHFa&XrYjOu6ocimZD+IT>|l2`+kWreciwsH;)M%u{nD529vmDlEsc*K+gM&+a$b_U zx2$2UN}p`d6P(=RB;ON)G!?k0Gyx)W9BP7N;Aj=|0dXRz*fm7y%wICO;ld&i$&kgx z+*1%ay24nWwRCF1J(ubQzwPuZg!$gHc} zZ0_vuedEsiKe>J7z1vsb-`Tut>vnauCIy8sI5eE#xh&Axx2(4+*{(u`v0l=3 z;XJji=WR2y&CJZErkQtX{@wXDEtoblnX7X*EC%Chv|bI5RihVIH$Js?e0jJ$t|m{f z9(#PUx>QxUp)5F5DFSJdiS<`w@KC~vr7yZj^!k8#h4D{ESjyGS>u4acN5Am<1DyrhK0`^CjY zcoTxZ{UZ!@5>p<@LKz=uj0T97O}M@cgVmKavcBALmJy!qE8){4t|Uj}t*F*Q)0gJJ zYP#f6%{o=V6$5hdlX;ezs$5x_lvT01yz;nS=htU_p}oO5Eb7ji+?X!8F@tel zWV3_)>E7<`+qb^;jn{78xc0s8edizl##es(w|}d0M&-=qNOuy*c@w;t?K+pS^TqZV zX$we9;2$hKi<2VhL=?*pe1(bd9p#PV@Faa30Gm-kkZTep$;Q<;3Qk}+faKyD3JS@` zmN&U0Vgn5qRpQZwe4NO@D#fX7{R2)3m`{tMm`o<~dA+^8GaioygF)M>b@}Kv{=d8Y zfsc^_pk@Sz>h?$7K$#bLVY_NFeW3t)K!v|8)P4P_fw(RGs>Q62_Osl*pl`E6BPOcU z>9RWS-9|DA0;(_(b%#DC6W$!k84st36uC#BcozdBhFmrPHFN`xTzv1{87=BLy=pQy z_OPC9PY>SMy!o|jZ-4jZd)Mw=-!-jSSud8Bi_s)^RoD6ZEZ-Q8zzWrN$CD2nptW{5GgQLI6B`L4=R>H+X|({;K=P zz(&zAw-~i8TGdUcJY5rRDb`kkp2!;)37lYFMduTWo0gyqP+jzbLSY8rxsXJuNGKrmXjB3AIZDBy)wcn# zJK`~4eV*4_*VUsF3bM||kE`E$O~O~`^yT~gNnYN%j>mp=pDrWP0d`-stE=KS7z~Dk z!TQ>oQDqC-!}o&o1^4#%_YV$SI8AG+;bdTK;f^23 zDL%s)pz{96MV>Q3ae$i>tgPunf<7=thaix>wrqmPBvp!~C7>0*e=Y;G;k_gBZ;1a%yYrbfH~YUzTH^;)V#2~z$D{=Q(r z6j`etFddTP(TeNA?F$;0&{qJCcod4&<0fKw9Oys#706FIo-%Knt?B-I5AS~M{R`i} zd-d|}=H2>mzPetyvJ9iFs2udyN^Q`n4Zi^pJJQly8Rc5by+?a5P8tP1vh_pcY6bO9 zB!sZW2V!(Fc0O;~#?&)g&&+IQ<}*)dt#jLz)o`g=I=*z`)L`lScyeYm zIW<^XE{9d&4!FtkvdW7=UW|%zsjN{~lB;lmjrWnEBb?m1NxQVP5 zryXmNjJLrE0_BASiw@_*tsSDYIATwY4~@?e+@O#Rv)HsTRTj8*WNz719q7m2&{m_@Ytc*wqIJ3VJKqMuz*Sey#;Ls zfri$~CGr|Q=>h#kkS{>q7uQ7h? z)gABKYdc~bfU(pT-E`LEUZJqIPh@o^K}}<^XH-t1>wpXF>HjFRA{*pSoque7dHI>g z9{|Mk`#Bst&N-hHsS^^-T>yztgrw?4S`@WK6hc3|3heYl(DSr?4qj^HXB0;`}Z zJFM-3F$`(HnN5)!V6m}2##n4UN&=Rws^yusDazo#LCSsH*%UqI^qF~I%etzD#aix8 z%dF?Np6~8%fBoxUyLI!%%fIl-XMf?<=bwH0nWvwy&V|yNE>l|g0s3R`tceGv`yxmT zPcqPIE+xPz_^jLYVZ|T`IoxFnKVn+Lz9j-8l!J!!GypnG4~V?2Zc4uo_+J}dP4-V; zA*Zk5?Pc{70_SxW(YDRns&dC)XL(lFb)Og`aeNZc|9w^p`nV_n@tB<%wsBI+ojTqp zraD+=(XdPjx>3MtlKcoDM20#`>ucC*5j7-%l9Fp;TPSG~kQcwsauW*ZiH zaECs+!k5Gm0PQHzSg4*OWI`tif^3zJWVoJ;S^~PHOpUyoLsuJdM|*YiQs44Zb4=VeypWmOdAXlZqAY4z;V#^cKy&#Y`bxxD`P(#l#j928}d zWqB8KiXlA8!|t^RpZiN>2SNulS|3WyTl|rx3oUhsH3fvH)GNF(oj0TCNcALA>!N<> zZg4=fGzMW&2`fjgQrP`>Ax;*l*_LoSMfQq|T}39@tj65LoiWGHSYeowBY;?h3dxt8 zyMQsMy~nF>Zw=d>Z*xKwFXS8V(IMw#`@hGH(Uvpy58U4 z-`n3m*mvp0MY&|!w#b~P!DVRTjJQJvdXr2qyil~tGZv6%gIqH_ezK)W6jLYpm(IhH zoL2)1R{UJjTwm7Q9hF>FRns=}x}NRt&ZdVKF241~U%zqv_T8<$!~MNoFlJ+8eRXxE zOSEXk@-7TA<>gU)U#zYuxr|tY6mQJZ!YZkXA~3E`)1OUKyCSZmnTZ4yMz$|U;H|Y` zl_NvaASId>@CGrBR^2TBh|s!fPx$xyh=MMZpeS8JaO3iUXH``dMbTURsV>k*3Gey4 zQwcsU3PAj6TRX4kd7hVL?xHigGqQp0B*|DUgKScN5(nl)ALt|JWJ$r0S*zt%tosOp zrqT}r2}Y=iP;?}mRqCUXIr9CY95+L3VrJnPG2uHri1M`^oCRfjHvPuUE8oBM{^fgD zE^ptxTF>m-dQpw?atQe#cOmn#gr#)sh5Z+kN7*_;0P$4#EhY-Z;2m7A28=K(p|=AK z0F>&3HHNx?Qx~)9{J^&93@x)}KDDz$J3Vm5{(5RmoX+?z4F0py)gV8>99FK9p2 zW@T9vRbJ+O&%5-@nj_|cIf1}i?59Q>J8L?``68(e0UJg28t|+#?^%)jr2C?+8|ysM z&hD8F#!JOuFx}lf*xkPT-g|qyyBFVh{jZ*W`uBe4pMK@nznpbP&U;;|O9~(o1j=O) zgysb&+n#+#d$#FMJPYYnvT1Y^(eW-(h7%E(SoB4kNoz`6jHO8-c=)%(;P-)_vTuJ0b~TzYi>wGZC; z#*KHcZQXb<-#2T=vhhk@F6CL-)%SFa9`u-K_ly0nEOFJNb#V z<4-QHEf<5aQ{EvLtJT|!TK@-{uNcu<5kP@;@xoO;5;pNPAbTc&r1+Nn2ue_>TCH)y zI;>%0FMrijLCO8pyMwDyM5QWO9T~uxUt2ClgIh@=LfVFL^}afPS zR!*jC3{U%&+_jJ11Q*foYDJVqK3JKott>zP>@&72k2!DZdk^lPIrqe|<0n@plUp}F zXzJO);oPfj zW~2sKl&ugM*67s)tp&xXL)fjx|2=u&P&uSjQDd|_1(9*od*nM6Y*02Md9c`jsu_zO z3H|1f6Cqy=*$LmjIHq1G6o9d^LaKmK9u*O$gb%wcjkb14DgB9VZ9A{)eC~|eG8rI1 z|6UW;*#aLi3HWEI2=sAO0Gg(m&1R5+3!ehhoh{P(Y>C9MycJEcz)+SE53~`vMxPW? zl3X44Spn(2zNP{OfM-iwE zLw?ziC9J|!A&?GjS7IIuc0rH)dyBs_rnK{UJDZv5ftl{w+Ub+79$l879;j;S1)D+59)Hg#{zQgYwyiLt`W|(La z(IKiuFk9AB56k;)y2 zVubSS5&=4i0aA!Ni|F27Eec<%u_oq5F1uvm$n32#8ciDrnuFjkk>q?-h*i96v6Yq# zEOZwHwW%zopaMw~;m|trW${g+Dx+jhukrV9LOY4#8+50oH4aQjT{SkFasHPFe9$8U zJWSVR3gkuR(3KlYk!KsLtFONN>8GDK_Zz?Zi+g*!P2F6-aq}myUwHG)H{ZJW#_ry3 zThHr*Y?|lB{Z~}O@nAS|4P{x=%w51Spe3C)l9asG_?kZ|+ssDQt$dvc<`XjiLN(XZ zc8j~g5b<^eBpdft19@4E*N)fIX)~M7>-mGbxBuV&=MUexc=5M?=XZYf*S>t>*!s%y zq|b3{=@>Sgaw`Is;)EO~5KxvX22CCz3+qt7$uio5@(Di6LnQ9B5Xz>QlBf-&-Z0kB z5Gg{Y7@6QM0i`M_((wsVrZmW`QUog)s}F$U>PkjziEu;|P|aVswQwb0TQjJJMNv(s z)5F(ejb( zj_(X2ll3!l-G#v)R1;QSiytSBV6niUgh&3QHl?%3 z5M&E%?n9gyj!=2UZD7$w$%m%)K6$roYwPlRr=0>YFYEcZZ6{^9S`NqMXjF~PuN-?~ z?c~eH&-}uPGt1S|q#Wm2uLt?J*uHcGv}l2{7%l3qab5vPaxge4RxUG7w?)UPj%yUG zCRkT&MI`5GjVWMzBrgLmrqq^f)Vh3)7U}v%1U)E?+%*+ zgRUo8gG$|8^a(87X)YoGXreWR+QZ8sNM|RXd{^MQwm}PO1H{^nA{>?V3qeChz;W4H zG%V2r;Ntv3tCuZ^zyj4zmiiQ_f`gaiq=XRpZso2@#OFto;K7a}TwP@FL&bp3!Z=z7 z5Kk~!dn7>y0NQLeT;Z?}jLfu_fnqVl&L;XhlqU&vW({)%b`hgB#_G1?T^~wXadu$O z>BHXjw*}QG#rRU%j-;XfGS8#^c=ix?bU17 zj~zd=zP`S)JbJkKVD75xY;SIE9?oX->7lWa1A$7#6h)rw z3KKxf+hja`5!i zPd#@2-1^$;cr@w`Yva?C43VX92yhynw#6+xWd$_@NmB|TOZF4$0Mb^cs3@Qc@nuiT zcp95*JE;?xP+6dL0ez*HNP$EM&(anfNl8j!j7V}Llc4``|`D>uE&#nG|mU3JRg9`YL|@I_FKrE3T8V#LI?YiqzwQh zV`9OFfaZ(6oO*fV^vU65r5aDl;iMd{4MuCjQ2|Bg{OH|GzLT~;vddBeg5jbK;(TVJ2_+p! zq%vVCW~KskgYWdriDOHYVyalKM4O8AKyHQLw3{P=kX$<>2177cTS!>KDVS%Nt5WW+ zpoky|+{l>oU@8Cz;L&p6$Z?KAOa`HU;>tlpXaCdNeKou0TP*1)_?J#L6SsmIH22)f zB0q-bfN~Gyv>i{IsWM#a7!DT$n>}?EDp?qf`JEOad zo|A;_T{zSdDjW-Ay{4en$B$J+t^_)OkO)b{AIe<$th$|Yp{OkjVJ3o_6{|@~l!mcF z@r|b?K*$z>k~Q3tM5lz##HN=$AVC!EdG#Lgi`aCazm!ZyCZt(5YNe)E?KichUEn6> z_4_BfvYwss-}K@1raSG|c9n3PWvV-kEbC+AU5SQMr%wLzFMa-n=b!oQ-}=h-?#|BM z-Vc8CqrZ6VuWnwy{^0K2+1_?@xDQzlSw0v|2E%cYIn>deb=G?L1(ZHWQNQxoop?Vv zLwq0hB1w_TTN7}T11EM(=@9Pzw&(xWbj5zaw0W6j<)j*q4|lf@r-$G8tG~Sd!3UrI z%*!wT!smYZ7r*%2C!Wcj5@Xy6^}QbedS*hpFmKv6T0qGxNvmafF1V&O%DtgKR$o)g zF83N%MdI^Vdwp7`>_nlL)N~fSUg=pTq|zY7SZ7H1@kAyweng9JJ!DzNLlD04np_vi z(Psl^MLrr1ssK0)6!J0se;GfR9%QP_Man)q-=%5CX|H6Ox=S ziYp7^cvS75NJ4_VD-`v7myItbpaJ6?zRng9)%kb@)t-xo8{T9ijt!ER%5S`S-of~e z>~HSv+}Ydu{*6oDyLtHscP?Mpx}7a=WJ~M$XeloT&|>{1=FbW+wwc?ewsq~!l%LN{U61Q#k`?RYl}R-m4koA9Pds(v z?5B^NdF9yY6N9BmImjKG_qj|hhMF4VLwr2rv4}aXcNsG9(fCR4e|8qq(#RdEsul+% zBZq2&>ISj(Bc=vFVM+@ys9%QWOTlKrnnl<<@fQA8;;^F~Y|^>lC5u#asqsVxZ>k6K z&|1L`5=FSezagM2-a~2tY@uV+nrd63>{#?AqM~@6F;rT02a>Pj*bpI`0Q9F>}?eRxuH~~ih;C7~^?#uIGed^ANvOLdnU&-G|7^iNueg_CD1W_4C zOi4;95^JDR$&~d@U~P;&@?zEYkt@zP)!RTb7e1c1bv=5ELVL2`^p=Xhr zR6L7&o?=csyFk25EvG_g>gl8U-S=5napP?OVnMsa4wu;7n8F?Rkk4oJeAf1v07u06 z{8T0XgX*Fm`Z#_2b5;NnUXcD2i@xx`D+a&@8UZK?fm*q`{yzUF5L5^8qR6Ex@G^A@ z(W>kz^)PsiB=n$IwnjJnRFW}*sdu zrJNDN22TRdkm5MPT11c;BzH{2r-f|NVpo_;wicOFB&3wmBDy09THp~-hIss*YS4(_ zFdn-|ayd$1$Pv*aEg^*PCSvRCQIZW=!-`p4){vyQ9DH9cgLZb9rNX~jD>eiH15x4y z0#kx7bnXYG-6#Dp<6KXDnvJ2o$0Q^IbY)-UoCn$gb4=l4vbZ5Z32(Vf+`M|XIL+D; zzdZuB>ZK2vq~%{ji%me{mceL(--aZ{@mI)RVtyYtJk(R z@4xr<#UFh3v;XtI{-3_^#V=%e>5`>g&l}s#1DW3F{3PsLCSH%+HKraR2iVI?B#-&s zM<9J6MH090T=lXvkdo8@gpV;5O8yx2Uve<3qKqS#q2DO+x1tG!@px%`Z-Ca{a^+%U zn%a3~s>)Ranl;n5Y3-nj8|T3(%W*1T$af|MC4ZXF$HfESqxR@jsowS<)Ed(OD7E;( zjYt3jVkQtms$i^qTXK%MD<+5|&_X3>Tvp-#u*#5<(a1|GlsNc^Js^FK#O*t#nbp?T zO?`d){?)B}uU&iVwGZCjI()d(%<`p`a(yj+uylNB{oMNL7mlBK_0;(% zSJv06QPrKy)mQH^oizm+qIF4M1oKFmSY7g1NJwIkl+l5%%$Pq(lU#b22EL}y5a5Z0 zO1iP>I{}rM>QExZ@eraf0nU+-(U?V>LB~j{uf&QadWGeLY$)y)w}a2=mkO{P2Mooi za)CTjxPIYaR1-4)AVAsdDpg0*jr%v=KUTeoTme*EK9zTBO zS=1YzLI_&CXfNnkeIrJ7j#PDuGI5I4I8LD>p*cwD%p)m+|i!W_inA~(#n@rs_W2lSbiL0rht5D)ziFx&{2*n|nO|IubtBRhC2?VyNDvi!FJfR<1SXpFLQ zj6Wa`!|!ACFQskJsdO*7D7+AUGOB~L5gYWd|2DCQ!^z}AxM_UN@0Nf;3SkZW6Ryex z2TFxvSehg>RQa}`I}F8wPq)#%NQ^tG2X8RUKvXm4u0)1ohIOe4>sn~L0c5f^2)pZ) z_~%dJKnHbXku^%W^wW*-jv67_1H-hSNQ(K1)OExF1VdRA|EPzecf1&ed?%4(P+(Nl zrjP^gf6_j;@thNEN{Cf?qvcxMI2SZcDXw9OSfk6TY1)PTPv)SBSi1f+N86_ai0V$> zzU5=X`rX#C{CVAU-OT#n(atB3J@e#~$2T^9>GNNB^l1Ca`|n?R@6unq_LtxP!T0C0 z+5BLqneAmoSyW?p>g8~du}Jvb~>Ncbv+!7 z3Wv(Vl;6JB}4J~j#fnVB<>TZMTk;;P7y`xS^dUgX9V5P?)tC7Hsh)67d8E89HTEPl>#N8B>T8ut+Hc6P<~!Gdqzi2wlnjJx*Jw zo7U7bQ_tJ^%+99y>~I9xiOKqj!Ekl?*y+`iFQ0tuQ^(FevvT~zXbJ1kp_s#L5`$5Z zevcufCKTj(2pdXz<|s{jEb44XoWiyyPfLlZ%Gw0QB|agEf#2^kWnKkc?js1O@2ytGwc;=(ZZ(bOHp(Vp}lBS>Ps9dUFUgk66jsADJ%l%gXN)c$ z8G=uDE+}6ROnwLy#nQ(s9fW}CtqXcaLKd2SqYP=YQsNt~KT5DU$i(7gQ5&|$uaIzz z@Ksn9DNrf!3oB}%LOf;hi#&mfm9x_86k)4$FSwXuuQJgFPKxO;JuDV#vGC-q3Q*Gu zvSEqj7|DjVH}uZ*GQa|s5(f**lgVUha{jEFfOBWhoI882tg2(jHgn2`$%@FSjp|OXdCFXEz2HwIvyc+Nu+r( z7($lKtv#IXzx&>${ey$a%F5y4^i!XD>9NPot*x$Q$ZOY08CCqAnCz<4NC#%{2h$jHZ`;Wdks0H+~PyqVKkGw2=3>*SA z2sui~MIicunF$z?>@L1mAcmiXU~ifPf#Dx*2%(Ht6$NEQ0!;KgBsRqXHMb*=p%{_H z+I+IB_+{&3&;TRVyU-s4n+JREJh=1cA6)p;D?hniPutNjUs}m0D=ic*0^gr=1vcZ1 ze3}_yGv*1j0vrM+D+q@Q&kSdHK?vSR_)&$rj?ubA1!G_~pH1geyZ6ZMZkc8ZZGB>L z?A)=lzjE%`S5H5FX0&`_w7gP{mdfF%D7$h+J$H5$i1Xex%*6(bm72eJt%yWq8$wu& zjJ)s=Tq5sKQp87u98iU!Nd>W{vJrhrCv8bO3dJqa1}EjI3fqdB@P3q8Yeo_PGX|H*IO zxqt8Sl`DVr|NZfIzx%zto$bTDt=T~ad6}1^ayS|;fVf0XMR0l)3bD8G6E)}5dj^xSmd@ypVKv_)pb{^b+@L&JvkFH+5 z_T{hqqc48(3on2AlN;-6{X}&IXKb{;6e$Z`OQLqMEhBPkk(p>#72Vqp3_uE?;3jE^ z^KWc%*#)SOA9kBd6#-*MZ9p|4$d5j9_mPB&>6o~IY?|kfyvfY7Gtb-F#v!dX&ofu( z(k&mlS^JG-eHGWA&9qMt>!UyW^Hc!(UN&u0*EJX@3U{bScM?a7R#Ijb5j#S@8~F!? z77)$?i3L#4>BOU;F$mT>ECV47Jc+0_d83I)QQeuMOG#GzoIoBvrPF%ViR}znE}_R) z7U0qJ;NJf38+SkW!OctGxp(!AolQF&=1a>kT7qf>jWrD(utb>5itrK;_&~(Ys?e5r z2-wwD@ExD$jXs}NY@D9wW!(xjrnU9V&Sv#&+DxaDW%jUbdT8#kDB2_I@Qz~9+>cvcsVLhVGpFXqE9fw$tsWS1&MQwK=vxQ zF2r5B!#q-z<|ytEz=tSQ>}8jW5|~f9sE$;;?I7jJy?5Um$;|sBWX%vFZ(SoIFBuBGEm6aZhTzIv${5`@b zrk(>sWt%M(qm%aMkgJK+vWjV?qRWI72seltg#6yqnT!t#87Q)iCRhw(_+y4P4*b`PPj~-~Qmjx39f%AF_IB zr5I20rHL`n%xXhSsmD}^7(K4;eq;uJ8aW{BX+QKVm@W+FA`b0qZMuGCKCFf1S!efm zN3+znp0)GlaI4+kw9`4vniDH0o;rT^%jZAwrL)hh4wqJk$;|Y)C@Ki=Q*EhLl-!TlAg#oyvDO2CYxT4fPpqHu;dov-hgO`R9kssr4;snl?&O{YPcGf zHId36e!S*DMWJ|hdz*D@skdGzCpZ>s+ltiWipUYl{7m10m}?SuwION=HwIs{qK`fa zNGi%0WT>Vw9YuwM7F3Vl^o_Osndi)^^sTC64CH|JvJv`CpYuXCayf}&;2Pd2(4h&N zovdiiL~ajMg3aLCso9Qphx|jEOd*^_**VpuUa_!!ZR%ud=*>)C2neZ)5>c?6o@x~o zL_Wd-4!Nbmr($R*UgELq;Q`4YuG;8c)OKZfUASvgdzW+R5@(Cm<>k>+Po3B}_M5-) zmBYjRx8HsD-~EUG``h3C?#|ZcZ2zF0??YBJkQIZa(PYJ)qtl%m&>cs>U7~<)OQN*P z-}Sf~x0kofB=)*bnZqjReR7Up(TtHmXV&j*XjxH=mRIY+u-$&}@Zp2+efyiYZ{523 z!Hr-0wO{?G|KuN^8jXr7Yid_GulIeJ?kwfL%r~8a8zU583YA@xRAB{JKvggBH1L<| zEy2o>;t|uh4yOZrufa27^&wBOy2(Qdu%!yzH3l^GSheSAa#--uQOkUgT2yF;w_?xB zoEN|)yXLm7cXxM~Wf=OZQ$(C1@u60q}wcu#a6SJ$2KvT)GY185N;4sR@}q_7@OXOacvhxrvU`il2C3WP#q8gk~5GM_77T;1_QJb1sqn9 z9Z;b$hb->x?_A!#|HE5XzV*S|7q@PIV4G&pMgCL+fV|@dEs%(_hI3!Vya}#rBLSfL zr_euQ8VN`BD>N!YO@msM ze2)wQ3g*EstfAxqIeK6C^l|OlsSqzqhChzHvmzV^)ZqS+#5$TB%gVWGFz6bSp zE9wAYCMpMb;Cn;#PW?|J>?En{fXY+=n_w6g1*hWB_9)5_iPKSN5{~(ZsCjH#?00o@ zPv9K6V~MOm&q%`rzTC)2B~uZ{ELs>(-U4*ESz+)zf)x_GhkUXyu?>-r+gxPn7BE%=sRG z*z!cQ^4z_U98IwO)#f4^5CX<>rBN3MR8^zp`QiT7_HJ|K%G?DzHMXr^{_JO7eEzxN zV3_C5SSA^p=W-CfOwA(g20Ln4SdOo%`FB zM9um?DP32=S_s5C6^W5ECH4d`G>O*ND$3LpCSIV+=ovy!h(=UY2=&o_8_?N8B~F-? zZTJPtH_`2GjBOv_(qh!Jha8s9{&V&;j5fTw{ooJZ{oxO8zVptVD?8<|T{~3_$5l0Q z?5b{91_(G$vxf^1dHA@Sc%Bi2>ayfvtruD*2V9!gxd0p`=DnigD*QCFS$nY69BjgL z3iI~Z>WQb1o&U<&XMgkDCsxMGOT(q5vRW#u?)b;Hv--DyJD=?B5b_IwFRX!3r>Ei! zv}cY6|1nRNiUl!70X-;ORdWshs|A|pBprU($Ew$nu&10Nq*@>N0GcV16D`rI>TG`_ z*7g?FO+rpZb7R zA)6Fz2{3g>nC25($3tql!g6gXc+CS5evw)+#ehT_eIT;YDx~&bcq6-y!=Z`dY!d5Q zTz#Azg(NjB4S3{Y{1Hr%#nCGeY@z3?f)qz? zy}@4MThI+yh+Fl;378^Q#*tvrD0KKySf31B^`OqR>ObpH*4=!C-WPqGb#(IFN$KO5E~ObRU?QY(c=A zh@A#2>T4D&B}(8FF*oVw!>yyg3_rpHi2_zs!u89FQ(?szHG}t!^{dskjmw$KARmvG z`dTfmwXP&+1n!UU1*_YB8mqtj{G2@i?vU$l9~$sk^;Sni@XQ4QiAYNdCVB=SKm~?~ zL?MGk)5fo$%ruE>f^f$LOkFl0x~PoN!k(|1io_7>3Rb33;W@Qxs=6q8Xf52@dvx)^ z&2Qa&_d7S=y|S~pRhI2&DH|>4Md|Kw02;>yy@OoKHI1UAjYqDIfANAs6wLRmHi~0z zmh)mZQ#+g4>7hM59GZH$nw(ia_4si0@wJmrte<)L#JLxapDoKOFN%&)_k?1l((kov zRd9oGis&{E2^lW$TnW_lTBa@&HTDfbI5{b)nv&ST4aA-n?R(*U&~2)h#RtnO7bPsz}9mkQi3$C+oc0 z6#wOha6&C+c*y24jVYWh8i|hiqd%~SoO&+`er>x@y^?lgPRrMxcmao^G4<3e0Y31m z%EA||;9fqjOP7%2BqygAW%--;ZrWV_ZRp9UOwcvXl90{i|aA!{pX%JNGgkxDMB z2;k)e01w5mXoEYWJ$HBkvpuEcgRnJ0rQWP8iCetE1~v;ET3mA`LEYiks;bjMG$P4F zN=UgC^=~1v59Y=OZK~TXpGGeh8&d~tz^r>v9hItQnc?I009rbz$7KmL(3&F8P98sg z{Mg2HHqFawZ-4fQXFsud|K64Nue|m4JNpOI`E<|PS=&^3QDu4AXVv$S-qa3ayU2qKv&$gt(zvxOi{Xo^25W!EXzitVRuA;4NUc9 z&i|Vi{p4ZcD}JsDfU&i!P;1M=ogUl6Q5RHabXi*IaS{9_!VX3*vnJpGM@Ir95En`! zSb9cNSlAE6A^TV^4&amH1~ijMSi~4W-x>^0&kBlGj6>} z?zEM*shj3t&+crRgZ*qaTV39G=G0?fI``~9dhEF~qt&%?G%nro1nzKxE-|wRK0L)po^Yh+&wv16a=}z{3bi-Qs51O!85kNfZOX`>Zhu9l!$<5Ut|72@MIy3=+AAIX=B3BlAA) z%y6Rw+k!b7V))oNy?FgW_R8o*kkhK5janU*r=Sb)XoCWS3AIAW9hB@aFOaY#=nWip z90CflnB4)1mU%+~1V?uD!T!FjIPlcBLY0d33V5!a7#1i}2tTn&BM>)HFA^^a7JxdI zK!v~j7B&_;Ae2J?36VuD<>Oj){8L4(2g*=L_S zbL#A)M_Zel55D&GKi~R4{{7V}SEh$MvqOM9A1|*?RyR5cl+|+=Ztss?@123ZiajOZ za>u0(ATpwLXzfuZA)-<+jjfw$S8U#$7Cd()G!FLncE9(XZ@+uttv~o5{>7QI=gwBA zib0t{*43uZx_~9NU*I{#v>7cX90gSZ5(`XyQTnljQwe5j_0x*|ilw3!BH{^O6xB{+ zVHXMYqy9{bZ9!^4D+nQaV`e0Xp94f($Z|8!tQ}NU-L$*AyM0|CIv4Dxt^WBle||m+ zfR6~bJ$!Sizs8d8N5D}CRk1$|^IqkL?Y9zPQ)b!zrZk{Zhc*c64A~GC*N|e}$hR0a zh-sE9!Yt`GQM<=q0%J^Up26ot< z;V2s~=hYHqrB5FK6kwKg?!aFqsh+HC7CRcwCxT+K^oz_{D>h&TeOyZ0H1_bIogFr_ zy`rv%rZ~5D`uXLJC)Z9szH$1+<7Z!3KeJK}hVEE%%(cOcRZKjR@0Kz^6#x-Z4e%mX z-S$Kys`AN=9>~L3kgMk7WfNbCIA**7=~{(FTB#P23o#L)NtW1jA0VJZAS9^S6zBiS z1r0E;q+qe05V2ark|Sw>6z$01nBeuX#|47*0LFv(wb=Aj*b|uaxTVPHrzI6%)~;_F zBm{gQZp$yeZxYv;)E6|f+3-OT*9)RcY6K~X0Mb(-w7xh?0m4Csqt*@rEiN8)Lgn+r~m$75Q*uePv~G?AXTPbT*$g zmoHzsd++v@E7vYxet&+jzYksQjSTXvEXuO8R#~ip$8Q7_-TUJq?uFc6qQRrOIoP1|O^eq;LMBLx?JAKXa;S@^)u%>&T)ugLQ*n!P2z31~tH z9c2ACdOXq#7y@+t2WX&u#5DQ_Wl%V9{Vk3gF!45_Cv;^Z;N1;^SPix5rv)F04LTOn z$wcG6pUA>G8!yyNd+Fibe{tMGT4y(1}SvAhG%6m4sAg`~pAdG1Xgj*5> zW3O=-3KOCP7uGu$@b5~eHKu9mdAepZM%^YbRE!;V5?z zKV3pY$3=a@Ffc0;>WVjR8e_OZQ4B1g&oUuaXASYuV6J7}r|5rB$WkwO3R95MNwOKk zJ3Ysh6(EQRy(=b_U^XR#jV6gt6#~P$ zh*WcR_&QicU;V&xT2`1U;Bk)RnO) zsX!4W#Lmuz=WiuvzzCxiB({|3m%qpNI~X5LyU(+L?hIAhzyjw4%@RONTg4^$X^d)n ze<%(?;iS|9(O8(W@Id%j4UoSwq7P^vWEUkW&csb(v|1k*v3Y>!Ut9ekXANt%A;6fT z0L9=#Nf^M<<*y7eDUhFYj3^#_8~IhA z+!V#~%Eo9sna}IFZP4J!UC9LCB#wt=ysb5%;X)+P;BzX*Md|=uVuOR0?!8%_73C<) z#?!ssdcOJNAOGmxci;Y3_y6_dPd$0MI60^)rzM!C&jkQnc(&z`WjsFO+CU3{Y7erGdKrf3jm5h zb-$2=OCrtN!rkV~TIT>XclI9r=+>3jZoGTp{*8z8sTnU9qou4IL00sG=PJ?&Q#b|? z;sM9+?ahLie(94~A>3Nhw&FVIQhr?+PgA$`teNhZ>A_%DpBOB^aN@BiR*s)uJ@e9u z^Di7bb81P&qDIt-F(73%+q?(>zIaqP%fhdr$!1JYA6}FlH94W4id>!KF8S`RaIDsuR36k$g ztW_VJBwcVqVl$qgKUH+PN(xo6>G)odx{S5KtlD6HIjvJZDU9_>hOJ0(F|;$KTyX(HygetHM9iE_RI!3PR#!xnqXew zAREN_4b|Hx9{AU?(H~>F6745 z2+H!jXj)VQkWq&?nM!V;1CgzPe4uWExYRnZZ`GT2Ispn$l+}2-p6)-`eDK}xerM(1 zti1g4=RW(H&#tYntgbG%S>vqF=(@Kg|Gcpg420BTiRH9HtKxm9vKm>aa*GQ;l7Gg| zrVrVL^np5bQ?)DQPWg3oIHzdOcFl zsERrGPumlQ5Uvs%$p#4n$Hh~u6!!cU2!7&-K+hnCj#^oxpZL2KJBT45d*vDK2Xm1k zQER!#r=VpKw2ESq6-v-@Xc6U;E+xP|u0t>Zbe1oPKpnKMu~TaCwK-gJ1uNiS2(R=7 zsq7?26q7(o=4mdhXi4P(h-D(`LzRz{eryaX#h+B}JnW^%vk5f7VUY_K&I%@}W@Ax| zecZy){4n~&J63X97HfE4cxUh~8+;!T>*7!}bv-={wY(oPN)^B;0JiSFY?fgol|MsS~iR#H4HGyO3*!tG*%wM`5v*o!8evKG>Q)*m3zX3j=i*R?UZ%d{(?D3@1O zR+d+udi=@X`mNvkt8aemPyY1l-~IMCZ{NIexVt^w-z|p|cS3zWE{n?6b=x#V(F8EW zc%8kgtH#lFrS&r}59A4^TPy&>AZuD|yp#Ejg{IB2Vz|6E%d@7Q{pg23ym;Zl@BRK) z^J4ho3!gZ)zR@@@fU8Z31xy#@X-PtWaE-X^1i~{34uauQYs3%}W*NEepd0wG4V=mO zLX(HsfP&Pbok#9x&0*+BC#%vp#A7x-4mriCCCF_3QEqwNG<$moRaK6LL-0{&N5leI zJwDCtekvuy!!Oo*_Vz#_R6Uz&o6IG%0cOl#kMV;1C5j*mO!$=5VD|hrFnO_WEL!g z6-ZN22sFJ)im^6U3Ui!FYF?tDe&X1)0ElvB_W}W|ftB&@8s?>eMFjLUF(9JjAfGXe z5Q^Ol@+6V87NX}=Qlu391W|mF4fZ1eHY5BX{b2M$2@v?Ih@1}8ScaEmdiD#6ijAy@ zAN2=2j5Dw8_mdOHzp@k)9w%{(VbVbzv6}@VkS^PBu~Y4ee$o*&Mk|a#^Z!3_ zZ~AP>aovgK$*Q{RTl@9$dS9?N0Ae92ii>7QNh4~sQJx4pEXfZ0i$2=nKV&{TEZNqC zLosqVCSpWOLu%y$ZU9Jd!H#YKjb6~(d;R(?_r1GTWjeAl^W-_1bsHQ9!MPIA@7ArV z%shGWoL`G z_J+Kg?qGu?VvZX~yP!i!h9D$yM;UGAC`tsfx1zYta~hHXqc(V-0k2rNfMP=v)-nM$ z9)9Vn%A~0o+U~SF-R={QKPCh`eE!U5Kl7>AUVr2DH{LX90;7Shrn6}qvX+#E-w-L~ z3lsVNV(34(XlM_nsVyC4okz`DxW(&IBDJ?~gtFGb_$cyrr@MG)IvMT`4qkojwJa|- zKL6RWoE%L`H*{pzY7MPu35)>o^npKIUYjO`i;PYSd9Dq74M&wyx{Zq#JZ?ab<1Vknxu;>3p zt722eDv==2bTMc~pg%MSu7(fimKZQU*tu`pCT#8_)C5W$9wx5Y^9|{6o`qfM9#9IV zs=U5;??1ft(l@VP8WmFa7rHA)WV>sk?Ul~3>V!}0$5yn9EhQMl!8KOZJEAV_45gS~ zNp_OVNf#o^)U2vz)7j2eHQ3fw)$cAod;HNao_^wUCoY^@K3wEE)bYBt3lh;kqdRSa zAhPC}O4kCBK)@~ug2gyM!AJdBW@O{Q;I!63b|CB8e`3EfM+|YccudEpj~{p9h-ATz zAqh6#C`HJCj)!$&PV;eJxbBA#b_C&f@YPG~vZ)%z<0pgk!dJ|2#R7=yCN9$!hT~P1 zVuU0_X7@HxJsLT1rqJXl(Xh>>7}nRjiKMe=2J(TiDFf2*U+|rc*FaOx`A=Hd%HEF0 zS>+!F?WjSQmj7n`t!-6t5)49-hK@kAqhfmls~VeuW3+`r7LH_KI3tQn3SjMU^qKUtgIp4cz_?8T zkV&v|UDxrfReh|h%yO9*=gyuvd;0YBi@!FVPXFTH{a+jRwm0tF+TYurjt{cD)mu2! z?zL>joilO)Rbnc1UsKQzn!r02NTvxI2YSEV1W5mOJnI+oR;TDJh{5h`R=)lA+wWd_ z=U}+kUF<&l^fO0~92HLemZDO%lLNf9R`~F(Fd-uqUK#_N&x{LJ_b>R~A zrcsQh;l@;!GERef7BO%jVNzgnC0QFf`i=sUS76apghsFDSG2#|pWI;BOes|qvQ;c7 zrDmn!x;)PbtcU-9nE>MF@CN*{Hvky@Uzq%Kp-df6RXe@>vTH2iAA}eQzSo2`AcX0r zaAz*h@V9f@EVm~RN$OxTSEgKs)I29BW03dbK0b_)-NSkBo|TX z6I&$k6lZWyjp6FgKV>L+^;dtS zRd(iRr>dGsQ-5D}vUaD_`s`;vBeU#M{kd}Gy<0bLPR0YJN}0E0QP`t{O@$z(@yIg> zxHs?&AWuTnNlGL#>@fFr-|Qv3c2ynauSHfAy~UN;_+T_uR=&UGOWmyjP_gh7=xVTt*0~ES~ zqCLPzq(l7NpI`n4z-*hVN}1Fc2~}mn>P+b@6Z|iUyOIRch7T})56nnWiJw}oThez$ zIFKGeNnOqEKXLFp$yq1-j}phnoYSz`&?*FbZ7^>6)}5qs%Gi$%MSW1gb=hm-Nawixf`<#b{B_@hV8{>fvX{>_t*WO>VEzF0}Dl+YSt3V2Z)o_U=2RBnD$5jZE^0%zk@O)bJadxmRk+_Ts*+LNMjbV1HW1mtBwd2}ip zaichx6Cm^R$X8s{K{zu+I`35&&#xIph=;kMScyPFkzgqI0^WGUUW{)UgSe%|=bQLp znK~sbrcs*2jZ*I{>kR)ZerX^Rk7o-H@$E6QC^|ii{5wbGYyK$st0JADn2rhh(hge$ z7WNgY5>JialW1xrAkU?raGV1o24--GhxtHW^XuA=+FP}P4hYE-O|NLA&jUW}G{#0L z65mdniV`Jo9Z(IQe&*0IqKgbls(BhnK%k&-R%su};;d*cSrPXTx;`_&9IB;co${M~ z<}<(Y{3k#8(#x;>;H8)U{_B7H;f?E)(cW}2EV_#=SSa!$m-(!kX;lhINX#WZ=%AXJ zY!0Lg=$z>WI>(~+!<(q`$~a(EmE}dJy>b9Bolf3)=kj}(FOT*oAd1g_?lZ^N*CEe9 zs&YEk!k|(D7<`%)&0z^*f<~_q!b2RMGH-Dbyrxm2J9DqCY^tMHStEj$A>j;6*C<=h zI*44Z45Bq0ho$p@L^}n3t7Z|gf#LiK2R3ZW9ygKaVp^7agS}q2x3IVfwjSvG*dAK* z=fRf#2UG|8Wo!U2fXN;`o#keU)TbURnbik6IW6zj7T@tAt*H7yYHIw>N};9bzo}p3 z?-<`vxXw&z0rmpv2_h_h8)+eeb^tu&fogvpWHQl#I>1VEh_tCTJge09WcZzH?|k>h zyYCFPb+^~*EN0z4WCaS#Fc$8u$0ZP93*n*($%xt5-8#b*ybzdZk93yOO09CVSC03q z(Xca}J-vGR$wTX>53N6Z==fu+>xDUo*q)#rAP^QY_V!?)XCC3dXx0ts(1clHW2t+J zPMjt=Ku9D;ZO%J7Y|>Js$nZ~8VUdVq){`VsmFP7R`AHB8(~#H}>t(njj%x7ZbEhwG z$8%b3E~X#VkSN{5uq}rX(~$5}LRKg+-tzl_XhfdjXof!zLKFP0iA0XpJg^4?DUcB~ zA6@gK5uwp6k!F3<5*~5Gv?W%5hObcG3rz^`c|0qq{;#B~& zPHSAFBqYxzD@^l0NoHsy2$|qx z`k2X=SVJZ)qE4lw;Q%n6cZN?RxkY6oc^69!WJ_9O1MYW){1=AKS7aUCuj~Owg@kiw zPGuP!TU+_`C!c%q2QR+y=9`tS%F+ICHpz>2tJ5ipmI=Gpu0l|hB<*d=L<-E2c~-cC zD-~;DCn0ua|8mwdtyC$htZ4O?4$Z~~<#crU@?{~!a5NYU_b;43f8zMDEYFOFR<`5` z=Ww9AW?b}yS-rnKux?-mK4UR*W;!OwDHbV-EihU%L1i6lWlfH~A=)XGW3kj1WcyCe z`DHt29c~p4k0$!sUXk`kKcTj!k2d+`MJ88QmhvoDCQc@1@8ASzkOwSJ;3Fe{KK7G< zDcO(o;B8h@}jbe>@E#eN~x=HW`sZbb3=PLBMZiB5NT*pk!%4%bO_ir!%>_5KyQ{C^$ zg{4lvw*7-~E(#$aik`4LN}mZy+X;gP)*ZCLP*sJII_T5#Ctym*GhLbUET#v0lbt)+ zv|5DrXCFHEhmU>wp|zvOmsWh>o3fFRb)GO-s%fkoM3Y;�|^Q_n4SU1MdOf_KUDI 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

          j{;J4X=4$SKzII1aUU7Q&yH`P|te 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 z zJLthz_5^8!8BSj#gm#3ZQBWHPlNxC<{|yusAe6)foFtp(n&J6ubpZ4u>E-G(GUq7S z$;%AFz>JVk&?B;(D+FV0be@x!4PG`M>dPEPfqgq<*iH4PglmQSf(_tWt>f+pF%)31 zJ=O0a2Q*JO^pJ;JeZ)~jdM^;jd#CBTVb)ICAin|CkOc?fRyV!UsR2eDO-PlOY8 zxUkV4M|^g+p%3GGH@C~nMT6{b2zt}WX^$jPSl-cnh{fxzNoViO(G~xH%HH(Jvg5iF z%e>3m>(#z=_1@S)5CBC|qDYYxrO{|+By+yTorDg&8AZoQJ5~5S&}Fn zXgpE9bT#lN*Nq2Mzb&nc3tLQ)=@L9jPi~o=uu%ONitk%BnA^Z?1pNvO%pG<}PtZ7A zGm`;pbZaJs*2NPI->6Iqq;3G5o2+FW_T{a1yVvQguC1=FuCA>Phr?liWu?<@>pa_7 z&srrr^asPi%BrqY+E@QsSy|~1R8g4~RmVp~OyY!qD!}z_f7C_VD-pl~v8@-g8KE4v z%mEO{KO~Y$lpUlSiK+o}o*>GbFy)32pSxEw=2ZtKQivleiDH9kHvqXUtQ&#silXgMxGa{X6rIj+o7^lSyd`RS(@%z zQ20|@b}D5<(2P>s0!o-hU@DdsnaWPFF`a}|3FVoFS!v=cmAPo@CaFfmiGcP3%6!&P zvr1vKP5X7+j($*?&C=29b30~@` zbZp1MnIsW{f%rpDC--d^7YIOI%{|>GJ$H}4KqO}3WHCJqIvD1nc8=J^&(IuoTR30q3IQ zL`u@96Q#rX4m{+L4__nqV>+j|nnXMBh>4IF6^a+tGityHfJ8;6?OH7o@`v8!>eugB z2GqJzBK(!40>JX&s^VCJ(=O>k+D`<81KVwQp$v|eyhuCpJ`GTdCZwXrcA6&ZuJcSD zR?pw1(~+pTkiU3|Z}gzR9jKimDR>VEP-ieK$6F+&5W5Nuvk431!4JRz-TS0tYm}qe zM>`HKy;l*Iruj4VGhQIYxXQXQHhQ^BDb6ifns}&fYTaxrInxLsi&U$!$16K zzRX4^Ba;|f<|R~+Q5EY;t?Q&|)a|x!-MaCsKlvpS;;V;`&ZpCVKR*8I(W6IS zK2jix@wlv1pRa7WDDq4Y&;v6iZx~>-jW1l+#<5Ov<+Rn18|`Lc$|Y>Hd>Zq~(JYFsq%3m&c$%IbET^6d9o7VngLjr35)gVgeeufsoLL05>iBd%gG!RUM1*Fpc z^DH(!9$IOqtI%3W+A@$ZVM+9G94)%lNfJVC{Y@@zgSb7cdV*O=W|Ut7QR)J5bD5prxi6lh}Cj5S}*GGAH6*U*=8Z$)INpONTF(*n3MOZd3DWTb<1 zP&zVPt5%1qa)Y60UlA4zg2j&f#qhwxj`t94ogflPIG@}H8jm!}1b6*!0xg;jmgugY zW?~+%u!D>nfTR_ghIA7AoeaC}81D2O85pFlGg3F5V62=GXF5Fr z)Cj9(;DjseYg|r=ZO}A>17Bm;K8HbC@S8fCZ@p*JFaeZxCkg+k8U|YXMF4uY81A|5 z@g7yyWsk3fQnu}m?FGaV;?BQEt=>QtA{q|*y3T&T+aL5+ zRCS)72{dq3Tr=%-IxB<0milaNtBmILwYBwbS0yn+n*jY5U2%vgW;WQsb^kP|_y>F% zn0W-bIZ8yynCvAbPM;fk5jY48augo0)gehzQ7-EgT)R@TfMf|BQQ~tQFuXh!op3H> zl0=fpFCKhx=kDDHpM5$Vk9)ej(W+j9ACmS?Q7LYM*HoCz8i1p`%h2rDEMk zPHJK^AfK`I zRAR?)MR!zFC5y_UGzPEfk_?z(0fLAiPiu?bxIyG++4L6_wxrY#V>Pz#F)<_$ufeJG zE`WDZ$>96ILvzO6j~5}qknaP-q@E{x(T6IQAnC#-sx1xjT=-8cjkq(EOG~AtR8s_XbgnI5ig~Ss=WIj@Bnb?|awb4PWUo=!*vSZAx0>0@jr7 zM$saJ7ZYqC2pqb(bxz`yjWScCc|Lf|g1TkRlewtMr~S%V;hxsV$i5LhwL#Q+-dcYd z+`oYyM~R?m?MPF%;KYXq+Wv}OP-Ft(Xu`QuGX}>VJe`yA5gFls<>ul9k*wWD<}Jyy z@pQZOu;!?#!=-UusQq&y0P3{shXZRf_4u-+yxd==K=JW8TTQ~zQi$AhUU*NjHkr%U zL55AJ#152H4fE8m8oAioT!0aA$IhfGNph8p=;IaQK8~W@?X6okZw^;h4P0F{z=}=A zFi+yR)ox2EvqV+xIXXVc-v99M@T4g6^V3t+Z!62qqEIz~<_fnX6#lyug$hs@m762e zGo+|>F+Hld)$I;e*REW-dgbc1{k`2wyL&r(TYG!kS1<2h+SxWWcOv7^x5IH>eeQ`w z3$qnfDV3J0QU(n8#1Lt$>W7*%WvI6qp-Z1dxRK1*L>Pvo)lQtxpJ}-08?t7*h7|Y-N?$cL(^Xium9#loPy0^Exx4*i!nx<)0 zmT8jgZf&ow4wcfcN_r}A3>U1(%jtA>KAwyxlTsJ@EVX%1s9!1r>$i~&UDVzjHCs~C z`avKc+QN|(UY|v-lxeJR{Hi<^j}lc+XgcK#Pa#j*tt5>(V`Y&~&PU7nRO*BfP>XnX zZS(S#n?L%!ANZ5r8A#wUYy z_WagOD4xa-76#B4?JKfLW0VdcHp>%eky>3@+vsA z(4z2bpEQ$^heQtvk-WWxoAm{8~Tdx6afHSrROaK5UW24dMq1~ErWzr zG66z%4mx0&CHL>~_J}x|{CRqs2>hqq4~2UcOEZkpdjryRNK0tzdde{EZW4~K&XM5{xBy(%%#a{N;nu@{I;q-2 z=24?RFVfe*$r>sud5>!_TS=P6#dk8K5tpw>6PjI`T79w}%WEP-PIyZ2_XfhJTS+*p zzi`xWgh&-5uC@B?P!5to;sVQtx8Q!!0xzggxP5@IJQ9iI0sXiI(iCLTCM(0??(R;n z-&ZA5lp0@{`Z^}o8K;TKe>Di4*=+IXtFJ3jX4%rXP4zQ`sheY9IUH*2YfQh?iV%w| z6IWh;uF*dF6bfl75$Jh|N~n%rMP8PfDb@*js8FX+yY{trU)305s%ddLSXE7MRgr!5 zzy475$X)Apd#!egu$(B0TJ27&(_33prRj$%46tH)kgcr_R|bQKSSJkW&w@$-ppF~C z!9tBpc{rQs7(ss-4k`E6AmI$-JT5r~d|g4tBCrfn&%}|aM=+2U;@q^JWRoPyC7EqS z)IgMe{bPvR`)*|4=jf7BB&H`Q@K2YyOc7A^6&WEqR@y6ltNz&@5GD-ce!T1bU z`h!8Q)9tW`<@vHKOXJVa%VNG#`@~&aAjp< zV`Fo3`|6b|H*Z|q-q{+eW*3nrRGlZF{#P<#umPwR@{nf`slpgYUb-c9*;eOHaN?c2 z7bS+JGgqjm>En66LFFb{Y#_Ao$=oS-gj1vBWJubKUJ>Ll)Jph~0S0*b;1^Frr_=R< z_U_@KuIWFJH+n2Fo*`8zVzN%^84wFoZw{ascH(8o%0fD1@c|WUD39ToIUA(_RPQRzl#w zPu-IP)69*bZWYkOQG2bY7?>YT@Y+P8O;2haP9(!2Iacz!Lx4bRV?DM8C#{EIrpMp2 zPeJzj6hr>rv;gFfO()>HWC%3sZjE*n`M7|!`ER{9l&L9%90vB4o_8V>n+8CSs-$${ z9w9-gFn@HWEVtDQxCh;!L>n*>@4>;(+*=QCo=p@_xuQKA9={9U6Mldu34glaIxcJ5 z#92`56<#aD893hm50VHEj#T{?f4Wg;U6N?;dfO!g`aaf*mNhY&wAyfq(B|4WyF#YGYKEKssF8{oac|c=5%To__Y}TQ{#? zzq~&j^i4i`1ZtPY_?KM!`-LbgS?Zp15g23s`aAO*4d5{2U73jPpVRKuXC2OUHV?=nB>tG@Nnody+g|JGPk81{wxU z+a=GSQ31Qi-u8y(NTYH@bXF`i9s*7*5rEKga)ze9({-{hksPBd9Hf{XEM+;an=`&t zl0P#~*Y(&*Py>K_%j8pxr;Wo=@*D$>8PSFEYU0#`@J%1o00FVhKoj;{M!+1LqRYX( z=jlkHNko^Xb|q-afSVJ6ji>QNm;hKy(DRw^7%%aH&qqWRP_(jT>@0WoH$CLX;##VREZp| z{KQa)hv}?Jg@i6uGOOyyq&5A@YH7@t)-+xa<=xk~eJRQ~k-8F3r>A`TJyl~z72{D( z`>rmvuZ!#}YeV7nSJzbc0bPM-WiVJ>9j>jf_j=t{yA@ko1X!cV%2lBTlgCL^3agL{ zk2WH`nmXdk;52ZT_-cr?rhf!KF@Fo(Zif6T5LS4*6Od@l)?VWwGAID3_GEX+kf1n< z1az>tQWV~O_D;#&g*uy@E3{a|d0AGkzWT<0`kVjs!3TGvDB0fG+1l9~^!gEF{eI8X z{cN>b(qzX#wl6d4`y|**(=i z8UHM#`KF4LP`8a26lQ0k%6P}g%KF;+`r7sD*Dhb)U*Fu=+r4z-`prw1_BXdS*VkA3 z{Z5=jT6U|NKH4^+ZVIjwx+8>{@IZdMlzxKMqg3M6HYA(td>rs6*sDOM(1Q;;8eslB z7X#rIAuA7lwVc}PBTxRrFTByCFi#);))$6cnFrE2Nat-5s8n=dt`pL9vlK?|-|*y6 zJ+*0B5*D0bLFzK1rc>1giBoNSU%K01j3zZCEKsG8=*zV{5t`oU#2^dQBwx^wI!oj} za+lACs2S@|(hZbKt-u=zqSw{*4EBl>!_KOdP27#@8RTAAQVZVkXOAx;8)f3ol~baj zJqv&iofljGrP%xNPaUjXY(N^{uEYap|FfzNs%2Zu>PWDW)!Sd8EaX7u^g(?-JI4nG)-!B3B|hYN_v zb;qCwDJYNQsh<9t<6ykf&QNwoItsK;sPjVmFt7ZVQ5UJ;m%&@fPPt{JN7Xk(I8YH) zBxUV~@N^UO$;AcK=$yT;@HY#|^mHbUTLQOp?+>&XU&rAAjj$8 zu3Pg^MzoTTB=rw`yC$G>z)!dwUplV_OUGYzduq*L;-I(S8j{mPqq@jOcksk-TkGE=>@%DmEsf!R%hmQnvpT4}4@T3H>et!?h??e6aF zUb%Ah>g6j}uUxr&`SQlPYNMr#?5C-6#9J1`R1tQ2!nHqGB5&4KhB8N7HBgAFUT=G;`+-GRAY44ka69~#R zL-q>mtx~dGP)FmlR8F~Wrl7Np1&>&wqe0T9q6k)%vdA=eDc#uIc;cC-fBEyD|LBLm zckAYjo$al5+E#>b2B3pcD%PO@Xoa?Br6zU-FcXnESP=$KDT~5=L>B5+6GV*U#NxL^ zh^HO^G*sB5(>+jw03eEvB=lIJ0wr1C0)at>iX&1FnS}I)fPb=3Y4VNt3a8+5K_m}8 z#!6#+eUq+0BxqxIM+}#PX)pc1aT&sKy(RGFCwwjO$!_9w{UKL}VRsJ3sE>_MO!5MH%8gO2DLQc7Rl?`M`IA z0MW9XwQxTfqrcuYGIzQ+p$uOoqIBxr4XTpw1@%suZ-_QzNP2g1(8-v`yc(wd?SIA# zB(U_bWRrvc`0z!lJ)+hXNUwVKk5^xkutz&*f~kXL1h9rr+~$lyRsp$%o(+%L&ZaDigHiA5B`2p88dTnGlrixOpbs?f|vV&K>93hk9LHj&8(-tRqn1pceU00 z@U3t!2aV3nN>cUNvA)^|69EZ2!`YglLyY8_6MRi5F&n}HZUoJF4vuNq*EI_V?956t zYeH$t+-5bsiDnphjt*e~h=%TUO`0@K_Al>0@$^%NhmU8|d0CcmS+-j3IM&!lVN12x zN|n04p~3xYc)yyhDy5$(NVh^n=y92{icCXjggI_Xe^UR8nEw^V1?_4T#2 z)z!6Or_*VtX{`U(Q8gNS{S}4oAFd2_@gCJ^Shd@2cQmkv!3+!xyaKGIp&bcP91c|% zjJmIlyO>Mc&yhi$ButJ0b3}pwlJr;9FK{Qg^XqUZ{NPnWVyS$yScU9 z>2&9_dApVLyWM`T*J*WFC30mI>i*6`EautS+4$u2{A@Iy&ofc!p1uln!fnZIE}3g# zfUr)p8Nee97E5Je3*woxoFaZU)dF2EIg{-)`IA5W)0baQDcnOW>BICLF*1S=lP)|6@)@C*H8vR(s0h7y=#iwipy|ax#rB^{h6}UdzIz%i z4`=4OCj+;lb9VF@e)t8yIY&-N(cYmTYOjA8uU&z^dYU;$L@^I;#w~ESdxIqxaasE- z4gQ453k?#_8zt&OaDdzt(ODbrsbpZHHm!5h_~0uZ{K+GEWP-r3Bu2%^{A=3?G**jh zGMq|d8VFg1+7qE>l0VFdsCKHmxByT%Iak2(HNUZi9qd!STMhs@vC^qMF6)8URSk0m zRTRkPSgP^0FQ+E6rl%1&owq}TKpWD5d2JZ@7k;6CiO$e|5k5B%D5!HvpDu9WK(lNEWzVMc#rgE4X_CtAhM)y*$gEb@OViZ zUYCZenre@XLF0O$01hrfTUH*_H!~K2YpZuBl7>G+yw-AS4|fW%2hN>81Naj`+miX$ zw#Na=Q8f=!eeq{oLDD~=PIYVEeg_X?{ymaXkoEH8ZeY@;XUX-K?N2D`?cw|Gxq>`Z9 z1!0{u!X{`zy08I`bF0@!20#)S)Q2Hr&ZS}Dj!96T=5+ zl$dImRmpeXyZyiY@BjAE7oYP;?Ck7ZzwyNRbh2D5dfnAtzt`{fJ83)5mPMgz|0t8P zlJoiU;;$e5~;YW0Q3S8Myq<)5TU zsVWUIh5Qm+RrFlWm=H;~`-@-v;(z#`{>N4nr4eaTYssk6#fS_b2}G?aA`3dsw0D8&MpvG7cNCkWZLChMhL0Qzx8%-Xbz|D=7O0fYEpf zyf_@{eR6|>B3&Hb<;0b)B<})FSk8sxfy5ypPm~v}KBaZ(RH$#KWirYp76pWb9#`() z;AJckJHd|~5`pF(>SQI^LCqezozCz7_=lX!#dLabaHPa#RmK`YQR;rcpgc#W4v(mG z5gz3VjVj$ow<>c{6r726yS28qv9Z3fx4*l)x3jsqwK^P{&aJ97u1*q2lC<6F3|3aw z*L98kwYA}JWw0`6w_4g=3th~$8pZ(%?kbvs&mX$Cc`+SndWTsf(;0-e77u5(!!Fra z0xv;Q;h=*@bn~$04w4Fq$b(b^&CL3musW|_zt3%qw^b}KQeNCxg zD2U0~L|P@#kXj(ur#3>7I-NozV0irX<8K~4dUW^hhmXGayw~qNyZu7D+dVx$OOkkf zb-1&=wYj<8>vnmh>~Le8Wmz#kKR-Sm9UULf=1U=jssNkBoO@_0#6h8EVVW%{y}VL; z+UclN^dwD~lv$QnRV5(`Bz5O6rrqQJZh!-ofWpNgVU&M zTgBXJLAIo;^aLMWUFmZwQ&>vUltX8n*tU3{MrTNco4cUlH83M*v2s`uJP=m3S93RX zFLZje&GWJ6Tu7I}hCUNevl)D0l^nYJ4x|L6M&sw+Dufy=mc4Z#lc0}~ASnkHCNI*Th*yJA2KX%> zPb;e}98fYe{FZ*`2FO}xfAPqk7nA2|Tt>=0$w+J%Ow0=-0O8h4lu6bsq{$G7W_C)M z45%08ge&e#g<2|+YaEWJPg08E^;girS_p(AYw|}H{N_X>JxG)gq`yU;jwQYD0C#Rn zN?@*RiuZ6*s;5RFHorB1aJ%6`9|lMj3=aq$vm{Fm^+TnnPliXD*A}&o{0UR!@h0S_ zoPJN}g|JBOzl<8^()*ox@e69i0>?t|P6Kz9j$T}0K|PEJ*MpIpJ;~>Ut7QT+UATsHB`j%1*oW(u?0;T^+vr z&U?3S-&rmfyed`0q&O*64<=zy4i;gfs_*NbuX-?Lk>|@r8b`f$nzoc?fBEvYYu9f) z|H8A+KL7Of8@Dd)?YEM+l_uSGnkw&p!lM`sEaDV5HCiMHFpU*f%vM0JUf|domc&fL zr|ueTwIOiOYACkk6~vIhytI%AE*M1fp!k01NC6JX-4SB@z2ug&NU#k! zuWxB><6ZPEIF+Q5fTZjK<+}H1UVE$Q%2d8LO%NHtJmIq}+ptY^?2UZ>?{viAt&Cy2GYYvzN=|@$u;J==kLHw5nt) zX{i!YNu*WxQb1NO@){!#gpSOsh?M%DOyZ=Kru|+wZM9SYAc_i=TA+-BQdcG_O10Nf z99I&n<*_75S%+s;CPXox&(6=!hbt>luOq;+wT*sF0=x$Ib95c4K!HFs4#WqodtSQJ zW~mYO5JNta0eH@)q)VT`^at8O1H8;M=ujjT*^E1>LN6w3MFL4g8UUr1$c)GQN(~x` z=BkWv>_9#d!%78KF~fj21B=<65a08PC1>kk1fWNv^)*Rp>Z2qvao6M!Z2(4#q0q36 zm-I=^TZXsNh;J=4k5r8aWa5C9(!(zVl2KAY=*q3j@ba2c-!%Q&LG+XF>wX9edDl_2Cn@D_n-vB0J!zQTH6 za9H5bqP4Je<5eRL1vr9HE($0oE&xMpk0uxc5gCgFnI58o8vQ(;)KD45R0cI(=@M9p zJ;LC?HKQ{?~09S+ylH`muU*H(wBNWbn2 zpj35((r2P_MXn&@Ls(~PteL;C8N%AMLm(E9tjVAXy4&8ZRFZJ(Y_|db&{@x=W89LI z@UYZ^{k%C=iUazRNLe!Ic0vp?ib!>2;kL@AT^JOAq!$3g{|6GO0J}yvQu?&PX!j%g zRC0_sEDNYpZWv^&c(L>Yg4F$?9Aar4Pp9+oc=FC$Z~xza_1CAT;NVOwv<-=-qKbPMftLL{q;B6 zo&KNv>X$$K!4Fszn{F0*2oWhk!-nKP zq{`sx@Gtfm^a9C)gnC~UNAL_$RXxc;D42{ux_g1Ghj_*TDW3@pnTGe)69noXXU^*?)Sh1FJPhU|+@DzRCtp==P&7dO zqgORt>{d&9U;0KzZB^Z$By;7E?G=&JTfj0P6beO}Jr`ea_^i8FOCaT~uzZl)STNQn z=FB?_-?=Y;m>SGOJHQvm4 zZ94VeiOoZe0mgme2=5^uJ2n|CX>CO)GexdfJ6vempsLA%uLiMH^vT-ETcCzrNC^_h z6i(+haVD}(8=YFJ0{OZeV5O1f(m3CQj>XH$ycV`ZxS*ZZS+x%s5<9FOh#(IO-orMo zM*CDvs!Ywxn8hZI&xR9(7JNdVZlO~N^%Emp8#E88yn!q-tOVc0eJR2MRt^!NWa+&> z%Vs*Ue1Wsz4-I@4zQ>wpa9Z3Ugf_L7sl{=(xANl4FV7c?hhKhiHX3!h?Ov}toz1m^ zP+{p#W#}+uL~w;vsoNRgF%01cl+}Go?xoamk>f_ z|K|B@K0iJgDcAq`d0v#UvLn>aOW+|;bH}#eg}z#fo~oiK%TgiA5~cljI;~XQt-RsN zcx>@FNrbH8QZ=*VB2%ULRStV8A#qDemgv{TQL-$n_uhT)d_1{z{o0Rz@Anje>xRC1 zijjFI#`-}$gQr*((-kK$v?*Mg5|}fLsPfk6wmtK7a3Qi}Yxti|Z>V(B3|W{A7|e9q`59BT4fcn<_I)SI9qweGY{VcJ4~^{tOF)L)g77=F+s)8LStM8+&y z!uX`0O#obzQ}xnuKO6>C-Q7im*c>Ht_XM9P8Eyn<3NWAxv|?#f#3UUUJwW(8kS=Z* z;Qpa(I@I9ZY{CIFs>~j{a*i=~En*mGx+V$-U|kY!cf+N8iNnRXKE47CdJ$p{eV{(s zzR(~D1JmIQzs()RYSm_Vz`hz(887w_a428Hd2AVRGNLIMZUCk=)np~*O6 z=8P!&t_Fa1q1g!;)B`cliMdJC_i(8^O9+D7R7vpGIy^8i zbhcc~viZC+MLjUKPD&R^x@-vl(7%B#z;x;QBuUa%(o!zz^|eja$a7<;8o&SR$S9XiNvvfB{4=x0Yvc3Z8RSFWBtd9=2&QdQMrv6MW?^FkFlP7|#@ zC>Lo3wtgIU+nv_@oK2UDEXyYIX}g{3JOQZhX`!eR6d{RNWH_UCo~FA}WYugs6V5TI zgwvx=*BO+1e-&^I99|G3&yG=88DbJIsr${01dSEW0$?q(HZIz!(V!AK(M0tQD_4f=z5Ys^#!0H`(+W||7YlXtjd>sO zR;oe+nZldRi@eCog6WWjqG5eYtilfMB<(Kdi<85{#bTiinmEF$?%Yx;fz1F70jP#y zut;~6fG%-5<6L9YP%@a*COrFAIk#9IR_WH(v+4Bwe7wxEyv%0P`E)uPpN-GY&lk(( zV!0Hh20e*V<>Tw_#ilJ$tTV1RECQo(&k5FZzxm83#@meQ0vDNSsI0*tZn71WXHp_oKlN$45Kz2Gzj<|pHf51rX;QwI*01^@ykl-P_W^79GW=_>9( zG(Gb{hHK#s#A~TV18L|3CJujm9EU;;I6&*zQHWbJY2)O^N~Zvkw3RQc0vFqwFg)fw zDk~$cb+x}ryLUloRzl=uF`G@#MkkLC4!(Hw^}*rM$;rv+^!)7X{QUHEGCG}(&u5c~ zF#sT627Fo;hVC{TPoS{if2k#rak0f(4)(Tows$V?UAeq}_44JdO;vkx@A9RcOM9KR zswZzwlgdtw;xtu2b`31h4P>qTQ8Hd>e*mTo8{v&Ge#vyZTS7WCXu!RwBdP&#DcCdC z29V4n0h-uSFVDs6U!wBosd9J{ICI4+9k-1bYbVLx_V%^?EB$Uyl+}E`6f7x9)wfHv z0aHN}?f;XJ(HSDGc@)cq6mmM79UdNb+wG0jH51;^BqJH35QzOvoH3T0>S&CUkK~Y8 z=OZjDQE#0x3r>(woA#)^o*GTh2|Z+yIVk7T$-&XVn{U1Omw)w_-NA5k zXTQ_ynmaf=}vC3&b(Eae&ey$ z+OX;mCQN4sU2}>l13;8TE~+Btd~0iKb8B}pJ@VS_G&@*1c>wIX@juCgb^H*=nUptOF6cq$~jY8Csy2tcdLi&EYqgbUs^Ti__Dy(aGu2 z;o;%qqseqSna;|*P@NM*Sye@mWkpd`l^R#t>S$vpRb7~^5gqB7b^878aHY4sy>n^r z(qJ&?_PRTp+k0C({gpv~Fi2CqRC;S|A7$O{PcgtmSrxHvqHSyZsjLbvWC_y5!Q3r4 z9^z0Mv1cl5(c@(q8o@L=z^!yy2FN7PM7G(aHCO`ik2%`rXcvQMh9d7+SSGHCr)&9WDO?mu%>wBzBLlNV zhKtK*)~WMn;QomLOD6OaUL1?tmYkf36Y zP1N`xe$htKE2KBv+C?Z@(VPkG2dekO4*{9tIcr!Gr+WwdB22GwRXQ3Mt!|xogl#s6 zdx#qn@+6t`@;j^up>F?=o>#$t02Xv?1pNdbz>5O(7#0qKS*WrgOiYqx=GLq*&`{(M z8qyy@3Yv=1s}O)8Z5^i1kB^TJ4h}#2^ud>3K0G}ejVI@YYX77o+B(c!mZ}ure7=}W zXS4ZYu~07LOx5Sh@@!cN8Fe~Il<2%bqbEdG1J#y>VN<3+y@C~&_M@s*s)CiugQz_A z>WvFkrAFlA>Dl8)5AXN;9o!J%t4@3PBvV+ufDH>XoZkuU)%#CVyC6z(x%Ohg2aX41idBRrjnFX)FkVU%NDO4&06MKco!zENbt0 z;VD9x(lI@9kU27F+l@th&uUEfPURLWlF;wG;2q&2#)Wp4$fXhOANQ187U(1QwOEi7%JtllA zR+j|s55WQBlaZXH@p`v3A2m-X`o77Us^I;~y*|+O50U0n^2+*Ahsz;a&Cxn$p@*wh zN6q5ckT%S-$UPDhnYB}139t`8xbq+W>aX5-{q;(SUaz;Yxh^Y_EoKANjCo~eXLEgR zwcT!U$%?X^%;pD&Cx=HzN5`YtY##Bb6)V4RrAuwPO|}pe!>(d%B%*pZ=Zj)7?e+S* zyL*4}&;I=8&0Bx@*MI%~`|tO9y|k57TA!|}Qm>7I1jV}UQ=G(Ul2$F{fiT{D)xb+b z40#l{`~9-Y%Ch?6;iKDk@7}z2b$5G<8@P>ORDz-TX}GBF{;PSRSuA5rsJNqUfE}?| zYXSz|uP399QkLbXr{|9!KmOe(pMLq}!{g(l`D~_p(}_wH+O=OTm&?U`QIx6^vSNmd zY_2{FT{YEQBTP=O`B_Itd9<9zCc_4rUaQo2)wR22I%@Q~-G0BHD5O->>-Gjc^>dP@ zW*f07AdBNxtK07nc6WAncXu!E@9pgDtgWvN`h#}6m1yv!s-7gQ;}Wt31UE&SZC7MR z*W8+dAP8y7Eyd7-F!Sk{XaJ}Uqc-EYY`sKwj(Az2YU76-zJd>|f%C27(Ysh$p5+ zqv)nNA>gCAy?Jqnu;Q!TB?Q;N$UAE)s+Dg+?6tOr6pG;(F4h;Z(GogDTT2k2A?B9< zj2r-(GY;g>S#7l%LJ%gEm%ECDMAQL>6*I|XxfK>8E`la>CF zaO>dE>E0WB9w7s(gx3g_?xqY8B5)00o8eqKtB9HMKIAS!Os>v@4UvM+AF@%fl8H3{ zRBes2DvNTloGliMLMz}Zn4Ra39zJ^T;EVU(`{3@~`;QO4J{}!q%VkmIW-DT&(Ho%^ zMb<}QTe0#aP1l9AzPNmszdBRtik3 zRf;UnvQah~onU1V9nrRkV_noc?sf<38(Ysl`|NYiJ^%gD^Ea+vTUi-&I_)@)+pSi& z)9!XUolaMW+8J~PWu~T##kMn3E;FLbh+3*yZ4T&giuD7d0w_b`)d9Ja&6dG8Xk

        $QrhkNppgj$@xQMAg!RM1?s*$MlpjG)j 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 Lcur||{{8qr&(1{m literal 0 HcmV?d00001 diff --git a/playstoreassets/mob1.jpg b/playstoreassets/mob1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..343c7ae18576ed395a6528f1aa2f0f4523ed55cd GIT binary patch literal 159738 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 MGX7^c_v_Gq0F9Gv&j0`b literal 0 HcmV?d00001 diff --git a/playstoreassets/mob2.jpg b/playstoreassets/mob2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ac10fce01c1b65395c4164648e40d78dcc3d5bd7 GIT binary patch literal 186766 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 ZxKRc-2!Dg%Mj6~7{Zj~Tl)+8=zX5hrM5_P* literal 0 HcmV?d00001 diff --git a/playstoreassets/tab2.jpg b/playstoreassets/tab2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..842c2c14364ed979684adb3de44abbde9f8bd034 GIT binary patch literal 338604 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≀L(p+Vu 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%0AKlsMh-9u?my+LnyipOs#t{;x41>Omyjh$L(g6$f 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 z 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 z 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 N9u)P(K;@(VHvvk5@m2r; literal 0 HcmV?d00001 From d7cee77c8be4cc333235f345b4aad599cfd32b34 Mon Sep 17 00:00:00 2001 From: Jonas Bark Date: Thu, 25 Sep 2025 11:03:33 +0200 Subject: [PATCH 176/636] improve usability --- lib/bluetooth/connection.dart | 1 + lib/bluetooth/devices/base_device.dart | 4 +- lib/bluetooth/devices/zwift_click.dart | 2 +- lib/bluetooth/devices/zwift_play.dart | 20 ++++- lib/bluetooth/devices/zwift_ride.dart | 24 +++++- lib/pages/device.dart | 74 +++++++++-------- lib/pages/requirements.dart | 107 ++++++++++++++----------- lib/pages/scan.dart | 4 +- lib/utils/requirements/multi.dart | 2 +- lib/widgets/keymap_explanation.dart | 19 +++-- lib/widgets/logviewer.dart | 73 ++++++++--------- lib/widgets/menu.dart | 2 +- playstoreassets/mob1.jpg | Bin 159738 -> 0 bytes playstoreassets/mob1.png | Bin 0 -> 158302 bytes playstoreassets/mob2.jpg | Bin 186766 -> 0 bytes playstoreassets/mob2.png | Bin 0 -> 187781 bytes playstoreassets/tab1.jpg | Bin 217796 -> 0 bytes playstoreassets/tab1.png | Bin 0 -> 312618 bytes playstoreassets/tab2.jpg | Bin 338604 -> 0 bytes playstoreassets/tab2.png | Bin 0 -> 239925 bytes 20 files changed, 197 insertions(+), 135 deletions(-) delete mode 100644 playstoreassets/mob1.jpg create mode 100644 playstoreassets/mob1.png delete mode 100644 playstoreassets/mob2.jpg create mode 100644 playstoreassets/mob2.png delete mode 100644 playstoreassets/tab1.jpg create mode 100644 playstoreassets/tab1.png delete mode 100644 playstoreassets/tab2.jpg create mode 100644 playstoreassets/tab2.png diff --git a/lib/bluetooth/connection.dart b/lib/bluetooth/connection.dart index 05d4d5d7e..e51c79834 100644 --- a/lib/bluetooth/connection.dart +++ b/lib/bluetooth/connection.dart @@ -163,6 +163,7 @@ class Connection { } void reset() { + _actionStreams.add(LogNotification('Disconnecting all devices')); UniversalBle.stopScan(); isScanning.value = false; for (var device in devices) { diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index e76195b29..5f344d2e0 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -21,7 +21,9 @@ import '../messages/notification.dart'; abstract class BaseDevice { final BleDevice scanResult; - BaseDevice(this.scanResult); + final List availableButtons; + + BaseDevice(this.scanResult, {required this.availableButtons}); final zapEncryption = ZapCrypto(LocalKeyProvider()); diff --git a/lib/bluetooth/devices/zwift_click.dart b/lib/bluetooth/devices/zwift_click.dart index 422183c27..6903a07d6 100644 --- a/lib/bluetooth/devices/zwift_click.dart +++ b/lib/bluetooth/devices/zwift_click.dart @@ -5,7 +5,7 @@ import 'package:swift_control/utils/keymap/buttons.dart'; import '../messages/click_notification.dart'; class ZwiftClick extends BaseDevice { - ZwiftClick(super.scanResult); + ZwiftClick(super.scanResult) : super(availableButtons: [ZwiftButton.shiftUpRight, ZwiftButton.shiftDownLeft]); ClickNotification? _lastClickNotification; diff --git a/lib/bluetooth/devices/zwift_play.dart b/lib/bluetooth/devices/zwift_play.dart index e7de68b56..aa111a6ab 100644 --- a/lib/bluetooth/devices/zwift_play.dart +++ b/lib/bluetooth/devices/zwift_play.dart @@ -8,7 +8,25 @@ import 'package:swift_control/utils/keymap/buttons.dart'; import '../ble.dart'; class ZwiftPlay extends BaseDevice { - ZwiftPlay(super.scanResult); + ZwiftPlay(super.scanResult) + : super( + availableButtons: [ + ZwiftButton.y, + ZwiftButton.z, + ZwiftButton.a, + ZwiftButton.b, + ZwiftButton.onOffRight, + ZwiftButton.sideButtonRight, + ZwiftButton.paddleRight, + ZwiftButton.navigationUp, + ZwiftButton.navigationLeft, + ZwiftButton.navigationRight, + ZwiftButton.navigationDown, + ZwiftButton.onOffLeft, + ZwiftButton.sideButtonLeft, + ZwiftButton.paddleLeft, + ], + ); PlayNotification? _lastControllerNotification; diff --git a/lib/bluetooth/devices/zwift_ride.dart b/lib/bluetooth/devices/zwift_ride.dart index de79056a0..c3c505daa 100644 --- a/lib/bluetooth/devices/zwift_ride.dart +++ b/lib/bluetooth/devices/zwift_ride.dart @@ -7,7 +7,29 @@ import 'package:swift_control/utils/keymap/buttons.dart'; import '../ble.dart'; class ZwiftRide extends BaseDevice { - ZwiftRide(super.scanResult); + ZwiftRide(super.scanResult) + : super( + availableButtons: [ + ZwiftButton.navigationLeft, + ZwiftButton.navigationRight, + ZwiftButton.navigationUp, + ZwiftButton.navigationDown, + ZwiftButton.a, + ZwiftButton.b, + ZwiftButton.y, + ZwiftButton.z, + ZwiftButton.shiftUpLeft, + ZwiftButton.shiftDownLeft, + ZwiftButton.shiftUpRight, + ZwiftButton.shiftDownRight, + ZwiftButton.powerUpLeft, + ZwiftButton.powerUpRight, + ZwiftButton.onOffLeft, + ZwiftButton.onOffRight, + ZwiftButton.paddleLeft, + ZwiftButton.paddleRight, + ], + ); @override String get customServiceId => BleUuid.ZWIFT_RIDE_CUSTOM_SERVICE_UUID; diff --git a/lib/pages/device.dart b/lib/pages/device.dart index e0fd5fab2..cd457fffc 100644 --- a/lib/pages/device.dart +++ b/lib/pages/device.dart @@ -64,10 +64,14 @@ class _DevicePageState extends State { crossAxisAlignment: CrossAxisAlignment.start, spacing: 10, children: [ + Text('Connected Devices:', style: Theme.of(context).textTheme.titleMedium), Text( - 'Devices:\n${connection.devices.joinToString(separator: '\n', transform: (it) { - return "${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'}${it.batteryLevel != null ? ' - Battery Level: ${it.batteryLevel}%' : ''}"; - })}', + connection.devices.joinToString( + separator: '\n', + transform: (it) { + return "${it.device.name ?? it.runtimeType}: ${it.isConnected ? 'Connected' : 'Not connected'}${it.batteryLevel != null ? ' - Battery Level: ${it.batteryLevel}%' : ''}"; + }, + ), ), Divider(color: Theme.of(context).colorScheme.primary, height: 30), if (!kIsWeb) @@ -78,6 +82,7 @@ class _DevicePageState extends State { children: [ Flex( mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, direction: MediaQuery.sizeOf(context).width > 600 ? Axis.horizontal : Axis.vertical, spacing: 8, children: [ @@ -87,7 +92,7 @@ class _DevicePageState extends State { SupportedApp.supportedApps .map((app) => DropdownMenuEntry(value: app, label: app.name)) .toList(), - label: Text('Select Keymap'), + label: Text('Select Keymap / app'), onSelected: (app) async { if (app == null) { return; @@ -110,39 +115,40 @@ class _DevicePageState extends State { hintText: 'Select your Keymap', ), - ElevatedButton( - onPressed: () async { - if (actionHandler.supportedApp! is! CustomApp) { - final customApp = CustomApp(); + if (actionHandler.supportedApp != null) + ElevatedButton( + onPressed: () async { + if (actionHandler.supportedApp! is! CustomApp) { + final customApp = CustomApp(); - actionHandler.supportedApp!.keymap.keyPairs.forEachIndexed((pair, index) { - pair.buttons.forEachIndexed((button, indexB) { - customApp.setKey( - button, - physicalKey: pair.physicalKey!, - logicalKey: pair.logicalKey, - isLongPress: pair.isLongPress, - touchPosition: - pair.touchPosition != Offset.zero - ? pair.touchPosition - : Offset(((indexB + 1)) * 100, 200 + (index * 100)), - ); + actionHandler.supportedApp!.keymap.keyPairs.forEachIndexed((pair, index) { + pair.buttons.forEachIndexed((button, indexB) { + customApp.setKey( + button, + physicalKey: pair.physicalKey!, + logicalKey: pair.logicalKey, + isLongPress: pair.isLongPress, + touchPosition: + pair.touchPosition != Offset.zero + ? pair.touchPosition + : Offset(((indexB + 1)) * 100, 200 + (index * 100)), + ); + }); }); - }); - actionHandler.supportedApp = customApp; - settings.setApp(customApp); - } - final result = await Navigator.of( - context, - ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage())); - if (result == true && actionHandler.supportedApp is CustomApp) { - settings.setApp(actionHandler.supportedApp!); - } - setState(() {}); - }, - child: Text('Customize Keymap'), - ), + actionHandler.supportedApp = customApp; + settings.setApp(customApp); + } + final result = await Navigator.of( + context, + ).push(MaterialPageRoute(builder: (_) => TouchAreaSetupPage())); + if (result == true && actionHandler.supportedApp is CustomApp) { + settings.setApp(actionHandler.supportedApp!); + } + setState(() {}); + }, + child: Text('Customize Keymap'), + ), ], ), if (actionHandler.supportedApp != null) diff --git a/lib/pages/requirements.dart b/lib/pages/requirements.dart index b980f18ff..a1843e5ad 100644 --- a/lib/pages/requirements.dart +++ b/lib/pages/requirements.dart @@ -72,55 +72,68 @@ class _RequirementsPageState extends State with WidgetsBinding body: _requirements.isEmpty ? Center(child: CircularProgressIndicator()) - : Stepper( - currentStep: _currentStep, - connectorColor: WidgetStateProperty.resolveWith( - (Set states) => Theme.of(context).colorScheme.primary, - ), - onStepContinue: - _currentStep < _requirements.length - ? () { - setState(() { - _currentStep += 1; - }); + : Column( + children: [ + Padding( + padding: const EdgeInsets.only(left: 16.0, right: 16.0, top: 16.0), + child: Text( + 'Please complete the following requirements to make the app work correctly:', + style: Theme.of(context).textTheme.titleMedium, + ), + ), + Expanded( + child: Stepper( + currentStep: _currentStep, + connectorColor: WidgetStateProperty.resolveWith( + (Set states) => Theme.of(context).colorScheme.primary, + ), + onStepContinue: + _currentStep < _requirements.length + ? () { + setState(() { + _currentStep += 1; + }); + } + : null, + onStepTapped: (step) { + if (_requirements[step].status) { + return; } - : null, - onStepTapped: (step) { - if (_requirements[step].status) { - return; - } - final hasEarlierIncomplete = _requirements.indexWhere((req) => !req.status) < step; - if (hasEarlierIncomplete) { - return; - } - setState(() { - _currentStep = step; - }); - }, - controlsBuilder: (context, details) => Container(), - steps: - _requirements - .mapIndexed( - (index, req) => Step( - title: Text(req.name), - content: Container( - padding: const EdgeInsets.symmetric(vertical: 16.0), - alignment: Alignment.centerLeft, - child: - (index == _currentStep - ? req.build(context, () { - _reloadRequirements(); - }) - : null) ?? - ElevatedButton( - onPressed: req.status ? null : () => _callRequirement(req), - child: Text(req.name), + final hasEarlierIncomplete = _requirements.indexWhere((req) => !req.status) < step; + if (hasEarlierIncomplete) { + return; + } + setState(() { + _currentStep = step; + }); + }, + controlsBuilder: (context, details) => Container(), + steps: + _requirements + .mapIndexed( + (index, req) => Step( + title: Text(req.name), + content: Container( + padding: const EdgeInsets.symmetric(vertical: 16.0), + alignment: Alignment.centerLeft, + child: + (index == _currentStep + ? req.build(context, () { + _reloadRequirements(); + }) + : null) ?? + ElevatedButton( + onPressed: req.status ? null : () => _callRequirement(req), + child: Text(req.name), + ), ), - ), - state: req.status ? StepState.complete : StepState.indexed, - ), - ) - .toList(), + state: req.status ? StepState.complete : StepState.indexed, + ), + ) + .toList(), + ), + ), + ], ), ); } diff --git a/lib/pages/scan.dart b/lib/pages/scan.dart index 20b0d4e0c..5adcfd262 100644 --- a/lib/pages/scan.dart +++ b/lib/pages/scan.dart @@ -45,9 +45,7 @@ class _ScanWidgetState extends State { Widget build(BuildContext context) { return Container( constraints: BoxConstraints(minHeight: 200), - child: ListView( - padding: EdgeInsets.all(16), - shrinkWrap: true, + child: Column( children: [ ValueListenableBuilder( valueListenable: connection.isScanning, diff --git a/lib/utils/requirements/multi.dart b/lib/utils/requirements/multi.dart index f627de017..99af4dac2 100644 --- a/lib/utils/requirements/multi.dart +++ b/lib/utils/requirements/multi.dart @@ -46,7 +46,7 @@ class UnsupportedPlatform extends PlatformRequirement { } class BluetoothScanning extends PlatformRequirement { - BluetoothScanning() : super('Bluetooth Scanning') { + BluetoothScanning() : super('Finding your Zwift® controller...') { status = false; } diff --git a/lib/widgets/keymap_explanation.dart b/lib/widgets/keymap_explanation.dart index a82bfc42d..350256dfb 100644 --- a/lib/widgets/keymap_explanation.dart +++ b/lib/widgets/keymap_explanation.dart @@ -10,10 +10,16 @@ class KeymapExplanation extends StatelessWidget { @override Widget build(BuildContext context) { - final keyboardGroups = keymap.keyPairs + final connectedDevice = connection.devices.firstOrNull; + + final availableKeypairs = keymap.keyPairs.filter( + (e) => connectedDevice?.availableButtons.containsAny(e.buttons) == true, + ); + + final keyboardGroups = availableKeypairs .filter((e) => e.physicalKey != null) .groupBy((element) => '${element.physicalKey}-${element.isLongPress}'); - final touchGroups = keymap.keyPairs + final touchGroups = availableKeypairs .filter((e) => e.physicalKey == null && e.touchPosition != Offset.zero) .groupBy((element) => '${element.touchPosition}-${element.isLongPress}'); @@ -33,7 +39,7 @@ class KeymapExplanation extends StatelessWidget { Padding( padding: const EdgeInsets.all(6), child: Text( - 'Button on your ${connection.devices.firstOrNull?.device.name ?? connection.devices.firstOrNull?.runtimeType}', + 'Button on your ${connectedDevice?.device.name ?? connectedDevice?.runtimeType}', style: Theme.of(context).textTheme.bodyMedium?.copyWith(fontWeight: FontWeight.bold), ), ), @@ -57,7 +63,8 @@ class KeymapExplanation extends StatelessWidget { children: [ for (final keyPair in pair.value) for (final button in keyPair.buttons) - IntrinsicWidth(child: _KeyWidget(label: button.name.splitByUpperCase())), + if (connectedDevice?.availableButtons.contains(button) == true) + IntrinsicWidth(child: _KeyWidget(label: button.name.splitByUpperCase())), ], ), ), @@ -84,7 +91,9 @@ class KeymapExplanation extends StatelessWidget { spacing: 8, children: [ for (final keyPair in pair.value) - for (final button in keyPair.buttons) _KeyWidget(label: button.name.splitByUpperCase()), + for (final button in keyPair.buttons) + if (connectedDevice?.availableButtons.contains(button) == true) + _KeyWidget(label: button.name.splitByUpperCase()), ], ), ), diff --git a/lib/widgets/logviewer.dart b/lib/widgets/logviewer.dart index de7adb8da..1a280d318 100644 --- a/lib/widgets/logviewer.dart +++ b/lib/widgets/logviewer.dart @@ -48,52 +48,45 @@ class _LogviewerState extends State { @override Widget build(BuildContext context) { - return Stack( - children: [ - SelectionArea( - child: ListView( - controller: _scrollController, - children: - _actions - .map( - (action) => Text.rich( - TextSpan( - children: [ - TextSpan( - text: action.date.toString().split(" ").last, - style: TextStyle( - fontSize: 12, - fontFeatures: [FontFeature.tabularFigures()], - fontFamily: "monospace", - fontFamilyFallback: ["Courier"], - ), - ), - TextSpan( - text: " ${action.entry}", - style: TextStyle( - fontSize: 12, - fontFeatures: [FontFeature.tabularFigures()], - fontWeight: FontWeight.bold, - ), - ), - ], - ), - ), - ) - .toList(), + return SelectionArea( + child: ListView( + controller: _scrollController, + children: [ + ..._actions.map( + (action) => Text.rich( + TextSpan( + children: [ + TextSpan( + text: action.date.toString().split(" ").last, + style: TextStyle( + fontSize: 12, + fontFeatures: [FontFeature.tabularFigures()], + fontFamily: "monospace", + fontFamilyFallback: ["Courier"], + ), + ), + TextSpan( + text: " ${action.entry}", + style: TextStyle( + fontSize: 12, + fontFeatures: [FontFeature.tabularFigures()], + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), ), - ), - Align( - alignment: Alignment.topRight, - child: IconButton( + + TextButton( onPressed: () { _actions.clear(); setState(() {}); }, - icon: Icon(Icons.clear), + child: Text('Clear Log'), ), - ), - ], + ], + ), ); } } diff --git a/lib/widgets/menu.dart b/lib/widgets/menu.dart index 375eef6f5..4e9361a59 100644 --- a/lib/widgets/menu.dart +++ b/lib/widgets/menu.dart @@ -26,7 +26,7 @@ List buildMenuButtons() { launchUrlString(link); }, ), - if (!kIsWeb && Platform.isAndroid && !isFromPlayStore && false) + if (!kIsWeb && Platform.isAndroid && !isFromPlayStore) PopupMenuItem( child: Text('by buying the app from Play Store'), onTap: () { diff --git a/playstoreassets/mob1.jpg b/playstoreassets/mob1.jpg deleted file mode 100644 index 343c7ae18576ed395a6528f1aa2f0f4523ed55cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159738 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 MGX7^c_v_Gq0F9Gv&j0`b diff --git a/playstoreassets/mob1.png b/playstoreassets/mob1.png new file mode 100644 index 0000000000000000000000000000000000000000..8822faee4a915e27bd16079cd85a699d6f292e8d GIT binary patch literal 158302 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%0A5iHOkCtYKO&*Y@=v$Sa(}TH{SWYY*;3Yw0BF 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

E~V7T_IC5}o~#7j>o0unv%$OF-O%9= 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ⅈtiT!C< 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 !CM6M=k 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

_+*T~~o|z)6|L6yD+;M6n`;;;ucH6U) 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