summaryrefslogtreecommitdiff
path: root/MobileCydia.mm
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2011-03-12 14:34:19 -0800
committerJay Freeman (saurik) <saurik@saurik.com>2011-03-14 05:09:08 -0700
commit25c1dafb7565aea86bec1f415896e4ad1431906b (patch)
treecf95ab6d4ec2f1cd4b159e7195a0968a29f74c0c /MobileCydia.mm
parent5c1b89fbaedb2dc0b223b912bbfbbc9e5ed72928 (diff)
Separate out Sources.mm.
Diffstat (limited to 'MobileCydia.mm')
-rw-r--r--MobileCydia.mm99
1 files changed, 34 insertions, 65 deletions
diff --git a/MobileCydia.mm b/MobileCydia.mm
index fb483a8..43217de 100644
--- a/MobileCydia.mm
+++ b/MobileCydia.mm
@@ -121,6 +121,7 @@ extern "C" {
#include <errno.h>
#include <Cytore.hpp>
+#include "Sources.h"
#include <CydiaSubstrate/CydiaSubstrate.h>
#include "Menes/Menes.h"
@@ -705,16 +706,16 @@ static _transient NSString *Role_;
static _transient NSMutableDictionary *Packages_;
static _transient NSMutableDictionary *Values_;
static _transient NSMutableDictionary *Sections_;
-static _transient NSMutableDictionary *Sources_;
+_H<NSMutableDictionary> Sources_;
static _transient NSNumber *Version_;
-static _transient _H<NSString> CydiaSource_;
-static bool Changed_;
+_H<NSString> CydiaSource_;
+bool Changed_;
static time_t now_;
bool IsWildcat_;
static CGFloat ScreenScale_;
static NSString *Idiom_;
-static NSString *Firmware_;
+_H<NSString> Firmware_;
static NSString *Major_;
static _H<NSMutableDictionary> SessionData_;
@@ -731,50 +732,6 @@ static NSString *kCydiaProgressEventTypeStatus = @"Status";
static NSString *kCydiaProgressEventTypeWarning = @"Warning";
/* }}} */
-static void AddSource(NSDictionary *source) {
- [Sources_ setObject:source forKey:[NSString stringWithFormat:@"%@:%@:%@", [source objectForKey:@"Type"], [source objectForKey:@"URI"], [source objectForKey:@"Distribution"]]];
- Changed_ = true;
-}
-
-static void AddSource(NSString *href, NSString *distribution, NSArray *sections = nil) {
- AddSource([NSMutableDictionary dictionaryWithObjectsAndKeys:
- @"deb", @"Type",
- href, @"URI",
- distribution, @"Distribution",
- sections ?: [NSMutableArray array], @"Sections",
- nil]);
-}
-
-static void WriteSources() {
- FILE *file(fopen("/etc/apt/sources.list.d/cydia.list", "w"));
- _assert(file != NULL);
-
- NSString *distribution(@"ios");
- if (Firmware_ != nil)
- distribution = [distribution stringByAppendingString:[NSString stringWithFormat:@"-%@", Firmware_]];
-
- fprintf(file, "deb http://%s/ %s main\n",
- [CydiaSource_ UTF8String],
- [distribution UTF8String]
- );
-
- for (NSString *key in [Sources_ allKeys]) {
- NSDictionary *source([Sources_ objectForKey:key]);
-
- NSArray *sections([source objectForKey:@"Sections"] ?: [NSArray array]);
-
- fprintf(file, "%s %s %s%s%s\n",
- [[source objectForKey:@"Type"] UTF8String],
- [[source objectForKey:@"URI"] UTF8String],
- [[source objectForKey:@"Distribution"] UTF8String],
- [sections count] == 0 ? "" : " ",
- [[sections componentsJoinedByString:@" "] UTF8String]
- );
- }
-
- fclose(file);
-}
-
/* Display Helpers {{{ */
inline float Interpolate(float begin, float end, float fraction) {
return (end - begin) * fraction + begin;
@@ -5531,13 +5488,13 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
CGRect rect;
rect.size = [(UIImage *) icon_ size];
- while (rect.size.width > 32 || rect.size.height > 32) {
+ while (rect.size.width > 16 || rect.size.height > 16) {
rect.size.width /= 2;
rect.size.height /= 2;
}
- rect.origin.x = 14 - rect.size.width / 4;
- rect.origin.y = 14 - rect.size.height / 4;
+ rect.origin.x = 18 - rect.size.width / 2;
+ rect.origin.y = 18 - rect.size.height / 2;
[icon_ drawInRect:rect];
}
@@ -5549,8 +5506,8 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
rect.size.width /= 4;
rect.size.height /= 4;
- rect.origin.x = 20 - rect.size.width / 4;
- rect.origin.y = 20 - rect.size.height / 4;
+ rect.origin.x = 23 - rect.size.width / 2;
+ rect.origin.y = 23 - rect.size.height / 2;
[badge_ drawInRect:rect];
}
@@ -5574,7 +5531,7 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
CGRect rect;
rect.size = [(UIImage *) icon_ size];
- while (rect.size.width > 64 || rect.size.height > 64) {
+ while (rect.size.width > 32 || rect.size.height > 32) {
rect.size.width /= 2;
rect.size.height /= 2;
}
@@ -8097,8 +8054,20 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
bool highlighted(highlighted_);
float width(rect.size.width);
- if (icon_ != nil)
- [icon_ drawInRect:CGRectMake(10, 10, 30, 30)];
+ if (icon_ != nil) {
+ CGRect rect;
+ rect.size = [(UIImage *) icon_ size];
+
+ while (rect.size.width > 32 || rect.size.height > 32) {
+ rect.size.width /= 2;
+ rect.size.height /= 2;
+ }
+
+ rect.origin.x = 25 - rect.size.width / 2;
+ rect.origin.y = 25 - rect.size.height / 2;
+
+ [icon_ drawInRect:rect];
+ }
if (highlighted)
UISetColor(White_);
@@ -8985,7 +8954,7 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
}
}
- WriteSources();
+ CydiaWriteSources();
}
// Navigation controller for the queuing badge.
@@ -9183,15 +9152,15 @@ bool DepSubstrate(const pkgCache::VerIterator &iterator) {
}
- (void) addSource:(NSDictionary *) source {
- AddSource(source);
+ CydiaAddSource(source);
}
- (void) addSource:(NSString *)href withDistribution:(NSString *)distribution andSections:(NSArray *)sections {
- AddSource(href, distribution, sections);
+ CydiaAddSource(href, distribution, sections);
}
- (void) addTrivialSource:(NSString *)href {
- AddSource(href, @"./");
+ CydiaAddSource(href, @"./");
}
- (void) updateValues {
@@ -10276,10 +10245,10 @@ int main(int argc, char *argv[]) {
}
if ([Version_ unsignedIntValue] == 0) {
- AddSource(@"http://apt.thebigboss.org/repofiles/cydia/", @"stable", [NSMutableArray arrayWithObject:@"main"]);
- AddSource(@"http://apt.modmyi.com/", @"stable", [NSMutableArray arrayWithObject:@"main"]);
- AddSource(@"http://cydia.zodttd.com/repo/cydia/", @"stable", [NSMutableArray arrayWithObject:@"main"]);
- AddSource(@"http://repo666.ultrasn0w.com/", @"./");
+ CydiaAddSource(@"http://apt.thebigboss.org/repofiles/cydia/", @"stable", [NSMutableArray arrayWithObject:@"main"]);
+ CydiaAddSource(@"http://apt.modmyi.com/", @"stable", [NSMutableArray arrayWithObject:@"main"]);
+ CydiaAddSource(@"http://cydia.zodttd.com/repo/cydia/", @"stable", [NSMutableArray arrayWithObject:@"main"]);
+ CydiaAddSource(@"http://repo666.ultrasn0w.com/", @"./");
Version_ = [NSNumber numberWithUnsignedInt:1];
[Metadata_ setObject:Version_ forKey:@"Version"];
@@ -10290,7 +10259,7 @@ int main(int argc, char *argv[]) {
}
/* }}} */
- WriteSources();
+ CydiaWriteSources();
_trace();
MetaFile_.Open("/var/lib/cydia/metadata.cb0");