diff --git a/Shared/CoreServices.h b/Shared/CoreServices.h index ef0fc74..a944af1 100644 --- a/Shared/CoreServices.h +++ b/Shared/CoreServices.h @@ -37,8 +37,8 @@ extern NSString *LSInstallTypeKey; @protocol LSApplicationWorkspaceObserverProtocol @optional --(void)applicationsDidInstall:(id)arg1; --(void)applicationsDidUninstall:(id)arg1; +- (void)applicationsDidInstall:(NSArray *)apps; +- (void)applicationsDidUninstall:(NSArray *)apps; @end @interface LSEnumerator : NSEnumerator diff --git a/TrollStore/TSAppTableViewController.m b/TrollStore/TSAppTableViewController.m index ed99728..2c03a7d 100644 --- a/TrollStore/TSAppTableViewController.m +++ b/TrollStore/TSAppTableViewController.m @@ -497,13 +497,25 @@ UIImage* imageWithSize(UIImage* image, CGSize size) [TSPresentationDelegate presentViewController:appSelectAlert animated:YES completion:nil]; } -- (void)applicationsDidInstall:(id)arg1 +- (void)purgeCachedIconsForApps:(NSArray *)apps { + for (LSApplicationProxy *appProxy in apps) { + NSString *appId = appProxy.bundleIdentifier; + if (_cachedIcons[appId]) { + [_cachedIcons removeObjectForKey:appId]; + } + } +} + +- (void)applicationsDidInstall:(NSArray *)apps +{ + [self purgeCachedIconsForApps:apps]; [self reloadTable]; } -- (void)applicationsDidUninstall:(id)arg1 +- (void)applicationsDidUninstall:(NSArray *)apps { + [self purgeCachedIconsForApps:apps]; [self reloadTable]; }