1db372d24Sopenharmony_ci/* 2db372d24Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 3db372d24Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4db372d24Sopenharmony_ci * you may not use this file except in compliance with the License. 5db372d24Sopenharmony_ci * You may obtain a copy of the License at 6db372d24Sopenharmony_ci * 7db372d24Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8db372d24Sopenharmony_ci * 9db372d24Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10db372d24Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11db372d24Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12db372d24Sopenharmony_ci * See the License for the specific language governing permissions and 13db372d24Sopenharmony_ci * limitations under the License. 14db372d24Sopenharmony_ci */ 15db372d24Sopenharmony_ci 16db372d24Sopenharmony_ci#include "ui_appearance_ability_proxy.h" 17db372d24Sopenharmony_ci 18db372d24Sopenharmony_ci#include <string> 19db372d24Sopenharmony_ci#include "message_parcel.h" 20db372d24Sopenharmony_ci#include "ui_appearance_ipc_interface_code.h" 21db372d24Sopenharmony_ci#include "ui_appearance_log.h" 22db372d24Sopenharmony_ci 23db372d24Sopenharmony_cinamespace OHOS { 24db372d24Sopenharmony_cinamespace ArkUi::UiAppearance { 25db372d24Sopenharmony_ciint32_t UiAppearanceAbilityProxy::SetDarkMode(UiAppearanceAbilityInterface::DarkMode mode) 26db372d24Sopenharmony_ci{ 27db372d24Sopenharmony_ci MessageParcel data, reply; 28db372d24Sopenharmony_ci MessageOption option; 29db372d24Sopenharmony_ci 30db372d24Sopenharmony_ci if (!data.WriteInterfaceToken(GetDescriptor())) { 31db372d24Sopenharmony_ci LOGE("Write descriptor failed!"); 32db372d24Sopenharmony_ci return SYS_ERR; 33db372d24Sopenharmony_ci } 34db372d24Sopenharmony_ci if (!data.WriteInt32(mode)) { 35db372d24Sopenharmony_ci LOGE("Write mode failed!"); 36db372d24Sopenharmony_ci return SYS_ERR; 37db372d24Sopenharmony_ci } 38db372d24Sopenharmony_ci 39db372d24Sopenharmony_ci auto res = 40db372d24Sopenharmony_ci Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::SET_DARK_MODE), data, reply, option); 41db372d24Sopenharmony_ci if (res != ERR_NONE) { 42db372d24Sopenharmony_ci LOGE("SendRequest failed."); 43db372d24Sopenharmony_ci return SYS_ERR; 44db372d24Sopenharmony_ci } 45db372d24Sopenharmony_ci 46db372d24Sopenharmony_ci return reply.ReadInt32(); 47db372d24Sopenharmony_ci} 48db372d24Sopenharmony_ci 49db372d24Sopenharmony_ciint32_t UiAppearanceAbilityProxy::GetDarkMode() 50db372d24Sopenharmony_ci{ 51db372d24Sopenharmony_ci MessageParcel data, reply; 52db372d24Sopenharmony_ci MessageOption option; 53db372d24Sopenharmony_ci 54db372d24Sopenharmony_ci if (!data.WriteInterfaceToken(GetDescriptor())) { 55db372d24Sopenharmony_ci LOGE("Write descriptor failed!"); 56db372d24Sopenharmony_ci return SYS_ERR; 57db372d24Sopenharmony_ci } 58db372d24Sopenharmony_ci 59db372d24Sopenharmony_ci auto res = 60db372d24Sopenharmony_ci Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::GET_DARK_MODE), data, reply, option); 61db372d24Sopenharmony_ci if (res != ERR_NONE) { 62db372d24Sopenharmony_ci LOGE("SendRequest failed."); 63db372d24Sopenharmony_ci return SYS_ERR; 64db372d24Sopenharmony_ci } 65db372d24Sopenharmony_ci 66db372d24Sopenharmony_ci return reply.ReadInt32(); 67db372d24Sopenharmony_ci} 68db372d24Sopenharmony_ciint32_t UiAppearanceAbilityProxy::SetFontScale(std::string &fontScale) 69db372d24Sopenharmony_ci{ 70db372d24Sopenharmony_ci MessageParcel data, reply; 71db372d24Sopenharmony_ci MessageOption option; 72db372d24Sopenharmony_ci 73db372d24Sopenharmony_ci if (!data.WriteInterfaceToken(GetDescriptor())) { 74db372d24Sopenharmony_ci LOGE("Write descriptor failed!"); 75db372d24Sopenharmony_ci return SYS_ERR; 76db372d24Sopenharmony_ci } 77db372d24Sopenharmony_ci if (!data.WriteString(fontScale)) { 78db372d24Sopenharmony_ci LOGE("Write fontScale failed!"); 79db372d24Sopenharmony_ci return SYS_ERR; 80db372d24Sopenharmony_ci } 81db372d24Sopenharmony_ci 82db372d24Sopenharmony_ci auto res = 83db372d24Sopenharmony_ci Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::SET_FONT_SCALE), data, reply, option); 84db372d24Sopenharmony_ci if (res != ERR_NONE) { 85db372d24Sopenharmony_ci LOGE("SendRequest failed."); 86db372d24Sopenharmony_ci return SYS_ERR; 87db372d24Sopenharmony_ci } 88db372d24Sopenharmony_ci 89db372d24Sopenharmony_ci return reply.ReadInt32(); 90db372d24Sopenharmony_ci} 91db372d24Sopenharmony_ci 92db372d24Sopenharmony_ciint32_t UiAppearanceAbilityProxy::GetFontScale(std::string &fontScale) 93db372d24Sopenharmony_ci{ 94db372d24Sopenharmony_ci MessageParcel data, reply; 95db372d24Sopenharmony_ci MessageOption option; 96db372d24Sopenharmony_ci 97db372d24Sopenharmony_ci if (!data.WriteInterfaceToken(GetDescriptor())) { 98db372d24Sopenharmony_ci LOGE("Write descriptor failed!"); 99db372d24Sopenharmony_ci return SYS_ERR; 100db372d24Sopenharmony_ci } 101db372d24Sopenharmony_ci 102db372d24Sopenharmony_ci auto res = 103db372d24Sopenharmony_ci Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::GET_FONT_SCALE), data, reply, option); 104db372d24Sopenharmony_ci if (res != ERR_NONE) { 105db372d24Sopenharmony_ci LOGE("SendRequest failed."); 106db372d24Sopenharmony_ci return SYS_ERR; 107db372d24Sopenharmony_ci } 108db372d24Sopenharmony_ci 109db372d24Sopenharmony_ci res = reply.ReadInt32(); 110db372d24Sopenharmony_ci 111db372d24Sopenharmony_ci if (!reply.ReadString(fontScale)) { 112db372d24Sopenharmony_ci LOGE("Read FontScale failed!"); 113db372d24Sopenharmony_ci return SYS_ERR; 114db372d24Sopenharmony_ci } 115db372d24Sopenharmony_ci 116db372d24Sopenharmony_ci return res; 117db372d24Sopenharmony_ci} 118db372d24Sopenharmony_ci 119db372d24Sopenharmony_ciint32_t UiAppearanceAbilityProxy::SetFontWeightScale(std::string& fontWeightScale) 120db372d24Sopenharmony_ci{ 121db372d24Sopenharmony_ci MessageParcel data, reply; 122db372d24Sopenharmony_ci MessageOption option; 123db372d24Sopenharmony_ci 124db372d24Sopenharmony_ci if (!data.WriteInterfaceToken(GetDescriptor())) { 125db372d24Sopenharmony_ci LOGE("Write descriptor failed!"); 126db372d24Sopenharmony_ci return SYS_ERR; 127db372d24Sopenharmony_ci } 128db372d24Sopenharmony_ci if (!data.WriteString(fontWeightScale)) { 129db372d24Sopenharmony_ci LOGE("Write fontScale failed!"); 130db372d24Sopenharmony_ci return SYS_ERR; 131db372d24Sopenharmony_ci } 132db372d24Sopenharmony_ci 133db372d24Sopenharmony_ci auto res = 134db372d24Sopenharmony_ci Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::SET_FONT_Weight_SCALE), 135db372d24Sopenharmony_ci data, reply, option); 136db372d24Sopenharmony_ci if (res != ERR_NONE) { 137db372d24Sopenharmony_ci LOGE("SendRequest failed."); 138db372d24Sopenharmony_ci return SYS_ERR; 139db372d24Sopenharmony_ci } 140db372d24Sopenharmony_ci 141db372d24Sopenharmony_ci return reply.ReadInt32(); 142db372d24Sopenharmony_ci} 143db372d24Sopenharmony_ci 144db372d24Sopenharmony_ciint32_t UiAppearanceAbilityProxy::GetFontWeightScale(std::string &fontWeightScale) 145db372d24Sopenharmony_ci{ 146db372d24Sopenharmony_ci MessageParcel data, reply; 147db372d24Sopenharmony_ci MessageOption option; 148db372d24Sopenharmony_ci 149db372d24Sopenharmony_ci if (!data.WriteInterfaceToken(GetDescriptor())) { 150db372d24Sopenharmony_ci LOGE("##lmz Write descriptor failed!"); 151db372d24Sopenharmony_ci return SYS_ERR; 152db372d24Sopenharmony_ci } 153db372d24Sopenharmony_ci 154db372d24Sopenharmony_ci auto res = 155db372d24Sopenharmony_ci Remote()->SendRequest(static_cast<uint32_t>(UiAppearanceInterfaceCode::GET_FONT_Weight_SCALE), 156db372d24Sopenharmony_ci data, reply, option); 157db372d24Sopenharmony_ci if (res != ERR_NONE) { 158db372d24Sopenharmony_ci LOGE("SendRequest failed."); 159db372d24Sopenharmony_ci return SYS_ERR; 160db372d24Sopenharmony_ci } 161db372d24Sopenharmony_ci 162db372d24Sopenharmony_ci res = reply.ReadInt32(); 163db372d24Sopenharmony_ci 164db372d24Sopenharmony_ci if (!reply.ReadString(fontWeightScale)) { 165db372d24Sopenharmony_ci LOGE("Read FontScale failed!"); 166db372d24Sopenharmony_ci return SYS_ERR; 167db372d24Sopenharmony_ci } 168db372d24Sopenharmony_ci 169db372d24Sopenharmony_ci return res; 170db372d24Sopenharmony_ci} 171db372d24Sopenharmony_ci} // namespace ArkUi::UiAppearance 172db372d24Sopenharmony_ci} // namespace OHOS 173