#!/bin/sh
# Copyright 2017 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Checks for a device specific configuration and if present, starts
# bluetoothd with that config file; otherwise, starts bluetoothd with
# the legacy board-specific configuration (main.conf) if the config file
# is present.

config_file_param=""
bluetooth_dir="/etc/bluetooth"
model_dir="${bluetooth_dir}/models"
legacy_conf_file="${bluetooth_dir}/main.conf"

# TODO(shapiroc): Remove once all config migrated to cros_config
if [ -d ${model_dir} ]; then
  model=$(mosys platform model)
  model_conf_file="${model_dir}/${model}.conf"
  if [ -e ${model_conf_file} ]; then
    config_file_param="--configfile=${model_conf_file}"
  fi
fi

device_config_file="$(cros_config /bluetooth/config system-path)"
if [ -z "${config_file_param}" ] && [ -e "${device_config_file}" ]; then
  config_file_param="--configfile=${device_config_file}"
fi

# If the model specific configuration is not present, check for the
# legacy board-specific configuration
if [ -z "${config_file_param}" ] && [ -e "${legacy_conf_file}" ]; then
  config_file_param="--configfile=${legacy_conf_file}"
fi
exec /sbin/minijail0 -u bluetooth -g bluetooth -G \
  -c 3500 -n -- \
  /usr/libexec/bluetooth/bluetoothd ${BLUETOOTH_DAEMON_OPTION} --nodetach \
  ${config_file_param}
