//
//  CSFileDownLoadControllerView.m
//  zhuxun
//
//  Created by winsoft on 17/6/22.
//
//

#import "CSFileDownLoadControllerView.h"

#import <DACircularProgressView.h>

@interface CSFileDownLoadControllerView()
@property (nonatomic , weak) UIButton *controllerBtn;
@property (nonatomic , weak) DACircularProgressView *processView;

@end
@implementation CSFileDownLoadControllerView
- (instancetype)init
{
    if (self = [super init]) {
       
        
        DACircularProgressView *processView = [[DACircularProgressView alloc] initWithFrame:CGRectMake(0, 0, self.circleSizeWH, self.circleSizeWH)];;
        processView.trackTintColor = [UIColor lightGrayColor];
        processView.progressTintColor = [UIColor blueColor];
        processView.innerTintColor = [UIColor whiteColor];
        
        processView.thicknessRatio = 0.1;

        [self addSubview:processView];
        self.processView = processView;
        
        
        UIButton *controllerBtn = [[UIButton alloc]init];
        [controllerBtn addTarget:self action:@selector(downUpContro) forControlEvents:UIControlEventTouchUpInside];
        UIImage *fav_circle_procss_image = [UIImage imageNamed:@"fav_pause_normal"];
        _circleSizeWH = fav_circle_procss_image.size.width;
        
        [controllerBtn setImage:fav_circle_procss_image forState:UIControlStateNormal];
        [controllerBtn setImage:[UIImage imageNamed:@"fav_pause_pressed"] forState:UIControlStateSelected];
        
        [self addSubview:controllerBtn];
        
        self.controllerBtn = controllerBtn;
    }
    
    return self;
}

- (void)downUpContro
{
    if (self.downUpStatus == DownUpStatusDoing || self.downUpStatus == DownUpStatusWait) {
        self.downUpStatus = DownUpStatusPause;
    }else if (self.downUpStatus == DownUpStatusFailure || self.downUpStatus == DownUpStatusPause)
    {
        self.downUpStatus = DownUpStatusWait;
    }
    
    if (self.downUpStatusChangeBlock) {
        self.downUpStatusChangeBlock(self.downUpStatus);
    }
}

- (void)setDownUpStatus:(DownUpStatus)downUpStatus
{
    _downUpStatus = downUpStatus;
    
    /* DownUpStatusWait = 0,//默认为排队等待.
     DownUpStatusDoing,
     DownUpStatusPause,//Pause->恢复doing时判断是否有其他进行,是则=wait.
     DownUpStatusSuccess,
     DownUpStatusFailure*/
    
    if (downUpStatus == DownUpStatusWait || downUpStatus == DownUpStatusDoing ) {
        [self.controllerBtn setImage:[UIImage imageNamed:@"fav_pause_normal"] forState:UIControlStateNormal];
        [self.controllerBtn setImage:[UIImage imageNamed:@"fav_pause_pressed"] forState:UIControlStateSelected];
    }else if (downUpStatus == DownUpStatusPause || downUpStatus == DownUpStatusFailure) {
        [self.controllerBtn setImage:[UIImage imageNamed:@"fav_download_normal"] forState:UIControlStateNormal];
        [self.controllerBtn setImage:[UIImage imageNamed:@"fav_download_pressed"] forState:UIControlStateSelected];
    }
}

- (void)setPercent:(CGFloat)percent
{
//    self.processView.progress = percent;
    
    [self.processView setProgress:percent animated:NO initialDelay:0];
}

- (void)layoutSubviews
{
    [super layoutSubviews];
    
    self.processView.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
    
    CGFloat btnWH = self.frame.size.width * 0.9;
    
    self.controllerBtn.frame = CGRectMake((self.frame.size.width - btnWH)/2.0f, (self.frame.size.height - btnWH)/2.0f, btnWH, btnWH);
  
}
@end
