mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-31 07:26:09 +00:00 
			
		
		
		
	Test search
This commit is contained in:
		
							parent
							
								
									08135c06eb
								
							
						
					
					
						commit
						ad9344567c
					
				
					 5 changed files with 94 additions and 2 deletions
				
			
		|  | @ -11,8 +11,9 @@ using System.Diagnostics; | ||||||
| 
 | 
 | ||||||
| namespace AideDeJeu.Droid | namespace AideDeJeu.Droid | ||||||
| { | { | ||||||
|  |     [IntentFilter(new[] { Android.Content.Intent.ActionAssist }, Categories = new[] { Android.Content.Intent.CategoryDefault })] | ||||||
|     //[Activity(Label = "Aide de Jeu", Icon = "@drawable/black_book", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] |     //[Activity(Label = "Aide de Jeu", Icon = "@drawable/black_book", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] | ||||||
|     [Activity(Label = "Beta Haches & Dés", Icon = "@drawable/battle_axe", Theme = "@style/MyTheme.Splash", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] |     [Activity(Name = "com.nioux.aidedejeu.MainActivity", Label = "Beta Haches & Dés", Icon = "@drawable/battle_axe", Theme = "@style/MyTheme.Splash", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] | ||||||
|     public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity |     public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity | ||||||
|     { |     { | ||||||
|         protected override void OnCreate(Bundle bundle) |         protected override void OnCreate(Bundle bundle) | ||||||
|  | @ -22,6 +23,9 @@ namespace AideDeJeu.Droid | ||||||
| 
 | 
 | ||||||
|             base.OnCreate(bundle); |             base.OnCreate(bundle); | ||||||
| 
 | 
 | ||||||
|  |             // Application Level Assistance | ||||||
|  |             //Application.RegisterOnProvideAssistDataListener(new AndroidListener()); | ||||||
|  | 
 | ||||||
|             AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; |             AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException; | ||||||
|             TaskScheduler.UnobservedTaskException += TaskSchedulerOnUnobservedTaskException; |             TaskScheduler.UnobservedTaskException += TaskSchedulerOnUnobservedTaskException; | ||||||
| 
 | 
 | ||||||
|  | @ -38,9 +42,37 @@ namespace AideDeJeu.Droid | ||||||
| 
 | 
 | ||||||
|             DisplayCrashReport(); |             DisplayCrashReport(); | ||||||
| 
 | 
 | ||||||
|  |             //// Verify the action and get the query | ||||||
|  |             //if (Android.Content.Intent.ActionSearch == Intent.Action) | ||||||
|  |             //{ | ||||||
|  |             //    var query = Intent.GetStringExtra(SearchManager.Query); | ||||||
|  |             //} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|             LoadApplication(new App()); |             LoadApplication(new App()); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         protected override void OnNewIntent(Android.Content.Intent intent) | ||||||
|  |         { | ||||||
|  |             base.OnNewIntent(intent); | ||||||
|  |             Intent = intent; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         protected override void OnPostResume() | ||||||
|  |         { | ||||||
|  |             base.OnPostResume(); | ||||||
|  |             if (Intent.Extras != null) | ||||||
|  |             { | ||||||
|  |                 string search = Intent.Extras.GetString("search"); | ||||||
|  |                 if (!string.IsNullOrEmpty(search)) | ||||||
|  |                 { | ||||||
|  |                     Xamarin.Forms.Shell.Current.Navigation.PushAsync(new Views.Library.DeepSearchPage(search)); | ||||||
|  |                 } | ||||||
|  |                 Intent.RemoveExtra("search"); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         public override void OnBackPressed() |         public override void OnBackPressed() | ||||||
|         { |         { | ||||||
|             if (Rg.Plugins.Popup.Popup.SendBackPressed(base.OnBackPressed)) |             if (Rg.Plugins.Popup.Popup.SendBackPressed(base.OnBackPressed)) | ||||||
|  | @ -126,5 +158,41 @@ namespace AideDeJeu.Droid | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     [IntentFilter(new[] { Android.Content.Intent.ActionAssist }, Categories = new[] { Android.Content.Intent.CategoryDefault })] | ||||||
|  |     //[Activity(Label = "Aide de Jeu", Icon = "@drawable/black_book", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] | ||||||
|  |     [Activity(Name = "com.nioux.aidedejeu.SearchActivity")] | ||||||
|  |     public class SearchActivity : Android.App.Activity // global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity | ||||||
|  |     { | ||||||
|  |         protected override void OnCreate(Bundle bundle) | ||||||
|  |         { | ||||||
|  |             base.OnCreate(bundle); | ||||||
|  | 
 | ||||||
|  |             // Application Level Assistance | ||||||
|  |             //Application.RegisterOnProvideAssistDataListener(new AndroidListener()); | ||||||
|  | 
 | ||||||
|  |             // Android.Content.Intent.ActionSearch.Equals | ||||||
|  |             // Verify the action and get the query | ||||||
|  |             if ("com.google.android.gms.actions.SEARCH_ACTION".Equals(Intent.Action)) | ||||||
|  |             { | ||||||
|  |                 var query = Intent.GetStringExtra(SearchManager.Query); | ||||||
|  |                 System.Diagnostics.Debug.WriteLine(query); | ||||||
|  | 
 | ||||||
|  |                 var intent = new Android.Content.Intent(Android.App.Application.Context, typeof(MainActivity)); | ||||||
|  |                 intent.AddFlags(Android.Content.ActivityFlags.NewTask); | ||||||
|  |                 intent.PutExtra("search", query); | ||||||
|  |                 intent.AddFlags(Android.Content.ActivityFlags.ReorderToFront); | ||||||
|  |                 Android.App.Application.Context.StartActivity(intent); | ||||||
|  |             } | ||||||
|  |             this.FinishActivity(0); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     public class AndroidListener : Java.Lang.Object, Application.IOnProvideAssistDataListener | ||||||
|  |     { | ||||||
|  |         public void OnProvideAssistData(Android.App.Activity activity, Bundle data)  | ||||||
|  |         { | ||||||
|  |             System.Diagnostics.Debug.WriteLine("OnProvideAssistData"); | ||||||
|  |         } | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -5,5 +5,11 @@ | ||||||
| 		<provider android:name="android.support.v4.content.FileProvider" android:authorities="com.nioux.aidedejeu.fileprovider" android:exported="false" android:grantUriPermissions="true"> | 		<provider android:name="android.support.v4.content.FileProvider" android:authorities="com.nioux.aidedejeu.fileprovider" android:exported="false" android:grantUriPermissions="true"> | ||||||
| 			<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"></meta-data> | 			<meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"></meta-data> | ||||||
| 		</provider> | 		</provider> | ||||||
|  |     <activity android:name=".SearchActivity"> | ||||||
|  |       <intent-filter> | ||||||
|  |         <action android:name="com.google.android.gms.actions.SEARCH_ACTION"/> | ||||||
|  |         <category android:name="android.intent.category.DEFAULT"/> | ||||||
|  |       </intent-filter> | ||||||
|  |     </activity> | ||||||
| 	</application> | 	</application> | ||||||
| </manifest> | </manifest> | ||||||
							
								
								
									
										2
									
								
								AideDeJeu/AideDeJeu.Android/testsearch.bat
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								AideDeJeu/AideDeJeu.Android/testsearch.bat
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | ||||||
|  | "C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe" shell am start -a com.google.android.gms.actions.SEARCH_ACTION -e query "barde" com.nioux.aidedejeu | ||||||
|  | pause | ||||||
|  | @ -16,7 +16,7 @@ namespace AideDeJeu | ||||||
|     public partial class App : Application |     public partial class App : Application | ||||||
| 	{ | 	{ | ||||||
| 
 | 
 | ||||||
| 		public App () | 		public App (string search = null) | ||||||
| 		{ | 		{ | ||||||
| 			InitializeComponent(); | 			InitializeComponent(); | ||||||
| 
 | 
 | ||||||
|  | @ -38,6 +38,10 @@ namespace AideDeJeu | ||||||
|             Routing.RegisterRoute("item", typeof(Views.Library.ItemPage)); |             Routing.RegisterRoute("item", typeof(Views.Library.ItemPage)); | ||||||
|             //MainPage = mainNavigationPage; |             //MainPage = mainNavigationPage; | ||||||
|             //mainNavigationPage.Navigation.PushAsync(new MainPage()); |             //mainNavigationPage.Navigation.PushAsync(new MainPage()); | ||||||
|  |             if (search != null) | ||||||
|  |             { | ||||||
|  |                 Shell.Current.Navigation.PushAsync(new Views.Library.DeepSearchPage()); | ||||||
|  |             } | ||||||
| 
 | 
 | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -30,6 +30,18 @@ namespace AideDeJeu.Views.Library | ||||||
|             BindingContext = new DeepSearchViewModel(); |             BindingContext = new DeepSearchViewModel(); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  |         public DeepSearchPage(string search = null) | ||||||
|  |         { | ||||||
|  |             InitializeComponent(); | ||||||
|  | 
 | ||||||
|  |             BindingContext = new DeepSearchViewModel(); | ||||||
|  | 
 | ||||||
|  |             if (search != null) | ||||||
|  |             { | ||||||
|  |                 (BindingContext as DeepSearchViewModel).ExecuteSearchCommandAsync(search); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         private async void ItemsListView_ItemTapped(object sender, ItemTappedEventArgs e) |         private async void ItemsListView_ItemTapped(object sender, ItemTappedEventArgs e) | ||||||
|         { |         { | ||||||
|             var searchedItem = e.Item as SearchedItem; |             var searchedItem = e.Item as SearchedItem; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez