mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
Fixing Chrome overshare to include callback.
This commit is contained in:
parent
5a6c49559e
commit
7c77a334d6
3 changed files with 19 additions and 9 deletions
|
@ -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]) {
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Add table
Reference in a new issue