Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Show sharing menus when clicking the menu button on the toolbar

  • Loading branch information
mahmoud-adam85 authored and Tim Palade committed May 9, 2018
1 parent d500e92 commit 5242ef112e425538e776b6515ddc20b71d54d529
@@ -70,6 +70,8 @@
1EDF0B1F207B837F00856493 /* KeyboardAccessoryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDF0B1E207B837F00856493 /* KeyboardAccessoryView.swift */; };
1EDF0B22207B86A200856493 /* QuerySuggestionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDF0B21207B86A200856493 /* QuerySuggestionView.swift */; };
1EDF0B24207B86DA00856493 /* QuerySuggestions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDF0B23207B86DA00856493 /* QuerySuggestions.swift */; };
1EDF91742087446700200100 /* SettingsActivity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDF91732087446700200100 /* SettingsActivity.swift */; };
1EDF917820874DAA00200100 /* ShareExtensionActivities.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EDF917720874DAA00200100 /* ShareExtensionActivities.swift */; };
1EEA368120613C17003B6AD5 /* SendCrashReportsTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEA368020613C17003B6AD5 /* SendCrashReportsTableViewController.swift */; };
1EEA369520615725003B6AD5 /* DownloadManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEA369420615725003B6AD5 /* DownloadManager.swift */; };
1EEA36D52063E105003B6AD5 /* FileManagerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1EEA36D42063E105003B6AD5 /* FileManagerExtension.swift */; };
@@ -1536,6 +1538,8 @@
1EDF0B1E207B837F00856493 /* KeyboardAccessoryView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyboardAccessoryView.swift; sourceTree = "<group>"; };
1EDF0B21207B86A200856493 /* QuerySuggestionView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = QuerySuggestionView.swift; sourceTree = "<group>"; };
1EDF0B23207B86DA00856493 /* QuerySuggestions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = QuerySuggestions.swift; sourceTree = "<group>"; };
1EDF91732087446700200100 /* SettingsActivity.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsActivity.swift; sourceTree = "<group>"; };
1EDF917720874DAA00200100 /* ShareExtensionActivities.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareExtensionActivities.swift; sourceTree = "<group>"; };
1EEA368020613C17003B6AD5 /* SendCrashReportsTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendCrashReportsTableViewController.swift; sourceTree = "<group>"; };
1EEA369420615725003B6AD5 /* DownloadManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DownloadManager.swift; sourceTree = "<group>"; };
1EEA36D42063E105003B6AD5 /* FileManagerExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileManagerExtension.swift; sourceTree = "<group>"; };
@@ -2649,6 +2653,15 @@
path = QuerySuggestions;
sourceTree = "<group>";
};
1EDF91722087445600200100 /* Share Menu */ = {
isa = PBXGroup;
children = (
1EDF91732087446700200100 /* SettingsActivity.swift */,
1EDF917720874DAA00200100 /* ShareExtensionActivities.swift */,
);
path = "Share Menu";
sourceTree = "<group>";
};
282731601ABC9BE600AA1954 /* Supporting Files */ = {
isa = PBXGroup;
children = (
@@ -3290,6 +3303,7 @@
4F8F3C0D202CB39F001C1A0F /* Cliqz */ = {
isa = PBXGroup;
children = (
1EDF91722087445600200100 /* Share Menu */,
1E7B769F206B9C4900FD0BA5 /* Connect */,
1EDF0B20207B868000856493 /* QuerySuggestions */,
4FF07D712063C754001385A8 /* MyOffrz */,
@@ -6285,6 +6299,7 @@
4FF07D882063C99E001385A8 /* OffrzDataSource.swift in Sources */,
39F819C61FD70F5D009E31E4 /* TabEventHandlers.swift in Sources */,
4FBBC1502035E02900445AD1 /* NewsViewCell.swift in Sources */,
1EDF917820874DAA00200100 /* ShareExtensionActivities.swift in Sources */,
E65607611C08B4E200534B02 /* SearchInputView.swift in Sources */,
EB2A63341F3B49A7004EF8B0 /* ContentBlockerHelper.swift in Sources */,
FA6B2AC21D41F02D00429414 /* Punycode.swift in Sources */,
@@ -6466,6 +6481,7 @@
3B39EDCB1E16E1AA00EF029F /* CustomSearchViewController.swift in Sources */,
E65075571E37F714006961AC /* FaviconFetcher.swift in Sources */,
D863C8F21F68BFC20058D95F /* GradientProgressBar.swift in Sources */,
1EDF91742087446700200100 /* SettingsActivity.swift in Sources */,
4F3046B7204FF65800C99162 /* SettingsPrefs.swift in Sources */,
D3C744CD1A687D6C004CE85D /* URIFixup.swift in Sources */,
39AC591A1CC574AB0042C2F5 /* HomePageSettingsViewController.swift in Sources */,
@@ -352,6 +352,8 @@ class BrowserViewController: UIViewController {
// Cliqz: Add observers for Connection features
NotificationCenter.default.addObserver(self, selector: #selector(openTabViaConnect), name: SendTabNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(downloadVideoViaConnect), name: DownloadVideoNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(openSettings), name: ShowSettingsNotification, object: nil)


urlBar.translatesAutoresizingMaskIntoConstraints = false
urlBar.delegate = self
@@ -1581,13 +1583,18 @@ extension BrowserViewController: TabToolbarDelegate, PhotonActionSheetProtocol {
func tabToolbarDidPressMenu(_ tabToolbar: TabToolbarProtocol, button: UIButton) {
// ensure that any keyboards or spinners are dismissed before presenting the menu
UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
/* Cliqz: Show Cliqz share Menu instead of FireFox one
var actions: [[PhotonActionSheetItem]] = []
actions.append(getHomePanelActions())
actions.append(getOtherPanelActions(vcDelegate: self))
// force a modal if the menu is being displayed in compact split screen
let shouldSupress = !topTabsVisible && UIDevice.current.userInterfaceIdiom == .pad
presentSheetWith(actions: actions, on: self, from: button, supressPopover: shouldSupress)
*/
if let tab = tabManager.selectedTab, let url = tab.url {
presentActivityViewController(url, tab: tab, sourceView: button.superview, sourceRect: button.frame, arrowDirection: .up)
}
}

func tabToolbarDidPressTabs(_ tabToolbar: TabToolbarProtocol, button: UIButton) {
@@ -39,7 +39,12 @@ class ShareExtensionHelper: NSObject {
}
activityItems.append(self)

/* Cliqz: Added Application activities
let activityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
*/
let applicationActivities = getApplicationActivities()
let activityViewController = UIActivityViewController(activityItems: activityItems, applicationActivities: applicationActivities)


// Hide 'Add to Reading List' which currently uses Safari.
// We would also hide View Later, if possible, but the exclusion list doesn't currently support
@@ -0,0 +1,36 @@
//
// SettingsActivity.swift
// Client
//
// Created by Mahmoud Adam on 4/18/18.
// Copyright © 2018 Cliqz. All rights reserved.
//
import Foundation

let ShowSettingsNotification = NSNotification.Name(rawValue: "ShareMenu.ShowSettings")

class SettingsActivity : UIActivity {

override var activityTitle : String? {
return NSLocalizedString("Settings", tableName: "Cliqz", comment: "Sharing activity for opening Settings")
}

override var activityImage : UIImage? {
return UIImage(named: "settings")
}

override var activityType: UIActivityType? {
return UIActivityType("com.cliqz.settings")
}

override func perform() {
NotificationCenter.default.post(name: ShowSettingsNotification, object: nil)
activityDidFinish(true)
}

override func canPerform(withActivityItems activityItems: [Any]) -> Bool {
return true
}
}

@@ -0,0 +1,17 @@
//
// ShareExtensionActivities.swift
// Client
//
// Created by Mahmoud Adam on 4/18/18.
// Copyright © 2018 Cliqz. All rights reserved.
//
import UIKit

extension ShareExtensionHelper {
func getApplicationActivities() -> [UIActivity] {
let applicationActivities = [SettingsActivity()]
return applicationActivities
}

}

0 comments on commit 5242ef1

Please sign in to comment.