From ae619c8feeeb11187c163ebd428818fd6f87240c Mon Sep 17 00:00:00 2001 From: Tsanie Lily <tsorgy@gmail.com> Date: Tue, 8 Mar 2022 19:46:16 +0800 Subject: [PATCH] add microcharts --- Billing.Shared/Billing.Shared.projitems | 9 + Billing.Shared/Views/RankPage.xaml | 13 ++ Billing.Shared/Views/RankPage.xaml.cs | 29 +++ .../Billing.Android/Billing.Android.csproj | 15 ++ .../Resources/Resource.designer.cs | 181 +++++++++--------- .../Resources/drawable-mdpi/rank.png | Bin 0 -> 264 bytes .../Resources/drawable-xhdpi/rank.png | Bin 0 -> 341 bytes .../Resources/drawable-xxhdpi/rank.png | Bin 0 -> 584 bytes .../Resources/drawable/rank.png | Bin 0 -> 374 bytes Billing/Billing.iOS/Billing.iOS.csproj | 12 ++ Billing/Billing.iOS/Resources/rank.png | Bin 0 -> 264 bytes Billing/Billing.iOS/Resources/rank@2x.png | Bin 0 -> 341 bytes Billing/Billing.iOS/Resources/rank@3x.png | Bin 0 -> 584 bytes 13 files changed, 172 insertions(+), 87 deletions(-) create mode 100644 Billing.Shared/Views/RankPage.xaml create mode 100644 Billing.Shared/Views/RankPage.xaml.cs create mode 100644 Billing/Billing.Android/Resources/drawable-mdpi/rank.png create mode 100644 Billing/Billing.Android/Resources/drawable-xhdpi/rank.png create mode 100644 Billing/Billing.Android/Resources/drawable-xxhdpi/rank.png create mode 100644 Billing/Billing.Android/Resources/drawable/rank.png create mode 100644 Billing/Billing.iOS/Resources/rank.png create mode 100644 Billing/Billing.iOS/Resources/rank@2x.png create mode 100644 Billing/Billing.iOS/Resources/rank@3x.png diff --git a/Billing.Shared/Billing.Shared.projitems b/Billing.Shared/Billing.Shared.projitems index fafb41c..7d6eba9 100644 --- a/Billing.Shared/Billing.Shared.projitems +++ b/Billing.Shared/Billing.Shared.projitems @@ -67,6 +67,10 @@ <DependentUpon>IconSelectPage.xaml</DependentUpon> <SubType>Code</SubType> </Compile> + <Compile Include="$(MSBuildThisFileDirectory)Views\RankPage.xaml.cs"> + <DependentUpon>RankPage.xaml</DependentUpon> + <SubType>Code</SubType> + </Compile> <Compile Include="$(MSBuildThisFileDirectory)Views\SettingPage.xaml.cs"> <DependentUpon>SettingPage.xaml</DependentUpon> </Compile> @@ -127,4 +131,9 @@ <Generator>MSBuild:UpdateDesignTimeXaml</Generator> </EmbeddedResource> </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="$(MSBuildThisFileDirectory)Views\RankPage.xaml"> + <Generator>MSBuild:UpdateDesignTimeXaml</Generator> + </EmbeddedResource> + </ItemGroup> </Project> \ No newline at end of file diff --git a/Billing.Shared/Views/RankPage.xaml b/Billing.Shared/Views/RankPage.xaml new file mode 100644 index 0000000..8827fe7 --- /dev/null +++ b/Billing.Shared/Views/RankPage.xaml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" ?> +<ui:BillingPage xmlns="http://xamarin.com/schemas/2014/forms" + xmlns:r="clr-namespace:Billing.Languages" + xmlns:ui="clr-namespace:Billing.UI" + xmlns:v="clr-namespace:Billing.Views" + xmlns:chart="clr-namespace:Microcharts.Forms;assembly=Microcharts.Forms" + xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" + x:Class="Billing.Views.RankPage" + x:Name="rankPage" + x:DataType="v:RankPage" + BindingContext="{x:Reference rankPage}"> + <chart:ChartView Chart="{Binding Chart}"/> +</ui:BillingPage> \ No newline at end of file diff --git a/Billing.Shared/Views/RankPage.xaml.cs b/Billing.Shared/Views/RankPage.xaml.cs new file mode 100644 index 0000000..8f8d567 --- /dev/null +++ b/Billing.Shared/Views/RankPage.xaml.cs @@ -0,0 +1,29 @@ +using Billing.UI; +using Microcharts; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +using Xamarin.Forms; +using Xamarin.Forms.Xaml; + +namespace Billing.Views +{ + public partial class RankPage : BillingPage + { + private static readonly BindableProperty ChartProperty = Helper.Create<Chart, RankPage>(nameof(Chart)); + + public Chart Chart + { + get => (Chart)GetValue(ChartProperty); + set => SetValue(ChartProperty, value); + } + + public RankPage() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/Billing/Billing.Android/Billing.Android.csproj b/Billing/Billing.Android/Billing.Android.csproj index 3d67096..a07205a 100644 --- a/Billing/Billing.Android/Billing.Android.csproj +++ b/Billing/Billing.Android/Billing.Android.csproj @@ -65,6 +65,9 @@ <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> + <PackageReference Include="Microcharts.Forms"> + <Version>0.9.5.9</Version> + </PackageReference> <PackageReference Include="SkiaSharp.Views.Forms" Version="2.80.3" /> <PackageReference Include="Xamarin.Forms" Version="5.0.0.2337" /> <PackageReference Include="Xamarin.Essentials" Version="1.7.1" /> @@ -503,6 +506,18 @@ <ItemGroup> <AndroidResource Include="Resources\drawable-xxhdpi\taxi.png" /> </ItemGroup> + <ItemGroup> + <AndroidResource Include="Resources\drawable\rank.png" /> + </ItemGroup> + <ItemGroup> + <AndroidResource Include="Resources\drawable-mdpi\rank.png" /> + </ItemGroup> + <ItemGroup> + <AndroidResource Include="Resources\drawable-xhdpi\rank.png" /> + </ItemGroup> + <ItemGroup> + <AndroidResource Include="Resources\drawable-xxhdpi\rank.png" /> + </ItemGroup> <Import Project="..\..\Billing.Shared\Billing.Shared.projitems" Label="Shared" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" /> </Project> \ No newline at end of file diff --git a/Billing/Billing.Android/Resources/Resource.designer.cs b/Billing/Billing.Android/Resources/Resource.designer.cs index 6c952fd..35206b9 100644 --- a/Billing/Billing.Android/Resources/Resource.designer.cs +++ b/Billing/Billing.Android/Resources/Resource.designer.cs @@ -14,7 +14,7 @@ namespace Billing.Droid { - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "12.2.0.155")] public partial class Resource { @@ -25,6 +25,7 @@ namespace Billing.Droid public static void UpdateIdValues() { + global::Microcharts.Droid.Resource.String.library_name = global::Billing.Droid.Resource.String.library_name; global::SkiaSharp.Views.Forms.Resource.Animation.abc_fade_in = global::Billing.Droid.Resource.Animation.abc_fade_in; global::SkiaSharp.Views.Forms.Resource.Animation.abc_fade_out = global::Billing.Droid.Resource.Animation.abc_fade_out; global::SkiaSharp.Views.Forms.Resource.Animation.abc_grow_fade_in_from_bottom = global::Billing.Droid.Resource.Animation.abc_grow_fade_in_from_bottom; @@ -19239,52 +19240,55 @@ namespace Billing.Droid public const int rail = 2131165357; // aapt resource value: 0x7F0700AE - public const int rcb = 2131165358; + public const int rank = 2131165358; // aapt resource value: 0x7F0700AF - public const int rent = 2131165359; + public const int rcb = 2131165359; // aapt resource value: 0x7F0700B0 - public const int right = 2131165360; + public const int rent = 2131165360; // aapt resource value: 0x7F0700B1 - public const int sackdollar = 2131165361; + public const int right = 2131165361; // aapt resource value: 0x7F0700B2 - public const int settings = 2131165362; + public const int sackdollar = 2131165362; // aapt resource value: 0x7F0700B3 - public const int splash_logo = 2131165363; + public const int settings = 2131165363; // aapt resource value: 0x7F0700B4 - public const int splash_screen = 2131165364; + public const int splash_logo = 2131165364; // aapt resource value: 0x7F0700B5 - public const int taxi = 2131165365; + public const int splash_screen = 2131165365; // aapt resource value: 0x7F0700B6 - public const int test_custom_background = 2131165366; + public const int taxi = 2131165366; // aapt resource value: 0x7F0700B7 - public const int tooltip_frame_dark = 2131165367; + public const int test_custom_background = 2131165367; // aapt resource value: 0x7F0700B8 - public const int tooltip_frame_light = 2131165368; + public const int tooltip_frame_dark = 2131165368; // aapt resource value: 0x7F0700B9 - public const int trans = 2131165369; + public const int tooltip_frame_light = 2131165369; // aapt resource value: 0x7F0700BA - public const int wallet = 2131165370; + public const int trans = 2131165370; // aapt resource value: 0x7F0700BB - public const int yuan = 2131165371; + public const int wallet = 2131165371; // aapt resource value: 0x7F0700BC - public const int yuebao = 2131165372; + public const int yuan = 2131165372; // aapt resource value: 0x7F0700BD - public const int zhaozhaoying = 2131165373; + public const int yuebao = 2131165373; + + // aapt resource value: 0x7F0700BE + public const int zhaozhaoying = 2131165374; static Drawable() { @@ -21586,214 +21590,217 @@ namespace Billing.Droid public const int item_view_role_description = 2131623984; // aapt resource value: 0x7F0E0031 - public const int material_clock_display_divider = 2131623985; + public const int library_name = 2131623985; // aapt resource value: 0x7F0E0032 - public const int material_clock_toggle_content_description = 2131623986; + public const int material_clock_display_divider = 2131623986; // aapt resource value: 0x7F0E0033 - public const int material_hour_selection = 2131623987; + public const int material_clock_toggle_content_description = 2131623987; // aapt resource value: 0x7F0E0034 - public const int material_hour_suffix = 2131623988; + public const int material_hour_selection = 2131623988; // aapt resource value: 0x7F0E0035 - public const int material_minute_selection = 2131623989; + public const int material_hour_suffix = 2131623989; // aapt resource value: 0x7F0E0036 - public const int material_minute_suffix = 2131623990; + public const int material_minute_selection = 2131623990; // aapt resource value: 0x7F0E0037 - public const int material_motion_easing_accelerated = 2131623991; + public const int material_minute_suffix = 2131623991; // aapt resource value: 0x7F0E0038 - public const int material_motion_easing_decelerated = 2131623992; + public const int material_motion_easing_accelerated = 2131623992; // aapt resource value: 0x7F0E0039 - public const int material_motion_easing_emphasized = 2131623993; + public const int material_motion_easing_decelerated = 2131623993; // aapt resource value: 0x7F0E003A - public const int material_motion_easing_linear = 2131623994; + public const int material_motion_easing_emphasized = 2131623994; // aapt resource value: 0x7F0E003B - public const int material_motion_easing_standard = 2131623995; + public const int material_motion_easing_linear = 2131623995; // aapt resource value: 0x7F0E003C - public const int material_slider_range_end = 2131623996; + public const int material_motion_easing_standard = 2131623996; // aapt resource value: 0x7F0E003D - public const int material_slider_range_start = 2131623997; + public const int material_slider_range_end = 2131623997; // aapt resource value: 0x7F0E003E - public const int material_timepicker_am = 2131623998; + public const int material_slider_range_start = 2131623998; // aapt resource value: 0x7F0E003F - public const int material_timepicker_clock_mode_description = 2131623999; + public const int material_timepicker_am = 2131623999; // aapt resource value: 0x7F0E0040 - public const int material_timepicker_hour = 2131624000; + public const int material_timepicker_clock_mode_description = 2131624000; // aapt resource value: 0x7F0E0041 - public const int material_timepicker_minute = 2131624001; + public const int material_timepicker_hour = 2131624001; // aapt resource value: 0x7F0E0042 - public const int material_timepicker_pm = 2131624002; + public const int material_timepicker_minute = 2131624002; // aapt resource value: 0x7F0E0043 - public const int material_timepicker_select_time = 2131624003; + public const int material_timepicker_pm = 2131624003; // aapt resource value: 0x7F0E0044 - public const int material_timepicker_text_input_mode_description = 2131624004; + public const int material_timepicker_select_time = 2131624004; // aapt resource value: 0x7F0E0045 - public const int mtrl_badge_numberless_content_description = 2131624005; + public const int material_timepicker_text_input_mode_description = 2131624005; // aapt resource value: 0x7F0E0046 - public const int mtrl_chip_close_icon_content_description = 2131624006; + public const int mtrl_badge_numberless_content_description = 2131624006; // aapt resource value: 0x7F0E0047 - public const int mtrl_exceed_max_badge_number_content_description = 2131624007; + public const int mtrl_chip_close_icon_content_description = 2131624007; // aapt resource value: 0x7F0E0048 - public const int mtrl_exceed_max_badge_number_suffix = 2131624008; + public const int mtrl_exceed_max_badge_number_content_description = 2131624008; // aapt resource value: 0x7F0E0049 - public const int mtrl_picker_a11y_next_month = 2131624009; + public const int mtrl_exceed_max_badge_number_suffix = 2131624009; // aapt resource value: 0x7F0E004A - public const int mtrl_picker_a11y_prev_month = 2131624010; + public const int mtrl_picker_a11y_next_month = 2131624010; // aapt resource value: 0x7F0E004B - public const int mtrl_picker_announce_current_selection = 2131624011; + public const int mtrl_picker_a11y_prev_month = 2131624011; // aapt resource value: 0x7F0E004C - public const int mtrl_picker_cancel = 2131624012; + public const int mtrl_picker_announce_current_selection = 2131624012; // aapt resource value: 0x7F0E004D - public const int mtrl_picker_confirm = 2131624013; + public const int mtrl_picker_cancel = 2131624013; // aapt resource value: 0x7F0E004E - public const int mtrl_picker_date_header_selected = 2131624014; + public const int mtrl_picker_confirm = 2131624014; // aapt resource value: 0x7F0E004F - public const int mtrl_picker_date_header_title = 2131624015; + public const int mtrl_picker_date_header_selected = 2131624015; // aapt resource value: 0x7F0E0050 - public const int mtrl_picker_date_header_unselected = 2131624016; + public const int mtrl_picker_date_header_title = 2131624016; // aapt resource value: 0x7F0E0051 - public const int mtrl_picker_day_of_week_column_header = 2131624017; + public const int mtrl_picker_date_header_unselected = 2131624017; // aapt resource value: 0x7F0E0052 - public const int mtrl_picker_invalid_format = 2131624018; + public const int mtrl_picker_day_of_week_column_header = 2131624018; // aapt resource value: 0x7F0E0053 - public const int mtrl_picker_invalid_format_example = 2131624019; + public const int mtrl_picker_invalid_format = 2131624019; // aapt resource value: 0x7F0E0054 - public const int mtrl_picker_invalid_format_use = 2131624020; + public const int mtrl_picker_invalid_format_example = 2131624020; // aapt resource value: 0x7F0E0055 - public const int mtrl_picker_invalid_range = 2131624021; + public const int mtrl_picker_invalid_format_use = 2131624021; // aapt resource value: 0x7F0E0056 - public const int mtrl_picker_navigate_to_year_description = 2131624022; + public const int mtrl_picker_invalid_range = 2131624022; // aapt resource value: 0x7F0E0057 - public const int mtrl_picker_out_of_range = 2131624023; + public const int mtrl_picker_navigate_to_year_description = 2131624023; // aapt resource value: 0x7F0E0058 - public const int mtrl_picker_range_header_only_end_selected = 2131624024; + public const int mtrl_picker_out_of_range = 2131624024; // aapt resource value: 0x7F0E0059 - public const int mtrl_picker_range_header_only_start_selected = 2131624025; + public const int mtrl_picker_range_header_only_end_selected = 2131624025; // aapt resource value: 0x7F0E005A - public const int mtrl_picker_range_header_selected = 2131624026; + public const int mtrl_picker_range_header_only_start_selected = 2131624026; // aapt resource value: 0x7F0E005B - public const int mtrl_picker_range_header_title = 2131624027; + public const int mtrl_picker_range_header_selected = 2131624027; // aapt resource value: 0x7F0E005C - public const int mtrl_picker_range_header_unselected = 2131624028; + public const int mtrl_picker_range_header_title = 2131624028; // aapt resource value: 0x7F0E005D - public const int mtrl_picker_save = 2131624029; + public const int mtrl_picker_range_header_unselected = 2131624029; // aapt resource value: 0x7F0E005E - public const int mtrl_picker_text_input_date_hint = 2131624030; + public const int mtrl_picker_save = 2131624030; // aapt resource value: 0x7F0E005F - public const int mtrl_picker_text_input_date_range_end_hint = 2131624031; + public const int mtrl_picker_text_input_date_hint = 2131624031; // aapt resource value: 0x7F0E0060 - public const int mtrl_picker_text_input_date_range_start_hint = 2131624032; + public const int mtrl_picker_text_input_date_range_end_hint = 2131624032; // aapt resource value: 0x7F0E0061 - public const int mtrl_picker_text_input_day_abbr = 2131624033; + public const int mtrl_picker_text_input_date_range_start_hint = 2131624033; // aapt resource value: 0x7F0E0062 - public const int mtrl_picker_text_input_month_abbr = 2131624034; + public const int mtrl_picker_text_input_day_abbr = 2131624034; // aapt resource value: 0x7F0E0063 - public const int mtrl_picker_text_input_year_abbr = 2131624035; + public const int mtrl_picker_text_input_month_abbr = 2131624035; // aapt resource value: 0x7F0E0064 - public const int mtrl_picker_toggle_to_calendar_input_mode = 2131624036; + public const int mtrl_picker_text_input_year_abbr = 2131624036; // aapt resource value: 0x7F0E0065 - public const int mtrl_picker_toggle_to_day_selection = 2131624037; + public const int mtrl_picker_toggle_to_calendar_input_mode = 2131624037; // aapt resource value: 0x7F0E0066 - public const int mtrl_picker_toggle_to_text_input_mode = 2131624038; + public const int mtrl_picker_toggle_to_day_selection = 2131624038; // aapt resource value: 0x7F0E0067 - public const int mtrl_picker_toggle_to_year_selection = 2131624039; + public const int mtrl_picker_toggle_to_text_input_mode = 2131624039; // aapt resource value: 0x7F0E0068 - public const int nav_app_bar_navigate_up_description = 2131624040; + public const int mtrl_picker_toggle_to_year_selection = 2131624040; // aapt resource value: 0x7F0E0069 - public const int nav_app_bar_open_drawer_description = 2131624041; + public const int nav_app_bar_navigate_up_description = 2131624041; // aapt resource value: 0x7F0E006A - public const int not_set = 2131624042; + public const int nav_app_bar_open_drawer_description = 2131624042; // aapt resource value: 0x7F0E006B - public const int overflow_tab_title = 2131624043; + public const int not_set = 2131624043; // aapt resource value: 0x7F0E006C - public const int password_toggle_content_description = 2131624044; + public const int overflow_tab_title = 2131624044; // aapt resource value: 0x7F0E006D - public const int path_password_eye = 2131624045; + public const int password_toggle_content_description = 2131624045; // aapt resource value: 0x7F0E006E - public const int path_password_eye_mask_strike_through = 2131624046; + public const int path_password_eye = 2131624046; // aapt resource value: 0x7F0E006F - public const int path_password_eye_mask_visible = 2131624047; + public const int path_password_eye_mask_strike_through = 2131624047; // aapt resource value: 0x7F0E0070 - public const int path_password_strike_through = 2131624048; + public const int path_password_eye_mask_visible = 2131624048; // aapt resource value: 0x7F0E0071 - public const int preference_copied = 2131624049; + public const int path_password_strike_through = 2131624049; // aapt resource value: 0x7F0E0072 - public const int search_menu_title = 2131624050; + public const int preference_copied = 2131624050; // aapt resource value: 0x7F0E0073 - public const int status_bar_notification_info_overflow = 2131624051; + public const int search_menu_title = 2131624051; // aapt resource value: 0x7F0E0074 - public const int summary_collapsed_preference_list = 2131624052; + public const int status_bar_notification_info_overflow = 2131624052; // aapt resource value: 0x7F0E0075 - public const int v7_preference_off = 2131624053; + public const int summary_collapsed_preference_list = 2131624053; // aapt resource value: 0x7F0E0076 - public const int v7_preference_on = 2131624054; + public const int v7_preference_off = 2131624054; + + // aapt resource value: 0x7F0E0077 + public const int v7_preference_on = 2131624055; static String() { diff --git a/Billing/Billing.Android/Resources/drawable-mdpi/rank.png b/Billing/Billing.Android/Resources/drawable-mdpi/rank.png new file mode 100644 index 0000000000000000000000000000000000000000..d75f982debfa759c35a9e94e42baaeb678295c04 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VOR<w@2nP_<aHMnq`TIRx978O6 z&t9?3V=@$Aeb9eZ%w;E|riKNB`y%i51>TZ{%;z>;+3A$$(0xfYR%Jp2*Phv;UTgkt zbeWg(v-jBNG`Hm0|N8>Z?{L>K<ST3ZuGs1mV0JD0>4~-#|JwE(Tt0)n?ufLXGmH2Q zmbzoYcDuOJbStE<9PVW;+sT;f`bn&P+YHuy$E}vh2(Q_&Yvbakl~H-B5pFg0YW{Xp zLPW25{QEMAe`#edmwj&CW9<*=*YC6PCH_CcE!VX7_2fTxI~WYlN-bViHgze`D-52l KelF{r5}E+_XJy_1 literal 0 HcmV?d00001 diff --git a/Billing/Billing.Android/Resources/drawable-xhdpi/rank.png b/Billing/Billing.Android/Resources/drawable-xhdpi/rank.png new file mode 100644 index 0000000000000000000000000000000000000000..cb04e142302362d9706f2ecf2b5b5061b43681b2 GIT binary patch literal 341 zcmV-b0jmCqP)<h;3K|Lk000e1NJLTq001Ze001Zm1^@s6jQ+T700004b3#c}2nYxW zd<bNS0003DNkl<ZScUDFOA5j;5I~<lbnO+qhj=EJZuA0r1+^#9Gk63)-3eW(3#|)F zku(X|#MsI_2!*6Gc}zPk1O!2-6eA!3Qf1tM<qy4brWEDgB?~lzsl8}e*0e661wTdv zT`>ucfddc&r|cR7J75q-&CUgLw@n=K&MbLTU4W^AJ<BE?2f>f2?K@Z*{!-BPH}Foo zM2y;PU7$}<JO$3ct;8NVJ|1xd?17^)_Q1+Dxevi1(9+DevNb1s2x>pDzVOi`Uu~K) zf@;MoS3#A^RWK;hB(6x4xFSvBN^P6uVTn<XD6~fwhCH@vYxgt>Muva{*eY{#;HtUz n0xXodO_oC^w>G#4f?(qbWA#N5-f!Qm00000NkvXXu0mjf7J-C! literal 0 HcmV?d00001 diff --git a/Billing/Billing.Android/Resources/drawable-xxhdpi/rank.png b/Billing/Billing.Android/Resources/drawable-xxhdpi/rank.png new file mode 100644 index 0000000000000000000000000000000000000000..19b6cb3bdbcb7237776df9a2ab52ce235bef802a GIT binary patch literal 584 zcmV-O0=NB%P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00004b3#c}2nYxW zd<bNS00061Nkl<ZXo2n8KWh|07{~EX^wd}=*l4Mhq_GujEX2kpg0DgB?FF&$b@&zp zD+?hiT4^O1OKtoI7Ge`}cR7pQkRX}aJ>1#sPUZ^(cRa()^V@yqnP+#0LZMJ76b8e} zVLQ;0i@1dg!amQii4FYf$**KQ!guUo5ol9<z@6AY$CA3)9oKPQJR&Dpt6Pw<2tKLZ z@|)m9tixCYcSaGMJ4JBrOj_8_VzvIiqT2Izf3vp-{>FCK4))DeJj0gohCjzg+)n7n zo5=kCwuiBSnnL;pZsJtK7?*Lch2w`#li*c*;T+>Q&iubS={a&qt4qP7c=F2e4liQH z90f-stxLhtD?1c&yu(q7;M{4drMut?9^l%(`S#c0R4?G(;<4(zR5JPyd>8AQE4Fof z!~K-b^bykMv@1_f*L{<6<ks-e1Sc;~`w+a0h~&jfAA$!}fekIBlT#iK6R^yM$RcSi zvxY~Nv<8)&LX@PHfI%g*p{?O8lGZYeDrt>^A~<)3COC_vRUQuylP1Blx;3#7{`x;v zeKc=kUiUqSZS5}HEHVa~1#i|ZCVGJ%cpb36!xz=D!4PwN#`}Q%C4P#Fo~ceEe2VmG zd`-JiPqHR_!fi(-_<6wo6n}6@_2K*=b_Kr(*q`95>Tqf3CQVghUj^)iLZMJ742{1y Wie`-|Af5XF0000<MNUMnLSTZAixe*a literal 0 HcmV?d00001 diff --git a/Billing/Billing.Android/Resources/drawable/rank.png b/Billing/Billing.Android/Resources/drawable/rank.png new file mode 100644 index 0000000000000000000000000000000000000000..f5aad8393c8a63cfb6e7a9e098d36bbc5ddc3dc6 GIT binary patch literal 374 zcmV-+0g3*JP)<h;3K|Lk000e1NJLTq0015U0015c1^@s6J20-I00004b3#c}2nYxW zd<bNS0003kNkl<ZNQv#%K}rKb5QX7SQH&xg2yTKK1zigs#3OhL&!bxpq(l&1#6<+f zs6>Q7T+9SJO@ck+v~KdC8LF76zv+Hc6m$KN7BbY_#vWDz#sJslGn-D(!zfr?9EC3} zW&m$uC(5<4nj4&?9N<yPOG{DQ#;M7pdd8)~94SgNYz*GT88(94JFY5#lN2BIas-8S zw3>uY1J6>@z2yK`X*5Zj%;D;!P1XTl;0+(;dc}FwBC)GebgVGkSgkTwNlhJfW%K=8 z=c@BN{bZg-&D9934meaJ%_IibEt<_-RSGw1t}1s}%UpGbzh9ecfQKm8LqCY`F%04% z?t-|F$EZeE(OzfnbPb0l2eVJy;-!oa6eH~T+Yz2{Q^s4^_dVV!p&gmW+qtId3yz30 U;sQ@pLI3~&07*qoM6N<$f)`7gzyJUM literal 0 HcmV?d00001 diff --git a/Billing/Billing.iOS/Billing.iOS.csproj b/Billing/Billing.iOS/Billing.iOS.csproj index 3d322fa..514c266 100644 --- a/Billing/Billing.iOS/Billing.iOS.csproj +++ b/Billing/Billing.iOS/Billing.iOS.csproj @@ -166,6 +166,9 @@ <Reference Include="System.Numerics.Vectors" /> </ItemGroup> <ItemGroup> + <PackageReference Include="Microcharts.Forms"> + <Version>0.9.5.9</Version> + </PackageReference> <PackageReference Include="SkiaSharp.Views.Forms" Version="2.80.3" /> <PackageReference Include="Xamarin.Forms" Version="5.0.0.2337" /> <PackageReference Include="Xamarin.Essentials" Version="1.7.1" /> @@ -445,6 +448,15 @@ <ItemGroup> <BundleResource Include="Resources\taxi%403x.png" /> </ItemGroup> + <ItemGroup> + <BundleResource Include="Resources\rank.png" /> + </ItemGroup> + <ItemGroup> + <BundleResource Include="Resources\rank%402x.png" /> + </ItemGroup> + <ItemGroup> + <BundleResource Include="Resources\rank%403x.png" /> + </ItemGroup> <Import Project="..\..\Billing.Shared\Billing.Shared.projitems" Label="Shared" /> <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" /> </Project> \ No newline at end of file diff --git a/Billing/Billing.iOS/Resources/rank.png b/Billing/Billing.iOS/Resources/rank.png new file mode 100644 index 0000000000000000000000000000000000000000..d75f982debfa759c35a9e94e42baaeb678295c04 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VOR<w@2nP_<aHMnq`TIRx978O6 z&t9?3V=@$Aeb9eZ%w;E|riKNB`y%i51>TZ{%;z>;+3A$$(0xfYR%Jp2*Phv;UTgkt zbeWg(v-jBNG`Hm0|N8>Z?{L>K<ST3ZuGs1mV0JD0>4~-#|JwE(Tt0)n?ufLXGmH2Q zmbzoYcDuOJbStE<9PVW;+sT;f`bn&P+YHuy$E}vh2(Q_&Yvbakl~H-B5pFg0YW{Xp zLPW25{QEMAe`#edmwj&CW9<*=*YC6PCH_CcE!VX7_2fTxI~WYlN-bViHgze`D-52l KelF{r5}E+_XJy_1 literal 0 HcmV?d00001 diff --git a/Billing/Billing.iOS/Resources/rank@2x.png b/Billing/Billing.iOS/Resources/rank@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..cb04e142302362d9706f2ecf2b5b5061b43681b2 GIT binary patch literal 341 zcmV-b0jmCqP)<h;3K|Lk000e1NJLTq001Ze001Zm1^@s6jQ+T700004b3#c}2nYxW zd<bNS0003DNkl<ZScUDFOA5j;5I~<lbnO+qhj=EJZuA0r1+^#9Gk63)-3eW(3#|)F zku(X|#MsI_2!*6Gc}zPk1O!2-6eA!3Qf1tM<qy4brWEDgB?~lzsl8}e*0e661wTdv zT`>ucfddc&r|cR7J75q-&CUgLw@n=K&MbLTU4W^AJ<BE?2f>f2?K@Z*{!-BPH}Foo zM2y;PU7$}<JO$3ct;8NVJ|1xd?17^)_Q1+Dxevi1(9+DevNb1s2x>pDzVOi`Uu~K) zf@;MoS3#A^RWK;hB(6x4xFSvBN^P6uVTn<XD6~fwhCH@vYxgt>Muva{*eY{#;HtUz n0xXodO_oC^w>G#4f?(qbWA#N5-f!Qm00000NkvXXu0mjf7J-C! literal 0 HcmV?d00001 diff --git a/Billing/Billing.iOS/Resources/rank@3x.png b/Billing/Billing.iOS/Resources/rank@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..19b6cb3bdbcb7237776df9a2ab52ce235bef802a GIT binary patch literal 584 zcmV-O0=NB%P)<h;3K|Lk000e1NJLTq002Ay002A)1^@s6I{evk00004b3#c}2nYxW zd<bNS00061Nkl<ZXo2n8KWh|07{~EX^wd}=*l4Mhq_GujEX2kpg0DgB?FF&$b@&zp zD+?hiT4^O1OKtoI7Ge`}cR7pQkRX}aJ>1#sPUZ^(cRa()^V@yqnP+#0LZMJ76b8e} zVLQ;0i@1dg!amQii4FYf$**KQ!guUo5ol9<z@6AY$CA3)9oKPQJR&Dpt6Pw<2tKLZ z@|)m9tixCYcSaGMJ4JBrOj_8_VzvIiqT2Izf3vp-{>FCK4))DeJj0gohCjzg+)n7n zo5=kCwuiBSnnL;pZsJtK7?*Lch2w`#li*c*;T+>Q&iubS={a&qt4qP7c=F2e4liQH z90f-stxLhtD?1c&yu(q7;M{4drMut?9^l%(`S#c0R4?G(;<4(zR5JPyd>8AQE4Fof z!~K-b^bykMv@1_f*L{<6<ks-e1Sc;~`w+a0h~&jfAA$!}fekIBlT#iK6R^yM$RcSi zvxY~Nv<8)&LX@PHfI%g*p{?O8lGZYeDrt>^A~<)3COC_vRUQuylP1Blx;3#7{`x;v zeKc=kUiUqSZS5}HEHVa~1#i|ZCVGJ%cpb36!xz=D!4PwN#`}Q%C4P#Fo~ceEe2VmG zd`-JiPqHR_!fi(-_<6wo6n}6@_2K*=b_Kr(*q`95>Tqf3CQVghUj^)iLZMJ742{1y Wie`-|Af5XF0000<MNUMnLSTZAixe*a literal 0 HcmV?d00001