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

Fixed showing contextual Messages for adBlock and AntiTracking

  • Loading branch information
mahmoud-adam85 authored and naira-cliqz committed Apr 5, 2019
1 parent b5d9a6e commit 05cc88b905e4633eb852fe5f2dc70d02ca3a8ab6
Showing with 22 additions and 3 deletions.
  1. +3 −2 Cliqz/Contextual Messages/ContextualMessagesViewModel.swift
  2. +19 −1 Cliqz/Extensions/TabExtension.swift
@@ -134,8 +134,9 @@ class ContextualMessagesViewModel: NSObject {
let regex = try! NSRegularExpression(pattern: "facebook|google|twitter|linkedin")

for tracker in trackerCompanies {
let range = NSRange(location: 0, length: tracker.lowercased().utf16.count)
if regex.firstMatch(in: tracker, options: [], range: range) != nil {
let trakcerLowercased = tracker.lowercased()
let range = NSRange(location: 0, length: trakcerLowercased.utf16.count)
if regex.firstMatch(in: trakcerLowercased, options: [], range: range) != nil {
return tracker
}
}
@@ -263,7 +263,8 @@ class CurrentPageInfo: NSObject {
if currentHost == self.host {
if let result = tabDashboardStats["result"] as? [String: Any],
let blockedAds = result["adsBlocked"] as? Int,
let trackerCompanies = result["trackers"] as? [String] {
let trackerCompanies = self.getTrackers(result) {
print(result)
if let messageType = ContextualMessagesViewModel.shared.getContextualMessageType(blockedAds: blockedAds, trackerCompanies: trackerCompanies) {
NotificationCenter.default.post(name: Notification.Name.ContextualMessageNotification, object: messageType)
}
@@ -273,6 +274,23 @@ class CurrentPageInfo: NSObject {
})
}
}

private func getTrackers(_ dashboardStats: [String: Any]) -> [String]? {
var trackers = [String]()
if let trackersDetails = dashboardStats["trackersDetailed"] as? NSArray {
for trackerData in trackersDetails {
if let data = trackerData as? NSDictionary,
let category = data["cat"] as? String,
let name = data["name"] as? String,
category != "advertising" {

trackers.append(name)
}
}
}
return trackers.count > 0 ? trackers : nil
}

private func reset() {
self.host = nil
self.startLoadTime = nil

0 comments on commit 05cc88b

Please sign in to comment.