App(
    appid="bt",
    name="BtSrv",
    apptype=FlipperAppType.SERVICE,
    entry_point="bt_srv",
    cdefines=["SRV_BT"],
    requires=[
        "cli",
        "dialogs",
    ],
    provides=[
        "bt_start",
        "bt_settings",
        "bt_debug",
    ],
    stack_size=1 * 1024,
    order=20,
)

App(
    appid="bt_start",
    apptype=FlipperAppType.STARTUP,
    entry_point="bt_on_system_start",
    order=70,
)

App(
    appid="bt_settings",
    name="Bluetooth",
    apptype=FlipperAppType.SETTINGS,
    entry_point="bt_settings_app",
    stack_size=1 * 1024,
    requires=[
        "bt",
        "gui",
    ],
    order=10,
)

App(
    appid="bt_debug",
    name="Bluetooth Debug",
    apptype=FlipperAppType.DEBUG,
    entry_point="bt_debug_app",
    stack_size=1 * 1024,
    requires=[
        "bt",
        "gui",
        "dialogs",
    ],
    order=110,
)

App(
    appid="bt_hid",
    name="Bluetooth Remote",
    apptype=FlipperAppType.PLUGIN,
    entry_point="bt_hid_app",
    stack_size=1 * 1024,
    cdefines=["APP_BLE_HID"],
    requires=[
        "bt",
        "gui",
    ],
    order=10,
)