]>
Commit | Line | Data |
---|---|---|
7ccc1484 JF |
1 | /* Cydia - iPhone UIKit Front-End for Debian APT |
2 | * Copyright (C) 2008-2015 Jay Freeman (saurik) | |
3 | */ | |
4 | ||
5 | /* GNU General Public License, Version 3 {{{ */ | |
6 | /* | |
7 | * Cydia is free software: you can redistribute it and/or modify | |
8 | * it under the terms of the GNU General Public License as published | |
9 | * by the Free Software Foundation, either version 3 of the License, | |
10 | * or (at your option) any later version. | |
11 | * | |
12 | * Cydia is distributed in the hope that it will be useful, but | |
13 | * WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | * GNU General Public License for more details. | |
16 | * | |
17 | * You should have received a copy of the GNU General Public License | |
18 | * along with Cydia. If not, see <http://www.gnu.org/licenses/>. | |
19 | **/ | |
20 | /* }}} */ | |
21 | ||
22 | #include "CyteKit/UCPlatform.h" | |
23 | ||
24 | #include <Foundation/Foundation.h> | |
25 | #include <UIKit/UIKit.h> | |
26 | ||
5479f823 | 27 | #include "CyteKit/Application.h" |
a3d01a76 | 28 | #include "CyteKit/URLCache.h" |
5479f823 | 29 | |
7ccc1484 JF |
30 | #include "iPhonePrivate.h" |
31 | #include <Menes/ObjectHandle.h> | |
32 | ||
2b5ceba2 JF |
33 | @implementation CyteApplication { |
34 | unsigned activity_; | |
7ccc1484 JF |
35 | } |
36 | ||
37 | - (void) _sendMemoryWarningNotification { | |
38 | if (kCFCoreFoundationVersionNumber < kCFCoreFoundationVersionNumber_iPhoneOS_3_0) // XXX: maybe 4_0? | |
39 | [[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationMemoryWarningNotification" object:[UIApplication sharedApplication]]; | |
40 | else | |
41 | [[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationDidReceiveMemoryWarningNotification" object:[UIApplication sharedApplication]]; | |
42 | } | |
43 | ||
44 | - (void) _sendMemoryWarningNotifications { | |
45 | while (true) { | |
46 | [self performSelectorOnMainThread:@selector(_sendMemoryWarningNotification) withObject:nil waitUntilDone:NO]; | |
47 | sleep(2); | |
48 | //usleep(2000000); | |
49 | } | |
50 | } | |
51 | ||
52 | - (void) applicationDidReceiveMemoryWarning:(UIApplication *)application { | |
53 | NSLog(@"--"); | |
54 | [[NSURLCache sharedURLCache] removeAllCachedResponses]; | |
55 | } | |
56 | ||
57 | - (void) applicationDidFinishLaunching:(id)unused { | |
58 | //[NSThread detachNewThreadSelector:@selector(_sendMemoryWarningNotifications) toTarget:self withObject:nil]; | |
59 | ||
60 | if ([self respondsToSelector:@selector(setApplicationSupportsShakeToEdit:)]) | |
61 | [self setApplicationSupportsShakeToEdit:NO]; | |
a3d01a76 JF |
62 | |
63 | [NSURLCache setSharedURLCache:[[[CyteURLCache alloc] | |
64 | initWithMemoryCapacity:524288 | |
65 | diskCapacity:10485760 | |
66 | diskPath:[NSString stringWithFormat:@"%@/%@/%@", NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject, NSBundle.mainBundle.bundleIdentifier, @"SDURLCache"] | |
67 | ] autorelease]]; | |
7ccc1484 JF |
68 | } |
69 | ||
2b5ceba2 JF |
70 | - (void) retainNetworkActivityIndicator { |
71 | if (activity_++ == 0) | |
72 | [self setNetworkActivityIndicatorVisible:YES]; | |
73 | ||
74 | #if TraceLogging | |
75 | NSLog(@"retainNetworkActivityIndicator->%d", activity_); | |
76 | #endif | |
77 | } | |
78 | ||
79 | - (void) releaseNetworkActivityIndicator { | |
80 | if (--activity_ == 0) | |
81 | [self setNetworkActivityIndicatorVisible:NO]; | |
82 | ||
83 | #if TraceLogging | |
84 | NSLog(@"releaseNetworkActivityIndicator->%d", activity_); | |
85 | #endif | |
86 | } | |
87 | ||
7ccc1484 | 88 | @end |