mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +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];
|
content.title = [NSString stringWithFormat:@"%@", title];
|
||||||
|
|
||||||
OSKMicroblogPostContentItem *microblogPost = [[OSKMicroblogPostContentItem alloc] init];
|
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"];;
|
microblogPost.images = [activeStory objectForKey:@"story_images"];;
|
||||||
content.microblogPostItem = microblogPost;
|
content.microblogPostItem = microblogPost;
|
||||||
|
|
||||||
|
@ -624,6 +624,8 @@
|
||||||
_completedString = @"Saved to Readability";
|
_completedString = @"Saved to Readability";
|
||||||
} else if ([activityType isEqualToString:OSKActivityType_API_Pinboard]) {
|
} else if ([activityType isEqualToString:OSKActivityType_API_Pinboard]) {
|
||||||
_completedString = @"Saved to Pinboard";
|
_completedString = @"Saved to Pinboard";
|
||||||
|
} else if ([activityType isEqualToString:OSKActivityType_iOS_AirDrop]) {
|
||||||
|
_completedString = @"Airdropped";
|
||||||
} else if ([activityType isEqualToString:OSKActivityType_iOS_Safari]) {
|
} else if ([activityType isEqualToString:OSKActivityType_iOS_Safari]) {
|
||||||
return;
|
return;
|
||||||
} else if ([activityType isEqualToString:OSKActivityType_URLScheme_Chrome]) {
|
} else if ([activityType isEqualToString:OSKActivityType_URLScheme_Chrome]) {
|
||||||
|
|
|
@ -3303,7 +3303,7 @@
|
||||||
"-all_load",
|
"-all_load",
|
||||||
);
|
);
|
||||||
PRODUCT_NAME = NewsBlur;
|
PRODUCT_NAME = NewsBlur;
|
||||||
PROVISIONING_PROFILE = "954389F4-8E6B-4312-9C44-7DCD5EAD40A5";
|
PROVISIONING_PROFILE = "";
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
"WARNING_CFLAGS[arch=*]" = "-Wall";
|
"WARNING_CFLAGS[arch=*]" = "-Wall";
|
||||||
};
|
};
|
||||||
|
@ -3336,7 +3336,7 @@
|
||||||
"-all_load",
|
"-all_load",
|
||||||
);
|
);
|
||||||
PRODUCT_NAME = NewsBlur;
|
PRODUCT_NAME = NewsBlur;
|
||||||
PROVISIONING_PROFILE = "954389F4-8E6B-4312-9C44-7DCD5EAD40A5";
|
PROVISIONING_PROFILE = "";
|
||||||
TARGETED_DEVICE_FAMILY = "1,2";
|
TARGETED_DEVICE_FAMILY = "1,2";
|
||||||
VALIDATE_PRODUCT = YES;
|
VALIDATE_PRODUCT = YES;
|
||||||
};
|
};
|
||||||
|
|
|
@ -108,6 +108,15 @@ static NSString * kGoogleChromeHTTPSScheme = @"googlechromes:";
|
||||||
return ([(OSKWebBrowserContentItem *)self.contentItem url] != nil);
|
return ([(OSKWebBrowserContentItem *)self.contentItem url] != nil);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (NSString *)encodeByAddingPercentEscapes:(NSString *)input {
|
||||||
|
return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(
|
||||||
|
kCFAllocatorDefault,
|
||||||
|
(CFStringRef)input,
|
||||||
|
NULL,
|
||||||
|
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
|
||||||
|
kCFStringEncodingUTF8));
|
||||||
|
}
|
||||||
|
|
||||||
- (void)performActivity:(OSKActivityCompletionHandler)completion {
|
- (void)performActivity:(OSKActivityCompletionHandler)completion {
|
||||||
NSURL *url = [[self browserItem] url];
|
NSURL *url = [[self browserItem] url];
|
||||||
NSString *scheme = [url.scheme lowercaseString];
|
NSString *scheme = [url.scheme lowercaseString];
|
||||||
|
@ -122,12 +131,11 @@ static NSString * kGoogleChromeHTTPSScheme = @"googlechromes:";
|
||||||
|
|
||||||
// Proceed only if a valid Google Chrome URI Scheme is available.
|
// Proceed only if a valid Google Chrome URI Scheme is available.
|
||||||
if (chromeScheme) {
|
if (chromeScheme) {
|
||||||
NSString *absoluteString = [url absoluteString];
|
NSString *chromeURLString = [NSString stringWithFormat:@"googlechrome-x-callback://x-callback-url/open/?x-source=%@&x-success=%@&url=%@",
|
||||||
NSRange rangeForScheme = [absoluteString rangeOfString:@":"];
|
@"NewsBlur",
|
||||||
NSString *urlNoScheme =
|
[self encodeByAddingPercentEscapes:@"newsblur://"],
|
||||||
[absoluteString substringFromIndex:rangeForScheme.location + 1];
|
[self encodeByAddingPercentEscapes:[url absoluteString]]];
|
||||||
NSString *chromeURLString =
|
|
||||||
[chromeScheme stringByAppendingString:urlNoScheme];
|
|
||||||
NSURL *chromeURL = [NSURL URLWithString:chromeURLString];
|
NSURL *chromeURL = [NSURL URLWithString:chromeURLString];
|
||||||
|
|
||||||
// Open the URL with Google Chrome.
|
// Open the URL with Google Chrome.
|
||||||
|
|
Loading…
Add table
Reference in a new issue