From 645834e1c3efb3a8c50dcbda98d87caba04bd421 Mon Sep 17 00:00:00 2001 From: fei.wang <wf18701153496@163.com> Date: 星期三, 13 八月 2025 14:34:02 +0800 Subject: [PATCH] v1.2.8 --- unpackage/dist/build/app-plus/uni_modules/android-utils/utssdk/app-android/src/index.kt | 560 +++++++++++++++++++++++++++++-------------------------- 1 files changed, 292 insertions(+), 268 deletions(-) diff --git a/unpackage/dist/build/app-plus/uni_modules/android-utils/utssdk/app-android/src/index.kt b/unpackage/dist/build/app-plus/uni_modules/android-utils/utssdk/app-android/src/index.kt index cc9d943..23b5115 100644 --- a/unpackage/dist/build/app-plus/uni_modules/android-utils/utssdk/app-android/src/index.kt +++ b/unpackage/dist/build/app-plus/uni_modules/android-utils/utssdk/app-android/src/index.kt @@ -1,43 +1,43 @@ -@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER") -package uts.sdk.modules.androidUtils; -import android.app.AlertDialog; -import android.content.ContentValues; -import android.content.DialogInterface; -import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Color; -import android.graphics.drawable.Drawable; -import android.graphics.drawable.GradientDrawable; -import android.net.Uri; -import android.os.Bundle; -import android.provider.MediaStore; -import android.speech.tts.TextToSpeech; -import android.speech.tts.UtteranceProgressListener; -import android.speech.tts.Voice; -import android.util.Base64; -import android.view.Gravity; -import android.view.WindowManager; -import android.widget.EditText; -import android.widget.TextView; -import android.widget.Toast; -import io.dcloud.uniapp.*; -import io.dcloud.uniapp.extapi.*; -import io.dcloud.uts.*; -import io.dcloud.uts.Map; -import io.dcloud.uts.Set; -import io.dcloud.uts.UTSAndroid; -import java.io.IOException; -import java.io.OutputStream; -import java.lang.System; -import java.util.Objects; -import java.util.UUID; -import kotlin.ByteArray; -import kotlin.Int; -import kotlinx.coroutines.CoroutineScope; -import kotlinx.coroutines.Deferred; -import kotlinx.coroutines.Dispatchers; -import kotlinx.coroutines.async; +@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION") +package uts.sdk.modules.androidUtils +import android.app.AlertDialog +import android.content.ContentValues +import android.content.DialogInterface +import android.content.res.Resources +import android.graphics.Bitmap +import android.graphics.BitmapFactory +import android.graphics.Color +import android.graphics.drawable.Drawable +import android.graphics.drawable.GradientDrawable +import android.net.Uri +import android.os.Bundle +import android.provider.MediaStore +import android.speech.tts.TextToSpeech +import android.speech.tts.UtteranceProgressListener +import android.speech.tts.Voice +import android.util.Base64 +import android.view.Gravity +import android.view.WindowManager +import android.widget.EditText +import android.widget.TextView +import android.widget.Toast +import io.dcloud.uniapp.* +import io.dcloud.uniapp.extapi.* +import io.dcloud.uts.* +import io.dcloud.uts.Map +import io.dcloud.uts.Set +import io.dcloud.uts.UTSAndroid +import java.io.IOException +import java.io.OutputStream +import java.lang.System +import java.util.Objects +import java.util.UUID +import kotlin.ByteArray +import kotlin.Int +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Deferred +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.async open class MyApiOptions ( @JsonNotNull open var paramA: Boolean = false, @@ -53,13 +53,13 @@ @JsonNotNull open var fieldC: String, ) : UTSObject() -typealias MyApiErrorCode = Number; +typealias MyApiErrorCode = Number interface MyApiFail : IUniError { override var errCode: MyApiErrorCode } -typealias MyApi = (options: MyApiOptions) -> Unit; -typealias MyApiSync = (paramA: Boolean) -> MyApiResult; -val UniErrorSubject = "uts-api"; +typealias MyApi = (options: MyApiOptions) -> Unit +typealias MyApiSync = (paramA: Boolean) -> MyApiResult +val UniErrorSubject = "uts-api" val MyAPIErrors: Map<MyApiErrorCode, String> = Map(utsArrayOf( utsArrayOf( 9010001, @@ -69,219 +69,208 @@ 9010002, "custom error mseeage2" ) -)); +)) open class MyApiFailImpl : UniError, MyApiFail { constructor(errCode: MyApiErrorCode) : super() { - this.errSubject = UniErrorSubject; - this.errCode = errCode; - this.errMsg = MyAPIErrors.get(errCode) ?: ""; + this.errSubject = UniErrorSubject + this.errCode = errCode + this.errMsg = MyAPIErrors.get(errCode) ?: "" } } val myApi: MyApi = fun(options: MyApiOptions) { if (options.paramA == true) { - val res = MyApiResult(fieldA = 85, fieldB = true, fieldC = "some message"); - options.success?.invoke(res); - options.complete?.invoke(res); + val res = MyApiResult(fieldA = 85, fieldB = true, fieldC = "some message") + options.success?.invoke(res) + options.complete?.invoke(res) } else { - val err = MyApiFailImpl(9010001); - options.fail?.invoke(err); - options.complete?.invoke(err); + val err = MyApiFailImpl(9010001) + options.fail?.invoke(err) + options.complete?.invoke(err) } } -; val myApiSync: MyApiSync = fun(paramA: Boolean): MyApiResult { - val res = MyApiResult(fieldA = 85, fieldB = paramA, fieldC = "some message"); - return res; + val res = MyApiResult(fieldA = 85, fieldB = paramA, fieldC = "some message") + return res } -; -var mToast: Toast? = null; -var mLastText = ""; -var mLastTime: Number = 0; -var mLastDuration: Number = 0; +var mToast: Toast? = null +var mLastText = "" +var mLastTime: Number = 0 +var mLastDuration: Number = 0 val showToast = fun(text: String) { if (mToast == null) { - mToast = Toast.makeText(UTSAndroid.getAppContext()!!!!, text, Toast.LENGTH_LONG); + mToast = Toast.makeText(UTSAndroid.getAppContext()!!!!, text, Toast.LENGTH_LONG) } else { if (Objects.equals(text, mLastText) && System.currentTimeMillis() - mLastTime < mLastDuration) { - return; + return } - mToast!!!!.cancel(); - mToast = Toast.makeText(UTSAndroid.getAppContext()!!!!, text, Toast.LENGTH_SHORT); - mLastDuration = Toast.LENGTH_LONG; - mLastTime = System.currentTimeMillis(); - mLastText = text; + mToast!!!!.cancel() + mToast = Toast.makeText(UTSAndroid.getAppContext()!!!!, text, Toast.LENGTH_SHORT) + mLastDuration = Toast.LENGTH_LONG + mLastTime = System.currentTimeMillis() + mLastText = text } - mToast!!!!.setGravity(Gravity.CENTER, 0, 0); - mToast!!!!.show(); + mToast!!!!.setGravity(Gravity.CENTER, 0, 0) + mToast!!!!.show() } -; val showColorToast = fun(text: String, color: String) { - var tv = TextView(UTSAndroid.getAppContext()!!!!); - var b: GradientDrawable = getSoldRadiusBg(Color.parseColor(color), 60); - tv.setBackgroundDrawable(b as Drawable); - var r1 = convertHtmlPxToAndroidPx(20).toInt(); - var r2 = convertHtmlPxToAndroidPx(10).toInt(); - tv.setPadding(r1, r2, r1, r2); - tv.setTextColor(Color.WHITE); - tv.setTextSize(16.toFloat()); - tv.setText(text); + var tv = TextView(UTSAndroid.getAppContext()!!!!) + var b: GradientDrawable = getSoldRadiusBg(Color.parseColor(color), 60) + tv.setBackgroundDrawable(b as Drawable) + var r1 = convertHtmlPxToAndroidPx(20).toInt() + var r2 = convertHtmlPxToAndroidPx(10).toInt() + tv.setPadding(r1, r2, r1, r2) + tv.setTextColor(Color.WHITE) + tv.setTextSize(16.toFloat()) + tv.setText(text) if (mToast == null) { - mToast = Toast(UTSAndroid.getAppContext()!!!!); - mToast!!!!.setView(tv); + mToast = Toast(UTSAndroid.getAppContext()!!!!) + mToast!!!!.setView(tv) } else { if (Objects.equals(text, mLastText) && System.currentTimeMillis() - mLastTime < mLastDuration) { - return; + return } - mToast!!!!.cancel(); - mToast = Toast.makeText(UTSAndroid.getAppContext()!!!!, text, Toast.LENGTH_SHORT); - mToast!!!!.setView(tv); - mLastDuration = Toast.LENGTH_LONG; - mLastTime = System.currentTimeMillis(); - mLastText = text; + mToast!!!!.cancel() + mToast = Toast.makeText(UTSAndroid.getAppContext()!!!!, text, Toast.LENGTH_SHORT) + mToast!!!!.setView(tv) + mLastDuration = Toast.LENGTH_LONG + mLastTime = System.currentTimeMillis() + mLastText = text } - mToast!!!!.setGravity(Gravity.CENTER, 0, 0); - mToast!!!!.show(); + mToast!!!!.setGravity(Gravity.CENTER, 0, 0) + mToast!!!!.show() } -; val showToastButton = fun(text: String) { if (mToast == null) { - mToast = Toast.makeText(UTSAndroid.getAppContext()!!!!, text, Toast.LENGTH_LONG); + mToast = Toast.makeText(UTSAndroid.getAppContext()!!!!, text, Toast.LENGTH_LONG) } else { if (Objects.equals(text, mLastText) && System.currentTimeMillis() - mLastTime < mLastDuration) { - return; + return } - mToast!!!!.cancel(); - mToast = Toast.makeText(UTSAndroid.getAppContext()!!!!, text, Toast.LENGTH_SHORT); - mLastDuration = Toast.LENGTH_LONG; - mLastTime = System.currentTimeMillis(); - mLastText = text; + mToast!!!!.cancel() + mToast = Toast.makeText(UTSAndroid.getAppContext()!!!!, text, Toast.LENGTH_SHORT) + mLastDuration = Toast.LENGTH_LONG + mLastTime = System.currentTimeMillis() + mLastText = text } - mToast!!!!.show(); + mToast!!!!.show() } -; val androidDialog = fun(title: String, msg: String, okText: String, callback: () -> Unit, cancelText: String, callback1: () -> Unit) { open class MyOnClickListener : DialogInterface.OnClickListener { - open var type: Number; + open var type: Number constructor(type: Number){ - this.type = type; + this.type = type } public override fun onClick(dialogInterface: DialogInterface, i: Int) { if (this.type == 0) { - callback(); - dialogInterface.dismiss(); + callback() + dialogInterface.dismiss() } else if (this.type == 1) { - callback1(); - dialogInterface.dismiss(); + callback1() + dialogInterface.dismiss() } } } - var builder: AlertDialog.Builder = AlertDialog.Builder(UTSAndroid.getUniActivity()!!!!); + var builder: AlertDialog.Builder = AlertDialog.Builder(UTSAndroid.getUniActivity()!!!!) if (title != "") { - builder.setTitle(title); + builder.setTitle(title) } - builder.setMessage(msg); - builder.setPositiveButton(okText, MyOnClickListener(0)); + builder.setMessage(msg) + builder.setPositiveButton(okText, MyOnClickListener(0)) if (cancelText != "") { - builder.setNegativeButton(cancelText, MyOnClickListener(1)); + builder.setNegativeButton(cancelText, MyOnClickListener(1)) } - builder.create().show(); + builder.create().show() } -; val isHavePermision = fun(pername: String): Boolean { return UTSAndroid.checkSystemPermissionGranted(UTSAndroid.getUniActivity()!!, utsArrayOf( pername - )); + )) } -; val requestPermison = fun(pername: String, callback: (sth: Boolean) -> Unit) { if (isHavePermision(pername)) { - callback(true); - return; + callback(true) + return } UTSAndroid.requestSystemPermission(UTSAndroid.getUniActivity()!!, utsArrayOf( pername ), fun(_: Boolean, p: UTSArray<String>){ - console.log(p); - callback(true); + console.log(p) + callback(true) } , fun(_: Boolean, p: UTSArray<String>){ - callback(false); - console.log(p); + callback(false) + console.log(p) } - ); + ) } -; val requesMoretPermison = fun(pername: UTSArray<String>, callback: (sth: Boolean) -> Unit) { - var have = true; + var have = true run { - var per: Number = 0; + var per: Number = 0 while(per < pername.length){ if (!isHavePermision(pername[per])) { - have = false; + have = false } - per++; + per++ } } if (have) { - callback(true); - return; + callback(true) + return } - var len = pername.length; + var len = pername.length UTSAndroid.requestSystemPermission(UTSAndroid.getUniActivity()!!, pername, fun(_: Boolean, p: UTSArray<String>){ - console.log(p); + console.log(p) if (p.length == len) { - callback(true); + callback(true) } } , fun(_: Boolean, p: UTSArray<String>){ - console.log(p); - callback(false); + console.log(p) + callback(false) } - ); + ) } -; val saveBase64ToGallery = fun(name: String, base64: String, callback: (sth: Boolean) -> Unit) { if (isHavePermision("android.permission.WRITE_EXTERNAL_STORAGE") && isHavePermision("android.permission.READ_MEDIA_IMAGES")) { - saveBitmap(name, base64, callback); + saveBitmap(name, base64, callback) } else { requesMoretPermison(utsArrayOf( "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.READ_MEDIA_IMAGES" ), fun(state: Boolean) { if (state) { - saveBitmap(name, base64, callback); + saveBitmap(name, base64, callback) } else { - callback(state); + callback(state) } } - ); + ) } } -; val saveBitmap = fun(name: String, base64: String, callback: (sth: Boolean) -> Unit) { - var decode: ByteArray = Base64.decode(base64, Base64.DEFAULT); - var bitmapImage: Bitmap = BitmapFactory.decodeByteArray(decode, 0.toInt(), decode.size); - var contentValues: ContentValues = ContentValues(); - contentValues.put("_display_name", name); - contentValues.put("mime_type", "image/jpeg"); - var uri: Uri? = null; - uri = UTSAndroid.getAppContext()!!!!.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues); + var decode: ByteArray = Base64.decode(base64, Base64.DEFAULT) + var bitmapImage: Bitmap = BitmapFactory.decodeByteArray(decode, 0.toInt(), decode.size) + var contentValues: ContentValues = ContentValues() + contentValues.put("_display_name", name) + contentValues.put("mime_type", "image/jpeg") + var uri: Uri? = null + uri = UTSAndroid.getAppContext()!!!!.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues) try { if (uri != null) { - var outputStream: OutputStream? = null; - outputStream = UTSAndroid.getAppContext()!!!!.getContentResolver()!!!!.openOutputStream(uri!!!!); + var outputStream: OutputStream? = null + outputStream = UTSAndroid.getAppContext()!!!!.getContentResolver()!!!!.openOutputStream(uri!!!!) if (outputStream != null) { - bitmapImage.compress(Bitmap.CompressFormat.JPEG, 100, outputStream!!!!); + bitmapImage.compress(Bitmap.CompressFormat.JPEG, 100, outputStream!!!!) } - callback(true); + callback(true) } } catch (e: IOException) { - e.printStackTrace(); - callback(false); + e.printStackTrace() + callback(false) } } -; open class InputBean ( open var title: String? = null, open var holder: String? = null, @@ -297,265 +286,300 @@ open var cancelCallbackClick: (() -> Unit), ) : UTSObject() val showEditDialog = fun(bean: InputBean) { - var et: EditText = EditText(UTSAndroid.getAppContext()!!!!); + var et: EditText = EditText(UTSAndroid.getAppContext()!!!!) open class MyOnClickListener : DialogInterface.OnClickListener { - open var type: Number; + open var type: Number constructor(type: Number){ - this.type = type; + this.type = type } public override fun onClick(dialogInterface: DialogInterface, i: Int) { if (this.type == 0) { - bean!!.okCallbackClick(et.getText().toString()); - dialogInterface.dismiss(); + bean!!.okCallbackClick(et.getText().toString()) + dialogInterface.dismiss() } else if (this.type == 1) { - bean!!.cancelCallbackClick(); - dialogInterface.dismiss(); + bean!!.cancelCallbackClick() + dialogInterface.dismiss() } } } - var builder: AlertDialog.Builder = AlertDialog.Builder(UTSAndroid.getUniActivity()!!!!); + var builder: AlertDialog.Builder = AlertDialog.Builder(UTSAndroid.getUniActivity()!!!!) if (bean.title != null || bean.title != "") { - builder.setTitle(bean.title); + builder.setTitle(bean.title) } - builder.setPositiveButton(bean.okText, MyOnClickListener(0)); + builder.setPositiveButton(bean.okText, MyOnClickListener(0)) if (bean.cancelText != "") { - builder.setNegativeButton(bean.cancelText, MyOnClickListener(1)); + builder.setNegativeButton(bean.cancelText, MyOnClickListener(1)) } - builder.setView(et); - builder.create(); - builder.show(); + builder.setView(et) + builder.create() + builder.show() } -; val screenShotEnableState = fun(state: Boolean): Unit { open class MyRun : Runnable { override fun run() { if (state) { - UTSAndroid.getUniActivity()!!!!.getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); + UTSAndroid.getUniActivity()!!!!.getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE) } else { - UTSAndroid.getUniActivity()!!!!.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE); + UTSAndroid.getUniActivity()!!!!.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE) } } } - UTSAndroid.getUniActivity()!!!!.runOnUiThread(MyRun()); + UTSAndroid.getUniActivity()!!!!.runOnUiThread(MyRun()) } -; val convertHtmlPxToAndroidPx = fun(htmlPx: Number): Number { - var resources: Resources = UTSAndroid.getAppContext()!!!!.getResources(); - return Math.round(htmlPx * resources.getDisplayMetrics().density); + var resources: Resources = UTSAndroid.getAppContext()!!!!.getResources() + return Math.round(htmlPx * resources.getDisplayMetrics().density) } -; val showImgDialog = fun() { - var builder: AlertDialog.Builder = AlertDialog.Builder(UTSAndroid.getUniActivity()!!!!); - builder.create().show(); + var builder: AlertDialog.Builder = AlertDialog.Builder(UTSAndroid.getUniActivity()!!!!) + builder.create().show() } -; open class AndroidTTSVoice { - open var textToSpeech: TextToSpeech; - open var onVoiceStateListener: OnVoiceStateListener? = null; + open var textToSpeech: TextToSpeech + open var onVoiceStateListener: OnVoiceStateListener? = null constructor(callback: (init: Boolean) -> Unit){ open class MyListener : TextToSpeech.OnInitListener { override fun onInit(i: Int): Unit { - console.log("init " + i.toString()); + console.log("init " + i.toString()) if (i == -1) { - callback(false); + callback(false) } else { - callback(true); + callback(true) } } } - this.textToSpeech = TextToSpeech(UTSAndroid.getUniActivity()!!!!, MyListener()); - this.textToSpeech.setOnUtteranceProgressListener(MyTTSListener(this)); + this.textToSpeech = TextToSpeech(UTSAndroid.getUniActivity()!!!!, MyListener()) + this.textToSpeech.setOnUtteranceProgressListener(MyTTSListener(this)) } public open fun speak(data: String): Number { - var state = this.textToSpeech.speak(data, TextToSpeech.QUEUE_FLUSH, Bundle(), UUID.randomUUID().toString()); - return state; + var state = this.textToSpeech.speak(data, TextToSpeech.QUEUE_FLUSH, Bundle(), UUID.randomUUID().toString()) + return state } public open fun getVoiceNames(): UTSArray<String> { - var voices = this.textToSpeech.getVoices(); - var b: UTSArray<String> = utsArrayOf(); + var voices = this.textToSpeech.getVoices() + var b: UTSArray<String> = utsArrayOf() for(s in resolveUTSKeyIterator(voices)){ - b.push(s.getName()); + b.push(s.getName()) } - return b; + return b } public open fun setSpeed(num: Number) { - this.textToSpeech.setSpeechRate(num.toFloat()); + this.textToSpeech.setSpeechRate(num.toFloat()) } public open fun setVoiceName(name: String): Unit { - var voices = this.textToSpeech.getVoices(); - var cur: Voice? = null; + var voices = this.textToSpeech.getVoices() + var cur: Voice? = null for(s in resolveUTSKeyIterator(voices)){ if (name == s.getName()) { - cur = s; + cur = s } } - this.textToSpeech.setVoice(cur!!!!); + this.textToSpeech.setVoice(cur!!!!) } public open fun stop() { - this.textToSpeech.stop(); + this.textToSpeech.stop() } public open fun shutdown() { - this.textToSpeech.shutdown(); + this.textToSpeech.shutdown() } public open fun isSpeaking(): Boolean { - return this.textToSpeech.isSpeaking(); + return this.textToSpeech.isSpeaking() } public open fun listenerVoiceState(callback: (state: Number) -> Unit) { open class MyOnVoiceStateListener : OnVoiceStateListener { override fun onVoiceState(state: Number) { - callback(state); + callback(state) } } - this.onVoiceStateListener = MyOnVoiceStateListener(); + this.onVoiceStateListener = MyOnVoiceStateListener() } open fun getEngineName(): String { - return this.textToSpeech.getDefaultEngine(); + return this.textToSpeech.getDefaultEngine() } } interface OnVoiceStateListener { fun onVoiceState(state: Number) } open class MyTTSListener : UtteranceProgressListener { - open var ts: AndroidTTSVoice; + open var ts: AndroidTTSVoice constructor(t: AndroidTTSVoice){ - this.ts = t; + this.ts = t } public override fun onStart(s1: String): Unit { - ts.onVoiceStateListener!!.onVoiceState(0); + ts.onVoiceStateListener!!.onVoiceState(0) } public override fun onDone(s1: String): Unit { - ts.onVoiceStateListener!!.onVoiceState(1); + ts.onVoiceStateListener!!.onVoiceState(1) } public override fun onError(s1: String): Unit { - console.log("onError" + s1); - ts.onVoiceStateListener!!.onVoiceState(-1); + console.log("onError" + s1) + ts.onVoiceStateListener!!.onVoiceState(-1) } } val getSoldRadiusBg = fun(colorSold: Number, radius: Number): GradientDrawable { - var drawable: GradientDrawable = GradientDrawable(); - drawable.setShape(GradientDrawable.RECTANGLE); - drawable.setCornerRadius(radius.toFloat()); - drawable.setColor(colorSold.toInt()); - return drawable; + var drawable: GradientDrawable = GradientDrawable() + drawable.setShape(GradientDrawable.RECTANGLE) + drawable.setCornerRadius(radius.toFloat()) + drawable.setColor(colorSold.toInt()) + return drawable } -; open class MyApiOptionsJSONObject : UTSJSONObject() { - open var paramA: Boolean = false; - open var success: UTSCallback? = null; - open var fail: UTSCallback? = null; - open var complete: UTSCallback? = null; + open var paramA: Boolean = false + open var success: UTSCallback? = null + open var fail: UTSCallback? = null + open var complete: UTSCallback? = null } fun myApiByJs(options: MyApiOptionsJSONObject): Unit { return myApi(MyApiOptions(paramA = options.paramA, success = fun(res: MyApiResult): Unit { - options.success?.invoke(res); + options.success?.invoke(res) } , fail = fun(res: MyApiFail): Unit { - options.fail?.invoke(res); + options.fail?.invoke(res) } , complete = fun(res: Any): Unit { - options.complete?.invoke(res); + options.complete?.invoke(res) } - )); + )) } fun myApiSyncByJs(paramA: Boolean): MyApiResult { - return myApiSync(paramA); + return myApiSync(paramA) } fun showToastByJs(text: String): Unit { - return showToast(text); + return showToast(text) } fun showColorToastByJs(text: String, color: String): Unit { - return showColorToast(text, color); + return showColorToast(text, color) } fun showToastButtonByJs(text: String): Unit { - return showToastButton(text); + return showToastButton(text) } fun androidDialogByJs(title: String, msg: String, okText: String, callback: UTSCallback, cancelText: String, callback1: UTSCallback): Unit { - return androidDialog(title, msg, okText, fun(){ - callback(); + return androidDialog(title, msg, okText, if (callback.fnJS != null) { + callback.fnJS + } else { + callback.fnJS = fun(){ + callback() + } + callback.fnJS } - , cancelText, fun(){ - callback1(); + as () -> Unit, cancelText, if (callback1.fnJS != null) { + callback1.fnJS + } else { + callback1.fnJS = fun(){ + callback1() + } + callback1.fnJS } - ); + as () -> Unit) } fun isHavePermisionByJs(pername: String): Boolean { - return isHavePermision(pername); + return isHavePermision(pername) } fun requestPermisonByJs(pername: String, callback: UTSCallback): Unit { - return requestPermison(pername, fun(sth: Boolean){ - callback(sth); + return requestPermison(pername, if (callback.fnJS != null) { + callback.fnJS + } else { + callback.fnJS = fun(sth: Boolean){ + callback(sth) + } + callback.fnJS } - ); + as (sth: Boolean) -> Unit) } fun requesMoretPermisonByJs(pername: UTSArray<String>, callback: UTSCallback): Unit { - return requesMoretPermison(pername, fun(sth: Boolean){ - callback(sth); + return requesMoretPermison(pername, if (callback.fnJS != null) { + callback.fnJS + } else { + callback.fnJS = fun(sth: Boolean){ + callback(sth) + } + callback.fnJS } - ); + as (sth: Boolean) -> Unit) } fun saveBase64ToGalleryByJs(name: String, base64: String, callback: UTSCallback): Unit { - return saveBase64ToGallery(name, base64, fun(sth: Boolean){ - callback(sth); + return saveBase64ToGallery(name, base64, if (callback.fnJS != null) { + callback.fnJS + } else { + callback.fnJS = fun(sth: Boolean){ + callback(sth) + } + callback.fnJS } - ); + as (sth: Boolean) -> Unit) } fun saveBitmapByJs(name: String, base64: String, callback: UTSCallback): Unit { - return saveBitmap(name, base64, fun(sth: Boolean){ - callback(sth); + return saveBitmap(name, base64, if (callback.fnJS != null) { + callback.fnJS + } else { + callback.fnJS = fun(sth: Boolean){ + callback(sth) + } + callback.fnJS } - ); + as (sth: Boolean) -> Unit) } fun showEditDialogByJs(bean: InputBean): Unit { return showEditDialog(InputBean(title = bean.title, holder = bean.holder, nowInput = bean.nowInput, inputType = bean.inputType, maxLength = bean.maxLength, cancelText = bean.cancelText, okText = bean.okText, okCallbackClick = fun(res: String): Unit { - bean.okCallbackClick(res); + bean.okCallbackClick(res) } , cancelCallbackClick = fun(): Unit { - bean.cancelCallbackClick(); + bean.cancelCallbackClick() } - )); + )) } fun screenShotEnableStateByJs(state: Boolean): Unit { - return screenShotEnableState(state); + return screenShotEnableState(state) } fun convertHtmlPxToAndroidPxByJs(htmlPx: Number): Number { - return convertHtmlPxToAndroidPx(htmlPx); + return convertHtmlPxToAndroidPx(htmlPx) } fun showImgDialogByJs(): Unit { - return showImgDialog(); + return showImgDialog() } open class AndroidTTSVoiceByJs : AndroidTTSVoice { - constructor(callback: UTSCallback) : super(fun(init: Boolean){ - callback(init); + constructor(callback: UTSCallback) : super(if (callback.fnJS != null) { + callback.fnJS + } else { + callback.fnJS = fun(init: Boolean){ + callback(init) + } + callback.fnJS } - ) {} + as (init: Boolean) -> Unit) {} public open fun speakByJs(data: String): Number { - return this.speak(data); + return this.speak(data) } public open fun getVoiceNamesByJs(): UTSArray<String> { - return this.getVoiceNames(); + return this.getVoiceNames() } public open fun setSpeedByJs(num: Number) { - return this.setSpeed(num); + return this.setSpeed(num) } public open fun setVoiceNameByJs(name: String): Unit { - return this.setVoiceName(name); + return this.setVoiceName(name) } public open fun stopByJs() { - return this.stop(); + return this.stop() } public open fun shutdownByJs() { - return this.shutdown(); + return this.shutdown() } public open fun isSpeakingByJs(): Boolean { - return this.isSpeaking(); + return this.isSpeaking() } public open fun listenerVoiceStateByJs(callback: UTSCallback) { - return this.listenerVoiceState(fun(state: Number){ - callback(state); + return this.listenerVoiceState(if (callback.fnJS != null) { + callback.fnJS + } else { + callback.fnJS = fun(state: Number){ + callback(state) + } + callback.fnJS } - ); + as (state: Number) -> Unit) } open fun getEngineNameByJs(): String { - return this.getEngineName(); + return this.getEngineName() } } -- Gitblit v1.9.3