osTimerId_t g_stopAlarmMaxHandle = nullptr;\r
static AlarmMaxClock *g_AlarmMaxClock = nullptr;\r
static constexpr uint64_t MS_THREE_SECONDS = 3000;\r
-void ScanTimerCallback(int data);\r
-void EndScanHandle(void);\r
\r
static AlarmMaxClock *g_JudgeView = nullptr;\r
constexpr int16_t CONTAINER_X = 0;\r
}\r
}\r
\r
-void EndScanHandle(void)\r
+static void EndScanHandle(void)\r
{\r
OHOS::MainAlarmView::GetInstance()->ChangeView(CHANGE_INTERFACE_MAXCLOCK, MAIN_INTERFACE);\r
}\r
EndScanHandle();\r
}\r
\r
-void ScanTimerCallback(int data)\r
+static void ScanTimerCallback(int data)\r
{\r
GraphicService::GetInstance()->PostGraphicEvent(std::bind(ScanTimerCallbackProc, data));\r
}\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "CancelBtDiscovery results %d", results);\r
}\r
\r
-void EndScanHandle(void)\r
+static void EndScanHandle(void)\r
{\r
if (BluetoothModel::GetInstance()->GetCase().size() == 0) {\r
BluetoothEarPhoneView *bluetoothEarPhoneView = BluetoothEarPhoneView::GetInstance();\r
EndScanHandle();\r
}\r
\r
-void ScanTimerCallback(int data)\r
+static void ScanTimerCallback(int data)\r
{\r
GraphicService::GetInstance()->PostGraphicEvent(std::bind(ScanTimerCallbackProc, data));\r
}\r
}
}
- return true;
}
+ return true;
}
bool BluetoothServiceOptionsPresenter::OnDrag(UIView &view, const DragEvent &event)
#include "language/LanguageInit.h"
#include "ConfigModel.h"
#include <NativeAbility.h>
-
+#include "AppViewIDs.h"
namespace OHOS
{
// 初始化 languages 数组
--- /dev/null
+/*\r
+ * Copyright (c) 2023 CompanyNameMagicTag.\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+#ifndef GRAPHIC_LITE_DIAL_BIN_PARSER_H\r
+#define GRAPHIC_LITE_DIAL_BIN_PARSER_H\r
+#include <iostream>\r
+#include <cstring>\r
+#include "graphic_types.h"\r
+#include "DialViewGroup.h"\r
+#include "DialBinTypes.h"\r
+#include "components/ui_abstract_progress.h"\r
+\r
+namespace OHOS {\r
+class DialBinParser {\r
+public:\r
+ static DialBinParser* GetInstance(void);\r
+ bool UpdateDial(const std::string& file, FILE* fp, DialViewGroup* group);\r
+ bool GetDialPreviewInfo(FILE* fp, DialPreviewInfo* info);\r
+\r
+protected:\r
+ int32_t ParseDialHeader(FILE* file);\r
+ int32_t ParserDialStaticImg(FILE* fp);\r
+ int32_t ParserDialSequenceImg(FILE* fp);\r
+ int32_t ParserDialRotateImg(FILE* fp);\r
+ int32_t ParserDialOptionImg(FILE* fp);\r
+ int32_t ParserDialDigitalImg(FILE* fp);\r
+ int32_t ParserDialLabel(FILE* fp);\r
+ int32_t ParserDialArcLabel(FILE* fp);\r
+ int32_t ParserDialBoxProgress(FILE* fp);\r
+ int32_t ParserDialArcProgress(FILE* fp);\r
+ int32_t ParserDialVideo(FILE* fp);\r
+ int32_t ParserDialClick(FILE* fp);\r
+ int32_t ParserDialKaleidoscope(FILE* fp);\r
+\r
+private:\r
+ DialBinParser();\r
+ virtual ~DialBinParser();\r
+ void* MallocAndReadBuf(FILE* file, uint32_t readSize);\r
+ bool SetProgressType(FILE* fp, UIAbstractProgress* view, DialProgressType data);\r
+\r
+ static constexpr uint8_t DIAL_BIN_PARSER_FUNC_NUM = 12; // 12: func max value\r
+ int32_t (DialBinParser::*funcArray_[DIAL_BIN_PARSER_FUNC_NUM])(FILE*);\r
+\r
+ DialViewGroup* dialGroup_ = nullptr;\r
+ std::string file_;\r
+ uint32_t dirId_ = 0xfef << 20; // 20: offset\r
+ uint32_t imageOffset_ = 0;\r
+};\r
+}\r
+#endif\r
DialRect rect;\r
uint32_t offset;\r
Color32 colorKey;\r
+ uint32_t imgId;\r
};\r
\r
struct DialClick {\r
VOLUMEDRAG = 2,
} VolumeChangeStatus;
+class VolumeSettingView;
class VolumeSliderEventListener : public UISlider::UISliderEventListener,
public UIView::OnClickListener,
public UIView::OnDragListener {
public:
- VolumeSliderEventListener();
+ VolumeSliderEventListener(VolumeSettingView *volumeSetting);
~VolumeSliderEventListener();
static VolumeSliderEventListener *GetInstance();
void OnChange(int32_t progress) override;
private:
int16_t preSound{0};
int16_t playerCoefficients{0};
+ VolumeSettingView *volumeSettingView{nullptr};
};
} // namespace OHOS
#endif
public:
VolumeSettingView();
~VolumeSettingView();
- static VolumeSettingView *GetInstance(void);
int16_t sounding{0};
UISlider *GetProgress(void);
bool SetUpVolume(void);
UIButton *GetIncreaseButton(void);
UIButton *GetDecreaseButton(void);
- int get_progress_vlaue()
- {
- return progress->GetValue();
- }
+ VolumeSliderEventListener *GetVolumeEventListener(void);
private:
VolumeSliderEventListener *listener{nullptr};
UISlider *progress{nullptr};
extern "C" {
#endif
-static VolumeSliderEventListener *g_pVolumeSliderEventListener = nullptr;
-
constexpr int16_t SOUND_CHANGE = 10;
-VolumeSliderEventListener::VolumeSliderEventListener()
+VolumeSliderEventListener::VolumeSliderEventListener(VolumeSettingView *volumeSetting) : volumeSettingView(volumeSetting)
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "VolumeSliderEventListener new");
- g_pVolumeSliderEventListener = this;
}
VolumeSliderEventListener::~VolumeSliderEventListener()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "VolumeSliderEventListener::~VolumeSliderEventListener");
- g_pVolumeSliderEventListener = nullptr;
-}
-
-VolumeSliderEventListener *VolumeSliderEventListener::GetInstance()
-{
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "VolumeSliderEventListener GetInstance");
- return g_pVolumeSliderEventListener;
}
bool VolumeSliderEventListener::OnClick(UIView& view, const ClickEvent& event)
void VolumeSliderEventListener::ChangeVolume(VolumeChangeStatus status)
{
ImageInfo *image;
- VolumeSettingView *volumeSettingView = VolumeSettingView::GetInstance();
- if (volumeSettingView == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnClick:volumeSettingView new fail");
- return;
- }
UISlider *progress = volumeSettingView->GetProgress();
if (progress == nullptr) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnClick:progress new fail");
preSound = volumeSettingView->sounding;
if (status == VOLUMEUP) {
- volumeSettingView->sounding = progress->GetValue() + SOUND_CHANGE;
+ volumeSettingView->sounding = progress->GetValue() + SOUND_CHANGE;
if (volumeSettingView->sounding > VOLUME_MAX) {
volumeSettingView->sounding = VOLUME_MAX;
}
BtAndLocalVolumeSet(volumeSettingView->sounding);
}
if (playerCoefficients == VOLUMEPHONE || playerCoefficients == VOLUMEPHONENOTIFY) {
- unsigned char volumeValue;
- volumeValue = (unsigned char) ((double) (volumeSettingView->sounding * CALL_VOLUME_MAX) / (VOLUME_MAX - VOLUME_MIN)); // 音量转换
+ unsigned char volumeValue = (unsigned char) ((double) (volumeSettingView->sounding * CALL_VOLUME_MAX) / (VOLUME_MAX - VOLUME_MIN)); // 音量转换
SetSpeakerVolume(volumeValue);
}
}
extern BtAvrcpTgInf g_avrcp_srv_inf;
void VolumeSliderEventListener::BtAndLocalVolumeSet(int16_t sounding)
{
- WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "BtAndLocalVolumeSet %d", sounding);
if (g_avrcp_srv_inf.avrcp_srv_conn_stat == PROFILE_STATE_CONNECTED) {
uint8_t volume = sounding * AVRCP_ABSOLUTE_VOLUME_PERCENTAGE_100 / 100; // 100:本地音量最大值
- WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "volume 0x%x", volume);
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "avrcp volume = %d", volume);
(void)avrcp_ct_set_absolute_volume(&(g_avrcp_srv_inf.bd_addr), volume); // 手表音量设置同步远端BT音量
- } else {
- AudioManager::GetInstance().SetVolume(AUDIO_STREAM_MUSIC, sounding); // 本地音量设置
}
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "audio volume = %d", sounding);
+ AudioManager::GetInstance().SetVolume(AUDIO_STREAM_MUSIC, sounding); // 本地音量设置
}
void VolumeSliderEventListener::OnRelease(int32_t value)
bool VolumeSliderEventListener::OnDrag(UIView& view, const DragEvent& event)
{
- VolumeSettingView *volumeSettingView = VolumeSettingView::GetInstance();
- if (volumeSettingView == nullptr) {
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "OnDrag::volumeSettingView new fail");
- return false;
- }
if (strcmp(view.GetViewId(), VOLUME_VIEW) == 0) {
if (event.GetDragDirection() == DragEvent::DIRECTION_LEFT_TO_RIGHT) {
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "VolumeSliderEventListener::OnDrag");
#ifdef __cplusplus
}
#endif
-}
+}
\ No newline at end of file
#include "ui_resource_image.h"
namespace OHOS {
-static VolumeSettingView *g_pVolumeSettingView{nullptr};
static constexpr uint16_t BUTTON_X = 182;
static constexpr uint16_t BUTTON_Y = 0;
static constexpr uint16_t BUTTON_Y2 = 363;
VolumeSettingView::VolumeSettingView()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "VolumeSettingView::VolumeSettingView");
- g_pVolumeSettingView = this;
}
VolumeSettingView::~VolumeSettingView()
{
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "VolumeSettingView::~VolumeSettingView");
RemoveAll();
-
- UIView::OnClickListener *click = increaseButton->GetOnClickListener();
- if (click != nullptr) {
- delete click;
- click = nullptr;
+ if (listener != nullptr) {
+ delete listener;
+ listener = nullptr;
}
delete increaseButton;
increaseButton = nullptr;
delete progress;
progress = nullptr;
-
- g_pVolumeSettingView = nullptr;
-}
-
-VolumeSettingView *VolumeSettingView::GetInstance(void)
-{
- return g_pVolumeSettingView;
}
bool VolumeSettingView::SetUpVolume(void)
progress->SetRange(VOLUME_MAX, VOLUME_MIN);
if (listener == nullptr) {
- listener = new VolumeSliderEventListener();
+ listener = new VolumeSliderEventListener(this);
if (listener == nullptr) {
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "listener new fail");
return false;
progress->SetOnClickListener(listener);
progress->SetOnDragListener(listener);
progress->SetKnobStyle(StyleDefault::GetSliderKnobStyle());
- UIView::OnDragListener *volDragListener = (UIView::OnDragListener *)OHOS::VolumeSliderEventListener::GetInstance();
SetViewId(VOLUME_VIEW);
- SetOnDragListener(volDragListener);
+ SetOnDragListener(listener);
SetDraggable(true);
SetTouchable(true);
Add(progress);
int VolumeSettingView::ShowVolume(void)
{
ImageInfo *image;
- UIView::OnClickListener *clickListener = (UIView::OnClickListener *)OHOS::VolumeSliderEventListener::GetInstance();
if (increaseButton == nullptr) {
increaseButton = new UIButton();
if (increaseButton == nullptr) {
increaseButton->SetViewId(INCREASE_BUTTON);
image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_INCREASE_BUTTON, PLAYER_IAMGES);
increaseButton->SetImageSrc(image, image);
- increaseButton->SetOnClickListener(clickListener);
+ increaseButton->SetOnClickListener(listener);
Add(increaseButton);
if (decreaseButton == nullptr) {
decreaseButton->SetViewId(DECREASE_BUTTON);
image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_DECREASE_BUTTON, PLAYER_IAMGES);
decreaseButton->SetImageSrc(image, image);
- decreaseButton->SetOnClickListener(clickListener);
+ decreaseButton->SetOnClickListener(listener);
Add(decreaseButton);
return VOLUME_OK;
}
+
+VolumeSliderEventListener *VolumeSettingView::GetVolumeEventListener(void)
+{
+ return listener;
+}
+
}
strcmp(view.GetViewId(), VOC_ID) == 0) { // 语音助手右滑退出
int phoneStatus = VocassistModel::GetInstance()->GetPhoneDetailStatus(); // 扫描设置此时通话的状态和个数
if (phoneStatus == ONE_ROAD_AND_INCOMING) {
- NativeAbility::GetInstance().ChangeSlice(VIEW_MAEKPHONE_SAMPLE);
+ NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL);
} else {
NativeAbility::GetInstance().ChangeSlice(VIEW_APPLIST);
}
if (quitStatus == CONTINUTE_EXIT_MODE1) {\r
int phoneStatus = VocassistModel::GetInstance()->GetPhoneDetailStatus(); // 扫描设置此时通话的状态和个数\r
if (phoneStatus == ONE_ROAD_AND_INCOMING) {\r
- NativeAbility::GetInstance().ChangeSlice(VIEW_MAEKPHONE_SAMPLE); // 返回来电界面\r
+ NativeAbility::GetInstance().ChangeSlice(VIEW_INCOMING_CALL); // 返回来电界面\r
return;\r
}\r
WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "Too long no operate, now exit vocassist");\r
void PlayerModelButtonOnClick();\r
void OptionsButtonOnClick();\r
PlayersCaseListAdapter *m_PlayersCaseListAdapter{nullptr};\r
- VolumeSettingView *volumeSetting{nullptr};\r
- UIViewGroup *volumeSettingView{nullptr};\r
+ VolumeSettingView *volumeSettingView{nullptr};\r
};\r
\r
// 播放器回调\r
\r
void ButtonOnClickListener::SoundButtonOnClick()\r
{\r
+ \r
PlayersView *playersView = PlayersView::GetInstance();\r
if (playersView == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundButtonOnClick playersView nullptr err");\r
return;\r
}\r
if (volumeSettingView == nullptr) {\r
- volumeSetting = new VolumeSettingView();\r
- if (volumeSetting == nullptr) {\r
+ volumeSettingView = new VolumeSettingView();\r
+ if (volumeSettingView == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "volumeSetting nullptr err");\r
return;\r
}\r
- if (volumeSetting->SetUpVolume() == false) {\r
+ if (!volumeSettingView->SetUpVolume()) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "volumeSetting SetUpVolume fail");\r
return;\r
}\r
- volumeSetting->GetProgress()->SetValue(AudioManager::GetInstance().GetVolume(AUDIO_STREAM_MUSIC));\r
- if (AudioManager::GetInstance().GetVolume(AUDIO_STREAM_MUSIC) == 0) {\r
- ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_MUTE_BUTTON, PLAYER_IAMGES);\r
- volumeSetting->GetDecreaseButton()->SetImageSrc(image, image);\r
- }\r
- volumeSettingView = volumeSetting;\r
RootView::GetInstance()->Add(volumeSettingView);\r
}\r
- VolumeSliderEventListener *volumeSliderEventListener = VolumeSliderEventListener::GetInstance();\r
+ int32_t volume = AudioManager::GetInstance().GetVolume(AUDIO_STREAM_MUSIC);\r
+ WEARABLE_LOGI(WEARABLE_LOG_MODULE_APP, "current volume = %d", volume);\r
+ volumeSettingView->GetProgress()->SetValue(volume);\r
+ if (volume == 0) {\r
+ ImageInfo *image = ImageCacheManager::GetInstance().LoadOneInMultiRes(PLAYER_MUTE_BUTTON, PLAYER_IAMGES);\r
+ volumeSettingView->GetDecreaseButton()->SetImageSrc(image, image);\r
+ }\r
+ VolumeSliderEventListener *volumeSliderEventListener = volumeSettingView->GetVolumeEventListener();\r
if (volumeSliderEventListener == nullptr) {\r
WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SoundButtonOnClick volumeSliderEventListener nullptr err");\r
return;\r
volumeSettingView->SetVisible(true);\r
// 刷新UI\r
RootView::GetInstance()->Invalidate();\r
+\r
}\r
\r
void ButtonOnClickListener::OptionsButtonOnClick()\r
//获取震动强度
int SoundAndVibrationModel::GetVibrationReminderToggleButtonStaus()
{
- ConfigModel::GetInstance()->GetVibrationReminder();
+ return ConfigModel::GetInstance()->GetVibrationReminder();
}
/// @brief 设置“静音模式”是否开启
#include "takephotos/include/TakephotosView.h"
#include "takephotos/include/TakephotosModel.h"
#include "NativeAbility.h"
+#include "AppViewIDs.h"
#include "bleEvent.h"
extern "C" errcode_t uapi_get_timestampe_ms(uint32_t *tm);
return UIResourceTextId::STR_ULTRA_HIGH_STRENGTH;
break;
default:
+ return UIResourceTextId::STR_LOWER_STRENGTH;
break;
}
}
char file_path[MAX_FILE_PATH_LENGTH] = {0};
char timeday[12] = {0};
uapi_get_YYMMDD_Time(timeday, '_');
- sprintf_s(file_path, sizeof(file_path), "%s%s.bin", TRAINING_PATH, timeday); //防止越界
+ sprintf_s(file_path, sizeof(file_path), "%s%s.bin", TRAINING_PATH, timeday); // 防止越界
// Check if the directory exists, if not, create it
struct stat st = {0};
Trainingdata *read_Trainingdata_data(char *timedata, uint16_t offset)
{
char file_path[128] = {0};
- sprintf_s(file_path, sizeof(file_path), "%s%s.bin", TRAINING_PATH, timedata); //防止越界
+ sprintf_s(file_path, sizeof(file_path), "%s%s.bin", TRAINING_PATH, timedata); // 防止越界
FILE *fp = fopen(file_path, "rb+");
Trainingdata *data = (Trainingdata *)malloc(sizeof(Trainingdata));
cJSON *root = cJSON_Parse(jsonData.c_str());
cJSON *dataArray = cJSON_GetObjectItem(root, "data");
- int dataCount = cJSON_GetArraySize(dataArray); //获取数组大小
+ int dataCount = cJSON_GetArraySize(dataArray); // 获取数组大小
SportData *sportDataArray = new SportData[dataCount];
for (int i = 0; i < dataCount; i++)