linux GUI


 LOCAL_MODULE_TAGS := eng
diff --git a/app/newcdr/include/misc/Dialog.h b/app/newcdr/include/misc/Dialog.h
index 5ff70d6..eb1aa69 100755
--- a/app/newcdr/include/misc/Dialog.h
+++ b/app/newcdr/include/misc/Dialog.h
@@ -24,7 +24,9 @@ enum labelIndex {
  LABEL_10S_SHUTDOWN,
  LABEL_SHUTDOWN_NOW,
  LABEL_30S_NOWORK_SHUTDOWN,
- LABEL_FILELIST_EMPTY
+ LABEL_FILELIST_EMPTY,
+ LABEL_NO_UPDATE,
+ LABEL_UPDATING,
 };
 
 extern int CdrDialog(HWND hParent, cdrDialogType_t type);
diff --git a/app/newcdr/include/misc/cdrLang.h b/app/newcdr/include/misc/cdrLang.h
index b97e877..3f5eac6 100755
--- a/app/newcdr/include/misc/cdrLang.h
+++ b/app/newcdr/include/misc/cdrLang.h
@@ -35,6 +35,7 @@ enum LANG_STRINGS {
  LANG_LABEL_MENU_TWM,
  LANG_LABEL_MENU_FORMAT,
  LANG_LABEL_MENU_FRESET,
+ LANG_LABEL_MENU_UPDATE,
  LANG_LABEL_MENU_AWMD,
  LANG_LABEL_MENU_FIRMWARE,
  LANG_LABEL_SUBMENU_LANG_TITLE,
@@ -88,12 +89,17 @@ enum LANG_STRINGS {
  LANG_LABEL_SUBMENU_FORMATTING_TEXT,
  LANG_LABEL_SUBMENU_FRESET_TITLE,
  LANG_LABEL_SUBMENU_FRESET_TEXT,
+ LANG_LABEL_SUBMENU_UPDATE_TITLE,
+ LANG_LABEL_SUBMENU_UPDATE_TEXT,
+ LANG_LABEL_SUBMENU_UPDATEING_TEXT,
  LANG_LABEL_TAKE_PICTURE,
  LANG_LABEL_WARNING,
  LANG_LABEL_TIPS,
  LANG_LABEL_NO_TFCARD,
  LANG_LABEL_TFCARD_FULL,
  LANG_LABEL_FORMATTING,
+ LANG_LABEL_NO_UPDATE,
+ LANG_LABEL_UPDATETING,
  LANG_LABEL_DATE_TITLE,
  LANG_LABEL_DATE_YEAR,
  LANG_LABEL_DATE_MONTH,
diff --git a/app/newcdr/include/misc/resourceManager.h b/app/newcdr/include/misc/resourceManager.h
index 54611c6..36688e5 100755
--- a/app/newcdr/include/misc/resourceManager.h
+++ b/app/newcdr/include/misc/resourceManager.h
@@ -48,6 +48,7 @@ enum ResourceID {
  ID_MENU_LIST_TWM,
  ID_MENU_LIST_FORMAT,
  ID_MENU_LIST_FRESET,
+ ID_MENU_LIST_UPDATE,
  ID_MENU_LIST_FIRMWARE,
  ID_MENU_LIST_UNFOLD_PIC,
  ID_MENU_LIST_CHECKBOX_PIC,
@@ -441,6 +442,7 @@ namespace android{
  currentIcon_t TWMIcon;
  currentIcon_t formatIcon;
  currentIcon_t factoryResetIcon;
+ currentIcon_t updateIcon;
  currentIcon_t firmwareIcon;
  }rMenuList;
 
diff --git a/app/newcdr/include/misc/resource_impl.h b/app/newcdr/include/misc/resource_impl.h
index 2f6c252..c07e794 100755
--- a/app/newcdr/include/misc/resource_impl.h
+++ b/app/newcdr/include/misc/resource_impl.h
@@ -43,6 +43,7 @@
 #define CFG_FILE_ML_TWM "menu_list_time_water_mask"
 #define CFG_FILE_ML_FORMAT "menu_list_format"
 #define CFG_FILE_ML_FACTORYRESET "menu_list_factory_reset"
+#define CFG_FILE_ML_UPDATE "menu_list_update"
 #define CFG_FILE_ML_FIRMWARE "menu_list_firmware"
 
 #define CFG_FILE_PLBPREVIEW "playback_preview"
diff --git a/app/newcdr/include/power/PowerManager.h b/app/newcdr/include/power/PowerManager.h
index 35ae3da..6fb97dd 100755
--- a/app/newcdr/include/power/PowerManager.h
+++ b/app/newcdr/include/power/PowerManager.h
@@ -12,6 +12,7 @@
 #include <fcntl.h>
 
 #include <standby/IStandBy.h>
+//#include <upgrade/IUpgrade.h>
 
 #define DISP_DEV "/dev/disp"
 #include "windows.h"


diff --git a/app/newcdr/include/window/Menu.h b/app/newcdr/include/window/Menu.h
index 50f6931..684a38c 100755
--- a/app/newcdr/include/window/Menu.h
+++ b/app/newcdr/include/window/Menu.h
@@ -12,6 +12,9 @@

 
+
+
+
 #include "windows.h"
 #include "cdr_widgets.h"
 #include "keyEvent.h"
@@ -19,6 +22,9 @@
 #include "StorageManager.h"
 #include "resourceManager.h"

+
 #define MENU_LIST_COUNT  17
 
 enum menuIndex {
@@ -30,7 +36,6 @@ enum menuIndex {
  MENU_INDEX_CONTRAST,
  MENU_INDEX_EXPOSURE,
  MENU_INDEX_POR,
- MENU_INDEX_PARKMONITOR,
  MENU_INDEX_SS,
  MENU_INDEX_SILENTMODE,
  MENU_INDEX_DATE,
@@ -38,6 +43,7 @@ enum menuIndex {
  MENU_INDEX_TWM,
  MENU_INDEX_FORMAT,
  MENU_INDEX_FRESET,
+ MENU_INDEX_UPDATE,
  MENU_INDEX_FIRMWARE
 };
 
@@ -50,7 +56,6 @@ enum ResourceID menuResourceID[] = {
  ID_MENU_LIST_CONTRAST,
  ID_MENU_LIST_EXPOSURE,
  ID_MENU_LIST_POR,
- ID_MENU_LIST_PARKMONITOR,
  ID_MENU_LIST_SS,
  ID_MENU_LIST_SILENTMODE,
  ID_MENU_LIST_DATE,
@@ -58,6 +63,7 @@ enum ResourceID menuResourceID[] = {
  ID_MENU_LIST_TWM,
  ID_MENU_LIST_FORMAT,
  ID_MENU_LIST_FRESET,
+ ID_MENU_LIST_UPDATE,
  ID_MENU_LIST_FIRMWARE
 };
 
@@ -70,7 +76,6 @@ unsigned int haveCheckBox[] = {
  0, /*CONTRAST not have check box */
  0, /*EXPOSURE not have check box */
  1, /*POR have check box */
- 1, /*PARKMONITOR have check box */
  0, /*SS not have check box */
  1, /*SILENTMODE have check box */
  0, /*DATE not have check box */
@@ -78,6 +83,7 @@ unsigned int haveCheckBox[] = {
  1, /*TWM have check box */
  0, /*FORMAT not have check box */
  0, /*FRESET not have check box */
+ 0, /*UPDATE not have check box */
  0 /*FIRMWARE not have check box */
 };
 
@@ -90,7 +96,6 @@ unsigned int haveSubMenu[] = {
  1, /*CONTRAST have sub menu */
  1, /*EXPOSURE have sub menu */
  0, /*POR not have sub menu */
- 0, /*PARKMONITOR not have sub menu */
  1, /*SS have sub menu */
  0, /*SILENTMODE not have sub menu */
  0, /*DATE not have sub menu */
@@ -98,6 +103,7 @@ unsigned int haveSubMenu[] = {
  0, /*TWM not have sub menu */
  0, /*FORMAT not have sub menu */
  0, /*FRESET not have sub menu */
+ 0, /*UPDATE not have sub menu */
  0 /*FIRMWARE not have sub menu */
 };
 
@@ -110,7 +116,6 @@ unsigned int haveValueString[] = {
  1, /*CONTRAST have value string */
  1, /*EXPOSURE have value string */
  0, /*POR not have value string */
- 0, /*PARKMONITOR not have value string */
  1, /*SS have value string */
  0, /*SILENTMODE not have value string */
  0, /*DATE not have value string */
@@ -118,6 +123,7 @@ unsigned int haveValueString[] = {
  0, /*TWM not have value string */
  0, /*FORMAT not have value string */
  0, /*FRESET not have value string */
+ 0, /*UPDATE not have value string */
  1 /*FIRMWARE not have value string */
 };
 
@@ -131,7 +137,6 @@ int subMenuContent0Cmd[] = {
  LANG_LABEL_SUBMENU_CONTRAST_CONTENT0,
  LANG_LABEL_SUBMENU_EXPOSURE_CONTENT0,
  -1, /*POR not have sub menu */
- -1, /*PARKMONITOR not have sub menu */
  LANG_LABEL_SUBMENU_SS_CONTENT0,
  -1, /*SILENTMODE not have sub menu */
  -1, /*DATE not have sub menu */
@@ -139,6 +144,7 @@ int subMenuContent0Cmd[] = {
  -1, /*TWM not have sub menu */
  -1, /*FORMAT not have sub menu */
  -1, /*FRESET not have sub menu */
+ -1, /*UPDATE not have sub menu */
  -1 /*FIRMWARE not have sub menu */
 };
 
@@ -169,9 +175,6 @@ MLFlags mlFlags[MENU_LIST_COUNT] = {
  /*POR*/
  { IMGFLAG_IMAGE, {VMFLAG_IMAGE}, 1},
 
- /*PARKMONITOR*/
- { IMGFLAG_IMAGE, {VMFLAG_IMAGE}, 1},
-
  /*SS*/
  { IMGFLAG_IMAGE, {VMFLAG_STRING, VMFLAG_IMAGE}, 2},
 
@@ -193,6 +196,9 @@ MLFlags mlFlags[MENU_LIST_COUNT] = {
  /*FRESET*/
  { IMGFLAG_IMAGE, {0}, 0},
 
+ /*UPDATE*/
+ { IMGFLAG_IMAGE, {0}, 0},
+
  /*FIRMWARE*/
  { IMGFLAG_IMAGE, {VMFLAG_STRING}, 1},
 };

diff --git a/app/newcdr/src/misc/Dialog.cpp b/app/newcdr/src/misc/Dialog.cpp
index f76aadc..c2ac798 100755
--- a/app/newcdr/src/misc/Dialog.cpp
+++ b/app/newcdr/src/misc/Dialog.cpp
@@ -23,6 +23,8 @@ labelStringCmd_t labelStringCmd[] = {
  {LANG_LABEL_SHUTDOWN_TITLE, LANG_LABEL_SHUTDOWN_NOW},
  {LANG_LABEL_SHUTDOWN_TITLE, LANG_LABEL_30S_NOWORK_SHUTDOWN},
  {LANG_LABEL_TIPS, LANG_LABEL_FILELIST_EMPTY},
+ {LANG_LABEL_TIPS, LANG_LABEL_NO_UPDATE},
+ {LANG_LABEL_TIPS, LANG_LABEL_UPDATETING},
 };
 
 int getTipLabelData(tipLabelData_t* tipLabelData)
diff --git a/app/newcdr/src/misc/resourceManager.cpp b/app/newcdr/src/misc/resourceManager.cpp
index 0fd1f0e..283c588 100755
--- a/app/newcdr/src/misc/resourceManager.cpp
+++ b/app/newcdr/src/misc/resourceManager.cpp
@@ -546,6 +546,7 @@ int ResourceManager::initMenuListResource(void)
  {CFG_FILE_ML_TWM, (void*)&rMenuList.TWMIcon},
  {CFG_FILE_ML_FORMAT, (void*)&rMenuList.formatIcon},
  {CFG_FILE_ML_FACTORYRESET, (void*)&rMenuList.factoryResetIcon},
+ {CFG_FILE_ML_UPDATE, (void*)&rMenuList.updateIcon},
  {CFG_FILE_ML_FIRMWARE, (void*)&rMenuList.firmwareIcon}
  };
 
@@ -1448,6 +1449,10 @@ const char* ResourceManager::getResMenuItemString(enum ResourceID resID)
  case ID_MENU_LIST_FRESET:
  ptr = getLabel(LANG_LABEL_MENU_FRESET);
  break;
+ case ID_MENU_LIST_UPDATE:
+ ptr = getLabel(LANG_LABEL_MENU_UPDATE);
+ break;
+
  case ID_MENU_LIST_FIRMWARE:
  ptr = getLabel(LANG_LABEL_MENU_FIRMWARE);
  break;
@@ -1767,6 +1772,12 @@ int ResourceManager::getMLPICFileName(enum ResourceID resID, enum BmpType type,
  else
  file = rMenuList.factoryResetIcon.icon.itemAt(0);
  break;
+ case ID_MENU_LIST_UPDATE:
+ if(type == BMPTYPE_SELECTED)
+ file = rMenuList.formatIcon.icon.itemAt(1);
+ else
+ file = rMenuList.formatIcon.icon.itemAt(0);
+ break;
  case ID_MENU_LIST_FIRMWARE:
  if(type == BMPTYPE_SELECTED)
  file = rMenuList.firmwareIcon.icon.itemAt(1);
diff --git a/app/newcdr/src/power/PowerManager.cpp b/app/newcdr/src/power/PowerManager.cpp
index 33f18ea..b170a76 100755
--- a/app/newcdr/src/power/PowerManager.cpp
+++ b/app/newcdr/src/power/PowerManager.cpp
@@ -16,6 +16,8 @@
 #include <IServiceManager.h>
 #include <IInterface.h>
 #include <IStandBy.h>
+//#include <IUpgrade.h>
+
 using namespace android;
 

+
 int PowerManager::setBatteryLevel(int level)
 {
  if (level != mBatteryLevel) {


diff --git a/app/newcdr/src/window/Menu.cpp b/app/newcdr/src/window/Menu.cpp
index 9ac8319..412edbd 100755
--- a/app/newcdr/src/window/Menu.cpp
+++ b/app/newcdr/src/window/Menu.cpp
@@ -4,6 +4,13 @@
 #define LOG_TAG "Menu.cpp"
 #include "debug.h"
 
+#include <IServiceManager.h>
+#include <IInterface.h>
+#include <IUpgrade.h>
+#include<unistd.h>
+
+

 
 Menu::~Menu()
@@ -447,7 +456,7 @@ int Menu::keyProc(int keyCode, int isLongPress)
  break;
  case MENU_INDEX_POR: case MENU_INDEX_SILENTMODE:
  case MENU_INDEX_TWM: case MENU_INDEX_AWMD:
- case MENU_INDEX_PARKMONITOR:
+// case MENU_INDEX_PARKMONITOR:
  if(getCheckBoxStatus(selectedItem, isChecked) < 0) {
  db_error("get check box status failed\n");
  break;
@@ -459,7 +468,8 @@ int Menu::keyProc(int keyCode, int isLongPress)
  break;
  case MENU_INDEX_FORMAT:
  case MENU_INDEX_FRESET:
- if(selectedItem == MENU_INDEX_FORMAT) {
+ case MENU_INDEX_UPDATE:
+ if(selectedItem == MENU_INDEX_FORMAT||selectedItem == MENU_INDEX_UPDATE) {
  if (!sm->isInsert()) {
  showAlphaEffect();
  ShowTipLabel(mHwnd, LABEL_NO_TFCARD);
@@ -485,6 +495,39 @@ int Menu::keyProc(int keyCode, int isLongPress)
  }
  ShowFormattingTip();
  }
+
+ #if 1
+ else if(selectedItem == MENU_INDEX_UPDATE)
+ {
+ if(access("/mnt/extsd/full_img.fex",F_OK) != 0)
+ {
+ db_msg("/mnt/extsd/full_img.fex not exist\n");
+ ShowTipLabel(mHwnd, LABEL_NO_UPDATE);
+ break;
+ }
+ db_msg("/mnt/extsd/full_img.fex enter sd upgrade....\n");
+ ShowUpgradingTip();
+ // ShowTipLabel(mHwnd, LABEL_UPDATING);
+
+ #if 1
+ db_msg("***getpid=%d***\n",getpid());
+
+ if (mUpgradeService != NULL)  
+ {
+ db_msg("****enterUpgrade****\n");
+ mUpgradeService->enterUpgrade(getpid());
+ }
+ db_msg("****not enterUpgrade****\n");
+ #endif
+
+ #if 0
+ sleep(1);
+ db_msg("/mnt/extsd/full_img.fex enter sd upgrade....\n");
+ system("upgrade");
+ #endif
+ }
+ #endif
+
  }
  break;
  default:
@@ -500,6 +543,25 @@ int Menu::keyProc(int keyCode, int isLongPress)
  return WINDOWID_MENU;
 }

+
+
 int Menu::ShowSubMenu(unsigned int menuIndex, bool &isModified)
 {
  int retval;
@@ -624,7 +686,8 @@ void Menu::showAlphaEffect(void)
  db_msg("rect.right is %d\n", rect.right);
  db_msg("rect.bottom is %d\n", rect.bottom);
 
- SetMemDCAlpha(secDC, MEMDC_FLAG_SRCALPHA, 180);
+// SetMemDCAlpha(secDC, MEMDC_FLAG_SRCALPHA, 180);
+ SetMemDCAlpha(secDC, MEMDC_FLAG_SRCALPHA, 250);
  ShowWindow(mHwnd, SW_HIDE);
  ShowWindow(mCdrMain->getWindowHandle(WINDOWID_STATUSBAR), SW_HIDE);
 
@@ -714,7 +777,7 @@ int Menu::HandleSubMenuChange(unsigned int menuIndex, bool newValue)
  case MENU_INDEX_SILENTMODE:
  case MENU_INDEX_TWM:
  case MENU_INDEX_AWMD:
- case MENU_INDEX_PARKMONITOR:
+// case MENU_INDEX_PARKMONITOR:
  if(haveCheckBox[menuIndex] != 1) {
  db_error("invalid menuIndex %d\n", menuIndex);
  return -1;
@@ -829,12 +892,14 @@ int Menu::getMessageBoxData(unsigned int menuIndex, MessageBox_t &messageBoxData
 
  unsigned int indexTable [] = {
  MENU_INDEX_FORMAT,
- MENU_INDEX_FRESET
+ MENU_INDEX_FRESET,
+ MENU_INDEX_UPDATE
  };
 
  unsigned int resCmd[][2] = {
  {LANG_LABEL_SUBMENU_FORMAT_TITLE, LANG_LABEL_SUBMENU_FORMAT_TEXT},
  {LANG_LABEL_SUBMENU_FRESET_TITLE, LANG_LABEL_SUBMENU_FRESET_TEXT},
+ {LANG_LABEL_SUBMENU_UPDATE_TITLE, LANG_LABEL_SUBMENU_UPDATE_TEXT},
  };
 
 
@@ -1055,3 +1120,58 @@ void Menu::doFormatTFCard(void)
  finish(0, 0);
 }
 
+
+
+
+static void upgradeCallback(HWND hDlg, void* data)
+{
+ Menu* menu;
+ menu = (Menu*)data;
+ db_msg("upgradeMessageBoxCallback\n");
+
+#if 0
+ menu->doFormatTFCard();
+ db_msg("formatMessageBoxCallback finish\n");
+#endif
+ EndDialog(hDlg, IDC_BUTTON_OK);
+}
+
+int Menu::ShowUpgradingTip()
+{
+ tipLabelData_t tipLabelData;
+ ResourceManager* rm;
+ int retval;
+
+ rm = ResourceManager::getInstance();
+ memset(&tipLabelData, 0, sizeof(tipLabelData));
+ if(getTipLabelData(&tipLabelData) < 0) {
+ db_error("get TipLabel data failed\n");
+ return -1;
+ }
+
+ tipLabelData.title = rm->getLabel(LANG_LABEL_TIPS);
+ if(!tipLabelData.title) {
+ db_error("get FormattingTip titile failed\n");
+ return -1;
+ }
+
+ tipLabelData.text = rm->getLabel(LANG_LABEL_SUBMENU_UPDATEING_TEXT);
+ if(!tipLabelData.text) {
+ db_error("get LANG_LABEL_LOW_POWER_TEXT failed\n");
+ return -1;
+ }
+
+// tipLabelData.timeoutMs = TIME_INFINITE;
+ tipLabelData.timeoutMs = 500;
+ tipLabelData.disableKeyEvent = true;
+ tipLabelData.callback = upgradeCallback;
+ tipLabelData.callbackData = this;
+
+ showAlphaEffect();
+ retval = showTipLabel(mHwnd, &tipLabelData);
+// cancelAlphaEffect();
+
+ return retval;
+}
+
+
diff --git a/app/newcdr/tools/Menu.h b/app/newcdr/tools/Menu.h
index f42b666..2affe0e 100755
--- a/app/newcdr/tools/Menu.h
+++ b/app/newcdr/tools/Menu.h
@@ -19,7 +19,7 @@
 #include "StorageManager.h"
 #include "resourceManager.h"
 
-#define MENU_LIST_COUNT  16
+#define MENU_LIST_COUNT  17
 
 enum menuIndex {
  MENU_INDEX_VQ,
@@ -37,6 +37,7 @@ enum menuIndex {
  MENU_INDEX_TWM,
  MENU_INDEX_FORMAT,
  MENU_INDEX_FRESET,
+ MENU_INDEX_UPDATE,
  MENU_INDEX_FIRMWARE
 };
 
@@ -56,6 +57,7 @@ enum ResourceID menuResourceID[] = {
  ID_MENU_LIST_TWM,
  ID_MENU_LIST_FORMAT,
  ID_MENU_LIST_FRESET,
+ ID_MENU_LIST_UPDATE,
  ID_MENU_LIST_FIRMWARE
 };
 
@@ -75,6 +77,7 @@ unsigned int haveCheckBox[] = {
  1, /*TWM have check box */
  0, /*FORMAT not have check box */
  0, /*FRESET not have check box */
+ 0, /*UPDATE not have check box */
  0 /*FIRMWARE not have check box */
 };
 
@@ -94,6 +97,7 @@ unsigned int haveSubMenu[] = {
  0, /*TWM not have sub menu */
  0, /*FORMAT not have sub menu */
  0, /*FRESET not have sub menu */
+ 0, /*UPDATE not have sub menu */
  0 /*FIRMWARE not have sub menu */
 };
 
@@ -113,6 +117,7 @@ unsigned int haveValueString[] = {
  0, /*TWM not have value string */
  0, /*FORMAT not have value string */
  0, /*FRESET not have value string */
+ 0, /*UPDATE not have value string */
  1 /*FIRMWARE not have value string */
 };
 
@@ -133,6 +138,7 @@ int subMenuContent0Cmd[] = {
  -1, /*TWM not have sub menu */
  -1, /*FORMAT not have sub menu */
  -1, /*FRESET not have sub menu */
+ -1, /*UPDATE not have sub menu */
  -1 /*FIRMWARE not have sub menu */
 };
 
@@ -184,6 +190,9 @@ MLFlags mlFlags[MENU_LIST_COUNT] = {
  /*FRESET*/
  { IMGFLAG_IMAGE, {0}, 0},
 
+ /*UPDATE*/
+ { IMGFLAG_IMAGE, {0}, 0},
+
  /*FIRMWARE*/
  { IMGFLAG_IMAGE, {VMFLAG_STRING}, 1},
 };
diff --git a/app/newcdr/tools/menu.txt b/app/newcdr/tools/menu.txt
index 9b46e9f..128f877 100755
--- a/app/newcdr/tools/menu.txt
+++ b/app/newcdr/tools/menu.txt
@@ -27,4 +27,5 @@ LANG, have sub menu, no check box, have value string
 TWM, no sub menu, have check box, no value string
 FORMAT, no sub menu, no check box, no value string
 FRESET, no sub menu, no check box, no value string
+UPDATE, no sub menu, no check box, no value string
 FIRMWARE, no sub menu, no check box, have value string
diff --git a/device/softwinner/pluto-cdr/configs/sunxi-keyboard.kl b/device/softwinner/pluto-cdr/configs/sunxi-keyboard.kl
index 9c6ba26..d5eee3d 100755
--- a/device/softwinner/pluto-cdr/configs/sunxi-keyboard.kl
+++ b/device/softwinner/pluto-cdr/configs/sunxi-keyboard.kl
@@ -1,5 +1,5 @@
 key 115 OK
-key 1 MODE
+key 114 MODE
 key 116 POWER
 key 217 UP
 key 139 DOWN
diff --git a/device/softwinner/pluto-cdr/res/cfg/480X272.cfg b/device/softwinner/pluto-cdr/res/cfg/480X272.cfg
index 715643b..a14ab25 100755
--- a/device/softwinner/pluto-cdr/res/cfg/480X272.cfg
+++ b/device/softwinner/pluto-cdr/res/cfg/480X272.cfg
@@ -299,6 +299,15 @@ current=0
 icon0=/res/menu/factory_reset_light.png
 icon1=/res/menu/factory_reset_dark.png
 
+[menu_list_update]
+x=60
+y=80
+w=360
+h=150
+current=0
+icon0=/res/menu/format_light.png
+icon1=/res/menu/format_dark.png
+
 [menu_list_firmware]
 current=0
 icon0=/res/menu/version_light.png
diff --git a/device/softwinner/pluto-cdr/res/lang/en.bin b/device/softwinner/pluto-cdr/res/lang/en.bin
index 61ed8d2..0ff33fd 100755
--- a/device/softwinner/pluto-cdr/res/lang/en.bin
+++ b/device/softwinner/pluto-cdr/res/lang/en.bin
@@ -16,6 +16,7 @@ Language
 Time WaterMask
 Format
 Factory Reset
+Firmware Update
 Move Detect
 Firmware Info
 LANGUAGE
@@ -69,12 +70,17 @@ Format the SDCARD?
 Formatting...
 Factory data reset
 Do the Factory Reset?
+The firmware upgrade
+Confirm to the firmware upgrade?
+The firmware upgrade is underway...
 Saving Picture...
 Warning
 Tips
 No TF card detected, Please Insert TF Card!
 Insufficient disk space!
 Formatting,TF card is not avalible!
+No full_img.fex, please load!
+Is upgrading, do not power off!
 Date
 Y
 M
diff --git a/device/softwinner/pluto-cdr/res/lang/zh-CN.bin b/device/softwinner/pluto-cdr/res/lang/zh-CN.bin
index a24b5be..7206cc1 100755
--- a/device/softwinner/pluto-cdr/res/lang/zh-CN.bin
+++ b/device/softwinner/pluto-cdr/res/lang/zh-CN.bin
@@ -16,6 +16,7 @@
 时间水印
 格式化
 恢复出厂设置
+固件升级
 移动侦测
 固件版本
 语言
@@ -69,12 +70,17 @@ HD
 正在格式化...
 恢复出厂设置
 确认恢复出厂设置?
+固件升级
+确认要进行固件升级?
+正在进行固件升级...
 正在保存屏幕截图...
 警告
 提示
 没有检测到TF卡,请插入TF卡!
 TF卡存储空间不足!
 正在格式化,TF卡不可用!
+没有full_img.fex,请加载!
+正在进行升级中,请勿断电!
 日期
 年
 月
diff --git a/device/softwinner/pluto-cdr/res/lang/zh-TW.bin b/device/softwinner/pluto-cdr/res/lang/zh-TW.bin
index 1663f87..99327ab 100755
--- a/device/softwinner/pluto-cdr/res/lang/zh-TW.bin
+++ b/device/softwinner/pluto-cdr/res/lang/zh-TW.bin
@@ -16,6 +16,7 @@
 時間水印
 格式化
 恢復出廠設置
+固件升級
 移動偵測
 固件版本
 語言
@@ -69,12 +70,17 @@ HD
 正在格式化...
 恢復出廠設置
 確認恢復出廠設置?
+固件升級
+確認要進行固件升級?
+正在進行固件升級...
 正在保存屏幕截圖...
 警告
 提示
 沒有檢測到TF卡,請插入TF卡!
 TF卡存儲空間不足!
 正在格式化,TF卡不可用!
+沒有full_img.fex,請加載!
+正在進行升級中,請勿斷電!
 日期
 年
 月


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值