xwords/xwords4/android/jni/Android.mk
Eric House af37fb45f7 Rewrite BT comms to not use a Service
It's simpler this way, and I'm tired of stuff not happening because the
OS chooses not to schedule e.g. an invitation send for minutes. Goal's
to be running BluetoothServerSocket.accept() as much as possible when
there are active BT games in play OR when the game's in the foreground.
If that's happening, sent invitations and moves will be received when
users expect. When there's no traffic and app isn't being brought to
foreground, backoff will ensure I don't try to run accept() too often.

FWIW, BTLE seems to offer a better way to do this (to have an app be
responsive to incoming invitations when it hasn't run in the foreground
in a while), but it requires users to accept FINE_LOCATION
permission. I'm hoping I can make this work to avoid asking for that
permission.
2020-10-21 21:10:09 -07:00

108 lines
2.7 KiB
Makefile

# -*- mode: Makefile; -*-
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
COMMON_PATH=../../common
LOCAL_C_INCLUDES+= \
-I$(LOCAL_PATH)/$(COMMON_PATH) \
-I$(LOCAL_PATH)/../../relay \
LOCAL_LDLIBS += -llog
ifeq ($(BUILD_TARGET),debug)
LOCAL_DEBUG = -DMEM_DEBUG -DDEBUG -DENABLE_LOGGING -DCOMMS_CHECKSUM -DNLI_VERSION=1 -Wno-unused-variable
endif
LOCAL_DEFINES += \
$(LOCAL_DEBUG) \
-DXWFEATURE_RELAY \
-DXWFEATURE_BLUETOOTH \
-DXWFEATURE_SMS \
-DXWFEATURE_P2P \
-DXWFEATURE_COMMSACK \
-DXWFEATURE_TURNCHANGENOTIFY \
-DCOMMS_XPORT_FLAGSPROC \
-DKEY_SUPPORT \
-DXWFEATURE_CROSSHAIRS \
-DPOINTER_SUPPORT \
-DSCROLL_DRAG_THRESHHOLD=1 \
-DDROP_BITMAPS \
-DXWFEATURE_TRAYUNDO_ONE \
-DDISABLE_TILE_SEL \
-DXWFEATURE_BOARDWORDS \
-DXWFEATURE_WALKDICT \
-DXWFEATURE_WALKDICT_FILTER \
-DXWFEATURE_DICTSANITY \
-DFEATURE_TRAY_EDIT \
-DXWFEATURE_BONUSALL \
-DMAX_ROWS=32 \
-DHASH_STREAM \
-DXWFEATURE_DEVID \
-DXWFEATURE_CHAT \
-DCOMMON_LAYOUT \
-DXWFEATURE_WIDER_COLS \
-DNATIVE_NLI \
-DCOMMS_VERSION=1 \
-DINITIAL_CLIENT_VERS=${INITIAL_CLIENT_VERS} \
-DXW_BT_UUID=\"${XW_BT_UUID}\" \
-DVARIANT_${VARIANT} \
-DRELAY_ROOM_DEFAULT=\"\" \
-D__LITTLE_ENDIAN \
# -DNO_ADD_MQTT_TO_ALL \
# -DXWFEATURE_SCOREONEPASS \
LOCAL_SRC_FILES += \
xwjni.c \
utilwrapper.c \
drawwrapper.c \
xportwrapper.c \
anddict.c \
andutils.c \
jniutlswrapper.c \
COMMON_PATH=../../common
COMMON_SRC_FILES += \
$(COMMON_PATH)/boarddrw.c \
$(COMMON_PATH)/scorebdp.c \
$(COMMON_PATH)/dragdrpp.c \
$(COMMON_PATH)/pool.c \
$(COMMON_PATH)/tray.c \
$(COMMON_PATH)/dictnry.c \
$(COMMON_PATH)/dictiter.c \
$(COMMON_PATH)/dictmgr.c \
$(COMMON_PATH)/mscore.c \
$(COMMON_PATH)/vtabmgr.c \
$(COMMON_PATH)/strutils.c \
$(COMMON_PATH)/engine.c \
$(COMMON_PATH)/board.c \
$(COMMON_PATH)/mempool.c \
$(COMMON_PATH)/game.c \
$(COMMON_PATH)/server.c \
$(COMMON_PATH)/model.c \
$(COMMON_PATH)/comms.c \
$(COMMON_PATH)/memstream.c \
$(COMMON_PATH)/movestak.c \
$(COMMON_PATH)/dbgutil.c \
$(COMMON_PATH)/nli.c \
$(COMMON_PATH)/smsproto.c \
$(COMMON_PATH)/dutil.c \
$(COMMON_PATH)/device.c \
$(COMMON_PATH)/knownplyr.c \
LOCAL_CFLAGS+=$(LOCAL_C_INCLUDES) $(LOCAL_DEFINES) -Wall -std=c99
LOCAL_SRC_FILES := $(linux_SRC_FILES) $(LOCAL_SRC_FILES) $(COMMON_SRC_FILES)
LOCAL_MODULE := xwjni
LOCAL_LDLIBS := -L${SYSROOT}/usr/lib -llog -lz
include $(BUILD_SHARED_LIBRARY)
# This recipe doesn't work with clang. Fix if using gcc again
# ifneq ($(shell which ccache),)
# TARGET_CC = ccache $(TOOLCHAIN_PREFIX)gcc
# TARGET_CXX = ccache $(TOOLCHAIN_PREFIX)g++
# endif
COMMON_SRC_FILES :=
COMMON_PATH :=