diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index c805508abe5ed90df03f485a10499874979d8363..6d9ee5e525a59b2405ed1887796c737658da369c 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -23,12 +23,12 @@ struct Index { Column() { Button("DemoV1") .onClick(() => { - router.push({ url: 'pages/DemoV1' }) + router.pushUrl({ url: 'pages/DemoV1' }) }) Button("DemoV2") .margin({ top: 10 }) .onClick(() => { - router.push({ url: 'pages/DemoV2' }) + router.pushUrl({ url: 'pages/DemoV2' }) }) } .width('100%') diff --git a/entry/src/main/module.json5 b/entry/src/main/module.json5 index e7b192a81abdde9c536733dd5daa2fdf731c1338..b63a9b1b2c0b244346464e231ba85bbccd8b4cd0 100644 --- a/entry/src/main/module.json5 +++ b/entry/src/main/module.json5 @@ -17,6 +17,11 @@ "deliveryWithInstall": true, "installationFree": false, "pages": "$profile:main_pages", + "requestPermissions": [ + { + "name": "ohos.permission.INTERNET", + } + ], "abilities": [ { "name": "EntryAbility", diff --git a/library/src/main/ets/components/common/master/flame/danmaku/danmaku/parser/ohos/JSONSource.ets b/library/src/main/ets/components/common/master/flame/danmaku/danmaku/parser/ohos/JSONSource.ets index 74590ce91a6c4173e382e585ba1f296901d6e312..5ed60172ce10775d3d1b667d06aa9ea8eb8e63f8 100644 --- a/library/src/main/ets/components/common/master/flame/danmaku/danmaku/parser/ohos/JSONSource.ets +++ b/library/src/main/ets/components/common/master/flame/danmaku/danmaku/parser/ohos/JSONSource.ets @@ -14,7 +14,7 @@ */ import { IDataSource } from '../IDataSource' -import fileio from '@ohos.fileio' +import fs from '@ohos.file.fs'; import Url from '@ohos.url' import uri from '@ohos.uri' import request from '@ohos.request'; @@ -22,11 +22,11 @@ import {GlobalContext} from '../../../../../../../GlobalContext' export class JSONSource implements IDataSource<[]> { private mJSONArray: []|ESObject = []; - private mInput: fileio.Stream|ESObject = null; + private mInput: fs.Stream|ESObject = null; public DOWNLOAD_FILE_PATH = GlobalContext.getContext().getValue("path").toString() + '/danmuku.xml' public MAX_BUFFER_SIZE = 1024 * 1024 - constructor(json: string | fileio.Stream | Url.URL | uri.URI) { + constructor(json: string | fs.Stream | Url.URL | uri.URI) { if (json instanceof Url.URL || json instanceof uri.URI) { this.initFromURL(json) } else { @@ -36,7 +36,7 @@ export class JSONSource implements IDataSource<[]> { private initFromURL(filePath: Url.URL | uri.URI) { let ctx = getContext(this); - let downloadTask:ESObject; + let downloadTask:request.DownloadTask; let that = this request.downloadFile(ctx, { url: filePath.toString(), filePath: this.DOWNLOAD_FILE_PATH }, (err, data) => { @@ -46,18 +46,19 @@ export class JSONSource implements IDataSource<[]> { } downloadTask = data; downloadTask.on('complete', ()=> { - fileio.createStream(this.DOWNLOAD_FILE_PATH, "r+", (err, stream)=> { + fs.createStream(this.DOWNLOAD_FILE_PATH, "r+", (err, stream)=> { if (err) { console.error('Failed to createStream. Cause: ' + JSON.stringify(err)); return } that.mInput = stream - let fileSize = fileio.statSync(this.DOWNLOAD_FILE_PATH).size; + let fileSize = fs.statSync(this.DOWNLOAD_FILE_PATH).size; if (fileSize >this.MAX_BUFFER_SIZE) { throw new Error('danmaku jsonSource initFromURL failed cause:this file is oversize 1M') } - that.mInput.read(new ArrayBuffer(fileSize),).then((readOut:ESObject)=> { - let dataString:ESObject = String.fromCharCode(...new Uint8Array(readOut.buffer)) + let buffer = new ArrayBuffer(fileSize) + that.mInput.read(buffer).then((readOut:number)=> { + let dataString:string = String.fromCharCode(...new Uint8Array(buffer)) that.mJSONArray = dataString != null ? JSON.parse(dataString) : [] }) }); @@ -67,7 +68,7 @@ export class JSONSource implements IDataSource<[]> { } - private init(json: string | fileio.Stream) { + private init(json: string | fs.Stream) { if (typeof json === 'string') { if (json != null || json != undefined || (json as ESObject).length != 0) { this.mJSONArray = JSON.parse(json) @@ -76,8 +77,9 @@ export class JSONSource implements IDataSource<[]> { if (json != null) { let that = this this.mInput = json - this.mInput.read(new ArrayBuffer(this.MAX_BUFFER_SIZE),).then((readOut:ESObject)=> { - let dataString:ESObject = String.fromCharCode(...new Uint8Array(readOut.buffer)) + let buffer = new ArrayBuffer(this.MAX_BUFFER_SIZE); + this.mInput.read(buffer).then((readOut:number)=> { + let dataString:string = String.fromCharCode(...new Uint8Array(buffer)) that.mJSONArray = dataString != null ? JSON.parse(dataString) : [] }) } diff --git a/library/src/main/ets/components/common/master/flame/danmaku/danmaku/parser/ohos/OhosFileSource.ets b/library/src/main/ets/components/common/master/flame/danmaku/danmaku/parser/ohos/OhosFileSource.ets index 9c72525a446a8974c89ffbbd7bfbb048b4e46336..6ea5d0b580fa5f1b43602b6e15ae6a05b51d9a82 100644 --- a/library/src/main/ets/components/common/master/flame/danmaku/danmaku/parser/ohos/OhosFileSource.ets +++ b/library/src/main/ets/components/common/master/flame/danmaku/danmaku/parser/ohos/OhosFileSource.ets @@ -14,16 +14,16 @@ */ import { IDataSource, SCHEME_HTTP_TAG, SCHEME_HTTPS_TAG } from '../IDataSource' -import fileio from '@ohos.fileio' +import fs from '@ohos.file.fs'; import uri from '@ohos.uri' import request from '@ohos.request'; import {GlobalContext} from '../../../../../../../GlobalContext' -export class OhosFileSource implements IDataSource { - private inStream: fileio.Stream|ESObject = null +export class OhosFileSource implements IDataSource { + private inStream: fs.Stream|ESObject = null public DOWNLOAD_FILE_PATH = GlobalContext.getContext().getValue("path").toString() + '/danmuku.xml' - constructor(filePath: string | fileio.Stream | uri.URI) { + constructor(filePath: string | fs.Stream | uri.URI) { if (typeof filePath === 'string') { this.fillStreamFromString(filePath) return @@ -34,14 +34,14 @@ export class OhosFileSource implements IDataSource { return } - this.inStream = filePath as fileio.Stream + this.inStream = filePath as fs.Stream } public fillStreamFromUri(filePath: uri.URI) { let ctx = getContext(this); if (filePath.scheme.toLocaleLowerCase() == SCHEME_HTTP_TAG || filePath.scheme.toLocaleLowerCase() == SCHEME_HTTPS_TAG) { - let downloadTask:ESObject; + let downloadTask:request.DownloadTask; let that = this request.downloadFile(ctx, { url: filePath.toString(), filePath: this.DOWNLOAD_FILE_PATH }, (err, data) => { @@ -51,7 +51,7 @@ export class OhosFileSource implements IDataSource { } downloadTask = data; downloadTask.on('complete', ()=> { - fileio.createStream(this.DOWNLOAD_FILE_PATH, "r+", (err, stream)=> { + fs.createStream(this.DOWNLOAD_FILE_PATH, "r+", (err, stream)=> { if (err) { console.error('Failed to createStream. Cause: ' + JSON.stringify(err)); return @@ -67,7 +67,7 @@ export class OhosFileSource implements IDataSource { public fillStreamFromString(filePath: string) { let that = this - fileio.createStream(filePath, "r+", (err, stream)=> { + fs.createStream(filePath, "r+", (err, stream)=> { that.inStream = stream }); } @@ -80,7 +80,7 @@ export class OhosFileSource implements IDataSource { this.inStream = null } - public data(): fileio.Stream{ + public data(): fs.Stream{ return this.inStream } } \ No newline at end of file diff --git a/library/src/main/ets/components/common/master/flame/danmaku/ui/widget/DanmakuView.ets b/library/src/main/ets/components/common/master/flame/danmaku/ui/widget/DanmakuView.ets index 4323e426206adc123f0df663d314dda1b8240c48..d8615d4dda9d1bdf0b4b3b057154cf264940ee39 100644 --- a/library/src/main/ets/components/common/master/flame/danmaku/ui/widget/DanmakuView.ets +++ b/library/src/main/ets/components/common/master/flame/danmaku/ui/widget/DanmakuView.ets @@ -67,15 +67,15 @@ struct DanmakuView { } private mCallback: Callback|ESObject; - protected handler: DrawHandler|ESObject; + private handler: DrawHandler|ESObject; private mOnDanmakuClickListener: OnDanmakuClickListener|ESObject; private mXOff: number = 0; private mYOff: number = 0; private mTouchHelper: DanmakuTouchHelper|ESObject; private mShowFps: boolean = false; public mDanmakuVisible: boolean = true; - protected mDrawingThreadType: number = THREAD_TYPE_NORMAL_PRIORITY; - protected mRequestRender: boolean = false; + private mDrawingThreadType: number = THREAD_TYPE_NORMAL_PRIORITY; + private mRequestRender: boolean = false; private init(): void { DrawHelper.useDrawColorToClearCanvas(true, false); @@ -179,7 +179,7 @@ struct DanmakuView { } private mDrawTimes: number[]|ESObject; - protected mClearFlag: boolean = false; + private mClearFlag: boolean = false; private fps(): number { let lastTime: number = SystemClock.uptimeMillis(); diff --git a/library/src/main/ets/components/common/master/flame/danmaku/ui/widget/DanmakuViewV2.ets b/library/src/main/ets/components/common/master/flame/danmaku/ui/widget/DanmakuViewV2.ets index 73041bab2bfdb6abb37130df55d5853b1500d4de..92e6023a17d24592a8933a81cebcc0870799563d 100644 --- a/library/src/main/ets/components/common/master/flame/danmaku/ui/widget/DanmakuViewV2.ets +++ b/library/src/main/ets/components/common/master/flame/danmaku/ui/widget/DanmakuViewV2.ets @@ -68,15 +68,15 @@ struct DanmakuViewV2 { } private mCallback: Callback|ESObject; - protected handler: DrawHandler|ESObject; + private handler: DrawHandler|ESObject; private mOnDanmakuClickListener: OnDanmakuClickListener|ESObject; private mXOff: number = 0; private mYOff: number = 0; private mTouchHelper: DanmakuTouchHelper|ESObject; private mShowFps: boolean = false; public mDanmakuVisible: boolean = true; - protected mDrawingThreadType: number = THREAD_TYPE_NORMAL_PRIORITY; - protected mRequestRender: boolean = false; + private mDrawingThreadType: number = THREAD_TYPE_NORMAL_PRIORITY; + private mRequestRender: boolean = false; private init(): void { DrawHelper.useDrawColorToClearCanvas(true, false); @@ -180,7 +180,7 @@ struct DanmakuViewV2 { } private mDrawTimes: number[]|ESObject; - protected mClearFlag: boolean = false; + private mClearFlag: boolean = false; private fps(): number { let lastTime: number = SystemClock.uptimeMillis();