making copy security compliant.

This commit is contained in:
Kevin G Christiano 2020-02-19 10:47:19 -05:00
parent 4f5e3c4286
commit e457dddb98
3 changed files with 19 additions and 7 deletions

View File

@ -156,7 +156,7 @@ NSString * const KeyActionTypeOpen = @"openPage";
NSString *shareType = [actionInformation stringForKey:KeyShareType];
NSString *shareText = [actionInformation stringForKey:KeyShareText];
NSArray* shareData;
NSArray *shareData;
if ([shareType isEqualToString:@"text"]) {
shareData = @[shareText];
@ -174,11 +174,18 @@ NSString * const KeyActionTypeOpen = @"openPage";
if (shareData.count > 0) {
[MVMCoreDispatchUtility performBlockOnMainThread:^{
UIActivityViewController* activityViewController = [[UIActivityViewController alloc] initWithActivityItems:shareData applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypeAirDrop];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:shareData applicationActivities:nil];
if (activityViewController == nil) {
return;
}
void(^activityCompletion)(UIActivityType activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) = ^(UIActivityType activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
if (activityType == UIActivityTypeCopyToPasteboard) {
[[MVMCoreSessionObject sharedGlobal] copyStringToClipboard:shareText];
}
};
activityViewController.completionWithItemsHandler = activityCompletion;
activityViewController.popoverPresentationController.sourceView = [MVMCoreNavigationHandler sharedNavigationHandler].viewControllerToPresentOn.view;
[[MVMCoreNavigationHandler sharedNavigationHandler] presentViewController:activityViewController animated:YES];
}];

View File

@ -9,19 +9,24 @@
import UIKit
class ActionShareModel: ActionModelProtocol {
//--------------------------------------------------
// MARK: - Properties
//--------------------------------------------------
public static var identifier: String = "share"
public var actionType: String?
public var title: String?
public var pageType: String
public var shareType: String
public var shareText: String
public var extraParameters: JSONValueDictionary?
public var analyticsData: JSONValueDictionary?
public init(pageType: String,shareText: String,shareType: String) {
self.pageType = pageType
//--------------------------------------------------
// MARK: - Initializer
//--------------------------------------------------
public init(shareText: String,shareType: String) {
self.shareType = shareType
self.shareText = shareText
}

View File

@ -48,7 +48,7 @@
}
-(void)copyStringToClipboard :(nullable NSString *)clipboardString {
-(void)copyStringToClipboard:(nullable NSString *)clipboardString {
self.clipboardString = clipboardString;
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = clipboardString;