import { OnOsThemeChange, OffOsThemeChange, OnOsThemeChangeCallback, OsThemeChangeResult, SetAppTheme, SetAppThemeOptions, SetAppThemeSuccessResult, OnAppThemeChange, OnAppThemeChangeCallback, AppThemeChangeResult } from '../interface.uts' import { AppThemeFailImpl } from '../unierror.uts' /** * 监听系统主题变化 */ export const onOsThemeChange : OnOsThemeChange = function (callback : OnOsThemeChangeCallback) : number { return UTSiOS.onOsThemeChange((theme : string) : void => { let result : OsThemeChangeResult = { osTheme: theme } callback(result) }) } /** * 取消监听系统主题变化 */ export const offOsThemeChange : OffOsThemeChange = function (id : number) : void { UTSiOS.offOsThemeChange(id) } /** * 设置应用主题 */ export const setAppTheme : SetAppTheme = function (options : SetAppThemeOptions) : void { if (options.theme == 'light' || options.theme == 'dark' || options.theme == 'auto') { UTSiOS.setAppTheme(options.theme) } else { let error = new AppThemeFailImpl(702001) options.fail?.(error) options.complete?.(error) return } let result : SetAppThemeSuccessResult = { theme: options.theme } options.success?.(result) options.complete?.(result) } /** * 监听应用主题变化 */ export const onAppThemeChange: OnAppThemeChange = function (callback: OnAppThemeChangeCallback) : number { return UTSiOS.onAppThemeChange((theme : string) : void => { let result : AppThemeChangeResult = { appTheme: theme } callback(result) }) } /** * 取消监听应用主题变化 */ export const offAppThemeChange = function (id : number) : void { UTSiOS.offAppThemeChange(id) }