|
|
@@ -0,0 +1,50 @@ |
|
|
|
@interface NCNotificationShortLookViewController |
|
|
|
-(id)_presentedLongLookViewController; |
|
|
|
-(void)addGestureRecognizer:(id)arg1; |
|
|
|
@property (assign, nonatomic) UIView *view; |
|
|
|
@end |
|
|
|
|
|
|
|
@interface NCNotificationListCell |
|
|
|
-(void)_executeDefaultActionIfCompleted; |
|
|
|
-(void)setExecutingDefaultAction:(BOOL)arg1; |
|
|
|
-(void)setSupportsSwipeToDefaultAction:(BOOL)arg1 ; |
|
|
|
-(BOOL)isActionButtonsFullyRevealed; |
|
|
|
-(NCNotificationShortLookViewController *)contentViewController; |
|
|
|
|
|
|
|
@end |
|
|
|
|
|
|
|
@interface SBLockScreenManager |
|
|
|
+(SBLockScreenManager *)sharedInstance; |
|
|
|
-(BOOL)isUILocked; |
|
|
|
@end |
|
|
|
|
|
|
|
%hook NCNotificationListCell |
|
|
|
CGFloat myThreshold = 0; |
|
|
|
-(CGFloat)_defaultActionExecuteThreshold{return myThreshold;} |
|
|
|
-(CGFloat)_defaultActionTriggerThreshold{return myThreshold;} |
|
|
|
-(CGFloat)_defaultActionOvershootContentOffset{return 0;} |
|
|
|
-(void)layoutSubviews{ |
|
|
|
%orig; |
|
|
|
bool isLocked = [[%c(SBLockScreenManager) sharedInstance] isUILocked]; |
|
|
|
if(isLocked == true){ |
|
|
|
if(MSHookIvar<NSMutableArray *>([self contentViewController].view, "_gestureRecognizers") == nil) |
|
|
|
{ |
|
|
|
UITapGestureRecognizer *singleFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dood:)]; |
|
|
|
[[self contentViewController].view addGestureRecognizer:singleFingerTap]; |
|
|
|
[self setSupportsSwipeToDefaultAction:false]; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
%new |
|
|
|
-(void)dood:(UITapGestureRecognizer *)recognizer{ |
|
|
|
bool isLocked = [[%c(SBLockScreenManager) sharedInstance] isUILocked]; |
|
|
|
if((isLocked == true) && ([self isActionButtonsFullyRevealed] == false) && ([[self contentViewController] _presentedLongLookViewController] == nil)) |
|
|
|
{ |
|
|
|
myThreshold = -1; |
|
|
|
[self setSupportsSwipeToDefaultAction:true]; |
|
|
|
[self _executeDefaultActionIfCompleted]; |
|
|
|
[self setSupportsSwipeToDefaultAction:false]; |
|
|
|
myThreshold = 0; |
|
|
|
} |
|
|
|
} |
|
|
|
%end |