Преглед изворни кода

Version 1.0.3

Added a12 compatability.

Fixed a bug where AVLock's button was overlapping.
master
Gil Shahar пре 5 година
родитељ
комит
d0fd47ccba
No account linked to committer's email address
3 измењених фајлова са 31 додато и 19 уклоњено
  1. +2
    -2
      Makefile
  2. +29
    -17
      Tweak.xm
  3. BIN
      com.gilshahar7.avlock_1.0.3_iphoneos-arm.deb

+ 2
- 2
Makefile Прегледај датотеку

@@ -1,5 +1,5 @@
ARCHS = armv7 arm64
ARCHS = armv7 arm64 arm64e
export TARGET = iphone:clang:11.2:7.0
include $(THEOS)/makefiles/common.mk

TWEAK_NAME = AVLock

+ 29
- 17
Tweak.xm Прегледај датотеку

@@ -21,7 +21,8 @@

@end


//#import <AudioToolbox/AudioToolbox.h>
//#import <AudioToolbox/AudioServices.h>

extern "C" CFNotificationCenterRef CFNotificationCenterGetDistributedCenter(void);

@@ -66,13 +67,13 @@ CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
(void*)myObserver,
toggle,
CFSTR("avlock.toggle"),
NULL,
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
(void*)myObserver,
firstUpdate,
CFSTR("avlock.firstUpdate"),
NULL,
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);

return self;
@@ -96,13 +97,24 @@ CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
}

%end



double delayInSeconds = 0.13;

%hook AVPlaybackControlsVisibilityControllerItem
-(BOOL)wantsAnimatedTransitionToHidden:(BOOL)arg1 alpha:(double)arg2{
if(!arg1){
delayInSeconds = 0.0;
[[NSNotificationCenter defaultCenter] postNotificationName:UIDeviceOrientationDidChangeNotification object:nil];
//AudioServicesPlaySystemSound(1103);
delayInSeconds = 0.13;
}
return %orig;
}
%end

%hook AVTransportControlsView
int test = 30;


// iOS 12
-(AVTransportControlsView *)initWithFrame:(CGRect)frame styleSheet:(id)arg2 captureView:(id)arg3{
AVTransportControlsView *origself = %orig(frame,arg2,arg3);
@@ -110,13 +122,13 @@ int test = 30;
(void*)myObserver,
lockButton,
CFSTR("avlock.lockButton"),
NULL,
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
(void*)myObserver,
unlockButton,
CFSTR("avlock.unlockButton"),
NULL,
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);
button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(orientationButtonPressed) forControlEvents:UIControlEventTouchUpInside];
@@ -128,7 +140,7 @@ int test = 30;
[self addSubview:button];
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceOrientationDidChange) name:UIDeviceOrientationDidChangeNotification object:nil];
return origself;
}

@@ -139,13 +151,13 @@ int test = 30;
(void*)myObserver,
lockButton,
CFSTR("avlock.lockButton"),
NULL,
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(),
(void*)myObserver,
unlockButton,
CFSTR("avlock.unlockButton"),
NULL,
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);
button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(orientationButtonPressed) forControlEvents:UIControlEventTouchUpInside];
@@ -157,14 +169,14 @@ int test = 30;
[self addSubview:button];
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceOrientationDidChange) name:UIDeviceOrientationDidChangeNotification object:nil];
return origself;
}


-(void)dealloc{
%orig;
CFNotificationCenterRemoveObserver ( CFNotificationCenterGetDarwinNotifyCenter(), (void*)myObserver, NULL, NULL);
CFNotificationCenterRemoveObserver ( CFNotificationCenterGetDarwinNotifyCenter(), (void*)myObserver, NULL, NULL);
test = 30;
}

@@ -178,7 +190,7 @@ int test = 30;

%new
-(void)deviceOrientationDidChange{
double delayInSeconds = 0.13;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

@@ -189,13 +201,13 @@ dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
CGPoint point = self.standardPlayPauseButton.frame.origin;
point.x = (self.skipForwardButton.frame.origin.x - 40);
[self.standardPlayPauseButton setFrame:CGRectMake(point.x, point.y, self.standardPlayPauseButton.frame.size.width, self.standardPlayPauseButton.frame.size.height)];
point = self.skipBackButton.frame.origin;
point.x = (self.standardPlayPauseButton.frame.origin.x - 40);
[self.skipBackButton setFrame:CGRectMake(point.x, point.y, self.skipBackButton.frame.size.width, self.skipBackButton.frame.size.height)];
[button setFrame:CGRectMake(self.standardPlayPauseButton.frame.origin.x-93.5, self.standardPlayPauseButton.frame.origin.y, 46, 46)];
}
else if(orientation == UIInterfaceOrientationPortrait){
button.frame = CGRectMake((self.skipBackButton.frame.origin.x - 62), self.skipBackButton.frame.origin.y, 46, 46);

BIN
com.gilshahar7.avlock_1.0.3_iphoneos-arm.deb Прегледај датотеку


Loading…
Откажи
Сачувај