From 0896dd78b22ed138488f833220b77703294b634f Mon Sep 17 00:00:00 2001 From: hdw Date: Wed, 11 Jun 2025 16:31:01 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=20=E4=BF=AE=E6=94=B9=E5=BA=9F?= =?UTF-8?q?=E5=BC=83api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/main/ets/entryability/EntryAbility.ets | 1 - entry/src/main/ets/pages/HomePage.ets | 6 +++--- entry/src/main/ets/utils/DecodeUtil.ets | 7 +++---- entry/src/main/ets/utils/EncodeUtil.ets | 6 ++---- 4 files changed, 8 insertions(+), 12 deletions(-) diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index ce9a713..bf4e047 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -58,7 +58,6 @@ export default class EntryAbility extends UIAbility { } hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); - AppStorage.setOrCreate('uiContext', windowStage.getMainWindowSync().getUIContext()); }); } diff --git a/entry/src/main/ets/pages/HomePage.ets b/entry/src/main/ets/pages/HomePage.ets index 39ae080..9dec4b3 100644 --- a/entry/src/main/ets/pages/HomePage.ets +++ b/entry/src/main/ets/pages/HomePage.ets @@ -159,7 +159,7 @@ struct HomePage { } pixelInit() { - getPixelMap(this) + getPixelMap(this.getUIContext()) .then((pixelMap?: image.PixelMap) => { if (pixelMap) { this.isPixelMapChange = !this.isPixelMapChange; @@ -192,7 +192,7 @@ struct HomePage { SaveButton(this.saveButtonOptions) .onClick(() => { - AlertDialog.show({ + this.getUIContext().showAlertDialog({ title: $r('app.string.save_image'), message: $r('app.string.confirm_save'), alignment: DialogAlignment.Center, @@ -200,7 +200,7 @@ struct HomePage { value: $r('app.string.save'), action: () => { if (this.pixelMap) { - encode(this, this.pixelMap); + encode(this.getUIContext(), this.pixelMap); } } }, diff --git a/entry/src/main/ets/utils/DecodeUtil.ets b/entry/src/main/ets/utils/DecodeUtil.ets index 13c18e7..d9ad2cd 100644 --- a/entry/src/main/ets/utils/DecodeUtil.ets +++ b/entry/src/main/ets/utils/DecodeUtil.ets @@ -19,15 +19,14 @@ import Logger from './LoggerUtil'; import { CommonConstants } from '../common/constant/CommonConstants'; const TAG: string = 'imageEdit_Decode'; -const uiContext: UIContext | undefined = AppStorage.get('uiContext'); /** * Async get resource fd. * * @return file fd. */ -async function getResourceFd(component: Object) { - const context = uiContext!.getHostContext()!; +async function getResourceFd(component: UIContext) { + const context = component.getHostContext()!; const resourceMgr = context.resourceManager; let imageBuffer = await resourceMgr.getMediaContent($r("app.media.ic_low")) let filePath = context.cacheDir + '/' + CommonConstants.RAW_FILE_NAME; @@ -41,7 +40,7 @@ async function getResourceFd(component: Object) { * * @return pixelMa. */ -export default async function getPixelMap(component: Object) { +export default async function getPixelMap(component: UIContext) { const fd = await getResourceFd(component); const imageSourceApi = image.createImageSource(fd); if (!imageSourceApi) { diff --git a/entry/src/main/ets/utils/EncodeUtil.ets b/entry/src/main/ets/utils/EncodeUtil.ets index 2dd1271..d9fd69f 100644 --- a/entry/src/main/ets/utils/EncodeUtil.ets +++ b/entry/src/main/ets/utils/EncodeUtil.ets @@ -20,15 +20,12 @@ import Logger from './LoggerUtil'; import { CommonConstants } from '../common/constant/CommonConstants'; const TAG: string = 'imageEdit_Encode'; -const uiContext: UIContext | undefined = AppStorage.get('uiContext'); -const context = uiContext!.getHostContext()!; -let phAccessHelper = photoAccessHelper.getPhotoAccessHelper(context); /** * Pack the image. * * @param pixelMap. */ -export async function encode(component: Object, pixelMap: PixelMap) { +export async function encode(component: UIContext, pixelMap: PixelMap) { const newPixelMap = pixelMap; // Packing image. const imagePackerApi = image.createImagePacker(); @@ -41,6 +38,7 @@ export async function encode(component: Object, pixelMap: PixelMap) { // Create image asset. let photoType: photoAccessHelper.PhotoType = photoAccessHelper.PhotoType.IMAGE; let extension: string = 'jpg'; + const phAccessHelper = photoAccessHelper.getPhotoAccessHelper(component.getHostContext()); phAccessHelper.createAsset(photoType, extension, (err, uri) => { if (uri != undefined) { let file = fileIo.openSync(uri, fileIo.OpenMode.READ_WRITE); -- Gitee