• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef POWERMGR_POWER_MANAGER_SETTING_HELPER_H
17 #define POWERMGR_POWER_MANAGER_SETTING_HELPER_H
18 
19 #include <cstdint>
20 #include <string>
21 
22 #include "setting_provider.h"
23 
24 namespace OHOS {
25 namespace PowerMgr {
26 class SettingHelper {
27 public:
28     enum class SwitchStatus : int32_t {
29         INVALID = -1,
30         DISABLE = 0,
31         ENABLE = 1,
32     };
33     static void UpdateCurrentUserId();
34 #ifdef POWER_WAKEUPDOUBLE_OR_PICKUP_ENABLE
35     static void CopyDataForUpdateScene();
36 #endif
37     static bool IsDisplayOffTimeSettingValid();
38     static int64_t GetSettingDisplayOffTime(int64_t defaultVal);
39     static void SetSettingDisplayOffTime(int64_t time);
40     static sptr<SettingObserver> RegisterSettingDisplayOffTimeObserver(SettingObserver::UpdateFunc& func);
41     static bool IsAutoAdjustBrightnessSettingValid();
42     static int32_t GetSettingAutoAdjustBrightness(int32_t defaultVal);
43     static void SetSettingAutoAdjustBrightness(SwitchStatus status);
44     static sptr<SettingObserver> RegisterSettingAutoAdjustBrightnessObserver(SettingObserver::UpdateFunc& func);
45     static bool IsBrightnessSettingValid();
46     static void SetSettingBrightness(int32_t brightness);
47     static bool IsVibrationSettingValid();
48     static int32_t GetSettingVibration(int32_t defaultVal);
49     static void SetSettingVibration(SwitchStatus status);
50     static sptr<SettingObserver> RegisterSettingVibrationObserver(SettingObserver::UpdateFunc& func);
51     static bool IsWindowRotationSettingValid();
52     static int32_t GetSettingWindowRotation(int32_t defaultVal);
53     static void SetSettingWindowRotation(SwitchStatus status);
54     static sptr<SettingObserver> RegisterSettingWindowRotationObserver(SettingObserver::UpdateFunc& func);
55     static bool IsIntellVoiceSettingValid();
56     static int32_t GetSettingIntellVoice(int32_t defaultVal);
57     static void SetSettingIntellVoice(SwitchStatus status);
58     static sptr<SettingObserver> RegisterSettingIntellVoiceObserver(SettingObserver::UpdateFunc& func);
59     static sptr<SettingObserver> RegisterSettingSuspendSourcesObserver(SettingObserver::UpdateFunc& func);
60     static bool IsSuspendSourcesSettingValid();
61     static const std::string GetSettingSuspendSources();
62     static void SetSettingSuspendSources(const std::string& jsonConfig);
63     static sptr<SettingObserver> RegisterSettingWakeupSourcesObserver(SettingObserver::UpdateFunc& func);
64     static bool IsWakeupSourcesSettingValid();
65     static const std::string GetSettingWakeupSources();
66     static void SetSettingWakeupSources(const std::string& jsonConfig);
67     static bool IsWakeupDoubleSettingValid();
68     static bool GetSettingWakeupDouble(const std::string& key = SETTING_POWER_WAKEUP_DOUBLE_KEY);
69     static void SetSettingWakeupDouble(bool enable);
70     static void RegisterSettingWakeupDoubleObserver(SettingObserver::UpdateFunc& func);
71     static void UnregisterSettingWakeupDoubleObserver();
72     static bool IsWakeupPickupSettingValid();
73     static bool GetSettingWakeupPickup(const std::string& key = SETTING_POWER_WAKEUP_PICKUP_KEY);
74     static void SetSettingWakeupPickup(bool enable);
75     static void RegisterSettingWakeupPickupObserver(SettingObserver::UpdateFunc& func);
76     static void UnregisterSettingWakeupPickupObserver();
77     static void UnregisterSettingObserver(sptr<SettingObserver>& observer);
78     static void SaveCurrentMode(int32_t mode);
79     static int32_t ReadCurrentMode(int32_t defaultMode);
80     static const std::string ReadPowerModeRecoverMap();
81     static void SavePowerModeRecoverMap(const std::string &jsonConfig);
82     static void RegisterSettingPowerModeObserver(SettingObserver::UpdateFunc& func);
83     static void UnRegisterSettingPowerModeObserver();
84     static void RegisterSettingWakeupLidObserver(SettingObserver::UpdateFunc& func);
85     static void UnRegisterSettingWakeupLidObserver();
86     static bool GetSettingWakeupLid(const std::string& key = SETTING_POWER_WAKEUP_LID_KEY);
87     static void SetSettingWakeupLid(bool enable);
88     static bool IsWakeupLidSettingValid();
89 
90 private:
91     static constexpr const char* SETTING_DISPLAY_OFF_TIME_KEY {"settings.display.screen_off_timeout"};
92     static constexpr const char* SETTING_AUTO_ADJUST_BRIGHTNESS_KEY {"settings.display.auto_screen_brightness"};
93     static constexpr const char* SETTING_BRIGHTNESS_KEY {"settings.display.screen_brightness_status"};
94     static constexpr const char* SETTING_VIBRATION_KEY {"physic_navi_haptic_feedback_enabled"};
95     static constexpr const char* SETTING_WINDOW_ROTATION_KEY {"settings.general.accelerometer_rotation_status"};
96     static constexpr const char* SETTING_POWER_SUSPEND_SOURCES_KEY {"settings.power.suspend_sources"};
97     static constexpr const char* SETTING_POWER_WAKEUP_SOURCES_KEY {"settings.power.wakeup_sources"};
98     static constexpr const char* SETTING_INTELL_VOICE_KEY {"intell_voice_trigger_enabled"};
99     static constexpr const char* SETTING_POWER_WAKEUP_DOUBLE_KEY {"settings.power.wakeup_double_click"};
100     static constexpr const char* SETTING_POWER_WAKEUP_PICKUP_KEY {"settings.power.wakeup_pick_up"};
101     static constexpr const char* SETTING_POWER_MODE_KEY {"settings.power.smart_mode_status"};
102     static constexpr const char* SETTING_POWER_MODE_BACKUP_KEY {"settings.power.smart_mode_status.backup"};
103     static constexpr const char* SETTING_POWER_WAKEUP_LID_KEY {"settings.power.wakeup_lid"};
104     static sptr<SettingObserver> doubleClickObserver_;
105     static sptr<SettingObserver> pickUpObserver_;
106     static sptr<SettingObserver> powerModeObserver_;
107     static sptr<SettingObserver> lidObserver_;
108 };
109 } // namespace PowerMgr
110 } // namespace OHOS
111 
112 #endif // POWERMGR_POWER_MANAGER_SETTING_HELPER_H
113