#include <iterator>
#include "base/android/feature_map.h"
#include "base/feature_list.h"
#include "base/no_destructor.h"
#include "device/base/features.h"
#include "device/fido/features.h"
#include "services/device/public/cpp/device_features.h"
#include "services/device/public/java/device_feature_list_jni/DeviceFeatureMap_jni.h"
namespace features {
namespace {
const base::Feature* const kFeaturesExposedToJava[] = {
&device::kWebAuthnAndroidSignal,
&device::kWebAuthnImmediateGet,
&device::kWebAuthnPasskeyUpgrade,
&kGenericSensorExtraClasses,
&kBatteryStatusManagerBroadcastReceiverInBackground,
&device::features::kGmsCoreLocationRequestParamOverride};
base::android::FeatureMap* GetFeatureMap() {
static base::NoDestructor<base::android::FeatureMap> kFeatureMap(
kFeaturesExposedToJava);
return kFeatureMap.get();
}
}
static jlong JNI_DeviceFeatureMap_GetNativeMap(JNIEnv* env) {
return reinterpret_cast<jlong>(GetFeatureMap());
}
}
DEFINE_JNI(DeviceFeatureMap)