diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/components/alphabeticalIndex.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/components/alphabeticalIndex.ets index 195b76c0611ab009ad52ed4017321cf1a58eaf2c..e87fd9eab92b26422a95d3cb8c1e773afc95687c 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/components/alphabeticalIndex.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/components/alphabeticalIndex.ets @@ -19,7 +19,6 @@ import Constants from '../utils/constant.ets'; export struct alphabetIndexerComponent { private value: string[] = [ '#', - '☆', 'A', 'B', 'C', diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/components/search.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/components/search.ets index 78cbabfed3631a5a1c92ca953c6c3364be8bf675..585968a91642a9090e3074c1b460f8ff48bdc75c 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/components/search.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/components/search.ets @@ -26,9 +26,10 @@ export struct textInput { Column() { Flex({ alignContent: FlexAlign.Start }) { TextInput({ placeholder: this.placeholder }) + .backgroundColor($r('app.color.default_background_color')) .padding({ left: Constants.TEXTINPUT_PADDING_LEFT }) .type(InputType.Normal) - .border({ radius: Constants.TEXTINPUT_BORDER_RADIUS }) + .border({ width: Constants.TEXTINPUT_BORDER_WIDTH, color: $r("app.color.label_color_20"), radius: Constants.TEXTINPUT_BORDER_RADIUS }) .placeholderColor(Color.Grey) .placeholderFont({ size: Constants.TEXTINPUT_PLACEHOLDER_Font_SIZE, weight: FontWeight.Normal, family: "sans-serif", style: FontStyle.Normal }) .caretColor($r('app.color.secondary_font_color')) diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/utils/constant.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/utils/constant.ets index 04c4c34b612a438f0387d940cebf51d5b9416034..8b7046e71592dd3b824883959dfccc63a99fd980 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/utils/constant.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/utils/constant.ets @@ -49,6 +49,7 @@ export default class Constants { // search textInput static TEXTINPUT_PADDING_LEFT = 36; static TEXTINPUT_BORDER_RADIUS = 20; + static TEXTINPUT_BORDER_WIDTH = 1.5; static TEXTINPUT_PLACEHOLDER_Font_SIZE = 16; static TEXTINPUT_HEIGHT = 40; static TEXTINPUT_IMAGE_WIDTH = 16; @@ -124,6 +125,7 @@ export default class Constants { static FLEX_MARGIN_BOTTOM = 8; static LIST_PADDING_TOP = 4; static LIST_PADDING_BOTTOM = 4; + static LIST_MARGIN_BOTTOM = 12; static ROW_MARGIN_TOP = 9; static SECONDARY_TEXT_MARGIN_TOP = 19.5; static SECONDARY_TEXT_MARGIN_LEFT = 24; @@ -203,7 +205,7 @@ export default class Constants { static APPLICATION_LISTITEM_PADDING_RIGHT = 12; static APPLICATION_TEXTINPUT_PADDING_LEFT = 12; static APPLICATION_TEXTINPUT_PADDING_TOP = 8; - static APPLICATION_TEXTINPUT_PADDING_RIGHT = 4; + static APPLICATION_TEXTINPUT_PADDING_RIGHT = 24; static APPLICATION_COLUMN_HEIGHT = '93%'; static APPLICATION_ALPHABETINDEX_MARGIN_TOP = 12; static APPLICATION_ALPHABETINDEX_WIDTH = 24; @@ -216,6 +218,11 @@ export default class Constants { static SLICE_START_INDEX = 0; static SLICE_END_INDEX = 1; + //group number + static FIXED_GROUP = 1; + static CHANGE_GROUP = 2; + static OTHER_GROUP = 3; + // tabBar static BAR_WIDTH = 285; @@ -234,9 +241,12 @@ export default class Constants { //shape static SHAPE_DIA = 24; static SHAPE_BAN_DIA = 23; + static SHAPE_BIG_DIA = 48; + static SHAPE_OFFSET_X = -24; static SHAPE_BAN_OFFSET = .5; static SHAPE_ALLOW_DIA = 16; static SHAPE_ALLOW_OFFSET = 4; + static SHAPE_ZINDEX = 10; // utils static CHAR_CODE = 0; diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/authority-management.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/authority-management.ets index 1a7057028cd6c0ff49cdff50a101a6e2bd92b624..729e89def4dc84bf97fc5da55814dedcaeeba206 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/authority-management.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/authority-management.ets @@ -434,6 +434,31 @@ struct authorityManagementPage { this.getAllBundlePermissions(this.allPermissions, this.allApplicationPermissions); } + getPermissionGroup(allGroup, order) { + var fixedName: string[] = ['LOCATION', 'CAMERA', 'MICROPHONE'] + var fixedGroup: any[] = [] + var changeGroup: any[] = [] + var otherGroup: any[] = [] + + allGroup.forEach(group => { + if(fixedName.indexOf(group.group) !== -1) { + fixedGroup.push(group) + }else if(group.group == 'OTHER') { + otherGroup.push(group) + }else { + changeGroup.push(group) + } + }) + + if(order == Constants.FIXED_GROUP){ + return fixedGroup + }else if(order == Constants.CHANGE_GROUP) { + return changeGroup + }else if(order == Constants.OTHER_GROUP) { + return otherGroup + } + } + build() { GridContainer({ gutter: Constants.GUTTER, margin: Constants.GRID_MARGIN }) { Row() { @@ -458,15 +483,53 @@ struct authorityManagementPage { TabContent() { Row() { Column() { + if(this.allGroupPermission.length) { + Flex({ justifyContent: FlexAlign.SpaceBetween }) { + Shape() { + Rect().width(Constants.SHAPE_DIA).height(Constants.SHAPE_DIA).fill($r('app.color.background_color')) + Circle().width(Constants.SHAPE_BIG_DIA).height(Constants.SHAPE_BIG_DIA) + .fill($r('app.color.list_background_color')) + }.width(Constants.SHAPE_DIA) + Shape() { + Rect().width(Constants.SHAPE_DIA).height(Constants.SHAPE_DIA).fill($r('app.color.background_color')) + Circle().width(Constants.SHAPE_BIG_DIA).height(Constants.SHAPE_BIG_DIA) + .fill($r('app.color.list_background_color')).offset({ x: Constants.SHAPE_OFFSET_X }) + }.width(Constants.SHAPE_DIA) + }.width(Constants.FULL_WIDTH).height(Constants.SHAPE_DIA).zIndex(Constants.SHAPE_ZINDEX) + .position({ x: 0, y: Constants.MANAGEMENT_ROW_PADDING_TOP }) + .padding({ left: Constants.MANAGEMENT_ROW_PADDING_LEFT, right: Constants.MANAGEMENT_ROW_PADDING_RIGHT }) + } Scroll() { - Row() { + Column() { if(this.allGroupPermission.length) { List() { - ForEach(this.allGroupPermission.slice(Constants.SLICE_START, - this.allGroupPermission.length - 1), (item) => { + ForEach(this.getPermissionGroup(this.allGroupPermission, Constants.FIXED_GROUP).slice(Constants.SLICE_START, + this.getPermissionGroup(this.allGroupPermission, Constants.FIXED_GROUP).length - 1), (item) => { + this.ListItemLayout(item, Constants.SLICE_START_INDEX) + }, item => item.toString()) + ForEach(this.getPermissionGroup(this.allGroupPermission, Constants.FIXED_GROUP).slice(Constants.SLICE_END), (item, index) => { + this.ListItemLayout(item, Constants.SLICE_END_INDEX) + }, item => item.toString()) + }.backgroundColor($r('app.color.default_background_color')) + .borderRadius(Constants.BORDER_RADIUS) + .padding({ top: Constants.LIST_PADDING_TOP, bottom: Constants.LIST_PADDING_BOTTOM }) + .margin({ bottom: Constants.LIST_MARGIN_BOTTOM }) + + List() { + ForEach(this.getPermissionGroup(this.allGroupPermission, Constants.CHANGE_GROUP).slice(Constants.SLICE_START, + this.getPermissionGroup(this.allGroupPermission, Constants.CHANGE_GROUP).length - 1), (item) => { this.ListItemLayout(item, Constants.SLICE_START_INDEX) }, item => item.toString()) - ForEach(this.allGroupPermission.slice(Constants.SLICE_END), (item, index) => { + ForEach(this.getPermissionGroup(this.allGroupPermission, Constants.CHANGE_GROUP).slice(Constants.SLICE_END), (item, index) => { + this.ListItemLayout(item, Constants.SLICE_END_INDEX) + }, item => item.toString()) + }.backgroundColor($r('app.color.default_background_color')) + .borderRadius(Constants.BORDER_RADIUS) + .padding({ top: Constants.LIST_PADDING_TOP, bottom: Constants.LIST_PADDING_BOTTOM }) + .margin({ bottom: Constants.LIST_MARGIN_BOTTOM }) + + List() { + ForEach(this.getPermissionGroup(this.allGroupPermission, Constants.OTHER_GROUP), (item) => { this.ListItemLayout(item, Constants.SLICE_END_INDEX) }, item => item.toString()) }.backgroundColor($r('app.color.default_background_color')) @@ -476,9 +539,9 @@ struct authorityManagementPage { }.padding({ left: Constants.MANAGEMENT_ROW_PADDING_LEFT, right: Constants.MANAGEMENT_ROW_PADDING_RIGHT, - top: Constants.MANAGEMENT_ROW_PADDING_TOP }) }.scrollBar(BarState.Off) + .margin({ top: Constants.MANAGEMENT_ROW_PADDING_TOP }) }.width(Constants.FULL_WIDTH) } }.tabBar($r('app.string.authority')) @@ -595,6 +658,22 @@ struct applicationItem { Row() { Flex({ alignItems: ItemAlign.Start }) { Column() { + if (this.applicationItem.length) { + Flex({ justifyContent: FlexAlign.SpaceBetween }) { + Shape() { + Rect().width(Constants.SHAPE_DIA).height(Constants.SHAPE_DIA).fill($r('app.color.background_color')) + Circle().width(Constants.SHAPE_BIG_DIA).height(Constants.SHAPE_BIG_DIA) + .fill($r('app.color.list_background_color')) + }.width(Constants.SHAPE_DIA) + Shape() { + Rect().width(Constants.SHAPE_DIA).height(Constants.SHAPE_DIA).fill($r('app.color.background_color')) + Circle().width(Constants.SHAPE_BIG_DIA).height(Constants.SHAPE_BIG_DIA) + .fill($r('app.color.list_background_color')).offset({ x: Constants.SHAPE_OFFSET_X }) + }.width(Constants.SHAPE_DIA) + }.width(Constants.FULL_WIDTH).height(Constants.SHAPE_DIA).zIndex(Constants.SHAPE_ZINDEX) + .position({ x: 0, y: Constants.MANAGEMENT_ROW_MARGIN_TOP }) + .padding({ left: Constants.MANAGEMENT_ROW_PADDING_LEFT }) + } Scroll() { if (!this.applicationItem.length) { if (this.searchResult) { diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/color.json b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/color.json index 683aa6658d2ef8dac5965f624082551f1cacf8e4..d9c648ab678d07802b9a9470d730d98fa6b30ab1 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/color.json +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/color.json @@ -16,6 +16,10 @@ "name": "label_color_lighter", "value": "#66182431" }, + { + "name": "label_color_20", + "value": "#33182431" + }, { "name": "label_color_lightest", "value": "#0D182431" @@ -24,6 +28,10 @@ "name": "background_color", "value": "#F4F5F7" }, + { + "name": "list_background_color", + "value": "#FDFDFD" + }, { "name": "text_secondary_color", "value": "#99000000" diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/string.json b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/string.json index 9fc01079c16395b7816770e6d812c259e75d4469..2bb880381873d80d01df262251b0d30f2ed7e07a 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/string.json +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/string.json @@ -34,11 +34,11 @@ }, { "name": "application", - "value": " application " + "value": "application" }, { "name": "authority", - "value": " authority " + "value": "authority" }, { "name": "textInput_placeholder", diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/zh_CN/element/string.json b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/zh_CN/element/string.json index eff2b33b08b03ba82c0218c4f3aea0c7d05306c9..5bb4fd1a0d438941f199e45585c835770d6f3f0e 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/zh_CN/element/string.json +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/zh_CN/element/string.json @@ -34,11 +34,11 @@ }, { "name": "application", - "value": " 应用 " + "value": "应用" }, { "name": "authority", - "value": " 权限 " + "value": "权限" }, { "name": "textInput_placeholder",