Fix mbtk_sdk_ready_v2
Change-Id: I842ad2cfccefb30a254d1ba5dd79c48e8cee71f0
diff --git a/mbtk/mbtk_sdk_ready_v2/Makefile b/mbtk/mbtk_sdk_ready_v2/Makefile
new file mode 100755
index 0000000..da63071
--- /dev/null
+++ b/mbtk/mbtk_sdk_ready_v2/Makefile
@@ -0,0 +1,46 @@
+BUILD_ROOT = $(shell pwd)/..
+include $(BUILD_ROOT)/Make.defines
+
+LOCAL_PATH=$(BUILD_ROOT)/mbtk_sdk_ready_v2
+
+INC_DIR += \
+ -I$(BUILD_ROOT)/libmbtk_ril
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_ril -lprop2uci
+
+CFLAGS +=
+
+DEFINE +=
+
+#MY_FILES_PATH:=$(LOCAL_PATH)/src
+#ifeq ($(CONFIG_MBTK_QL_SUPPORT),y)
+#MY_FILES_PATH += $(LOCAL_PATH)/ql
+#endif
+
+#ifeq ($(CONFIG_MBTK_PLATFORM),linux)
+#MY_FILES_PATH += $(LOCAL_PATH)/platform/linux
+#endif
+
+LOCAL_SRC_FILES = $(wildcard src/*.c) $(wildcard src/*.cpp)
+OBJS = $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(LOCAL_SRC_FILES)))
+$(info OBJS = $(OBJS))
+
+dtarget := $(OUT_DIR)/bin/mbtk_sdk_ready
+
+all: $(dtarget)
+
+$(dtarget): $(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $(OBJS) -o $@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS) $(dtarget)
+
diff --git a/mbtk/mbtk_sdk_ready_v2/src/main.c b/mbtk/mbtk_sdk_ready_v2/src/main.c
new file mode 100755
index 0000000..9da6ab0
--- /dev/null
+++ b/mbtk/mbtk_sdk_ready_v2/src/main.c
@@ -0,0 +1,125 @@
+#if 1
+#include <stdio.h>
+//#include <stdlib.h>
+//#include <unistd.h>
+#include <errno.h>
+#include <pthread.h>
+//#include <string.h>
+#include <fcntl.h>
+//#include <signal.h>
+
+#include "mbtk_log.h"
+#include "mbtk_ril_api.h"
+
+#define MBTK_RESULT_FAIL -1
+#define MBTK_RESULT_SUCCESS 0
+
+typedef enum{
+ MBTK_READY_INIT = -1,
+ MBTK_READY_SUCCESS,
+ MBTK_READY_MODEM_FAIL,
+ MBTK_READY_RESPONSE_FAIL,
+ MBTK_READY_SOCKET_FAIL,
+ MBTK_READY_RIL_FAIL
+}mbtk_ready_status_type;
+
+static mbtk_ready_status_type mbtk_ready_status = MBTK_READY_INIT;
+static bool ril_inited = FALSE;
+#if 1
+static mbtk_ready_status_type modem_check(void)
+{
+ char imei[16]= {0};
+ int cme_err = 0;
+
+ mbtk_ril_err_enum ret;
+ if(!ril_inited) {
+ ret = mbtk_ril_init();
+ if(ret != MBTK_RIL_ERR_SUCCESS) {
+ return MBTK_READY_RIL_FAIL;
+ }
+ ril_inited = TRUE;
+ }
+
+ ret = mbtk_imei_get(imei);
+ //LOGE("[SDK_READY] imei = [%s], cme_err = [%d]", imei, cme_err);
+ if(ret != MBTK_RIL_ERR_SUCCESS || strlen(imei) == 0)
+ {
+ return MBTK_READY_RIL_FAIL;
+ }
+
+ return MBTK_READY_SUCCESS;
+}
+#endif
+
+static void* sdk_ready_check_pthread(void *arg)
+{
+ UNUSED(arg);
+ LOGE("[SDK_READY] sdk_ready_check_pthread entry.");
+
+ mbtk_ready_status_type now_ready_status = MBTK_READY_INIT;
+ char buf[2] = {0};
+ int sleep_time = 30;
+ while(1)
+ {
+ now_ready_status = modem_check();
+ if(now_ready_status != mbtk_ready_status)
+ {
+ buf[0] = '0' + now_ready_status;
+ property_set("persist.mbtk.sdk.state", buf);
+ mbtk_ready_status = now_ready_status;
+ }
+
+ if(now_ready_status != MBTK_READY_SUCCESS)
+ {
+ sleep_time += 2;
+ }
+ else
+ {
+ sleep_time = 30;
+ }
+
+ sleep(sleep_time);
+ }
+ LOGE("[SDK_READY] sdk_ready_check_pthread exit.");
+ return NULL;
+}
+
+int main(int argc, char *argv[])
+{
+ if(mbtk_ready_status != MBTK_READY_INIT)
+ {
+ LOGE("[SDK_READY] sdk has check.");
+ return MBTK_RESULT_FAIL;
+ }
+
+#ifdef MBTK_DUMP_SUPPORT
+ mbtk_debug_open(NULL, TRUE);
+#endif
+
+ LOGE("[SDK_READY] sdk check init.");
+ pthread_t sdk_ready_pid;
+ pthread_attr_t thread_attr;
+ pthread_attr_init(&thread_attr);
+ if(pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED))
+ {
+ LOGE("[SDK_READY] pthread_attr_setdetachstate() fail.");
+ return MBTK_RESULT_FAIL;
+ }
+
+ if(pthread_create(&sdk_ready_pid, &thread_attr, sdk_ready_check_pthread, NULL))
+ {
+ LOGE("[SDK_READY] pthread_create() fail.");
+ }
+
+ pthread_attr_destroy(&thread_attr);
+
+ LOGE("[SDK_READY] sdk check start.");
+ while(1)
+ {
+ sleep(24 * 60 * 60);
+ }
+
+ LOGE("[SDK_READY]!!!mbtk_sdk_ready exit!!!");
+ return MBTK_RESULT_SUCCESS;
+}
+#endif
\ No newline at end of file