MTP: Build flag for setting custom MTP device/path

Change-Id: Ic19ec61dc6cb08df00eb1326d96262b46bb93bfb
diff --git a/mtp/Android.mk b/mtp/Android.mk
index ebf1a6d..683999d 100755
--- a/mtp/Android.mk
+++ b/mtp/Android.mk
@@ -30,6 +30,11 @@
     mtp_MtpDatabase.cpp \
     node.cpp
 LOCAL_SHARED_LIBRARIES += libz libc libusbhost libstdc++ libstlport libdl libcutils libutils
+
+ifneq ($(TW_MTP_DEVICE),)
+	LOCAL_CFLAGS += -DUSB_MTP_DEVICE=$(TW_MTP_DEVICE)
+endif
+
 include $(BUILD_SHARED_LIBRARY)
 
 # Build twrpmtp binary / executable
diff --git a/mtp/mtp_MtpServer.cpp b/mtp/mtp_MtpServer.cpp
index af80f68..9df564f 100755
--- a/mtp/mtp_MtpServer.cpp
+++ b/mtp/mtp_MtpServer.cpp
@@ -47,11 +47,13 @@
 
 int twmtp_MtpServer::setup()
 {
-	#define USB_MTP_DEVICE "/dev/mtp_usb"
 	usePtp =  false;
 	MyMtpDatabase* mtpdb = new MyMtpDatabase();
 #ifdef USB_MTP_DEVICE
-	int fd = open(USB_MTP_DEVICE, O_RDWR);
+#define STRINGIFY(x) #x
+#define EXPAND(x) STRINGIFY(x)
+	MTPI("Using '%s' for MTP device.\n", EXPAND(USB_MTP_DEVICE));
+	int fd = open(EXPAND(USB_MTP_DEVICE), O_RDWR);
 #else
 	int fd = open("/dev/mtp_usb", O_RDWR);
 #endif