mirror of
https://gitee.com/openharmony/applications_launcher
synced 2024-11-23 23:09:43 +00:00
服务卡片PIN桌面
Signed-off-by: liubaibao <liubaibao2@huawei.com>
This commit is contained in:
parent
dbef3259f0
commit
8fa09358b0
@ -27,6 +27,7 @@ export { SettingItemInfo } from './src/main/ets/default/bean/SettingItemInfo'
|
|||||||
export { RecentMissionInfo } from './src/main/ets/default/bean/RecentMissionInfo'
|
export { RecentMissionInfo } from './src/main/ets/default/bean/RecentMissionInfo'
|
||||||
export { RecentBundleMissionInfo } from './src/main/ets/default/bean/RecentBundleMissionInfo'
|
export { RecentBundleMissionInfo } from './src/main/ets/default/bean/RecentBundleMissionInfo'
|
||||||
export { EventConstants } from './src/main/ets/default/constants/EventConstants'
|
export { EventConstants } from './src/main/ets/default/constants/EventConstants'
|
||||||
|
export { FormConstants } from './src/main/ets/default/constants/FormConstants'
|
||||||
export { StyleConstants } from './src/main/ets/default/constants/StyleConstants'
|
export { StyleConstants } from './src/main/ets/default/constants/StyleConstants'
|
||||||
export { CommonConstants } from './src/main/ets/default/constants/CommonConstants'
|
export { CommonConstants } from './src/main/ets/default/constants/CommonConstants'
|
||||||
export { PresetStyleConstants } from './src/main/ets/default/constants/PresetStyleConstants'
|
export { PresetStyleConstants } from './src/main/ets/default/constants/PresetStyleConstants'
|
||||||
|
31
common/src/main/ets/default/constants/FormConstants.ts
Normal file
31
common/src/main/ets/default/constants/FormConstants.ts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2021-2022 Huawei Device Co., Ltd.
|
||||||
|
* 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
|
||||||
|
*
|
||||||
|
* http://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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constants of events that will be registered to system.
|
||||||
|
*/
|
||||||
|
export const FormConstants = {
|
||||||
|
// publish form action
|
||||||
|
ACTION_PUBLISH_FORM: "action.form.publish",
|
||||||
|
|
||||||
|
// publish card parameters
|
||||||
|
ID_PARAM: "ohos.extra.param.key.form_identity",
|
||||||
|
NAME_PARAM: "ohos.extra.param.key.form_name",
|
||||||
|
BUNDLE_PARAM: "ohos.extra.param.key.bundle_name",
|
||||||
|
ABILITY_PARAM: "ohos.extra.param.key.ability_name",
|
||||||
|
MODULE_PARAM: "ohos.extra.param.key.module_name",
|
||||||
|
DIMENSION_PARAM: "ohos.extra.param.key.form_dimension",
|
||||||
|
TEMPORARY_PARAM:"ohos.extra.param.key.form_temporary"
|
||||||
|
};
|
@ -14,9 +14,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import formManagerAbility from '@ohos.application.formHost';
|
import formManagerAbility from '@ohos.application.formHost';
|
||||||
|
import { FormConstants } from '@ohos/common';
|
||||||
import { Log } from '../utils/Log';
|
import { Log } from '../utils/Log';
|
||||||
import { CardItemInfo } from '../bean/CardItemInfo';
|
import { CardItemInfo } from '../bean/CardItemInfo';
|
||||||
import { CommonConstants } from '../constants/CommonConstants';
|
import { CommonConstants } from '../constants/CommonConstants';
|
||||||
|
import { launcherAbilityManager } from './LauncherAbilityManager';
|
||||||
|
|
||||||
const TAG = 'FormManager';
|
const TAG = 'FormManager';
|
||||||
|
|
||||||
@ -104,6 +106,50 @@ export class FormManager {
|
|||||||
return cardItemInfoList;
|
return cardItemInfoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get formCardItem by want parameters
|
||||||
|
*
|
||||||
|
* @param parameters
|
||||||
|
* @return formCardItem
|
||||||
|
*/
|
||||||
|
async getFormCardItemByWant(params) {
|
||||||
|
Log.showInfo(TAG, 'getFormCardItemByWant');
|
||||||
|
let formCardItem: any = {};
|
||||||
|
formCardItem.id = params[FormConstants.ID_PARAM];
|
||||||
|
formCardItem.name = params[FormConstants.NAME_PARAM];
|
||||||
|
formCardItem.bundleName = params[FormConstants.BUNDLE_PARAM];
|
||||||
|
formCardItem.abilityName = params[FormConstants.ABILITY_PARAM];
|
||||||
|
formCardItem.moduleName = params[FormConstants.MODULE_PARAM];
|
||||||
|
formCardItem.dimension = params[FormConstants.DIMENSION_PARAM];
|
||||||
|
formCardItem.formConfigAbility = await this.getFormConfigAbility(params[FormConstants.BUNDLE_PARAM],
|
||||||
|
params[FormConstants.MODULE_PARAM], params[FormConstants.ABILITY_PARAM], params[FormConstants.NAME_PARAM]);
|
||||||
|
const appInfo = await launcherAbilityManager.getAppInfoByBundleName(params[FormConstants.BUNDLE_PARAM] ,
|
||||||
|
params[FormConstants.ABILITY_PARAM]);
|
||||||
|
formCardItem.appLabelId = appInfo.appLabelId;
|
||||||
|
return formCardItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get formConfigAbility by bundleName moduleName abilityName and cardName
|
||||||
|
*
|
||||||
|
* @param bundle
|
||||||
|
* @param moduleName
|
||||||
|
* @param abilityName
|
||||||
|
* @param cardName
|
||||||
|
* @return formConfigAbility
|
||||||
|
*/
|
||||||
|
async getFormConfigAbility(bundle:string, moduleName:string, abilityName:string, cardName:string) : Promise<string> {
|
||||||
|
const formList = await formManagerAbility.getFormsInfo(bundle);
|
||||||
|
let formConfigAbility = "";
|
||||||
|
for (const formItem of formList) {
|
||||||
|
if(formItem.moduleName == moduleName && formItem.abilityName == abilityName && formItem.name == cardName ) {
|
||||||
|
formConfigAbility = formItem.formConfigAbility;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return formConfigAbility;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get form info by bundleName and moduleName
|
* get form info by bundleName and moduleName
|
||||||
*
|
*
|
||||||
|
@ -32,6 +32,7 @@ import { MenuInfo } from '@ohos/common';
|
|||||||
import { CardItemInfo } from '@ohos/common';
|
import { CardItemInfo } from '@ohos/common';
|
||||||
import { BigFolderModel } from '@ohos/bigfolder';
|
import { BigFolderModel } from '@ohos/bigfolder';
|
||||||
import { FormDetailLayoutConfig } from '@ohos/form';
|
import { FormDetailLayoutConfig } from '@ohos/form';
|
||||||
|
import { localEventManager } from '@ohos/common';
|
||||||
import PageDesktopModel from '../model/PageDesktopModel';
|
import PageDesktopModel from '../model/PageDesktopModel';
|
||||||
import PagedesktopConstants from '../common/constants/PagedesktopConstants';
|
import PagedesktopConstants from '../common/constants/PagedesktopConstants';
|
||||||
import { PageDesktopGridStyleConfig } from '../common/PageDesktopGridStyleConfig';
|
import { PageDesktopGridStyleConfig } from '../common/PageDesktopGridStyleConfig';
|
||||||
@ -1342,6 +1343,17 @@ export default class PageDesktopViewModel extends BaseViewModel {
|
|||||||
this.jumpTo(abilityName, bundleName, moduleName);
|
this.jumpTo(abilityName, bundleName, moduleName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* other app publish card to pageDesktop
|
||||||
|
*
|
||||||
|
* @param parameters
|
||||||
|
*/
|
||||||
|
async publishCardToDesktop(parameters:any) {
|
||||||
|
Log.showInfo(TAG, 'publishCardToDesktop');
|
||||||
|
const formItem = await FormManager.getInstance().getFormCardItemByWant(parameters);
|
||||||
|
localEventManager.sendLocalEventSticky(EventConstants.EVENT_REQUEST_PAGEDESK_FORM_ITEM_ADD, formItem);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* add card to pageDesktop
|
* add card to pageDesktop
|
||||||
* @param appInfo
|
* @param appInfo
|
||||||
|
@ -19,9 +19,11 @@ import Want from '@ohos.application.Want';
|
|||||||
import { Log } from '@ohos/common';
|
import { Log } from '@ohos/common';
|
||||||
import { windowManager } from '@ohos/common';
|
import { windowManager } from '@ohos/common';
|
||||||
import { RdbStoreManager } from '@ohos/common';
|
import { RdbStoreManager } from '@ohos/common';
|
||||||
|
import { FormConstants } from '@ohos/common';
|
||||||
import { GestureNavigationManager } from '@ohos/gesturenavigation';
|
import { GestureNavigationManager } from '@ohos/gesturenavigation';
|
||||||
import StyleConstants from '../common/constants/StyleConstants';
|
import StyleConstants from '../common/constants/StyleConstants';
|
||||||
import { navigationBarCommonEventManager } from '@ohos/common';
|
import { navigationBarCommonEventManager } from '@ohos/common';
|
||||||
|
import PageDesktopViewModel from '../../../../../../feature/pagedesktop/src/main/ets/default/viewmodel/PageDesktopViewModel';
|
||||||
|
|
||||||
const TAG = 'LauncherMainAbility';
|
const TAG = 'LauncherMainAbility';
|
||||||
|
|
||||||
@ -88,6 +90,10 @@ export default class MainAbility extends ServiceExtension {
|
|||||||
|
|
||||||
onRequest(want: Want, startId: number): void {
|
onRequest(want: Want, startId: number): void {
|
||||||
Log.showInfo(TAG,`onRequest, want: ${want.abilityName}`);
|
Log.showInfo(TAG,`onRequest, want: ${want.abilityName}`);
|
||||||
|
// if app publish card to launcher
|
||||||
|
if(want.action == FormConstants.ACTION_PUBLISH_FORM) {
|
||||||
|
PageDesktopViewModel.getInstance().publishCardToDesktop(want.parameters);
|
||||||
|
}
|
||||||
windowManager.minimizeAllApps();
|
windowManager.minimizeAllApps();
|
||||||
windowManager.hideWindow(windowManager.RECENT_WINDOW_NAME);
|
windowManager.hideWindow(windowManager.RECENT_WINDOW_NAME);
|
||||||
windowManager.destroyWindow(windowManager.APP_CENTER_WINDOW_NAME);
|
windowManager.destroyWindow(windowManager.APP_CENTER_WINDOW_NAME);
|
||||||
|
@ -23,7 +23,8 @@
|
|||||||
],
|
],
|
||||||
"actions": [
|
"actions": [
|
||||||
"action.system.home",
|
"action.system.home",
|
||||||
"com.ohos.action.main"
|
"com.ohos.action.main",
|
||||||
|
"action.form.publish"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -19,9 +19,11 @@ import Want from '@ohos.application.Want';
|
|||||||
import { Log } from '@ohos/common';
|
import { Log } from '@ohos/common';
|
||||||
import { windowManager } from '@ohos/common';
|
import { windowManager } from '@ohos/common';
|
||||||
import { RdbStoreManager } from '@ohos/common';
|
import { RdbStoreManager } from '@ohos/common';
|
||||||
|
import { FormConstants } from '@ohos/common';
|
||||||
import { GestureNavigationManager } from '@ohos/gesturenavigation';
|
import { GestureNavigationManager } from '@ohos/gesturenavigation';
|
||||||
import StyleConstants from '../common/constants/StyleConstants';
|
import StyleConstants from '../common/constants/StyleConstants';
|
||||||
import { navigationBarCommonEventManager } from '@ohos/common';
|
import { navigationBarCommonEventManager } from '@ohos/common';
|
||||||
|
import PageDesktopViewModel from '../../../../../../feature/pagedesktop/src/main/ets/default/viewmodel/PageDesktopViewModel';
|
||||||
|
|
||||||
const TAG = 'LauncherMainAbility';
|
const TAG = 'LauncherMainAbility';
|
||||||
|
|
||||||
@ -88,6 +90,10 @@ export default class MainAbility extends ServiceExtension {
|
|||||||
|
|
||||||
onRequest(want: Want, startId: number): void {
|
onRequest(want: Want, startId: number): void {
|
||||||
Log.showInfo(TAG,`onRequest, want:${want.abilityName}`);
|
Log.showInfo(TAG,`onRequest, want:${want.abilityName}`);
|
||||||
|
// if app publish card to launcher
|
||||||
|
if(want.action == FormConstants.ACTION_PUBLISH_FORM) {
|
||||||
|
PageDesktopViewModel.getInstance().publishCardToDesktop(want.parameters);
|
||||||
|
}
|
||||||
windowManager.minimizeAllApps();
|
windowManager.minimizeAllApps();
|
||||||
windowManager.hideWindow(windowManager.RECENT_WINDOW_NAME);
|
windowManager.hideWindow(windowManager.RECENT_WINDOW_NAME);
|
||||||
this.closeFolder();
|
this.closeFolder();
|
||||||
|
@ -23,7 +23,8 @@
|
|||||||
],
|
],
|
||||||
"actions": [
|
"actions": [
|
||||||
"action.system.home",
|
"action.system.home",
|
||||||
"com.ohos.action.main"
|
"com.ohos.action.main",
|
||||||
|
"action.form.publish"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
Loading…
Reference in New Issue
Block a user