master
Enzo 2 years ago
parent 49ac1cb105
commit d58f23aa4b

Binary file not shown.

Binary file not shown.

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MVVM.Classe
{
public class GroupeLivre : List<Livre>
{
public string Auteur { get; set; }
public GroupeLivre( string auteur, List<Livre> listLivre) : base(listLivre)
{
Auteur = auteur;
}
}
}

@ -49,6 +49,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Maui" Version="5.3.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
</ItemGroup>

@ -1,4 +1,5 @@
using Microsoft.Extensions.Logging;
using CommunityToolkit.Maui;
using Microsoft.Extensions.Logging;
namespace MVVM
{
@ -9,6 +10,7 @@ namespace MVVM
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp<App>()
.UseMauiCommunityToolkit()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");

@ -12,8 +12,8 @@
<Label x:Name="Titre" Grid.Row="0" Text="Title"/>
<Label x:Name="Auteur" Grid.Row="1" Text="Auteur"/>
<Label Grid.Row="2" Text="Statut"/>
<Label Grid.Row="4" Text="Etoile"/>
<Label x:Name="Statut" Grid.Row="2" Text="Statut"/>
<Label x:Name="Etoile" Grid.Row="4" Text="Etoile"/>
</Grid>

@ -16,7 +16,7 @@
<ScrollView>
<!--
<VerticalStackLayout>
<StackLayout>
@ -38,31 +38,26 @@
</StackLayout>
</VerticalStackLayout>
-->
<!--
<CollectionView ItemsSource="{Binding tmp}">
<CollectionView.ItemTemplate>
<CollectionView x:Name="collectionView" IsGrouped="True">
<CollectionView.GroupHeaderTemplate>
<DataTemplate>
<Grid ColumnDefinitions="Auto,*" BackgroundColor="Pink">
<Image Grid.Column="0" Style="{StaticResource ImageLivre}" Source="{Binding Image}"/>
<Grid Grid.Column="1" RowDefinitions="Auto,Auto,Auto,*,Auto">
<Label Text="{Binding Auteur}" BackgroundColor="Gray"/>
</DataTemplate>
</CollectionView.GroupHeaderTemplate>
<CollectionView.ItemTemplate>
<Label Grid.Row="0" Text="{Binding Titre}"/>
<Label Grid.Row="1" Text="{Binding Auteur}"/>
<Label Grid.Row="2" Text="{Binding Statut}"/>
<Label Grid.Row="4" Text="{Binding Note}"/>
<DataTemplate>
</Grid>
</Grid>
<Comp:Livre ImageComp="{Binding Image}" AuteurComp="{Binding Auteur}" TitreComp="{Binding Titre}"/>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
-->
</ScrollView>

@ -1,20 +1,28 @@
using MVVM.Classe;
using System.Collections.ObjectModel;
using MVVM.Classe;
namespace MVVM.Pages;
public partial class Livres : ContentPage
{
public ObservableCollection<Livre> tmp { get; set; } = new ObservableCollection<Livre>();
public List<GroupeLivre> listeGroupLivre { get; set; } = new List<GroupeLivre>();
public Livres()
{
InitializeComponent();
tmp.Add(new Livre() { Titre = "Enzo",Auteur = "Enzo" });
BindingContext = this;
collectionView.ItemsSource = getLivre();
}
}
private List<GroupeLivre> getLivre()
{
listeGroupLivre.Add(new GroupeLivre("Eiichirō Oda"), new )
return new List<Livre> { new Livre() { Titre = "One piece", Image = "onepiece1", Statut = "Lu", Note = "5", Auteur = "Eiichirō Oda" } };
}
}

@ -4,5 +4,104 @@
<name>MVVM</name>
</assembly>
<members>
<member name="M:Microsoft.Maui.Controls.ColorAnimationExtensions_Button.TextColorTo(Microsoft.Maui.Controls.Button,Microsoft.Maui.Graphics.Color,System.UInt32,System.UInt32,Microsoft.Maui.Easing)">
<summary>
Animates the TextColor of an <see cref = "T:Microsoft.Maui.ITextStyle"/> to the given color
</summary>
<param name = "element"></param>
<param name = "color">The target color to animate the <see cref = "P:Microsoft.Maui.ITextStyle.TextColor"/> to</param>
<param name = "rate">The time, in milliseconds, between the frames of the animation</param>
<param name = "length">The duration, in milliseconds, of the animation</param>
<param name = "easing">The easing function to be used in the animation</param>
<returns>Value indicating if the animation completed successfully or not</returns>
</member>
<member name="M:Microsoft.Maui.Controls.ColorAnimationExtensions_DatePicker.TextColorTo(Microsoft.Maui.Controls.DatePicker,Microsoft.Maui.Graphics.Color,System.UInt32,System.UInt32,Microsoft.Maui.Easing)">
<summary>
Animates the TextColor of an <see cref = "T:Microsoft.Maui.ITextStyle"/> to the given color
</summary>
<param name = "element"></param>
<param name = "color">The target color to animate the <see cref = "P:Microsoft.Maui.ITextStyle.TextColor"/> to</param>
<param name = "rate">The time, in milliseconds, between the frames of the animation</param>
<param name = "length">The duration, in milliseconds, of the animation</param>
<param name = "easing">The easing function to be used in the animation</param>
<returns>Value indicating if the animation completed successfully or not</returns>
</member>
<member name="M:Microsoft.Maui.Controls.ColorAnimationExtensions_Editor.TextColorTo(Microsoft.Maui.Controls.Editor,Microsoft.Maui.Graphics.Color,System.UInt32,System.UInt32,Microsoft.Maui.Easing)">
<summary>
Animates the TextColor of an <see cref = "T:Microsoft.Maui.ITextStyle"/> to the given color
</summary>
<param name = "element"></param>
<param name = "color">The target color to animate the <see cref = "P:Microsoft.Maui.ITextStyle.TextColor"/> to</param>
<param name = "rate">The time, in milliseconds, between the frames of the animation</param>
<param name = "length">The duration, in milliseconds, of the animation</param>
<param name = "easing">The easing function to be used in the animation</param>
<returns>Value indicating if the animation completed successfully or not</returns>
</member>
<member name="M:Microsoft.Maui.Controls.ColorAnimationExtensions_Entry.TextColorTo(Microsoft.Maui.Controls.Entry,Microsoft.Maui.Graphics.Color,System.UInt32,System.UInt32,Microsoft.Maui.Easing)">
<summary>
Animates the TextColor of an <see cref = "T:Microsoft.Maui.ITextStyle"/> to the given color
</summary>
<param name = "element"></param>
<param name = "color">The target color to animate the <see cref = "P:Microsoft.Maui.ITextStyle.TextColor"/> to</param>
<param name = "rate">The time, in milliseconds, between the frames of the animation</param>
<param name = "length">The duration, in milliseconds, of the animation</param>
<param name = "easing">The easing function to be used in the animation</param>
<returns>Value indicating if the animation completed successfully or not</returns>
</member>
<member name="M:Microsoft.Maui.Controls.ColorAnimationExtensions_Label.TextColorTo(Microsoft.Maui.Controls.Label,Microsoft.Maui.Graphics.Color,System.UInt32,System.UInt32,Microsoft.Maui.Easing)">
<summary>
Animates the TextColor of an <see cref = "T:Microsoft.Maui.ITextStyle"/> to the given color
</summary>
<param name = "element"></param>
<param name = "color">The target color to animate the <see cref = "P:Microsoft.Maui.ITextStyle.TextColor"/> to</param>
<param name = "rate">The time, in milliseconds, between the frames of the animation</param>
<param name = "length">The duration, in milliseconds, of the animation</param>
<param name = "easing">The easing function to be used in the animation</param>
<returns>Value indicating if the animation completed successfully or not</returns>
</member>
<member name="M:Microsoft.Maui.Controls.ColorAnimationExtensions_Picker.TextColorTo(Microsoft.Maui.Controls.Picker,Microsoft.Maui.Graphics.Color,System.UInt32,System.UInt32,Microsoft.Maui.Easing)">
<summary>
Animates the TextColor of an <see cref = "T:Microsoft.Maui.ITextStyle"/> to the given color
</summary>
<param name = "element"></param>
<param name = "color">The target color to animate the <see cref = "P:Microsoft.Maui.ITextStyle.TextColor"/> to</param>
<param name = "rate">The time, in milliseconds, between the frames of the animation</param>
<param name = "length">The duration, in milliseconds, of the animation</param>
<param name = "easing">The easing function to be used in the animation</param>
<returns>Value indicating if the animation completed successfully or not</returns>
</member>
<member name="M:Microsoft.Maui.Controls.ColorAnimationExtensions_RadioButton.TextColorTo(Microsoft.Maui.Controls.RadioButton,Microsoft.Maui.Graphics.Color,System.UInt32,System.UInt32,Microsoft.Maui.Easing)">
<summary>
Animates the TextColor of an <see cref = "T:Microsoft.Maui.ITextStyle"/> to the given color
</summary>
<param name = "element"></param>
<param name = "color">The target color to animate the <see cref = "P:Microsoft.Maui.ITextStyle.TextColor"/> to</param>
<param name = "rate">The time, in milliseconds, between the frames of the animation</param>
<param name = "length">The duration, in milliseconds, of the animation</param>
<param name = "easing">The easing function to be used in the animation</param>
<returns>Value indicating if the animation completed successfully or not</returns>
</member>
<member name="M:Microsoft.Maui.Controls.ColorAnimationExtensions_SearchBar.TextColorTo(Microsoft.Maui.Controls.SearchBar,Microsoft.Maui.Graphics.Color,System.UInt32,System.UInt32,Microsoft.Maui.Easing)">
<summary>
Animates the TextColor of an <see cref = "T:Microsoft.Maui.ITextStyle"/> to the given color
</summary>
<param name = "element"></param>
<param name = "color">The target color to animate the <see cref = "P:Microsoft.Maui.ITextStyle.TextColor"/> to</param>
<param name = "rate">The time, in milliseconds, between the frames of the animation</param>
<param name = "length">The duration, in milliseconds, of the animation</param>
<param name = "easing">The easing function to be used in the animation</param>
<returns>Value indicating if the animation completed successfully or not</returns>
</member>
<member name="M:Microsoft.Maui.Controls.ColorAnimationExtensions_TimePicker.TextColorTo(Microsoft.Maui.Controls.TimePicker,Microsoft.Maui.Graphics.Color,System.UInt32,System.UInt32,Microsoft.Maui.Easing)">
<summary>
Animates the TextColor of an <see cref = "T:Microsoft.Maui.ITextStyle"/> to the given color
</summary>
<param name = "element"></param>
<param name = "color">The target color to animate the <see cref = "P:Microsoft.Maui.ITextStyle.TextColor"/> to</param>
<param name = "rate">The time, in milliseconds, between the frames of the animation</param>
<param name = "length">The duration, in milliseconds, of the animation</param>
<param name = "easing">The easing function to be used in the animation</param>
<returns>Value indicating if the animation completed successfully or not</returns>
</member>
</members>
</doc>

@ -1 +1 @@
a57d3e9c8034e645fdf60219b0167a111dce3d0f
c43554c384c0106a7cbaf570952156add7881133

@ -3144,3 +3144,10 @@ C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\sta
C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\stamp\_ResolveLibraryProjectImports.stamp
C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\resizetizer\r\drawable\onepiece.jpg
C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\resizetizer\r\drawable\onepiece1.jpg
C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\android\assets\CommunityToolkit.Maui.Core.dll
C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\android\assets\CommunityToolkit.Maui.dll
C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\android\src\crc64159f3caeb1269279\MauiDrawingView.java
C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\android\src\crc64159f3caeb1269279\MauiPopup.java
C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\android\src\crc64159f3caeb1269279\MauiSemanticOrderView.java
C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\android\src\crc648fc34c62be8fbbff\Snackbar_SnackbarCallback.java
C:\Home\Cours\Projet\MVVM\PocketBook_MVVM\MVVM\MVVM\obj\Debug\net7.0-android\android\src\crc64d6358e7bf64fbac4\SpeechToTextImplementation_SpeechRecognitionListener.java

File diff suppressed because it is too large Load Diff

@ -1003,6 +1003,21 @@ microsoft.maui.devices.sensors.MagnetometerListener;crc64f62664462a8937a9.Magnet
Microsoft.Maui.Devices.Sensors.OrientationSensorListener, Microsoft.Maui.Essentials;crc64f62664462a8937a9.OrientationSensorListener
Microsoft.Maui.Devices.Sensors.OrientationSensorListener;crc64f62664462a8937a9.OrientationSensorListener
microsoft.maui.devices.sensors.OrientationSensorListener;crc64f62664462a8937a9.OrientationSensorListener
CommunityToolkit.Maui.Alerts.Snackbar+SnackbarCallback, CommunityToolkit.Maui;crc648fc34c62be8fbbff.Snackbar_SnackbarCallback
CommunityToolkit.Maui.Alerts.Snackbar.SnackbarCallback;crc648fc34c62be8fbbff.Snackbar_SnackbarCallback
communitytoolkit.maui.alerts.Snackbar_SnackbarCallback;crc648fc34c62be8fbbff.Snackbar_SnackbarCallback
CommunityToolkit.Maui.Media.SpeechToTextImplementation+SpeechRecognitionListener, CommunityToolkit.Maui.Core;crc64d6358e7bf64fbac4.SpeechToTextImplementation_SpeechRecognitionListener
CommunityToolkit.Maui.Media.SpeechToTextImplementation.SpeechRecognitionListener;crc64d6358e7bf64fbac4.SpeechToTextImplementation_SpeechRecognitionListener
communitytoolkit.maui.media.SpeechToTextImplementation_SpeechRecognitionListener;crc64d6358e7bf64fbac4.SpeechToTextImplementation_SpeechRecognitionListener
CommunityToolkit.Maui.Core.Views.MauiDrawingView, CommunityToolkit.Maui.Core;crc64159f3caeb1269279.MauiDrawingView
CommunityToolkit.Maui.Core.Views.MauiDrawingView;crc64159f3caeb1269279.MauiDrawingView
communitytoolkit.maui.core.views.MauiDrawingView;crc64159f3caeb1269279.MauiDrawingView
CommunityToolkit.Maui.Core.Views.MauiPopup, CommunityToolkit.Maui.Core;crc64159f3caeb1269279.MauiPopup
CommunityToolkit.Maui.Core.Views.MauiPopup;crc64159f3caeb1269279.MauiPopup
communitytoolkit.maui.core.views.MauiPopup;crc64159f3caeb1269279.MauiPopup
CommunityToolkit.Maui.Core.Views.MauiSemanticOrderView, CommunityToolkit.Maui.Core;crc64159f3caeb1269279.MauiSemanticOrderView
CommunityToolkit.Maui.Core.Views.MauiSemanticOrderView;crc64159f3caeb1269279.MauiSemanticOrderView
communitytoolkit.maui.core.views.MauiSemanticOrderView;crc64159f3caeb1269279.MauiSemanticOrderView
GoogleGson.IExclusionStrategy, GoogleGson;com.google.gson.ExclusionStrategy
GoogleGson.IExclusionStrategy;com.google.gson.ExclusionStrategy
com.google.gson.ExclusionStrategy;com.google.gson.ExclusionStrategy

@ -82,7 +82,7 @@ target triple = "aarch64-unknown-linux-android"
@__app_environment_variables_n_2.4 = internal constant [15 x i8] c"MONO_LOG_LEVEL\00", align 1
@__app_environment_variables_v_2.5 = internal constant [5 x i8] c"info\00", align 1
@__app_environment_variables_n_3.6 = internal constant [17 x i8] c"XAMARIN_BUILD_ID\00", align 1
@__app_environment_variables_v_3.7 = internal constant [37 x i8] c"748aa884-d598-43bc-81cd-549360a81b81\00", align 1
@__app_environment_variables_v_3.7 = internal constant [37 x i8] c"09ca8e23-419b-4734-aad6-d1f94dbb64bc\00", align 1
@__app_environment_variables_n_4.8 = internal constant [28 x i8] c"XA_HTTP_CLIENT_HANDLER_TYPE\00", align 1
@__app_environment_variables_v_4.9 = internal constant [42 x i8] c"Xamarin.Android.Net.AndroidMessageHandler\00", align 1
@__app_environment_variables_n_5.10 = internal constant [29 x i8] c"__XA_PACKAGE_NAMING_POLICY__\00", align 1
@ -123,7 +123,7 @@ target triple = "aarch64-unknown-linux-android"
i32 3, ; package_naming_policy
i32 12, ; environment_variable_count
i32 0, ; system_property_count
i32 269, ; number_of_assemblies_in_apk
i32 271, ; number_of_assemblies_in_apk
i32 68, ; bundled_assembly_name_width
i32 2, ; number_of_assembly_store_files
i32 32, ; number_of_dso_cache_entries
@ -642,10 +642,12 @@ target triple = "aarch64-unknown-linux-android"
@__XamarinAndroidBundledAssembly_name_266 = internal global [68 x i8] zeroinitializer, align 1
@__XamarinAndroidBundledAssembly_name_267 = internal global [68 x i8] zeroinitializer, align 1
@__XamarinAndroidBundledAssembly_name_268 = internal global [68 x i8] zeroinitializer, align 1
@__XamarinAndroidBundledAssembly_name_269 = internal global [68 x i8] zeroinitializer, align 1
@__XamarinAndroidBundledAssembly_name_270 = internal global [68 x i8] zeroinitializer, align 1
; Bundled assembly name buffers, all 68 bytes long
@bundled_assemblies = local_unnamed_addr global [269 x %struct.XamarinAndroidBundledAssembly] [
@bundled_assemblies = local_unnamed_addr global [271 x %struct.XamarinAndroidBundledAssembly] [
; 0
%struct.XamarinAndroidBundledAssembly {
i32 -1, ; apk_fd
@ -3066,6 +3068,24 @@ target triple = "aarch64-unknown-linux-android"
i8* null, ; data
i32 68, ; name_length
i8* getelementptr inbounds ([68 x i8], [68 x i8]* @__XamarinAndroidBundledAssembly_name_268, i32 0, i32 0); name
},
; 269
%struct.XamarinAndroidBundledAssembly {
i32 -1, ; apk_fd
i32 0, ; data_offset
i32 0, ; data_size
i8* null, ; data
i32 68, ; name_length
i8* getelementptr inbounds ([68 x i8], [68 x i8]* @__XamarinAndroidBundledAssembly_name_269, i32 0, i32 0); name
},
; 270
%struct.XamarinAndroidBundledAssembly {
i32 -1, ; apk_fd
i32 0, ; data_offset
i32 0, ; data_size
i8* null, ; data
i32 68, ; name_length
i8* getelementptr inbounds ([68 x i8], [68 x i8]* @__XamarinAndroidBundledAssembly_name_270, i32 0, i32 0); name
}
], align 8; end of 'bundled_assemblies' array

@ -0,0 +1,75 @@
package crc64159f3caeb1269279;
public class MauiDrawingView
extends crc6452ffdc5b34af3a0f.PlatformTouchGraphicsView
implements
mono.android.IGCUserPeer
{
/** @hide */
public static final String __md_methods;
static {
__md_methods =
"n_onTouchEvent:(Landroid/view/MotionEvent;)Z:GetOnTouchEvent_Landroid_view_MotionEvent_Handler\n" +
"";
mono.android.Runtime.register ("CommunityToolkit.Maui.Core.Views.MauiDrawingView, CommunityToolkit.Maui.Core", MauiDrawingView.class, __md_methods);
}
public MauiDrawingView (android.content.Context p0)
{
super (p0);
if (getClass () == MauiDrawingView.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiDrawingView, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android", this, new java.lang.Object[] { p0 });
}
}
public MauiDrawingView (android.content.Context p0, android.util.AttributeSet p1)
{
super (p0, p1);
if (getClass () == MauiDrawingView.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiDrawingView, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android:Android.Util.IAttributeSet, Mono.Android", this, new java.lang.Object[] { p0, p1 });
}
}
public MauiDrawingView (android.content.Context p0, android.util.AttributeSet p1, int p2)
{
super (p0, p1, p2);
if (getClass () == MauiDrawingView.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiDrawingView, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android:Android.Util.IAttributeSet, Mono.Android:System.Int32, System.Private.CoreLib", this, new java.lang.Object[] { p0, p1, p2 });
}
}
public MauiDrawingView (android.content.Context p0, android.util.AttributeSet p1, int p2, int p3)
{
super (p0, p1, p2, p3);
if (getClass () == MauiDrawingView.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiDrawingView, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android:Android.Util.IAttributeSet, Mono.Android:System.Int32, System.Private.CoreLib:System.Int32, System.Private.CoreLib", this, new java.lang.Object[] { p0, p1, p2, p3 });
}
}
public boolean onTouchEvent (android.view.MotionEvent p0)
{
return n_onTouchEvent (p0);
}
private native boolean n_onTouchEvent (android.view.MotionEvent p0);
private java.util.ArrayList refList;
public void monodroidAddReference (java.lang.Object obj)
{
if (refList == null)
refList = new java.util.ArrayList ();
refList.add (obj);
}
public void monodroidClearReferences ()
{
if (refList != null)
refList.clear ();
}
}

@ -0,0 +1,76 @@
package crc64159f3caeb1269279;
public class MauiPopup
extends android.app.Dialog
implements
mono.android.IGCUserPeer,
android.content.DialogInterface.OnCancelListener
{
/** @hide */
public static final String __md_methods;
static {
__md_methods =
"n_show:()V:GetShowHandler\n" +
"n_onCancel:(Landroid/content/DialogInterface;)V:GetOnCancel_Landroid_content_DialogInterface_Handler:Android.Content.IDialogInterfaceOnCancelListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"";
mono.android.Runtime.register ("CommunityToolkit.Maui.Core.Views.MauiPopup, CommunityToolkit.Maui.Core", MauiPopup.class, __md_methods);
}
public MauiPopup (android.content.Context p0)
{
super (p0);
if (getClass () == MauiPopup.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiPopup, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android", this, new java.lang.Object[] { p0 });
}
}
public MauiPopup (android.content.Context p0, boolean p1, android.content.DialogInterface.OnCancelListener p2)
{
super (p0, p1, p2);
if (getClass () == MauiPopup.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiPopup, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android:System.Boolean, System.Private.CoreLib:Android.Content.IDialogInterfaceOnCancelListener, Mono.Android", this, new java.lang.Object[] { p0, p1, p2 });
}
}
public MauiPopup (android.content.Context p0, int p1)
{
super (p0, p1);
if (getClass () == MauiPopup.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiPopup, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android:System.Int32, System.Private.CoreLib", this, new java.lang.Object[] { p0, p1 });
}
}
public void show ()
{
n_show ();
}
private native void n_show ();
public void onCancel (android.content.DialogInterface p0)
{
n_onCancel (p0);
}
private native void n_onCancel (android.content.DialogInterface p0);
private java.util.ArrayList refList;
public void monodroidAddReference (java.lang.Object obj)
{
if (refList == null)
refList = new java.util.ArrayList ();
refList.add (obj);
}
public void monodroidClearReferences ()
{
if (refList != null)
refList.clear ();
}
}

@ -0,0 +1,75 @@
package crc64159f3caeb1269279;
public class MauiSemanticOrderView
extends crc6452ffdc5b34af3a0f.ContentViewGroup
implements
mono.android.IGCUserPeer
{
/** @hide */
public static final String __md_methods;
static {
__md_methods =
"n_onLayout:(ZIIII)V:GetOnLayout_ZIIIIHandler\n" +
"";
mono.android.Runtime.register ("CommunityToolkit.Maui.Core.Views.MauiSemanticOrderView, CommunityToolkit.Maui.Core", MauiSemanticOrderView.class, __md_methods);
}
public MauiSemanticOrderView (android.content.Context p0)
{
super (p0);
if (getClass () == MauiSemanticOrderView.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiSemanticOrderView, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android", this, new java.lang.Object[] { p0 });
}
}
public MauiSemanticOrderView (android.content.Context p0, android.util.AttributeSet p1)
{
super (p0, p1);
if (getClass () == MauiSemanticOrderView.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiSemanticOrderView, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android:Android.Util.IAttributeSet, Mono.Android", this, new java.lang.Object[] { p0, p1 });
}
}
public MauiSemanticOrderView (android.content.Context p0, android.util.AttributeSet p1, int p2)
{
super (p0, p1, p2);
if (getClass () == MauiSemanticOrderView.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiSemanticOrderView, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android:Android.Util.IAttributeSet, Mono.Android:System.Int32, System.Private.CoreLib", this, new java.lang.Object[] { p0, p1, p2 });
}
}
public MauiSemanticOrderView (android.content.Context p0, android.util.AttributeSet p1, int p2, int p3)
{
super (p0, p1, p2, p3);
if (getClass () == MauiSemanticOrderView.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Core.Views.MauiSemanticOrderView, CommunityToolkit.Maui.Core", "Android.Content.Context, Mono.Android:Android.Util.IAttributeSet, Mono.Android:System.Int32, System.Private.CoreLib:System.Int32, System.Private.CoreLib", this, new java.lang.Object[] { p0, p1, p2, p3 });
}
}
public void onLayout (boolean p0, int p1, int p2, int p3, int p4)
{
n_onLayout (p0, p1, p2, p3, p4);
}
private native void n_onLayout (boolean p0, int p1, int p2, int p3, int p4);
private java.util.ArrayList refList;
public void monodroidAddReference (java.lang.Object obj)
{
if (refList == null)
refList = new java.util.ArrayList ();
refList.add (obj);
}
public void monodroidClearReferences ()
{
if (refList != null)
refList.clear ();
}
}

@ -0,0 +1,57 @@
package crc648fc34c62be8fbbff;
public class Snackbar_SnackbarCallback
extends com.google.android.material.snackbar.BaseTransientBottomBar.BaseCallback
implements
mono.android.IGCUserPeer
{
/** @hide */
public static final String __md_methods;
static {
__md_methods =
"n_onShown:(Ljava/lang/Object;)V:GetOnShown_Ljava_lang_Object_Handler\n" +
"n_onDismissed:(Ljava/lang/Object;I)V:GetOnDismissed_Ljava_lang_Object_IHandler\n" +
"";
mono.android.Runtime.register ("CommunityToolkit.Maui.Alerts.Snackbar+SnackbarCallback, CommunityToolkit.Maui", Snackbar_SnackbarCallback.class, __md_methods);
}
public Snackbar_SnackbarCallback ()
{
super ();
if (getClass () == Snackbar_SnackbarCallback.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Alerts.Snackbar+SnackbarCallback, CommunityToolkit.Maui", "", this, new java.lang.Object[] { });
}
}
public void onShown (java.lang.Object p0)
{
n_onShown (p0);
}
private native void n_onShown (java.lang.Object p0);
public void onDismissed (java.lang.Object p0, int p1)
{
n_onDismissed (p0, p1);
}
private native void n_onDismissed (java.lang.Object p0, int p1);
private java.util.ArrayList refList;
public void monodroidAddReference (java.lang.Object obj)
{
if (refList == null)
refList = new java.util.ArrayList ();
refList.add (obj);
}
public void monodroidClearReferences ()
{
if (refList != null)
refList.clear ();
}
}

@ -0,0 +1,139 @@
package crc64d6358e7bf64fbac4;
public class SpeechToTextImplementation_SpeechRecognitionListener
extends java.lang.Object
implements
mono.android.IGCUserPeer,
android.speech.RecognitionListener
{
/** @hide */
public static final String __md_methods;
static {
__md_methods =
"n_onBeginningOfSpeech:()V:GetOnBeginningOfSpeechHandler:Android.Speech.IRecognitionListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"n_onBufferReceived:([B)V:GetOnBufferReceived_arrayBHandler:Android.Speech.IRecognitionListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"n_onEndOfSpeech:()V:GetOnEndOfSpeechHandler:Android.Speech.IRecognitionListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"n_onError:(I)V:GetOnError_IHandler:Android.Speech.IRecognitionListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"n_onEvent:(ILandroid/os/Bundle;)V:GetOnEvent_ILandroid_os_Bundle_Handler:Android.Speech.IRecognitionListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"n_onPartialResults:(Landroid/os/Bundle;)V:GetOnPartialResults_Landroid_os_Bundle_Handler:Android.Speech.IRecognitionListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"n_onReadyForSpeech:(Landroid/os/Bundle;)V:GetOnReadyForSpeech_Landroid_os_Bundle_Handler:Android.Speech.IRecognitionListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"n_onResults:(Landroid/os/Bundle;)V:GetOnResults_Landroid_os_Bundle_Handler:Android.Speech.IRecognitionListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"n_onRmsChanged:(F)V:GetOnRmsChanged_FHandler:Android.Speech.IRecognitionListenerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"n_onEndOfSegmentedSession:()V:GetOnEndOfSegmentedSessionHandler:Android.Speech.IRecognitionListener, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"n_onSegmentResults:(Landroid/os/Bundle;)V:GetOnSegmentResults_Landroid_os_Bundle_Handler:Android.Speech.IRecognitionListener, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null\n" +
"";
mono.android.Runtime.register ("CommunityToolkit.Maui.Media.SpeechToTextImplementation+SpeechRecognitionListener, CommunityToolkit.Maui.Core", SpeechToTextImplementation_SpeechRecognitionListener.class, __md_methods);
}
public SpeechToTextImplementation_SpeechRecognitionListener ()
{
super ();
if (getClass () == SpeechToTextImplementation_SpeechRecognitionListener.class) {
mono.android.TypeManager.Activate ("CommunityToolkit.Maui.Media.SpeechToTextImplementation+SpeechRecognitionListener, CommunityToolkit.Maui.Core", "", this, new java.lang.Object[] { });
}
}
public void onBeginningOfSpeech ()
{
n_onBeginningOfSpeech ();
}
private native void n_onBeginningOfSpeech ();
public void onBufferReceived (byte[] p0)
{
n_onBufferReceived (p0);
}
private native void n_onBufferReceived (byte[] p0);
public void onEndOfSpeech ()
{
n_onEndOfSpeech ();
}
private native void n_onEndOfSpeech ();
public void onError (int p0)
{
n_onError (p0);
}
private native void n_onError (int p0);
public void onEvent (int p0, android.os.Bundle p1)
{
n_onEvent (p0, p1);
}
private native void n_onEvent (int p0, android.os.Bundle p1);
public void onPartialResults (android.os.Bundle p0)
{
n_onPartialResults (p0);
}
private native void n_onPartialResults (android.os.Bundle p0);
public void onReadyForSpeech (android.os.Bundle p0)
{
n_onReadyForSpeech (p0);
}
private native void n_onReadyForSpeech (android.os.Bundle p0);
public void onResults (android.os.Bundle p0)
{
n_onResults (p0);
}
private native void n_onResults (android.os.Bundle p0);
public void onRmsChanged (float p0)
{
n_onRmsChanged (p0);
}
private native void n_onRmsChanged (float p0);
public void onEndOfSegmentedSession ()
{
n_onEndOfSegmentedSession ();
}
private native void n_onEndOfSegmentedSession ();
public void onSegmentResults (android.os.Bundle p0)
{
n_onSegmentResults (p0);
}
private native void n_onSegmentResults (android.os.Bundle p0);
private java.util.ArrayList refList;
public void monodroidAddReference (java.lang.Object obj)
{
if (refList == null)
refList = new java.util.ArrayList ();
refList.add (obj);
}
public void monodroidClearReferences ()
{
if (refList != null)
refList.clear ();
}
}

@ -8,6 +8,8 @@ public class MonoPackageManager_Resources {
"Microsoft.Maui.Controls.Xaml.dll",
"Microsoft.Maui.Controls.dll",
"Microsoft.Maui.Essentials.dll",
"CommunityToolkit.Maui.dll",
"CommunityToolkit.Maui.Core.dll",
"GoogleGson.dll",
"Microsoft.Extensions.Configuration.dll",
"Microsoft.Extensions.Configuration.Abstractions.dll",

@ -1 +1 @@
748aa884-d598-43bc-81cd-549360a81b81
09ca8e23-419b-4734-aad6-d1f94dbb64bc

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -0,0 +1,370 @@
-keep class * implements androidx.versionedparcelable.VersionedParcelable
-keep public class android.support.**Parcelizer { *; }
-keep public class androidx.**Parcelizer { *; }
-keep public class androidx.versionedparcelable.ParcelImpl
-keepattributes AnnotationDefault,
RuntimeVisibleAnnotations,
RuntimeVisibleParameterAnnotations,
RuntimeVisibleTypeAnnotations
-keepclassmembers enum androidx.lifecycle.Lifecycle$Event {
<fields>;
}
-keep !interface * implements androidx.lifecycle.LifecycleObserver {
}
-keep class * implements androidx.lifecycle.GeneratedAdapter {
<init>(...);
}
-keepclassmembers class ** {
@androidx.lifecycle.OnLifecycleEvent *;
}
# this rule is need to work properly when app is compiled with api 28, see b/142778206
# Also this rule prevents registerIn from being inlined.
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }
# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
<methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* {
<methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl {
<methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl {
<methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl {
<methods>;
}
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-keepclassmembers,allowobfuscation class * implements androidx.savedstate.SavedStateRegistry$AutoRecreated {
<init>();
}
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# When layoutManager xml attribute is used, RecyclerView inflates
#LayoutManagers' constructors using reflection.
-keep public class * extends androidx.recyclerview.widget.RecyclerView$LayoutManager {
public <init>(android.content.Context, android.util.AttributeSet, int, int);
public <init>();
}
-keepclassmembers class androidx.recyclerview.widget.RecyclerView {
public void suppressLayout(boolean);
public boolean isLayoutSuppressed();
}
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
<init>();
}
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
<init>(android.app.Application);
}
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
<init>(androidx.lifecycle.SavedStateHandle);
}
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
<init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
}
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# The default FragmentFactory creates Fragment instances using reflection
-if public class ** extends androidx.fragment.app.Fragment
-keepclasseswithmembers,allowobfuscation public class <1> {
public <init>();
}
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# keep setters in VectorDrawables so that animations can still work.
-keepclassmembers class androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$* {
void set*(***);
*** get*();
}
# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Keep a field in transition that is used to keep a reference to weakly-referenced object
-keepclassmembers class androidx.transition.ChangeBounds$* extends android.animation.AnimatorListenerAdapter {
androidx.transition.ChangeBounds$ViewBounds mViewBounds;
}
# It's important that we preserve initializer names, given they are used in the AndroidManifest.xml.
-keepnames class * extends androidx.startup.Initializer
# These Proguard rules ensures that ComponentInitializers are are neither shrunk nor obfuscated,
# and are a part of the primary dex file. This is because they are discovered and instantiated
# during application startup.
-keep class * extends androidx.startup.Initializer {
# Keep the public no-argument constructor while allowing other methods to be optimized.
<init>();
}
-assumenosideeffects class androidx.startup.StartupLogger { public static <methods>; }
# this rule is need to work properly when app is compiled with api 28, see b/142778206
-keepclassmembers class * extends androidx.lifecycle.EmptyActivityLifecycleCallbacks { *; }
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# CoordinatorLayout resolves the behaviors of its child components with reflection.
-keep public class * extends androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>();
}
# Make sure we keep annotations for CoordinatorLayout's DefaultBehavior and ViewPager's DecorView
-keepattributes AnnotationDefault,
RuntimeVisibleAnnotations,
RuntimeVisibleParameterAnnotations,
RuntimeVisibleTypeAnnotations
# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# aapt is not able to read app::actionViewClass and app:actionProviderClass to produce proguard
# keep rules. Add a commonly used SearchView to the keep list until b/109831488 is resolved.
-keep class androidx.appcompat.widget.SearchView { <init>(...); }
# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl* {
<methods>;
}
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# CoordinatorLayout resolves the behaviors of its child components with reflection.
-keep public class * extends androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>();
}
# Make sure we keep annotations for CoordinatorLayout's DefaultBehavior
-keepattributes RuntimeVisible*Annotation*
# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# AppCompatViewInflater reads the viewInflaterClass theme attribute which then
# reflectively instantiates MaterialComponentsViewInflater using the no-argument
# constructor. We only need to keep this constructor and the class name if
# AppCompatViewInflater is also being kept.
-if class androidx.appcompat.app.AppCompatViewInflater
-keep class com.google.android.material.theme.MaterialComponentsViewInflater {
<init>();
}
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# A rule that will keep classes that implement SidecarInterface$SidecarCallback if Sidecar seems
# be used. See b/157286362 and b/165268619 for details.
# TODO(b/208543178) investigate how to pass header jar to R8 so we don't need this rule
-if class androidx.window.layout.SidecarCompat {
public setExtensionCallback(androidx.window.layout.ExtensionInterfaceCompat$ExtensionCallbackInterface);
}
-keep class androidx.window.layout.SidecarCompat$TranslatingCallback,
androidx.window.layout.SidecarCompat$DistinctSidecarElementCallback {
public onDeviceStateChanged(androidx.window.sidecar.SidecarDeviceState);
public onWindowLayoutChanged(android.os.IBinder, androidx.window.sidecar.SidecarWindowLayoutInfo);
}
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NavArgsLazy creates NavArgs instances using reflection
-if public class ** implements androidx.navigation.NavArgs
-keepclassmembers public class <1> {
** fromBundle(android.os.Bundle);
}
# Retain the @Navigator.Name annotation on each subclass of Navigator.
# R8 full mode only retains annotations on items matched by a -keep rule,
# hence the extra -keep rule for the subclasses of Navigator.
#
# A -keep rule for the Navigator.Name annotation class is not required
# since the annotation is referenced from the code.
-keepattributes RuntimeVisibleAnnotations
-keep,allowobfuscation,allowshrinking class * extends androidx.navigation.Navigator
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# setProgress is called via an ObjectAnimator in AbstractAppBarOnDestinationChangedListener
-keepclassmembers class androidx.appcompat.graphics.drawable.DrawerArrowDrawable {
void setProgress(float);
}
# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Prevent Parcelable objects from being removed or renamed.
-keep class android.support.v4.media.** implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
# Prevent Parcelable objects from being removed or renamed.
-keep class androidx.media.** implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}

@ -0,0 +1,370 @@
-keep class * implements androidx.versionedparcelable.VersionedParcelable
-keep public class android.support.**Parcelizer { *; }
-keep public class androidx.**Parcelizer { *; }
-keep public class androidx.versionedparcelable.ParcelImpl
-keepattributes AnnotationDefault,
RuntimeVisibleAnnotations,
RuntimeVisibleParameterAnnotations,
RuntimeVisibleTypeAnnotations
-keepclassmembers enum androidx.lifecycle.Lifecycle$Event {
<fields>;
}
-keep !interface * implements androidx.lifecycle.LifecycleObserver {
}
-keep class * implements androidx.lifecycle.GeneratedAdapter {
<init>(...);
}
-keepclassmembers class ** {
@androidx.lifecycle.OnLifecycleEvent *;
}
# this rule is need to work properly when app is compiled with api 28, see b/142778206
# Also this rule prevents registerIn from being inlined.
-keepclassmembers class androidx.lifecycle.ReportFragment$LifecycleCallbacks { *; }
# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.ViewCompat$Api* {
<methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.view.WindowInsetsCompat$*Impl* {
<methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.app.NotificationCompat$*$Api*Impl {
<methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.os.UserHandleCompat$Api*Impl {
<methods>;
}
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.core.widget.EdgeEffectCompat$Api*Impl {
<methods>;
}
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
-keepclassmembers,allowobfuscation class * implements androidx.savedstate.SavedStateRegistry$AutoRecreated {
<init>();
}
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# When layoutManager xml attribute is used, RecyclerView inflates
#LayoutManagers' constructors using reflection.
-keep public class * extends androidx.recyclerview.widget.RecyclerView$LayoutManager {
public <init>(android.content.Context, android.util.AttributeSet, int, int);
public <init>();
}
-keepclassmembers class androidx.recyclerview.widget.RecyclerView {
public void suppressLayout(boolean);
public boolean isLayoutSuppressed();
}
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
<init>();
}
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
<init>(android.app.Application);
}
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.ViewModel {
<init>(androidx.lifecycle.SavedStateHandle);
}
-keepclassmembers,allowobfuscation class * extends androidx.lifecycle.AndroidViewModel {
<init>(android.app.Application,androidx.lifecycle.SavedStateHandle);
}
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# The default FragmentFactory creates Fragment instances using reflection
-if public class ** extends androidx.fragment.app.Fragment
-keepclasseswithmembers,allowobfuscation public class <1> {
public <init>();
}
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# keep setters in VectorDrawables so that animations can still work.
-keepclassmembers class androidx.vectordrawable.graphics.drawable.VectorDrawableCompat$* {
void set*(***);
*** get*();
}
# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Keep a field in transition that is used to keep a reference to weakly-referenced object
-keepclassmembers class androidx.transition.ChangeBounds$* extends android.animation.AnimatorListenerAdapter {
androidx.transition.ChangeBounds$ViewBounds mViewBounds;
}
# It's important that we preserve initializer names, given they are used in the AndroidManifest.xml.
-keepnames class * extends androidx.startup.Initializer
# These Proguard rules ensures that ComponentInitializers are are neither shrunk nor obfuscated,
# and are a part of the primary dex file. This is because they are discovered and instantiated
# during application startup.
-keep class * extends androidx.startup.Initializer {
# Keep the public no-argument constructor while allowing other methods to be optimized.
<init>();
}
-assumenosideeffects class androidx.startup.StartupLogger { public static <methods>; }
# this rule is need to work properly when app is compiled with api 28, see b/142778206
-keepclassmembers class * extends androidx.lifecycle.EmptyActivityLifecycleCallbacks { *; }
# Copyright (C) 2016 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# CoordinatorLayout resolves the behaviors of its child components with reflection.
-keep public class * extends androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>();
}
# Make sure we keep annotations for CoordinatorLayout's DefaultBehavior and ViewPager's DecorView
-keepattributes AnnotationDefault,
RuntimeVisibleAnnotations,
RuntimeVisibleParameterAnnotations,
RuntimeVisibleTypeAnnotations
# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# aapt is not able to read app::actionViewClass and app:actionProviderClass to produce proguard
# keep rules. Add a commonly used SearchView to the keep list until b/109831488 is resolved.
-keep class androidx.appcompat.widget.SearchView { <init>(...); }
# Never inline methods, but allow shrinking and obfuscation.
-keepclassmembernames,allowobfuscation,allowshrinking class androidx.appcompat.widget.AppCompatTextViewAutoSizeHelper$Impl* {
<methods>;
}
# Copyright (C) 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# CoordinatorLayout resolves the behaviors of its child components with reflection.
-keep public class * extends androidx.coordinatorlayout.widget.CoordinatorLayout$Behavior {
public <init>(android.content.Context, android.util.AttributeSet);
public <init>();
}
# Make sure we keep annotations for CoordinatorLayout's DefaultBehavior
-keepattributes RuntimeVisible*Annotation*
# Copyright (C) 2018 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# AppCompatViewInflater reads the viewInflaterClass theme attribute which then
# reflectively instantiates MaterialComponentsViewInflater using the no-argument
# constructor. We only need to keep this constructor and the class name if
# AppCompatViewInflater is also being kept.
-if class androidx.appcompat.app.AppCompatViewInflater
-keep class com.google.android.material.theme.MaterialComponentsViewInflater {
<init>();
}
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# A rule that will keep classes that implement SidecarInterface$SidecarCallback if Sidecar seems
# be used. See b/157286362 and b/165268619 for details.
# TODO(b/208543178) investigate how to pass header jar to R8 so we don't need this rule
-if class androidx.window.layout.SidecarCompat {
public setExtensionCallback(androidx.window.layout.ExtensionInterfaceCompat$ExtensionCallbackInterface);
}
-keep class androidx.window.layout.SidecarCompat$TranslatingCallback,
androidx.window.layout.SidecarCompat$DistinctSidecarElementCallback {
public onDeviceStateChanged(androidx.window.sidecar.SidecarDeviceState);
public onWindowLayoutChanged(android.os.IBinder, androidx.window.sidecar.SidecarWindowLayoutInfo);
}
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# NavArgsLazy creates NavArgs instances using reflection
-if public class ** implements androidx.navigation.NavArgs
-keepclassmembers public class <1> {
** fromBundle(android.os.Bundle);
}
# Retain the @Navigator.Name annotation on each subclass of Navigator.
# R8 full mode only retains annotations on items matched by a -keep rule,
# hence the extra -keep rule for the subclasses of Navigator.
#
# A -keep rule for the Navigator.Name annotation class is not required
# since the annotation is referenced from the code.
-keepattributes RuntimeVisibleAnnotations
-keep,allowobfuscation,allowshrinking class * extends androidx.navigation.Navigator
# Copyright (C) 2019 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# setProgress is called via an ObjectAnimator in AbstractAppBarOnDestinationChangedListener
-keepclassmembers class androidx.appcompat.graphics.drawable.DrawerArrowDrawable {
void setProgress(float);
}
# Copyright (C) 2017 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Prevent Parcelable objects from being removed or renamed.
-keep class android.support.v4.media.** implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
# Prevent Parcelable objects from being removed or renamed.
-keep class androidx.media.** implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}

@ -155,3 +155,7 @@ maui.aar
Microsoft.Maui.aar
Microsoft.Maui.Essentials.aar
Xamarin.Google.Crypto.Tink.Android.aar
CommunityToolkit.Maui.Core.dll
CommunityToolkit.Maui.dll
CommunityToolkit.Maui.Core.aar
CommunityToolkit.Maui.aar

@ -1 +1 @@
739eb7d646936a3f0a1e820e6429ecefd88408b3
c7a47d387b1bd894651d3e21b9b68e2d46a23884

@ -61,6 +61,10 @@
"net7.0-android33.0": {
"targetAlias": "net7.0-android",
"dependencies": {
"CommunityToolkit.Maui": {
"target": "Package",
"version": "[5.3.0, )"
},
"Microsoft.Extensions.Configuration": {
"target": "Package",
"version": "[7.0.0, )",
@ -179,6 +183,10 @@
"net7.0-ios16.1": {
"targetAlias": "net7.0-ios",
"dependencies": {
"CommunityToolkit.Maui": {
"target": "Package",
"version": "[5.3.0, )"
},
"Microsoft.Extensions.Configuration": {
"target": "Package",
"version": "[7.0.0, )",
@ -242,6 +250,10 @@
"net7.0-maccatalyst16.1": {
"targetAlias": "net7.0-maccatalyst",
"dependencies": {
"CommunityToolkit.Maui": {
"target": "Package",
"version": "[5.3.0, )"
},
"Microsoft.Extensions.Configuration": {
"target": "Package",
"version": "[7.0.0, )",
@ -306,6 +318,10 @@
"net7.0-windows10.0.19041": {
"targetAlias": "net7.0-windows10.0.19041.0",
"dependencies": {
"CommunityToolkit.Maui": {
"target": "Package",
"version": "[5.3.0, )"
},
"Microsoft.Extensions.Configuration": {
"target": "Package",
"version": "[7.0.0, )",

File diff suppressed because it is too large Load Diff

@ -1,9 +1,11 @@
{
"version": 2,
"dgSpecHash": "ao3aXjEtVfORVQ3EEiv8SgnSoZVm0EvJZnBuz+M9vS6drbEJvf9WmOmUfqokKY328a+BgrU8IHoP8nPCQydmpw==",
"dgSpecHash": "/nJz0RB1nPDc9k4rjOE+hTaojsfCCQsoZhzzA9ImuLPYQMzo4Cn2Y+S/dmSLzHCN8Am378eRqPIvE4U2BVTweg==",
"success": true,
"projectFilePath": "C:\\Home\\Cours\\Projet\\MVVM\\PocketBook_MVVM\\MVVM\\MVVM\\MVVM.csproj",
"expectedPackageFiles": [
"C:\\Users\\enzoj\\.nuget\\packages\\communitytoolkit.maui\\5.3.0\\communitytoolkit.maui.5.3.0.nupkg.sha512",
"C:\\Users\\enzoj\\.nuget\\packages\\communitytoolkit.maui.core\\5.3.0\\communitytoolkit.maui.core.5.3.0.nupkg.sha512",
"C:\\Users\\enzoj\\.nuget\\packages\\googlegson\\2.9.1.1\\googlegson.2.9.1.1.nupkg.sha512",
"C:\\Users\\enzoj\\.nuget\\packages\\microsoft.extensions.configuration\\7.0.0\\microsoft.extensions.configuration.7.0.0.nupkg.sha512",
"C:\\Users\\enzoj\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\7.0.0\\microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512",
@ -19,6 +21,7 @@
"C:\\Users\\enzoj\\.nuget\\packages\\microsoft.maui.graphics.win2d.winui.desktop\\7.0.92\\microsoft.maui.graphics.win2d.winui.desktop.7.0.92.nupkg.sha512",
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages\\microsoft.windows.sdk.buildtools\\10.0.22621.756\\microsoft.windows.sdk.buildtools.10.0.22621.756.nupkg.sha512",
"C:\\Users\\enzoj\\.nuget\\packages\\microsoft.windowsappsdk\\1.2.221209.1\\microsoft.windowsappsdk.1.2.221209.1.nupkg.sha512",
"C:\\Users\\enzoj\\.nuget\\packages\\system.speech\\7.0.0\\system.speech.7.0.0.nupkg.sha512",
"C:\\Users\\enzoj\\.nuget\\packages\\xamarin.android.glide\\4.13.2.2\\xamarin.android.glide.4.13.2.2.nupkg.sha512",
"C:\\Users\\enzoj\\.nuget\\packages\\xamarin.android.glide.annotations\\4.13.2.2\\xamarin.android.glide.annotations.4.13.2.2.nupkg.sha512",
"C:\\Users\\enzoj\\.nuget\\packages\\xamarin.android.glide.disklrucache\\4.13.2.2\\xamarin.android.glide.disklrucache.4.13.2.2.nupkg.sha512",

@ -0,0 +1,11 @@
xmls:toolkit
<Image.Behavior >
<Icon tint color behavior = "{Red}" >
utilisé les rouge statique
Loading…
Cancel
Save