1e41f4b71Sopenharmony_ci# Window Subsystem ChangeLog
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci## cl.window.1 Change of Window Stage Lifecycle Listener Types
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ciChanged the enumerated listener types of the window stage lifecycle in version 3.2.10.5 and later.
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci**Change Impacts**
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ciApplication lifecycle listeners developed using **FOREGROUND** and **BACKGROUND** in versions earlier than 3.2.10.5 will be invalidated in version 3.2.10.5 and later.
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci**Key API/Component Changes**
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci##  WindowStageEventType<sup>9+</sup>
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ciBefore change
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci| Name      | Value  | Description      |
18e41f4b71Sopenharmony_ci| ---------- | ---- | ---------- |
19e41f4b71Sopenharmony_ci| FOREGROUND | 1    | The window stage is running in the foreground.|
20e41f4b71Sopenharmony_ci| BACKGROUND | 4    | The window stage is running in the background.|
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ciAfter change
23e41f4b71Sopenharmony_ci| Name  | Value  | Description      |
24e41f4b71Sopenharmony_ci| ------ | ---- | ---------- |
25e41f4b71Sopenharmony_ci| SHOWN  | 1    | The window stage is running in the foreground.|
26e41f4b71Sopenharmony_ci| HIDDEN | 4    | The window stage is running in the background.|
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci**Adaptation Guide**
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ciWhen registering lifecycle listeners, change the foreground and background event types to **SHOWN** and **HIDDEN**, respectively.
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci```
33e41f4b71Sopenharmony_ciimport Ability from '@ohos.application.Ability';
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ciclass myAbility extends Ability {
36e41f4b71Sopenharmony_ci    onWindowStageCreate(windowStage) {
37e41f4b71Sopenharmony_ci        console.log('onWindowStageCreate');
38e41f4b71Sopenharmony_ci        try {
39e41f4b71Sopenharmony_ci            windowStage.on('windowStageEvent', (stageEventType) => {
40e41f4b71Sopenharmony_ci                switch (stageEventType) {
41e41f4b71Sopenharmony_ci                    case window.WindowStageEventType.SHOWN:
42e41f4b71Sopenharmony_ci                        console.log("windowStage shown");
43e41f4b71Sopenharmony_ci                        break;
44e41f4b71Sopenharmony_ci                    case window.WindowStageEventType.ACTIVE:
45e41f4b71Sopenharmony_ci                        console.log("windowStage active");
46e41f4b71Sopenharmony_ci                        break;
47e41f4b71Sopenharmony_ci                    case window.WindowStageEventType.INACTIVE:
48e41f4b71Sopenharmony_ci                        console.log("windowStage inActive");
49e41f4b71Sopenharmony_ci                        break;
50e41f4b71Sopenharmony_ci                    case window.WindowStageEventType.HIDDEN:
51e41f4b71Sopenharmony_ci                        console.log("windowStage hidden");
52e41f4b71Sopenharmony_ci                        break;
53e41f4b71Sopenharmony_ci                    default:
54e41f4b71Sopenharmony_ci                        break;
55e41f4b71Sopenharmony_ci                }
56e41f4b71Sopenharmony_ci        	} )
57e41f4b71Sopenharmony_ci        } catch (exception) {
58e41f4b71Sopenharmony_ci            console.error('Failed to enable the listener for window stage event changes. Cause:' +
59e41f4b71Sopenharmony_ci                JSON.stringify(exception));
60e41f4b71Sopenharmony_ci        };
61e41f4b71Sopenharmony_ci    }
62e41f4b71Sopenharmony_ci};
63e41f4b71Sopenharmony_ci```
64