summaryrefslogtreecommitdiffstats
path: root/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/share/ShareToAppsSafeExtras.kt
blob: 308728594e6a90cb2c81c9cef60e2912be77905e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

package org.mozilla.fenix.share

import org.mozilla.fenix.GleanMetrics.Events

private const val TELEMETRY_OTHER = "other"

// Set of public packages which we allow for recording to telemetry
private val allowedTelemetryPackages = setOf(
    // Email
    "com.google.android.gm",
    "com.microsoft.office.outlook",
    "com.samsung.android.email.provider",
    // Social Media
    "com.facebook.katana",
    "com.instagram.android",
    "com.snapchat.android",
    // Notes
    "com.google.android.keep",
    "com.samsung.android.app.notes",
    "com.microsoft.office.onenote",
    "com.evernote",
    // Messaging
    "com.google.android.apps.messaging",
    "com.facebook.orca",
    "com.chating.messages.chat.fun",
    "org.telegram.messenger",
    "org.thoughtcrime.securesms",
    "com.google.android.apps.dynamite",
    "com.whatsapp",
    "com.tencent.mm",
    "com.Slack",
    "com.discord",
    // Device Actions
    "com.android.bluetooth",
    "com.google.android.gms",
    "org.mozilla.fenix.COPY_LINK_TO_CLIPBOARD",
)

internal fun getShareToAppSafeExtra(appPackage: String): Events.ShareToAppExtra {
    return if (allowedTelemetryPackages.contains(appPackage)) {
        Events.ShareToAppExtra(appPackage)
    } else {
        Events.ShareToAppExtra(TELEMETRY_OTHER)
    }
}