diff --git a/Demo/BackgroundDownload.xcodeproj/project.xcworkspace/xcuserdata/michelangelo.xcuserdatad/UserInterfaceState.xcuserstate b/Demo/BackgroundDownload.xcodeproj/project.xcworkspace/xcuserdata/michelangelo.xcuserdatad/UserInterfaceState.xcuserstate index 6cd8fe0..65e7b9c 100644 Binary files a/Demo/BackgroundDownload.xcodeproj/project.xcworkspace/xcuserdata/michelangelo.xcuserdatad/UserInterfaceState.xcuserstate and b/Demo/BackgroundDownload.xcodeproj/project.xcworkspace/xcuserdata/michelangelo.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/Demo/BackgroundDownload/Base.lproj/Main.storyboard b/Demo/BackgroundDownload/Base.lproj/Main.storyboard index d912f9d..c7fc81d 100644 --- a/Demo/BackgroundDownload/Base.lproj/Main.storyboard +++ b/Demo/BackgroundDownload/Base.lproj/Main.storyboard @@ -1,13 +1,14 @@ - + - + + - + @@ -15,8 +16,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/BackgroundDownload/ViewController.m b/Demo/BackgroundDownload/ViewController.m index 5edf570..ad7c504 100644 --- a/Demo/BackgroundDownload/ViewController.m +++ b/Demo/BackgroundDownload/ViewController.m @@ -6,24 +6,83 @@ // Copyright (c) 2014 Touchware. All rights reserved. // +#define FILE_URL @"http://ovh.net/files/10Mio.dat" + #import "ViewController.h" #import @interface ViewController () +@property (weak, nonatomic) IBOutlet UILabel *mainLabel; +@property (weak, nonatomic) IBOutlet UIProgressView *progressView; +@property (weak, nonatomic) IBOutlet UIButton *startButton; +@property (weak, nonatomic) IBOutlet UIButton *cancelButton; +@property (weak, nonatomic) IBOutlet UIButton *deleteButton; +@property (assign, nonatomic) CGFloat progress; + +- (IBAction)startDownload:(id)sender; +- (IBAction)cancelDownload:(id)sender; +- (IBAction)deleteFiles:(id)sender; + @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; + self.progressView.progress = 0.0f; + self.mainLabel.text = @"TWRDownloadManager Demo"; + if ([[TWRDownloadManager sharedManager] fileExistsForUrl:FILE_URL]) { + self.deleteButton.enabled = YES; + self.cancelButton.enabled = NO; + self.startButton.enabled = NO; + } else { + self.deleteButton.enabled = NO; + self.cancelButton.enabled = NO; + self.startButton.enabled = YES; + } +} +- (IBAction)startDownload:(id)sender { // Just a demo example file... - [[TWRDownloadManager sharedManager] downloadFileForURL:@"http://ovh.net/files/10Mio.dat" progressBlock:^(CGFloat progress) { - NSLog(@"%.2f", progress); + [[TWRDownloadManager sharedManager] downloadFileForURL:FILE_URL progressBlock:^(CGFloat progress) { +// NSLog(@"%.2f", progress); + self.progress = progress; + self.progressView.progress = progress; + } remainingTime:^(NSUInteger seconds) { + NSLog(@"ETA: %lu sec.", (unsigned long)seconds); + self.mainLabel.text = [NSString stringWithFormat:@"Progress: %.0f%% - ETA: %lu sec.", self.progress, seconds]; } completionBlock:^(BOOL completed) { NSLog(@"Download completed!"); + self.deleteButton.enabled = YES; + self.cancelButton.enabled = NO; + self.startButton.enabled = NO; } enableBackgroundMode:YES]; + + self.cancelButton.enabled = YES; + self.startButton.enabled = NO; +} + +- (IBAction)cancelDownload:(id)sender { + [[TWRDownloadManager sharedManager] cancelAllDownloads]; + [self nilProgress]; + self.startButton.enabled = YES; + self.cancelButton.enabled = NO; + self.deleteButton.enabled = NO; +} + +- (IBAction)deleteFiles:(id)sender { + [[TWRDownloadManager sharedManager] deleteFileForUrl:FILE_URL]; + [self nilProgress]; + self.deleteButton.enabled = NO; + self.startButton.enabled = YES; + self.cancelButton.enabled = NO; +} + +- (void)nilProgress { + self.progressView.progress = 0.0f; + self.progress = 0.0f; + self.mainLabel.text = @"TWRDownloadManager Demo"; } @end