mirror of
https://github.com/openharmony/applications_systemui.git
synced 2026-07-18 17:34:52 -04:00
systemui各个模块之间context解耦
Signed-off-by: lijinfengde123 <lijinfeng26@huawei.com>
This commit is contained in:
@@ -23,9 +23,15 @@ export class ResourceUtil {
|
||||
/**
|
||||
* Initialize ResourceManager
|
||||
*/
|
||||
async initResourceManager(): Promise<void> {
|
||||
async initResourceManager(abilityName?: string): Promise<void> {
|
||||
if (!this.resMgr) {
|
||||
let context = AbilityManager.getContext();
|
||||
|
||||
let context;
|
||||
if(abilityName === AbilityManager.ABILITY_NAME_NOTIFICATION_MANAGEMENT) {
|
||||
context = AbilityManager.getAbilityContext(abilityName);
|
||||
} else {
|
||||
context = AbilityManager.getContext(abilityName);
|
||||
}
|
||||
this.resMgr = await context.resourceManager;
|
||||
}
|
||||
return this.resMgr;
|
||||
@@ -37,7 +43,6 @@ export class ResourceUtil {
|
||||
* @param resource - NormalResource instance
|
||||
*/
|
||||
async getString(resource): Promise<string> {
|
||||
await this.initResourceManager();
|
||||
return await this.resMgr.getString(resource.id);
|
||||
}
|
||||
|
||||
@@ -47,7 +52,6 @@ export class ResourceUtil {
|
||||
* @param resource - NormalResource instance
|
||||
*/
|
||||
async getConfiguration(): Promise<string> {
|
||||
await this.initResourceManager();
|
||||
return await this.resMgr.getConfiguration();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ export class SettingsUtil {
|
||||
constructor() {
|
||||
Log.showDebug(TAG, 'constructor');
|
||||
try {
|
||||
this.helper = featureAbility.acquireDataAbilityHelper(AbilityManager.getContext(), Constants.URI_VAR);
|
||||
this.helper = featureAbility.acquireDataAbilityHelper(AbilityManager.getContext(this.context), Constants.URI_VAR);
|
||||
} catch (e) {
|
||||
Log.showError(TAG, `constructor, acquire helper error: ${JSON.stringify(e)}`);
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
*/
|
||||
|
||||
import { BusinessError } from 'basic';
|
||||
import AbilityContext from 'application/AbilityContext';
|
||||
import ServiceExtensionContext from 'application/ServiceExtensionContext';
|
||||
import Want from '@ohos.application.Want';
|
||||
import Log from '../Log';
|
||||
@@ -46,6 +47,19 @@ export default class AbilityManager {
|
||||
return globalThis[abilityName + '_Context'];
|
||||
}
|
||||
|
||||
static setAbilityContext(abilityName: string, context: AbilityContext): void {
|
||||
Log.showDebug(TAG, `setContext, abilityName: ${abilityName}`);
|
||||
globalThis[abilityName + '_Context'] = context;
|
||||
}
|
||||
|
||||
static getAbilityContext(abilityName?: string): AbilityContext {
|
||||
Log.showDebug(TAG, `getContext, abilityName: ${abilityName}`);
|
||||
if (!abilityName) {
|
||||
abilityName = AbilityManager.ABILITY_NAME_ENTRY;
|
||||
}
|
||||
return globalThis[abilityName + '_Context'];
|
||||
}
|
||||
|
||||
static setAbilityData(abilityName: string, key: string, data: any): void {
|
||||
Log.showDebug(TAG, `setAbilityData, abilityName: ${abilityName} key: ${key} data: ${JSON.stringify(data)}`);
|
||||
globalThis[abilityName + '_data_' + key] = data;
|
||||
@@ -56,6 +70,19 @@ export default class AbilityManager {
|
||||
return globalThis[abilityName + '_data_' + key];
|
||||
}
|
||||
|
||||
static setContextName(abilityName: string, contextName: string): void {
|
||||
Log.showDebug(TAG, `setContextName, abilityName: ${abilityName}`);
|
||||
globalThis[abilityName + '_ContextName'] = contextName;
|
||||
}
|
||||
|
||||
static getContextName(abilityName?: string): string {
|
||||
Log.showDebug(TAG, `setContextName, abilityName: ${abilityName}`);
|
||||
if (!abilityName) {
|
||||
abilityName = AbilityManager.ABILITY_NAME_ENTRY;
|
||||
}
|
||||
return globalThis[abilityName + '_ContextName'];
|
||||
}
|
||||
|
||||
static startAbility(want: Want, callback?: (error?: BusinessError) => void): void {
|
||||
Log.showDebug(TAG, `startAbility, want: ${JSON.stringify(want)}`);
|
||||
let context: ServiceExtensionContext = AbilityManager.getContext();
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* Copyright (c) 2021-2022 Huawei Device Co., Ltd.
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
||||
@@ -36,7 +36,8 @@ export class brightnessManager {
|
||||
Log.showInfo(TAG, 'init');
|
||||
this.uri = settings.getUriSync(SYSTEMUI_BRIGHTNESS);
|
||||
Log.showInfo(TAG, 'settings geturi of brightness is ' + this.uri);
|
||||
this.helper = featureAbility.acquireDataAbilityHelper(AbilityManager.getContext(), CommonConstants.URI_VAR);
|
||||
let contextName = AbilityManager.getContextName(AbilityManager.ABILITY_NAME_CONTROL_PANEL);
|
||||
this.helper = featureAbility.acquireDataAbilityHelper(AbilityManager.getContext(contextName), CommonConstants.URI_VAR);
|
||||
this.getValue();
|
||||
}
|
||||
|
||||
|
||||
@@ -68,6 +68,7 @@ export default class CapsuleViewModel {
|
||||
this.mIsBackground = data.isBackground;
|
||||
this.mWantBundleName = data.wantBundleName;
|
||||
this.mWantAbilityName = data.wantAbilityName;
|
||||
await ResourceUtil.initResourceManager(AbilityManager.ABILITY_NAME_STATUS_BAR);
|
||||
if (data.callState == CallState.CALL_INCOMING || data.callState == CallState.CALL_WAITING) {
|
||||
this.mStartTime = 0;
|
||||
this.mText =await ResourceUtil.getString($r("app.string.incoming_call"));
|
||||
|
||||
@@ -85,8 +85,9 @@ export class ControlCenterService {
|
||||
|
||||
SwitchUserManager.getInstance().registerListener(this);
|
||||
CONTROLCENTER_SOURCE_CONFIG.filterDatas = config.MetaToggles;
|
||||
this.mAdapter = new PluginDataSourceAdapter(TAG, AbilityManager.getContext(), this, moduleName);
|
||||
this.mAdapter.setWant(globalThis[Constants.PLUGIN_COMPONENT_OWNER_WANT_KEY]);//xuchanghzou
|
||||
let contextName = AbilityManager.getContextName(AbilityManager.ABILITY_NAME_CONTROL_PANEL);
|
||||
this.mAdapter = new PluginDataSourceAdapter(TAG, AbilityManager.getContext(contextName), this, moduleName);
|
||||
this.mAdapter.setWant(globalThis[Constants.PLUGIN_COMPONENT_OWNER_WANT_KEY]);
|
||||
this.mAdapter.initDataSource(CONTROLCENTER_SOURCE_CONFIG);
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ export default class BundleResourceModel {
|
||||
let label = '';
|
||||
let that = this;
|
||||
try {
|
||||
let bundleContext = await AbilityManager.getContext().createBundleContext(data[index].name);
|
||||
let bundleContext = await AbilityManager.getAbilityContext(AbilityManager.ABILITY_NAME_NOTIFICATION_MANAGEMENT).createBundleContext(data[index].name);
|
||||
let bundleResourceManager = await bundleContext.resourceManager;
|
||||
let appInfo = data[index].appInfo;
|
||||
if (parseInt(appInfo.labelId) > 0) {
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import AbilityManager from '../../../../../../../../common/src/main/ets/default/abilitymanager/abilityManager';
|
||||
import Log from '../../../../../../../../common/src/main/ets/default/Log';
|
||||
import ResourceUtil from '../../../../../../../../common/src/main/ets/default/ResourceUtil';
|
||||
import NoDisturbingModel from '../model/noDisturbingModel';
|
||||
@@ -180,6 +181,7 @@ export default class NoDisturbComponentViewModel {
|
||||
return result;
|
||||
}
|
||||
async getNextDayLabel(): Promise<void> {
|
||||
await ResourceUtil.initResourceManager(AbilityManager.ABILITY_NAME_NOTIFICATION_MANAGEMENT);
|
||||
this.nextDayLabel = await ResourceUtil.getString($r('app.string.noDisturb_nextDay'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,7 +105,8 @@ export default class ParseDataUtil {
|
||||
let data = await BundleManager.getBundleInfo(TAG, bundleName, 0, userId);
|
||||
let labelId = data?.appInfo?.labelId;
|
||||
let iconId = data?.appInfo?.iconId;
|
||||
let item = await BundleManager.getResourceManager(TAG, AbilityManager.getContext(), bundleName);
|
||||
let contextName = AbilityManager.getContextName(AbilityManager.ABILITY_NAME_NOTIFICATION_PANEL);
|
||||
let item = await BundleManager.getResourceManager(TAG, AbilityManager.getContext(contextName), bundleName);
|
||||
let appMessage = {
|
||||
appName: await item.getString(parseInt(labelId)),
|
||||
icon: await item.getMediaBase64(parseInt(iconId))
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import AbilityManager from '../../../../../../../../common/src/main/ets/default/abilitymanager/abilityManager';
|
||||
import display from '@ohos.display'
|
||||
import Log from '../../../../../../../../common/src/main/ets/default/Log'
|
||||
import ResourceUtil from '../../../../../../../../common/src/main/ets/default/ResourceUtil'
|
||||
@@ -62,6 +63,7 @@ class StatusBarConfiguration {
|
||||
|
||||
async getDirectionAndPosition() {
|
||||
Log.showInfo(TAG, 'getDirectionAndPosition');
|
||||
await ResourceUtil.initResourceManager(AbilityManager.ABILITY_NAME_STATUS_BAR);
|
||||
directionStatus = await ResourceUtil.getConfiguration();
|
||||
let style: any = CommonStyleConfiguration.getCommonStyle()
|
||||
let deviceTypeInfo = style.deviceTypeInfo
|
||||
|
||||
@@ -95,7 +95,7 @@ export class StatusBarService {
|
||||
|
||||
SwitchUserManager.getInstance().registerListener(this);
|
||||
STATUSBAR_SOURCE_CONFIG.filterDatas = config.MetaSlots;
|
||||
this.mAdapter = new PluginDataSourceAdapter(TAG, AbilityManager.getContext(), this, moduleName);
|
||||
this.mAdapter = new PluginDataSourceAdapter(TAG, AbilityManager.getContext(AbilityManager.ABILITY_NAME_STATUS_BAR), this, moduleName);
|
||||
this.mAdapter.setWant(globalThis[Constants.PLUGIN_COMPONENT_OWNER_WANT_KEY]);
|
||||
this.mAdapter.initDataSource(STATUSBAR_SOURCE_CONFIG);
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import AbilityManager from '../../../../../../../common/src/main/ets/default/abilitymanager/abilityManager';
|
||||
import display from '@ohos.display';
|
||||
import Log from '../../../../../../../common/src/main/ets/default/log';
|
||||
import ResourceUtil from '../../../../../../../common/src/main/ets/default/resourceutil';
|
||||
@@ -61,6 +62,7 @@ class NavBarConfiguration {
|
||||
}
|
||||
|
||||
async getDirectionAndPosition() {
|
||||
await ResourceUtil.initResourceManager(AbilityManager.ABILITY_NAME_NAVIGATION_BAR);
|
||||
directionNav = await ResourceUtil.getConfiguration();
|
||||
if (directionNav.direction == -1) {
|
||||
statusbarPosition = await ResourceUtil.getString($r("app.string.status_bar_position_landscape"))
|
||||
|
||||
@@ -52,12 +52,12 @@ export default class NavigationBarViewModel {
|
||||
this.mNavigationBarComponentData =
|
||||
AppStorage.SetAndLink(NAVIGATION_BAR_COMPONENT_DATA_KEY, this.mNavigationBarComponentData).get()
|
||||
this.urivar = settings.getUriSync(this.settingDataKey);
|
||||
if (AbilityManager.getContext() == null) {
|
||||
if (AbilityManager.getContext(AbilityManager.ABILITY_NAME_NAVIGATION_BAR) == null) {
|
||||
Log.showError(TAG, 'AbilityManager.getContext() is null');
|
||||
} else {
|
||||
Log.showInfo(TAG, 'context: ' + AbilityManager.getContext());
|
||||
Log.showInfo(TAG, 'context: ' + AbilityManager.getContext(AbilityManager.ABILITY_NAME_NAVIGATION_BAR));
|
||||
}
|
||||
this.helper = featureAbility.acquireDataAbilityHelper(AbilityManager.getContext(), CommonConstants.URI_VAR);
|
||||
this.helper = featureAbility.acquireDataAbilityHelper(AbilityManager.getContext(AbilityManager.ABILITY_NAME_NAVIGATION_BAR), CommonConstants.URI_VAR);
|
||||
this.initNavigationBarStatus();
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ const TAG = 'NotificationManagement-MainAbility';
|
||||
export default class MainAbility extends Ability {
|
||||
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
|
||||
Log.showInfo(TAG, 'MainAbility onCreate');
|
||||
AbilityManager.setAbilityContext(AbilityManager.ABILITY_NAME_NOTIFICATION_MANAGEMENT, this.context);
|
||||
globalThis[AbilityManager.ABILITY_NAME_NOTIFICATION_MANAGEMENT + '_want'] = want;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import AbilityManager from '../../../../../../../common/src/main/ets/default/abilitymanager/abilityManager';
|
||||
import ControlCenterComponent from '../../../../../../../features/controlcentercomponent/src/main/ets/com/ohos/pages/ControlCenterComponent'
|
||||
import Log from '../../../../../../../common/src/main/ets/default/Log'
|
||||
import Constants from './common/constants'
|
||||
@@ -25,6 +27,7 @@ export default struct Control {
|
||||
|
||||
aboutToAppear() {
|
||||
Log.showInfo(TAG, `aboutToAppear Start`)
|
||||
AbilityManager.setContextName(AbilityManager.ABILITY_NAME_CONTROL_PANEL,AbilityManager.ABILITY_NAME_CONTROL_PANEL);
|
||||
}
|
||||
|
||||
aboutToDisappear() {
|
||||
|
||||
@@ -48,7 +48,6 @@ class ServiceExtAbility extends ServiceExtension {
|
||||
Log.showError(TAG, `Can't create window, err:${JSON.stringify(err)}`);
|
||||
});
|
||||
|
||||
AbilityManager.setContext(AbilityManager.ABILITY_NAME_BANNER_NOTICE, this.context);
|
||||
let bannerRect = {
|
||||
left: 872 * dis.width / 1280,
|
||||
top: 44 * dis.width / 1280,
|
||||
|
||||
@@ -38,7 +38,8 @@ struct Index {
|
||||
mDefaultBannerRect: any;
|
||||
|
||||
aboutToAppear() {
|
||||
Log.showInfo(TAG, `aboutToAppear Start`)
|
||||
Log.showInfo(TAG, `aboutToAppear Start`);
|
||||
AbilityManager.setContextName(AbilityManager.ABILITY_NAME_NOTIFICATION_PANEL,AbilityManager.ABILITY_NAME_NOTIFICATION_PANEL);
|
||||
setAppBgColor('#00000000')
|
||||
this.mClearCallbacks = []
|
||||
this.mClearCallbacks.push(EventManager.subscribe('onBannerNoticeShow', () => this.onBannerNoticeShow()))
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import AbilityManager from '../../../../../../../common/src/main/ets/default/abilitymanager/abilityManager';
|
||||
import Log from '../../../../../../../common/src/main/ets/default/Log'
|
||||
import EventManager from "../../../../../../../common/src/main/ets/default/event/eventmanager"
|
||||
import {obtainStartAbility} from "../../../../../../../common/src/main/ets/default/event/eventutil"
|
||||
@@ -34,7 +35,8 @@ export default struct Notification {
|
||||
@StorageLink('notificationList') notificationList: any[] = []
|
||||
|
||||
aboutToAppear() {
|
||||
Log.showInfo(TAG, `aboutToAppear Start`)
|
||||
Log.showInfo(TAG, `aboutToAppear Start`);
|
||||
AbilityManager.setContextName(AbilityManager.ABILITY_NAME_NOTIFICATION_PANEL,AbilityManager.ABILITY_NAME_NOTIFICATION_PANEL);
|
||||
}
|
||||
|
||||
build() {
|
||||
|
||||
@@ -43,7 +43,6 @@ class ServiceExtAbility extends ServiceExtension {
|
||||
}).catch((err) => {
|
||||
});
|
||||
|
||||
AbilityManager.setContext(AbilityManager.ABILITY_NAME_BANNER_NOTICE, this.context);
|
||||
let bannerRect = {
|
||||
left: 0,
|
||||
top: dis.height / 5,
|
||||
|
||||
@@ -38,7 +38,8 @@ struct Index {
|
||||
mDefaultBannerRect: any;
|
||||
|
||||
aboutToAppear() {
|
||||
Log.showInfo(TAG, `aboutToAppear Start`)
|
||||
Log.showInfo(TAG, `aboutToAppear Start`);
|
||||
AbilityManager.setContextName(AbilityManager.ABILITY_NAME_NOTIFICATION_PANEL,AbilityManager.ABILITY_NAME_DROPDOWN_PANEL);
|
||||
setAppBgColor('#00000000')
|
||||
this.mClearCallbacks = []
|
||||
this.mClearCallbacks.push(EventManager.subscribe('onBannerNoticeShow', () => this.onBannerNoticeShow()))
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import AbilityManager from '../../../../../../../common/src/main/ets/default/abilitymanager/abilityManager';
|
||||
import ControlCenterComponent from '../../../../../../../features/controlcentercomponent/src/main/ets/com/ohos/pages/ControlCenterComponent'
|
||||
import BatteryIcon from '../../../../../../../features/batterycomponent/src/main/ets/default/pages/batteryIcon'
|
||||
import ClockIcon from '../../../../../../../features/clockcomponent/src/main/ets/default/pages/clockIcon'
|
||||
@@ -38,6 +40,7 @@ export default struct Control {
|
||||
|
||||
aboutToAppear() {
|
||||
Log.showInfo(TAG, `aboutToAppear Start`)
|
||||
AbilityManager.setContextName(AbilityManager.ABILITY_NAME_CONTROL_PANEL,AbilityManager.ABILITY_NAME_DROPDOWN_PANEL);
|
||||
}
|
||||
|
||||
aboutToDisappear() {
|
||||
|
||||
@@ -22,6 +22,7 @@ import SignalIcon from '../../../../../../../features/signalcomponent/src/main/e
|
||||
import LocationIcon from '../../../../../../../features/locationcomponent/src/main/ets/com/ohos/pages/StatusBarIconItemLocationComponent'
|
||||
import RingModeIcon from '../../../../../../../features/ringmodecomponent/src/main/ets/com/ohos/pages/StatusBarIconItemRingModeComponent'
|
||||
|
||||
import AbilityManager from '../../../../../../../common/src/main/ets/default/abilitymanager/abilityManager';
|
||||
import image from "@ohos.multimedia.image"
|
||||
import Log from '../../../../../../../common/src/main/ets/default/Log'
|
||||
import Trace from '../../../../../../../common/src/main/ets/default/Trace'
|
||||
@@ -42,6 +43,7 @@ import featureAbility from '@ohos.ability.featureAbility';
|
||||
import settings from '@ohos.settings';
|
||||
import CommonConstants from "../../../../../../../common/src/main/ets/default/Constants";
|
||||
|
||||
|
||||
const TAG = 'DropdownPanel-Index'
|
||||
|
||||
let mHeightConfigUtils
|
||||
@@ -99,7 +101,7 @@ struct Index {
|
||||
let dropdownRect = AbilityManager.getAbilityData(AbilityManager.ABILITY_NAME_DROPDOWN_PANEL, 'rect')
|
||||
let navigationBarRect = AbilityManager.getAbilityData(AbilityManager.ABILITY_NAME_NAVIGATION_BAR, 'config')
|
||||
this.urivar = settings.getUriSync(this.settingDataKey);
|
||||
this.helper = featureAbility.acquireDataAbilityHelper(AbilityManager.getContext(), CommonConstants.URI_VAR);
|
||||
this.helper = featureAbility.acquireDataAbilityHelper(AbilityManager.getContext(AbilityManager.ABILITY_NAME_DROPDOWN_PANEL), CommonConstants.URI_VAR);
|
||||
this.resizeDropdownPanelAndNavigationBar(dropdownRect, navigationBarRect);
|
||||
Log.showDebug(TAG, `getValueSync componentOptAreaHeightPX: ${this.componentOptAreaHeightPX}`)
|
||||
this.helper.on("dataChange", this.urivar, (data) => {
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import AbilityManager from '../../../../../../../common/src/main/ets/default/abilitymanager/abilityManager';
|
||||
import Log from '../../../../../../../common/src/main/ets/default/Log'
|
||||
import EventManager, { unsubscribe } from "../../../../../../../common/src/main/ets/default/event/eventmanager"
|
||||
import { obtainStartAbility } from "../../../../../../../common/src/main/ets/default/event/eventutil"
|
||||
@@ -49,7 +50,8 @@ export default struct Notification {
|
||||
@StorageLink('notificationList') notificationList: any[] = []
|
||||
|
||||
aboutToAppear() {
|
||||
Log.showInfo(TAG, `aboutToAppear Start`)
|
||||
Log.showInfo(TAG, `aboutToAppear Start`);
|
||||
AbilityManager.setContextName(AbilityManager.ABILITY_NAME_NOTIFICATION_PANEL,AbilityManager.ABILITY_NAME_DROPDOWN_PANEL);
|
||||
}
|
||||
|
||||
build() {
|
||||
@@ -249,6 +251,7 @@ struct CenterTitle {
|
||||
async updateTimeString(date: Date) {
|
||||
this.mTime = TimeManager.formatTime(date);
|
||||
Log.showDebug(TAG, ` month is ${date.getMonth() + 1} , day is ${date.getDate()} , week is ${Constants.WEEKDAY_LIST[date.getDay() - 1]}`);
|
||||
await ResourceUtil.initResourceManager(AbilityManager.ABILITY_NAME_DROPDOWN_PANEL);
|
||||
let timeString = (date.getMonth() + 1) + (await ResourceUtil.getString($r('app.string.month')));
|
||||
timeString += date.getDate() + (await ResourceUtil.getString($r('app.string.day')));
|
||||
timeString += await ResourceUtil.getString(Constants.WEEKDAY_LIST[date.getDay()]);
|
||||
|
||||
Reference in New Issue
Block a user