@@ -298,102 +298,5 @@ private void MenuAsAdmin_Invoked(object sender, RoutedEventArgs e)
298298 private void MenuInstallSettings_Invoked ( object sender , RoutedEventArgs e )
299299 => ShowInstallationOptionsForPackage ( SelectedItem ) ;
300300
301- public void ShowSharedPackage_ThreadSafe ( string id , string combinedSourceName )
302- {
303- var contents = combinedSourceName . Split ( ':' ) ;
304- string managerName = contents [ 0 ] ;
305- string sourceName = "" ;
306- if ( contents . Length > 1 ) sourceName = contents [ 1 ] ;
307- _showSharedPackage ( id , managerName , sourceName , "LEGACY_COMBINEDSOURCE" ) ;
308- }
309-
310- public void ShowSharedPackage_ThreadSafe ( string id , string managerName , string sourceName )
311- {
312- MainApp . Instance . MainWindow . DispatcherQueue . TryEnqueue ( ( ) =>
313- {
314- _showSharedPackage ( id , managerName , sourceName , "DEFAULT" ) ;
315- } ) ;
316- }
317-
318- private async void _showSharedPackage ( string id , string manager , string source , string eventSource )
319- {
320- IPackage ? package = await GetPackageFromIdAndManager ( id , manager , source ) ;
321- if ( package is not null )
322- {
323- TelemetryHandler . SharedPackage ( package , eventSource ) ;
324- ShowDetailsForPackage ( package , TEL_InstallReferral . FROM_WEB_SHARE ) ;
325- }
326- }
327-
328- private static async Task < IPackage ? > GetPackageFromIdAndManager ( string id , string managerName , string sourceName )
329- {
330- try
331- {
332- Logger . Info ( $ "Showing shared package with pId={ id } and pSource={ managerName } : ´{ sourceName } ...") ;
333- MainApp . Instance . MainWindow . Activate ( ) ;
334- DialogHelper . ShowLoadingDialog ( CoreTools . Translate ( "Please wait..." , id ) ) ;
335-
336- IPackageManager ? manager = null ;
337-
338- foreach ( var candidate in PEInterface . Managers )
339- {
340- if ( candidate . Name == managerName || candidate . DisplayName == managerName )
341- {
342- manager = candidate ;
343- break ;
344- }
345- }
346-
347- if ( manager is null )
348- {
349- throw new ArgumentException ( CoreTools . Translate ( "The package manager \" {0}\" was not found" , managerName ) ) ;
350- }
351-
352- if ( ! manager . IsEnabled ( ) )
353- throw new ArgumentException ( CoreTools . Translate ( "The package manager \" {0}\" is disabled" , manager . DisplayName ) ) ;
354-
355- if ( ! manager . Status . Found )
356- throw new ArgumentException ( CoreTools . Translate ( "There is an error with the configuration of the package manager \" {0}\" " , manager . DisplayName ) ) ;
357-
358- var results = await Task . Run ( ( ) => manager . FindPackages ( id ) ) ;
359- var candidates = results . Where ( p => p . Id == id ) . ToArray ( ) ;
360-
361- if ( candidates . Length == 0 )
362- {
363- throw new ArgumentException ( CoreTools . Translate ( "The package \" {0}\" was not found on the package manager \" {1}\" " , id , manager . DisplayName ) ) ;
364- }
365-
366- IPackage package = candidates [ 0 ] ;
367-
368- // Get package from best source
369- if ( candidates . Length >= 1 && manager . Capabilities . SupportsCustomSources )
370- foreach ( var candidate in candidates )
371- {
372- if ( candidate . Source . Name == sourceName )
373- package = candidate ;
374- }
375-
376- Logger . ImportantInfo ( $ "Found package { package . Id } on manager { package . Manager . Name } , showing it...") ;
377- DialogHelper . HideLoadingDialog ( ) ;
378- return package ;
379- }
380- catch ( Exception ex )
381- {
382- Logger . Error ( $ "An error occurred while attempting to show the package with id { id } ") ;
383- Logger . Error ( ex ) ;
384- var warningDialog = new ContentDialog
385- {
386- Title = CoreTools . Translate ( "Package not found" ) ,
387- Content = CoreTools . Translate ( "An error occurred when attempting to show the package with Id {0}" , id ) + ":\n " + ex . Message ,
388- CloseButtonText = CoreTools . Translate ( "Ok" ) ,
389- DefaultButton = ContentDialogButton . Close ,
390- XamlRoot = MainApp . Instance . MainWindow . Content . XamlRoot // Ensure the dialog is shown in the correct context
391- } ;
392-
393- DialogHelper . HideLoadingDialog ( ) ;
394- await MainApp . Instance . MainWindow . ShowDialogAsync ( warningDialog ) ;
395- return null ;
396- }
397- }
398301 }
399302}
0 commit comments