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 #include "ui_appearance_ability_proxy.h"
17
18 #include <string>
19 #include "message_parcel.h"
20 #include "ui_appearance_ipc_interface_code.h"
21 #include "ui_appearance_log.h"
22
23 namespace OHOS {
24 namespace ArkUi::UiAppearance {
SetDarkMode(UiAppearanceAbilityInterface::DarkMode mode)25 int32_t UiAppearanceAbilityProxy::SetDarkMode(UiAppearanceAbilityInterface::DarkMode mode)
26 {
27 MessageParcel data, reply;
28 MessageOption option;
29
30 if (!data.WriteInterfaceToken(GetDescriptor())) {
31 LOGE("Write descriptor failed!");
32 return SYS_ERR;
33 }
34 if (!data.WriteInt32(mode)) {
35 LOGE("Write mode failed!");
36 return SYS_ERR;
37 }
38
39 auto res =
40 Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::SET_DARK_MODE), data, reply, option);
41 if (res != ERR_NONE) {
42 LOGE("SendRequest failed.");
43 return SYS_ERR;
44 }
45
46 return reply.ReadInt32();
47 }
48
GetDarkMode()49 int32_t UiAppearanceAbilityProxy::GetDarkMode()
50 {
51 MessageParcel data, reply;
52 MessageOption option;
53
54 if (!data.WriteInterfaceToken(GetDescriptor())) {
55 LOGE("Write descriptor failed!");
56 return SYS_ERR;
57 }
58
59 auto res =
60 Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::GET_DARK_MODE), data, reply, option);
61 if (res != ERR_NONE) {
62 LOGE("SendRequest failed.");
63 return SYS_ERR;
64 }
65
66 return reply.ReadInt32();
67 }
SetFontScale(std::string &fontScale)68 int32_t UiAppearanceAbilityProxy::SetFontScale(std::string &fontScale)
69 {
70 MessageParcel data, reply;
71 MessageOption option;
72
73 if (!data.WriteInterfaceToken(GetDescriptor())) {
74 LOGE("Write descriptor failed!");
75 return SYS_ERR;
76 }
77 if (!data.WriteString(fontScale)) {
78 LOGE("Write fontScale failed!");
79 return SYS_ERR;
80 }
81
82 auto res =
83 Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::SET_FONT_SCALE), data, reply, option);
84 if (res != ERR_NONE) {
85 LOGE("SendRequest failed.");
86 return SYS_ERR;
87 }
88
89 return reply.ReadInt32();
90 }
91
GetFontScale(std::string &fontScale)92 int32_t UiAppearanceAbilityProxy::GetFontScale(std::string &fontScale)
93 {
94 MessageParcel data, reply;
95 MessageOption option;
96
97 if (!data.WriteInterfaceToken(GetDescriptor())) {
98 LOGE("Write descriptor failed!");
99 return SYS_ERR;
100 }
101
102 auto res =
103 Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::GET_FONT_SCALE), data, reply, option);
104 if (res != ERR_NONE) {
105 LOGE("SendRequest failed.");
106 return SYS_ERR;
107 }
108
109 res = reply.ReadInt32();
110
111 if (!reply.ReadString(fontScale)) {
112 LOGE("Read FontScale failed!");
113 return SYS_ERR;
114 }
115
116 return res;
117 }
118
SetFontWeightScale(std::string& fontWeightScale)119 int32_t UiAppearanceAbilityProxy::SetFontWeightScale(std::string& fontWeightScale)
120 {
121 MessageParcel data, reply;
122 MessageOption option;
123
124 if (!data.WriteInterfaceToken(GetDescriptor())) {
125 LOGE("Write descriptor failed!");
126 return SYS_ERR;
127 }
128 if (!data.WriteString(fontWeightScale)) {
129 LOGE("Write fontScale failed!");
130 return SYS_ERR;
131 }
132
133 auto res =
134 Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::SET_FONT_Weight_SCALE),
135 data, reply, option);
136 if (res != ERR_NONE) {
137 LOGE("SendRequest failed.");
138 return SYS_ERR;
139 }
140
141 return reply.ReadInt32();
142 }
143
GetFontWeightScale(std::string &fontWeightScale)144 int32_t UiAppearanceAbilityProxy::GetFontWeightScale(std::string &fontWeightScale)
145 {
146 MessageParcel data, reply;
147 MessageOption option;
148
149 if (!data.WriteInterfaceToken(GetDescriptor())) {
150 LOGE("##lmz Write descriptor failed!");
151 return SYS_ERR;
152 }
153
154 auto res =
155 Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::GET_FONT_Weight_SCALE),
156 data, reply, option);
157 if (res != ERR_NONE) {
158 LOGE("SendRequest failed.");
159 return SYS_ERR;
160 }
161
162 res = reply.ReadInt32();
163
164 if (!reply.ReadString(fontWeightScale)) {
165 LOGE("Read FontScale failed!");
166 return SYS_ERR;
167 }
168
169 return res;
170 }
171 } // namespace ArkUi::UiAppearance
172 } // namespace OHOS
173