Fixing Chrome overshare to include callback.

This commit is contained in:
Samuel Clay 2014-01-06 19:53:37 -08:00
parent 5a6c49559e
commit 7c77a334d6
3 changed files with 19 additions and 9 deletions

View file

@ -518,7 +518,7 @@
content.title = [NSString stringWithFormat:@"%@", title];
OSKMicroblogPostContentItem *microblogPost = [[OSKMicroblogPostContentItem alloc] init];
microblogPost.text = [NSString stringWithFormat:@"“%@” (Via %@) %@ ", text, authorName, [url absoluteString]];
microblogPost.text = [NSString stringWithFormat:@"%@ %@", title, [url absoluteString]];
microblogPost.images = [activeStory objectForKey:@"story_images"];;
content.microblogPostItem = microblogPost;
@ -624,6 +624,8 @@
_completedString = @"Saved to Readability";
} else if ([activityType isEqualToString:OSKActivityType_API_Pinboard]) {
_completedString = @"Saved to Pinboard";
} else if ([activityType isEqualToString:OSKActivityType_iOS_AirDrop]) {
_completedString = @"Airdropped";
} else if ([activityType isEqualToString:OSKActivityType_iOS_Safari]) {
return;
} else if ([activityType isEqualToString:OSKActivityType_URLScheme_Chrome]) {

View file

@ -3303,7 +3303,7 @@
"-all_load",
);
PRODUCT_NAME = NewsBlur;
PROVISIONING_PROFILE = "954389F4-8E6B-4312-9C44-7DCD5EAD40A5";
PROVISIONING_PROFILE = "";
TARGETED_DEVICE_FAMILY = "1,2";
"WARNING_CFLAGS[arch=*]" = "-Wall";
};
@ -3336,7 +3336,7 @@
"-all_load",
);
PRODUCT_NAME = NewsBlur;
PROVISIONING_PROFILE = "954389F4-8E6B-4312-9C44-7DCD5EAD40A5";
PROVISIONING_PROFILE = "";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};

View file

@ -108,6 +108,15 @@ static NSString * kGoogleChromeHTTPSScheme = @"googlechromes:";
return ([(OSKWebBrowserContentItem *)self.contentItem url] != nil);
}
- (NSString *)encodeByAddingPercentEscapes:(NSString *)input {
return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
kCFAllocatorDefault,
(CFStringRef)input,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8));
}
- (void)performActivity:(OSKActivityCompletionHandler)completion {
NSURL *url = [[self browserItem] url];
NSString *scheme = [url.scheme lowercaseString];
@ -122,12 +131,11 @@ static NSString * kGoogleChromeHTTPSScheme = @"googlechromes:";
// Proceed only if a valid Google Chrome URI Scheme is available.
if (chromeScheme) {
NSString *absoluteString = [url absoluteString];
NSRange rangeForScheme = [absoluteString rangeOfString:@":"];
NSString *urlNoScheme =
[absoluteString substringFromIndex:rangeForScheme.location + 1];
NSString *chromeURLString =
[chromeScheme stringByAppendingString:urlNoScheme];
NSString *chromeURLString = [NSString stringWithFormat:@"googlechrome-x-callback://x-callback-url/open/?x-source=%@&x-success=%@&url=%@",
@"NewsBlur",
[self encodeByAddingPercentEscapes:@"newsblur://"],
[self encodeByAddingPercentEscapes:[url absoluteString]]];
NSURL *chromeURL = [NSURL URLWithString:chromeURLString];
// Open the URL with Google Chrome.