blob: ccabbac08e14b6453b42616cec5d32c095f4360f [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "base/android/jni_android.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/sync_service_factory.h"
#include "chrome/browser/unified_consent/unified_consent_service_factory.h"
#include "components/prefs/pref_service.h"
#include "components/sync/service/sync_service.h"
#include "components/unified_consent/pref_names.h"
#include "components/unified_consent/unified_consent_metrics.h"
#include "components/unified_consent/unified_consent_service.h"
// Must come after all headers that specialize FromJniType() / ToJniType().
#include "chrome/browser/signin/services/android/jni_headers/UnifiedConsentServiceBridge_jni.h"
using base::android::JavaParamRef;
static jboolean
JNI_UnifiedConsentServiceBridge_IsUrlKeyedAnonymizedDataCollectionEnabled(
JNIEnv* env,
Profile* profile) {
return profile->GetPrefs()->GetBoolean(
unified_consent::prefs::kUrlKeyedAnonymizedDataCollectionEnabled);
}
static jboolean
JNI_UnifiedConsentServiceBridge_IsUrlKeyedAnonymizedDataCollectionManaged(
JNIEnv* env,
Profile* profile) {
return profile->GetPrefs()->IsManagedPreference(
unified_consent::prefs::kUrlKeyedAnonymizedDataCollectionEnabled);
}
static void
JNI_UnifiedConsentServiceBridge_SetUrlKeyedAnonymizedDataCollectionEnabled(
JNIEnv* env,
Profile* profile,
const jboolean enabled) {
auto* unifiedConsentService =
UnifiedConsentServiceFactory::GetForProfile(profile);
DCHECK(unifiedConsentService);
unifiedConsentService->SetUrlKeyedAnonymizedDataCollectionEnabled(enabled);
}
static void JNI_UnifiedConsentServiceBridge_RecordSyncSetupDataTypesHistogram(
JNIEnv* env,
Profile* profile) {
auto* syncService = SyncServiceFactory::GetForProfile(profile);
unified_consent::metrics::RecordSyncSetupDataTypesHistrogam(
syncService->GetUserSettings());
}