Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge pull request #5 from Cykey/master
adds sbtoggle
  • Loading branch information
bored-engineer committed Mar 14, 2013
2 parents 5592258 + c500dd3 commit 53cedff
Show file tree
Hide file tree
Showing 32 changed files with 564 additions and 8 deletions.
13 changes: 10 additions & 3 deletions .gitignore
@@ -1,3 +1,10 @@
.theos
theos
debs
*.o
._*
.DS_Store
*.deb
Common.h
*.dylib
_
obj
.debmake
.theos
9 changes: 6 additions & 3 deletions Makefile
Expand Up @@ -8,12 +8,15 @@ SBServer_FILES = SBServer.xm
SBServer_FRAMEWORKS = CoreFoundation UIKit
SBServer_PRIVATE_FRAMEWORKS = AppSupport

TOOL_NAME = sbalert sbnetwork sbquit sblock sbdevice sblaunch sbbundleids sbopenurl sburlschemes sbmedia

TOOL_NAME = sbalert sbnetwork sbquit sblock sbdevice sblaunch sbbundleids sbopenurl sburlschemes sbmedia sbtoggle
sbmedia_FILES = sbmedia.m
sbmedia_FRAMEWORKS = UIKit
sbmedia_PRIVATE_FRAMEWORKS = AppSupport

sbtoggle_FILES = sbtoggle.mm
sbtoggle_FRAMEWORKS = UIKit
sbtoggle_PRIVATE_FRAMEWORKS = AppSupport

sbalert_FILES = sbalert.mm
sbalert_FRAMEWORKS = CoreFoundation

Expand Down Expand Up @@ -47,4 +50,4 @@ sburlschemes_PRIVATE_FRAMEWORKS = SpringBoardServices


include $(THEOS_MAKE_PATH)/tool.mk
include $(THEOS_MAKE_PATH)/tweak.mk
include $(THEOS_MAKE_PATH)/tweak.mk
68 changes: 66 additions & 2 deletions SBServer.xm
@@ -1,5 +1,13 @@
#import <AppSupport/CPDistributedMessagingCenter.h>
#include <SpringBoard/SBMediaController.h>
/*
#import <SpringBoard/SBMediaController.h>
#import <SpringBoard/SBWiFiManager.h>
#import <SpringBoard/SBTelephonyManager.h>
#import <BluetoothManager/BluetoothManager.h>
#import <CoreLocation/CLLocationManager.h>
*/
#import "header.h"



%hook SpringBoard
Expand All @@ -8,6 +16,8 @@
CPDistributedMessagingCenter *messagingCenter = [CPDistributedMessagingCenter centerNamed:@"com.innoying.sbserver"];
[messagingCenter runServerOnCurrentThread];
[messagingCenter registerForMessageName:@"sbmedia" target:self selector:@selector(handleSbmediaCommand:withUserInfo:)];
[messagingCenter registerForMessageName:@"sbtoggle" target:self selector:@selector(handleSbtoggleCommand:withUserInfo:)];

}
return self;
}
Expand All @@ -28,4 +38,58 @@
}
return [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:1] forKey:@"status"];
}
%end
%new(@@:@@)
- (NSDictionary *)handleSbtoggleCommand:(NSString *)name withUserInfo:(NSDictionary *)userInfo {
//Extract options
NSLog(@"it's called!");
NSString *options = [userInfo objectForKey:@"options"];

if([options isEqualToString:@"-w"] == YES){
if ([%c(SBWiFiManager) sharedInstance] == nil) {
return [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:-1] forKey:@"status"];
}
if ([[%c(SBWiFiManager) sharedInstance] wiFiEnabled]) {
[[%c(SBWiFiManager) sharedInstance] setWiFiEnabled:NO];
}
else {
[[%c(SBWiFiManager) sharedInstance] setWiFiEnabled:YES];
}
}else if([options isEqualToString:@"-a"] == YES){
id sharedController = [%c(SBTelephonyManager) sharedTelephonyManager];

if ([sharedController isInAirplaneMode]) {
[sharedController setIsInAirplaneMode:NO];
[sharedController updateAirplaneMode];
[sharedController airplaneModeChanged];
}
else {
[sharedController setIsInAirplaneMode:YES];
[sharedController updateAirplaneMode];
[sharedController airplaneModeChanged];
}
return [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:1] forKey:@"status"];

}else if([options isEqualToString:@"-l"] == YES){
Class CLLocationManager = %c(CLLocationManager);
if ([CLLocationManager locationServicesEnabled]) {
[CLLocationManager setLocationServicesEnabled:NO];
[CLLocationManager setStatusBarIconEnabled:NO forLocationEntityClass:1];
}
else {
[CLLocationManager setLocationServicesEnabled:YES];
[CLLocationManager setStatusBarIconEnabled:YES forLocationEntityClass:1];
}

}else if([options isEqualToString:@"-b"] == YES){
id btoggleController = [objc_getClass("BluetoothManager") sharedInstance];
[btoggleController setPowered:![btoggleController powered]];
}else if([options isEqualToString:@"-g"] == YES){
//To-do
}else if([options isEqualToString:@"-d"] == YES){
//To-do
}else{
return [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:-1] forKey:@"status"];
}
return [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:1] forKey:@"status"];
}
%end

0 comments on commit 53cedff

Please sign in to comment.