index.uts 1.6 KB
Newer Older
DCloud-yyl's avatar
DCloud-yyl 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
import { OnOsThemeChange, OnOsThemeChangeCallback, OffOsThemeChange, SetAppTheme, SetAppThemeOptions, SetAppThemeSuccessResult, OnAppThemeChangeCallback, OnAppThemeChange, OffAppThemeChange, OsThemeChangeResult, AppThemeChangeResult} from "../interface.uts";
import { AppThemeFailImpl } from '../unierror.uts';


export const onOsThemeChange: OnOsThemeChange = function(callback : OnOsThemeChangeCallback): number{
	return UTSAndroid.onOsThemeChanged(function(res: UTSJSONObject) {
		let result = {
			osTheme : res["osTheme"] as string
		} as OsThemeChangeResult
		callback(result)
	})
}

export const offOsThemeChange: OffOsThemeChange = function(id: number) {
	UTSAndroid.offOsThemeChanged(id)
}

export const setAppTheme: SetAppTheme = function(options : SetAppThemeOptions) {
	if(options.theme == "auto" || options.theme == "dark" || options.theme == "light") {
		UTSAndroid.setAppTheme(options.theme)
		let result = {
			theme : options.theme
		} as SetAppThemeSuccessResult
		options.success?.(result)
		options.complete?.(result)
	} else {
		let error = new AppThemeFailImpl(702001)
		options.fail?.(error)
		options.complete?.(error)
	}
	
}

export const onAppThemeChange: OnAppThemeChange = function(callback : OnAppThemeChangeCallback): number{
	return UTSAndroid.onAppThemeChanged(function(res: UTSJSONObject) {
		let result = {
			appTheme : res["appTheme"] as string
		} as AppThemeChangeResult
		callback(result)
	})
}

export const offAppThemeChange: OffAppThemeChange = function(id: number) {
	UTSAndroid.offAppThemeChanged(id)
}