##判断手势锁是否有效
- (BOOL)isInvalidLockScreenPwd
{
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
NSTimeInterval nowInterval = [[NSDate date] timeIntervalSince1970];
NSInteger type = [g_configDic[@"vpn_logintype"] intValue];
BOOL shareLogin = [g_configDic[@"share_login"] boolValue];
BOOL patternFlag = [g_configDic[@"pattern_lock"] boolValue];
NSString *vpn = [InjectConfig sharedInstance].realAddr;
NSString *gesturePwd = [SfCommon passwordForAccount:kLockGesturePswd andShareLogin:shareLogin andVpnAddress:vpn];
NSString *session = [SfCommon passwordForAccount:vpn andShareLogin:shareLogin andVpnAddress:@""];
NSString *times = [SfCommon passwordForAccount:KLockErrorTimes andShareLogin:shareLogin andVpnAddress:vpn];
long ackOutTime = 0;
long ackResTime = 0;
if(!shareLogin) {
//判断是否有手势密码
if(gesturePwd.length != 0) {
ackOutTime = [[userDefault objectForKey:KAckOutTime] longLongValue];
ackResTime = [[userDefault objectForKey:KAckLastResTime] longLongValue];
}
} else {
NSString *outAccount = [NSString stringWithFormat:@"%@%@",vpn,KAckOutTime];
NSString *resAccount = [NSString stringWithFormat:@"%@%@",vpn,KAckLastResTime];
if(gesturePwd.length != 0) {
ackOutTime = [[SSKeychain passwordForService:KServive_Sangfor account:outAccount] intValue];
ackResTime = [[SSKeychain passwordForService:KServive_Sangfor account:resAccount] intValue];
}
}
if((gesturePwd.length != 0)&&(ackOutTime+ackResTime > nowInterval)&&(type == 2)&&patternFlag&&session&&[times intValue]>0)
{
return YES;
}else {
info(MODULE_SDK,@"password:%@ acktimeResult:%d patternFlag:%d session:%@",gesturePwd,(ackOutTime+ackResTime > nowInterval),patternFlag,session);
}
return NO;
}
网友评论