diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/.gitignore b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..b297692bedf04c7870a547564251df6228c9c74b
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/.gitignore
@@ -0,0 +1,21 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+/entry/.preview
+.cxx
+/node_modules
+**/.gradle
+**/.idea
+
+/.idea/previewer/phone/
+/.idea/previewer/previewConfigV2.json
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/build.gradle b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..924a888a108e0af16c918e3b049937f48089a7bf
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/build.gradle
@@ -0,0 +1,33 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+apply plugin: 'com.huawei.ohos.app'
+
+//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510
+ohos {
+ compileSdkVersion 7
+}
+
+buildscript {
+ repositories {
+ maven {
+ url 'https://repo.huaweicloud.com/repository/maven/'
+ }
+ maven {
+ url 'https://developer.huawei.com/repo/'
+ }
+ }
+ dependencies {
+ classpath 'com.huawei.ohos:hap:3.0.5.2'
+ classpath 'com.huawei.ohos:decctest:1.2.7.2'
+ }
+}
+
+allprojects {
+ repositories {
+ maven {
+ url 'https://repo.huaweicloud.com/repository/maven/'
+ }
+ maven {
+ url 'https://developer.huawei.com/repo/'
+ }
+ }
+}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/.gitignore b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..7d5b7a94f4dcf381f03ff21f28f8a2494b58023f
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/.gitignore
@@ -0,0 +1,2 @@
+/build
+/node_modules
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/build.gradle b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..0f0156791bf6048a230e13abccb9d631170209dc
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/build.gradle
@@ -0,0 +1,26 @@
+apply plugin: 'com.huawei.ohos.hap'
+apply plugin: 'com.huawei.ohos.decctest'
+//For instructions on signature configuration, see https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#section1112183053510
+ohos {
+ compileSdkVersion 7
+ defaultConfig {
+ compatibleSdkVersion 7
+ }
+ buildTypes {
+ release {
+ proguardOpt {
+ proguardEnabled false
+ rulesFiles 'proguard-rules.pro'
+ }
+ }
+ }
+}
+
+dependencies {
+ implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
+ testImplementation 'junit:junit:4.13.1'
+ ohosTestImplementation 'com.huawei.ohos.testkit:runner:2.0.0.200'
+}
+decc {
+ supportType = ['html','xml']
+}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/package.json b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/package.json
new file mode 100644
index 0000000000000000000000000000000000000000..0967ef424bce6791893e9a57bb952f80fd536e93
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/package.json
@@ -0,0 +1 @@
+{}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/config.json b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..c11a887c8816670b0090a4147952237b1f657180
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/config.json
@@ -0,0 +1,70 @@
+{
+ "app": {
+ "bundleName": "com.example.myapplication",
+ "vendor": "example",
+ "version": {
+ "code": 1000000,
+ "name": "1.0.0"
+ }
+ },
+ "deviceConfig": {},
+ "module": {
+ "package": "com.example.myapplication",
+ "name": ".MyApplication",
+ "mainAbility": "com.example.myapplication.MainAbility",
+ "deviceType": [
+ "phone"
+ ],
+ "distro": {
+ "deliveryWithInstall": true,
+ "moduleName": "entry",
+ "moduleType": "entry",
+ "installationFree": false
+ },
+ "abilities": [
+ {
+ "skills": [
+ {
+ "entities": [
+ "entity.system.home"
+ ],
+ "actions": [
+ "action.system.home"
+ ]
+ }
+ ],
+ "orientation": "portrait",
+ "visible": true,
+ "name": "com.example.myapplication.MainAbility",
+ "icon": "$media:icon",
+ "description": "$string:mainability_description",
+ "label": "$string:entry_MainAbility",
+ "type": "page",
+ "launchType": "standard"
+ }
+ ],
+ "js": [
+ {
+ "mode": {
+ "syntax": "ets",
+ "type": "pageAbility"
+ },
+ "pages": [
+ "pages/privacy",
+ "pages/authority-management",
+ "pages/permission-access-record",
+ "pages/media-documents",
+ "pages/app-name",
+ "pages/location-info",
+ "pages/app-name-plus",
+ "pages/other-permissions"
+ ],
+ "name": "default",
+ "window": {
+ "designWidth": 720,
+ "autoDesignWidth": false
+ }
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/app.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/app.ets
new file mode 100644
index 0000000000000000000000000000000000000000..0be61a623b0216ebbfacf77d8871f2fcaf1de68e
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/app.ets
@@ -0,0 +1,8 @@
+export default {
+ onCreate() {
+ console.info('Application onCreate')
+ },
+ onDestroy() {
+ console.info('Application onDestroy')
+ },
+}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/alphabeticalIndex.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/alphabeticalIndex.ets
new file mode 100644
index 0000000000000000000000000000000000000000..542f9e3afbb4accef62b4330c31bc85776e8c9ad
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/alphabeticalIndex.ets
@@ -0,0 +1,46 @@
+import { applicationListItem } from "../model/authorityManagementList.ets"
+
+@Component
+export struct alphabetIndexerComponent {
+ @State alphabeticalIndex: number = 0
+ @Prop page: string
+ @Link applicationList: any[]
+ private value: string[] = ['#', '☆', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
+ filterData(index) {
+ this.alphabeticalIndex = index
+ if (index === 0 || index === 1) {
+ this.applicationList = applicationListItem
+ }
+ else {
+ this.applicationList = applicationListItem.filter((item) => {
+ return item.alphabeticalIndex === this.value[index]
+ })
+ }
+ }
+
+ build() {
+ Flex({ justifyContent: FlexAlign.End }) {
+ AlphabetIndexer({ ArrayValue: this.value, selected: this.alphabeticalIndex })
+ .selectedColor(0xffffff) // 选中颜色
+ .popupColor(0xFFFAF0) // 弹出框颜色
+ .selectedBackgroundColor(0xCCCCCC) // 选中背景颜色
+ .popupBackground(0xD2B48C) // 弹出框背景颜色
+ .usingPopup(true) // 是否显示弹出框
+ .selectedFont({ size: 12, weight: FontWeight.Bolder }) // 选中的样式
+ .popupFont({ size: 30, weight: FontWeight.Bolder }) // 弹出框的演示
+ .itemSize(16) // 每一项的大小正方形
+ .alignStyle(IndexerAlign.Left) // 左对齐
+ .onSelected((index: number) => {
+ if (this.page === 'location-info') {
+ this.filterData(index)
+ }
+ if (this.page === 'authority-management') {
+ this.filterData(index)
+ }
+ console.info(this.value[index] + '被选中了') // 选中的事件
+ })
+ .height(448)
+ .width(24)
+ }
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/backBar.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/backBar.ets
new file mode 100644
index 0000000000000000000000000000000000000000..1a939eb40305f196ae4fe6e7f7a22dcba2d096ba
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/backBar.ets
@@ -0,0 +1,59 @@
+import router from '@system.router'
+
+@Component
+export struct backBar {
+ @Prop title: string
+
+ build() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ if (this.title == JSON.stringify($r('app.string.privacy'))) {
+ Text($r('app.string.privacy'))
+ .fontColor($r('app.color.title_text_color'))
+ .fontSize("20fp")
+ .margin({
+ left: "15vp",
+ right: "24vp",
+ top: "17vp"
+ })
+ } else {
+ Image($r('app.media.left'))
+ .objectFit(ImageFit.Contain)
+ .height(24)
+ .width(24)
+ .margin({
+ top: "17vp",
+ left: "24vp",
+ right: "15vp"
+ })
+ .onClick(() => {
+ router.back()
+ })
+ Text(JSON.parse(this.title))
+ .fontColor($r('app.color.title_text_color'))
+ .fontSize(20)
+ .flexGrow(1)
+ .margin({ top: "17vp" })
+ if (false) {
+ Image($r('app.media.record'))
+ .objectFit(ImageFit.Contain)
+ .height(25)
+ .width(25)
+ .margin({
+ right: "15vp",
+ top: "17vp"
+ })
+ .onClick(() => {
+ router.push({ uri: "pages/permission-access-record" })
+ })
+ }
+ }
+ }
+ }
+ .width(360)
+ .height(56)
+ .constraintSize({ minHeight: "56vp" })
+ .alignItems(HorizontalAlign.Start)
+ .backgroundColor($r('app.color.background_color'))
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/category.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/category.ets
new file mode 100644
index 0000000000000000000000000000000000000000..e316b7a8c6b257ed3baef063511be21cd6ba725d
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/category.ets
@@ -0,0 +1,108 @@
+import { categoryListItem } from "../model/categoryList.ets"
+
+@Component
+export struct categoryPage {
+ build() {
+ Column() {
+ categoryList({
+ categoryListItem: categoryListItem,
+ })
+ }
+ }
+}
+
+@Component
+struct categoryList {
+ private categoryListItem: any[]
+ @State color: string[] = [
+ "#ffffff",
+ "#ffffff",
+ "#ffffff",
+ "#ffffff",
+ "#ffffff",
+ "#ffffff",
+ "#ffffff",
+ "#e5f3ff",
+ "#ffffff",
+ "#ffffff",
+ "#ffffff"
+ ]
+ private listState: number = 0
+
+ build() {
+ Column() {
+ List() {
+ ForEach(this.categoryListItem, (item) => {
+ ListItem() {
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Image(item.image)
+ .objectFit(ImageFit.Contain)
+ .height(25)
+ .width(25)
+ .margin({
+ left: "10vp",
+ right: "15vp"
+ })
+ Text(item.name)
+ .fontSize("18vp")
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Image(item.icon)
+ .objectFit(ImageFit.Contain)
+ .height(20)
+ .width(20)
+ }
+ }.margin({
+ top: '16vp'
+ }
+ )
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ .margin({
+ top: '10vp',
+ left: '24%'
+ })
+ }
+ }
+ .backgroundColor(this.color[item.index - 1])
+ .width('100%')
+ .height('10%')
+ .borderRadius('25px')
+ .margin({
+ bottom: '10vp'
+ })
+ .onClick(() => {
+ if (this.color[item.index - 1] == "#ffffff") {
+ for (var i = 0; i < this.color.length; i++) {
+ if (i == item.index - 1) {
+ this.color[i] = "#e5f3ff"
+ } else {
+ this.color[i] = "#ffffff"
+ }
+ }
+ }
+ this.listState = item.index - 1;
+ console.debug("you click" + this.listState)
+ })
+ }
+ }, item => item.index.toString())
+ }.width('40%')
+ Divider()
+ .vertical(true)
+ .color($r('app.color.divider_color'))
+ .width('2vp')
+ .margin({
+ top: "8vp",
+ bottom: "8vp"
+ })
+ }.useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ }
+}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/dialog.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/dialog.ets
new file mode 100644
index 0000000000000000000000000000000000000000..44ebda3a529b2e4cd157def8ba6ba04ecc2ad1f2
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/dialog.ets
@@ -0,0 +1,173 @@
+import { dialogData } from "../model/dialogDataList.ets"
+
+@Extend(Button) function customizeButton() {
+ .backgroundColor($r('app.color.default_background_color'))
+ .fontColor($r('app.color.button_color'))
+}
+
+@CustomDialog
+export struct positionDialog {
+ @Link messageList: string[]
+ controller: CustomDialogController
+ cancel: () => void
+ confirm: () => void
+
+ build() {
+ Column() {
+ Text('是否开启定位服务?').width('45%').fontSize(16).margin({ top: 20, bottom: 10 })
+ Flex({ justifyContent: FlexAlign.SpaceAround }) {
+ Button('禁止')
+ .onClick(() => {
+ this.controller.close()
+ this.cancel()
+ }).customizeButton()
+ Text('|').fontSize(25).fontColor($r('app.color.divider_color')).margin({ top: 3 })
+ Button('允许')
+ .onClick(() => {
+ this.controller.close()
+ this.confirm()
+ }).customizeButton()
+ }.margin({ bottom: 10 })
+ }.backgroundColor($r('app.color.default_background_color'))
+ .borderRadius(24)
+ .height(100)
+ .width(336)
+ }
+}
+
+@CustomDialog
+export struct spaceDialog {
+ controller: CustomDialogController
+ cancel: () => void
+ confirm: () => void
+
+ build() {
+ Column() {
+ Image($r('app.media.ic_nearby'))
+ .width(24)
+ .height(24)
+ .margin({
+ top: 24
+ })
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start }) {
+ Text('是否允许“XX”查找、连接附近设备?').fontSize(16)
+ .margin({
+ top: 16,
+ left: 24
+ })
+ }
+ }
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start }) {
+ Text('用于XXXX。').fontSize(14)
+ .fontColor($r('app.color.secondary_font_color'))
+ .margin({
+ top: 2,
+ left: 24
+ })
+ }
+ }
+ }
+ Row() {
+ Flex({ justifyContent: FlexAlign.SpaceAround }) {
+ Button('禁止')
+ .fontSize(16)
+ .onClick(() => {
+ this.controller.close()
+ this.cancel()
+ }).customizeButton()
+ Text('|').fontSize(30).fontColor($r('app.color.divider_color'))
+ Button('允许')
+ .fontSize(16)
+ .onClick(() => {
+ this.controller.close()
+ this.confirm()
+ }).customizeButton()
+ }.margin({
+ top: 8
+ })
+ }
+ }
+ .backgroundColor($r('app.color.default_background_color'))
+ .borderRadius(24)
+ .height(170)
+ .width(336)
+ }
+}
+
+@CustomDialog
+export struct privacyDialog {
+ @Prop count: number
+ controller: CustomDialogController
+ cancel: () => void
+ confirm: () => void
+
+ build() {
+ Column() {
+ if (this.count < dialogData.length) {
+ Image(dialogData[this.count].icon)
+ .width(24)
+ .height(24)
+ .margin({
+ top: 24
+ })
+ Text(`${this.count + 1} / ${dialogData.length}`)
+ .fontSize(14)
+ .fontColor($r('app.color.secondary_font_color'))
+ .margin({
+ top: 2
+ })
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start }) {
+ Text(dialogData[this.count].message1).fontSize(16)
+ .margin({
+ top: 16,
+ left: 24
+ })
+ }
+ }
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start }) {
+ Text(dialogData[this.count].message2).fontSize(14)
+ .fontColor($r('app.color.secondary_font_color'))
+ .margin({
+ top: 2,
+ left: 24
+ })
+ }
+ }
+ }
+ }
+ Row() {
+ Flex({ justifyContent: FlexAlign.SpaceAround }) {
+ Button('禁止')
+ .fontSize(16)
+ .onClick(() => {
+ this.cancel()
+ if (this.count === dialogData.length) {
+ this.controller.close()
+ }
+ }).customizeButton()
+ Text('|').fontSize(30).fontColor($r('app.color.divider_color'))
+ Button('允许')
+ .fontSize(16)
+ .onClick(() => {
+ this.confirm()
+ if (this.count === dialogData.length) {
+ this.controller.close()
+ }
+ }).customizeButton()
+ }.margin({
+ top: 8
+ })
+ }
+ }
+ .backgroundColor($r('app.color.default_background_color'))
+ .borderRadius(24)
+ .height(186)
+ .width(336)
+ }
+}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/search.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/search.ets
new file mode 100644
index 0000000000000000000000000000000000000000..712dbe7e032b8fd8f94aadb27214cc783650370e
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/search.ets
@@ -0,0 +1,36 @@
+@Component
+export struct textInput {
+ @Prop placeholder: string
+ build() {
+ Column() {
+ Flex({ alignContent: FlexAlign.Start }) {
+ TextInput({ placeholder: this.placeholder })
+ .padding({ left: 36 })
+ .type(InputType.Normal)
+ .border({ radius: 20 })
+ .placeholderColor($r('app.color.secondary_font_color'))
+ .placeholderFont({ size: '16vp', weight: FontWeight.Normal, family: "sans-serif", style: FontStyle.Normal })
+ .caretColor($r('app.color.secondary_font_color'))
+ .backgroundColor($r('app.color.default_background_color'))
+ .height(40)
+ .width(324)
+ .onChange((value: string) => {
+
+ })
+ .onSubmit((enterKey) => {
+
+ })
+ .onEditChanged((isEditing) => {
+
+ })
+ Column() {
+ Image($r('app.media.search'))
+ .objectFit(ImageFit.Contain)
+ .width(16)
+ .height(16)
+ .margin({ left: -312, top: 12 })
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/titleBar.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/titleBar.ets
new file mode 100644
index 0000000000000000000000000000000000000000..3f48fc789c3c5c69115e337d5636c42a5d79b714
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/components/titleBar.ets
@@ -0,0 +1,24 @@
+@Component
+export struct titleBar {
+ build() {
+ Column() {
+ Text($r('app.string.settings'))
+ .fontColor($r('app.color.title_text_color'))
+ .fontSize("24fp")
+ .margin({
+ left: "14vp",
+ right: "24vp",
+ top: "12vp"
+ })
+ }
+ .useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ .width('40%')
+ .height(56)
+ .constraintSize({ minHeight: "56vp" })
+ .alignItems(HorizontalAlign.Start)
+ .backgroundColor($r('app.color.background_color'))
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/appNameList.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/appNameList.ets
new file mode 100644
index 0000000000000000000000000000000000000000..cc9097df5e7371b6c922368b6f8f3e7d1d01adec
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/appNameList.ets
@@ -0,0 +1,8 @@
+export const calendarListItem: any[] = [
+ { 'name': '读取日历', 'index': 1 },
+ { 'name': '新建/修改/删除日历', 'index': 2 }
+]
+export const dynamicListItem: any[] = [
+ { 'name': 'xxxxxx', 'index': 1 },
+ { 'name': 'xxxxxx', 'index': 2 }
+]
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/appNamePlusList.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/appNamePlusList.ets
new file mode 100644
index 0000000000000000000000000000000000000000..462f8134c8b90281b0419f0f25948485b781e23d
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/appNamePlusList.ets
@@ -0,0 +1,15 @@
+export const allowedListItem: any[] = [
+ { 'name': '相机', 'index': 1 ,permission:''},
+ { 'name': '麦克风', 'index': 2 ,permission:''},
+ { 'name': '媒体和文件', 'index': 3 ,permission:'仅媒体'},
+ { 'name': '日历', 'index': 4 ,permission:'读取日历'}
+]
+export const bannedListItem: any[] = [
+ { 'name': '悬浮窗', 'index': 1 },
+]
+export const buttonListItem: any[] = [
+ { 'name': 'disabled'},
+ { 'name': 'outoffocus'},
+ { 'name': 'hover'},
+ { 'name': 'press'}
+]
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/authorityManagementList.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/authorityManagementList.ets
new file mode 100644
index 0000000000000000000000000000000000000000..e1b948e34fd43fe240c02ac57b386cb9d8b16b2d
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/authorityManagementList.ets
@@ -0,0 +1,35 @@
+export const authorityListItem: any[] = [
+ { 'name': '位置信息', 'index': 1, 'image': $r('app.media.ic_public_gps'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '相机', 'index': 2, 'image': $r('app.media.ic_public_camera'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '麦克风', 'index': 3, 'image': $r('app.media.ic_public_voice'), 'icon': $r('app.media.rightarrow') },
+]
+export const messageListItem: any[] = [
+ { 'name': '电话', 'index': 1, 'image': $r('app.media.ic_public_phone'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '信息', 'index': 2, 'image': $r('app.media.ic_public_message'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '通讯录', 'index': 3, 'image': $r('app.media.ic_public_contacts_group'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '通话记录', 'index': 4, 'image': $r('app.media.ic_call_logs'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '媒体和文件', 'index': 5, 'image': $r('app.media.ic_public_folder'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '日历', 'index': 6, 'image': $r('app.media.ic_public_calendar'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '健身运动', 'index': 7, 'image': $r('app.media.ic_sport'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '身体传感器', 'index': 8, 'image': $r('app.media.ic_ssensor'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '附近设备', 'index': 9, 'image': $r('app.media.ic_nearby'), 'icon': $r('app.media.rightarrow') }
+]
+export const appInstallListItem: any[] = [
+ { 'name': '已安装应用列表', 'index': 1, 'image': $r('app.media.in_app_installations'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '应用内安装其他应用', 'index': 2, 'image': $r('app.media.in_app_installations'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '创建桌面快捷方式', 'index': 3, 'image': $r('app.media.ic_forward'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '悬浮窗', 'index': 4, 'image': $r('app.media.ic_dropzone'), 'icon': $r('app.media.rightarrow') }
+]
+export const otherPermissionsListItem: any[] = [
+ { 'name': '其他权限', 'index': 1, 'image': $r('app.media.ic_more'), 'icon': $r('app.media.rightarrow') }
+]
+export const applicationListItem: any[] = [
+ { 'name': '备忘录', 'index': 1, 'image': $r('app.media.beiwanglu'), 'message': '6项权限', 'icon': $r('app.media.rightarrow'), alphabeticalIndex: 'B' },
+ { 'name': '拨号权限', 'index': 2, 'image': $r('app.media.phone'), 'message': '5项权限', 'icon': $r('app.media.rightarrow'), alphabeticalIndex: 'B' },
+ { 'name': '电子邮件', 'index': 3, 'image': $r('app.media.baiduwangpan'), 'message': '1项权限', 'icon': $r('app.media.rightarrow'), alphabeticalIndex: 'D' },
+ { 'name': '华为视频', 'index': 4,'image': $r('app.media.bilibili'), 'message': '5项权限', 'icon': $r('app.media.rightarrow'), alphabeticalIndex: 'H' },
+ { 'name': '联系人', 'index': 5, 'image': $r('app.media.tongxunlu'), 'message': '5项权限', 'icon': $r('app.media.rightarrow'), alphabeticalIndex: 'L' },
+ { 'name': '日历', 'index': 6, 'image': $r('app.media.ic_public_calendar'), 'message': '5项权限', 'icon': $r('app.media.rightarrow'), alphabeticalIndex: 'R' },
+ { 'name': '手机管家', 'index': 7, 'image': $r('app.media.weixin'), 'message': '5项权限', 'icon': $r('app.media.rightarrow'), alphabeticalIndex: 'S' },
+ { 'name': '图库', 'index': 8, 'image': $r("app.media.photo"), 'message': '5项权限', 'icon': $r('app.media.rightarrow'), alphabeticalIndex: 'T' }
+]
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/categoryList.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/categoryList.ets
new file mode 100644
index 0000000000000000000000000000000000000000..45f5ec115dee930e3e2d3ac407907836bd198720
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/categoryList.ets
@@ -0,0 +1,12 @@
+export const categoryListItem: any[] = [
+ { 'name': '声音和振动', 'index': 1, 'image': $r('app.media.shengyin'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '通知', 'index': 2, 'image': $r('app.media.tongzhi'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '生物识别', 'index': 3, 'image': $r('app.media.shibie'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '应用和服务', 'index': 4,'image': $r('app.media.yingyong'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '电池', 'index': 5, 'image': $r('app.media.dianchi'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '存储', 'index': 6, 'image': $r('app.media.cunchu'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '安全', 'index': 7, 'image': $r('app.media.anquan'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '隐私', 'index': 8, 'image': $r('app.media.yinsi'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '平板健康', 'index': 9, 'image': $r('app.media.jiankang'), 'icon': $r('app.media.rightarrow') },
+ { 'name': '应用设置', 'index': 10, 'image': $r('app.media.shezhi'), 'icon': $r('app.media.rightarrow') }
+]
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/dialogDataList.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/dialogDataList.ets
new file mode 100644
index 0000000000000000000000000000000000000000..f3feab0c77db0e39ae9a382e80fa1e170e251fb5
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/dialogDataList.ets
@@ -0,0 +1,6 @@
+export const dialogData: any[] = [
+ { 'name': '权限1', 'index': 1, 'message1': '内容1','message2': '内容一', 'icon': $r("app.media.ic_exercise") },
+ { 'name': '权限2', 'index': 2, 'message1': '内容2','message2': '内容二', 'icon': $r("app.media.ic_exercise") },
+ { 'name': '权限3', 'index': 3, 'message1': '内容3','message2': '内容三', 'icon': $r("app.media.ic_exercise") },
+ { 'name': '权限4', 'index': 4, 'message1': '内容4','message2': '内容四', 'icon': $r("app.media.ic_exercise") }
+]
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/mediaDocList.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/mediaDocList.ets
new file mode 100644
index 0000000000000000000000000000000000000000..77cd736315f55a1af0ba6dbc1a16ba8df5e2c763
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/mediaDocList.ets
@@ -0,0 +1,4 @@
+export const mediaDocListItem: any[] = [
+ { 'name': '允许', 'index': 1, groupName: 'radio', checked: 1 },
+ { 'name': '禁止', 'index': 2, groupName: 'radio', checked: 0 }
+]
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/otherPermissionsList.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/otherPermissionsList.ets
new file mode 100644
index 0000000000000000000000000000000000000000..36fc9ab085ab0d945462cdaa63455f28128bf6b3
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/otherPermissionsList.ets
@@ -0,0 +1,5 @@
+export const otherPermissionsListItem: any[] = [
+ { 'name': '生物识别', 'index': 1, 'icon': $r('app.media.rightarrow') },
+ { 'name': '微博', 'index': 2, 'icon': $r('app.media.rightarrow') },
+ { 'name': '附近设备', 'index': 3, 'icon': $r('app.media.rightarrow') },
+]
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/permissionAccessRecordList.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/permissionAccessRecordList.ets
new file mode 100644
index 0000000000000000000000000000000000000000..a5cca9c8d3a20ef74b47ca96f002b1591d87fe0a
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/permissionAccessRecordList.ets
@@ -0,0 +1,4 @@
+export const permissionAccessRecordListItem: any[] = [
+ { 'name1': '微信', 'index': 1, 'image1': $r('app.media.weixin'), 'image2': $r('app.media.phone'), 'name2': '电话', 'visits': 16, 'lastVisitTime': '12月29日 上午12:22' },
+ { 'name1': 'QQ', 'index': 2, 'image1': $r('app.media.qq'), 'image2': $r('app.media.phone'), 'name2': '电话', 'visits': 10, 'lastVisitTime': '12月30日 上午13:54' }
+]
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/privacyList.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/privacyList.ets
new file mode 100644
index 0000000000000000000000000000000000000000..c8b318c9034bbc70d79b5bd26fe49f16a14e11cf
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/model/privacyList.ets
@@ -0,0 +1,6 @@
+export const privacyListItem: any[] = [
+ { 'name': '权限管理', 'index': 1, 'message': '', 'icon': $r('app.media.rightarrow') },
+ { 'name': '定位服务', 'index': 2, 'message': '已开启', 'icon': $r('app.media.rightarrow') },
+ { 'name': '隐私空间', 'index': 3, 'message': '', 'icon': $r('app.media.rightarrow') },
+ { 'name': '广告与隐私', 'index': 4,'message': '', 'icon': $r('app.media.rightarrow') }
+]
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/utils/utils.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/utils/utils.ets
new file mode 100644
index 0000000000000000000000000000000000000000..8b137891791fe96927ad78e64b0aad7bded08bdc
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/common/utils/utils.ets
@@ -0,0 +1 @@
+
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/app-name-plus.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/app-name-plus.ets
new file mode 100644
index 0000000000000000000000000000000000000000..c2383482447236349547516a1f996610b6db256b
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/app-name-plus.ets
@@ -0,0 +1,186 @@
+import { titleBar } from "../common/components/titleBar.ets"
+import { categoryPage } from "../common/components/category.ets"
+import { backBar } from "../common/components/backBar.ets"
+import { allowedListItem, bannedListItem, buttonListItem } from "../common/model/appNamePlusList.ets"
+import router from '@system.router'
+
+@Entry
+@Component
+struct appNamePlusPage {
+ build() {
+ Flex({ justifyContent: FlexAlign.Center }) {
+ Column() {
+ Row() {
+ // titleBar()
+ backBar({ title: JSON.stringify($r("app.string.app_name")) })
+ }
+ Row() {
+ // categoryPage()
+ Column() {
+ Scroll() {
+ appNameItem({
+ allowedListItem: allowedListItem,
+ bannedListItem: bannedListItem,
+ buttonListItem: buttonListItem
+ })
+ }
+ }.width('100%')
+ }.layoutWeight(1).width(360)
+ }
+ }
+ }
+}
+
+@Component
+struct appNameItem {
+ private allowedListItem: any[]
+ private bannedListItem: any[]
+ private buttonListItem: any[]
+ @State text: string = ''
+ @State fontColor: string = ''
+
+ build() {
+ Row() {
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Text($r('app.string.allowed'))
+ .fontSize(14)
+ .margin({ top: 19.5, left: 48 })
+ }
+ }
+ Row() {
+ List() {
+ ForEach(this.allowedListItem, (item) => {
+ ListItem() {
+ Row() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Column() {
+ if(item.permission != ''){
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ }
+ }.margin({ top: 8 })
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Text(item.permission)
+ .fontSize(14)
+ .fontColor($r('app.color.icon_color'))
+ }
+ }.margin({ bottom: 8 })
+ }else{
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ }.margin({ top: 8, bottom: 8 })
+ }.height('100%')
+ }
+
+ }.flexGrow(1).constraintSize({ minHeight: "48vp" })
+ Image($r('app.media.rightarrow'))
+ .objectFit(ImageFit.Contain)
+ .height(24)
+ .width(12)
+ }
+ .width('100%')
+ .height(48)
+ }
+ if (item.index !== this.allowedListItem.length) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }.onClick(() => {
+ })
+ }
+ }.padding({ left: 24, right: 24 })
+ }, item => item.toString())
+ }.backgroundColor($r('app.color.default_background_color')).borderRadius(24).padding({ top: 4, bottom: 4 })
+ }.margin({ top: 9 }).padding({ left: 24, right: 24 })
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Text($r('app.string.banned'))
+ .fontSize(14)
+ .margin({ top: 19.5, left: 48 })
+ }
+ }
+ Row() {
+ List() {
+ ForEach(this.bannedListItem, (item) => {
+ ListItem() {
+ Row() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Image($r('app.media.rightarrow'))
+ .objectFit(ImageFit.Contain)
+ .height(24)
+ .width(12)
+ }
+ .width('100%')
+ .height(48)
+ }
+ if (item.index !== this.bannedListItem.length) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }.onClick(() => {
+ })
+ }
+ }.padding({ left: 24, right: 24 })
+ }, item => item.toString())
+ }.backgroundColor($r('app.color.default_background_color')).borderRadius(24).padding({ top: 4, bottom: 4 })
+ }.margin({ top: 9 }).padding({ left: 24, right: 24 })
+ Row() {
+ if(this.buttonListItem[0]['name'] !== 'disabled' ) {
+ Button('查看所有权限', { type: ButtonType.Capsule, stateEffect: false })
+ .fontColor($r('app.color.icon_color'))
+ .backgroundColor($r('app.color.background_color'))
+ .width(90)
+ }else{
+ Button('查看所有权限', { type: ButtonType.Capsule, stateEffect: true })
+ .fontColor($r('app.color.button_color'))
+ .backgroundColor($r('app.color.background_color'))
+ .width(90).height(48)
+ .onTouch((event: TouchEvent) => {
+ if (event.type === TouchType.Down) {
+ }
+ if (event.type === TouchType.Up) {
+ }
+ if (event.type === TouchType.Move) {
+ if(event.touches[0].x < 0 || event.touches[0].x > 90 || event.touches[0].y > 0 || event.touches[0].y > 48) {
+ this.fontColor = $r('app.color.icon_color') + ''
+ }
+ }
+ })
+ }
+ }.margin({top:16})
+ }
+ .width('100%')
+ .height('100%')
+ .backgroundColor($r('app.color.background_color'))
+
+ }.useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ }
+}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/app-name.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/app-name.ets
new file mode 100644
index 0000000000000000000000000000000000000000..6492a185b32ea36a879b14236719f33a415f0a2b
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/app-name.ets
@@ -0,0 +1,137 @@
+import { titleBar } from "../common/components/titleBar.ets"
+import { categoryPage } from "../common/components/category.ets"
+import { backBar } from "../common/components/backBar.ets"
+import { calendarListItem, dynamicListItem } from "../common/model/appNameList.ets"
+import router from '@system.router'
+@Entry
+@Component
+struct appNamePage {
+ build() {
+ Flex({ justifyContent: FlexAlign.Center }) {
+ Column() {
+ Row() {
+ // titleBar()
+ backBar({ title: JSON.stringify($r("app.string.app_name")) })
+ }
+ Row() {
+ // categoryPage()
+ Column() {
+ Scroll() {
+ appNameItem({
+ calendarListItem: calendarListItem,
+ dynamicListItem: dynamicListItem
+ })
+ }
+ }
+ }.layoutWeight(1).width(360)
+ }
+ }
+ }
+}
+
+@Component
+struct appNameItem {
+ private calendarListItem: any[]
+ private dynamicListItem: any[]
+
+ build() {
+ Row() {
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Text($r('app.string.calendar'))
+ .fontSize(14)
+ .margin({ top: 19.5, left: 48 })
+ }
+ }
+ Row() {
+ List() {
+ ForEach(this.calendarListItem, (item) => {
+ ListItem() {
+ Row() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Toggle({ type: ToggleType.Switch, isOn: true })
+ .selectedColor($r('app.color.toggle_color'))
+ .width(36)
+ .height(20)
+ .onChange((isOn: boolean) => {
+ })
+ }
+ .width('100%')
+ .height(48)
+ }
+ if (item.index !== this.calendarListItem.length) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }.onClick(() => {
+ })
+ }
+ }.padding({ left: 24, right: 24 })
+ }, item => item.toString())
+ }.backgroundColor($r('app.color.default_background_color')).borderRadius(24).padding({ top: 4, bottom: 4 })
+ }.margin({ top: 9 }).padding({ left: 24, right: 24 })
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Text('xxx')
+ .fontSize(14)
+ .margin({ top: 19.5, left: 48 })
+ }
+ }
+ Row() {
+ List() {
+ ForEach(this.dynamicListItem, (item) => {
+ ListItem() {
+ Row() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Toggle({ type: ToggleType.Switch, isOn: true })
+ .selectedColor($r('app.color.toggle_color'))
+ .width(36)
+ .height(20)
+ .onChange((isOn: boolean) => {
+ })
+ }
+ .width('100%')
+ .height(48)
+ }
+ if (item.index !== this.dynamicListItem.length) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }.onClick(() => {
+ })
+ }
+ }.padding({ left: 24, right: 24 })
+ }, item => item.toString())
+ }.backgroundColor($r('app.color.default_background_color')).borderRadius(24).padding({ top: 4, bottom: 4 })
+ }.margin({ top: 9 }).padding({ left: 24, right: 24 })
+ }
+ .width('100%')
+ .height('100%')
+ .backgroundColor($r('app.color.background_color'))
+ }.useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ }
+}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/authority-management.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/authority-management.ets
new file mode 100644
index 0000000000000000000000000000000000000000..15c38df01066baa34fccdcacd9106838bcccc14e
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/authority-management.ets
@@ -0,0 +1,319 @@
+import { authorityListItem, messageListItem, appInstallListItem, otherPermissionsListItem, applicationListItem } from "../common/model/authorityManagementList.ets"
+import { titleBar } from "../common/components/titleBar.ets"
+import { categoryPage } from "../common/components/category.ets"
+import { backBar } from "../common/components/backBar.ets"
+import { alphabetIndexerComponent } from "../common/components/alphabeticalIndex.ets"
+import { textInput } from "../common/components/search.ets"
+import router from '@system.router'
+
+@Extend(Text) function customizeText(fontSize: string) {
+ .fontSize(fontSize)
+ .fontColor($r('app.color.text_color'))
+}
+@Extend(Image) function customizeImage(width: number, height: number) {
+ .objectFit(ImageFit.Contain)
+ .width(width)
+ .height(height)
+}
+@Extend(Row) function customizeRow() {
+ .backgroundColor($r('app.color.default_background_color'))
+ .width('500%')
+ .height('7%')
+ .borderRadius('20px')
+ .margin({
+ left: '10vp'
+ })
+}
+
+@Entry
+@Component
+struct authorityManagementPage {
+ build() {
+ Flex({ justifyContent: FlexAlign.Center }) {
+ Column() {
+ Row() {
+ // titleBar()
+ backBar( { title: JSON.stringify($r('app.string.authority_management')) })
+ }
+ Row() {
+ // categoryPage()
+ Column() {
+ Column() {
+ Stack() {
+ Tabs() {
+ TabContent() {
+ Scroll() {
+ authorityItem({
+ authorityListItem: authorityListItem,
+ messageListItem: messageListItem,
+ appInstallListItem: appInstallListItem,
+ otherPermissionsListItem: otherPermissionsListItem
+ })
+ }
+ }.tabBar('权限')
+
+ TabContent() {
+ Scroll() {
+ applicationItem({
+ applicationListItem: applicationListItem,
+ })
+ }
+ }.tabBar('应用')
+ }
+ .backgroundColor($r('app.color.background_color'))
+ .barWidth(744)
+ .barMode(BarMode.Scrollable)
+ }.height('100%')
+ }
+ }.width('100%')
+ }
+ .useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ .layoutWeight(1)
+ .width(360)
+ }
+ }
+ }
+}
+
+@Component
+struct authorityItem {
+ private authorityListItem: any[]
+ private messageListItem: any[]
+ private appInstallListItem: any[]
+ private otherPermissionsListItem: any[]
+
+ build() {
+ Row() {
+ Column() {
+ Row() {
+ List() {
+ ForEach(this.authorityListItem, (item) => {
+ ListItem() {
+ Row() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Image(item.image)
+ .customizeImage(24, 24)
+ .margin({ right: 16 })
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Image(item.icon)
+ .customizeImage(12, 24)
+ }
+ .width('100%')
+ .height(56)
+ }
+ if (item.index !== this.authorityListItem.length) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }.onClick(() => {
+ })
+ }
+ }.padding({ left: 12, right: 12 })
+ }, item => item.toString())
+ }.backgroundColor($r('app.color.default_background_color')).borderRadius(24).padding({ top: 4, bottom: 4 })
+ }.padding({ left: 12, right: 12, top: 8 })
+ Row() {
+ List() {
+ ForEach(this.messageListItem, (item) => {
+ ListItem() {
+ Row() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Image(item.image)
+ .customizeImage(24, 24)
+ .margin({ right: 16 })
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Image(item.icon)
+ .customizeImage(12, 24)
+ }
+ .width('100%')
+ .height(56)
+ }
+ if (item.index !== this.messageListItem.length) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }.onClick(() => {
+ })
+ }
+ }.padding({ left: 12, right: 12 })
+ }, item => item.toString())
+ }.backgroundColor($r('app.color.default_background_color')).borderRadius(24).padding({ top: 4, bottom: 4 })
+ }.margin({ top: 12 }).padding({ left: 12, right: 12 })
+ Row() {
+ List() {
+ ForEach(this.appInstallListItem, (item) => {
+ ListItem() {
+ Row() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Image(item.image)
+ .customizeImage(24, 24)
+ .margin({ right: 16 })
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Image(item.icon)
+ .customizeImage(12, 24)
+ }
+ .width('100%')
+ .height(56)
+ }
+ if (item.index !== this.appInstallListItem.length) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }.onClick(() => {
+ })
+ }
+ }.padding({ left: 12, right: 12 })
+ }, item => item.toString())
+ }.backgroundColor($r('app.color.default_background_color')).borderRadius(24).padding({ top: 4, bottom: 4 })
+ }.margin({ top: 12 }).padding({ left: 12, right: 12 })
+ Row() {
+ List() {
+ ForEach(this.otherPermissionsListItem, (item) => {
+ ListItem() {
+ Row() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Image(item.image)
+ .customizeImage(24, 24)
+ .margin({ right: 16 })
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Image(item.icon)
+ .customizeImage(12, 24)
+ }
+ .width('100%')
+ .height(56)
+ }
+ if (item.index !== this.otherPermissionsListItem.length) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }.onClick(() => {
+ })
+ }
+ }.padding({ left: 12, right: 12 })
+ }, item => item.toString())
+ }.backgroundColor($r('app.color.default_background_color')).borderRadius(24).padding({ top: 4, bottom: 4 })
+ }.margin({ top: 12 }).padding({ left: 12, right: 12 })
+ }.width('100%')
+ .backgroundColor($r('app.color.background_color'))
+ }.useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ }
+}
+
+@Component
+struct applicationItem {
+ @State applicationList: any[] = applicationListItem
+ private applicationListItem: any[]
+
+ @Builder ListItemLayout(item, index) {
+ ListItem() {
+ Row() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Image(item.image)
+ .customizeImage(40, 40)
+ .margin({ right: 16 })
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Text(item.message)
+ .fontSize(14)
+ .fontColor($r('app.color.icon_color'))
+ .margin({ right: 4 })
+ Image(item.icon)
+ .customizeImage(12, 24)
+ }
+ .width('100%')
+ .height(72)
+ .constraintSize({ minHeight: "72vp" })
+ }
+ if (index === 0) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }.onClick(() => {
+ })
+ }
+ }.padding({ left: 12, right: 12 })
+ }
+ build() {
+ Column() {
+ Row() {
+ textInput({ placeholder: '搜索应用' })
+ }.padding({ left: 12, top: 8 })
+ Row() {
+ Flex({ alignItems: ItemAlign.Start }) {
+ Column() {
+ Row() {
+ List() {
+ ForEach(this.applicationList.slice(0, this.applicationList.length - 1), (item) => {
+ this.ListItemLayout(item, 0)
+ }, item => item.toString())
+ ForEach(this.applicationList.slice(-1), (item, index) => {
+ this.ListItemLayout(item, 1)
+ }, item => item.toString())
+ }.backgroundColor($r('app.color.default_background_color')).borderRadius(24).padding({ top: 4, bottom: 4 })
+ }.margin({ top: 12 }).padding({ left: 12 })
+ }
+ .backgroundColor($r('app.color.background_color'))
+ Column() {
+ alphabetIndexerComponent({ page: 'authority-management', applicationList: $applicationList })
+ }
+ .margin({ top: 12 })
+ .width(24)
+ .padding({ right: 0 })
+ }
+ }.useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ }
+ }
+}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/location-info.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/location-info.ets
new file mode 100644
index 0000000000000000000000000000000000000000..3f05b2b3b6b653be08cf8bfd94fdba7e900f54a9
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/location-info.ets
@@ -0,0 +1,141 @@
+import { applicationListItem } from "../common/model/authorityManagementList.ets"
+import { titleBar } from "../common/components/titleBar.ets"
+import { categoryPage } from "../common/components/category.ets"
+import { backBar } from "../common/components/backBar.ets"
+import { alphabetIndexerComponent } from "../common/components/alphabeticalIndex.ets"
+import { textInput } from "../common/components/search.ets"
+import router from '@system.router'
+
+@Extend(Text) function customizeText(fontSize: string) {
+ .fontSize(fontSize)
+ .fontColor($r('app.color.text_color'))
+}
+@Extend(Image) function customizeImage(width: number, height: number) {
+ .objectFit(ImageFit.Contain)
+ .width(width)
+ .height(height)
+}
+@Extend(Row) function customizeRow() {
+ .backgroundColor($r('app.color.default_background_color'))
+ .width('500%')
+ .height('7%')
+ .borderRadius('20px')
+ .margin({
+ left: '10vp'
+ })
+}
+
+@Entry
+@Component
+struct locationInfoPage {
+ build() {
+ Flex({ justifyContent: FlexAlign.Center }) {
+ Column() {
+ Row() {
+ // titleBar()
+ backBar({title: JSON.stringify($r("app.string.location_info"))})
+ }
+ Row() {
+ // categoryPage()
+ Column() {
+ Scroll() {
+ applicationItem({
+ applicationListItem: applicationListItem
+ })
+ }
+ }.width(360)
+ }
+ .layoutWeight(1)
+ }
+ }
+ }
+}
+
+@Component
+struct applicationItem {
+ @State applicationList: any[] = applicationListItem
+ private applicationListItem: any[]
+ @Builder ListItemLayout(item, index) {
+ ListItem() {
+ Row() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Image(item.image)
+ .customizeImage(40, 40)
+ .margin({ right: 16 })
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Toggle({ type: ToggleType.Switch, isOn: true })
+ .selectedColor($r('app.color.toggle_color'))
+ .width(36)
+ .height(20)
+ .onChange((isOn: boolean) => {
+ })
+ }
+ .width('100%')
+ .height(72)
+ .constraintSize({ minHeight: "72vp" })
+ }
+ if (index === 0) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }.onClick(() => {
+ })
+ }
+ }.padding({ left: 12, right: 12 })
+ }
+ build() {
+ Column() {
+ Row() {
+ textInput({ placeholder: '搜索应用' })
+ }.padding({ left: 12 })
+ .backgroundColor($r('app.color.background_color'))
+ Row() {
+ Flex({ alignItems:ItemAlign.Start, justifyContent: FlexAlign.Start }) {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start }) {
+ Text($r('app.string.location_info_message'))
+ .fontSize(14)
+ .fontColor($r('app.color.secondary_font_color'))
+ .margin({ top: 24, left: 12 })
+ }
+ Row() {
+ Column() {
+ Row() {
+ List() {
+ ForEach(this.applicationList.slice(0, this.applicationList.length - 1), (item) => {
+ this.ListItemLayout(item, 0)
+ }, item => item.toString())
+ ForEach(this.applicationList.slice(-1), (item, index) => {
+ this.ListItemLayout(item, 1)
+ }, item => item.toString())
+ }
+ .backgroundColor($r('app.color.default_background_color'))
+ .borderRadius(24)
+ .padding({ top: 4, bottom: 4 })
+ }.margin({ top: 24 })
+ }.width('100%')
+ .height('100%')
+ .backgroundColor($r('app.color.background_color'))
+ }.useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ }.padding({ left: 12 }).width(336)
+ Column() {
+ alphabetIndexerComponent({ page: 'location-info', applicationList: $applicationList })
+ }.width(24).padding({ top: 16 })
+ }
+ }
+ .backgroundColor($r('app.color.background_color'))
+ }
+ }
+}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/media-documents.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/media-documents.ets
new file mode 100644
index 0000000000000000000000000000000000000000..4b99ac17d51265ada1fc36753031f0ca6e6bd1d8
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/media-documents.ets
@@ -0,0 +1,131 @@
+import { titleBar } from "../common/components/titleBar.ets"
+import { categoryPage } from "../common/components/category.ets"
+import { backBar } from "../common/components/backBar.ets"
+import { mediaDocListItem } from "../common/model/mediaDocList.ets"
+import router from '@system.router'
+@Entry
+@Component
+struct mediaDocumentPage {
+ build() {
+ Flex({ justifyContent: FlexAlign.Center }) {
+ Column() {
+ Row() {
+// titleBar()
+ backBar({title: JSON.stringify($r("app.string.media_document"))})
+ }
+ Row() {
+// categoryPage()
+ Column() {
+ Scroll() {
+ otherMediaDocItem({
+ mediaDocListItem:mediaDocListItem
+ })
+ }
+ }.width(360)
+ }
+ .layoutWeight(1)
+ }
+ }
+ }
+}
+
+@Component
+struct otherMediaDocItem {
+ @State checkList: any[] = [1, 0]
+ private mediaDocListItem: any[]
+ build() {
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Image($r('app.media.ic_ssensor'))
+ .width(64)
+ .height(64)
+ .margin({left:24,right:12})
+ Column() {
+ Row() {
+ Text('应用名称')
+ .fontSize(16)
+ .fontColor("#182431")
+ }
+ Row() {
+ Text('版本X.X.XXX')
+ }
+ }
+ }
+ }
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Text('用于XXXX')
+ }.margin({left:36,right:12})
+ }
+ }
+ .margin({top:24})
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Text('媒体和文件访问权限')
+ }.margin({left:36,right:12})
+ }
+ }
+ .height(48)
+ .margin({top:12})
+ Column() {
+ List() {
+ ForEach(this.mediaDocListItem, (item) => {
+ ListItem() {
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Radio({ group:item.groupName,value:item.index })
+ .width(24)
+ .height(24)
+ .checked(this.checkList[item.index - 1])
+ .onChange((isChecked) => {
+ if (item.index - 1) {
+ if (!isChecked) {
+ this.checkList[1] = 0
+ }
+ this.checkList = [0, 1]
+ } else {
+ if (!isChecked) {
+ this.checkList[1] = 1
+ }
+ this.checkList = [1, 0]
+ }
+ })
+ Image($r('app.media.ic_ssensor'))
+ }.backgroundColor($r('app.color.default_background_color'))
+ .width('100%')
+ .height('48')
+ }
+ }
+ }
+ .onClick(() => {
+ })
+ }
+ .padding({ left: 12,right: 12 })
+ .margin({ top: 1 })
+ }, item => item.toString())
+ }
+ .borderRadius(24)
+ .backgroundColor($r('app.color.default_background_color'))
+ .padding({ left: 12, right: 12, top: 3, bottom: 4 })
+ }
+ .padding({ left: 24, right: 24 })
+ .width('100%')
+ .height('100%')
+ .backgroundColor($r('app.color.background_color'))
+ }
+ .backgroundColor($r('app.color.background_color'))
+ .useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/other-permissions.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/other-permissions.ets
new file mode 100644
index 0000000000000000000000000000000000000000..a26ade173fd95c8032504fcdc361a3f8eba329ec
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/other-permissions.ets
@@ -0,0 +1,91 @@
+import { titleBar } from "../common/components/titleBar.ets"
+import { categoryPage } from "../common/components/category.ets"
+import { backBar } from "../common/components/backBar.ets"
+import { otherPermissionsListItem } from "../common/model/otherPermissionsList.ets"
+import router from '@system.router'
+@Entry
+@Component
+struct permissionsPage {
+ build() {
+ Flex({ justifyContent: FlexAlign.Center }) {
+ Column() {
+ Row() {
+// titleBar()
+ backBar({title: JSON.stringify($r("app.string.other_permissions"))})
+ }
+ Row() {
+ Column() {
+// categoryPage()
+ }
+ Column() {
+ Scroll() {
+ otherPermissionsItem({
+ otherPermissionsListItem: otherPermissionsListItem
+ })
+ }
+ }.width(360)
+ }
+ .layoutWeight(1)
+ }
+ }
+ }
+}
+
+@Component
+struct otherPermissionsItem {
+ private otherPermissionsListItem: any[]
+ build() {
+ Row() {
+ Column() {
+ List() {
+ ForEach(this.otherPermissionsListItem, (item) => {
+ ListItem() {
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Text(item.name)
+ .fontSize(16)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Image(item.icon)
+ .objectFit(ImageFit.Contain)
+ .height(24)
+ .width(12)
+ }.backgroundColor($r('app.color.default_background_color'))
+ .width('100%')
+ .height('48')
+ }
+ }
+ if (item.index !== this.otherPermissionsListItem.length) {
+ Row() {
+ Column()
+ .backgroundColor($r('app.color.text_decoration_color'))
+ .width('100%')
+ .height('2vp')
+ }
+ }
+ }
+ .onClick(() => {
+ })
+ }
+ .padding({ left: 12,right: 12 })
+ .margin({ top: 1 })
+ }, item => item.toString())
+ }
+ .margin({top:8})
+ .borderRadius(24)
+ .backgroundColor($r('app.color.default_background_color'))
+ .padding({ left: 12, right: 12, top: 3, bottom: 4 })
+ }
+ .padding({ left: 37, right: 37 })
+ .width('100%')
+ .height('100%')
+ .backgroundColor($r('app.color.background_color'))
+ }
+ .useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/permission-access-record.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/permission-access-record.ets
new file mode 100644
index 0000000000000000000000000000000000000000..42ec0fcb50c54eb8fb9c960c0ba5f6495f07df69
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/permission-access-record.ets
@@ -0,0 +1,172 @@
+import { permissionAccessRecordListItem } from "../common/model/permissionAccessRecordList.ets"
+import { titleBar } from "../common/components/titleBar.ets"
+import { categoryPage } from "../common/components/category.ets"
+import { backBar } from "../common/components/backBar.ets"
+import router from '@system.router'
+
+@Extend(Text) function customizeText(fontSize: string) {
+ .fontSize(fontSize)
+ .fontColor($r('app.color.text_color'))
+}
+@Extend(Image) function customizeImage(width: number, height: number) {
+ .objectFit(ImageFit.Contain)
+ .width(width)
+ .height(height)
+}
+
+@Entry
+@Component
+struct permissionAccessRecordPage {
+ build() {
+ Flex({ justifyContent: FlexAlign.Center }) {
+ Column() {
+ Row() {
+ // titleBar()
+ backBar({ title: JSON.stringify($r('app.string.permission_access_record'))})
+ }
+ Row() {
+ // categoryPage()
+ Column() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start }) {
+ Text($r('app.string.authority_message'))
+ .fontSize("16vp")
+ .margin({
+ left: '15vp'
+ })
+ }
+ .backgroundColor($r('app.color.background_color'))
+ Scroll() {
+ permissionAccessRecordItem({
+ permissionAccessRecordListItem: permissionAccessRecordListItem,
+ })
+ }
+ }
+ }.width(360)
+ }
+ .layoutWeight(1)
+ }
+ }
+ }
+}
+
+@Component
+struct permissionAccessRecordItem {
+ private permissionAccessRecordListItem: any[]
+ @State collapseList: boolean[] = new Array(permissionAccessRecordListItem.length).fill(false)
+ @State iconList: any[] = new Array(permissionAccessRecordListItem.length).fill($r('app.media.downarrow'))
+ build() {
+ Row() {
+ Column() {
+ List() {
+ ForEach(this.permissionAccessRecordListItem, (item) => {
+ ListItem() {
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Image(item.image1)
+ .customizeImage(40, 40)
+ .margin({
+ left: "10vp",
+ right: "5vp"
+ })
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Text(item.name1)
+ .customizeText('16vp')
+ }
+ .flexGrow(1)
+ Image(this.iconList[item.index - 1])
+ .customizeImage(20, 20)
+ .margin({
+ top: '20vp',
+ right: '40vp'
+ })
+ }
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Image(item.image2)
+ .customizeImage(20, 20)
+ .margin({
+ top: '-8vp'
+ })
+ }
+ }
+ }
+ }
+ .margin({
+ top: '10vp',
+ bottom: '10vp'
+ })
+ }.onClick(() => {
+ if (this.collapseList[item.index - 1]) {
+ this.collapseList[item.index - 1] = false
+ this.iconList[item.index - 1] = $r('app.media.downarrow')
+ } else {
+ this.collapseList[item.index - 1]= true
+ this.iconList[item.index - 1] = $r('app.media.uparrow')
+ }
+ })
+ if (this.collapseList[item.index - 1]) {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Image(item.image2)
+ .customizeImage(30, 30)
+ .margin({
+ left: "15vp",
+ right: "5vp"
+ })
+ Column() {
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Text(item.name2)
+ .customizeText('16vp')
+ .margin({
+ top: '2vp'
+ })
+ }
+ }
+ Row() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Text("访问次数:" + item.visits + "; " + "最近访问:" + item.lastVisitTime)
+ .customizeText('16vp')
+ .margin({
+ top: '2vp'
+ })
+ }
+ }
+ }
+ }
+ }.margin({
+ bottom: '20vp'
+ })
+ }
+ }.backgroundColor($r('app.color.default_background_color'))
+ .borderRadius('25px')
+ .width('100%')
+ .margin({
+ left: '10vp',
+ top: '10vp'
+ }).onClick(() => {
+ if (item.name === '权限管理') {
+ router.push({ uri: 'pages/authority_management' })
+ }
+ })
+ }
+ }, item => item.index.toString())
+ }
+ }
+ .useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ .width('100%')
+ .height('100%')
+ .backgroundColor($r('app.color.background_color'))
+ }.useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ }
+}
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/privacy.ets b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/privacy.ets
new file mode 100644
index 0000000000000000000000000000000000000000..9f928522142a1062ca6b70f41a85e2b282f32819
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/pages/privacy.ets
@@ -0,0 +1,156 @@
+import { positionDialog, spaceDialog, privacyDialog } from "../common/components/dialog.ets"
+import { titleBar } from "../common/components/titleBar.ets"
+import { categoryPage } from "../common/components/category.ets"
+import { backBar } from "../common/components/backBar.ets"
+import { privacyListItem } from "../common/../common/model/privacyList.ets"
+import { dialogData } from "../common/model/dialogDataList.ets"
+import router from '@system.router'
+
+@Entry
+@Component
+struct privacyPage {
+ build() {
+ Flex({ justifyContent: FlexAlign.Center }) {
+ Column() {
+ Row() {
+ // titleBar()
+ backBar({title: JSON.stringify($r("app.string.privacy"))})
+ }
+ Row() {
+ // categoryPage()
+ Column() {
+ Scroll() {
+ privacyItem({
+ privacyListItem: privacyListItem
+ })
+ }
+ }.width(360)
+ }.layoutWeight(1)
+ }
+ }
+ }
+}
+
+@Component
+struct privacyItem {
+ private privacyListItem: any[]
+ @State messageList: string[] = [ '', '未开启', '', '']
+ @State count: number = 0
+// @State returnList :string[] = []
+ positionDialogController: CustomDialogController = new CustomDialogController({
+ builder: positionDialog({ cancel: this.positionCancel, confirm: this.positionAccept, messageList: $messageList }),
+ cancel: this.positionExist,
+ autoCancel: true,
+ alignment: DialogAlignment.Bottom,
+ offset: { dx: 0 , dy: -12 },
+ customStyle: true
+ })
+ positionCancel() {
+ const index = privacyListItem.findIndex((item) => { return item.name === '定位服务' })
+ this.messageList[index] = '未开启'
+ }
+ positionAccept() {
+ const index = privacyListItem.findIndex((item) => { return item.name === '定位服务' })
+ this.messageList[index] = '已开启'
+ }
+ positionExist() {
+ }
+ spaceDialogController: CustomDialogController = new CustomDialogController({
+ builder: spaceDialog({ cancel: this.spaceCancel, confirm: this.spaceAccept }),
+ cancel: this.spaceExist,
+ autoCancel: true,
+ alignment: DialogAlignment.Bottom,
+ offset: { dx: 0 , dy: -12 },
+ customStyle: true
+ })
+ spaceCancel() {
+ }
+ spaceAccept() {
+ }
+ spaceExist() {
+ }
+ privacyDialogController: CustomDialogController = new CustomDialogController({
+ builder: privacyDialog({ cancel: this.privacyCancel, confirm: this.privacyAccept, count:this.count }),
+ cancel: this.privacyExist,
+ autoCancel: true,
+ alignment: DialogAlignment.Bottom,
+ offset: { dx: 0 , dy: -12 },
+ customStyle: true
+ })
+ privacyAccept() {
+ this.count < dialogData.length ? this.count += 1 : this.count = 0
+ // this.returnList.push('0')
+ console.info('accept ' + this.count)
+
+ }
+ privacyCancel() {
+ if (this.count < dialogData.length) {
+ this.count += 1
+ // this.returnList.push('1')
+ } else {
+ this.count = 0
+ // this.returnList = []
+ }
+ console.info('cancel' + this.count)
+
+ }
+ privacyExist() {
+ // this.returnList = []
+ console.info("exist")
+ }
+ build() {
+ Row() {
+ Column() {
+ List() {
+ ForEach(this.privacyListItem, (item) => {
+ ListItem() {
+ Column() {
+ Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) {
+ Row() {
+ Text(item.name)
+ .fontSize(18)
+ .fontColor($r('app.color.text_color'))
+ .flexGrow(1)
+ Text(this.messageList[item.index - 1])
+ .fontSize(18)
+ .fontColor($r('app.color.icon_color'))
+ Image(item.icon)
+ .objectFit(ImageFit.Contain)
+ .height(20)
+ .width(20)
+ }.backgroundColor($r('app.color.default_background_color'))
+ .borderRadius('25px')
+ .width('100%')
+ .height('7%')
+ .margin({
+ left: '10vp',
+ bottom: '10vp'
+ })
+ }
+ }.margin({ right: '20vp'}).onClick(() => {
+ if (item.name === '权限管理') {
+ router.push({ uri: 'pages/authority-management' })
+ }
+ if (item.name === '定位服务') {
+ this.positionDialogController.open()
+ }
+ if (item.name === '隐私空间') {
+ this.spaceDialogController.open()
+ }
+ if (item.name === '广告与隐私') {
+ this.privacyDialogController.open()
+ }
+ })
+ }
+ }, item => item.toString())
+ }
+ }
+ .width('100%')
+ .height('100%')
+ .backgroundColor($r('app.color.background_color'))
+ }.useSizeType({
+ xs: { span: 1, offset: 0 }, sm: { span: 1, offset: 0 },
+ md: { span: 1, offset: 0 }, lg: { span: 2, offset: 0 }
+ })
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/ar/properties/string.json b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/ar/properties/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..c3a6df19ca632072f943b0fba85ac22aec902416
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/ar/properties/string.json
@@ -0,0 +1,14 @@
+{
+ "strings": {
+ "app_name": "CategoryPage",
+ "describe": "describe",
+ "category": "Category",
+ "itemChild": "ItemChild",
+ "item": "Item",
+ "search": "search...",
+ "you_search": "You search ",
+ "you_clicked": "You clicked ",
+ "tab": "Tab",
+ "more": "< more"
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/dark/properties/string.json b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/dark/properties/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..ddc52a17f97a258671b91d1f14330a673df33285
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/dark/properties/string.json
@@ -0,0 +1,7 @@
+{
+ "colors": {
+ "colorSubBackground": "#000000",
+ "appbar_subtitle_color": "#99ffffff",
+ "text_color": "#ffffff"
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/default/media/icon_actived.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/default/media/icon_actived.png
new file mode 100644
index 0000000000000000000000000000000000000000..49991d108d51f1803ff3dcadc8870d69977908e7
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/default/media/icon_actived.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/default/media/icon_normal.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/default/media/icon_normal.png
new file mode 100644
index 0000000000000000000000000000000000000000..cdf5bb49392dfce97ea9fa1be0ace95715903498
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/default/media/icon_normal.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/default/properties/string.json b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/default/properties/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..127f01aeb3e034b0bc10cfdb98e59160afc9f5de
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/default/properties/string.json
@@ -0,0 +1,19 @@
+{
+ "strings": {
+ "app_name": "CategoryPage",
+ "describe": "describe",
+ "category": "Category",
+ "itemChild": "ItemChild",
+ "item": "Item",
+ "search": "search...",
+ "you_search": "You search ",
+ "you_clicked": "You clicked ",
+ "tab": "Tab",
+ "more": "more >"
+ },
+ "colors": {
+ "colorSubBackground": "#f1f3f5",
+ "appbar_subtitle_color": "#99000000",
+ "text_color": "#000000"
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/en/properties/string.json b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/en/properties/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..319b5d66eabfb2e956923d29ef1f267e48bafbc8
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/en/properties/string.json
@@ -0,0 +1,14 @@
+{
+ "strings": {
+ "app_name": "CategoryPage",
+ "describe": "describe",
+ "category": "Category",
+ "itemChild": "ItemChild",
+ "item": "Item",
+ "search": "search...",
+ "you_search": "You search ",
+ "you_clicked": "You clicked ",
+ "tab": "Tab",
+ "more": "more >"
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/light/properties/string.json b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/light/properties/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..4b9482c8f2954ce8b38cb37addef4d297b33a279
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/light/properties/string.json
@@ -0,0 +1,7 @@
+{
+ "colors": {
+ "colorSubBackground": "#f1f3f5",
+ "appbar_subtitle_color": "#99000000",
+ "text_color": "#000000"
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/zh/properties/string.json b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/zh/properties/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..4ca364c6261d5db6919dbaf791b5432bc0c7e0da
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/ets/default/resources/zh/properties/string.json
@@ -0,0 +1,14 @@
+{
+ "strings": {
+ "app_name": "分类页",
+ "describe": "描述",
+ "category": "分类",
+ "itemChild": "子类",
+ "item": "类型",
+ "search": "搜索...",
+ "you_search": "你搜索了",
+ "you_clicked": "你点击了",
+ "tab": "分页",
+ "more": "更多 >"
+ }
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/element/color.json b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/element/color.json
new file mode 100644
index 0000000000000000000000000000000000000000..f2bfa884ace3d175f2bb84a18bea1efd25c35f03
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/element/color.json
@@ -0,0 +1,48 @@
+{
+ "color": [
+ {
+ "name": "text_color",
+ "value": "#182331"
+ },
+ {
+ "name": "background_color",
+ "value": "#f1f3f5"
+ },
+ {
+ "name": "title_text_color",
+ "value": "#182431"
+ },
+ {
+ "name": "active_background_color",
+ "value": "#e5f3ff"
+ },
+ {
+ "name": "divider_color",
+ "value": "#f3f4f6"
+ },
+ {
+ "name": "text_decoration_color",
+ "value": "#f3f4f6"
+ },
+ {
+ "name": "icon_color",
+ "value": "#18233199"
+ },
+ {
+ "name": "default_background_color",
+ "value": "#ffffff"
+ },
+ {
+ "name": "button_color",
+ "value": "#0a59f7"
+ },
+ {
+ "name": "secondary_font_color",
+ "value": "#808080"
+ },
+ {
+ "name": "toggle_color",
+ "value": "#409eff"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/element/string.json b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/element/string.json
new file mode 100644
index 0000000000000000000000000000000000000000..2088d38fe85bbcfb0b2560f38b64da0183e4d941
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/element/string.json
@@ -0,0 +1,64 @@
+{
+ "string": [
+ {
+ "name": "entry_MainAbility",
+ "value": "entry_MainAbility"
+ },
+ {
+ "name": "mainability_description",
+ "value": "ETS_Category Ability"
+ },
+ {
+ "name": "settings",
+ "value": "设置"
+ },
+ {
+ "name": "permission_access_record",
+ "value": "权限访问记录"
+ },
+ {
+ "name": "authority_management",
+ "value": "权限管理"
+ },
+ {
+ "name": "privacy",
+ "value": "隐私"
+ },
+ {
+ "name": "authority_message",
+ "value": "近7天的应用访问权限"
+ },
+ {
+ "name": "other_permissions",
+ "value": "其它权限"
+ },
+ {
+ "name": "app_name",
+ "value": "应用名称"
+ },
+ {
+ "name": "location_info",
+ "value": "位置信息"
+ },
+ {
+ "name": "media_document",
+ "value": "媒体和文件"
+ },
+ {
+ "name": "calendar",
+ "value": "日历"
+ },
+ {
+ "name": "allowed",
+ "value": "已允许"
+ },
+ {
+ "name": "banned",
+ "value": "已禁止"
+ },
+ {
+ "name": "location_info_message",
+ "value": "已允许7个应用查找、连接附近的设备。"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/51cto.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/51cto.png
new file mode 100644
index 0000000000000000000000000000000000000000..091f4ce356fff5def14609457dc08b60f871acfd
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/51cto.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/aiqiyi.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/aiqiyi.png
new file mode 100644
index 0000000000000000000000000000000000000000..63f768db04b296dc1410b83c9bae3b17190f66b3
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/aiqiyi.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/anquan.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/anquan.png
new file mode 100644
index 0000000000000000000000000000000000000000..b066018b5f8e283c684ca910f3ff36f8f8b05435
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/anquan.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/baiduwangpan.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/baiduwangpan.png
new file mode 100644
index 0000000000000000000000000000000000000000..c7deac2c5ab48a13f5ec76db191d92e2f1aabd76
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/baiduwangpan.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/beifen.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/beifen.png
new file mode 100644
index 0000000000000000000000000000000000000000..134821a2410b9edb95d8773ee39ffea7b9100200
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/beifen.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/beiwanglu.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/beiwanglu.png
new file mode 100644
index 0000000000000000000000000000000000000000..cbaae9431e381bf0be4750d0cbc2c8da264ea860
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/beiwanglu.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/bilibili.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/bilibili.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c452548277ce8f73020cc50933fabb00056af07
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/bilibili.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/calendar.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/calendar.png
new file mode 100644
index 0000000000000000000000000000000000000000..a9091cb1264a7219bb75e6234a0d4775bce11c54
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/calendar.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/cunchu.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/cunchu.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5e4b2f2dc5cc83ed34295773e6f8767048015e3
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/cunchu.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/dianchi.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/dianchi.png
new file mode 100644
index 0000000000000000000000000000000000000000..cdcc8838746f71e1d0292869f014e03a1799820f
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/dianchi.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/downarrow.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/downarrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ce2fb46e6ac7ac7431688041b964c37a49b051e
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/downarrow.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/gaodeditu.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/gaodeditu.png
new file mode 100644
index 0000000000000000000000000000000000000000..920931e140e722a5c69d6b745d5757dc355587f6
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/gaodeditu.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_call_logs.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_call_logs.svg
new file mode 100644
index 0000000000000000000000000000000000000000..d3ff7d855666b031302514ab4df432b202b2921e
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_call_logs.svg
@@ -0,0 +1,31 @@
+
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_dropzone.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_dropzone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..960483f7f3398245eafe7c9d6182419a32ebeb05
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_dropzone.svg
@@ -0,0 +1,19 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_exercise.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_exercise.svg
new file mode 100644
index 0000000000000000000000000000000000000000..b488a424376659859601df4743a9293877be0e1e
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_exercise.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_forward.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_forward.svg
new file mode 100644
index 0000000000000000000000000000000000000000..abac736115811fb7111ecea37f3fa063d627bd17
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_forward.svg
@@ -0,0 +1,14 @@
+
+
+
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_more.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_more.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3fdc1e9d60f7ce2d533c53e8ee3d6df8ee66287a
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_more.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_nearby.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_nearby.svg
new file mode 100644
index 0000000000000000000000000000000000000000..4b201c865105325c085d7c761baef6087e4e57d3
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_nearby.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_calendar.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_calendar.svg
new file mode 100644
index 0000000000000000000000000000000000000000..56e634cab80c7c51f6e38ddb1c59b89f9e9a2baf
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_calendar.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_camera.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_camera.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7be7ccc417a4ebbc23bf5197cea49d08abbec754
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_camera.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_contacts_group.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_contacts_group.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6805946fbe89097ff97221526e71921b286ee3df
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_contacts_group.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_folder.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_folder.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c2a26b5df06901f6e4aa1797a288ea8618d5b006
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_folder.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_gps.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_gps.svg
new file mode 100644
index 0000000000000000000000000000000000000000..88ad317dd06bf9c5902463893ec8a6a3d0c3988b
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_gps.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_message.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_message.svg
new file mode 100644
index 0000000000000000000000000000000000000000..3191fb6e4f6fef84d30b90259cf3e634c9486315
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_message.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_phone.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_phone.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c78bb4fb53ef7e00eb8b21c95e7a0eae1b8c344b
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_phone.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_voice.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_voice.svg
new file mode 100644
index 0000000000000000000000000000000000000000..ac9311b1293177f0c5d68961e236d16a1e9d350f
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_public_voice.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_sport.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_sport.svg
new file mode 100644
index 0000000000000000000000000000000000000000..58c9f7a83c3a4445fb385f4d86cd12891dcf3354
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_sport.svg
@@ -0,0 +1,7 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_ssensor.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_ssensor.svg
new file mode 100644
index 0000000000000000000000000000000000000000..31a035d87a91bad5b1da207b5d39acfd12794ca2
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/ic_ssensor.svg
@@ -0,0 +1,9 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/icon.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/icon.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/in_app_installations.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/in_app_installations.svg
new file mode 100644
index 0000000000000000000000000000000000000000..c40993ab5cedaefb586f94faf4c578f8faa93c57
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/in_app_installations.svg
@@ -0,0 +1,13 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/jiankang.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/jiankang.png
new file mode 100644
index 0000000000000000000000000000000000000000..1f5004bdc946a5778b0b32bd41a51d5d3d98ffc2
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/jiankang.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/left.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/left.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d2329c71504881e33df1d7a687002934cd01daa
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/left.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/maikefeng.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/maikefeng.png
new file mode 100644
index 0000000000000000000000000000000000000000..a96d97d16b6dcdf41d8a412c9f4dc167d70acbc8
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/maikefeng.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/noinstallationpackage.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/noinstallationpackage.svg
new file mode 100644
index 0000000000000000000000000000000000000000..5b10a66c6b63e6d73bfb96492ec59a900ed5335c
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/noinstallationpackage.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/nopermission.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/nopermission.svg
new file mode 100644
index 0000000000000000000000000000000000000000..fe47a1df835fe7c7a296aa92bf009875373f30ad
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/nopermission.svg
@@ -0,0 +1,16 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/phone.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/phone.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b55011ef5c00deeabbae47be3645185d08de008
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/phone.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/photo.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/photo.png
new file mode 100644
index 0000000000000000000000000000000000000000..d74af434b8ab3b085003e4e8e0c8a6bc4503b78e
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/photo.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/qq.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/qq.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad0b28104f4f0233ce203879fa494ac7303177dc
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/qq.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/record.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/record.png
new file mode 100644
index 0000000000000000000000000000000000000000..47a8a52eeb77d2164fb63763c9a4145dfda384f6
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/record.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/rightarrow.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/rightarrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..51aad9fae9c47616835ecc4841028e1c887565e8
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/rightarrow.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/search.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/search.png
new file mode 100644
index 0000000000000000000000000000000000000000..7f3716e47cc7db40b2b8a2b020ea0ec83fdf15a9
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/search.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/searchnoresult.svg b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/searchnoresult.svg
new file mode 100644
index 0000000000000000000000000000000000000000..e948acc0bbb8bc715385ff841418b60b81eb0997
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/searchnoresult.svg
@@ -0,0 +1,22 @@
+
+
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/shengyin.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/shengyin.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a388e5176556ebdb4218448e9690cf63cd76d22
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/shengyin.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/shezhi.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/shezhi.png
new file mode 100644
index 0000000000000000000000000000000000000000..18555bc6bbfd83caf4c7bf15b85766ab5243e152
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/shezhi.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/shibie.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/shibie.png
new file mode 100644
index 0000000000000000000000000000000000000000..a5048f260a6433c47f69ad65de1f67021b01b061
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/shibie.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/tengxunshipin.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/tengxunshipin.png
new file mode 100644
index 0000000000000000000000000000000000000000..6aff0dea0b65ecbd59083b408a5a49740e0ff3ba
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/tengxunshipin.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/tongxunlu.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/tongxunlu.png
new file mode 100644
index 0000000000000000000000000000000000000000..772dab0fe8ff88f6a16fb0223358382bfba8390f
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/tongxunlu.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/tongzhi.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/tongzhi.png
new file mode 100644
index 0000000000000000000000000000000000000000..921bd1440ad5933af6385fb0af9c9a7bcbee5a21
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/tongzhi.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/uparrow.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/uparrow.png
new file mode 100644
index 0000000000000000000000000000000000000000..dc004b22db3bf7eb1e9dc4ba9f0a15445fba0e2d
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/uparrow.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/weixin.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/weixin.png
new file mode 100644
index 0000000000000000000000000000000000000000..8fd7c418c1b3b07cb21376cb72b07bfabb421f10
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/weixin.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/yingyong.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/yingyong.png
new file mode 100644
index 0000000000000000000000000000000000000000..becf91e80790597b9db1b05a022c55f926ce86bd
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/yingyong.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/yinsi.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/yinsi.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4b449fc49f6c89ab71a03fe29c7835c83b0e3da
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/yinsi.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/yuncunchu.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/yuncunchu.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2aa3269600eb74b1a67c576e7e3d2a725c623d6
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/yuncunchu.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/zhifubao.png b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/zhifubao.png
new file mode 100644
index 0000000000000000000000000000000000000000..4aa6a5d2bc9e9bb9a957bc20d3921610672535d1
Binary files /dev/null and b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/entry/src/main/resources/base/media/zhifubao.png differ
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/gradle.properties b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/gradle.properties
new file mode 100644
index 0000000000000000000000000000000000000000..1b57260a6277efaa592ab3c7f9f49601d3478a82
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/gradle.properties
@@ -0,0 +1,14 @@
+# Project-wide Gradle settings.
+# IDE (e.g. DevEco Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+# If the Chinese output is garbled, please configure the following parameter.
+# This function is enabled by default when the DevEco Studio builds the hap/app,if you need disable gradle parallel,you should set org.gradle.parallel false.
+# more information see https://docs.gradle.org/current/userguide/performance.html
+# org.gradle.parallel=false
+# org.gradle.jvmargs=-Dfile.encoding=GBK
+android.overridePathCheck=true
\ No newline at end of file
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/gradlew b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/gradlew
new file mode 100644
index 0000000000000000000000000000000000000000..536f0272dd995f3afdb5e34e0f42bdf3d1986c22
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/gradlew
@@ -0,0 +1,183 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ]; do
+ ls=$(ls -ld "$PRG")
+ link=$(expr "$ls" : '.*-> \(.*\)$')
+ if expr "$link" : '/.*' >/dev/null; then
+ PRG="$link"
+ else
+ PRG=$(dirname "$PRG")"/$link"
+ fi
+done
+SAVED="$(pwd)"
+cd "$(dirname \"$PRG\")/" >/dev/null
+APP_HOME="$(pwd -P)"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=$(basename "$0")
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn() {
+ echo "$*"
+}
+
+die() {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "$(uname)" in
+CYGWIN*)
+ cygwin=true
+ ;;
+Darwin*)
+ darwin=true
+ ;;
+MINGW*)
+ msys=true
+ ;;
+NONSTOP*)
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ]; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ]; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ]; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ]; then
+ MAX_FD_LIMIT=$(ulimit -H -n)
+ if [ $? -eq 0 ]; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ]; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ]; then
+ APP_HOME=$(cygpath --path --mixed "$APP_HOME")
+ CLASSPATH=$(cygpath --path --mixed "$CLASSPATH")
+ JAVACMD=$(cygpath --unix "$JAVACMD")
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=$(find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null)
+ SEP=""
+ for dir in $ROOTDIRSRAW; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ]; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@"; do
+ CHECK=$(echo "$arg" | egrep -c "$OURCYGPATTERN" -)
+ CHECK2=$(echo "$arg" | egrep -c "^-") ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ]; then ### Added a condition
+ eval $(echo args$i)=$(cygpath --path --ignore --mixed "$arg")
+ else
+ eval $(echo args$i)="\"$arg\""
+ fi
+ i=$(expr $i + 1)
+ done
+ case $i in
+ 0) set -- ;;
+ 1) set -- "$args0" ;;
+ 2) set -- "$args0" "$args1" ;;
+ 3) set -- "$args0" "$args1" "$args2" ;;
+ 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save() {
+ for i; do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/"; done
+ echo " "
+}
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/gradlew.bat b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/gradlew.bat
new file mode 100644
index 0000000000000000000000000000000000000000..62bd9b9ccefea2b65ae41e5d9a545e2021b90a1d
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/gradlew.bat
@@ -0,0 +1,103 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windows variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/settings.gradle b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/settings.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..4773db73233a570c2d0c01a22e75321acfbf7a07
--- /dev/null
+++ b/frameworks/com.ohos.permissionmanager/com.ohos.permissionmanager.MainAbility/settings.gradle
@@ -0,0 +1 @@
+include ':entry'