From 95c6a4f3ea91a0c0d372c72c28fe777d3f1d3b3a Mon Sep 17 00:00:00 2001 From: Vitaliy Zarubin Date: Fri, 16 Jun 2023 15:01:45 +0300 Subject: [PATCH] [package_info_plus] Implement package_info_plus plugin. OMP#OS-17187 --- .../package_info_plus_aurora/.gitignore | 30 +++ .../package_info_plus_aurora/README.md | 28 +++ .../analysis_options.yaml | 4 + .../aurora/CMakeLists.txt | 26 ++ .../package_info_plus_aurora_plugin.h | 28 +++ .../package_info_plus_aurora_plugin.cpp | 47 ++++ .../package_info_plus_aurora/data/preview.png | Bin 0 -> 85120 bytes .../example/.gitignore | 47 ++++ .../example/README.md | 21 ++ .../example/analysis_options.yaml | 4 + .../example/aurora/.gitignore | 1 + .../example/aurora/CMakeLists.txt | 50 ++++ ...e.package_info_plus_aurora_example.desktop | 12 + .../example/aurora/icons/108x108.png | Bin 0 -> 9954 bytes .../example/aurora/icons/128x128.png | Bin 0 -> 13645 bytes .../example/aurora/icons/172x172.png | Bin 0 -> 23377 bytes .../example/aurora/icons/86x86.png | Bin 0 -> 6632 bytes .../example/aurora/main.cpp | 13 + ...mple.package_info_plus_aurora_example.spec | 31 +++ .../example/lib/main.dart | 143 +++++++++++ .../example/pubspec.lock | 236 ++++++++++++++++++ .../example/pubspec.yaml | 26 ++ .../lib/package_info_plus_aurora.dart | 60 +++++ ...ckage_info_plus_aurora_method_channel.dart | 25 ++ ...e_info_plus_aurora_platform_interface.dart | 38 +++ .../package_info_plus_aurora/pubspec.yaml | 28 +++ ..._info_plus_aurora_method_channel_test.dart | 39 +++ 27 files changed, 937 insertions(+) create mode 100644 packages/package_info_plus/package_info_plus_aurora/.gitignore create mode 100644 packages/package_info_plus/package_info_plus_aurora/README.md create mode 100644 packages/package_info_plus/package_info_plus_aurora/analysis_options.yaml create mode 100644 packages/package_info_plus/package_info_plus_aurora/aurora/CMakeLists.txt create mode 100644 packages/package_info_plus/package_info_plus_aurora/aurora/include/package_info_plus_aurora/package_info_plus_aurora_plugin.h create mode 100644 packages/package_info_plus/package_info_plus_aurora/aurora/package_info_plus_aurora_plugin.cpp create mode 100644 packages/package_info_plus/package_info_plus_aurora/data/preview.png create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/.gitignore create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/README.md create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/analysis_options.yaml create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/aurora/.gitignore create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/aurora/CMakeLists.txt create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/aurora/desktop/com.example.package_info_plus_aurora_example.desktop create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/aurora/icons/108x108.png create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/aurora/icons/128x128.png create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/aurora/icons/172x172.png create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/aurora/icons/86x86.png create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/aurora/main.cpp create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/aurora/rpm/com.example.package_info_plus_aurora_example.spec create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/lib/main.dart create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/pubspec.lock create mode 100644 packages/package_info_plus/package_info_plus_aurora/example/pubspec.yaml create mode 100644 packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora.dart create mode 100644 packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora_method_channel.dart create mode 100644 packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora_platform_interface.dart create mode 100644 packages/package_info_plus/package_info_plus_aurora/pubspec.yaml create mode 100644 packages/package_info_plus/package_info_plus_aurora/test/package_info_plus_aurora_method_channel_test.dart diff --git a/packages/package_info_plus/package_info_plus_aurora/.gitignore b/packages/package_info_plus/package_info_plus_aurora/.gitignore new file mode 100644 index 0000000..96486fd --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/.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/packages/package_info_plus/package_info_plus_aurora/README.md b/packages/package_info_plus/package_info_plus_aurora/README.md new file mode 100644 index 0000000..c4f2f56 --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/README.md @@ -0,0 +1,28 @@ +# package_info_plus_aurora + +The Aurora implementation of [`package_info_plus`](https://pub.dev/packages/package_info_plus). + +## Usage + +This package is not an _endorsed_ implementation of `package_info_plus`. +Therefore, you have to include `package_info_plus_aurora` alongside `package_info_plus` as dependencies in your `pubspec.yaml` file. + +**pubspec.yaml** + +```yaml +dependencies: + package_info_plus: 4.0.0 + package_info_plus_aurora: + path: # path to folder with plugin +``` + +***.dart** + +```dart +import 'package:package_info_plus/package_info_plus.dart'; + +PackageInfo packageInfo = await PackageInfo.fromPlatform(); + +String appName = packageInfo.appName; +String packageName = packageInfo.packageName; +``` diff --git a/packages/package_info_plus/package_info_plus_aurora/analysis_options.yaml b/packages/package_info_plus/package_info_plus_aurora/analysis_options.yaml new file mode 100644 index 0000000..566c597 --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/analysis_options.yaml @@ -0,0 +1,4 @@ +# Copyright (c) 2023. Open Mobile Platform LLC. +# License: Proprietary. + +include: package:flutter_lints/flutter.yaml diff --git a/packages/package_info_plus/package_info_plus_aurora/aurora/CMakeLists.txt b/packages/package_info_plus/package_info_plus_aurora/aurora/CMakeLists.txt new file mode 100644 index 0000000..b0d31a5 --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/aurora/CMakeLists.txt @@ -0,0 +1,26 @@ +# Copyright (c) 2023. Open Mobile Platform LLC. +# License: Proprietary. + +cmake_minimum_required(VERSION 3.10) + +set(PROJECT_NAME package_info_plus_aurora) +set(PLUGIN_NAME package_info_plus_aurora_platform_plugin) + +project(${PROJECT_NAME} LANGUAGES CXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-psabi") +set(CMAKE_CXX_FLAGS_RELEASE "-O3") + +find_package(PkgConfig REQUIRED) +pkg_check_modules(FlutterEmbedder REQUIRED IMPORTED_TARGET flutter-embedder) + +add_library(${PLUGIN_NAME} SHARED package_info_plus_aurora_plugin.cpp) + +set_target_properties(${PLUGIN_NAME} PROPERTIES CXX_VISIBILITY_PRESET hidden) +target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::FlutterEmbedder) + +target_include_directories(${PLUGIN_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) +target_compile_definitions(${PLUGIN_NAME} PRIVATE PLUGIN_IMPL) diff --git a/packages/package_info_plus/package_info_plus_aurora/aurora/include/package_info_plus_aurora/package_info_plus_aurora_plugin.h b/packages/package_info_plus/package_info_plus_aurora/aurora/include/package_info_plus_aurora/package_info_plus_aurora_plugin.h new file mode 100644 index 0000000..3d9703b --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/aurora/include/package_info_plus_aurora/package_info_plus_aurora_plugin.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2023. Open Mobile Platform LLC. + * License: Proprietary. + */ +#ifndef FLUTTER_PLUGIN_PACKAGE_INFO_PLUS_AURORA_PLUGIN_H +#define FLUTTER_PLUGIN_PACKAGE_INFO_PLUS_AURORA_PLUGIN_H + +#include + +#ifdef PLUGIN_IMPL +#define PLUGIN_EXPORT __attribute__((visibility("default"))) +#else +#define PLUGIN_EXPORT +#endif + +class PLUGIN_EXPORT PackageInfoPlusAuroraPlugin final : public PluginInterface +{ +public: + void RegisterWithRegistrar(PluginRegistrar ®istrar) override; + +private: + void onMethodCall(const MethodCall &call); + void onGetApplicationOrg(const MethodCall &call); + void onGetApplicationName(const MethodCall &call); + void unimplemented(const MethodCall &call); +}; + +#endif /* FLUTTER_PLUGIN_PACKAGE_INFO_PLUS_AURORA_PLUGIN_H */ diff --git a/packages/package_info_plus/package_info_plus_aurora/aurora/package_info_plus_aurora_plugin.cpp b/packages/package_info_plus/package_info_plus_aurora/aurora/package_info_plus_aurora_plugin.cpp new file mode 100644 index 0000000..4d8a580 --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/aurora/package_info_plus_aurora_plugin.cpp @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2023. Open Mobile Platform LLC. + * License: Proprietary. + */ +#include +#include +#include +#include + +void PackageInfoPlusAuroraPlugin::RegisterWithRegistrar(PluginRegistrar ®istrar) +{ + registrar.RegisterMethodChannel("package_info_plus_aurora", + MethodCodecType::Standard, + [this](const MethodCall &call) { this->onMethodCall(call); }); +} + +void PackageInfoPlusAuroraPlugin::onMethodCall(const MethodCall &call) +{ + const auto &method = call.GetMethod(); + + if (method == "getApplicationOrg") { + onGetApplicationOrg(call); + return; + } + + if (method == "getApplicationName") { + onGetApplicationName(call); + return; + } + + unimplemented(call); +} + +void PackageInfoPlusAuroraPlugin::onGetApplicationOrg(const MethodCall &call) +{ + call.SendSuccessResponse(Application::GetID().orgname); +} + +void PackageInfoPlusAuroraPlugin::onGetApplicationName(const MethodCall &call) +{ + call.SendSuccessResponse(Application::GetID().appname); +} + +void PackageInfoPlusAuroraPlugin::unimplemented(const MethodCall &call) +{ + call.SendSuccessResponse(nullptr); +} diff --git a/packages/package_info_plus/package_info_plus_aurora/data/preview.png b/packages/package_info_plus/package_info_plus_aurora/data/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..e70f4b1910f741c6ac7f40587952dfc08bbd7561 GIT binary patch literal 85120 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�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φ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 literal 0 HcmV?d00001 diff --git a/packages/package_info_plus/package_info_plus_aurora/example/aurora/icons/172x172.png b/packages/package_info_plus/package_info_plus_aurora/example/aurora/icons/172x172.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc271ba73a05054cdcb09780a4cc56cc05d5ea7 GIT binary patch literal 23377 zcmV(|K+(U6P)zSqmOuC?y_?7ffSk9qsKpZ2G|;T1gd`V+Vh$J6e3>WK^9diC4q+h(`V zcEMA({kOw->axAR-uBz=qr>)dfVbX`J-xr*_t3H1zgyefqFprG|Je?2d$aAaW8ZV^ zuXabzw!Qc0KRfd1EBgh#&;1^IQ}*h!+mx&}`jC_QbBLFY)5|0bnh z@P&)xv8UF_XE4)!IN*oOJDv2y!iZIwwLk8xEa1q+b{et{>s_n*4? z=+|HU1AOWRO$H2-ZnBFN6Qy*X%tAm-Cp6xQn&b`dSWS{c@ zAsfxU?>xriP@gB1|KPUsWA+3-^6H!M@#kOoqhaE&8L&V1Kl^j{fDhezdiEyZ&Yogq zj>vdl>D0j7dUv#&2rTRiQzoSGZH~*mF*7w4>OKob573tsmjIbh&?exb?Jm+c#dbKg zOTNF=zqe06{%8K8{S4l~_Sk^k81*(u`tNQ+J%=j0A39W1ItB7@KUux@M~NGu5*Vg9})76Mw7|J}J{q{Bi0Q zCTc*-FPjs}Nmwpc+&({e^%Xq-xV7%(aZdi<|AzmSCk!9G4fZ@hsV-e=Equ)Kdvhj) z+_gvY!AsFT6!&6)%i{Om!bmypnF?f+jj)m&^2Y{6c01?d-U%qgR3o41_URlwfBdjGcW_E9@#{hdnAI^*!b)b=CGkioCleJXkAB~OmtrY68Y;h27CNqOZwnc2*x|@SSC(Rr>@057h%&`zV$Lm&uY$$iAB0$TmQ;y#$YG zJF?5nfO-7EYp>wF5BoCWp*8FctUu-P4b&N^a%>_suNny?(*;uNA&1e_uuqp{2U&# z-3i#+1nWb$UY<|TFc8N`T;w-%4lq`+-3(QB2`A{^u<7=9JxgPX`+Z3%Cwz_(IOsrl zs56pbP5^Bv76bQ9I$DBgq;}`?ZG7JM84Yi3FDi#L&4wM_H7IktdIeUE<*a2eG9lWC zY-|a*4l+-Kk@bwygjZlSad2QQ_RR_5ZF}xl{+j<4+_Bl&&b@AZ9iK_&Sc>VjPSwt4 zDm2J~I!?IlEX|(v?=;S+d%0ek`;MOdT;J$RQhDfYcQuf{y%{Za6JV*mU{e{FWh$UC zoA1H4p%l8vJ7uJ9k3Pv4qPM1Rk^L;Q=D9MjSxdLMY1uT=n4I`JoC&^!Yj6(9J-Px=Qj zwgs@amLJaO2Qe8DC6@@fXf8rAa6v#6=A;4Zn4!PcjJ*L)O?3(e&)PN^Z1({fuuK(< zR5BJ2x@#AiTE-%U9Lj>JnRSfpQ!F)l^Qp(I?}$mSB`xi5fEk5MI>;!9YfV=&p%os> zLma2kMlw-LaT07HN%l!W!sUSkl_zdORB!g>udD60lJS=?HUaF<|CE0Ky(%Eac4Cv- z=S2S~rpRMU4dXsO(@U}IwbCI^)Q+Ls74#P&&2tBDmkK?YHXekjWc*+(XyvBpE57D+}nyONWWN;%e zhV84Im=r}NQ)UjA;g3F^{pFwV=U5E^?CXvXI(3`%VhRKWaBV&&4aPMNpKoHsjBImi zObqL27Fz%%TbCFT)o7NfvZdr=keZH%)}xe8@qqLEMa)->NsI#T;AsFSE4y|#nX*Q< z8elrT$3IK;6hJaA>ESd+1{}v6)O%KbLCqbE0AJ^wo5bqpS;tQ{RBi@nM(-ybY(nh_W+OSJvb{I6 zW}Qm^B)5?<_o0Fjvlb2QtKSo_9^K^399Zj=V3o`wxu9>vlw=2HWMQR(EOeY=LySo! z*OdTgiIl5+8U(=eitN)x3nyKyZD=jGLjw~-UX`g)EI#CO(*C?EP(I<3DaI)AT9zU| z-e0mAo_gZT`19FEmjoC5c}g)%^5G|PNIT8gG2xU>2`7^+HeMLk$mDH)MEzsp6af$* zv+KKpzh=`E#3n4cy}4*gzINT(Uj(orsWAmw^>>?%Yw6fi<=cv8@S%$?=H`K9GG~=*HY9sP)pnlu*21jA&I{RO605GlD&(F$F1svu54l znVih9fptPi8H~nmU)f3w z-d6DzUUeW$RKTTOSTw}1Z5?VGJPJ3b@zoiE0e+L4Wx4vq7~u(_}L zcAQ>7Be_oAc3)ZNq~Znz|K*N;anh%q)o$L65&=_pvB`;`OI_`1li}|s{mfc-*i7W; z+Okn)C$>WO2eo~RuE$gLb#t-{l-f--=^`~!Ju!RX1!EjOfiqL;@fF35Do0C30T0-qey_IIQS5LlNzpM~o zS`k8P#o2GV(Ot)&wMzNMt{K;je3)8l#vTX9g zO@ZPouj9Sj>ke4I;0H(|X8=_M>TKCq6uwlB195_fYuq$&%`PciD8di-4I^Yp;81{3 zsnH%WENs<^>dc)2t@;6BZr8Qt!EBcq;Aqus&Y}n#Hp*&}(UhQow83x{oajC%;*AC8 zjr>{*{FEu1O4{a@#|YRRKzG#;g^1RHL7nXxH2ft)l5p13w~5y?+o4Oeyx;wH;Va7< zV;P2-CF&0AQ(-a@vjUMmn*ekPTy#``q)CvIv1`ckN*j(G#S8NeJGH5;R4z8=G_J_Q z0HZQOt$=Vql%e`veg*2>FNsp;bB2P-M<2Ssy-!PLVy0ez!>TM_{eTICnfU~qEjk4| z2Y`BK96zR6Pzf!S^qV4g1=Z1`7`Cx0cQEupTK&Z zS;T5CAu^pP)HVHOm`j5o18)JBG?_3bV#@PbN09BQ4^CO~m3Qp}mJH&7QQN-Zx}~|7 zDo?bblfbGCGb5q3CxtYl1s>tvc0UE);s0iyRgNYOy;hUu=UKN=7Sc?S0Xk*prqT1! zjUZiT@VvLuTG|IBZ`zIINS7I-S+Wu532zzi+DydP{_^-PX?-k`OZ<%JTG!Ny$WkG$0ktxRgLH5B6f~M z-!M|82guTlD#r4gHuYiQ>ts5WeWuaAR5JgJhNYDUYRK0yltjg#JkZEi#n|WNgn03U zSXt)uP0A;$71@q1m2@e)u;^H0Ssfs9Bk+?yOH8YXo^?7%3RrKTIhT~Q+)8N{XLEm8TaVJF5JDO*&to^ZAC zM+TzIRO_B$PelstGje(Phsp$rHuXYXT4@-4_s1o>q}&BcElp9o&hRFDEV zO|%ko%Y{v^KXEGwoXaQ`rJ4r@XJsB{JH~r>3zc`WKwVz7MK$SNI@CiWI%p>;Mju=Fqvi~Fmm(k0H z0%8vGoBy8PD#&+)V5MYTVrP_%3T>2{ZDkFn^kK-FEG^6&z;sl~V0OY15MdaK*78B6 zoV1p*a1CbzDBS?^)}u680Fh$PY!tdXQ$P1?Y>>7GvtIzl?`Z2(b2~A;Qz;?K3&88sh*NN4} z>6pU1??`Ae>G?%=kWG9gKV$NXR+pQRo)KrMgZ9Dq>m#iN1`iAyo@2|xCAxx+XycAq#dvLN|*+`c#_>&9l5U54CGEJDqjFjRi8i1^~(KC+Ao& zuAw>lst~(%(W+}O7tN^bx zca(o?{F)aSWsBSU?ICvC&j;yu`a_^%rmQ8}JU-I`rAbU@vygXeE>Q+`P&ukuNS$S8 z9cmkj_yVxhX=nz^lvXinMV{FgvL%xsGc>V;hkmDe$B7+igZ;McIzW|jSpy~=mf%UL z^$P()cxKQuEYUe+|H>8K-FAJRgmC;lb=hw60%YdiEW^Mc0}^f5 z0C^tGEG3mC8%f%xfY#vP{Y=Ur zK(0YWznZCCk8U!^n_UYO)-3NcP>gi92)rDh*_MKhbt#>=Y=Ic9l&&_u9u$`)b_{AW z={FeIsI;OB=gYQ6W$FHUxvj&p6#9ZH&Qsx;Hj1`^S*&~PQ&uELF<4DFnh*r&fn*YZ zA8N)ICl~U{Nv1aso{ZlN;=lw;Mmg1_)h{^!lR4+olX1BOu?1h2xF5N8OBcXX31rQp zd%LUC3I>m14Fp#N)tvfjGibLB3a0X4_2Y4FKlB3&_E2-B;EmLZ1QO3B+_saz|j>VcW;*@c#t7W{1&SG1pV;lVkw4|nGx##Pk5~t`V zb_WCHY@>iMnk~0LIjHcK*|kV>G0({wPN3*mGvnPX)T zBx4_0AucbaTtXfL#5o+o_8nvLN?bPOIDe@MSIq7-QxV~2ofVOKv~P#-Zoeq z6m$^~3oBL7x%hI{%@(~m?-{_XZ~VHGW>xlg2BK?fH?p7Fe~=90D0R3}y&cD^#Jbc0 z0>?F@ghA!B`0s0UXC0P~FdH|Lg+N!YB@!n=kG7zP7LQsh0nSlKa;rf1^gs-M{8?!jc5K0|;k*+jwupo?%U+zRa}$7?&@iN$n&c zpmuc{QgpXIAv2mJQ_3*lcGCHrv^l2U`~D5E&zPoF{z^^_(?;N0j3d1GxB!vDxqRDH zah5=LuED4n=RSdvQo<`4eFfe|YZ>Z<>8hV9GcZ6jpdrD6V@;Yq&$>3t1{oJ1#vzZ% z9UFt;)6R8*hUX5Ft4mfKqzXb=y{(UoL=OMb--T3A1f!IK z<4qYM>&ASl#^qp0ivA3?C9GLLK+|yneUusAnlwN>U4k5nuiY)Bnav0_les&CjP!3B z14I19enykYn(ttc3MvnQS2@7r%!n$P4=We}zX)zy(Ylo4kZ9u>Xa@ z*KP!w^*Yz;qCssf(J8r**hYQ%__|siHzn|*e%&c+4x5m_k4-Piw~9Qg&!vNNjT^QZ zzh%)&cej7;IjW`{T+#0W85~RQO?d0oS3s|qDnP}dZLx4fju39BnpwnAxoE69xxjB_ zEa`&At}(ZinmIY85_r>-$2nhl?e_Ny{7b(N z`||GtfAB@%cRvTcugjs=W}w$7ul#fuI+p%$U-SUkWW5)Q>s;D`01mrZ`xWhTd7xY| ztDjDMd1tX^l8w<~TDhxfUM>=!B)186FAZnpARo%e43B`|#017lWm~^92*83&c47qq zsRZoW?9TlzHE%t(JWXcenEe(HmWu1X7&LXP_uDy7yb1Q5?*zX6KI~iGb_3^|&ti!r zJJ~*e1MNTmP5AHp3*ZmGxZ254;8-Hfqbvx}l(^!HJH~d-2x(pq z&AZPTS!3KY)@ONe$XZ`HkMcyAYCHC=ZwJ2jeXwu)c6`m-w|@Knw~zNv|1t3CUpv_M z1Vkz9VHU0FifQX@>8)IFm{h|ScfMctrCX>%Sa-e=d*zc103C=~#5IyEbx<4i1am}m5+ zEC3l#jUwAOyao22{}6cleSBTE@BE(Q?-78jb|VDBs;oPXBv?UUoh5=bOA_4zY$SaT1tLOE|Th<*}l$8izgK@!5X0VkGLe4{>3+_(yM8m8=SdA}P zGj>4sFGm0_2P&1P;>HII9r0ZP97g3b;e^$v{I0QX-}x?J1M4mAf8DnYv>WsO<_)y} z>^INPDO*sv#B9fGn)Rj`F*L|z))VUjyJj03UdiVelqsFgXJAv{7s(V^0Lu39MH5dP zE`7d`6!!562q9DhXmswGlv{bem^!+|awjQ+#3`+rgo<2?+I>SKZ1)bYMucK9qnET5 zuVpG56O-(&06@0*-e-aL{@@=ESaaJZZ9nh<;9c+2{bUz!%4`w{-_%Wvb6@(+MGhlf_ZNB6cJ%S?_rbq+faZ^L z`<~m_?|fhD7S5`#Co8!yU`THpOJ!-YBn3-GI?0w)YXam;6hE*h)W;%|iA=Q(0`j=- z#N?EeL78QjJs-E}um({o$@LfT^6->y!;Y!6J0LL&#)p6!4uMJuc^; z?At?Z^e<-MT5sFF=h+*(zIQnC-@vwk_Iv*H;_s#S7q3J{eqk`q0h|C9owRdJpIJ}mB$I-HKmzz+ z+9Fy4YAdlRb)}hRzb;oyW$FMG?Fn)Rmik-M1bnMm-~DfpS?BhyTj0Fy?O`W0#qEnX zk^+Guoa0kwI2fu{Ee6c`cJFJoiE;gzKHSHQD^Hx#xs+x{E8+)GPvjrVBqE%NE?e88W?@Giid?abyJ2mfsx>Tee={>2}G`gioCpJh%cVC&DqBy_J0u}ilEGnR^ zlot*%O084n?VoKm;NAQj^2gX-dlmS-&jY{xS@`V>0^2@s+x7**wpROX$1>I%+Wx&; z9sMgGfxq@j%i0tv6W5w7qj@*&np-hzPM`qrqx0)Lbd2=f(&1b3lRk`Z7`ANf16Sza z;qoKLVfjg@eGjk0wgKW~BPPtV7;p(Lc~$`nXxvbX@95(YBmoW3f^YIP_`>CRt!~a- zJ2@O>L_V>kJW9+jjFsEF-+N4Y9%tKt`CGqn{7pa|irql`BJhttdF%U|_H|r*$Gh-Y z+a}Zf?}u%x2iYgd&nrWK5<-??-KPDKhjZzQs2M_$oF)s!lA2b~N}AL`-JN+Y0r?v)3^oh+F@Y)BIEtFi54P=kvTDm&i>1Mt!86<_)z^5`Pmw*k9B{C) z+MrhYw$8qR>AM~iNT2_0;A0;F{?R9Q;8t)NOG4WpdR^-`X(i)ZmrGQcI8Pf zZ7w-rHs--gWE%iz14%UcoMNHavbD>)vX2YniBg>2TX|nX9$ibJ11$}J>Z8Z+^5nMX z-S5R?ZJ&GbmZpCJ*sc!%^ML7RmOE^_xB0(+;V2;!VvNA}c9bd1I$6*JgqLf5MZ(@=KQn2)-B`Noc){FT05GlIQq zM(+!jdCZQjqmTdRmw>Ol`pCl`H83%E>6XqNM3B0H$pUIyaPS9AGLU2Gt0%&FPP1y- zy}nH}V$}lsAhop7BorvVB+-^m#(?cu(r=}Lb-Dgh|}3@u*jq=#7e7$f`jtuiLpB)Bb~B#UpPU zV7Ciz0Lbkt1)fOn3-clLKlw3`JXU0&Sx>0LS<`+~egR|T+S3Qm7KX{<4aQ2ZHJ0%! z%Wx6H8+E|Oj?PBiX$t=mWJa;{Pc<+`0+ad&J;UEq-K>AkHb>7&37Q&SW~O&(!ga2Ut`cG#_MAN_Omr^JDSs6_n&TDf|uBA@8`33TsLsGeZx1S zzRjZ`v^(m_PPQn(F&o3NmJfw~-Vf5x=u4YEzrKaTq@e(FjxCwaN8gTl2Se;G9dMbc zvYwLMJLP_M5a_a#*oy&B>n6uPS4}nNT&(PoT}Ubi&F}#k*CxB}`)u|eA8wzXe2i-a zHipfnMoDZ03D>d2GctJL;&(oWN8aB0t*v900CkX-{w6rK?K(3ILS7R^yU+w z-LY-8Cd&p5E)8OGo@5FRAKU@-hivzr%w`2oUY;wv7%koTB5i#JA9p=g98x7n_wO@M z3xwQ-bzO>)B?-!&6T+3xgRsWjb2NT+0OMV}q5Sd;=^$Qf0F(k`~dSLQ76;6ZWY@8GQ!% zzCfIly*Q&L!`9?7;8vG2vZ7RiHs&Z3#`yB%gxiVz)hrE2)K^qZou}`?w4OQXN_0-0 zn5jV~FytzCHYzD8ASOi_NZ^@s$xCvB^qJ1{F)^WYeCqQsyz2pPeRikW!qVHH!6R?`1dVJx4j&n-{m4O>8O{c1Ic^scoWPBf z^m0Hay`TWD#?})ljKMMNPyRekF$qw=V5M;BDQh^h^$|vQfCFqS$0BGgJ(&d75FxE~ z6(hTh-L>3dE2}8>Gu}!Tpp*kmC@^w>5%b0XG)V-wUS|eQhZYk%l*JJG-j=C+TdI20 z?aN;xJvwXYvuU$P;Iy8#C&^sL+9vE+i(v=pR!@j{j`pPEKbY4N7SW!x6fOaNp#ei37m)I z>@rvb+D8W$=n6Gpc}x+3eLwWx_n(E;`Lk#eP3o z1t=SX%Ms_4SUy15pn{g~Bdf7N#MO4p)u}4Avedj#8eNR+-D6H1Of>Dcl@#h3T8`xm zj$X?lzl0-|Fnw)?NHQABV$zMKtW1-X*R9ab%IAx&Eqb6>$ zjAQp?V2v_}aD&o|G=uVM|Lg-qVF0fYiZzmLrM-s(+PE{Fb#&HVa0)*TxvW+0&HT)O zko1$se92{K=Gx@Fth08L=!RsZ{fRN}`H%2e+jiY;1!s@X;~2@et9}(l#U^QT4)W3= zfGLI{yBLM}E`tG@EvcL`C*ospI`pe{ZzkP7(yiWgd^@Edq;ct@ynf&e3v)HEc^^;Z zP4Rg+Z`*U}G}CledT>q4CkmSvQ@Ah}Xk6WzAr$Te=9)aXt{0E7*A;>2%h7=_fj{cn z0@Yie2L8;Sh2b%_?RtY-Ng%frg`8xDK@?ZWFYp}s8D&fd%^L<$gipct61%wg1dd{j z{+6ocI`-q#9xeNDVm^|JPTuvuw>u=5!tOAmHQHyuviuC5qu#iLozfWOd`n#V!ssm| z(-O%Nuf=E?XrXw!B|cea5H@nknXt4+Bx(+b&urGn&v;!QWO1L&p1R zgtdPfRv5d+mxKnNw9XSW-nKgi-t!;4F|hu_PaYGl0%!`~&d!*^_=Ow?2N}s&K~M7y zAK9f|OX1#l+_b|L=m~IQ#;9$`4DIJ|j~|cNbe3J^E(G37q(hL~irazm{bLGh3E!57 z*}DX`6J>cK(6M;1Jg2DEs=q;_BUxAG6;Wkm>x22^y)>2+E23KoTLQ$i%wQoqD{J(j z)3tZIjSau`_Qk-Te*fd&;J9s{d+}Dg{u7&ck}xVhOC>*2HRz-`)8m;xb)5#;fuXws7mPd_i@Wzu_m|Fk zHUeIVZUR@1N5SI3u%riQ5?K`8jk(s0r6SXF*NY$4x}>79j4-H}flkcW$sn9oEK3&4 zv}qtC65~~>@?rP}H`}8IDkU#{;M#%MBHaFY%QwT{|3k+^j^D_(f%WhIU%;!c9tvAB zxKsIqHML2^$F8dnqKz_bf4G&cAg7wM49@92$;tYC;ig2e?#orsdY9lYeVF93dE>2m zt>+SulT%S#x-+8!nNxWK70oonwy@DZn%q(;=QLu#^1Xd2m@60{LjsZ>yg}XlZTsi} z$3`;PFl2$*==la{Jx@}ww<^H5+}2iq@Q2>mRao2hxfg+7`{j7ffwjGO(r05|+2@e| z^p4b&aq2402rs%aUlS1nai>isBOmW)JEu8I+@@1y)RfS5PugBDFO^(Y+|#=aI2S(bpNnT`9XvWog+0^+hu zs{plat=|(7*Z^zkou}TbE(mDsHwac6w6(*7$j(x6sFF;zonxHlLFzhmSR0=;WjHHO z3Uj37XPv^4vs3P3`F2k8lm<>`13(^k`Iff;@4v0D=I@5TDMk7PSK=eVBOI$#*5#e%+$<31jYjR9KFI}-G+(sPha z{Kmmxxr)|M5Q$B$Wtw45S&8b|{U$<#0Nq$mXZ{z<0OLGSz{v?A4_pJHxd2iUXi7?^ z4XwGZ0;~6sQs)Q%Z2uU?qi)*;GrRv*hf9l!C zU$*+vZEf{eZxgHEdr4To9Orri`E+!V#iqoSZ9#g@l7Lz4Ea+mZNo-9vXL-Q6hhzrX zOTMW>V=4#A2hnj_2AU`|t)nvOy%@|Ta#CQdK(-Q5qEcpZrpNk8cidSTp&w75LBZdQ zxpM+(CG9e1mlPOTUNA5jgv}NW6wO;Y4PXJC_1xZW%UAc`iO1Tu)c=WJj3>Xif)yYF z=--2A=#fl$ZtTdrgL|Tr1djf5Pj$Q}oZ4jWwg0+7$W7|SB%qmAyRDvAG{?|M9TO|aG-xQ89RY(sKpnh)J_-MMYL+56IWZZg(?r8z+Ojv71N#~T^ z;< z`ds#n251Ca>USBPbxSJ-O(5#+C8<0~;K|Ak4K1tUx>7MQ3g16p4k2k+sy^lgQ~^Av zk)f8K8Rs4= zwXKi3?OzCx=rCfr)Vx`?PUP|k^qDciGL5zpWUyi^aG#tt^Di-yzy;PXQqsm(vXvQS z31Fd90(||rikW5{KtO+7f*P+EF3yp z+B-OTr-oJMp_s$eDbh`@CYau6Nye?(lE!=F#~f|7>;9zx_03~VV6m-?GF{or)K0Ft z^p<`l9WnH-W43U1`PZ7rx(vwEE||~C?c>$~RISMm94N%@Jx8E1Q~!&qKvBt(S*5I2 zhQM4s597vY{WIx+7UG7UY(T+aQChIDHkhzQlT>P10}~T)*-_a<^hP~Xp=Rc0;EO)^ z-@X5Ddc@U%fAM1X50WXtloKdWcH#_YBY^#6Zh%c<5Z-{mQo$QM02Tw$zxn?7nuAY7j||-8d&1E;cpD z6dhtzD=+G<4wJR$)a*Y8%EL~zkf$>&@AWd7)EGrnv4`b1J7^{@eXUFA8Qs}{S+#^B zI}ymi=Nz>{=zndNew?+}FMp}bSaxC4CUa!~a;X5)L&T$cz52k&U>FRwsE$t4(SJUc zGkpPHC$WinoV$HLBEZTs>URqn9W(c`pf z9uFlZSc-L1zfp%iOg3*Iff&8T>b3=XiJ7RMspj>&0tEmwcj?cV;dWA<%(|VrsV8uk z;vLy`qKwP=&AJXsRmBi!LCN`?hP)oNh-InAL<$P15{ml73S?m!Nl9%a@EFoJ)pX9R z6v6vAzl-q7D?0ZOF^8==1w;vu_g-;bTA-_(1*;#|m zN3Gh)T*L`8WC-nxRvY9=lowGB3O1l=J%vo?Lkr^+KGS%%&2eghoKjOO;RPyfMCWk8 z@Me&Obxhgw90!)Wg0o+$r3>7}1Z`GpyTevV&bPR0Ad)NUyYdnq8d$lXU+KYVX`)WC z3=nU43iJ9B=zW0;mcT6*-TJSmwV2kY%!bspjUYJeM*WWr;I96{I3`E7m;Hv11q@bK zm1WvGWaF>=0>m`Dv!G7Q>M5B`J}CpW?`%m|#Tc$kavZdZdL}1f4d)TF^f(E+-AU2* zI-E@X&t;c~Zrj(ev$To8%^)f!JR$lx)M{NR^Y{P=f!|Gadl>OdbwiKh6nh3qv4wQ1B*PJsO9?~;EQG`S3Q9<- z^xnV*=+FURtz5O^lvZ7AeOyrsRR#*u1~E!pvb4w&fB*6}^Z$ka4Ue?hd2K1BSEj+R zspoNH-5Wr1W9R8u3sUkhG7F|%jO^dO(_jGmb9Cr*juWsk9>}uySiv^{PWmgU&{*5P zdu0l*8UJA{*3~o>NgtVtKu3uo+3)%4nxFK_st$?{208sWkosQPaY_|Z0c=-+U3x;+ zV7AzCUBE5@h?9W0eId|#tD^nw7>$$10QxF)u&>$r9;*#Tc#n<2MZpF@FZHx4hg9L# z$4!A{LP8@DIRhG2`GcJLdIhFA>+wWauDKBp(f}#uN+eFl368zTF~~S0WHn~98KsO} z$k36#*ROA>sz!@+(ivs>#;PX+R*~yv_^@M1zWwu+ zN;=DlniD{{o+J$x*+A0S8jM7Gbq;?Vgt2a3$NL!u2Cj)w7r#{flxeC9>54~h7Te!Z zT~mxlky!CdbxA7H22ubp4lApre8x;>#hxv|`OfED zniLnzo{+?_L0tTTVW@niom5*D*hr8xdMC9_@^*7nhF)@L<@fFHzS7SBDP<^jg($T=p6(eo?MreRtgc6}ZPVPwTw*GkPR3?A*}azo94`^O6pm=VZENkGYUql2bNJNZg( z6y=gm(m*i?;VyJZpevYd06F{fG95obT-oO{c~V1B{~Mxm@em%(l`$S)~)phU9i%A7R(qEQqz=N&1EA) zO`@V7bt&7hpYNrx3@%Q;Y$)(7(RHPRv~9<0mXr{8wS@Y3(@zno}a`l1N9zxC+5 zf+}Eng#s;Y43_f~n%Z{(k%=;KwmYqOkg)`Pq=4+0tdM|<(ToM< zltvLBN7^7ENgUdu8eTk>`Zpq z_Fq8hC{5`QW=-m^K)L!97ftt0UtzYTZA_XvB}D|40dt(C@-!j%G5HOe%A18$h4`j}O4!^#F}`yz_R>4*_rarnP-I!^zoQ^AQN^RXIO{sUl%X z>84{k>z&7rpebKa873-6aygESQqboxl-5C6nry!MHO5by@V#Mx2El;|p4o;)-uLeV z|MnyNbo~a_4Yct)u{^d-&+|B@KsM2bI-2UFW5>P{ozrvLv{oIw;mE$1VP~-Gwp-8? z^vYDn=kp~!tKi50tJiFKafjS1l@~jlNW}}uIlvNiR6k|p)@vFiZmZCrHsTa*)WpF?&-?XsX#{2<4sx>6yel;+_;~Mk0+*5o(cN> zyh{R%gxFu$XgM))YG}@;g`{YETxe>05Bf+y_4#y3qu%90qV%Bq~{ zYfaJV66DM8_%1y5_O9>KU{kScw>lTVm<+qTLLL*JI^D^#@!D1~!WWORGNMd0vp@H? z%T7R-{wkMO1~LugWUAQJ!6jSnn-43=VBYu1JzeR?$|30J*`pJ!t)mp<3yQms<9G^F z7OZm?;+`TZ+b zlM1^{%&^RLZr7c&oZ^e;kLET2EYwiUR(;d_AYrMuXOI4_Jm>Kkq64%Z$V~G0vxe6| z5K*~2xtyiV1uI?#(g|03n^-r60d%HYmbr9s&uN|VI7$bBN8US&ts?J1AXCp7{fS zal8fqdigAUlPNpTFX>ujsYN^b6*JzfOP+?Tew5r$pkK&wMSRvX)?*i+V?7J6&K;ua z38jPEN#yZ)cYq{~9Wt#GkyNb5k*|qE72`Sy=}s#A_kh9OTTqt0`YPVg_S&l>tr9CS zqd9@PY(Vlh!n-fBIoG@_Jg?g9SFd@WTh`=X*>;_*S{%^33g`fK#jAQJ1kG`Q8={CftM13z#GU2S@=pWZvaH$f}wiO(j|D z$fVM0etqsDqjgY?K#)vB1}WLojrFBavJYtRY?X2*GfrHV@mv*(I!E(Z3uY|*sK5Ba z8)~iZMwFjkF8~A2id!yF`Z@`;4Cpw|Yh-GOiaq5>|i|tW%nRT+AyhF%d*#sod-haGab=9c03$3@h18Z@PP8~FR zkJ$&aLnEv#kVL1Si`e_oYa` z_37j5*GJtpcKrvR>hY;AKW8mK(j~p;YZ81OhYRBs@R+R-`WRXUgpDGYdoE(c4>S=h z%A-EX|2dIL@G)m`h6DMvvv{!kg#(1Pi#2;{kv#@OM{B)@3ElH^N=pROB7Gr^1SElT zj0j$y@&O|o+~j$T`;i^iSUd$rGlxLBe6PX9w`=VCKk?B6h+l2n?&=cN>XvB8=X=Dj5uQ+|@pf+^QV6cM%+S3Nfo-G-y=>>&}G(O1h#{IV3Oz%Qy zS>7;qE`DO18l4V$xe7Dw*KajRw1;3!>BMdg_8#g8$cvCmzp)cgve+}&B5`pW$$c$T z`=TdfWqcSUFw>zM0DtNKJlOWGZ7TzQ@#l9oPKV*DIpipfD9E$_v_U#K?aZ=^-BGJ3 z;;WGVY+_Wt82Xo=k|nue9wQOId-FdeCpZ=CFGvlnl4HRRe zJ(?lpcsEr_=JvL7t@h*KuLf5ch^cJIjU!NOG&<}=Wr@vko!U>3gPwim+TZr!skgzt z<2(AAf!AIG{@G`vZtZ?MJ&|q^L`FLBwPH(vX3*J5=vE9ye-{DB!L@DbiV@M|2cs9`luWkFHbo-S z=#YtK)t{To==whGE%s$y4g=p8XnazOt(i`U!kWY@@Qk_g=uUoqK4Ra8GH_PHMBi#h zs|Z}6*B!Cj{(Sl!wEh7Lv?-Dgv2cv252d_EhT!4Qwlt_(45XJ!pDh9bs3tTGoIAI) zOEUPB*XC*fO?+G#qz$1HJ}y=C4eN!q9rfK-Azem*@%b#yGFHl70QGTE6iWB~ZP>>r z1E0!*G=Xku+l^OVPSyd?U%wrKc)gE}zX`#hZ`aTDhD(5Qno(;4I_#m}HubWLkyAQq zA^nmeQue$2Q32LZw{da0^|&N+25M^M=^TVZBceK3bZ}?+X)K*Uro~KF0-OOc9UOh} z`n37kNga=8-yYHnmP1J(;Ed2Gw5*|l^iQS2l)wB5!rFnu{hqEbU_^(rTVk*?p;+m1 zI2Zar-##78X5=M8+>t^Zkbr3kL>dkPXQqwNOsAJlvrIr8A9fmFJ3>+~e_g%Hyq!Q7 zD;v1&V51zH0KEhkd7EWOb~(oE5(q30o0WCUv>R+#wkhWKa)ks$$jev&No$;G17Iyg zlTJOSqKutcyypsBx}of}*3;X|gG+X_A82+tMoZ$>$YBMR3_`UKsHSld)>?^nv!o?{ zj3i_~=xjR)pa}r0JOL_Myn3MV(|At(B)jsy(gSF=_d%d5o0sj<8S$HB;C=i1nQ4sl z0cE!nzofG>h+@Bhne5m@Sl6+sYmouz?=A1tZP#Zn1yBz^*2!+3nk1qnOpRTWMQ<^3 zykn{{>aS$OOl0olRu>_Sc2y9K8b#Ob;)mnB8F9c>H?zUTvCq)#LFZOTN;(YbJz$oM zQ?e4weAa=K#A0$$nV#99;7@IBlvAs6Jq$>8HYl>x>Gy4OUqG8dE#RWD&fbg9oWKI= zI9WZ#^AnHdIajh3>C)K(n00d|-ukvJ{U-zkx*paj-4Y8wEH8_39zuC4BJm~$HU5jjrn1(Zk7 z)Xy^cNlK@&m$lqr)NmbSX(>~*>!d@Y0aTU?T8=GmDdGLbK<_eVu@j)&?KlPe@<8E} zb1)g+Ia79)QP4u`_;@WFTz&LScCrrk{VwBe3GgLBej7_>^2|1^;$eu%Y+Fm$JwowW zyIrH5sgOOYDc%U^6NmYxqdIqW8c(L;iH6iyvb18gBEiRUEWHs@j+9PfFJ9ha`5nT* z(gy=8pTaFxg4CZ%N9Jw{QpwZ7i6WuFtz*=`?)Z6I?Q8a``YjPi*l zg>|LbhShD-^%8X`Y{$J})&jEB2?$e0q_-$<)@&ExbzD}cYaW%y2tbB2(DwTZ z0AfPBtF zxb}hr0)y2Fn7m4mCntc@mD^pjFB9!c8NiWQfn~9{?%+v9!nH3IjQCrOs?k+S*hu5i ze!nuOo-*TFYVbtB#|UYVA_J@f{T>mvW@d?xX7xq;ye zl$PNmA{He8xjqqAv)7s!QF?GPaz)lKT8%+$X;bl0W0mPR`n}~SEh^|%#w$8aW2Npn zR+R}yM@~9di2wut7#ldP83jtoPZK&H>=}AD;Jd6S+t$GbbIa5_`mT+TTFNb#(nbQG z+yUr0!t!kM#Dle64jH_ClKUJTRM{=#Ci^o}dvDuq4fZqg!Y~1~ookE7O zGv+ADKG_C{#f-G{k!+ia%Iz60aBc=XRf*U>`Y1U#d!$j3b)t(wijj>1ikT;lwT|6a z_R+z%NJl{j9T&iIy)Qb$n3Mi-Ka>w7+MEoPxLW^eiPIivy+$XA12ec%%yF2&+jexB z`snup@wz3j2W+S`9!FpZ55_YcPc~iBMy4%S4(a-3Za!Fo+8|O1#YUZY`@oZ$Y~y5X zu4kS4CekUkkOo$I*nprEwNk$T=z56vfMG~gYBNKmnRdN$)a{S4UIETsS~Je zBC0!0hscm zuALBDd}aS(m6&v~fD4eIH5XB}IHHVbVq~C`NPbi0bgWpzPf|H61)}#6rF~6+w?QHu z<-#b4#IBh#&i5zx~46G&X6=Ps9EbU?slDSODU+60g? zhg{!l%_t{3u(GbVJ*{l)`^7a6E|*vFqJW?c)L0MQ< zLKK=02X!!b=5o|B-ZT)#`Nj|)x&id93`XCBp|0#;Q#tdTV)C{DL~aLRJ?UOz(=;DV zRV&RJnpu~#j$E(VC0R3xWu|X*`YvGZAH1@te*5Oj$fC>27j(=HYTv+IUd5^FQ0`mu^_yPx$LU>)T@?o=zq(lrg$7#VXaUEMM0K#3^Tb zP~ZI%OKGhBH~;DTuXN&KAxjNIDcBm-PynYK%{yYCR51m=P;@%!x;N@NG~dXM6N~(QIKVT%fcnR%7lACRY#F!H{d&l7dYh588pi%cXToLe ze1a-jl5C2UaH;351~tKcl$T??d0u6t=>NrSUsi>mGBIC#{fbt^x^AhW8>91-(a(^& zw#!<_&H^M1FdbUPqCm-E54knHa&-HUg|9NJyHlq#e8^>mq3+a*meuK8YLFf#VoVnD z1}hS(8EpOP6Ij$gUl$>LrL7aVe22;6&&Yg^)%Rv<1E9bCEPIfCk)d*hsBL6QS~SGm zwsRkBZ<1jjgzsvel&!9=J<-QBke!qWB1nyDz!~#U>fnz#X0a+8yXq)EVOg#>RSwN` zR_&LS5ZAiB`dPrlG8mRDWu}2ra%5j|oUX8v^8gLNoY+uZJhRymH{SM6^I}YF!K*>p z(&Xax>`SLzKE;%=*%opS8tz!7NIN<8F|l(iKlZ1S?SOsaf=>c8kzxr#wXADwM7p8D zN|D_zHt-LUarZ828nJ_#AOTuEy2{7vgUxu&s7B1EAXXGrkj;qVNzzI5O9y2iWy(5U z&Rnwx=1NSl{j{0Y8mNk+fUKK3B}n^R3HHiNJsDc$qwzt0o#*5Z4%E(APBsGB^^D=^ zl$$`mzI`|t_JU8b9&yr=BE3OSk-jhqJ2s+fu$8iSTXR__#F#9lf!KR9<<_BQb0?>C zO6wVRcTW?G)Vy-UG@dN?($9~uz+#>d~B@Anx5s`y| z9FXh_dWh~29LgGe^^+|3)cNDRLyT-tXU{fLG7zAvzCx$E1f)VC`nF~O(QE6!(opur z=dxIxiTcSd-4EMfels-hU@oUa2Iw+^0!W=;vMySgkb=2E$Nf0C2(|8>(T4?W|I-AC_k-D!#Ko(Y@BS% zOv9r~a5ys;+Gy6Zbe z(RG)^I`E3IhUH7Vl!x?ZIcpu%XtbV@Exq>5kS4MjzwS+Et&Emg_8at;Z}LIm zaUmj|$#b*^D1_M(fS1BtgRV#NVzsOd*)9VLLzePShwzg#o z+eZ&|9UKtLjhbnb{j@HL;^HIOv;h0+tN6&R(M#k>H7i8O zQjnvDR|}j90kZ)t+Dzx41-vSBO<19TU5-c=$y(Dj+7l?W&rVsS_mxu&3p)cDj@ z%LmE~29}=Qn~cTJP{{skoaqP&^3=!4&aU>AY+>Dn^)P&K(|%1z%ETE-2!Z{qY;053 zQpLxr6P-tQl{DqY_+PYxOt-B7`raU3;X8ZkN zfAfU{oBJl0lf3>qew@e2mh<9VX3St88})5PD*=mv!>NgHwoBU?r2~tLKm{y7UziPI z5viv;`gOd1f9Ri|l$LpR)CN752^j;1n)_7D5hW78~0bhk|+c<#qV#_V+U?_Sk;%XMJ0feO81X z5p?P0AD*_@kYlE%eSaEzj>}6*bANMcIk~ci`)EsH!LnBb&;BXWg;@Yhu(3`l7h!CP z=^DWI3(cy#)WdqxfuUQ zLD+QB|Mu{xuP132xmy02fUV;c)U7hz=~Kj;{rX7 z`v7b2Z)=dD>f9c;*?cgep(iqVdIc!LF6iqHih&GVBGgyU>C;h1>wRAhmi>P-Wi_&B z>FMY{DV5Ocq*V)pz+J`|!Cg^H8SSENLRa5`}iZ%YMIeTt2NBGR9+z;mk%C3jU$r8Bprk1I}aU zD20j3YU|yqyzio?y!f9Fc8zn^?Y8s7(d#K#i(y@2RcENyPR)q*j^?9plSq@uOC~>I znFbRb@u6yU_%hN3u}`LWn~gv$P7XM- zTHpIx#4t-0n=-J0t-!Va7wu9;`OVk@A}9lp32MyFBxRRUyzNv55n#71rg@2PSuGkj z`Y7Vb0PB^C(n|soBRGOQd;&H6V~I*gC+^x`jeEo1kN@zG9p7wW>GC1lRvI8mgF7cS zeR@B|kPJnsx+UZHEC?B$Yrj0sDSRH|kCfUwGxR~;=LD82CvsQxW0#ATIwa>zhpN*$ zkzsv9MA;4-(u0nTOOl7^RiiujE(AptwI8iiHYyvIvJdBd51nRv(TB2O*%AHvvH#)) zdmeXe7d&Kp?G^lmZKgJ~?guhwT5p;UIf)GcDPmpTRG-aA#CF2QAj%6yPF9(*%`Fl;(7e=$IhXd0wo{Y^V$RsS|;rn2J(uWQvKTa&UsxI6N%7LwZ=ARX`HR)p93n z?b^C7`(ts*Cd+t{JBpBuVU3m5h(sC-trM3)Qx>-Yq>y2f~e|PQi`~(0CsZ%VSY?fkcR7a4K8s_^=i9 zJY#!56iCs}Wdwh;{U3hh1^aLDh}&ZUcH92?-|_o52Kwl2z-JN!B~lyz_~?t1F&VcU zLhd)gI+<-0@e5$leU(?a|7c`@PFhUYRvEOT=IROL`JJx?ssdMnu;o#Jj&11VclMo- z@pb)|CNyn1oQ|~~@e#DgKBK;S9|3phq(QB|&5s|uz4`GQt9}fRu{}0mbNg$5+kf;n z@P}`T-Deh~D4y(dybdr#%Q{x4GCM-oTnCdoGjt83a&Qery@FXCxMQ}=j7$2+Z9`6d z=efjsroGRIi6* zD9&o98EML0C!Yl!)5rGXg*Twu8(`GAea(Q)?Wcd*pZemP@!ZAn=We||ciVLzSs&3r zOMN(%AGis?gX^p8V+KPq^mhK@zyL6RMgl8A7kkf2focIAuj*TE)9jmdEtV3&2nY?F zX5+JRpvU!mTiJtIxZ=-%(=}TzYf83hce2@8wjfz-mSVRzFW%mK^m0t7KEjs>el6P{ z8DQtO)w*B#%6`??v$uu!AHV_N?eDF-5l(8jvc+b>3;MhE-qz?o-spr+jkl!HI)@7b zN^652&&M2b2rUOdj8sQuYz8ICAA8j<4KB+@7bwf_`?>Ek`*O|6!8C(r*m~5o#>Z~| zzI5}`XK%+odHZ{C`^x!KU%9dA3y(14eHjliHr*EI%x;Lb9;DVzKuST4L>kj9QwAkBVa_YvL-eD*0%aPO{B?lBM z5h9p{`E%E-7@g63Kr#88XN!YA7=483fdt`|J8 sD_*{CpKpIRA3S*V_V-7{oR7NwYwGPh2RYTc)&Kwi07*qoM6N<$f@=t!>;M1& literal 0 HcmV?d00001 diff --git a/packages/package_info_plus/package_info_plus_aurora/example/aurora/icons/86x86.png b/packages/package_info_plus/package_info_plus_aurora/example/aurora/icons/86x86.png new file mode 100644 index 0000000000000000000000000000000000000000..5923bb1113acac37ae5d280245b152cc4a1b242d GIT binary patch literal 6632 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 mdnuQ%0#85i!0Z3VDE}Y+awRoL1wwQH0000 +#include "generated_plugin_registrant.h" + +int main(int argc, char *argv[]) { + Application::Initialize(argc, argv); + RegisterPlugins(); + Application::Launch(); + return 0; +} diff --git a/packages/package_info_plus/package_info_plus_aurora/example/aurora/rpm/com.example.package_info_plus_aurora_example.spec b/packages/package_info_plus/package_info_plus_aurora/example/aurora/rpm/com.example.package_info_plus_aurora_example.spec new file mode 100644 index 0000000..6a0c214 --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/example/aurora/rpm/com.example.package_info_plus_aurora_example.spec @@ -0,0 +1,31 @@ +%global __provides_exclude_from ^%{_datadir}/%{name}/lib/.*$ +%global __requires_exclude ^lib(dconf|flutter-embedder|maliit-glib|appmanifest-.+|.+_platform_plugin)\\.so.*$ + +Name: com.example.package_info_plus_aurora_example +Summary: Demonstrates how to use the package_info_plus_aurora plugin. +Version: 0.1.0 +Release: 1 +License: Proprietary +Source0: %{name}-%{version}.tar.zst + +BuildRequires: cmake +BuildRequires: pkgconfig(flutter-embedder) + +%description +%{summary}. + +%prep +%autosetup + +%build +%cmake -DCMAKE_BUILD_TYPE=%{_flutter_build_type} +%make_build + +%install +%make_install + +%files +%{_bindir}/%{name} +%{_datadir}/%{name}/* +%{_datadir}/applications/%{name}.desktop +%{_datadir}/icons/hicolor/*/apps/%{name}.png diff --git a/packages/package_info_plus/package_info_plus_aurora/example/lib/main.dart b/packages/package_info_plus/package_info_plus_aurora/example/lib/main.dart new file mode 100644 index 0000000..230fa54 --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/example/lib/main.dart @@ -0,0 +1,143 @@ +/* + * Copyright (c) 2023. Open Mobile Platform LLC. + * License: Proprietary. + */ +import 'package:flutter/material.dart'; +import 'dart:async'; + +import 'package:package_info_plus/package_info_plus.dart'; + +void main() { + runApp(const MyApp()); +} + +class MyApp extends StatefulWidget { + const MyApp({super.key}); + + @override + State createState() => _MyAppState(); +} + +class _MyAppState extends State { + String? _error; + String? _appName; + String? _packageName; + + @override + void initState() { + super.initState(); + initPlatformState(); + } + + Future initPlatformState() async { + try { + PackageInfo packageInfo = await PackageInfo.fromPlatform(); + + String appName = packageInfo.appName; + String packageName = packageInfo.packageName; + + // Update state variable + setState(() { + _appName = appName; + _packageName = packageName; + }); + } on Exception catch (e) { + setState(() { + _error = e.toString(); + }); + } + } + + @override + Widget build(BuildContext context) { + const textStyleWhite = TextStyle(fontSize: 18, color: Colors.white); + const textStyleTitle = TextStyle(fontSize: 20, color: Colors.black); + const textStylePath = TextStyle(fontSize: 18, color: Colors.black54); + + const spaceMedium = SizedBox(height: 20); + const spaceSmall = SizedBox(height: 10); + + return MaterialApp( + home: Scaffold( + appBar: AppBar( + title: const Text('Example package_info_plus'), + ), + body: Stack( + children: [ + // Error message + Visibility( + visible: _error != null, + child: Center( + child: Padding( + padding: const EdgeInsets.all(16), + child: Container( + padding: const EdgeInsets.all(20), + decoration: const BoxDecoration( + color: Colors.redAccent, + borderRadius: BorderRadius.all(Radius.circular(10.0)), + ), + child: Text( + _error ?? '', + style: textStyleWhite, + ), + ), + ), + ), + ), + // List directories path + Visibility( + visible: _error == null, + child: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(16), + child: Center( + child: Column( + children: [ + // Info + Container( + padding: const EdgeInsets.all(20), + decoration: const BoxDecoration( + color: Colors.green, + borderRadius: + BorderRadius.all(Radius.circular(10.0)), + ), + child: const Text( + 'Demo application demonstration implementation of package_info_plus', + style: textStyleWhite, + textAlign: TextAlign.center, + ), + ), + const SizedBox(height: 30), + + const Text( + 'Application Name', + style: textStyleTitle, + ), + spaceSmall, + Text( + _appName ?? 'Not found.', + style: textStylePath, + ), + + spaceMedium, + const Text( + 'Package Name', + style: textStyleTitle, + ), + spaceSmall, + Text( + _packageName ?? 'Not found.', + style: textStylePath, + ), + ], + ), + ), + ), + ), + ), + ], + ), + ), + ); + } +} diff --git a/packages/package_info_plus/package_info_plus_aurora/example/pubspec.lock b/packages/package_info_plus/package_info_plus_aurora/example/pubspec.lock new file mode 100644 index 0000000..910942c --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/example/pubspec.lock @@ -0,0 +1,236 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + async: + dependency: transitive + description: + name: async + url: "https://pub.dartlang.org" + source: hosted + version: "2.9.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + characters: + dependency: transitive + description: + name: characters + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + clock: + dependency: transitive + description: + name: clock + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + url: "https://pub.dartlang.org" + source: hosted + version: "1.16.0" + cupertino_icons: + dependency: "direct main" + description: + name: cupertino_icons + url: "https://pub.dartlang.org" + source: hosted + version: "1.0.5" + fake_async: + dependency: transitive + description: + name: fake_async + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.1" + ffi: + dependency: transitive + description: + name: ffi + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.2" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + flutter_web_plugins: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" + http: + dependency: transitive + description: + name: http + url: "https://pub.dartlang.org" + source: hosted + version: "0.13.5" + http_parser: + dependency: transitive + description: + name: http_parser + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.2" + js: + dependency: transitive + description: + name: js + url: "https://pub.dartlang.org" + source: hosted + version: "0.6.4" + lints: + dependency: transitive + description: + name: lints + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + matcher: + dependency: transitive + description: + name: matcher + url: "https://pub.dartlang.org" + source: hosted + version: "0.12.12" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + url: "https://pub.dartlang.org" + source: hosted + version: "0.1.5" + meta: + dependency: transitive + description: + name: meta + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.0" + package_info_plus: + dependency: "direct main" + description: + name: package_info_plus + url: "https://pub.dartlang.org" + source: hosted + version: "4.0.2" + package_info_plus_aurora: + dependency: "direct main" + description: + path: ".." + relative: true + source: path + version: "0.0.1" + package_info_plus_platform_interface: + dependency: transitive + description: + name: package_info_plus_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.0.1" + path: + dependency: transitive + description: + name: path + url: "https://pub.dartlang.org" + source: hosted + version: "1.8.2" + plugin_platform_interface: + dependency: transitive + description: + name: plugin_platform_interface + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.4" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + url: "https://pub.dartlang.org" + source: hosted + version: "1.9.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + url: "https://pub.dartlang.org" + source: hosted + version: "1.10.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" + string_scanner: + dependency: transitive + description: + name: string_scanner + url: "https://pub.dartlang.org" + source: hosted + version: "1.1.1" + term_glyph: + dependency: transitive + description: + name: term_glyph + url: "https://pub.dartlang.org" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + url: "https://pub.dartlang.org" + source: hosted + version: "0.4.12" + typed_data: + dependency: transitive + description: + name: typed_data + url: "https://pub.dartlang.org" + source: hosted + version: "1.3.2" + vector_math: + dependency: transitive + description: + name: vector_math + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.2" + win32: + dependency: transitive + description: + name: win32 + url: "https://pub.dartlang.org" + source: hosted + version: "4.1.4" +sdks: + dart: ">=2.18.6 <3.0.0" + flutter: ">=3.3.0" diff --git a/packages/package_info_plus/package_info_plus_aurora/example/pubspec.yaml b/packages/package_info_plus/package_info_plus_aurora/example/pubspec.yaml new file mode 100644 index 0000000..5b48f42 --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/example/pubspec.yaml @@ -0,0 +1,26 @@ +# Copyright (c) 2023. Open Mobile Platform LLC. +# License: Proprietary. + +name: package_info_plus_aurora_example +description: Demonstrates how to use the package_info_plus_aurora plugin. + +publish_to: 'none' + +environment: + sdk: '>=2.18.6 <3.0.0' + +dependencies: + flutter: + sdk: flutter + package_info_plus: ^4.0.0 + package_info_plus_aurora: + path: ../ + cupertino_icons: ^1.0.2 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^2.0.0 + +flutter: + uses-material-design: true diff --git a/packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora.dart b/packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora.dart new file mode 100644 index 0000000..36fb258 --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora.dart @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2023. Open Mobile Platform LLC. + * License: Proprietary. + */ +import 'dart:io'; +import 'package:flutter/widgets.dart'; +import 'package_info_plus_aurora_platform_interface.dart'; +import 'package:package_info_plus_platform_interface/package_info_platform_interface.dart'; +import 'package:package_info_plus_platform_interface/package_info_data.dart'; + +class PackageInfoPlusAurora extends PackageInfoPlatform { + /// Register this dart class as the platform implementation for aurora + static void registerWith() { + PackageInfoPlatform.instance = PackageInfoPlusAurora(); + } + + final _platform = PackageInfoPlusAuroraPlatform.instance; + + @override + Future getAll() async { + final versionJson = await _getVersionJson(); + return PackageInfoData( + appName: versionJson['app_name'] ?? '', + packageName: versionJson['package_name'] ?? '', + version: versionJson['version'] ?? '', + buildNumber: versionJson['build_number'] ?? '', + buildSignature: '', + ); + } + + Future> _getVersionJson() async { + try { + // Get package from aurora platform + final org = await _platform.getApplicationOrg(); + final name = await _platform.getApplicationName(); + final packageName = '$org.$name'; + + // Get application name + final desktop = + (await File('/usr/share/applications/$packageName.desktop') + .readAsLines()) + .where((element) => element.contains('Name=')); + + // @todo + // Get application versions + // rpm -q --queryformat %{VERSION} + // not working even with Compatibility permission + + return { + 'app_name': desktop.isNotEmpty ? desktop.first.substring(5) : null, + 'package_name': packageName, + 'version': '', + 'build_number': '', + }; + } catch (e) { + debugPrint(e.toString()); + return {}; + } + } +} diff --git a/packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora_method_channel.dart b/packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora_method_channel.dart new file mode 100644 index 0000000..90ae4e4 --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora_method_channel.dart @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2023. Open Mobile Platform LLC. + * License: Proprietary. + */ +import 'package:flutter/foundation.dart'; +import 'package:flutter/services.dart'; + +import 'package_info_plus_aurora_platform_interface.dart'; + +/// An implementation of [PackageInfoPlusAuroraPlatform] that uses method channels. +class MethodChannelPackageInfoPlusAurora extends PackageInfoPlusAuroraPlatform { + /// The method channel used to interact with the native platform. + @visibleForTesting + final methodChannel = const MethodChannel('package_info_plus_aurora'); + + @override + Future getApplicationOrg() async { + return await methodChannel.invokeMethod('getApplicationOrg'); + } + + @override + Future getApplicationName() async { + return await methodChannel.invokeMethod('getApplicationName'); + } +} diff --git a/packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora_platform_interface.dart b/packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora_platform_interface.dart new file mode 100644 index 0000000..e8b2230 --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/lib/package_info_plus_aurora_platform_interface.dart @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2023. Open Mobile Platform LLC. + * License: Proprietary. + */ +import 'package:plugin_platform_interface/plugin_platform_interface.dart'; + +import 'package_info_plus_aurora_method_channel.dart'; + +abstract class PackageInfoPlusAuroraPlatform extends PlatformInterface { + /// Constructs a PackageInfoPlusAuroraPlatform. + PackageInfoPlusAuroraPlatform() : super(token: _token); + + static final Object _token = Object(); + + static PackageInfoPlusAuroraPlatform _instance = + MethodChannelPackageInfoPlusAurora(); + + /// The default instance of [PackageInfoPlusAuroraPlatform] to use. + /// + /// Defaults to [MethodChannelPackageInfoPlusAurora]. + static PackageInfoPlusAuroraPlatform get instance => _instance; + + /// Platform-specific implementations should set this with their own + /// platform-specific class that extends [PackageInfoPlusAuroraPlatform] when + /// they register themselves. + static set instance(PackageInfoPlusAuroraPlatform instance) { + PlatformInterface.verifyToken(instance, _token); + _instance = instance; + } + + Future getApplicationOrg() { + throw UnimplementedError('getApplicationOrg() has not been implemented.'); + } + + Future getApplicationName() { + throw UnimplementedError('getApplicationName() has not been implemented.'); + } +} diff --git a/packages/package_info_plus/package_info_plus_aurora/pubspec.yaml b/packages/package_info_plus/package_info_plus_aurora/pubspec.yaml new file mode 100644 index 0000000..ede11bc --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/pubspec.yaml @@ -0,0 +1,28 @@ +# Copyright (c) 2023. Open Mobile Platform LLC. +# License: Proprietary. + +name: package_info_plus_aurora +description: A new Flutter plugin project. +version: 0.0.1 + +environment: + sdk: '>=2.18.6 <3.0.0' + flutter: ">=2.5.0" + +dependencies: + flutter: + sdk: flutter + plugin_platform_interface: ^2.0.2 + package_info_plus_platform_interface: ^2.0.1 + +dev_dependencies: + flutter_test: + sdk: flutter + flutter_lints: ^2.0.0 + +flutter: + plugin: + platforms: + aurora: + pluginClass: PackageInfoPlusAuroraPlugin + dartPluginClass: PackageInfoPlusAurora diff --git a/packages/package_info_plus/package_info_plus_aurora/test/package_info_plus_aurora_method_channel_test.dart b/packages/package_info_plus/package_info_plus_aurora/test/package_info_plus_aurora_method_channel_test.dart new file mode 100644 index 0000000..b70772b --- /dev/null +++ b/packages/package_info_plus/package_info_plus_aurora/test/package_info_plus_aurora_method_channel_test.dart @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2023. Open Mobile Platform LLC. + * License: Proprietary. + */ +import 'package:flutter/services.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:package_info_plus_aurora/package_info_plus_aurora_method_channel.dart'; + +void main() { + MethodChannelPackageInfoPlusAurora platform = + MethodChannelPackageInfoPlusAurora(); + const MethodChannel channel = MethodChannel('package_info_plus_aurora'); + + TestWidgetsFlutterBinding.ensureInitialized(); + + setUp(() { + channel.setMockMethodCallHandler((MethodCall methodCall) async { + switch (methodCall.method) { + case 'getApplicationOrg': + return 'com.example'; + case 'getApplicationName': + return 'path_provider_aurora'; + } + return ''; + }); + }); + + tearDown(() { + channel.setMockMethodCallHandler(null); + }); + + test('onGetApplicationOrg', () async { + expect(await platform.getApplicationOrg(), 'com.example'); + }); + + test('onGetApplicationName', () async { + expect(await platform.getApplicationName(), 'path_provider_aurora'); + }); +}