summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Android.mk3
-rw-r--r--data.cpp10
2 files changed, 13 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk
index cacd783bb..8ed4c6c3f 100644
--- a/Android.mk
+++ b/Android.mk
@@ -315,6 +315,9 @@ WITH_CRYPTO_UTILS := \
ifeq ($(TW_USE_MODEL_HARDWARE_ID_FOR_DEVICE_ID), true)
LOCAL_CFLAGS += -DTW_USE_MODEL_HARDWARE_ID_FOR_DEVICE_ID
endif
+ifeq ($(TW_USE_SERIALNO_PROPERTY_FOR_DEVICE_ID), true)
+ LOCAL_CFLAGS += -DTW_USE_SERIALNO_PROPERTY_FOR_DEVICE_ID
+endif
ifneq ($(TW_BRIGHTNESS_PATH),)
LOCAL_CFLAGS += -DTW_BRIGHTNESS_PATH=$(TW_BRIGHTNESS_PATH)
endif
diff --git a/data.cpp b/data.cpp
index 4dfbde2d0..978cefea0 100644
--- a/data.cpp
+++ b/data.cpp
@@ -146,6 +146,16 @@ void DataManager::get_device_id(void) {
#endif
#ifndef TW_FORCE_CPUINFO_FOR_DEVICE_ID
+#ifdef TW_USE_SERIALNO_PROPERTY_FOR_DEVICE_ID
+ // Check serial number system property
+ if (property_get("ro.serialno", line, "")) {
+ snprintf(device_id, DEVID_MAX, "%s", line);
+ sanitize_device_id(device_id);
+ mConst.SetValue("device_id", device_id);
+ return;
+ }
+#endif
+
// Check the cmdline to see if the serial number was supplied
fp = fopen("/proc/cmdline", "rt");
if (fp != NULL) {