Commit 48809c93952b001aacb83768bb9e09b8b1fcd6c8

Authored by nvtu11790@gmail.com
1 parent 7a035955e7

Share email

Showing 1 changed file with 4 additions and 0 deletions Inline Diff

LifeLog/LifeLog/Utilities.m
1 // 1 //
2 // Utilities.m 2 // Utilities.m
3 // LifeLog 3 // LifeLog
4 // 4 //
5 // Created by Nguyen Van Phong on 7/29/17. 5 // Created by Nguyen Van Phong on 7/29/17.
6 // Copyright © 2017 PhongNV. All rights reserved. 6 // Copyright © 2017 PhongNV. All rights reserved.
7 // 7 //
8 8
9 #import <Social/Social.h> 9 #import <Social/Social.h>
10 #import <LineKit/Line.h> 10 #import <LineKit/Line.h>
11 11
12 #import "Utilities.h" 12 #import "Utilities.h"
13 13
14 @implementation Utilities 14 @implementation Utilities
15 + (NSString *)addCommaFromNumber:(NSInteger)number 15 + (NSString *)addCommaFromNumber:(NSInteger)number
16 { 16 {
17 NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init]; 17 NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init];
18 [fmt setNumberStyle:NSNumberFormatterDecimalStyle]; 18 [fmt setNumberStyle:NSNumberFormatterDecimalStyle];
19 [fmt setMaximumFractionDigits:0]; 19 [fmt setMaximumFractionDigits:0];
20 NSString *result = [fmt stringFromNumber:@(number)]; 20 NSString *result = [fmt stringFromNumber:@(number)];
21 return result; 21 return result;
22 } 22 }
23 23
24 + (UIColor *)convertHecToColor:(int) hex 24 + (UIColor *)convertHecToColor:(int) hex
25 { 25 {
26 return [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16))/255.0 \ 26 return [UIColor colorWithRed:((float)((hex & 0xFF0000) >> 16))/255.0 \
27 green:((float)((hex & 0xFF00) >> 8))/255.0 \ 27 green:((float)((hex & 0xFF00) >> 8))/255.0 \
28 blue:((float)(hex & 0xFF))/255.0 alpha:1.0]; 28 blue:((float)(hex & 0xFF))/255.0 alpha:1.0];
29 } 29 }
30 30
31 + (void)showErrorMessage:(NSString *)message withViewController:(UIViewController *)vc 31 + (void)showErrorMessage:(NSString *)message withViewController:(UIViewController *)vc
32 { 32 {
33 if (message.length > 0) { 33 if (message.length > 0) {
34 UIAlertController * alert= [UIAlertController 34 UIAlertController * alert= [UIAlertController
35 alertControllerWithTitle:@"Error" 35 alertControllerWithTitle:@"Error"
36 message:message 36 message:message
37 preferredStyle:UIAlertControllerStyleAlert]; 37 preferredStyle:UIAlertControllerStyleAlert];
38 38
39 UIAlertAction* ok = [UIAlertAction 39 UIAlertAction* ok = [UIAlertAction
40 actionWithTitle:@"OK" 40 actionWithTitle:@"OK"
41 style:UIAlertActionStyleDefault 41 style:UIAlertActionStyleDefault
42 handler:^(UIAlertAction * action) 42 handler:^(UIAlertAction * action)
43 { 43 {
44 [alert dismissViewControllerAnimated:YES completion:nil]; 44 [alert dismissViewControllerAnimated:YES completion:nil];
45 45
46 }]; 46 }];
47 47
48 [alert addAction:ok]; 48 [alert addAction:ok];
49 49
50 [vc presentViewController:alert animated:YES completion:nil]; 50 [vc presentViewController:alert animated:YES completion:nil];
51 } 51 }
52 } 52 }
53 53
54 + (void) shareFacebook : (NSString *) content withViewController:(UIViewController *)vc { 54 + (void) shareFacebook : (NSString *) content withViewController:(UIViewController *)vc {
55 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) 55 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook])
56 { 56 {
57 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; 57 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
58 58
59 [composeViewController setInitialText:content]; 59 [composeViewController setInitialText:content];
60 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) { 60 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) {
61 61
62 switch (result) { 62 switch (result) {
63 case SLComposeViewControllerResultCancelled: 63 case SLComposeViewControllerResultCancelled:
64 NSLog(@"canceled"); 64 NSLog(@"canceled");
65 break; 65 break;
66 case SLComposeViewControllerResultDone: 66 case SLComposeViewControllerResultDone:
67 NSLog(@"done"); 67 NSLog(@"done");
68 break; 68 break;
69 default: 69 default:
70 break; 70 break;
71 } 71 }
72 }]; 72 }];
73 [vc presentViewController:composeViewController animated:YES completion:nil]; 73 [vc presentViewController:composeViewController animated:YES completion:nil];
74 } 74 }
75 else { 75 else {
76 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=FACEBOOK"]]; 76 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=FACEBOOK"]];
77 } 77 }
78 } 78 }
79 79
80 + (void) shareTwitter : (NSString *) content withViewController:(UIViewController *)vc { 80 + (void) shareTwitter : (NSString *) content withViewController:(UIViewController *)vc {
81 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) 81 if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter])
82 { 82 {
83 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter]; 83 SLComposeViewController *composeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeTwitter];
84 84
85 [composeViewController setInitialText:content]; 85 [composeViewController setInitialText:content];
86 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) { 86 [composeViewController setCompletionHandler:^(SLComposeViewControllerResult result) {
87 87
88 switch (result) { 88 switch (result) {
89 case SLComposeViewControllerResultCancelled: 89 case SLComposeViewControllerResultCancelled:
90 NSLog(@"canceled"); 90 NSLog(@"canceled");
91 break; 91 break;
92 case SLComposeViewControllerResultDone: 92 case SLComposeViewControllerResultDone:
93 NSLog(@"done"); 93 NSLog(@"done");
94 break; 94 break;
95 default: 95 default:
96 break; 96 break;
97 } 97 }
98 }]; 98 }];
99 [vc presentViewController:composeViewController animated:YES completion:nil]; 99 [vc presentViewController:composeViewController animated:YES completion:nil];
100 } 100 }
101 else { 101 else {
102 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=TWITTER"]]; 102 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=TWITTER"]];
103 } 103 }
104 } 104 }
105 105
106 + (void) shareLine : (NSString *) content withViewController:(UIViewController *)vc { 106 + (void) shareLine : (NSString *) content withViewController:(UIViewController *)vc {
107 if (![Line isLineInstalled]) { 107 if (![Line isLineInstalled]) {
108 [self showErrorMessage:@"Install Line app first" withViewController:vc]; 108 [self showErrorMessage:@"Install Line app first" withViewController:vc];
109 } 109 }
110 else { 110 else {
111 [Line shareText:content]; 111 [Line shareText:content];
112 } 112 }
113 } 113 }
114 114
115 + (void) shareEmail : (NSString *) content withViewController:(UIViewController *)vc { 115 + (void) shareEmail : (NSString *) content withViewController:(UIViewController *)vc {
116 NSString *urlEmail = @"mailto:?subject=Share from LifeLog&body=";
117 urlEmail = [urlEmail stringByAppendingString:content];
118 urlEmail = [urlEmail stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]];
119 [[UIApplication sharedApplication] openURL: [NSURL URLWithString: urlEmail]];
116 } 120 }
117 @end 121 @end
118 122