// // backupsSetViewController.m // 隐私保护 // // Created by xd h on 2024/1/2. // #import "backupsSetViewController.h" #import "fileSetTableViewCell.h" #import "fileTransferPathCheckViewController.h" //#import "backupsFileManager.h" #import "nasBackupsManager.h" //此文件弃用 @interface backupsSetViewController () @property (nonatomic, strong) UITableView *tableView; @property (nonatomic, strong) UIView *tailView; @property (nonatomic, strong) UILabel *uploadFilePathLabel; @end @implementation backupsSetViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. [self.toolBar setHidden:YES]; [self.navigationBar setHidden:YES]; [self.navBarBGView setHidden:NO]; [self.titleLabel setText:NSLocalizedString(@"File_backups_path_set",nil)]; //多国语言适配 NSString *languageCode = [NSLocale preferredLanguages][0]; if([languageCode rangeOfString:@"ja-"].location != NSNotFound) { self.titleLabel.font = [UIFont boldSystemFontOfSize:15.0]; } [self.view setBackgroundColor:HWF5F7FAColor]; [self drawAnyView]; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [self setUploadFilePathLabelTitleFun]; } - (void)drawAnyView{ [self.view addSubview:self.tableView]; [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(0); make.right.mas_equalTo(0); make.bottom.mas_equalTo(0); make.top.equalTo(self.navBarBGView.mas_bottom).offset(10.f); }]; self.tableView.tableFooterView = [self tailView]; } #pragma mark - 懒加载 - (UITableView *)tableView{ if (!_tableView) { _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_W, SCREEN_H - TABBARHEIGHT) style:UITableViewStylePlain]; _tableView.delegate = self; _tableView.dataSource = self; _tableView.showsVerticalScrollIndicator = NO; _tableView.showsHorizontalScrollIndicator = NO; // _tableView.contentInset = UIEdgeInsetsMake(-H_STATE_BAR, 0, 0, 0); [_tableView setSeparatorStyle:(UITableViewCellSeparatorStyleNone)]; [_tableView setSeparatorColor:[UIColor clearColor]]; [_tableView setBackgroundColor:[UIColor clearColor]]; [_tableView setTableFooterView:[UIView new]]; [_tableView setBounces:YES]; _tableView.scrollEnabled = NO; if (@available(iOS 15.0, *)) { _tableView.sectionHeaderTopPadding = 0; } } return _tableView; } #pragma mark - 懒加载 - (UIView *)tailView{ if (!_tailView) { _tailView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_W, 140 +15)]; UIView *tailBgView = [[UIView alloc] init]; tailBgView.backgroundColor = [UIColor whiteColor]; tailBgView.layer.cornerRadius = 8; [_tailView addSubview:tailBgView]; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didClickTailViewFun)]; [tailBgView addGestureRecognizer:tap]; [tailBgView mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(15); make.right.mas_equalTo(-15); make.height.mas_equalTo(60); make.top.mas_equalTo(15); }]; UILabel *titleLab = [[UILabel alloc] init]; titleLab.text = NSLocalizedString(@"File_backups_path_set",nil); titleLab.font = [UIFont boldSystemFontOfSize:14.0]; titleLab.textColor = [UIColor hwColor:@"#0A132B" alpha:1.0]; [tailBgView addSubview:titleLab]; [titleLab mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(10); make.right.mas_equalTo(-50); make.height.mas_equalTo(20); make.top.mas_equalTo(20); }]; /*右侧箭头*/ UIImageView *rightImage = [[UIImageView alloc] init]; [rightImage setBackgroundColor:[UIColor clearColor]]; [rightImage setImage:[UIImage imageNamed:@"cell_right_access"]]; [tailBgView addSubview:rightImage]; [rightImage mas_makeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(28); make.right.mas_equalTo(-15.f); make.height.mas_equalTo(28); make.centerY.equalTo(titleLab.mas_centerY); }]; _uploadFilePathLabel=[[UILabel alloc] init]; //titleLab.text = NSLocalizedString(@"File_upload_path_set",nil); _uploadFilePathLabel.font = [UIFont systemFontOfSize:12.0]; _uploadFilePathLabel.textColor = [UIColor hwColor:@"#6A6A6A" alpha:1.0]; _uploadFilePathLabel.numberOfLines = 0; [_tailView addSubview:_uploadFilePathLabel]; [_uploadFilePathLabel mas_makeConstraints:^(MASConstraintMaker *make) { make.left.mas_equalTo(15); make.right.mas_equalTo(-15); make.bottom.mas_equalTo(-10); make.top.mas_equalTo(tailBgView.mas_bottom).offset(10.0); }]; [self setUploadFilePathLabelTitleFun]; } return _tailView; } - (void)setUploadFilePathLabelTitleFun { NSString * leftStr = NSLocalizedString(@"File_backups_path_way_tip",nil); NSString * backupsDefaultPath = [HWDataManager getStringWithKey:stringKeyAddSn(Const_photo_backups_default_path)]; if(!backupsDefaultPath || backupsDefaultPath.length == 0){ backupsDefaultPath = Const_default_backups_path; [HWDataManager setStringWithKey:stringKeyAddSn(Const_photo_backups_default_path) value:backupsDefaultPath]; } backupsDefaultPath = [iTools changePathToShowPathBy:backupsDefaultPath]; NSString * rightStr = backupsDefaultPath; NSString *totalStr = [[NSString alloc] initWithFormat:@"%@%@",leftStr,rightStr]; NSMutableAttributedString *noteStr = [[NSMutableAttributedString alloc] initWithString:totalStr]; NSRange redRange = NSMakeRange([totalStr rangeOfString:rightStr].location, [totalStr rangeOfString:rightStr].length); [noteStr addAttribute:NSForegroundColorAttributeName value:[UIColor hwColor:@"#01B7EA" alpha:0.8] range:redRange]; [noteStr addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:12.0] range:redRange]; // 设置行间距 NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; [paragraphStyle setLineSpacing:5]; //设置行间距 [noteStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [totalStr length])]; _uploadFilePathLabel.attributedText = noteStr; } #pragma mark 尾部事件 - (void)didClickTailViewFun { //photosBackupsTaskModel* model = [backupsFileManager shareInstance].curPhotosBackupsTaskMod; photosBackupsTaskModel* model = [nasBackupsManager shareInstance].curPhotosBackupsTaskMod; if(!model){ KWeakSelf [photosBackupsTaskModel bg_findAsync:backups_photos_tableName limit:1 orderBy:nil desc:YES complete:^(NSArray * _Nullable array) { mainBlock(^{ if(array && array.count > 0){ photosBackupsTaskModel *preModel = array.lastObject; if(preModel.curBackupsState == backupsStateUploading ||preModel.curBackupsState == backupsStateSuspend ){ [[iToast makeText:NSLocalizedString(@"File_backups_set_default_path_tip",nil)] show]; } else{ [self gotofileTransferPathCheckVCFun]; } } else{ [self gotofileTransferPathCheckVCFun]; } }); }]; } else if(model.curBackupsState == backupsStateUploading //|| model.curBackupsState == backupsStateSuspend ) { //判断尺寸路径是否存在 NSString * uploadDefaultPath = [HWDataManager getStringWithKey:stringKeyAddSn(Const_photo_backups_default_path)]; BOOL isExtraFileType = NO; BOOL isExtraPathFind = NO; if(uploadDefaultPath){ if(![uploadDefaultPath containsString:@"sdcard/"]){ isExtraFileType = YES; } } if(uploadDefaultPath && ksharedAppDelegate.cloudPhoneExtraFileListMod){ NSArray*arr = ksharedAppDelegate.cloudPhoneExtraFileListMod.data; for (cloudPhoneExtraFileModel*model in arr) { if([uploadDefaultPath containsString:model.extraPath]){ isExtraPathFind = YES; break; } } } if(isExtraFileType && !isExtraPathFind){ [self gotofileTransferPathCheckVCFun]; } else{ [[iToast makeText:NSLocalizedString(@"File_backups_set_default_path_tip",nil)] show]; } } else{ [self gotofileTransferPathCheckVCFun]; } } - (void)gotofileTransferPathCheckVCFun { fileTransferPathCheckViewController *vc = [fileTransferPathCheckViewController new]; vc.curType = 2; [self.navigationController pushViewController:vc animated:YES]; } #pragma mark - 列表委托 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { //return 2; return 1; } - (fileSetTableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ __block NSInteger row = indexPath.row; static NSString *identifier = @"fileSetTableViewCell"; fileSetTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:identifier]; cell.selectionStyle = UITableViewCellSelectionStyleNone; if (!cell){ cell = [[fileSetTableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identifier]; [cell setSelectionStyle:UITableViewCellSelectionStyleNone]; [cell setBackgroundColor:[UIColor clearColor]]; [cell setAccessoryType:(UITableViewCellAccessoryNone)]; [cell.bgViewLayer removeFromSuperlayer]; [cell.titleLabel2 setHidden:YES]; [cell.rightImage setHidden:YES]; [cell.lineView setHidden:NO]; [cell.maskSwitch setHidden:NO]; } if (row == 0){ [cell.titleLabel setText:NSLocalizedString(@"File_backups_set_Cellular",nil)]; BOOL haveOpenMask = [HWDataManager getBoolWithKey:stringKeyAddSn(Const_file_Transfe_canUse_Cellular_all)]; [cell.maskSwitch setOn:haveOpenMask]; /*上圆角*/ //设置部分圆角 贝塞尔曲线 // UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, SCREEN_W-30 , 60) // byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight // cornerRadii:CGSizeMake(8, 8)]; UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, SCREEN_W-30 , 60) byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(8, 8)]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; maskLayer.frame = cell.cellBgView.bounds; maskLayer.path = maskPath.CGPath; cell.bgViewLayer = maskLayer; cell.cellBgView.layer.mask = cell.bgViewLayer; [cell.lineView setHidden:YES]; } else if (row == 1) { // [cell.titleLabel setText:NSLocalizedString(@"File_backups_set_battery_level",nil)]; // // BOOL haveOpenMask = [HWDataManager getBoolWithKey:Const_file_backups_battery_level]; // [cell.maskSwitch setOn:haveOpenMask]; /*下圆角*/ UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(0, 0, SCREEN_W-30 , 60) byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(8, 8)]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; maskLayer.frame = cell.cellBgView.bounds; maskLayer.path = maskPath.CGPath; cell.bgViewLayer = maskLayer; cell.cellBgView.layer.mask = cell.bgViewLayer; [cell.lineView setHidden:YES]; } KWeakSelf cell.didClickSwitch = ^(BOOL SwitchOn) { [weakSelf didClickSwitchBy:SwitchOn withRow:row]; }; return cell; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return 60; } - (void)didClickSwitchBy:(BOOL)SwitchOn withRow:(NSInteger)row { if(row == 0){ [HWDataManager setBoolWithKey:stringKeyAddSn(Const_file_Transfe_canUse_Cellular_all) value:SwitchOn]; } else{ [HWDataManager setBoolWithKey:stringKeyAddSn(Const_file_backups_battery_level) value:SwitchOn]; } } @end