WEARABLE_LOGI(WEARABLE_LOG_MODULE_LAUNCHER_FWK, "NativeLauncher::InitNativeLauncher");
/* -------------------------------------------------------------------------- */
// 从语言json配置里面读取语言包
-#if 0
- if (language::GetInstance()->InitLangues())
+#if 1
+ if (language::GetInstance()->InitLangues() == false)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLangues");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLangues error");
}
#endif
/* ------------------------------- ConfigModel ------------------------------ */
"ScreenDurationRadioButtonSlectValue": 1,
"TradionalBlueToothToggleButtonState": false,
"HeartRateOrBloodOxygenQuickAccessSwitch": 0,
- "Dial_Id":0
+ "Dial_Id": 0,
+ "languages": {
+ "zh": {
+ "path": "user/res/language_config/font/zh.lang"
+ },
+ "en": {
+ "path": "user/res/language_config/font/en.lang"
+ }
+ },
+ "languages_satuas": 0
}
\ No newline at end of file
{
struct cat1_msg_config
{
- char * imei;
+ char *imei;
int sim;
- char * oper;
- //uint8_t signal;
+ char *oper;
+ // uint8_t signal;
};
public:
int GetHeartRateOrBloodOxygenQuickAccessSwitch(void);
void SetDialId(uint8_t id);
int GetDialId();
- char * Getimei();
- char* GetpyVer();
- char* GetmoderVer();
+ void SetLanguage(uint8_t language);
+ int GetLanguage();
+ char *Getimei();
+ char *GetpyVer();
+ char *GetmoderVer();
void Setimei(char *str);
void SetpyVer(char *str);
void SetmoderVer(char *str);
-
- // -------------------------------------------------------------------------- */
+
+ // -------------------------------------------------------------------------- */
private:
ConfigModel(); // 私有构造函数,确保无法在外部实例化
ConfigModel(const ConfigModel &) = delete; // 禁止拷贝构造
unsigned int ScreenDurationRadioButtonSlectValue{1}; // 亮屏时长 ,0对应5秒熄屏,1对应10秒熄屏,2对应15秒熄屏
bool TradionalBlueToothToggleButtonState{false}; // 用来记录蓝牙开关状态,默认关闭状态
int HeartRateOrBloodOxygenQuickAccessSwitch{0}; // 心率或血氧快速访问开关,默认快速访问血氧打开
- int dialid;
- char * imei_str=NULL;
- char * pyVer=NULL;
- char * moderVer=NULL;
+ int dialid_; // 表盘id
+ int language_; // 语言状态
+ char *imei_str = NULL;
+ char *pyVer = NULL;
+ char *moderVer = NULL;
cat1_msg_config cat1_msg_config_t;
/* -------------------------------------------------------------------------- */
void ConfigModel::SetDialId(uint8_t id)
{
- dialid = id;
+ dialid_ = id;
WriteJsonData<int>(GetcJSON(), "Dial_Id", id);
}
int ConfigModel::GetDialId()
{
- dialid = (ReadJsonData<int>(GetcJSON(), "Dial_Id"));
- return dialid;
+ dialid_ = (ReadJsonData<int>(GetcJSON(), "Dial_Id"));
+ return dialid_;
}
- char* ConfigModel::Getimei()
+ void ConfigModel::SetLanguage(uint8_t language)
{
-
+ language_ = language;
+ WriteJsonData<int>(GetcJSON(), "languages_satuas", language_);
+ }
+
+ int ConfigModel::GetLanguage()
+ {
+ language_ = (ReadJsonData<int>(GetcJSON(), "languages_satuas"));
+ return language_;
+ }
+
+ char *ConfigModel::Getimei()
+ {
+
return imei_str;
}
- char* ConfigModel::GetpyVer()
+ char *ConfigModel::GetpyVer()
{
-
+
return pyVer;
}
- char* ConfigModel::GetmoderVer()
+ char *ConfigModel::GetmoderVer()
{
-
+
return moderVer;
}
-
- void ConfigModel::Setimei(char *str)
+ void ConfigModel::Setimei(char *str)
{
- if(imei_str==NULL || strcmp(imei_str,str)!=0)
- {
- if(imei_str==NULL)
+ if (imei_str == NULL || strcmp(imei_str, str) != 0)
+ {
+ if (imei_str == NULL)
{
- imei_str=(char*)malloc(strlen(str));
- strcpy(imei_str,str);
+ imei_str = (char *)malloc(strlen(str));
+ strcpy(imei_str, str);
}
else
{
- memset(imei_str,0,strlen(imei_str));
- strcpy(imei_str,str);
+ memset(imei_str, 0, strlen(imei_str));
+ strcpy(imei_str, str);
}
- }
- return ;
+ }
+ return;
}
- void ConfigModel::SetpyVer(char *str)
+ void ConfigModel::SetpyVer(char *str)
{
- if(pyVer==NULL || strcmp(pyVer,str)!=0)
- {
- if(pyVer==NULL)
+ if (pyVer == NULL || strcmp(pyVer, str) != 0)
+ {
+ if (pyVer == NULL)
{
- pyVer=(char*)malloc(strlen(str));
- strcpy(pyVer,str);
+ pyVer = (char *)malloc(strlen(str));
+ strcpy(pyVer, str);
}
else
{
- memset(pyVer,0,strlen(pyVer));
- strcpy(pyVer,str);
+ memset(pyVer, 0, strlen(pyVer));
+ strcpy(pyVer, str);
}
- }
- return ;
+ }
+ return;
}
- void ConfigModel::SetmoderVer(char *str)
+ void ConfigModel::SetmoderVer(char *str)
{
- if(moderVer==NULL || strcmp(moderVer,str)!=0)
- {
- if(moderVer==NULL)
+ if (moderVer == NULL || strcmp(moderVer, str) != 0)
+ {
+ if (moderVer == NULL)
{
- moderVer=(char*)malloc(strlen(str));
- strcpy(moderVer,str);
+ moderVer = (char *)malloc(strlen(str));
+ strcpy(moderVer, str);
}
else
{
- memset(moderVer,0,strlen(moderVer));
- strcpy(moderVer,str);
+ memset(moderVer, 0, strlen(moderVer));
+ strcpy(moderVer, str);
}
- }
- return ;
+ }
+ return;
}
/* ------------------------------ ImageAnimator ----------------------------- */
#include "font/font_global_manager.h"
#include "wearable_log.h"
#include "language/LanguageInit.h"
-
+#include "config/include/ConfigModel.h"
+#include <fstream>
namespace OHOS
{
cJSON *cjson_json = NULL;
{
return g_planguage;
}
- // 加载json
- bool language::loadJsonData(const std::string &filePath)
+ bool language::InitLangues()
{
- std::ifstream file(filePath);
- if (file.is_open())
- {
- std::string json_string((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());
- file.close();
- cjson_json = cJSON_Parse(json_string.c_str());
- return true;
- }
- else
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLangues");
+ static const char *BIN_LANG_EN = "user/res/language_config/font/en.lang";
+ static const char *BIN_LANG_ZH = "user/res/language_config/font/zh.lang";
+ const char *resFiles[] = {BIN_LANG_ZH, BIN_LANG_EN};
+
+ // Check if the language files exist before registering them
+ if (!fileExists(BIN_LANG_ZH) || !fileExists(BIN_LANG_EN))
{
- printf("Failed to open JSON file: %s\n", filePath.c_str());
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Language files do not exist");
return false;
}
+
+ FontGlobalManager::GetInstance()->RegisterLanguageInfo(resFiles, (sizeof(resFiles) / sizeof(char *)), 1);
+ // FontGlobalManager::GetInstance()->RegisterLanguageInfo(resFiles, (sizeof(resFiles) / sizeof(char *)), languages_satuas);
+ return true;
}
- // 初始化语言
- bool language::InitLangues()
+
+ bool language::fileExists(const char *fileName)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "InitLangues");
- // 获取语言包以及语言状态
- if (loadJsonData(JsonFilePath))
- {
- cJSON *languages_cjson = cJSON_GetObjectItem(cjson_json, "languages");
- cJSON *zn_cjson = cJSON_GetObjectItem(languages_cjson, "zn");
- cJSON *en_cjson = cJSON_GetObjectItem(languages_cjson, "en");
- const char *BIN_LANG_EN = cJSON_GetObjectItem(en_cjson, "path")->valuestring;
- const char *BIN_LANG_ZH = cJSON_GetObjectItem(zn_cjson, "path")->valuestring;
- languages_satuas = cJSON_GetObjectItem(cjson_json, "languages_satuas")->valueint;
- resFiles[0] = BIN_LANG_ZH;
- resFiles[1] = BIN_LANG_EN;
- FontGlobalManager::GetInstance()->RegisterLanguageInfo(resFiles, (sizeof(resFiles) / sizeof(char *)), languages_satuas);
- return true;
- }
- return false;
+ std::ifstream file(fileName);
+ return file.good();
}
- // 切换语言
+
+ // 改变语言之后,应该保存状态进去json文件
bool language::changelanguage(int languages_satuas)
{
- // 获取语言包以及语言状态
- if (loadJsonData(JsonFilePath))
- {
- cJSON *languages_cjson = cJSON_GetObjectItem(cjson_json, "languages");
- cJSON *zn_cjson = cJSON_GetObjectItem(languages_cjson, "zn");
- cJSON *en_cjson = cJSON_GetObjectItem(languages_cjson, "en");
- const char *BIN_LANG_EN = cJSON_GetObjectItem(en_cjson, "path")->valuestring;
- const char *BIN_LANG_ZH = cJSON_GetObjectItem(zn_cjson, "path")->valuestring;
- resFiles[0] = BIN_LANG_ZH;
- resFiles[1] = BIN_LANG_EN;
- }
- // 这里修改json里面的语言状态
- cJSON *languages_satuas_cjson = cJSON_GetObjectItem(cjson_json, "languages_satuas");
- cJSON_ReplaceItemInObject(cjson_json, "languages_satuas", cJSON_CreateNumber(languages_satuas));
-
- // 获取字体单例
+#if 0
UIFont *uiFont = UIFont::GetInstance();
if (uiFont == nullptr)
{
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Get UIFont error");
return false;
}
+
FontGlobalManager::GetInstance()->RegisterLanguageInfo(resFiles, (sizeof(resFiles) / sizeof(char *)), languages_satuas);
- uiFont->SetCurrentLangId(languages_satuas); // set language
+ uiFont->SetCurrentLangId(languages_satuas);
+#endif
+ return true;
}
+
}
+/***
+ * @Author: Caisking 3449750381@qq.com
+ * @Date: 2024-02-20 11:47:35
+ * @LastEditors: Caisking 3449750381@qq.com
+ * @LastEditTime: 2024-03-27 16:05:02
+ * @FilePath: /sdk/application/wearable/fd230app/nativeui/language/LanguageInit.h
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
#ifndef LANGUAGE_INIT_H
#define LANGUAGE_INIT_H
language();
~language();
static language *GetInstance();
- bool loadJsonData(const std::string &filePath);
bool InitLangues();
bool changelanguage(int languages_satuas);
+ bool fileExists(const char *fileName);
private:
std::string JsonFilePath = "user/res/language_config/config.json";
namespace OHOS\r
{\r
\r
- \r
struct SystemView_ext_p\r
{\r
- const int16_t viewId;\r
- char *viewid_str;\r
- bool enable_falg;\r
+ const int16_t viewId;\r
+ char *viewid_str;\r
+ bool enable_falg;\r
};\r
- \r
\r
// 2.ViewMapper[] 是一个静态的视图映射数组,将视图ID与MainStopWatchView类中的特定成员函数指针进行了绑定。\r
- static SystemView_ext_p ViewMapper_t[] = {\r
- {ABOUTTHEWATCHVIEW,"AboutTheWatchButton",true},\r
- {SUPERVISEVIEW,"SuperviseButton",true},\r
- {SYSTEMLANGUAGEVIEW,"SystemLanguageButton",false},\r
- {FACTORYRESETVIEW,"FactoryResetButton",true},\r
- {SYSTEMLUPGRADE,"systemupgread",true},\r
- };\r
- //{TEST,"testButton",true}};\r
- \r
- // {ABOUTTHEWATCHVIEW, &SystemView::ChangeSystemAboutView},\r
- // {SUPERVISEVIEW, &SystemView::ChangeSystemSuperviseView},\r
- // {SYSTEMLANGUAGEVIEW, &SystemView::ChangeSystemLanguageView},\r
+ static SystemView_ext_p ViewMapper_t[] = {\r
+ {ABOUTTHEWATCHVIEW, "AboutTheWatchButton", true},\r
+ {SUPERVISEVIEW, "SuperviseButton", true},\r
+ {SYSTEMLANGUAGEVIEW, "SystemLanguageButton", true},\r
+ {FACTORYRESETVIEW, "FactoryResetButton", true},\r
+ {SYSTEMLUPGRADE, "systemupgread", true},\r
+ };\r
\r
// 当前Presenter属性实例化的内存指针\r
static SystemPresenter *g_pSystemPresenter = nullptr;\r
bool SystemPresenter::OnClick(UIView &view, const ClickEvent &event)\r
{\r
SystemView *p_SystemView = SystemView::GetInstance();\r
- int len=sizeof(ViewMapper_t)/sizeof(SystemView_ext_p);\r
- //int len=5;\r
- // 根据控件id查找是哪个控件触发了点击回调\r
+ int len = sizeof(ViewMapper_t) / sizeof(SystemView_ext_p);\r
+ // int len=5;\r
+ // 根据控件id查找是哪个控件触发了点击回调\r
\r
- for(int i=0;i<len;i++)\r
+ for (int i = 0; i < len; i++)\r
{\r
- if(strcmp(view.GetViewId(),ViewMapper_t[i].viewid_str) == 0)\r
+ if (strcmp(view.GetViewId(), ViewMapper_t[i].viewid_str) == 0)\r
{\r
- if(i==5)\r
+ if (i == 5)\r
{\r
NativeAbility::GetInstance().ChangeSlice(VIEW_TEST);\r
break;\r
}\r
- \r
- if(ViewMapper_t[i].enable_falg==true)\r
- SystemView::GetInstance()->ChangeView(SYSTEMVIEW, ViewMapper_t[i].viewId);\r
+\r
+ if (ViewMapper_t[i].enable_falg == true)\r
+ SystemView::GetInstance()->ChangeView(SYSTEMVIEW, ViewMapper_t[i].viewId);\r
return true;\r
}\r
}\r
\r
- \r
if (strcmp(view.GetViewId(), FACTORYRESET_CHECKON) == 0)\r
{\r
p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW);\r
p_SystemView->ChangeView(FACTORYRESETVIEW, SYSTEMVIEW);\r
return true;\r
}\r
- \r
\r
- if(strcmp(view.GetViewId(), SYSTEM_UPGRADE) == 0)\r
+ if (strcmp(view.GetViewId(), SYSTEM_UPGRADE) == 0)\r
{\r
- isSystemUpgradeState=true;\r
+ isSystemUpgradeState = true;\r
SystemupgradeView::GetInstance()->statr_down_fwpkg();\r
}\r
- if(strcmp(view.GetViewId(),"labelButton1_exit")==0)\r
+ if (strcmp(view.GetViewId(), "labelButton1_exit") == 0)\r
{\r
- // SystemView::GetInstance()->ChangeSlice(VIEW_SETTING);;\r
+ // SystemView::GetInstance()->ChangeSlice(VIEW_SETTING);;\r
NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
- isSystemUpgradeState=false;\r
+ isSystemUpgradeState = false;\r
}\r
return false;\r
}\r
{\r
if ((event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT))\r
{\r
- SystemPresenter:: GetInstance()->set_key_falg(false);\r
+ SystemPresenter::GetInstance()->set_key_falg(false);\r
NativeAbility::GetInstance().ChangeSlice(VIEW_SETTING);\r
}\r
return true;\r
\r
bool SystemPresenter::OnKeyAct(UIView &view, const KeyEvent &event) // 增加按键事件\r
{\r
- if(!isSystemUpgradeState){ //如果处于系统升级状态power键返回功能无效\r
+ if (!isSystemUpgradeState)\r
+ { // 如果处于系统升级状态power键返回功能无效\r
UNUSED(view);\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "SystemPresenter::OnKeyAct");\r
uint16 keyID = event.GetKeyId();\r
\r
void SystemPresenter::set_key_falg(bool falg) // 增加按键事件\r
{\r
- isSystemUpgradeState=falg;\r
+ isSystemUpgradeState = falg;\r
}\r
}
\ No newline at end of file